Browse Source

修复添加配置出现参数id数值重名;
修复编辑配置出现参数id数值重名;

zhuoning 3 năm trước cách đây
mục cha
commit
c9e9afd80d

+ 9 - 2
huimv-manage/src/main/java/com/huimv/manage/eartag/controller/BusinessConfigController.java

@@ -82,11 +82,18 @@ public class BusinessConfigController {
     public Result editConfigParam(@RequestParam(value = "id") Integer id,
                                   @RequestParam(value = "paramName") String paramName,
                                   @RequestParam(value = "paramId") String paramId,
-                                  @RequestParam(value = "paramValue") String aramValue,
+                                  @RequestParam(value = "paramValue") String paramValue,
                                   @RequestParam(value = "paramType") String paramType,
                                   @RequestParam(value = "remark") String remark){
+        log.info("输入参数-->");
+        log.info("id="+id);
+        log.info("paramName="+paramName);
+        log.info("paramId="+paramId);
+        log.info("paramValue="+paramValue);
+        log.info("paramType="+paramType);
+        log.info("remark="+remark);
         //
-        return configService.editConfigParam(id,paramName,paramId,aramValue,paramType,remark);
+        return configService.editConfigParam(id,paramName,paramId,paramValue,paramType,remark);
     }
 
     /**

+ 5 - 0
huimv-manage/src/main/java/com/huimv/manage/eartag/dao/repo/SysBusiConfigParamRepo.java

@@ -3,7 +3,12 @@ package com.huimv.manage.eartag.dao.repo;
 import com.huimv.manage.eartag.dao.entity.SysBusiConfigParamEntity;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
 
 public interface SysBusiConfigParamRepo extends JpaRepository<SysBusiConfigParamEntity, Integer>, JpaSpecificationExecutor<SysBusiConfigParamEntity> {
 
+    @Query(nativeQuery = true,value = "SELECT count(*) AS total FROM sys_busi_config_param WHERE param_id=:paramId AND id !=:id")
+    List<Object[]> getRepeatTotal(String paramId, Integer id);
 }

+ 95 - 62
huimv-manage/src/main/java/com/huimv/manage/eartag/service/impl/BusinessConfigService.java

@@ -9,6 +9,8 @@ import com.huimv.manage.util.Result;
 import com.huimv.manage.util.ResultCode;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Example;
+import org.springframework.data.domain.ExampleMatcher;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
@@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
 
 import javax.persistence.criteria.Order;
 import javax.persistence.criteria.Predicate;
+import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -35,17 +38,17 @@ public class BusinessConfigService implements IBusinessConfigService {
     private SysBusiConfigParamRepo configParamRepo;
 
     /**
-     * @Method      : listConfigParam
-     * @Description : 
-     * @Params      : [paramType, pageSize, pageNo]
-     * @Return      : com.huimv.manage.util.Result
-     * 
-     * @Author      : ZhuoNing
-     * @Date        : 2021/11/10       
-     * @Time        : 21:18
+     * @Method : listConfigParam
+     * @Description :
+     * @Params : [paramType, pageSize, pageNo]
+     * @Return : com.huimv.manage.util.Result
+     * @Author : ZhuoNing
+     * @Date : 2021/11/10
+     * @Time : 21:18
      */
     @Override
     public Result listConfigParam(String paramType, Integer pageSize, Integer pageNo) {
+        //
         Specification<SysBusiConfigParamEntity> sf = (Specification<SysBusiConfigParamEntity>) (root, criteriaQuery, criteriaBuilder) -> {
             //
             List<Predicate> predList = new ArrayList<>();
@@ -62,66 +65,97 @@ public class BusinessConfigService implements IBusinessConfigService {
             return criteriaQuery.orderBy(orders).getRestriction();
         };
         // 分页
-        Pageable pageable = PageRequest.of( pageNo - 1, pageSize);
+        Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
         return new Result(ResultCode.SUCCESS, configParamRepo.findAll(sf, pageable));
     }
 
     /**
-     * @Method      : addConfigParam
-     * @Description : 
-     * @Params      : [paramName, paramId, paramValue, paramType, remark]
-     * @Return      : com.huimv.manage.util.Result
-     * 
-     * @Author      : ZhuoNing
-     * @Date        : 2021/11/10       
-     * @Time        : 21:18
+     * @Method : addConfigParam
+     * @Description :
+     * @Params : [paramName, paramId, paramValue, paramType, remark]
+     * @Return : com.huimv.manage.util.Result
+     * @Author : ZhuoNing
+     * @Date : 2021/11/10
+     * @Time : 21:18
      */
     @Override
     public Result addConfigParam(String paramName, String paramId, String paramValue, String paramType, String remark) {
+        // 判断是否重名
+        if (_isExistParamId(paramId)) {
+            return new Result(Const.CODE_PARAM_EXIST, Const.INFO_PARAM_EXIST, false);
+        } else {
+            SysBusiConfigParamEntity configParamEntity = new SysBusiConfigParamEntity();
+            configParamEntity.setParamName(paramName);
+            configParamEntity.setParamId(paramId);
+            configParamEntity.setParamValue(paramValue);
+            configParamEntity.setParamType(paramType);
+            configParamEntity.setRemark(remark);
+            SysBusiConfigParamEntity addResult = configParamRepo.saveAndFlush(configParamEntity);
+            log.info("添加结果=" + addResult);
+            return new Result(Const.CODE_OK, Const.SAVE_OK, true);
+        }
+    }
+
+    // 判断是否存在重复数据
+    private boolean _isExistParamId(String paramId) {
+        //
         SysBusiConfigParamEntity configParamEntity = new SysBusiConfigParamEntity();
-        configParamEntity.setParamName(paramName);
         configParamEntity.setParamId(paramId);
-        configParamEntity.setParamValue(paramValue);
-        configParamEntity.setParamType(paramType);
-        configParamEntity.setRemark(remark);
-        SysBusiConfigParamEntity addResult = configParamRepo.saveAndFlush(configParamEntity);
-        log.info("addResult="+addResult);
-        return new Result(ResultCode.SUCCESS, Const.SAVE_OK);
+        //
+        Example<SysBusiConfigParamEntity> example = Example.of(configParamEntity);
+        //
+        return configParamRepo.exists(example);
     }
 
     /**
-     * @Method      : editConfigParam
-     * @Description : 
-     * @Params      : [id, paramName, paramId, paramValue, paramType, remark]
-     * @Return      : com.huimv.manage.util.Result
-     * 
-     * @Author      : ZhuoNing
-     * @Date        : 2021/11/10       
-     * @Time        : 21:18
+     * @Method : editConfigParam
+     * @Description :
+     * @Params : [id, paramName, paramId, paramValue, paramType, remark]
+     * @Return : com.huimv.manage.util.Result
+     * @Author : ZhuoNing
+     * @Date : 2021/11/10
+     * @Time : 21:18
      */
     @Override
     public Result editConfigParam(Integer id, String paramName, String paramId, String paramValue, String paramType, String remark) {
-        SysBusiConfigParamEntity configParamEntity = new SysBusiConfigParamEntity();
-        configParamEntity.setId(id);
-        configParamEntity.setParamName(paramName);
-        configParamEntity.setParamId(paramId);
-        configParamEntity.setParamValue(paramValue);
-        configParamEntity.setParamType(paramType);
-        configParamEntity.setRemark(remark);
-        SysBusiConfigParamEntity addResult = configParamRepo.saveAndFlush(configParamEntity);
-        log.info("addResult="+addResult);
-        return new Result(ResultCode.SUCCESS, Const.SAVE_OK);
+        // 判断是否重名
+        if (_isExistParamIdAndId(paramId, id)) {
+            return new Result(Const.CODE_PARAM_EXIST, Const.INFO_PARAM_EXIST, false);
+        } else {
+            SysBusiConfigParamEntity configParamEntity = new SysBusiConfigParamEntity();
+            configParamEntity.setId(id);
+            configParamEntity.setParamName(paramName);
+            configParamEntity.setParamId(paramId);
+            configParamEntity.setParamValue(paramValue);
+            configParamEntity.setParamType(paramType);
+            configParamEntity.setRemark(remark);
+            SysBusiConfigParamEntity addResult = configParamRepo.saveAndFlush(configParamEntity);
+            log.info("编辑结果=" + addResult);
+            return new Result(Const.CODE_OK,Const.INFO_EDIT_OK,true);
+        }
+    }
+
+    // 判断参数id是否重名
+    private boolean _isExistParamIdAndId(String paramId, Integer id) {
+        //
+        List<Object[]> configParamList = configParamRepo.getRepeatTotal(paramId, id);
+        Object[] configParamObj = configParamList.get(0);
+        BigInteger total = (BigInteger) configParamObj[0];
+        if (total.intValue() == 0) {
+            return false;
+        } else {
+            return true;
+        }
     }
 
     /**
-     * @Method      : removeConfigParam
-     * @Description : 
-     * @Params      : [ids]
-     * @Return      : com.huimv.manage.util.Result
-     * 
-     * @Author      : ZhuoNing
-     * @Date        : 2021/11/10       
-     * @Time        : 21:29
+     * @Method : removeConfigParam
+     * @Description :
+     * @Params : [ids]
+     * @Return : com.huimv.manage.util.Result
+     * @Author : ZhuoNing
+     * @Date : 2021/11/10
+     * @Time : 21:29
      */
     @Override
     public Result removeConfigParam(String ids) {
@@ -129,10 +163,10 @@ public class BusinessConfigService implements IBusinessConfigService {
             //
             List<Predicate> predList = new ArrayList<>();
             if (null != ids && !ids.trim().equalsIgnoreCase("null")) {
-                String[] idsArray =  ids.split(",");
+                String[] idsArray = ids.split(",");
                 Integer[] idArrInt = new Integer[idsArray.length];
-                for(int a=0;a<idsArray.length;a++){
-                    idArrInt[a]=Integer.parseInt(idsArray[a]);
+                for (int a = 0; a < idsArray.length; a++) {
+                    idArrInt[a] = Integer.parseInt(idsArray[a]);
                 }
                 predList.add(root.get("id").as(Integer.class).in(idArrInt));
             }
@@ -148,18 +182,17 @@ public class BusinessConfigService implements IBusinessConfigService {
         //
         List<SysBusiConfigParamEntity> dataList = configParamRepo.findAll(specific);
         configParamRepo.deleteAll(dataList);
-        return new Result(ResultCode.SUCCESS, Const.OPERATE_OK);
+        return new Result(ResultCode.SUCCESS);
     }
 
     /**
-     * @Method      : getConfigParam
-     * @Description : 
-     * @Params      : [paramId]
-     * @Return      : com.huimv.manage.util.Result
-     * 
-     * @Author      : ZhuoNing
-     * @Date        : 2021/11/10       
-     * @Time        : 21:31
+     * @Method : getConfigParam
+     * @Description :
+     * @Params : [paramId]
+     * @Return : com.huimv.manage.util.Result
+     * @Author : ZhuoNing
+     * @Date : 2021/11/10
+     * @Time : 21:31
      */
     @Override
     public Result getConfigParam(String paramId) {

+ 4 - 1
huimv-manage/src/main/java/com/huimv/manage/util/Const.java

@@ -13,7 +13,8 @@ public final class Const {
     public static final Integer CODE_OK = 10000;
     public static final String SAVE_NEW_MESSION = "保存新任务成功.";
     public static final String SAVE_OK = "保存成功。";
-    public static final String OPERATE_OK = "保存成功。";
+    public static final String OPERATE_OK = "操作成功。";
+    public static final String INFO_EDIT_OK = "编辑成功。";
 
     public static final Integer CODE_APPLY_NO_NEW = 10001;
     public static final String APPLY_NO_NEW = "目前暂无新任务.";
@@ -41,4 +42,6 @@ public final class Const {
     public static final String UPDATE_EARMARK_DOWN_STATE_FAIL = "设置指定耳标号为已下载状态失败.";
 
     public static final String EXPORT_EARMARK_EXCEL = "耳标号二维码打码数据.xlsx";
+    public static final Integer CODE_PARAM_EXIST = 10009;
+    public static final String INFO_PARAM_EXIST = "参数id的数值存在重名.";
 }