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