From 7fa4030818c30796fd912aadc2c85329d0d8e3ea Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 26 十二月 2023 15:21:44 +0800
Subject: [PATCH] 2023-12-26 朱宝民 县镇村获取接口、用水方式获取接口、农户增加虚拟卡号和用水方式

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java          |   40 ++++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml                                     |   17 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java        |  144 ++++++++++++++++++++++++++++++++++--
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java                      |    8 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java           |    2 
 6 files changed, 201 insertions(+), 12 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
index 5eb7697..0fd6c2d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
@@ -2,6 +2,7 @@
 
 import com.dy.pipIrrGlobal.pojoPr.PrDivide;
 import com.dy.pipIrrGlobal.voPr.VoDivide;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -38,4 +39,11 @@
      * @return
      */
     List<VoDivide> getDivides(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴�
+     * @param id
+     * @return
+     */
+    Integer deleteDivideById(@Param("id") Long id);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
index d9b4ac4..e09038a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
@@ -227,8 +227,9 @@
       lat = #{lat,jdbcType=DOUBLE},
       remarks = #{remarks,jdbcType=VARCHAR},
       `operator` = #{operator,jdbcType=BIGINT},
-      operateDt = #{operatedt,jdbcType=TIMESTAMP},
-      deleted = #{deleted,jdbcType=TINYINT}
+      operateDt = #{operatedt,jdbcType=TIMESTAMP}
+<!--    ,-->
+<!--      deleted = #{deleted,jdbcType=TINYINT}-->
     where id = #{id,jdbcType=BIGINT}
   </update>
 
@@ -243,6 +244,7 @@
         INNER JOIN ba_district village ON divi.villageid = village.id
         , (SELECT @i:=0) AS itable
     <where>
+      AND divi. deleted = 0
       <if test = "divideName != null and divideName !=''">
         AND divi.name LIKE CONCAT('%',#{divideName},'%')
       </if>
@@ -270,6 +272,7 @@
         INNER JOIN ba_district village ON divi.villageid = village.id
         , (SELECT @i:=0) AS itable
     <where>
+      AND divi. deleted = 0
       <if test = "divideName != null and divideName !=''">
         AND divi.name LIKE CONCAT('%',#{divideName},'%')
       </if>
@@ -284,4 +287,14 @@
     </if>
   </select>
 
+  <!--鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴�-->
+  <update id="deleteDivideById" parameterType="java.lang.Long">
+    update pr_divide set deleted = 1
+    <where>
+      <if test = "id != null and id > 0">
+        AND id = ${id}
+      </if>
+    </where>
+  </update>
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
index f46ea6a..f73cd42 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
@@ -18,7 +18,7 @@
 @EnableAspectJAutoProxy
 @EnableMultiDataSource
 @ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.pipIrrProject"})
-@MapperScan({"com.dy.pipIrrGlobal.daoPr"})
+@MapperScan({"com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoBa"})
 public class PipIrrProjectApplication {
 
     public static void main(String[] args) {
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 f6d2a12..308c8ee 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,6 +7,7 @@
 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;
@@ -32,11 +33,7 @@
 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
@@ -53,6 +50,11 @@
 public class DivideCtrl {
     private final DivideSv divideSv;
 
+    /**
+     * 鍒嗛〉鑾峰彇鍒嗘按鎴胯褰�
+     * @param vo
+     * @return
+     */
     @Operation(summary = "鑾峰緱涓�椤靛垎姘存埧璁板綍", description = "杩斿洖涓�椤靛垎姘存埧鏁版嵁")
     @ApiResponses(value = {
             @ApiResponse(
@@ -62,9 +64,9 @@
                             schema = @Schema(implementation = VoActiveCard.class))}
             )
     })
-    @GetMapping(path = "/getDivides", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @GetMapping(path = "/getDivides")
     @SsoAop()
-    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){
+    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(QueryVo vo){
         try {
             QueryResultVo<List<VoDivide>> res = divideSv.getDivides(vo);
             return BaseResponseUtils.buildSuccess(res);
@@ -74,6 +76,38 @@
         }
     }
 
+    /**
+     * 鏍规嵁鍒嗘按鎴夸富閿幏鍙栧垎姘存埧瀵硅薄
+     * @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);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍐滄埛寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    /**
+     * 娣诲姞鍒嗘按鎴胯褰�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
     @Operation(summary = "娣诲姞鍒嗘按鎴胯褰�", description = "娣诲姞鍒嗘按鎴胯褰�")
     @ApiResponses(value = {
             @ApiResponse(
@@ -87,13 +121,28 @@
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
     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");
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
+        // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛�
+        Long villageId = po.getVillageid();
+
+        /**
+         * 鑾峰彇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());
+        po.setCountyid(countryId);
+        po.setTownid(townId);
 
         Date operateTime = new Date();
         po.setOperatedt(operateTime);
+        po.setDeleted((byte)0);
         Integer rec = Optional.ofNullable(divideSv.addDivide(po)).orElse(0);
         if(rec == 0) {
             return BaseResponseUtils.buildFail(ProjectResultCode.DIVIDE_FAIL.getMessage());
@@ -101,6 +150,85 @@
         return BaseResponseUtils.buildSuccess(true) ;
     }
 
+    /**
+     * 鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴�
+     * @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 = "/delone/{id}")
+    @SsoAop()
+    public BaseResponse<Boolean> deleteDivideById(@PathVariable("id") Long id){
+        try {
+            Integer res = Optional.ofNullable(divideSv.deleteDivideById(id)).orElse(0);
+            if(res == 0) {
+                return BaseResponseUtils.buildFail("鍒嗘按鎴垮垹闄ゅけ璐�");
+            }
+            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 @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid PrDivide po, @Parameter(hidden = true) BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛�
+        Long villageId = po.getVillageid();
+
+        /**
+         * 鑾峰彇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());
+
+        po.setCountyid(countryId);
+        po.setTownid(townId);
+
+        Date operateTime = new Date();
+        po.setOperatedt(operateTime);
+
+        Integer rec = Optional.ofNullable(divideSv.updateByPrimaryKey(po)).orElse(0);
+        if(rec == 0) {
+            return BaseResponseUtils.buildFail("鍒嗘按鎴夸慨鏀瑰け璐�");
+        }
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
 
     /**
      * 瀵煎嚭鍒嗘按鎴垮垪琛�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java
index 5180d7a..ad77562 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java
@@ -1,6 +1,7 @@
 package com.dy.pipIrrProject.divide;
 
 import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
 import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
 import com.dy.pipIrrGlobal.pojoPr.PrDivide;
 import com.dy.pipIrrGlobal.voPr.VoDivide;
@@ -25,6 +26,9 @@
 public class DivideSv {
     @Autowired
     private PrDivideMapper prDivideMapper;
+
+    @Autowired
+    private BaDistrictMapper baDistrictMapper;
 
     /**
      * 娣诲姞鍒嗘按鎴�
@@ -64,4 +68,40 @@
         rsVo = prDivideMapper.getDivides(params);
         return rsVo ;
     }
+
+    /**
+     * 鏍规嵁鍒嗘按鎴夸富閿幏鍙栧垎姘存埧瀵硅薄
+     * @param id
+     * @return
+     */
+    public PrDivide getOneDivide(Long id) {
+        return prDivideMapper.selectByPrimaryKey(id);
+    }
+
+    /**
+     * 鏍规嵁涓婚敭閫昏緫鍒犻櫎涓�涓垎姘存埧
+     * @param id
+     * @return
+     */
+    public Integer deleteDivideById(Long id) {
+        return prDivideMapper.deleteDivideById(id);
+    }
+
+    /**
+     * 鏍规嵁鏉戠紪鍙疯幏鍙�5绾у尯鍒掍俊鎭�
+     * @param villageId 鏉戠紪鍙凤紙涓婚敭锛�
+     * @return 5绾ц鏀垮尯鍒掍俊鎭�
+     */
+    public Map getDistrictsByVillageId(Long villageId) {
+        return baDistrictMapper.getDistrictsByVillageId(villageId);
+    }
+
+    /**
+     * 淇敼鍒嗘按鎴垮璞�
+     * @param po 鍐滄埛瀵硅薄
+     * @return 淇敼璁板綍鏉℃暟
+     */
+    public Integer updateByPrimaryKey(PrDivide po) {
+        return prDivideMapper.updateByPrimaryKey(po);
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java
index 3e488ce..6ae085f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java
@@ -22,6 +22,6 @@
     @Schema(description = "鍐滄埛濮撳悕")
     public String divideName;
 
-    @Schema(description = "IC鍗″彿")
+    @Schema(description = "鐗囧尯鍚嶇О")
     public String blockName;
 }

--
Gitblit v1.8.0