ParkLotTempInfoJob.java
5.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package com.zteits.park.job;
import org.apache.commons.lang3.StringUtils;
import com.clouds.common.utils.ResultUtils;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.dto.pay.ParkLotTempInfoTruncateReq;
import com.zteits.clouds.api.dto.pay.TdBTempParklotDTO;
import com.zteits.clouds.api.dto.pay.param.ParkLotTempInfoBatchSaveReq;
import com.zteits.clouds.api.dto.pay.param.ParkTempInfoPageQueryRequest;
import com.zteits.clouds.api.service.park.ParkingLotService;
import com.zteits.clouds.api.service.pay.ParkLotTempInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* Copyright: Copyright (c) 2017 zteits
*
* @ClassName: com.zteits.park.job
* @Description: 统计停车场临时信息,插入到order域的停车场临时表中
* @version: v1.0.0
* @author: atao
* @date: 2017/10/14 下午3:03
* Modification History:
* Date Author Version Description
* ---------------------------------------------------------*
* 2017/10/14 atao v1.0.0 创建
*/
@Component
public class ParkLotTempInfoJob {
@Autowired
private ParkLotTempInfoService parkLotTempInfoService;
@Autowired
private ParkingLotService parkingLotService;
@XxlJob("parkLotTempInfoJob")
public ReturnT<String> execute(String... params) throws Exception {
String param = XxlJobHelper.getJobParam();
if (StringUtils.isNotEmpty(param) && params == null) {
params = param.split(",");
}
String sysCode = "123456";
XxlJobHelper.log("开始清空停车场临时表");
ParkLotTempInfoTruncateReq req = new ParkLotTempInfoTruncateReq();
req.setSysCode(sysCode);
BizResult<Boolean> result = parkLotTempInfoService.truncateParkLotTempInfo(req);
if (ResultUtils.isSuccess(result)) {
XxlJobHelper.log("清空停车场临时表成功!");
}else {
XxlJobHelper.log("清空停车场临时表失败!");
return returnFail(result.getErrMsg(),"清空停车场临时表失败!");
}
int maxPageSize = 200;
ParkTempInfoPageQueryRequest request = new ParkTempInfoPageQueryRequest();
request.setSysCode(sysCode);
request.getBaseRequest().setPageNum(1);
request.getBaseRequest().setPageSize(maxPageSize);
BizResult<PageBean<TdBTempParklotDTO>> bizResult = parkingLotService.queryParkTempInfoPage(request);
if (ResultUtils.isError(bizResult)) {
return returnFail(bizResult.getErrMsg(), "获取第1页停车场临时信息失败!");
}else {
BizResult<Integer> saveResult = saveParkLotTempInfo(1,bizResult.getData().getDataList());
if(ResultUtils.isError(saveResult)){
return returnFail(saveResult.getErrMsg(),"保存停车场临时信息失败!");
}
}
PageBean<TdBTempParklotDTO> pageBean = bizResult.getData();
Integer totalPage = pageBean.getPages();
for (int i = 2; i <= totalPage; i++) {
request.getBaseRequest().setPageNum(i);
bizResult = parkingLotService.queryParkTempInfoPage(request);
if (ResultUtils.isError(bizResult)) {
return returnFail(bizResult.getErrMsg(), "获取第"+i+"页停车场临时信息失败!");
}else {
BizResult<Integer> saveResult = saveParkLotTempInfo(i,bizResult.getData().getDataList());
if(ResultUtils.isError(saveResult)){
return returnFail(saveResult.getErrMsg(),"保存停车场临时信息失败!");
}
}
}
return returnSuccess("成功","保存停车场临时信息成功! 总共"+pageBean.getPageTotals()+"条数据!");
}
private BizResult<Integer> saveParkLotTempInfo(Integer num,List<TdBTempParklotDTO> dtoList) {
if(CollectionUtils.isEmpty(dtoList)){
XxlJobHelper.log("开始保存第"+num+"页停车场临时信息,dataSize = 0");
return new BizResult<>(0);
}
XxlJobHelper.log("开始保存第"+num+"页停车场临时信息,dataSize = "+dtoList.size());
ParkLotTempInfoBatchSaveReq req = new ParkLotTempInfoBatchSaveReq();
req.setSysCode("123456");
req.setTempParklotDTOList(dtoList);
BizResult<Integer> bizResult = parkLotTempInfoService.batchSaveParkLotTempInfo(req);
if(ResultUtils.isSuccess(bizResult)){
XxlJobHelper.log("成功保存第"+num+"页停车场临时信息,dataSize = "+dtoList.size());
}else{
XxlJobHelper.log("保存第"+num+"页停车场临时信息失败!");
}
return bizResult;
}
private ReturnT<String> returnSuccess(String msg, String content) {
ReturnT<String> returnT = new ReturnT<>();
returnT.setCode(ReturnT.SUCCESS_CODE);
returnT.setMsg(msg);
returnT.setContent(content);
return returnT;
}
private ReturnT<String> returnFail(String msg, String content) {
ReturnT<String> returnT = new ReturnT<>();
returnT.setCode(ReturnT.FAIL_CODE);
returnT.setMsg(msg);
returnT.setContent(content);
return returnT;
}
}