From 4297d17c914dc6b2d64388776ba0db7fb093c1b9 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期六, 29 三月 2025 08:32:03 +0800
Subject: [PATCH] 轮灌组添加接口、删除接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml                                         |    5 +
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java   |   81 ++++++++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/dto/IrrigateGroup.java |   46 +++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java                          |    7 +
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java     |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java |   43 ++++++++++
 6 files changed, 183 insertions(+), 1 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java
index 319236e..7977b7a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupIntakeMapper.java
@@ -33,4 +33,11 @@
      * @return
      */
     List<Long> getIntakeIdsByGroupId(Long groupId);
+
+    /**
+     * 鏍规嵁缁処D鍒犻櫎鍙栨按鍙e叧鑱�
+     * @param groupId
+     * @return
+     */
+    Integer deleteByGroupId(Long groupId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml
index 57000ab..e017190 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupIntakeMapper.xml
@@ -85,4 +85,9 @@
     FROM ir_group_intake
     WHERE group_id = #{groupId}
   </select>
+
+  <!--鏍规嵁缁処D鍒犻櫎鍙栨按鍙e叧鑱�-->
+  <delete id="deleteByGroupId">
+    DELETE FROM ir_group_intake WHERE group_id = #{groupId}
+  </delete>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
index aaed9d3..349b3cd 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
@@ -12,6 +12,7 @@
 import com.dy.pipIrrGlobal.voIr.VoGroupOne;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
 import com.dy.pipIrrIrrigate.irrigateGroup.dto.GroupClient;
+import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
 import com.dy.pipIrrIrrigate.result.IrrigateResultCode;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
@@ -442,4 +443,46 @@
         }
         return BaseResponseUtils.buildSuccess(true);
     }
+
+    /**
+     * 鏂板杞亴缁勶紝鏂颁唬鐮�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "addIrrigateGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> addIrrigateGroup(@RequestBody @Valid IrrigateGroup po, BindingResult bindingResult) {
+        if (bindingResult != null && bindingResult.hasErrors()) {
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Map map_result = irrigateGroupSv.addIrrigateGroup(po);
+        if(map_result.get("success").equals(false)) {
+            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+        }
+        return BaseResponseUtils.buildSuccess() ;
+    }
+
+    /**
+     * 鍒犻櫎杞亴缁勶紝鏂颁唬鐮�
+     * @param groupId
+     * @return
+     */
+    @PostMapping(path = "deleteIrrigateGroup")
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> deleteIrrigateGroup(@RequestParam(required = false) Long groupId) {
+        if(groupId == null) {
+            return BaseResponseUtils.buildErrorMsg("杞亴缁処D涓嶈兘涓虹┖");
+        }
+
+        Map map_result = irrigateGroupSv.deleteGroup(groupId);
+        if(map_result.get("success").equals(false)) {
+            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+        }
+        return BaseResponseUtils.buildSuccess() ;
+    }
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
index 90cb545..61962f8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
@@ -2,19 +2,23 @@
 
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoIr.IrGroupClientMapper;
+import com.dy.pipIrrGlobal.daoIr.IrGroupIntakeMapper;
 import com.dy.pipIrrGlobal.daoIr.IrGroupUnitMapper;
 import com.dy.pipIrrGlobal.daoIr.IrIrrigateGroupMapper;
 import com.dy.pipIrrGlobal.pojoIr.IrGroupClient;
+import com.dy.pipIrrGlobal.pojoIr.IrGroupIntake;
 import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
 import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
 import com.dy.pipIrrGlobal.voIr.VoGroup;
 import com.dy.pipIrrGlobal.voIr.VoGroupOne;
+import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -34,6 +38,9 @@
 
     @Autowired
     private IrGroupClientMapper irGroupClientMapper;
