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