数据校验修改
This commit is contained in:
parent
5f35885ba5
commit
ee1e10b237
@ -1,6 +1,5 @@
|
||||
package com.zhgd.xmgl.config;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
@ -491,10 +490,10 @@ public class AsyncConfig {
|
||||
public MdcThreadPoolTaskExecutor syncXzHikvisionCompareData() {
|
||||
MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor();
|
||||
/** 核心线程数(默认线程数) */
|
||||
executor.setCorePoolSize(2);
|
||||
executor.setCorePoolSize(corePoolSize);
|
||||
/** 最大线程数 */
|
||||
executor.setMaxPoolSize(2);
|
||||
executor.setQueueCapacity(10);
|
||||
executor.setMaxPoolSize(maxPoolSize);
|
||||
executor.setQueueCapacity(1000);
|
||||
/** 允许线程空闲时间(单位:默认为秒) */
|
||||
executor.setKeepAliveSeconds(60);
|
||||
/** 线程池名前缀 */
|
||||
@ -507,4 +506,5 @@ public class AsyncConfig {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -140,6 +140,6 @@ public class XzHikvisionCompareDataController {
|
||||
@PostMapping(value = "/manualCompareData")
|
||||
public Result manualCompareData(@ApiIgnore @RequestBody Map<String ,Object> param) {
|
||||
xzHikvisionCompareDataService.manualCompareData(param);
|
||||
return Result.ok();
|
||||
return Result.ok("已在后台校验中");
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.redis.lock.RedisRepository;
|
||||
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||
import com.zhgd.xmgl.async.AsyncXzHikvisionCompareData;
|
||||
import com.zhgd.xmgl.call.HikvisionCall;
|
||||
import com.zhgd.xmgl.constant.Cts;
|
||||
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||
@ -39,9 +40,9 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -59,6 +60,12 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
private ICarInfoService carInfoService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private AsyncXzHikvisionCompareData asyncXzHikvisionCompareData;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private XzHikvisionCompareDataServiceImpl xzHikvisionCompareDataService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private HikvisionTask hikvisionTask;
|
||||
@Autowired
|
||||
private XzHikvisionCompareDataMapper xzHikvisionCompareDataMapper;
|
||||
@ -150,26 +157,32 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
List<String> idList = StrUtil.split(ids, ",");
|
||||
for (String id : idList) {
|
||||
XzHikvisionCompareData data = baseMapper.selectById(id);
|
||||
Assert.notNull(data, "数据不存在");
|
||||
ThreadLocalUtil.addInKeyIfNotExist(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, data);
|
||||
|
||||
Integer ourType = data.getOurType();
|
||||
if (ourType == 1) {
|
||||
//企业
|
||||
syncEnterprise(data);
|
||||
} else if (ourType == 2) {
|
||||
//部门
|
||||
syncDepartment(data);
|
||||
} else if (ourType == 3) {
|
||||
//班组
|
||||
syncTeam(data);
|
||||
} else if (ourType == 4 || ourType == 5) {
|
||||
//人员和人脸
|
||||
syncWorker(data);
|
||||
} else if (ourType == 6) {
|
||||
//车辆
|
||||
syncCar(data);
|
||||
if (data == null) {
|
||||
continue;
|
||||
}
|
||||
ThreadLocalUtil.addInKeyIfNotExist(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, data);
|
||||
xzHikvisionCompareDataService.sync(data);
|
||||
}
|
||||
}
|
||||
|
||||
@Async("syncXzHikvisionCompareData")
|
||||
public void sync(XzHikvisionCompareData data) throws Exception {
|
||||
Integer ourType = data.getOurType();
|
||||
if (ourType == 1) {
|
||||
//企业
|
||||
syncEnterprise(data);
|
||||
} else if (ourType == 2) {
|
||||
//部门
|
||||
syncDepartment(data);
|
||||
} else if (ourType == 3) {
|
||||
//班组
|
||||
syncTeam(data);
|
||||
} else if (ourType == 4 || ourType == 5) {
|
||||
//人员和人脸
|
||||
syncWorker(data);
|
||||
} else if (ourType == 6) {
|
||||
//车辆
|
||||
syncCar(data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -345,9 +358,8 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
*/
|
||||
@Override
|
||||
public void compareRetryFail() {
|
||||
JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, JSONObject.class);
|
||||
if (tlJo != null) {
|
||||
XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
||||
XzHikvisionCompareData data = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, XzHikvisionCompareData.class);
|
||||
if (data != null) {
|
||||
data.setSyncResult(2);
|
||||
xzHikvisionCompareDataMapper.updateById(data);
|
||||
}
|
||||
@ -358,9 +370,8 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
*/
|
||||
@Override
|
||||
public void compareRetrySuc() {
|
||||
JSONObject tlJo = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, JSONObject.class);
|
||||
if (tlJo != null) {
|
||||
XzHikvisionCompareData data = BeanUtil.toBean(tlJo, XzHikvisionCompareData.class);
|
||||
XzHikvisionCompareData data = ThreadLocalUtil.getByKey(Cts.TL_XZ_HIKVISION_COMPARE_DATA_RETRY, XzHikvisionCompareData.class);
|
||||
if (data != null) {
|
||||
xzHikvisionCompareDataMapper.deleteById(data.getId());
|
||||
}
|
||||
}
|
||||
@ -470,37 +481,41 @@ public class XzHikvisionCompareDataServiceImpl extends ServiceImpl<XzHikvisionCo
|
||||
if (hashValues == null) {
|
||||
return new JoBuilder().put(Cts.SUCCESS, true).put(Cts.MSG, "未执行校验数据").build();
|
||||
}
|
||||
return (JSONObject) hashValues;
|
||||
return JSONObject.parseObject(hashValues.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void manualCompareData(Map<String, Object> param) {
|
||||
Integer type = MapUtils.getInteger(param, "type");
|
||||
String projectSn = MapUtils.getString(param, Cts.PROJECT_SN);
|
||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
|
||||
addExceptionShowIfNull(projectSn);
|
||||
try {
|
||||
if (Objects.equals(type, 1)) {
|
||||
//人员
|
||||
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
|
||||
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
|
||||
.ne(XzHikvisionCompareData::getType, 4)
|
||||
);
|
||||
hikvisionTask.compareHikvisionForEnterpriseEtc(projectInfoBySn);
|
||||
} else if (Objects.equals(type, 2)) {
|
||||
//车辆
|
||||
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
|
||||
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
|
||||
.eq(XzHikvisionCompareData::getType, 4)
|
||||
);
|
||||
hikvisionTask.compareHikvisionForCar(projectInfoBySn);
|
||||
}
|
||||
manualCompareDataAsync(param, projectSn);
|
||||
} catch (Exception e) {
|
||||
log.error("", e);
|
||||
addExceptionShowIfNull(projectSn);
|
||||
}
|
||||
}
|
||||
|
||||
@Async("syncXzHikvisionCompareData")
|
||||
public void manualCompareDataAsync(Map<String, Object> param, String projectSn) throws Exception {
|
||||
Integer type = MapUtils.getInteger(param, "type");
|
||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
|
||||
if (Objects.equals(type, 1)) {
|
||||
//人员
|
||||
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
|
||||
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
|
||||
.ne(XzHikvisionCompareData::getType, 4)
|
||||
);
|
||||
hikvisionTask.compareHikvisionForEnterpriseEtc(projectInfoBySn);
|
||||
} else if (Objects.equals(type, 2)) {
|
||||
//车辆
|
||||
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
|
||||
.eq(XzHikvisionCompareData::getProjectSn, projectSn)
|
||||
.eq(XzHikvisionCompareData::getType, 4)
|
||||
);
|
||||
hikvisionTask.compareHikvisionForCar(projectInfoBySn);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAllCompareData(Project project) {
|
||||
xzHikvisionCompareDataMapper.delete(new LambdaQueryWrapper<XzHikvisionCompareData>()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user