From e371b44dd7cffd4434adbf63acd0bcd65ed00d00 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期四, 27 六月 2024 09:43:51 +0800 Subject: [PATCH] 1. 营销模块下根据农户姓名、电话查询正常状态的水卡列表; 2. 小程序模块下根据农户ID获取正常状态的水卡列表 --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardCtrl.java | 49 ++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards2.java | 49 ++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 80 +++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java | 23 +++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardSv.java | 32 +++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 25 ++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voWe/VoCards3.java | 49 ++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java | 21 +++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards2.java | 25 ++++ 9 files changed, 353 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java index a317354..e16cd6b 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java @@ -3,7 +3,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voSe.VoCardInfo; + import com.dy.pipIrrGlobal.voSe.VoCards; +import com.dy.pipIrrGlobal.voSe.VoCards2; +import com.dy.pipIrrGlobal.voWe.VoCards3; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -126,4 +129,26 @@ * @return 绗﹀悎鏉′欢璁板綍鏁帮紝鏈�澶氫竴鏉� */ Integer isLostAndUnreplaced(@Param("cardNum") Long cardNum); + + /** + * 鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤 + * @param params + * @return + */ + Long getCardsByClientNameAndPhoneCount(Map<?, ?> params); + + /** + * 鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢� + * @param params + * @return + */ + List<VoCards2> getCardsByClientNameAndPhone(Map<?, ?> params); + + + /** + * 鏍规嵁鍐滄埛ID鏌ヨ姝e父鐘舵�佺殑姘村崱鍒楄〃,灏忕▼搴忎娇鐢� + * @param clientId + * @return + */ + List<VoCards3> getCardsByClientID(String clientId); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards2.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards2.java new file mode 100644 index 0000000..de9a14f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards2.java @@ -0,0 +1,49 @@ +package com.dy.pipIrrGlobal.voSe; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author :WuZeYu + * @Date :2024/6/26 17:14 + * @LastEditTime :2024/6/26 17:14 + * @Description + */ +@Data +@Schema(title = "鍐滄埛鍗¤鍥惧璞�") +public class VoCards2 { + private static final long serialVersionUID = 202406261715001L; + + @Schema(title = "姘村崱ID") + private String clientCardId; + + @Schema(title = "鍐滄埛ID") + private String clientId; + + @Schema(title = "鍐滄埛缂栧彿") + private String clientNum; + + @Schema(title = "鍐滄埛濮撳悕") + private String clientName; + + @Schema(title = "姘村崱缂栧彿") + private String cardNum; + + @Schema(title = "鐢佃瘽鍙风爜") + private String phone; + + @Schema(title = "韬唤璇佸彿鐮�") + private String idCard; + + @Schema(title = "姘村崱鐘舵��") + private Integer cardState; + + @Schema(title = "姘村崱鐘舵�佸悕绉�") + private String stateName; + + @Schema(title = "姘村崱绫诲瀷") + private String cardType; + + @Schema(title = "浣欓") + private String money; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voWe/VoCards3.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voWe/VoCards3.java new file mode 100644 index 0000000..803ea6c --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voWe/VoCards3.java @@ -0,0 +1,49 @@ +package com.dy.pipIrrGlobal.voWe; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author :WuZeYu + * @Date :2024/6/26 17:14 + * @LastEditTime :2024/6/26 17:14 + * @Description + */ +@Data +@Schema(title = "鍐滄埛鍗¤鍥惧璞�") +public class VoCards3 { + private static final long serialVersionUID = 202406261715001L; + + @Schema(title = "姘村崱ID") + private String clientCardId; + + @Schema(title = "鍐滄埛ID") + private String clientId; + + @Schema(title = "鍐滄埛缂栧彿") + private String clientNum; + + @Schema(title = "鍐滄埛濮撳悕") + private String clientName; + + @Schema(title = "姘村崱缂栧彿") + private String cardNum; + + @Schema(title = "鐢佃瘽鍙风爜") + private String phone; + + @Schema(title = "韬唤璇佸彿鐮�") + private String idCard; + + @Schema(title = "姘村崱鐘舵��") + private Integer cardState; + + @Schema(title = "姘村崱鐘舵�佸悕绉�") + private String stateName; + + @Schema(title = "姘村崱绫诲瀷") + private String cardType; + + @Schema(title = "浣欓") + private String money; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml index 20ef3f8..8a2ea9f 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml @@ -448,5 +448,85 @@ </if> </where> </select> + <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤--> + <select id="getCardsByClientNameAndPhoneCount" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM se_client_card card + INNER JOIN se_client cli ON card.clientId = cli.id + <where> + card.state = 1 + <if test = "clientName != null and clientName !=''"> + AND cli.name like CONCAT('%',#{clientName},'%') + </if> + <if test = "phone != null and phone !=''"> + AND cli.phone like CONCAT('%',#{phone},'%') + </if> + </where> + </select> + <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�--> + <select id="getCardsByClientNameAndPhone" resultType="com.dy.pipIrrGlobal.voSe.VoCards2"> + SELECT + card.id AS clientCardId, + cli.id AS clientId, + cli.clientNum, + cli.name AS clientName, + card.cardNum, + cli.phone, + cli.idCard, + card.state AS cardState, + (CASE + WHEN card.state = 1 THEN '姝e父' + WHEN card.state = 2 THEN '宸叉敞閿�' + WHEN card.state = 3 THEN '宸叉寕澶�' + End) AS stateName, + '鍐滄埛鍗�' AS cardType, + FORMAT(card.money, 2) AS money + FROM se_client_card card + INNER JOIN se_client cli ON card.clientId = cli.id + <where> + card.state = 1 + <if test = "clientName != null and clientName !=''"> + AND cli.name like CONCAT('%',#{clientName},'%') + </if> + + <if test = "phone != null and phone !=''"> + AND cli.phone like CONCAT('%',#{phone},'%') + </if> + </where> + ORDER BY card.id + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--鏍规嵁鍐滄埛ID鏌ヨ姝e父鐘舵�佺殑姘村崱鍒楄〃,灏忕▼搴忎娇鐢�--> + <select id="getCardsByClientID" resultType="com.dy.pipIrrGlobal.voWe.VoCards3"> + SELECT + card.id AS clientCardId, + cli.id AS clientId, + cli.clientNum, + cli.name AS clientName, + card.cardNum, + cli.phone, + cli.idCard, + card.state AS cardState, + (CASE + WHEN card.state = 1 THEN '姝e父' + WHEN card.state = 2 THEN '宸叉敞閿�' + WHEN card.state = 3 THEN '宸叉寕澶�' + End) AS stateName, + '鍐滄埛鍗�' AS cardType, + FORMAT(card.money, 2) AS money + FROM se_client_card card + INNER JOIN se_client cli ON card.clientId = cli.id + where + card.state = 1 + AND cli.id like CONCAT('%',#{clientId},'%') + + + ORDER BY card.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/clientCard/ClientCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java index 93901fd..6a3ff0d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java @@ -8,7 +8,9 @@ import com.dy.pipIrrGlobal.pojoBa.BaClient; import com.dy.pipIrrGlobal.voSe.VoCardInfo; import com.dy.pipIrrGlobal.voSe.VoCards; +import com.dy.pipIrrGlobal.voSe.VoCards2; import com.dy.pipIrrSell.clientCard.qo.QoCards; +import com.dy.pipIrrSell.clientCard.qo.QoCards2; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; @@ -176,4 +178,25 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + /** + * 鏍规嵁鍐滄埛濮撳悕銆佺數璇濇煡璇㈡甯哥姸鎬佺殑姘村崱鍒楄〃 + * @param vo + * @return + */ + @GetMapping(path = "getCardsByClientNameAndPhone") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoCards2>>> getCardsByClientNameAndPhone(QoCards2 vo){ + try { + QueryResultVo<List<VoCards2>> res = clientCardSv.getCardsByClientNameAndPhone(vo); + if(res.itemTotal != null && res.itemTotal > 0) { + return BaseResponseUtils.buildSuccess(res); + }else { + return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_EXIST.getMessage()); + } + } 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/clientCard/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java index 1951ae5..41af87c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java @@ -5,7 +5,9 @@ import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voSe.VoCardInfo; import com.dy.pipIrrGlobal.voSe.VoCards; +import com.dy.pipIrrGlobal.voSe.VoCards2; import com.dy.pipIrrSell.clientCard.qo.QoCards; +import com.dy.pipIrrSell.clientCard.qo.QoCards2; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -149,4 +151,23 @@ return rsVo ; } + + /** + * 鏍规嵁鍐滄埛濮撳悕銆佺數璇濇煡璇㈡甯哥姸鎬佺殑姘村崱鍒楄〃 + * @param queryVo + * @return + */ + public QueryResultVo<List<VoCards2>> getCardsByClientNameAndPhone(QoCards2 queryVo){ + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ; + Long itemTotal = seClientCardMapper.getCardsByClientNameAndPhoneCount(params); + + QueryResultVo<List<VoCards2>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = seClientCardMapper.getCardsByClientNameAndPhone(params); + + return rsVo ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards2.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards2.java new file mode 100644 index 0000000..a24893d --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards2.java @@ -0,0 +1,25 @@ +package com.dy.pipIrrSell.clientCard.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +/** + * @author wuzeyu + */ + +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Schema(name = "姘村崱璁板綍鏌ヨ鏉′欢") +public class QoCards2 extends QueryConditionVo { + + @Schema(description = "鍐滄埛濮撳悕") + private String clientName; + + @Schema(description = "鎵嬫満鍙�") + private String phone; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardCtrl.java new file mode 100644 index 0000000..a697a95 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardCtrl.java @@ -0,0 +1,49 @@ +package com.dy.pipIrrWechat.client; + +import com.dy.common.aop.SsoAop; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.pipIrrGlobal.voWe.VoCards3; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author :WuZeYu + * @Date :2024/6/26 15:58 + * @LastEditTime :2024/6/26 15:58 + * @Description + */ + +@Slf4j +@Tag(name = "鍐滄埛姘村崱鎿嶄綔", description = "鍐滄埛姘村崱鎿嶄綔") +@RestController +@RequestMapping(path="clientCard") +public class ClientCardCtrl { + @Autowired + private ClientCardSv clientCardSv; + + /** + * 鏍规嵁鍐滄埛ID鏌ヨ姝e父鐘舵�佺殑姘村崱鍒楄〃 + * @param clientId + * @return + */ + @GetMapping(path = "getCardsByClientID") + @SsoAop() + public BaseResponse<List<VoCards3>> getCardsByClientID(String clientId){ + try { + List<VoCards3> res = clientCardSv.getCardsByClientID(clientId); + + return BaseResponseUtils.buildSuccess(res); + + } catch (Exception e) { + log.error("鏌ヨ姘村崱寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardSv.java new file mode 100644 index 0000000..043abf9 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCardSv.java @@ -0,0 +1,32 @@ +package com.dy.pipIrrWechat.client; + +import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; +import com.dy.pipIrrGlobal.voWe.VoCards3; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author :WuZeYu + * @Date :2024/6/26 16:05 + * @LastEditTime :2024/6/26 16:05 + * @Description + */ +@Slf4j +@Service +public class ClientCardSv { + + @Autowired + private SeClientCardMapper seClientCardMapper; + /** + * 鏍规嵁鍐滄埛ID鏌ヨ姝e父鐘舵�佺殑姘村崱鍒楄〃 + * @param clientId + * @return + */ + public List<VoCards3> getCardsByClientID(String clientId){ + + return seClientCardMapper.getCardsByClientID(clientId); + } +} -- Gitblit v1.8.0