From 6f346cec0b4646bdf750781075e46a4f028cd35b Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 16 八月 2024 15:25:17 +0800
Subject: [PATCH] 分水房、控制器、用户、角色、总账 返回结果修改

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java |  196 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 179 insertions(+), 17 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
index 93193ff..4619a22 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
@@ -7,12 +7,12 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoPr.PrDivide;
 import com.dy.pipIrrGlobal.voPr.VoDivide;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
 import com.dy.pipIrrProject.result.ProjectResultCode;
 import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -27,15 +27,12 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
-import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -52,6 +49,11 @@
 public class DivideCtrl {
     private final DivideSv divideSv;
 
+    /**
+     * 鍒嗛〉鑾峰彇鍒嗘按鎴胯褰�
+     * @param vo
+     * @return
+     */
     @Operation(summary = "鑾峰緱涓�椤靛垎姘存埧璁板綍", description = "杩斿洖涓�椤靛垎姘存埧鏁版嵁")
     @ApiResponses(value = {
             @ApiResponse(
@@ -61,18 +63,58 @@
                             schema = @Schema(implementation = VoActiveCard.class))}
             )
     })
-    @GetMapping(path = "/getDivides", consumes = MediaType.APPLICATION_JSON_VALUE)
-    @SsoAop("-1")
-    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){
+    @GetMapping(path = "/getDivides")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(QueryVo vo){
         try {
             QueryResultVo<List<VoDivide>> res = divideSv.getDivides(vo);
-            return BaseResponseUtils.buildSuccess(res);
+            if(res.itemTotal != null && res.itemTotal > 0) {
+                return BaseResponseUtils.buildSuccess(res);
+            }else {
+                return BaseResponseUtils.buildSuccess(ProjectResultCode.NO_DIVIDES.getMessage());
+            }
         } catch (Exception e) {
             log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
 
+    /**
+     * 鏍规嵁鍒嗘按鎴夸富閿幏鍙栧垎姘存埧瀵硅薄
+     * @param id
+     * @return
+     */
+    @Operation(summary = "鑾峰緱涓�涓垎姘存埧", description = "杩斿洖涓�涓垎姘存埧鏁版嵁")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = BaClient.class))}
+            )
+    })
+    @GetMapping(path = "/getone/{id}")
+    @SsoAop()
+    public BaseResponse<PrDivide> getOneDivide(@PathVariable("id") Long id){
+        try {
+            PrDivide res = divideSv.getOneDivide(id);
+            if(res != null) {
+                return BaseResponseUtils.buildSuccess(res);
+            }else {
+                return BaseResponseUtils.buildFail(ProjectResultCode.NO_DIVIDES.getMessage());
+            }
+        } catch (Exception e) {
+            log.error("鏌ヨ鍐滄埛寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    /**
+     * 娣诲姞鍒嗘按鎴胯褰�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
     @Operation(summary = "娣诲姞鍒嗘按鎴胯褰�", description = "娣诲姞鍒嗘按鎴胯褰�")
     @ApiResponses(value = {
             @ApiResponse(
@@ -84,26 +126,135 @@
     })
     @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
-    @SsoAop("-1")//@SsoAop(power = "-1")
-    public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid PrDivide po, @Parameter(hidden = true) BindingResult bindingResult){
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+    @SsoAop()
+    public BaseResponse<Boolean> add(@RequestBody @Valid DtoDivide po, BindingResult bindingResult){
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
+        // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛�
+        Long villageId = po.getVillageId();
+
+        PrDivide prDivide = DtoToDividePojo.INSTANCT.po2vo(po);
+
+        if (villageId!=null){
+            /**
+             * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭�
+             */
+            Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
+            if(map_districts.size() <= 0) {
+                return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎");
+            }
+            Long countryId = Long.parseLong(map_districts.get("countryId").toString());
+            Long townId = Long.parseLong(map_districts.get("townId").toString());
+            prDivide.setCountyid(countryId);
+            prDivide.setTownid(townId);
+        }
 
         Date operateTime = new Date();
-        po.setOperatedt(operateTime);
-        Integer rec = Optional.ofNullable(divideSv.addDivide(po)).orElse(0);
+        prDivide.setOperatedt(operateTime);
+        prDivide.setDeleted((byte)0);
+        Integer rec = Optional.ofNullable(divideSv.addDivide(prDivide)).orElse(0);
         if(rec == 0) {
             return BaseResponseUtils.buildFail(ProjectResultCode.DIVIDE_FAIL.getMessage());
         }
         return BaseResponseUtils.buildSuccess(true) ;
     }
 
+    /**
+     * 鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴�
+     * @param map
+     * @return
+     */
+    @Operation(summary = "鍒犻櫎涓�涓垎姘存埧", description = "鍒犻櫎涓�涓垎姘存埧鏁版嵁")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = BaClient.class))}
+            )
+    })
 
