From cda0faf3128ed97e7519d1ca04be079aea64dd93 Mon Sep 17 00:00:00 2001
From: liuxm <liuxm_a@163.com>
Date: 星期四, 06 六月 2024 16:34:23 +0800
Subject: [PATCH] 添加验证和异常处理

---
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionProcess.java      |    4 
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/AssemblyPlanCtrl.java |  117 ++++++++--------------------
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java      |   13 +++
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessCtrl.java       |   53 ++-----------
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/DevOpsPlanCtrl.java   |   11 --
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionNode.java         |    8 +-
 6 files changed, 64 insertions(+), 142 deletions(-)

diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java
index 5ec1a92..82b5ab9 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java
@@ -3,6 +3,7 @@
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.MethodArgumentNotValidException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
@@ -11,6 +12,18 @@
 @RestControllerAdvice
 @Slf4j
 public class ExceptionHandlerAdvice {
+
+    @ExceptionHandler(MethodArgumentNotValidException.class)
+    public BaseResponse<?> handleValidationExceptions(MethodArgumentNotValidException ex) {
+        log.error("[handleValidationExceptions]", ex);
+        StringBuilder sb = new StringBuilder();
+        ex.getBindingResult().getAllErrors().forEach(error -> {
+//            String fieldName = ((org.springframework.validation.FieldError) error).getField();
+            String errorMessage = error.getDefaultMessage();
+            sb.append(errorMessage).append(";");
+        });
+        return BaseResponseUtils.buildException(sb.substring(0, sb.length() - 1));
+    }
     /**
      * 澶勭悊绯荤粺寮傚父锛屽厹搴曞鐞嗘墍鏈夊紓甯�
      */
diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionNode.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionNode.java
index 167b071..183d2a4 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionNode.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionNode.java
@@ -46,25 +46,25 @@
     /**
      * 鑺傜偣浣滀笟鍐呭
      */
-    @NotEmpty(message = "鑺傜偣浣滀笟鍐呭涓嶈兘涓虹┖")
+    @NotEmpty(message = "璇疯緭鍏ヨ妭鐐逛綔涓氬唴瀹�")
     public String content;
 
     /**
      * 鏄惁寮�濮嬭妭鐐癸紝1鏄紝0鍚�
      */
-    @NotNull(message = "鏄惁寮�濮嬭妭鐐逛笉鑳戒负绌�")
+    @NotNull(message = "璇烽�夋嫨鏄惁鐢熶骇寮�濮�")
     public Boolean isStart;
 
     /**
      * 鏄惁缁撴潫鑺傜偣锛�1鏄紝0鍚�
      */
-    @NotNull(message = "鏄惁缁撴潫鑺傜偣涓嶈兘涓虹┖")
+    @NotNull(message = "璇烽�夋嫨鏄惁鐢熶骇缁撴潫")
     public Boolean isEnd;
 
     /**
      * 鏄惁璁板綍璁惧鍛ㄦ湡锛�1鏄紝0鍚�
      */
-    @NotNull(message = "鏄惁璁板綍璁惧鍛ㄦ湡涓嶈兘涓虹┖")
+    @NotNull(message = "璇烽�夋嫨鏄惁璁板綍璁惧鍛ㄦ湡")
     public Boolean isRecord;
 
     /**
diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionProcess.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionProcess.java
index 9a1901a..30dc559 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionProcess.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoPr/PrProductionProcess.java
@@ -37,7 +37,7 @@
      * 浜у搧瀹炰綋缂栧彿
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    @NotNull(message = "浜у搧涓嶈兘涓虹┖")
+    @NotNull(message = "璇烽�夋嫨浜у搧")
     public Long proId;
 
     /**
@@ -49,7 +49,7 @@
     /**
      * 鍚嶇О
      */
-    @NotEmpty(message = "鍚嶇О涓嶈兘涓虹┖")
+    @NotEmpty(message = "璇疯緭鍏ュ悕绉�")
     public String name;
 
     /**
diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessCtrl.java
index bafc03d..a575385 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessCtrl.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessCtrl.java
@@ -32,23 +32,13 @@
     /**
      * 淇濆瓨
      * @param  process
-     * @param bindingResult
      * @return
      */
     @PostMapping(path="save")
     @SsoPowerAop(power = "-1")
     @Log("淇濆瓨鐢熶骇娴佺▼")
-    public BaseResponse<Boolean> save(@RequestBody @Valid PrProductionProcess process, BindingResult bindingResult){
-        if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-        }
-        int count;
-        try {
-            count = sv.save(process);
-        }catch (Exception e){
-            log.error("淇濆瓨鐢熶骇娴佺▼寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+    public BaseResponse<Boolean> save(@RequestBody @Valid PrProductionProcess process){
+        int count = sv.save(process);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         } else {
@@ -59,23 +49,13 @@
     /**
      * 鏇存柊
      * @param process
-     * @param bindingResult
      * @return
      */
     @PostMapping(path="update")
     @SsoPowerAop(power = "-1")
     @Log("鏇存柊鐢熶骇娴佺▼")
-    public BaseResponse<Boolean> update(@RequestBody @Valid PrProductionProcess process, BindingResult bindingResult){
-        int count;
-        try {
-            if (bindingResult != null && bindingResult.hasErrors()) {
-                return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-            }
-            count = sv.update(process);
-        }catch (Exception e){
-            log.error("鏇存柊鐢熶骇娴佺▼寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+    public BaseResponse<Boolean> update(@RequestBody @Valid PrProductionProcess process){
+        int count = sv.update(process);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         } else {
@@ -91,13 +71,8 @@
     @SsoPowerAop(power = "-1")
     @Log("鏍规嵁ID鏌ヨ鐢熶骇娴佺▼")
     public BaseResponse<PrProductionProcess> one(Long id){
-        try{
-            PrProductionProcess process=sv.selectById(id);
-            return BaseResponseUtils.buildSuccess(process);
-        }catch (Exception e){
-            log.error("鏍规嵁ID鏌ヨ鐢熶骇娴佺▼寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        PrProductionProcess process=sv.selectById(id);
+        return BaseResponseUtils.buildSuccess(process);
     }
 
     /**
@@ -109,13 +84,8 @@
     @SsoPowerAop(power = "-1")
     @Log("鍒嗛〉鏌ヨ鐢熶骇娴佺▼")
     public BaseResponse<QueryResultVo<List<PrProductionProcess>>> some(@RequestBody QueryVo vo){
-        try {
-            QueryResultVo<List<PrProductionProcess>> list = sv.selectSome(vo) ;
-            return BaseResponseUtils.buildSuccess(list);
-        }catch (Exception e){
-            log.error("鍒嗛〉鏌ヨ鐢熶骇娴佺▼寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        QueryResultVo<List<PrProductionProcess>> list = sv.selectSome(vo) ;
+        return BaseResponseUtils.buildSuccess(list);
     }
 
     /**
@@ -126,11 +96,6 @@
     @SsoPowerAop(power = "-1")
     @Log("鏌ヨ鎵�鏈夌敓浜ф祦绋�")
     public BaseResponse<List<Map<String,String>>> queryAll(Long proId){
-        try {
-            return BaseResponseUtils.buildSuccess(sv.queryAll(proId));
-        }catch (Exception e){
-            log.error("鏌ヨ鎵�鏈夌敓浜ф祦绋嬪紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        return BaseResponseUtils.buildSuccess(sv.queryAll(proId));
     }
 }
diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/AssemblyPlanCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/AssemblyPlanCtrl.java
index 6dbf964..4b4cd0c 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/AssemblyPlanCtrl.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/AssemblyPlanCtrl.java
@@ -41,17 +41,8 @@
     @PostMapping(path="save")
     @SsoPowerAop(power = "-1")
     @Log("淇濆瓨缁勮浠诲姟璁″垝")
-    public BaseResponse<Boolean> save(@RequestBody @Valid PrAssemblyPlan plan, BindingResult bindingResult){
-        if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-        }
-        int count;
-        try {
-            count = sv.save(plan);
-        }catch (Exception e){
-            log.error("淇濆瓨缁勮浠诲姟璁″垝寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+    public BaseResponse<Boolean> save(@RequestBody @Valid PrAssemblyPlan plan){
+        int count = sv.save(plan);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         } else {
@@ -62,23 +53,13 @@
     /**
      * 鏇存柊
      * @param plan
-     * @param bindingResult
      * @return
      */
     @PostMapping(path="update")
     @SsoPowerAop(power = "-1")
     @Log("鏇存柊缁勮浠诲姟璁″垝")
-    public BaseResponse<Boolean> update(@RequestBody @Valid PrAssemblyPlan plan, BindingResult bindingResult){
-        int count;
-        try {
-            if (bindingResult != null && bindingResult.hasErrors()) {
-                return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-            }
-            count = sv.update(plan);
-        }catch (Exception e){
-            log.error("鏇存柊缁勮浠诲姟璁″垝寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+    public BaseResponse<Boolean> update(@RequestBody @Valid PrAssemblyPlan plan){
+        int count = sv.update(plan);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         } else {
@@ -90,13 +71,7 @@
     @SsoPowerAop(power = "-1")
     @Log("鏇存柊浠诲姟璁″垝鐘舵��")
     public BaseResponse<Boolean> updateStatus(@RequestBody PrAssemblyPlan plan){
-        int count;
-        try {
-            count = sv.updateStatus(plan);
-        }catch (Exception e){
-            log.error("鏇存柊缁勮浠诲姟璁″垝寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        int count = sv.updateStatus(plan);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         } else {
@@ -111,13 +86,8 @@
     @SsoPowerAop(power = "-1")
     @Log("鏍规嵁ID鏌ヨ缁勮浠诲姟璁″垝")
     public BaseResponse<PrAssemblyPlan> one(Long id){
-        try{
-            PrAssemblyPlan plan=sv.selectById(id);
-            return BaseResponseUtils.buildSuccess(plan);
-        }catch (Exception e){
-            log.error("鏍规嵁ID鏌ヨ缁勮浠诲姟璁″垝寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        PrAssemblyPlan plan=sv.selectById(id);
+        return BaseResponseUtils.buildSuccess(plan);
     }
 
     /**
@@ -129,13 +99,8 @@
     @SsoPowerAop(power = "-1")
     @Log("鍒嗛〉鏌ヨ缁勮浠诲姟璁″垝")
     public BaseResponse<QueryResultVo<List<PrAssemblyPlan>>> some(@RequestBody QueryVo vo){
-        try {
-            QueryResultVo<List<PrAssemblyPlan>> list = sv.selectSome(vo) ;
-            return BaseResponseUtils.buildSuccess(list);
-        }catch (Exception e){
-            log.error("鍒嗛〉鏌ヨ缁勮浠诲姟璁″垝寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        QueryResultVo<List<PrAssemblyPlan>> list = sv.selectSome(vo) ;
+        return BaseResponseUtils.buildSuccess(list);
     }
 
     /**
@@ -144,34 +109,24 @@
     @PostMapping(path="addEquip")
     @SsoPowerAop(power = "-1")
     @Log("澧炲姞璁惧鍙�")
-    public BaseResponse<Boolean> addEquip(@RequestBody QueryVo vo){
+    public BaseResponse<?> addEquip(@RequestBody QueryVo vo){
         if(vo.addNum == null || vo.addNum <= 0 || vo.planId == null){
             return BaseResponseUtils.buildFail("鍙傛暟閿欒");
         }
-        try {
-            int count = sv.addEquip(vo.planId,vo.addNum);
-            if (count <= 0) {
-                return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
-            } else {
-                return BaseResponseUtils.buildSuccess(true);
-            }
-        }catch (Exception e){
-            log.error("澧炲姞璁惧鍙峰紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
+        int count = sv.addEquip(vo.planId,vo.addNum);
+        if (count <= 0) {
+            return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+        } else {
+            return BaseResponseUtils.buildSuccess(true);
         }
     }
 
     @PostMapping(path="someEquip")
     @SsoPowerAop(power = "-1")
-    @Log("鏌ヨ璁惧鍙�")
+    @Log("鍒嗛〉鏌ヨ璁惧鍙�")
     public BaseResponse<QueryResultVo<List<PrEquip>>> someEquip(@RequestBody QueryVo queryVo){
-        try {
-            QueryResultVo<List<PrEquip>> list = sv.selectSomeEquip(queryVo) ;
-            return BaseResponseUtils.buildSuccess(list);
-        }catch (Exception e){
-            log.error("鍒嗛〉鏌ヨ缁勮浠诲姟璁″垝寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
-        }
+        QueryResultVo<List<PrEquip>> list = sv.selectSomeEquip(queryVo) ;
+        return BaseResponseUtils.buildSuccess(list);
     }
 
     @GetMapping(path="exportEquip")
@@ -179,26 +134,22 @@
     @Log("瀵煎嚭璁惧鍙�")
     public void exportEquip(Long batchId, HttpServletResponse response){
         Date start = new Date() ;
-        try{
-            List<Converter> list = new ArrayList<>();
+        List<Converter> list = new ArrayList<>();
 
-            List<PrEquip> equipList = sv.selectEquipByBatchId(batchId) ;
-            // 浣跨敤骞惰娴佹彁楂樻�ц兘
-            equipList.parallelStream().forEach(equip -> {
-                ExcelVo vo = new ExcelVo();
-                vo.equipNo = equip.equipNo;
-                try {
-                    vo.qrCode = QrCodeUtil.genQrCode(vo.equipNo);
-                } catch (IOException | WriterException e) {
-                    e.printStackTrace();
-                }
-                list.add(vo);
-            });
-            log.info("瀵煎嚭璁惧鍙疯�楁椂锛�"+(new Date().getTime()-start.getTime())+"ms");
-            QrCodeUtil.downloadExcel(response, fileName,sheetName,list);
-            log.info("瀵煎嚭璁惧鍙疯�楁椂锛�"+(new Date().getTime()-start.getTime())+"ms");
-        }catch (Exception e){
-            log.error("瀵煎嚭璁惧鍙峰紓甯�", e);
-        }
+        List<PrEquip> equipList = sv.selectEquipByBatchId(batchId) ;
+        // 浣跨敤骞惰娴佹彁楂樻�ц兘
+        equipList.parallelStream().forEach(equip -> {
+            ExcelVo vo = new ExcelVo();
+            vo.equipNo = equip.equipNo;
+            try {
+                vo.qrCode = QrCodeUtil.genQrCode(vo.equipNo);
+            } catch (IOException | WriterException e) {
+                e.printStackTrace();
+            }
+            list.add(vo);
+        });
+        log.info("瀵煎嚭璁惧鍙疯�楁椂锛�"+(new Date().getTime()-start.getTime())+"ms");
+        QrCodeUtil.downloadExcel(response, fileName,sheetName,list);
+        log.info("瀵煎嚭璁惧鍙疯�楁椂锛�"+(new Date().getTime()-start.getTime())+"ms");
     }
 }
diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/DevOpsPlanCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/DevOpsPlanCtrl.java
index 931fe73..c7c074b 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/DevOpsPlanCtrl.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/DevOpsPlanCtrl.java
@@ -33,10 +33,7 @@
     @PostMapping(path="save")
     @SsoPowerAop(power = "-1")
     @Log("淇濆瓨缁勮浠诲姟璁″垝")
-    public BaseResponse<Boolean> save(@RequestBody @Valid PrDevOpsPlan plan, BindingResult bindingResult){
-        if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-        }
+    public BaseResponse<Boolean> save(@RequestBody @Valid PrDevOpsPlan plan){
         int count = sv.save(plan);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
@@ -48,16 +45,12 @@
     /**
      * 鏇存柊
      * @param plan
-     * @param bindingResult
      * @return
      */
     @PostMapping(path="update")
     @SsoPowerAop(power = "-1")
     @Log("鏇存柊缁勮浠诲姟璁″垝")
-    public BaseResponse<Boolean> update(@RequestBody @Valid PrDevOpsPlan plan, BindingResult bindingResult){
-        if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-        }
+    public BaseResponse<Boolean> update(@RequestBody @Valid PrDevOpsPlan plan){
         int count = sv.update(plan);
         if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");

--
Gitblit v1.8.0