Parcourir la source

幂等性修改

gao.qiang il y a 1 an
Parent
commit
948635dd2c

+ 84 - 80
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -181,10 +181,10 @@ public class BaseCameraManagementController extends BaseController {
     public AjaxResult selectBaseAccountManagement(@RequestBody BaseCameraManagementVo baseCameraManagementVo) {
         baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
-                baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
+            baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
         }
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
-                baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
+            baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
         }
         IPage<BaseCameraManagement> page = baseCameraManagementService.queryPage(baseCameraManagementVo);
         page.setTotal(page.getTotal());
@@ -260,69 +260,73 @@ public class BaseCameraManagementController extends BaseController {
     @Transactional
     @Log(title = "相机台账管理", businessType = BusinessType.INSERT)
     public AjaxResult saveAccountManagement(@RequestBody BaseCameraManagement baseCameraManagement) {
-        String idempotence = idempotenceUtils.getIdempotence(baseCameraManagement.getCameraCode());
-        if (StringUtils.isNotEmpty(idempotence)) {
-            return error("你的网络卡顿,请不要一直添加!!!");
-        }
-        idempotenceUtils.createIdempotence(baseCameraManagement.getCameraCode());
-        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
-        if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
-            lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
-        }
-        BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(lw);
-        if (!ObjectUtils.isEmpty(cameraManagement)) {
-            idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-            return error("相机台账管理信息相机编码已存在,不能重复添加");
-        }
-        LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
-        if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
-            queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
-        }
-        BaseDeviceDynamicManagement one = baseDeviceDynamicManagementService.getOne(queryWrapper);
-        if (!ObjectUtils.isEmpty(one)) {
-            idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-            return error("设备动态管理表该相机编码已存在,不能重复添加");
-        }
-        if (!baseCameraManagement.getBeginMiles().matches(PATTERN)) {
-            return error("监控范围开始里程位置填写格式不正确");
-        } else {
-            double begin= Double.parseDouble(baseCameraManagement.getBeginMiles());
-            baseCameraManagement.setBeginMile((int) (begin*1000));
-        }
-        if (!baseCameraManagement.getInstallMiles().matches(PATTERN)) {
-            return error("监控相机安装里程位置填写格式不正确");
-        } else {
-            double install= Double.parseDouble(baseCameraManagement.getInstallMiles());
-            baseCameraManagement.setInstallMile((int) (install * 1000));
-        }
-        if (!baseCameraManagement.getEndMiles().matches(PATTERN)) {
-            return error("监控范围结束里程位置填写格式不正确");
-        } else {
-            double end= Double.parseDouble(baseCameraManagement.getEndMiles());
-            baseCameraManagement.setEndMile((int) (end * 1000));
-        }
-        if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
-            return error("监控范围开始里程位置不能大于监控范围结束里程位置");
-        }
-        baseCameraManagement.setCreateBy(getUserId());
-        baseCameraManagement.setUpdateBy(getUserId());
-        BaseDeviceDynamicManagement baseDynamicManagement = new BaseDeviceDynamicManagement();
-        baseDynamicManagement.setCameraCode(baseCameraManagement.getCameraCode());
-        baseDynamicManagement.setUpdateBy(getUserId());
-        baseDynamicManagement.setCreateBy(getUserId());
-        String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
-        if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
-            baseCameraManagement.setStartRecording(1);
-            baseCameraManagement.setTaskId(start);
-        } else {
-            baseCameraManagement.setStartRecording(2);
-        }
-        if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
+        try {
+            String idempotence = idempotenceUtils.getIdempotence(baseCameraManagement.getCameraCode());
+            if (StringUtils.isNotEmpty(idempotence)) {
+                return error("正在执行,请稍等");
+            }
+            idempotenceUtils.createIdempotence(baseCameraManagement.getCameraCode());
+            LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+            if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
+                lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
+            }
+            BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(lw);
+            if (!ObjectUtils.isEmpty(cameraManagement)) {
+                return error("相机台账管理信息相机编码已存在,不能重复添加");
+            }
+            LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
+            if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
+                queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
+            }
+            BaseDeviceDynamicManagement one = baseDeviceDynamicManagementService.getOne(queryWrapper);
+            if (!ObjectUtils.isEmpty(one)) {
+                return error("设备动态管理表该相机编码已存在,不能重复添加");
+            }
+            if (!baseCameraManagement.getBeginMiles().matches(PATTERN)) {
+                return error("监控范围开始里程位置填写格式不正确");
+            } else {
+                double begin = Double.parseDouble(baseCameraManagement.getBeginMiles());
+                baseCameraManagement.setBeginMile((int) (begin * 1000));
+            }
+            if (!baseCameraManagement.getInstallMiles().matches(PATTERN)) {
+                return error("监控相机安装里程位置填写格式不正确");
+            } else {
+                double install = Double.parseDouble(baseCameraManagement.getInstallMiles());
+                baseCameraManagement.setInstallMile((int) (install * 1000));
+            }
+            if (!baseCameraManagement.getEndMiles().matches(PATTERN)) {
+                return error("监控范围结束里程位置填写格式不正确");
+            } else {
+                double end = Double.parseDouble(baseCameraManagement.getEndMiles());
+                baseCameraManagement.setEndMile((int) (end * 1000));
+            }
+            if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
+                return error("监控范围开始里程位置不能大于监控范围结束里程位置");
+            }
+            baseCameraManagement.setCreateBy(getUserId());
+            baseCameraManagement.setUpdateBy(getUserId());
+            BaseDeviceDynamicManagement baseDynamicManagement = new BaseDeviceDynamicManagement();
+            baseDynamicManagement.setCameraCode(baseCameraManagement.getCameraCode());
+            baseDynamicManagement.setUpdateBy(getUserId());
+            baseDynamicManagement.setCreateBy(getUserId());
+            String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
+            if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
+                baseCameraManagement.setStartRecording(1);
+                baseCameraManagement.setTaskId(start);
+            } else {
+                baseCameraManagement.setStartRecording(2);
+            }
+            if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
+                return AjaxResult.success();
+            } else {
+                return AjaxResult.error();
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            return AjaxResult.error();
+        } finally {
             idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-            return AjaxResult.success();
         }