+    //@GetMapping(path = "/delone/{id}")
+    @PostMapping(path = "delete", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @SsoAop()
+    public BaseResponse<Boolean> deleteDivideById(@RequestBody Map map){
+        Long id = Optional.ofNullable(Long.parseLong(map.get("id").toString())).orElse(0L);
+        if(id == 0)
+            return BaseResponseUtils.buildException(ProjectResultCode.DELETE_DIVIDE_FAIL.getMessage());
+
+        try {
+            Integer res = Optional.ofNullable(divideSv.deleteDivideById(id)).orElse(0);
+            if(res == 0)
+                return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_DIVIDE_FAIL.getMessage());
+
+            return BaseResponseUtils.buildSuccess(true);
+        } catch (Exception e) {
+            log.error("鍒犻櫎鍒嗘按鎴垮紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    /**
+     * 淇敼鍒嗘按鎴�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @Operation(summary = "淇敼鍒嗘按鎴胯褰�", description = "淇敼鍒嗘按鎴胯褰�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> update(@RequestBody @Valid DtoDivide po, BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛�
+        Long villageId = po.getVillageId();
+
+        PrDivide prDivide = DtoToDividePojo.INSTANCT.po2vo(po);
+
+        if (villageId!=null){
+            /**
+             * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭�
+             */
+            Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
+            if(map_districts.size() <= 0) {
+                return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎");
+            }
+            Long countryId = Long.parseLong(map_districts.get("countryId").toString());
+            Long townId = Long.parseLong(map_districts.get("townId").toString());
+            prDivide.setCountyid(countryId);
+            prDivide.setTownid(townId);
+        }
+
+        Date operateTime = new Date();
+        prDivide.setOperatedt(operateTime);
+
+        Integer rec = Optional.ofNullable(divideSv.updateByPrimaryKey(prDivide)).orElse(0);
+        if(rec == 0) {
+            return BaseResponseUtils.buildFail("鍒嗘按鎴夸慨鏀瑰け璐�");
+        }
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 瀵煎嚭鍒嗘按鎴垮垪琛�
+     * @param response
+     * @param vo
+     */
     @SneakyThrows(IOException.class)
-    @RequestMapping(value = "/exportDivides", method = RequestMethod.GET)
-    public void exportDivides(HttpServletResponse response, QueryVo vo) {
+    @RequestMapping(value = "/export", method = RequestMethod.GET)
+    public void export(HttpServletResponse response, QueryVo vo) {
         setExcelRespProp(response, "鍒嗘按鎴垮垪琛�");
         //List<VoDivide> memberList = LocalJsonUtil.getListFromJson("json/members.json", VoDivide.class);
         List<VoDivide> memberList = divideSv.exportDivides(vo);
@@ -115,6 +266,17 @@
                 .doWrite(memberList);
     }
 
+    @SneakyThrows
+    @RequestMapping(value = "/importDivides", method = RequestMethod.POST)
+    @ResponseBody
+    public BaseResponse<Boolean> importDivides(@RequestPart("file") MultipartFile file) {
+        List<VoDivide> memberList = EasyExcel.read(file.getInputStream())
+                .head(VoDivide.class)
+                .sheet()
+                .doReadSync();
+        return BaseResponseUtils.buildSuccess(memberList) ;
+    }
+
     /**
      * 璁剧疆excel涓嬭浇鍝嶅簲澶村睘鎬�
      */

--
Gitblit v1.8.0