From b7ea296dcc09cf12a11aa1b649401f77b5520215 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期一, 25 十二月 2023 20:00:40 +0800 Subject: [PATCH] 2023-12-25 朱宝民 农户对象查询一个、删除一个、修改一个 --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java | 123 ++++++++++++++++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java | 3 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java | 14 +++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java | 6 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 22 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java | 28 +++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java | 36 +++++++++ 8 files changed, 232 insertions(+), 6 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java index 6bb8ed0..304af36 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java @@ -64,4 +64,18 @@ * @return */ List<VoClient> getClients(Map<?, ?> params); + + /** + * 鏍规嵁鍐滄埛ID閫昏緫鍒犻櫎鍐滄埛 + * @param id 鍐滄埛ID + * @return 閫昏緫鍒犻櫎璁板綍鏁� + */ + Integer deleteClientById(@Param("id") Long id); + + /** + * 鏍规嵁涓婚敭鑾峰彇鏉慖D + * @param id 鍐滄埛ID + * @return 鏉戜富閿� + */ + Long getVillageIdById(@Param("id") Long id); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java index 9e38e29..250d9d4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java @@ -9,9 +9,7 @@ import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.dy.common.po.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.*; @@ -168,12 +166,14 @@ @Schema(description = "鏄惁绂佺敤", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Max(message = "鏄惁绂佺敤鍙兘0鎴�1", value = 1) @Min(message = "鏄惁绂佺敤鍙兘0鎴�1",value = 0) + @TableField(updateStrategy = FieldStrategy.NEVER) private Byte disabled; /** * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎 */ @Schema(description = "鍒犻櫎鏍囪瘑锛宖orm琛ㄥ崟涓笉瀛樺湪锛屽彧鍦ㄦ煡璇㈡樉绀轰腑鏈夋晥", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @TableField(updateStrategy = FieldStrategy.NEVER) private Byte deleted; } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml index b576c6d..ce8f63e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml @@ -260,9 +260,10 @@ address = #{address,jdbcType=VARCHAR}, remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, - operateDt = #{operatedt,jdbcType=TIMESTAMP}, - disabled = #{disabled,jdbcType=TINYINT}, - deleted = #{deleted,jdbcType=TINYINT} + operateDt = #{operatedt,jdbcType=TIMESTAMP} +<!-- ,--> +<!-- disabled = #{disabled,jdbcType=TINYINT},--> +<!-- deleted = #{deleted,jdbcType=TINYINT}--> where id = #{id,jdbcType=BIGINT} </update> @@ -347,4 +348,19 @@ <select id="getClientIdByNum" resultType="java.lang.Long"> SELECT id FROM se_client WHERE clientNum = ${clientNum} </select> + + <!--鏍规嵁鍐滄埛ID閫昏緫鍒犻櫎鍐滄埛--> + <update id="deleteClientById" parameterType="java.lang.Long"> + update se_client set deleted = 1 + <where> + <if test = "id != null and id > 0"> + AND id = ${id} + </if> + </where> + </update> + + <!--鏍规嵁涓婚敭鑾峰彇鏉慖D--> + <select id="getVillageIdById" parameterType="java.lang.Long" resultType="java.lang.Long"> + SELECT villageId FROM se_client WHERE id = ${id} + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java index bcccdf0..1dce9cb 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java @@ -61,6 +61,28 @@ } } + @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<VoClient> getOneClient(@PathVariable("id") Long id){ + try { + VoClient res = clientSv.getOneClient(id); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鏌ヨ鍐滄埛寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + @Operation(summary = "娣诲姞鍐滄埛璁板綍", description = "娣诲姞鍐滄埛璁板綍") @ApiResponses(value = { @ApiResponse( @@ -153,4 +175,105 @@ return clientNum; } + /** + * 淇敼鍐滄埛瀵硅薄 + * @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 DtoClient 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(clientSv.getDistrictsByVillageId(villageId)).orElse(new HashMap()); + if(map_districts.size() <= 0) { + return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎"); + } + + String provinceNum = map_districts.get("provinceNum").toString(); + String cityNum = map_districts.get("cityNum").toString(); + Long countryId = Long.parseLong(map_districts.get("countryId").toString()); + String countyNum = map_districts.get("countyNum").toString(); + String countryName = map_districts.get("countryName").toString(); + Long townId = Long.parseLong(map_districts.get("townId").toString()); + String townNum = map_districts.get("townNum").toString(); + String townName = map_districts.get("townName").toString(); + String villageNum = map_districts.get("villageNum").toString(); + String villageName = map_districts.get("villageName").toString(); + + // 鐢熸垚8浣嶈鏀垮尯鍒掔紪鐮侊紝鐢熸垚鍐滄埛缂栧彿鐢� + String district8 = countyNum + townNum + villageNum; + // 鐢熸垚鍐滄埛缂栧彿 + String clientNum = generateClientNum(district8); + // 鐢熸垚12浣�5绾ц鏀垮尯鍒掔紪鐮佷覆鍙婂悕绉颁覆 + Long districtNum = Long.parseLong(provinceNum + cityNum + district8); + String districtTitle = countryName + townName + villageName; + + SeClient seClient = DtoClientToSeClient.INSTANCT.po2vo(po); + seClient.setCountyid(countryId); + seClient.setTownid(townId); + seClient.setClientnum(clientNum); + seClient.setDistrictnum(districtNum); + seClient.setDistricttitle(districtTitle); + Date operateTime = new Date(); + seClient.setOperatedt(operateTime); + // + //seClient.setDisabled((byte)0); + //seClient.setDeleted((byte)0); + + Integer rec = Optional.ofNullable(clientSv.updateByPrimaryKey(seClient)).orElse(0); + if(rec == 0) { + return BaseResponseUtils.buildFail("娣诲姞鍐滄埛澶辫触"); + } + return BaseResponseUtils.buildSuccess(true) ; + } + + /** + * 鏍规嵁鍐滄埛ID閫昏緫鍒犻櫎鍐滄埛 + * @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> deleteClientById(@PathVariable("id") Long id){ + try { + Integer res = Optional.ofNullable(clientSv.deleteClientById(id)).orElse(0); + if(res == 0) { + return BaseResponseUtils.buildFail("鍐滄埛鍒犻櫎澶辫触"); + } + return BaseResponseUtils.buildSuccess(true); + } catch (Exception e) { + log.error("鏌ヨ鍐滄埛寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java index eb16e9d..21811c8 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java @@ -48,6 +48,16 @@ } /** + * 鏍规嵁涓婚敭鑾峰彇鍐滄埛瀵硅薄 + * @param id 鍐滄埛涓婚敭 + * @return 鍐滄埛瀵硅薄 + */ + public VoClient getOneClient(Long id) { + SeClient seClient = seClientMapper.selectByPrimaryKey(id); + VoClient voClient = SeClientToVoClient.INSTANCT.po2vo(seClient); + return voClient; + } + /** * 澧炲紑鍐滄埛 * @param po * @return @@ -73,4 +83,30 @@ public Map getDistrictsByVillageId(Long villageId) { return baDistrictMapper.getDistrictsByVillageId(villageId); } + + /** + * 鏍规嵁鍐滄埛ID閫昏緫鍒犻櫎鍐滄埛 + */ + public Integer deleteClientById(Long id) { + return seClientMapper.deleteClientById(id); + } + + /** + * 淇敼鍐滄埛瀵硅薄 + * @param po 鍐滄埛瀵硅薄 + * @return 淇敼璁板綍鏉℃暟 + */ + public Integer updateByPrimaryKey(SeClient po) { + return seClientMapper.updateByPrimaryKey(po); + } + + /** + * 鏍规嵁涓婚敭鑾峰彇鏉慖D + * @param id + * @return + */ + public Long getVillageIdById(Long id) { + return seClientMapper.getVillageIdById(id); + } + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java index 7d417ca..350925d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java @@ -22,6 +22,12 @@ public static final long serialVersionUID = 1L; /** + * ID + */ + @Schema(description = "鍐滄埛ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + /** * 鏉慖D */ @Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java index 2130c60..8dbabb5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java @@ -26,5 +26,8 @@ @Mapping(target = "address", source = "address") @Mapping(target = "remarks", source = "remarks") @Mapping(target = "operator", source = "operator") + + @Mapping(target = "disabled", ignore=true) + @Mapping(target = "deleted", ignore=true) SeClient po2vo(DtoClient po); } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java new file mode 100644 index 0000000..dfd265e --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java @@ -0,0 +1,28 @@ +package com.dy.pipIrrSell.client; + +import com.dy.pipIrrGlobal.pojoSe.SeClient; +import com.dy.pipIrrGlobal.voSe.VoClient; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.factory.Mappers; + +/** + * @author ZhuBaoMin + * @date 2023-12-25 15:54 + * @LastEditTime 2023-12-25 15:54 + * @Description + */ + +@Mapper +public interface SeClientToVoClient { + SeClientToVoClient INSTANCT = Mappers.getMapper(SeClientToVoClient.class); + + @Mapping(target = "name", source = "name") + @Mapping(target = "clientNum", source = "clientnum") + @Mapping(target = "phone", source = "phone") + @Mapping(target = "idCard", source = "idcard") + //@Mapping(target = "cardCount", source = "cardCount") + @Mapping(target = "address", source = "address") + @Mapping(target = "operateDt", source = "operatedt") + VoClient po2vo(SeClient po); +} -- Gitblit v1.8.0