+
+    @Autowired
+    private IrGroupIntakeMapper irGroupIntakeMapper;
 
     /**
      * 鍒涘缓杞亴缁�
@@ -168,4 +175,78 @@
     public Integer deleteGroupClient (Long id) {
         return irGroupClientMapper.deleteByPrimaryKey(id);
     }
+
+    /**
+     * 鍒涘缓杞亴缁�
+     * @param po
+     * @return
+     */
+    public Map addIrrigateGroup(IrrigateGroup po) {
+        IrIrrigateGroup irrigateGroup = new IrIrrigateGroup();
+        irrigateGroup.setGroupCode(po.getGroupCode());
+        irrigateGroup.setDefaultDuration(po.getDefaultDuration());
+        irrigateGroup.setOperator(po.getOperator());
+        irrigateGroup.setOperateTime(new Date());
+        irrigateGroup.setDeleted((byte) 0);
+        irIrrigateGroupMapper.insertSelective(irrigateGroup);
+        Long groupId = irrigateGroup.getId();
+        if(groupId == null) {
+            Map map = new HashMap<>();
+            map.put("success", false);
+            map.put("msg", "鍒涘缓杞亴缁勫け璐�");
+            map.put("content", null);
+            return map;
+        }
+
+        String[] intakeArr = po.getIntakes().split(",");
+        Integer sort = 1;
+        for(String intekeId : intakeArr) {
+            String trimmed = intekeId.trim();
+            if(trimmed.isEmpty()) {
+                continue;
+            }
+            try {
+                Long intakeIdLong = Long.parseLong(trimmed);
+                IrGroupIntake irGroupIntake = new IrGroupIntake();
+                irGroupIntake.setGroupId(groupId);
+                irGroupIntake.setIntakeId(intakeIdLong);
+                irGroupIntakeMapper.insert(irGroupIntake);
+            } catch (NumberFormatException  e) {
+                Map map = new HashMap<>();
+                map.put("success", false);
+                map.put("msg", "鍙栨按鍙D鏍煎紡閿欒");
+                map.put("content", null);
+                return map;
+            }
+        }
+        Map map = new HashMap<>();
+        map.put("success", true);
+        map.put("msg", "娣诲姞杞亴缁勬垚鍔�");
+        map.put("content", null);
+        return map;
+    }
+
+    /**
+     * 鏍规嵁缁処D鍒犻櫎鍙栨按鍙e叧鑱�
+     * @param groupId
+     * @return
+     */
+    public Map deleteGroup(Long groupId) {
+        try {
+            irGroupIntakeMapper.deleteByGroupId(groupId);
+            irIrrigateGroupMapper.deleteByPrimaryKey(groupId);
+
+            Map map = new HashMap<>();
+            map.put("success", true);
+            map.put("msg", "鐏屾簤椤圭洰鍒犻櫎鎴愬姛");
+            map.put("content", null);
+            return map;
+        } catch (Exception e) {
+            Map map = new HashMap<>();
+            map.put("success", false);
+            map.put("msg", "杞亴缁勫垹闄ゅけ璐�");
+            map.put("content", null);
+            return map;
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/dto/IrrigateGroup.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/dto/IrrigateGroup.java
new file mode 100644
index 0000000..151ef84
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/dto/IrrigateGroup.java
@@ -0,0 +1,46 @@
+package com.dy.pipIrrIrrigate.irrigateGroup.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-03-28 20:26
+ * @LastEditTime 2025-03-28 20:26
+ * @Description 杞亴缁勫疄浣撶被锛屾坊鍔犲強淇敼杞亴缁勪娇鐢�
+ */
+
+@Data
+public class IrrigateGroup {
+    public static final long serialVersionUID = 202503282027001L;
+
+    /**
+     * 杞亴缁処D锛屼慨鏀硅疆鐏岀粍淇℃伅闇�瑕佷紶鍏�
+     */
+    private Long groupId;
+
+    /**
+     * 杞亴缁勫悕
+     */
+    @NotBlank(message = "杞亴缁勫悕涓嶈兘涓虹┖")
+    private String groupCode;
+
+    /**
+     * 杞亴缁勯粯璁ゆ椂闀�
+     */
+    @NotNull(message = "杞亴缁勯粯璁ゆ椂闀夸笉鑳戒负绌�")
+    private Integer defaultDuration;
+
+    /**
+     * 杞亴缁勫叧鑱旂殑 intakeId锛屼互閫楀彿鍒嗛殧
+     */
+    @NotBlank(message = "杞亴缁勫叧鑱旂殑 intakeId 涓嶈兘涓虹┖")
+    private String intakes;
+
+    /**
+     * 鎿嶄綔鍛業D
+     */
+    @NotNull(message = "鎿嶄綔鍛業D涓嶈兘涓虹┖")
+    private Long operator;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java
index 6c44efe..0b2b1ad 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java
@@ -8,7 +8,7 @@
  * @author ZhuBaoMin
  * @date 2025-03-27 15:09
  * @LastEditTime 2025-03-27 15:09
- * @Description 鐏屾簤椤圭洰瀹炰綋绫伙紝娣诲姞椤圭洰浣跨敤
+ * @Description 鐏屾簤椤圭洰瀹炰綋绫伙紝娣诲姞鍙婁慨鏀归」鐩娇鐢�
  */
 
 @Data

--
Gitblit v1.8.0