From eef1bac64a0080f8f609312e31f63280b85e62d6 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 26 一月 2024 20:26:12 +0800
Subject: [PATCH] 2024-01-26 朱宝民 添加获取卡列表接口,应用程序使用
---
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java | 2
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 58 ++++++++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards.java | 45 +++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java | 33 ++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 15 +++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java | 33 ++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards.java | 31 +++++++
7 files changed, 217 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 946c184..b329fa7 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,6 +3,7 @@
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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -92,4 +93,18 @@
* @return
*/
String getCardStateByCardNum(@Param("cardNum") Long cardNum);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤
+ * @param params
+ * @return
+ */
+ Long getCardsCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�
+ * @param params
+ * @return
+ */
+ List<VoCards> getCards(Map<?, ?> params);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards.java
new file mode 100644
index 0000000..2ec42d9
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCards.java
@@ -0,0 +1,45 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-26 18:52
+ * @LastEditTime 2024-01-26 18:52
+ * @Description 搴旂敤绋嬪簭涓娇鐢紝鏌ヨ鏉′欢涓猴細鍐滄埛缂栧彿銆佸啘鎴峰鍚嶃�佹按鍗$紪鍙�
+ */
+
+@Data
+@Schema(title = "鍐滄埛鍗¤鍥惧璞�")
+public class VoCards implements BaseEntity {
+ private static final long serialVersionUID = 202401261853001L;
+
+ @Schema(title = "鍐滄埛缂栧彿")
+ private String clientNum;
+
+ @Schema(title = "鍐滄埛濮撳悕")
+ private String clientName;
+
+ @Schema(title = "姘村崱缂栧彿")
+ private String cardNum;
+
+ @Schema(title = "鐢佃瘽鍙风爜")
+ private Float phone;
+
+ @Schema(title = "韬唤璇佸彿鐮�")
+ private Float idCard;
+
+ @Schema(title = "姘村崱鐘舵��")
+ private Float 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 b84d83e..a58be27 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -319,4 +319,62 @@
FROM se_client_card
WHERE cardNum = ${cardNum}
</select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
+ <select id="getCardsCount" parameterType="java.util.Map" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM se_client_card card
+ INNER JOIN se_client cli ON card.clientId = cli.id
+ <where>
+ <if test = "clientNum != null and clientNum !=''">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+ </if>
+
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "cardNum != null and cardNum !=''">
+ AND card.cardNum like CONCAT('%',#{cardNum},'%')
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�-->
+ <select id="getCards" resultType="com.dy.pipIrrGlobal.voSe.VoCards">
+ SELECT
+ 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,
+ card.money
+ FROM se_client_card card
+ INNER JOIN se_client cli ON card.clientId = cli.id
+ <where>
+ <if test = "clientNum != null and clientNum !=''">
+ AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+ </if>
+
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "cardNum != null and cardNum !=''">
+ AND card.cardNum like CONCAT('%',#{cardNum},'%')
+ </if>
+ </where>
+ ORDER BY card.id
+ <if test="pageCurr != null and pageSize != null">
+ LIMIT ${pageCurr}, ${pageSize}
+ </if>
+ </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 d0abec4..01b56eb 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
@@ -7,6 +7,9 @@
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.voSe.VoCardInfo;
+import com.dy.pipIrrGlobal.voSe.VoCards;
+import com.dy.pipIrrSell.clientCard.qo.QoCards;
+import com.dy.pipIrrSell.result.SellResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -113,4 +116,34 @@
return BaseResponseUtils.buildException(e.getMessage()) ;
}
}
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�
+ * @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 = BaClient.class))}
+ )
+ })
+ @GetMapping(path = "getcards")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoCards>>> getcards(QoCards vo){
+ try {
+ QueryResultVo<List<VoCards>> res = clientCardSv.getCards(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 8517231..7cc032e 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
@@ -1,9 +1,13 @@
package com.dy.pipIrrSell.clientCard;
+import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voSe.VoCardInfo;
+import com.dy.pipIrrGlobal.voSe.VoCards;
+import com.dy.pipIrrSell.clientCard.qo.QoCards;
import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -107,4 +111,33 @@
String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse("");
return stateName;
}
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoCards>> getCards(QoCards queryVo){
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
+ Long itemTotal = seClientCardMapper.getCardsCount(params);
+
+ QueryResultVo<List<VoCards>> rsVo = new QueryResultVo<>() ;
+ Integer pageCurr = 0;
+ Integer pageSize = 10000;
+ rsVo.pageCurr = 1;
+ rsVo.pageSize = 10000;
+ if(queryVo.pageSize != null && queryVo.pageCurr != null) {
+ rsVo.pageSize = queryVo.pageSize ;
+ rsVo.pageCurr = queryVo.pageCurr;
+ pageSize = queryVo.pageSize ;
+ pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+ }
+ params.put("pageCurr", pageCurr);
+ params.put("pageSize", pageSize);
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seClientCardMapper.getCards(params);
+
+ return rsVo ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards.java
new file mode 100644
index 0000000..9a577f5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/qo/QoCards.java
@@ -0,0 +1,31 @@
+package com.dy.pipIrrSell.clientCard.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-26 19:11
+ * @LastEditTime 2024-01-26 19:11
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "姘村崱璁板綍鏌ヨ鏉′欢")
+public class QoCards extends QueryConditionVo {
+
+ @Schema(description = "鍐滄埛缂栧彿")
+ public Long clientNum;
+
+ @Schema(description = "鍐滄埛濮撳悕")
+ private String clientName;
+
+ @Schema(description = "姘村崱缂栧彿")
+ public Long cardNum;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
index f07303a..a133cce 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -27,6 +27,8 @@
No_ActiveCards(10009, "娌℃湁绗﹀悎鏉′欢鐨勫紑鍗℃暟鎹�"),
No_ReissueCards(10010, "娌℃湁绗﹀悎鏉′欢鐨勮ˉ鍗℃暟鎹�"),
+ THE_CARD_NOT_EXIST(10011, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
+
/**
* 鍏呭��
*/
--
Gitblit v1.8.0