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