Commit 3964ea4b082a6b91ce015825a6e389bbc793d100

Authored by 胡翰林
1 parent 1a83a8b3

0815需求修改

... ... @@ -97,7 +97,7 @@ public class CaseController extends BaseController {
97 97 @PostMapping("/getNextUnReviewId")
98 98 public JsonResult getNextUnReviewId(@RequestBody Case data) {
99 99 try {
100   - List<String> dataList = caseService.listUnReview(data.getExceptIds());
  100 + List<String> dataList = caseService.listUnReview(data.getExceptIds(), data.getArea());
101 101 if (CollectionUtils.isEmpty(dataList)) {
102 102 return new JsonResult(true, AshErrorCode.NEXT_DATA_EMPTY.getText(), null);
103 103 }
... ... @@ -202,15 +202,17 @@ public class CaseController extends BaseController {
202 202 BeanUtils.copyProperties(e, ed);
203 203 CaseAnalysis analysis = e.getAnalysis();
204 204 if (analysis != null) {
205   - ed.setArea(analysis.getArea());
206 205 ed.setCounty(analysis.getCounty());
207   - ed.setTotalAmount(analysis.getTotalAmount());
208 206 ed.setAge(analysis.getAge());
209 207 ed.setSex(analysis.getSex());
210 208 ed.setCareer(analysis.getCareer());
211 209 ed.setFraudType(analysis.getFraudType());
212 210 ed.setRainageMethod(analysis.getRainageMethod());
213 211 ed.setPayMethod(analysis.getPayMethod());
  212 + ed.setRainagePhone(analysis.getRainagePhone());
  213 + ed.setTrackingNumber(analysis.getTrackingNumber());
  214 + ed.setExpressCompany(analysis.getExpressCompany());
  215 + ed.setDeliverWealth(analysis.getDeliverWealth());
214 216 }
215 217
216 218 return ed;
... ...
... ... @@ -340,9 +340,10 @@ public class StatisticsController extends BaseController {
340 340 public JsonResult totalLoss(@RequestBody StatisticsParams statisticsParams) {
341 341 try {
342 342 List<Case> dataList = caseService.getCaseLoss(statisticsParams);
343   - int caseTopLoss = caseService.getCaseTopLoss(statisticsParams);
  343 + int caseTopLoss = caseService.getCaseTopLoss(statisticsParams,500000);
  344 + int case100TopLoss = caseService.getCaseTopLoss(statisticsParams,1000000);
344 345 Double totalLoss = 0d;
345   - Double avgLoss = 0d;
  346 + double avgLoss = 0d;
346 347 if (CollectionUtils.isNotEmpty(dataList)) {
347 348 for (Case caseInfo : dataList) {
348 349 if (caseInfo.getTotalAmount() == null) {
... ... @@ -359,6 +360,7 @@ public class StatisticsController extends BaseController {
359 360 result.put("totalLoss", String.format("%.1f", totalLoss));
360 361 result.put("avgLoss", String.format("%.1f", avgLoss));
361 362 result.put("caseValue", caseTopLoss);
  363 + result.put("case100TopLoss", case100TopLoss);
362 364
363 365 return JsonResult.ok(OptionStatus.OPT_SUCCESS.getName(), result);
364 366 } catch (Exception ex) {
... ... @@ -675,16 +677,16 @@ public class StatisticsController extends BaseController {
675 677 for (Case cd : majorCaseData) {
676 678 CaseLossVo clv = new CaseLossVo();
677 679 clv.setCode(cd.getCode());
678   - clv.setArea(cd.getAnalysis().getArea());
  680 + clv.setArea(cd.getArea());
679 681 clv.setCounty(cd.getAnalysis().getCounty());
680   - clv.setTotalAmount(String.valueOf(cd.getAnalysis().getTotalAmount()));
  682 + clv.setTotalAmount(String.valueOf(cd.getTotalAmount()));
681 683 clv.setFraudType(cd.getAnalysis().getFraudType());
682 684 clv.setRainageMethod(cd.getAnalysis().getRainageMethod());
683 685 clv.setPayMethod(cd.getAnalysis().getPayMethod());
684 686 clv.setSex(cd.getAnalysis().getSex());
685 687 clv.setCareer(cd.getAnalysis().getCareer());
686 688 nllDataList.add(clv);
687   - caseLossAreaMap.put(cd.getAnalysis().getArea(), "");
  689 + caseLossAreaMap.put(cd.getArea(), "");
688 690 }
689 691 }
690 692
... ...
... ... @@ -77,6 +77,19 @@ public class Case extends BaseModel {
77 77 @TableField(value = "review_status")
78 78 private ReviewStatusEnum reviewStatus;
79 79
  80 + /**
  81 + * 地区
  82 + */
  83 + @TableField(value = "area")
  84 + private String area;
  85 +
  86 +
  87 + /**
  88 + * 涉案总金额
  89 + */
  90 + @TableField(value = "total_amount")
  91 + private Double totalAmount;
  92 +
80 93
81 94 @Transient
82 95 private transient String startTime;
... ... @@ -88,9 +101,6 @@ public class Case extends BaseModel {
88 101 private transient CaseAnalysis analysis;
89 102
90 103 @Transient
91   - private transient Double totalAmount;
92   -
93   - @Transient
94 104 private transient Integer age;
95 105
96 106 @Transient
... ...
... ... @@ -90,18 +90,36 @@ public class CaseAnalysis extends BaseModel {
90 90 private String rainageMethodDetail;
91 91
92 92 /**
93   - * 引流方式详情
94   - */
95   - @TableField(value = "rainage_detail")
96   - private String rainageDetail;
97   -
98   - /**
99 93 * 支付方式
100 94 */
101 95 @TableField(value = "pay_method")
102 96 private String payMethod;
103 97
104 98 /**
  99 + * 引流电话
  100 + */
  101 + @TableField(value = "rainage_phone")
  102 + private String rainagePhone;
  103 +
  104 + /**
  105 + * 快递单号
  106 + */
  107 + @TableField(value = "tracking_number")
  108 + private String trackingNumber;
  109 +
  110 + /**
  111 + * 快递公司
  112 + */
  113 + @TableField(value = "express_company")
  114 + private String expressCompany;
  115 +
  116 + /**
  117 + * 快递公司
  118 + */
  119 + @TableField(value = "deliver_wealth")
  120 + private String deliverWealth;
  121 +
  122 + /**
105 123 * 确认状态
106 124 */
107 125 @TableField(value = "conform_status")
... ...
... ... @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle;
7 7 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
8 8 import com.ash.base.excelOpt.DatetimeConverter;
9 9 import com.ash.base.excelOpt.ExcelCheck;
  10 +import com.baomidou.mybatisplus.annotation.TableField;
10 11 import lombok.AllArgsConstructor;
11 12 import lombok.Builder;
12 13 import lombok.Data;
... ... @@ -25,44 +26,45 @@ public class CaseExcelData implements Serializable {
25 26 private static final long serialVersionUID = 1L;
26 27
27 28 @ExcelCheck(canEmpty = false, canRepeat = false)
28   - @ExcelProperty(value = "案件标识", index = 0)
29   - @ContentStyle(dataFormat = 49)
30   - @ColumnWidth(25)
31   - private String mark;
32   -
33   - @ExcelCheck(canEmpty = false, canRepeat = false)
34   - @ExcelProperty(value = "案件编号", index = 1)
  29 + @ExcelProperty(value = "案件编号", index = 0)
35 30 @ContentStyle(dataFormat = 49)
36 31 @ColumnWidth(25)
37 32 private String code;
38 33
39 34 @ExcelCheck(canEmpty = false)
40   - @ExcelProperty(value = "案件名称", index = 2)
  35 + @ExcelProperty(value = "案件名称", index = 1)
41 36 @ContentStyle(dataFormat = 49)
42 37 @ColumnWidth(25)
43 38 private String name;
44 39
45 40 @ExcelCheck(canEmpty = false)
46   - @ExcelProperty(value = "案件详情", index = 3)
  41 + @ExcelProperty(value = "案件详情", index = 2)
47 42 @ContentStyle(dataFormat = 49)
48 43 @ColumnWidth(25)
49 44 private String caseDetail;
50 45
51 46 @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy/MM/dd h:mm:ss")
52   - @ExcelProperty(value = "接警时间", index = 4)
  47 + @ExcelProperty(value = "接警时间", index = 3)
53 48 @ContentStyle(dataFormat = 49)
54 49 @ColumnWidth(25)
55 50 private Date alarmDate;
56 51
57 52 @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy/MM/dd h:mm:ss")
58   - @ExcelProperty(value = "立案时间", index = 5)
  53 + @ExcelProperty(value = "立案时间", index = 4)
59 54 @ContentStyle(dataFormat = 49)
60 55 @ColumnWidth(25)
61 56 private Date filingDate;
62 57
63 58 @ExcelCheck(canEmpty = false)
64   - @ExcelProperty(value = "立案单位", index = 6)
  59 + @ExcelProperty(value = "立案单位", index = 5)
65 60 @ContentStyle(dataFormat = 49)
66 61 @ColumnWidth(25)
67 62 private String filingUnit;
  63 +
  64 + @ExcelCheck(canEmpty = false)
  65 + @ExcelProperty(value = "涉案总价值(人名币)", index = 6)
  66 + @ContentStyle(dataFormat = 49)
  67 + @ColumnWidth(25)
  68 + private Double totalAmount;
  69 +
68 70 }
... ...
... ... @@ -25,99 +25,117 @@ public class CaseExportExcelData implements Serializable {
25 25 private static final long serialVersionUID = 1L;
26 26
27 27 @ExcelCheck(canEmpty = false, canRepeat = false)
28   - @ExcelProperty(value = "案件标识", index = 0)
29   - @ContentStyle(dataFormat = 49)
30   - @ColumnWidth(25)
31   - private String mark;
32   -
33   - @ExcelCheck(canEmpty = false, canRepeat = false)
34   - @ExcelProperty(value = "案件编号", index = 1)
  28 + @ExcelProperty(value = "案件编号", index = 0)
35 29 @ContentStyle(dataFormat = 49)
36 30 @ColumnWidth(25)
37 31 private String code;
38 32
39 33 @ExcelCheck(canEmpty = false)
40   - @ExcelProperty(value = "案件名称", index = 2)
  34 + @ExcelProperty(value = "案件名称", index = 1)
41 35 @ContentStyle(dataFormat = 49)
42 36 @ColumnWidth(25)
43 37 private String name;
44 38
45 39 @ExcelCheck(canEmpty = false)
46   - @ExcelProperty(value = "案件详情", index = 3)
  40 + @ExcelProperty(value = "案件详情", index = 2)
47 41 @ContentStyle(dataFormat = 49)
48 42 @ColumnWidth(25)
49 43 private String caseDetail;
50 44
51 45 @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy-MM-dd HH:mm:ss")
52   - @ExcelProperty(value = "接警时间", index = 4, converter = DatetimeConverter.class)
  46 + @ExcelProperty(value = "接警时间", index = 3, converter = DatetimeConverter.class)
53 47 @ContentStyle(dataFormat = 49)
54 48 @ColumnWidth(25)
55 49 private Date alarmDate;
56 50
57 51 @ExcelCheck(canEmpty = false, dateFormatValid = "yyyy-MM-dd HH:mm:ss")
58   - @ExcelProperty(value = "立案时间", index = 5, converter = DatetimeConverter.class)
  52 + @ExcelProperty(value = "立案时间", index = 4, converter = DatetimeConverter.class)
59 53 @ContentStyle(dataFormat = 49)
60 54 @ColumnWidth(25)
61 55 private Date filingDate;
62 56
63 57 @ExcelCheck(canEmpty = false)
64   - @ExcelProperty(value = "立案单位", index = 6)
  58 + @ExcelProperty(value = "立案单位", index = 5)
65 59 @ContentStyle(dataFormat = 49)
66 60 @ColumnWidth(25)
67 61 private String filingUnit;
68 62
69 63
70 64 @ExcelCheck(canEmpty = false)
71   - @ExcelProperty(value = "地区", index = 7)
  65 + @ExcelProperty(value = "地区", index = 6)
72 66 @ContentStyle(dataFormat = 49)
73 67 @ColumnWidth(25)
74 68 private String area;
75 69
76 70 @ExcelCheck(canEmpty = false)
77   - @ExcelProperty(value = "县区", index = 8)
  71 + @ExcelProperty(value = "县区", index = 7)
78 72 @ContentStyle(dataFormat = 49)
79 73 @ColumnWidth(25)
80 74 private String county;
81 75
82 76 @ExcelCheck(canEmpty = false)
83   - @ExcelProperty(value = "涉案总金额", index = 9)
  77 + @ExcelProperty(value = "涉案总金额", index = 8)
84 78 @ContentStyle(dataFormat = 49)
85 79 @ColumnWidth(25)
86 80 private Double totalAmount;
87 81
88 82 @ExcelCheck(canEmpty = false)
89   - @ExcelProperty(value = "受害人性别", index = 10)
  83 + @ExcelProperty(value = "受害人性别", index = 9)
90 84 @ContentStyle(dataFormat = 49)
91 85 @ColumnWidth(25)
92 86 private String sex;
93 87
94 88 @ExcelCheck(canEmpty = false)
95   - @ExcelProperty(value = "受害人年龄", index = 11)
  89 + @ExcelProperty(value = "受害人年龄", index = 10)
96 90 @ContentStyle(dataFormat = 49)
97 91 @ColumnWidth(25)
98 92 private Integer age;
99 93
100 94 @ExcelCheck(canEmpty = false)
101   - @ExcelProperty(value = "受害人职业", index = 12)
  95 + @ExcelProperty(value = "受害人职业", index = 11)
102 96 @ContentStyle(dataFormat = 49)
103 97 @ColumnWidth(25)
104 98 private String career;
105 99
106 100 @ExcelCheck(canEmpty = false)
107   - @ExcelProperty(value = "诈骗类型", index = 13)
  101 + @ExcelProperty(value = "诈骗类型", index = 12)
108 102 @ContentStyle(dataFormat = 49)
109 103 @ColumnWidth(25)
110 104 private String fraudType;
111 105
112 106 @ExcelCheck(canEmpty = false)
113   - @ExcelProperty(value = "引流方式", index = 14)
  107 + @ExcelProperty(value = "引流方式", index = 13)
114 108 @ContentStyle(dataFormat = 49)
115 109 @ColumnWidth(25)
116 110 private String rainageMethod;
117 111
118 112 @ExcelCheck(canEmpty = false)
119   - @ExcelProperty(value = "支付方式", index = 15)
  113 + @ExcelProperty(value = "支付方式", index = 14)
120 114 @ContentStyle(dataFormat = 49)
121 115 @ColumnWidth(25)
122 116 private String payMethod;
  117 +
  118 + @ExcelCheck(canEmpty = false)
  119 + @ExcelProperty(value = "引流电话", index = 15)
  120 + @ContentStyle(dataFormat = 49)
  121 + @ColumnWidth(25)
  122 + private String rainagePhone;
  123 +
  124 + @ExcelCheck(canEmpty = false)
  125 + @ExcelProperty(value = "快递单号", index = 16)
  126 + @ContentStyle(dataFormat = 49)
  127 + @ColumnWidth(25)
  128 + private String trackingNumber;
  129 +
  130 + @ExcelCheck(canEmpty = false)
  131 + @ExcelProperty(value = "快递公司", index = 17)
  132 + @ContentStyle(dataFormat = 49)
  133 + @ColumnWidth(25)
  134 + private String expressCompany;
  135 +
  136 + @ExcelCheck(canEmpty = false)
  137 + @ExcelProperty(value = "支付方式", index = 18)
  138 + @ContentStyle(dataFormat = 49)
  139 + @ColumnWidth(25)
  140 + private String deliverWealth;
123 141 }
... ...
... ... @@ -58,7 +58,7 @@ public class CaseThread implements Runnable {
58 58 dataList.add(dbData);
59 59 }
60 60 List<String> ids = dataList.stream().map(Case::getId).collect(Collectors.toList());
61   - caseMapper.insertBatchSomeColumn(dataList);
  61 + caseService.saveAll(dataList);
62 62 caseService.analysisByIds(ids);
63 63 } catch (Exception ex) {
64 64 ex.printStackTrace();
... ...
... ... @@ -67,6 +67,7 @@ public class CaseService {
67 67 public Boolean save(Case data) {
68 68 String uuid = UUIDGenerator.uuid();
69 69 data.setId(uuid);
  70 + setArea(data);
70 71 int insert = caseMapper.insert(data);
71 72 return insert > 0;
72 73 }
... ... @@ -94,8 +95,11 @@ public class CaseService {
94 95 log.info("from " + fromIndex + " to " + toIndex + "....");
95 96 sub = dataList.subList(fromIndex, toIndex);
96 97 sub.forEach(t -> {
97   - String uuid = UUIDGenerator.uuid();
98   - t.setId(uuid);
  98 + if (StringUtils.isBlank(t.getId())) {
  99 + String uuid = UUIDGenerator.uuid();
  100 + t.setId(uuid);
  101 + }
  102 + setArea(t);
99 103 });
100 104 try {
101 105 Integer result = caseMapper.insertBatchSomeColumn(sub);
... ... @@ -144,14 +148,17 @@ public class CaseService {
144 148 }
145 149
146 150
147   - public List<String> listUnReview(List<String> exceptIds) {
  151 + public List<String> listUnReview(List<String> exceptIds, String area) {
148 152 QueryWrapper<Case> queryWrapper = new QueryWrapper<>();
149 153 LambdaQueryWrapper<Case> lambda = queryWrapper.lambda();
150 154 lambda.select(Case::getId);
151   - lambda.ne(Case::getReviewStatus, ReviewStatusEnum.UNAUDITED);
  155 + lambda.eq(Case::getReviewStatus, ReviewStatusEnum.UNAUDITED);
152 156 if (!CollectionUtils.isEmpty(exceptIds)) {
153 157 lambda.notIn(Case::getId, exceptIds);
154 158 }
  159 + if (StringUtils.isNotBlank(area)) {
  160 + lambda.like(Case::getArea, area);
  161 + }
155 162 lambda.last("limit 1");
156 163 lambda.orderByDesc(BaseModel::getCreateTime).orderByDesc(Case::getId);
157 164 List<Case> warningInstances = caseMapper.selectList(queryWrapper);
... ... @@ -170,12 +177,12 @@ public class CaseService {
170 177 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
171 178 if (params.getStartTime() != null) {
172 179 Date start = DateUtils.weeHours(params.getStartTime(), 0);
173   - lambda.ge(Case::getAlarmDate, sdf.format(start));
  180 + lambda.ge(Case::getFilingDate, sdf.format(start));
174 181 }
175 182
176 183 if (params.getEndTime() != null) {
177 184 Date end = DateUtils.weeHours(params.getEndTime(), 1);
178   - lambda.le(Case::getAlarmDate, sdf.format(end));
  185 + lambda.le(Case::getFilingDate, sdf.format(end));
179 186
180 187 }
181 188 return caseMapper.selectCount(queryWrapper);
... ... @@ -183,17 +190,17 @@ public class CaseService {
183 190
184 191 public List<Case> getCaseLoss(StatisticsParams params) {
185 192 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<Case>();
186   - mpjQueryWrapper.select("t.id,ca.total_amount as totalAmount,ca.age")
  193 + mpjQueryWrapper.select("t.id,t.total_amount as totalAmount,ca.age")
187 194 .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
188 195
189 196 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
190 197 if (params.getStartTime() != null) {
191   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  198 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
192 199
193 200 }
194 201
195 202 if (params.getEndTime() != null) {
196   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  203 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
197 204 }
198 205
199 206 return caseMapper.selectJoinList(Case.class, mpjQueryWrapper);
... ... @@ -257,22 +264,22 @@ public class CaseService {
257 264 .map(e -> new PieChartVo(e, dataMap.get(e))).collect(Collectors.toList());
258 265 }
259 266
260   - public int getCaseTopLoss(StatisticsParams params) {
  267 + public int getCaseTopLoss(StatisticsParams params, Integer amount) {
261 268 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<Case>();
262   - mpjQueryWrapper.select("t.id,ca.total_amount as totalAmount")
  269 + mpjQueryWrapper.select("t.id,t.total_amount as totalAmount")
263 270 .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
264 271
265 272 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
266 273 if (params.getStartTime() != null) {
267   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  274 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
268 275
269 276 }
270 277
271 278 if (params.getEndTime() != null) {
272   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  279 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
273 280 }
274 281
275   - mpjQueryWrapper.ge("ca.total_amount", 500000);
  282 + mpjQueryWrapper.ge("t.total_amount", amount);
276 283 List<Case> caseList = caseMapper.selectJoinList(Case.class, mpjQueryWrapper);
277 284 if (CollectionUtils.isEmpty(caseList)) {
278 285 return 0;
... ... @@ -283,20 +290,20 @@ public class CaseService {
283 290
284 291 public List<PieChartVo> statisticsByDate(StatisticsParams params) {
285 292 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<>();
286   - mpjQueryWrapper.select("DATE_FORMAT(t.alarm_date, '%Y-%m-%d') as alarmDate,count(0) as field_count");
  293 + mpjQueryWrapper.select("DATE_FORMAT(t.filing_date, '%Y-%m-%d') as alarmDate,count(0) as field_count");
287 294
288 295 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
289 296 if (params.getStartTime() != null) {
290   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  297 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
291 298
292 299 }
293 300
294 301 if (params.getEndTime() != null) {
295   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  302 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
296 303 }
297 304
298   - mpjQueryWrapper.groupBy("DATE_FORMAT(t.alarm_date, '%Y-%m-%d')");
299   - mpjQueryWrapper.orderByAsc("DATE_FORMAT(t.alarm_date, '%Y-%m-%d')");
  305 + mpjQueryWrapper.groupBy("DATE_FORMAT(t.filing_date, '%Y-%m-%d')");
  306 + mpjQueryWrapper.orderByAsc("DATE_FORMAT(t.filing_date, '%Y-%m-%d')");
300 307 List<Map<String, Object>> dataList = caseMapper.selectJoinMaps(mpjQueryWrapper);
301 308 List<PieChartVo> resultList = new ArrayList<>();
302 309 resultList = dataList.stream().map(e -> {
... ... @@ -310,20 +317,20 @@ public class CaseService {
310 317
311 318 public List<BarChartVo> statisticsByArea(StatisticsParams params) {
312 319 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<>();
313   - mpjQueryWrapper.select("ca.area,count(t.id) as field_count")
  320 + mpjQueryWrapper.select("t.area,count(t.id) as field_count")
314 321 .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
315 322
316 323 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
317 324 if (params.getStartTime() != null) {
318   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  325 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
319 326
320 327 }
321 328
322 329 if (params.getEndTime() != null) {
323   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  330 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
324 331 }
325 332
326   - mpjQueryWrapper.groupBy("ca.area");
  333 + mpjQueryWrapper.groupBy("t.area");
327 334 mpjQueryWrapper.orderByDesc("field_count");
328 335
329 336 List<Map<String, Object>> dataList = caseMapper.selectJoinMaps(mpjQueryWrapper);
... ... @@ -352,20 +359,20 @@ public class CaseService {
352 359
353 360 public List<PieChartVo> statisticsCountByArea(StatisticsParams params) {
354 361 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<>();
355   - mpjQueryWrapper.select("ca.area,count(t.id) as field_count")
  362 + mpjQueryWrapper.select("t.area,count(t.id) as field_count")
356 363 .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
357 364
358 365 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
359 366 if (params.getStartTime() != null) {
360   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  367 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
361 368
362 369 }
363 370
364 371 if (params.getEndTime() != null) {
365   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  372 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
366 373 }
367 374
368   - mpjQueryWrapper.groupBy("ca.area");
  375 + mpjQueryWrapper.groupBy("t.area");
369 376 mpjQueryWrapper.orderByDesc("field_count");
370 377
371 378 List<Map<String, Object>> dataList = caseMapper.selectJoinMaps(mpjQueryWrapper);
... ... @@ -388,12 +395,12 @@ public class CaseService {
388 395
389 396 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
390 397 if (params.getStartTime() != null) {
391   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  398 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
392 399
393 400 }
394 401
395 402 if (params.getEndTime() != null) {
396   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  403 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
397 404 }
398 405
399 406 mpjQueryWrapper.groupBy("ca.rainage_method");
... ... @@ -419,12 +426,12 @@ public class CaseService {
419 426
420 427 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
421 428 if (params.getStartTime() != null) {
422   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  429 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
423 430
424 431 }
425 432
426 433 if (params.getEndTime() != null) {
427   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  434 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
428 435 }
429 436
430 437 mpjQueryWrapper.groupBy("ca.pay_method");
... ... @@ -450,12 +457,12 @@ public class CaseService {
450 457
451 458 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
452 459 if (params.getStartTime() != null) {
453   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  460 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
454 461
455 462 }
456 463
457 464 if (params.getEndTime() != null) {
458   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  465 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
459 466 }
460 467
461 468 mpjQueryWrapper.groupBy("ca.career");
... ... @@ -481,12 +488,12 @@ public class CaseService {
481 488
482 489 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
483 490 if (params.getStartTime() != null) {
484   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  491 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
485 492
486 493 }
487 494
488 495 if (params.getEndTime() != null) {
489   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  496 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
490 497 }
491 498
492 499 mpjQueryWrapper.groupBy("ca.sex");
... ... @@ -512,12 +519,12 @@ public class CaseService {
512 519
513 520 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
514 521 if (params.getStartTime() != null) {
515   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  522 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
516 523
517 524 }
518 525
519 526 if (params.getEndTime() != null) {
520   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  527 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
521 528 }
522 529
523 530 mpjQueryWrapper.groupBy("ca.fraud_type");
... ... @@ -536,22 +543,22 @@ public class CaseService {
536 543
537 544 public List<BarChartVo> statisticsTotalAmountByArea(StatisticsParams params) {
538 545 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<Case>();
539   - mpjQueryWrapper.select("ca.area,count(t.id) as field_count")
  546 + mpjQueryWrapper.select("t.area,count(t.id) as field_count")
540 547 .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
541 548
542 549 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
543 550 if (params.getStartTime() != null) {
544   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  551 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
545 552
546 553 }
547 554
548 555 if (params.getEndTime() != null) {
549   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  556 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
550 557 }
551 558
552   - mpjQueryWrapper.ge("ca.total_amount", 500000);
  559 + mpjQueryWrapper.ge("t.total_amount", 500000);
553 560
554   - mpjQueryWrapper.groupBy("ca.area");
  561 + mpjQueryWrapper.groupBy("t.area");
555 562 mpjQueryWrapper.orderByDesc("field_count");
556 563
557 564 List<Map<String, Object>> dataList = caseMapper.selectJoinMaps(mpjQueryWrapper);
... ... @@ -571,20 +578,20 @@ public class CaseService {
571 578
572 579 public List<BarChartVo> statisticsSequentialByArea(StatisticsParams params) {
573 580 MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<>();
574   - mpjQueryWrapper.select("ca.area,count(t.id) as field_count")
  581 + mpjQueryWrapper.select("t.area,count(t.id) as field_count")
575 582 .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
576 583
577 584 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
578 585 if (params.getStartTime() != null) {
579   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  586 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
580 587
581 588 }
582 589
583 590 if (params.getEndTime() != null) {
584   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  591 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
585 592 }
586 593
587   - mpjQueryWrapper.groupBy("ca.area");
  594 + mpjQueryWrapper.groupBy("t.area");
588 595 mpjQueryWrapper.orderByDesc("field_count");
589 596
590 597 List<Map<String, Object>> dataList = caseMapper.selectJoinMaps(mpjQueryWrapper);
... ... @@ -607,15 +614,15 @@ public class CaseService {
607 614
608 615 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
609 616 if (params.getStartTime() != null) {
610   - mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  617 + mpjQueryWrapper.ge("t.filing_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
611 618
612 619 }
613 620
614 621 if (params.getEndTime() != null) {
615   - mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  622 + mpjQueryWrapper.le("t.filing_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
616 623 }
617 624
618   - mpjQueryWrapper.ge("ca.total_amount", 500000);
  625 + mpjQueryWrapper.ge("t.total_amount", 500000);
619 626 mpjQueryWrapper.orderByDesc("total_amount");
620 627
621 628 return caseMapper.selectJoinList(Case.class, mpjQueryWrapper);
... ... @@ -639,11 +646,15 @@ public class CaseService {
639 646 lambda.eq(Case::getReviewStatus, params.getReviewStatus());
640 647 }
641 648
  649 + if (StringUtils.isNotBlank(params.getArea())) {
  650 + lambda.like(Case::getArea, params.getArea());
  651 + }
  652 +
642 653 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
643 654 if (StringUtils.isNotBlank(params.getStartTime())) {
644 655 try {
645 656 Date start = sdf.parse(params.getStartTime());
646   - lambda.ge(Case::getAlarmDate, sdf.format(start));
  657 + lambda.ge(Case::getFilingDate, sdf.format(start));
647 658 } catch (ParseException e) {
648 659 e.printStackTrace();
649 660 }
... ... @@ -652,7 +663,7 @@ public class CaseService {
652 663 if (StringUtils.isNotBlank(params.getEndTime())) {
653 664 try {
654 665 Date end = sdf.parse(params.getEndTime());
655   - lambda.le(Case::getAlarmDate, sdf.format(end));
  666 + lambda.le(Case::getFilingDate, sdf.format(end));
656 667 } catch (ParseException e) {
657 668 e.printStackTrace();
658 669 }
... ... @@ -710,7 +721,7 @@ public class CaseService {
710 721 wa.setCaseId(cd.getId());
711 722 wa.setCounty(analysisResult.getString("area"));
712 723 wa.setAmount(analysisResult.getDouble("value"));
713   - wa.setTotalAmount(analysisResult.getDouble("value"));
  724 + wa.setTotalAmount(wa.getTotalAmount());
714 725 wa.setSex(analysisResult.getString("gender"));
715 726 wa.setAge(analysisResult.getInteger("age"));
716 727 wa.setCareer(analysisResult.getString("occupation"));
... ... @@ -745,4 +756,15 @@ public class CaseService {
745 756
746 757 }
747 758
  759 + private void setArea(Case data) {
  760 + if (data != null && StringUtils.isNotBlank(data.getCode()) && data.getCode().length() >= 4) {
  761 + String area = CaseAnalysisService.codeAreaMap.get(data.getCode().substring(0, 5));
  762 + if (StringUtils.isNotBlank(area)) {
  763 + data.setArea(area);
  764 + } else {
  765 + data.setArea("未知");
  766 + }
  767 + }
  768 + }
  769 +
748 770 }
... ...
... ... @@ -132,7 +132,7 @@ public class WarningInstanceService {
132 132 QueryWrapper<WarningInstance> queryWrapper = new QueryWrapper<>();
133 133 LambdaQueryWrapper<WarningInstance> lambda = queryWrapper.lambda();
134 134 lambda.select(WarningInstance::getId);
135   - lambda.ne(WarningInstance::getReviewStatus, ReviewStatusEnum.UNAUDITED);
  135 + lambda.eq(WarningInstance::getReviewStatus, ReviewStatusEnum.UNAUDITED);
136 136 if (!CollectionUtils.isEmpty(exceptIds)) {
137 137 lambda.notIn(WarningInstance::getId, exceptIds);
138 138 }
... ...
... ... @@ -140,4 +140,11 @@ create table `t_ash_user`
140 140 create index i_user_l on t_ash_user(login_name);
141 141 create unique index u_user_login_name on t_ash_user (login_name);
142 142
143   -ALTER TABLE t_ash_warning_instance_analysis ADD COLUMN county VARCHAR(50) NULL;
\ No newline at end of file
  143 +ALTER TABLE t_ash_warning_instance_analysis ADD COLUMN county VARCHAR(50) NULL;
  144 +ALTER TABLE t_ash_case_analysis ADD COLUMN rainage_phone VARCHAR(50) NULL;
  145 +ALTER TABLE t_ash_case_analysis ADD COLUMN tracking_number VARCHAR(50) NULL;
  146 +ALTER TABLE t_ash_case_analysis ADD COLUMN express_company VARCHAR(50) NULL;
  147 +ALTER TABLE t_ash_case_analysis ADD COLUMN deliver_wealth VARCHAR(50) NULL;
  148 +
  149 +ALTER TABLE t_ash_case ADD COLUMN area VARCHAR(50) NULL;
  150 +ALTER TABLE t_ash_case ADD COLUMN total_amount VARCHAR(50) NULL;
... ...