|
@@ -7,15 +7,22 @@ import com.github.pagehelper.PageHelper;
|
|
|
import com.ozs.common.core.domain.AjaxResult;
|
|
|
import com.ozs.common.utils.StringUtils;
|
|
|
import com.ozs.common.utils.bean.BeanUtils;
|
|
|
-import com.ozs.service.entity.BaseCameraVersion;
|
|
|
+import com.ozs.service.entity.*;
|
|
|
import com.ozs.service.entity.vo.BaseCameraVersionVo;
|
|
|
-import com.ozs.service.mapper.BaseCameraVersionMapper;
|
|
|
+import com.ozs.service.mapper.*;
|
|
|
import com.ozs.service.service.BaseCameraVersionService;
|
|
|
+import com.ozs.service.service.BaseDeviceDynamicManagementService;
|
|
|
+import com.ozs.service.service.CameraLogDetailService;
|
|
|
+import com.ozs.service.utils.PublishClient;
|
|
|
+import com.ozs.service.utils.SubscribeClient;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.util.Date;
|
|
|
+import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -28,8 +35,21 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
|
|
|
|
|
|
@Autowired
|
|
|
private BaseCameraVersionMapper baseCameraVersionMapper;
|
|
|
+ @Autowired
|
|
|
+ private CameraUpdateLogMapper cameraUpdateLogMapper;
|
|
|
+ @Autowired
|
|
|
+ private CameraLogDetailMapper cameraLogDetailMapper;
|
|
|
+ @Resource
|
|
|
+ private BaseCameraManagementMapper baseCameraManagementMapper;
|
|
|
+ @Autowired
|
|
|
+ private BaseVersionCameraParamMapper baseVersionCameraParamMapper;
|
|
|
+ @Autowired
|
|
|
+ BaseDeviceDynamicManagementService baseDeviceDynamicManagementService;
|
|
|
+ @Autowired
|
|
|
+ CameraLogDetailService cameraLogDetailService;
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public AjaxResult cameraVersionAdd(BaseCameraVersion baseCameraVersion, String userId) {
|
|
|
LambdaQueryWrapper<BaseCameraVersion> wrapper = new LambdaQueryWrapper<>();
|
|
|
if (!StringUtils.isEmptySunhh(baseCameraVersion) && !StringUtils.isEmptySunhh(baseCameraVersion.getVersionNum())) {
|
|
@@ -46,6 +66,15 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
|
|
|
baseCameraVersion.setCreateTime(date);
|
|
|
baseCameraVersion.setUpdateTime(date);
|
|
|
baseCameraVersionMapper.insert(baseCameraVersion);
|
|
|
+ // 升级类型 0.固件 1.算法 2:算法及硬件升级 3:摄像头系统参数
|
|
|
+ if ("3".equals(baseCameraVersion.getUpgradeType()) && baseCameraVersion.getBaseVersionCameraParamList().size() > 0) {
|
|
|
+ for (BaseVersionCameraParam baseVersionCameraParam : baseCameraVersion.getBaseVersionCameraParamList()) {
|
|
|
+ baseVersionCameraParam.setVersionId(baseCameraVersion.getId());
|
|
|
+ baseVersionCameraParam.setCreateBy(userId);
|
|
|
+ baseVersionCameraParam.setCreateTime(new Date());
|
|
|
+ baseVersionCameraParamMapper.insert(baseVersionCameraParam);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
return AjaxResult.error("当前版本号或版本名称已存在,请核对后在添加!");
|
|
|
}
|
|
@@ -53,7 +82,7 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<BaseCameraVersionVo> cameraVersionList(BaseCameraVersionVo baseCameraVersionVo) {
|
|
|
+ public com.github.pagehelper.Page<BaseCameraVersion> cameraVersionList(BaseCameraVersionVo baseCameraVersionVo) {
|
|
|
LambdaQueryWrapper<BaseCameraVersion> wrapper = new LambdaQueryWrapper<>();
|
|
|
if (!StringUtils.isEmptySunhh(baseCameraVersionVo) && !StringUtils.isEmptySunhh(baseCameraVersionVo.getVersionNum())) {
|
|
|
wrapper.eq(BaseCameraVersion::getVersionNum, baseCameraVersionVo.getVersionNum());
|
|
@@ -68,21 +97,82 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
|
|
|
int pageSize = Integer.parseInt(baseCameraVersionVo.getPageSize().toString());
|
|
|
com.github.pagehelper.Page<BaseCameraVersion> page = PageHelper.startPage(pageNum, pageSize)
|
|
|
.doSelectPage(() -> baseCameraVersionMapper.selectList(wrapper));
|
|
|
- com.baomidou.mybatisplus.extension.plugins.pagination.Page<BaseCameraVersionVo> pageR =
|
|
|
- new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize);
|
|
|
-// if (!ObjectUtils.isEmpty(page) && page.getResult().size() > 0) {
|
|
|
-// List<BaseCameraVersionVo> dto1 = page.getResult().stream().map(o -> {
|
|
|
-// BaseCameraVersionVo baseCameraVersionVo1 = new BaseCameraVersionVo();
|
|
|
-// BeanUtils.copyProperties(o, baseCameraVersionVo1);
|
|
|
-// // 升级类型 1:算法升级,2:硬件升级,3:算法及硬件升级
|
|
|
-// String upgradeTypeName = dictDataService.selectDictLabel("upgrade_type", o.getUpgradeType());
|
|
|
-// if (!StringUtils.isEmptySunhh(upgradeTypeName)) {
|
|
|
-// baseCameraVersionVo1.setUpgradeTypename(upgradeTypeName);
|
|
|
-// }
|
|
|
-// return baseCameraVersionVo1;
|
|
|
-// }).collect(Collectors.toList());
|
|
|
-// pageR.setRecords(dto1);
|
|
|
-// }
|
|
|
- return pageR;
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult cameraVersionUpgrade(BaseCameraVersionVo baseCameraVersionVo, String userId) {
|
|
|
+ BaseCameraVersion baseCameraVersion = baseCameraVersionMapper.selectById(baseCameraVersionVo.getId());
|
|
|
+ if (StringUtils.isEmptySunhh(baseCameraVersion)) {
|
|
|
+ return AjaxResult.error("当前版本ID不存在!");
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(baseCameraVersion, baseCameraVersionVo);
|
|
|
+ if ("3".equals(baseCameraVersion.getUpgradeType())) {
|
|
|
+ LambdaQueryWrapper<BaseVersionCameraParam> wrapperBaseVersionCameraParam = new LambdaQueryWrapper<>();
|
|
|
+ if (!StringUtils.isEmptySunhh(baseCameraVersionVo) && !StringUtils.isEmptySunhh(baseCameraVersionVo.getId())) {
|
|
|
+ wrapperBaseVersionCameraParam.eq(BaseVersionCameraParam::getVersionId, baseCameraVersionVo.getId());
|
|
|
+ }
|
|
|
+ List<BaseVersionCameraParam> baseVersionCameraParams = baseVersionCameraParamMapper.selectList(wrapperBaseVersionCameraParam);
|
|
|
+ baseCameraVersionVo.setBaseVersionCameraParamList(baseVersionCameraParams);
|
|
|
+ }
|
|
|
+ CameraUpdateLog cameraUpdateLog = new CameraUpdateLog();
|
|
|
+ cameraUpdateLog.setVersionId(baseCameraVersion.getId());
|
|
|
+ cameraUpdateLog.setVersionNum(baseCameraVersion.getVersionNum());
|
|
|
+ cameraUpdateLog.setVersionName(baseCameraVersion.getVersionName());
|
|
|
+ cameraUpdateLog.setUpgradeType(baseCameraVersion.getUpgradeType());
|
|
|
+ cameraUpdateLog.setCreateBy(userId);
|
|
|
+ cameraUpdateLog.setCreateTime(new Date());
|
|
|
+ int id = cameraUpdateLogMapper.insert(cameraUpdateLog);
|
|
|
+ for (String cameraCode : baseCameraVersionVo.getCameraCodeList()) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (!StringUtils.isEmptySunhh(cameraCode)) {
|
|
|
+ wrapper.eq(BaseCameraManagement::getCameraCode, cameraCode);
|
|
|
+ }
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementMapper.selectOne(wrapper);
|
|
|
+ if (StringUtils.isEmptySunhh(baseCameraManagement)) {
|
|
|
+ return AjaxResult.error("相机编码:" + cameraCode + "不存在!");
|
|
|
+ }
|
|
|
+ String lastVersionNum = baseCameraManagement.getVersionNum();
|
|
|
+ baseCameraManagement.setVersionId(baseCameraVersion.getId());
|
|
|
+ baseCameraManagement.setVersionNum(baseCameraVersion.getVersionNum());
|
|
|
+ baseCameraManagement.setVersionName(baseCameraVersion.getVersionName());
|
|
|
+ baseCameraManagement.setLastVersionNum(lastVersionNum);
|
|
|
+ baseCameraManagementMapper.updateById(baseCameraManagement);
|
|
|
+
|
|
|
+ CameraLogDetail cameraLogDetail = new CameraLogDetail();
|
|
|
+ cameraLogDetail.setLogId(cameraUpdateLog.getId());
|
|
|
+ cameraLogDetail.setCameraCode(cameraCode);
|
|
|
+ cameraLogDetail.setStatus(2);
|
|
|
+ cameraLogDetail.setUpdateTime(new Date());
|
|
|
+ int insert = cameraLogDetailMapper.insert(cameraLogDetail);
|
|
|
+ }
|
|
|
+ List<String> cameraCodeList = baseCameraVersionVo.getCameraCodeList();
|
|
|
+ Iterator it = cameraCodeList.iterator();
|
|
|
+ while(it.hasNext()) {
|
|
|
+ String value = (String) it.next();
|
|
|
+ LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode,value);
|
|
|
+ BaseDeviceDynamicManagement one = baseDeviceDynamicManagementService.getOne(queryWrapper);
|
|
|
+ if (one.getIsDisable()==2){
|
|
|
+ cameraLogDetailService.updateAccessories(one.getCameraCode(),400,"相机已下线");
|
|
|
+ it.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("3".equals(baseCameraVersionVo.getUpgradeType())){
|
|
|
+ List<BaseVersionCameraParam> baseVersionCameraParamList = baseCameraVersionVo.getBaseVersionCameraParamList();
|
|
|
+ for (BaseVersionCameraParam baseVersionCameraParam : baseVersionCameraParamList) {
|
|
|
+ if ("threshold".equals(baseVersionCameraParam.getParamKey())) {
|
|
|
+ PublishClient.confidenceCoefficient(baseCameraVersionVo, baseVersionCameraParam.getParamValue());
|
|
|
+ new SubscribeClient("config", "config").start();
|
|
|
+ } else if ("fps".equals(baseVersionCameraParam.getParamKey())) {
|
|
|
+ PublishClient.configFrameRate(baseCameraVersionVo, baseVersionCameraParam.getParamValue());
|
|
|
+ new SubscribeClient("config", "config").start();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PublishClient.updateDeviceSn(baseCameraVersionVo);
|
|
|
+ new SubscribeClient("update", "update").start();
|
|
|
+ return AjaxResult.success("已经为您提交升级申请,请您到“日志管理>相机升级日志”页面查看升级结果。");
|
|
|
}
|
|
|
}
|