-        idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
-        return AjaxResult.error();
     }
 
     /**
@@ -346,19 +350,19 @@ public class BaseCameraManagementController extends BaseController {
         if (!baseCameraManagement.getBeginMiles().matches(PATTERN)) {
             return error("监控范围开始里程位置填写格式不正确");
         } else {
-            double begin= Double.parseDouble(baseCameraManagement.getBeginMiles());
-            baseCameraManagement.setBeginMile((int) (begin*1000));
+            double begin = Double.parseDouble(baseCameraManagement.getBeginMiles());
+            baseCameraManagement.setBeginMile((int) (begin * 1000));
         }
         if (!baseCameraManagement.getInstallMiles().matches(PATTERN)) {
             return error("监控相机安装里程位置填写格式不正确");
         } else {
-            double install= Double.parseDouble(baseCameraManagement.getInstallMiles());
+            double install = Double.parseDouble(baseCameraManagement.getInstallMiles());
             baseCameraManagement.setInstallMile((int) (install * 1000));
         }
         if (!baseCameraManagement.getEndMiles().matches(PATTERN)) {
             return error("监控范围结束里程位置填写格式不正确");
         } else {
-            double end= Double.parseDouble(baseCameraManagement.getEndMiles());
+            double end = Double.parseDouble(baseCameraManagement.getEndMiles());
             baseCameraManagement.setEndMile((int) (end * 1000));
         }
         if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
@@ -394,29 +398,29 @@ public class BaseCameraManagementController extends BaseController {
         SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
         baseCameraManagement.setDeptName(sysDept.getDeptName());
         baseCameraManagement.setRailwayName(baseRailwayManagement.getRailwayName());
-        
-        Double  install= (double) baseCameraManagement.getInstallMile() / 1000;
-        Double  end= (double) baseCameraManagement.getEndMile() / 1000;
-        Double  begin= (double) baseCameraManagement.getBeginMile() / 1000;
+
+        Double install = (double) baseCameraManagement.getInstallMile() / 1000;
+        Double end = (double) baseCameraManagement.getEndMile() / 1000;
+        Double begin = (double) baseCameraManagement.getBeginMile() / 1000;
         String[] split = install.toString().split("\\.");
         int number = Integer.parseInt(split[1]);
-        if (number==0){
+        if (number == 0) {
             baseCameraManagement.setInstallMiles(split[0]);
-        }else {
+        } else {
             baseCameraManagement.setInstallMiles(install.toString());
         }
         String[] ends = end.toString().split("\\.");
         int numbers = Integer.parseInt(ends[1]);
-        if (numbers==0){
+        if (numbers == 0) {
             baseCameraManagement.setEndMiles(ends[0]);
-        }else {
+        } else {
             baseCameraManagement.setEndMiles(end.toString());
         }
         String[] begins = begin.toString().split("\\.");
         int numberss = Integer.parseInt(begins[1]);
-        if (numberss==0){
+        if (numberss == 0) {
             baseCameraManagement.setBeginMiles(begins[0]);
-        }else {
+        } else {
             baseCameraManagement.setBeginMiles(begin.toString());
         }
         return AjaxResult.success(baseCameraManagement);
@@ -497,10 +501,10 @@ public class BaseCameraManagementController extends BaseController {
     public void exportBaseAccountManagement(HttpServletResponse response, @RequestBody BaseCameraManagementVo baseCameraManagementVo) {
         baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
-                baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
+            baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
         }
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
-                baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
+            baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
         }
         List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.baseCameraManagementList(baseCameraManagementVo);
         for (BaseCameraManagement baseCameraManagement : baseCameraManagementList) {
@@ -646,7 +650,7 @@ public class BaseCameraManagementController extends BaseController {
         cameraTreeVo = (CameraTreeVo) dataScoreUtil.setDataScore(getUserId(), cameraTreeVo);
         int count = 0;
         if (!ObjectUtils.isEmpty(cameraTreeVo.getMils())) {
-            cameraTreeVo.setMils(cameraTreeVo.getMils()*1000);
+            cameraTreeVo.setMils(cameraTreeVo.getMils() * 1000);
         }
         CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(cameraTreeVo);
         List<CameraTree> children = cameraTree.getChildren();

+ 30 - 26
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java

@@ -135,38 +135,42 @@ public class BaseRailwayManagementController extends BaseController {
     @ApiOperation("新增线路管理表信息")
     @Log(title = "线路台账管理", businessType = BusinessType.INSERT)
     public AjaxResult saveLineManagement(@RequestBody BaseRailwayManagement baseRailwayManagement) {
-        String idempotence = idempotenceUtils.getIdempotence(baseRailwayManagement.getRailwayCode());
-        if (StringUtils.isNotEmpty(idempotence)) {
-            return error("你的网络卡顿,请不要一直添加!!!");
-        }
-        idempotenceUtils.createIdempotence(baseRailwayManagement.getRailwayCode());
+        try {
+            String idempotence = idempotenceUtils.getIdempotence(baseRailwayManagement.getRailwayCode());
+            if (StringUtils.isNotEmpty(idempotence)) {
+                return error("你的网络卡顿,请不要一直添加!!!");
+            }
+            idempotenceUtils.createIdempotence(baseRailwayManagement.getRailwayCode());
 
-        LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
-        if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayCode())) {
-            lw.eq(BaseRailwayManagement::getRailwayCode, baseRailwayManagement.getRailwayCode());
-            BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
-            if (!ObjectUtils.isEmpty(railwayManagement)) {
-                idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
-                return error("线路编码已存在,不能重复添加");
+            LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
+            if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayCode())) {
+                lw.eq(BaseRailwayManagement::getRailwayCode, baseRailwayManagement.getRailwayCode());
+                BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
+                if (!ObjectUtils.isEmpty(railwayManagement)) {
+                    return error("线路编码已存在,不能重复添加");
+                }
             }
-        }
-        if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayName())) {
-            lw.eq(BaseRailwayManagement::getRailwayName, baseRailwayManagement.getRailwayName());
-            BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
-            if (!ObjectUtils.isEmpty(railwayManagement)) {
-                idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
-                return error("线路名称已存在,不能重复添加");
+            if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayName())) {
+                lw.eq(BaseRailwayManagement::getRailwayName, baseRailwayManagement.getRailwayName());
+                BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
+                if (!ObjectUtils.isEmpty(railwayManagement)) {
+                    return error("线路名称已存在,不能重复添加");
+                }
             }
-        }
 
-        baseRailwayManagement.setCreateBy(getUserId());
-        baseRailwayManagement.setUpdateBy(getUserId());
-        if (baseRailwayManagementService.save(baseRailwayManagement)) {
+            baseRailwayManagement.setCreateBy(getUserId());
+            baseRailwayManagement.setUpdateBy(getUserId());
+            if (baseRailwayManagementService.save(baseRailwayManagement)) {
+                return AjaxResult.success();
+            } else {
+                return AjaxResult.error();
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            return AjaxResult.error();
+        } finally {
             idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
-            return AjaxResult.success();
         }
-        idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
-        return AjaxResult.error();
     }
 
     /**