From 9310b45ec2b53bae9814e9871b5e31feddb18e7d Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期二, 21 五月 2024 10:56:54 +0800 Subject: [PATCH] 田间灌溉项目管理 灌溉单元模块实现接口(创建灌溉单元、删除灌溉单元、批量删除、修改灌溉单元、查一个灌溉单元、分页查灌溉单元) --- pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java | 5 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitSv.java | 89 ++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnitOne.java | 50 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java | 213 +++++++++++++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateUnitMapper.xml | 160 +++++++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnit.java | 52 ++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateUnit.java | 10 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/QueryVo.java | 26 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateUnitMapper.java | 38 +++ 10 files changed, 625 insertions(+), 22 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateUnitMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateUnitMapper.java index 7fc478a..d7cd2b6 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateUnitMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateUnitMapper.java @@ -1,6 +1,15 @@ package com.dy.pipIrrGlobal.daoIr; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit; +import com.dy.pipIrrGlobal.voIr.VoProject; +import com.dy.pipIrrGlobal.voIr.VoProjectOne; +import com.dy.pipIrrGlobal.voIr.VoUnit; +import com.dy.pipIrrGlobal.voIr.VoUnitOne; import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; /** * @author :WuZeYu @@ -9,5 +18,32 @@ * @Description */ @Mapper -public interface IrIrrigateUnitMapper { +public interface IrIrrigateUnitMapper extends BaseMapper<IrIrrigateUnit> { + //澧� + int insertSelective(IrIrrigateUnit record); + + //鍒� + int deleteLogicById(Long id); + + //鏀� + int updateByPrimaryKeySelective(IrIrrigateUnit record); + + //鏌ヤ竴涓� + VoUnitOne selectById(Long id); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰曟暟 + * + * @param params + * @return + */ + Long getRecordCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰� + * + * @param params + * @return + */ + List<VoUnit> getUnits(Map<?, ?> params); } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java index 3d3e0a0..ddfa487 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java @@ -49,7 +49,7 @@ Long getSupperByVillageId(long vaId); /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰曟暟 + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇椤圭洰璁板綍鏁� * * @param params * @return @@ -57,7 +57,7 @@ Long getRecordCount(Map<?, ?> params); /** - * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰� + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇椤圭洰璁板綍 * * @param params * @return diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateUnit.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateUnit.java index 0806184..6f49902 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateUnit.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateUnit.java @@ -12,11 +12,10 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.po.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.*; -import org.hibernate.validator.constraints.Length; import java.util.Date; @@ -30,8 +29,8 @@ @ToString @NoArgsConstructor @AllArgsConstructor -@Schema(name = "椤圭洰瀹炰綋") -public class IrIrrigateUnit { +@Schema(name = "鐏屾簤鍗曞厓瀹炰綋") +public class IrIrrigateUnit implements BaseEntity { public static final long serialVersionUID = 202405161833001L; /** @@ -52,8 +51,7 @@ * 鐏屾簤闈㈢Н */ @Schema(description = "鐏屾簤闈㈢Н", requiredMode = Schema.RequiredMode.REQUIRED) - @Length(message = "椤圭洰鍚嶇О涓嶅ぇ浜巤max}瀛�",max = 12) - private float area; + private Float area; /** * 鎿嶄綔浜篒D */ diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnit.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnit.java new file mode 100644 index 0000000..a6aaed0 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnit.java @@ -0,0 +1,52 @@ +package com.dy.pipIrrGlobal.voIr; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.dy.common.po.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * @author :WuZeYu + * @Date :2024/5/21 9:04 + * @LastEditTime :2024/5/21 9:04 + * @Description + */ +@Data +@Schema(title = "鐏屾簤鍗曞厓瑙嗗浘瀵硅薄") +public class VoUnit implements BaseEntity { + @Schema(description = "鎵�灞為」鐩悕绉�") + public String projectName; + + @Schema(description = "杞亴缁勭紪鐮�") + private int groupCode; + + @Schema(description = "鐏屾簤鍗曞厓ID") + private String unitId; + + @Schema(description = "鐏屾簤闈㈢Н") + private Integer area; + + @Schema(description = "澶囨敞") + private String remarks; + + @Schema(description = "鎵�灞為」鐩甀d") + public String projectId; + + /** + * 鎿嶄綔浜哄悕瀛� + */ + @Schema(description = "鎿嶄綔浜哄悕瀛�") + private String operatorName; + + @Schema(description = "鎿嶄綔浜篒d") + private String operator; + + /** + * 鎿嶄綔鏃堕棿 + */ + @Schema(description = "鎿嶄綔鏃堕棿") + private Date operateDt; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnitOne.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnitOne.java new file mode 100644 index 0000000..aa263ee --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoUnitOne.java @@ -0,0 +1,50 @@ +package com.dy.pipIrrGlobal.voIr; + +import com.dy.common.po.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * @author :WuZeYu + * @Date :2024/5/21 9:05 + * @LastEditTime :2024/5/21 9:05 + * @Description + */ +@Data +@Schema(name = "鐏屾簤鍗曞厓瑙嗗浘(鏌ヤ竴涓�)") +public class VoUnitOne implements BaseEntity { + @Schema(description = "鎵�灞為」鐩悕绉�") + public String projectName; + + @Schema(description = "杞亴缁勭紪鐮�") + private int groupCode; + + @Schema(description = "鐏屾簤鍗曞厓ID") + private String unitId; + + @Schema(description = "鐏屾簤闈㈢Н") + private Integer area; + + @Schema(description = "澶囨敞") + private String remarks; + + @Schema(description = "鎵�灞為」鐩甀d") + public String projectId; + + /** + * 鎿嶄綔浜哄悕瀛� + */ + @Schema(description = "鎿嶄綔浜哄悕瀛�") + private String operatorName; + + @Schema(description = "鎿嶄綔浜篒d") + private String operator; + + /** + * 鎿嶄綔鏃堕棿 + */ + @Schema(description = "鎿嶄綔鏃堕棿") + private Date operateDt; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateUnitMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateUnitMapper.xml index a23be44..0814a5d 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateUnitMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateUnitMapper.xml @@ -1,17 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dy.pipIrrGlobal.daoIr.IrIrrigateUnitMapper"> - <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrProject"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit"> <!--@mbg.generated--> - <!--@Table ir_project--> + <!--@Table ir_irrigate_unit--> <id column="id" jdbcType="BIGINT" property="id" /> - <result column="project_name" jdbcType="VARCHAR" property="projectName" /> - <result column="province_id" jdbcType="BIGINT" property="provinceId" /> - <result column="city_id" jdbcType="BIGINT" property="cityId" /> - <result column="county_id" jdbcType="BIGINT" property="countyId" /> - <result column="town_id" jdbcType="BIGINT" property="townId" /> - <result column="village_id" jdbcType="BIGINT" property="villageId" /> - <result column="project_state" jdbcType="TINYINT" property="projectState" /> + <result column="project_id" jdbcType="BIGINT" property="projectId" /> + <result column="area" jdbcType="FLOAT" property="area" /> <result column="remarks" jdbcType="VARCHAR" property="remarks" /> <result column="operator" jdbcType="BIGINT" property="operator" /> <result column="operate_time" jdbcType="TIMESTAMP" property="operateDt" /> @@ -19,7 +14,152 @@ </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, project_name, province_id, city_id, county_id, town_id, `village_id`, project_state, remarks, `operator`, + id, project_id, area, remarks, `operator`, operate_time, deleted </sql> + + <!--娣诲姞--> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit"> + <!--@mbg.generated--> + insert into ir_irrigate_unit + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="projectId != null"> + project_id, + </if> + <if test="area != null"> + area, + </if> + <if test="remarks != null"> + remarks, + </if> + <if test="operator != null"> + `operator`, + </if> + <if test="operateDt != null"> + operate_time, + </if> + <if test="deleted != null"> + deleted, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="projectId != null"> + #{projectId,jdbcType=BIGINT}, + </if> + <if test="area != null"> + #{area,jdbcType=FLOAT}, + </if> + <if test="remarks != null"> + #{remarks,jdbcType=VARCHAR}, + </if> + <if test="operator != null"> + #{operator,jdbcType=BIGINT}, + </if> + <if test="operateDt != null"> + #{operateDt,jdbcType=TIMESTAMP}, + </if> + <if test="deleted != null"> + #{deleted,jdbcType=TINYINT}, + </if> + </trim> + </insert> + + <!--閫昏緫鍒犻櫎--> + <delete id="deleteLogicById" parameterType="java.lang.Long"> + <!--@mbg.generated--> + update ir_irrigate_unit + set deleted = 1 + where id = #{id,jdbcType=BIGINT} + </delete> + <!--淇敼涓�涓亴婧夊崟鍏�--> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit"> + update ir_irrigate_unit + <set> + <if test="projectId != null"> + project_id = #{projectId,jdbcType=BIGINT}, + </if> + <if test="area != null"> + area = #{area,jdbcType=FLOAT}, + </if> + <if test="remarks != null"> + remarks = #{remarks,jdbcType=VARCHAR}, + </if> + <if test="operator != null"> + operator = #{operator,jdbcType=BIGINT}, + </if> + <if test="operateDt != null"> + operate_time = #{operateDt,jdbcType=TIMESTAMP}, + </if> + <if test="deleted != null"> + deleted = #{deleted,jdbcType=TINYINT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <!--鏌ヤ竴涓亴婧夊崟鍏�--> + <select id="selectById" resultType="com.dy.pipIrrGlobal.voIr.VoUnitOne"> + select + CAST(pro.id AS char)AS projectId, + pro.project_name AS projectName, + CAST(uni.id AS char)AS unitId, + CAST(uni.operator AS char)AS operator, + cli.name AS operatorName, + uni.area, + uni.remarks, + uni.operate_time AS operateDt + from ir_irrigate_unit uni + left join ir_project pro on pro.id = uni.project_id + left join se_client cli on cli.id = uni.operator + where uni.id = #{id,jdbcType=BIGINT} and uni.deleted = 0 + </select> + <!--鍒嗛〉鏌ョ亴婧夊崟鍏�--> + <select id="getUnits" resultType="com.dy.pipIrrGlobal.voIr.VoUnit"> + SELECT + CAST(pro.id AS char)AS projectId, + pro.project_name AS projectName, + CAST(uni.id AS char)AS unitId, + CAST(uni.operator AS char)AS operator, + cli.name AS operatorName, + uni.area, + uni.remarks, + uni.operate_time AS operateDt + FROM ir_irrigate_unit uni + left join ir_project pro on pro.id = uni.project_id + left join se_client cli on cli.id = uni.operator + <where> + uni.deleted = 0 + <if test="projectName != null and projectName != ''"> + AND pro.project_name LIKE CONCAT('%', #{projectName}, '%') + </if> +<!-- <if test = "groupCode != null and groupCode != ''">--> +<!-- AND pro.project_state = #{groupCode}--> +<!-- </if>--> + </where> + ORDER BY uni.operate_time DESC + <if test="pageCurr != null and pageSize != null"> + LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} + </if> + </select> + <!--鍒嗛〉鏌ョ亴婧夊崟鍏冭褰曟暟--> + <select id="getRecordCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM ir_irrigate_unit uni + left join ir_project pro on pro.id = uni.project_id + left join se_client cli on cli.id = uni.operator + <where> + uni.deleted = 0 + <if test="projectName != null and projectName != ''"> + AND pro.project_name LIKE CONCAT('%', #{projectName}, '%') + </if> + <!-- <if test = "groupCode != null and groupCode != ''">--> + <!-- AND pro.project_state = #{groupCode}--> + <!-- </if>--> + </where> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java index f2b0bf9..6cd8327 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java @@ -1,12 +1,39 @@ package com.dy.pipIrrIrrigate.irrigateUnit; +import com.dy.common.aop.SsoAop; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit; +import com.dy.pipIrrGlobal.pojoIr.IrProject; +import com.dy.pipIrrGlobal.voIr.VoProject; +import com.dy.pipIrrGlobal.voIr.VoProjectOne; +import com.dy.pipIrrGlobal.voIr.VoUnit; +import com.dy.pipIrrGlobal.voIr.VoUnitOne; +import com.dy.pipIrrGlobal.voSe.VoActiveCard; +import com.dy.pipIrrIrrigate.irrigateUnit.QueryVo; +import com.dy.pipIrrIrrigate.result.IrrigateResultCode; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.MediaType; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; /** * @author :WuZeYu @@ -17,9 +44,189 @@ @Slf4j @Tag(name = "鐏屾簤鍗曞厓", description = "鐏屾簤鍗曞厓") @RestController -@RequestMapping(path = "irrigate/unit") +@RequestMapping(path = "unit") @RequiredArgsConstructor public class IrrigateUnitCtrl { @Autowired private IrrigateUnitSv irrigateUnitSv; + + /** + * 鍒涘缓鐏屾簤鍗曞厓 + * + * @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 = "add", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> add(@RequestBody @Valid IrIrrigateUnit po, BindingResult bindingResult) { + if (bindingResult != null && bindingResult.hasErrors()) { + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + try { + Integer rec = Optional.ofNullable(irrigateUnitSv.addIrrigateUnit(po)).orElse(0); + if (rec == 0) { + return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage()); + } + } catch (Exception e) { + log.error("鍒涘缓鐏屾簤鍗曞厓寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + return BaseResponseUtils.buildSuccess(true); + } + + /** + * 閫昏緫鍒犻櫎鐏屾簤鍗曞厓 + * @param map + * @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 = "delete", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> delete(@RequestBody Map map) { + if (map == null || map.size() <= 0) { + BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_PROJECT_ID.getMessage()); + } + Long unitId = Long.parseLong(map.get("unitId").toString()); + try { + Integer rows = irrigateUnitSv.deleteUnit(unitId); + if (rows == 0) { + return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage()); + } + } catch (Exception e) { + log.error("鍒犻櫎鐏屾簤鍗曞厓寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + return BaseResponseUtils.buildSuccess(true); + } + + /** + * 鎵归噺鍒犻櫎 + * @param unitIds + * @return + */ + @PostMapping(path = "delete_batch", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> delete_batch(@RequestBody Map<String, List> unitIds) { + if (unitIds == null || unitIds.size() <= 0) { + BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_PROJECT_ID.getMessage()); + } + List ids = unitIds.get("unitIds"); + for (int i = 0; i < ids.size(); i++) { + long unitId = Long.parseLong(ids.get(i).toString()); + try { + Integer rows = irrigateUnitSv.deleteUnit(unitId); + if (rows == 0) { + return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage()); + } + } catch (Exception e) { + log.error("鍒犻櫎鐏屾簤鍗曞厓寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } + return BaseResponseUtils.buildSuccess(true); + } + + /** + * 淇敼鐏屾簤鍗曞厓 + * @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 IrIrrigateUnit po, BindingResult bindingResult){ + if (bindingResult != null && bindingResult.hasErrors()) { + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + try { + Integer rec = Optional.ofNullable(irrigateUnitSv.updateUnit(po)).orElse(0); + if (rec == 0) { + return BaseResponseUtils.buildFail(IrrigateResultCode.UPDATE_PROJECT_FAIL.getMessage()); + } + } catch (Exception e) { + log.error("淇敼鐏屾簤鍗曞厓寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + return BaseResponseUtils.buildSuccess(true); + } + + /** + * 鑾峰彇涓�涓亴婧夊崟鍏� + * + * @return 鑾峰彇涓�涓亴婧夊崟鍏� + */ + @Operation(summary = "鑾峰彇涓�涓亴婧夊崟鍏�", description = "鑾峰彇涓�涓亴婧夊崟鍏�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "鑾峰彇涓�涓亴婧夊崟鍏冿紙BaseResponse.content:{}锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = IrIrrigateUnit.class))} + ) + }) + @GetMapping(path = "one") + @SsoAop() + public BaseResponse<VoUnitOne> one(@RequestParam Long id) { + VoUnitOne irIrrigateUnit = this.irrigateUnitSv.selectById(id); + + return BaseResponseUtils.buildSuccess(irIrrigateUnit); + + } + + /** + * 鍒嗛〉鏌ヨ + * @param vo + * @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 = VoActiveCard.class))} + ) + }) + @GetMapping(path = "some") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoUnit>>> getUnits(QueryVo vo) { + try { + QueryResultVo<List<VoUnit>> res = irrigateUnitSv.getUnits(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇鐏屾簤鍗曞厓璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitSv.java index 3ce61e4..620ae40 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitSv.java @@ -1,7 +1,23 @@ package com.dy.pipIrrIrrigate.irrigateUnit; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoIr.IrIrrigateUnitMapper; +import com.dy.pipIrrGlobal.daoIr.IrProjectMapper; +import com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit; +import com.dy.pipIrrGlobal.pojoIr.IrProject; +import com.dy.pipIrrGlobal.voIr.VoProject; +import com.dy.pipIrrGlobal.voIr.VoProjectOne; +import com.dy.pipIrrGlobal.voIr.VoUnit; +import com.dy.pipIrrGlobal.voIr.VoUnitOne; +import com.dy.pipIrrIrrigate.irrigateUnit.QueryVo; 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.List; +import java.util.Map; /** * @author :WuZeYu @@ -12,4 +28,77 @@ @Slf4j @Service public class IrrigateUnitSv { + + @Autowired + private IrIrrigateUnitMapper irIrrigateUnitMapper; + + /** + * 鍒涘缓鐏屾簤鍗曞厓 + * + * @param po + * @return + */ + public Integer addIrrigateUnit(IrIrrigateUnit po) { + po.setOperateDt(new Date()); + po.setDeleted((byte) 0); + int rows = irIrrigateUnitMapper.insertSelective(po); + if (rows == 0) { + return 0; + } + return 1; + } + + /** + * 鍒犻櫎鐏屾簤鍗曞厓 + * + * @param id + */ + public Integer deleteUnit(Long id) { + int rows = irIrrigateUnitMapper.deleteLogicById(id); + if (rows == 0) { + return 0; + } + return 1; + } + + /** + * 淇敼鐏屾簤鍗曞厓 + * @param po + * @return + */ + public Integer updateUnit(IrIrrigateUnit po){ + po.setOperateDt(new Date()); + int rows = irIrrigateUnitMapper.updateByPrimaryKeySelective(po); + if (rows == 0){ + return 0; + } + return 1; + } + + /** + * 鑾峰彇涓�涓亴婧夊崟鍏� + * @param id + * @return + */ + public VoUnitOne selectById(Long id){ + VoUnitOne unit = irIrrigateUnitMapper.selectById(id); + return unit; + } + + /** + * 鍒嗛〉鏌ヨ椤圭洰 + * @param queryVo + * @return + */ + public QueryResultVo<List<VoUnit>> getUnits(QueryVo queryVo){ + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + Long itemTotal = irIrrigateUnitMapper.getRecordCount(params); + + QueryResultVo<List<VoUnit>> rsVo = new QueryResultVo<>(); + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = irIrrigateUnitMapper.getUnits(params); + return rsVo; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/QueryVo.java new file mode 100644 index 0000000..bba1fb9 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/QueryVo.java @@ -0,0 +1,26 @@ +package com.dy.pipIrrIrrigate.irrigateUnit; + +import com.dy.common.webUtil.QueryConditionVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +/** + * @author :WuZeYu + * @Date :2024/5/15 21:11 + * @LastEditTime :2024/5/15 21:11 + * @Description + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Schema(name = "椤圭洰鏌ヨ鏉′欢") +public class QueryVo extends QueryConditionVo { + @Schema(description = "椤圭洰鍚嶇О") + public String projectName; + + @Schema(description = "杞綈缁勫悕绉�") + public String groupCode; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java index 8d4670b..2dec946 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java @@ -23,6 +23,11 @@ NO_PROJECT(10005, "鏃犵鍚堟潯浠剁殑椤圭洰璁板綍"); +// /** +// * 鐏屾簤鍗曞厓 +// */ +// ADD_IRRIGATE_UNIT_FAIL(20001, "鍒涘缓鐏屾簤鍗曞厓澶辫触"), + private final Integer code; private final String message; } -- Gitblit v1.8.0