From 742b6bbac1b4609386817a6e6fb489ec098a5490 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 21 一月 2025 18:29:44 +0800
Subject: [PATCH] 重构获取分水房详情接口
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 222 insertions(+), 9 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
index 15614b3..e758d80 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
@@ -5,20 +5,26 @@
<!--@mbg.generated-->
<!--@Table se_virtual_card-->
<id column="id" jdbcType="BIGINT" property="id" />
+ <result column="vc_num" jdbcType="BIGINT" property="vcNum" />
<result column="client_id" jdbcType="BIGINT" property="clientId" />
<result column="money" jdbcType="FLOAT" property="money" />
+ <result column="state" jdbcType="TINYINT" property="state" />
<result column="last_operate" jdbcType="TINYINT" property="lastOperate" />
<result column="last_operate_time" jdbcType="TIMESTAMP" property="lastOperateTime" />
+ <result column="in_use" jdbcType="TINYINT" property="inUse" />
+ <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+ <result column="open_time" jdbcType="TIMESTAMP" property="openTime" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
- id, client_id, money, last_operate, last_operate_time, create_time
+ id, vc_num, client_id, money, state, last_operate, last_operate_time, in_use, intake_id, open_time, create_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
- <include refid="Base_Column_List" />
+<!-- <include refid="Base_Column_List" />-->
+ *
from se_virtual_card
where id = #{id,jdbcType=BIGINT}
</select>
@@ -29,12 +35,12 @@
</delete>
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
<!--@mbg.generated-->
- insert into se_virtual_card (id, client_id, money,
- last_operate, last_operate_time, create_time
- )
- values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{money,jdbcType=FLOAT},
- #{lastOperate,jdbcType=TINYINT}, #{lastOperateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}
- )
+ insert into se_virtual_card (id, vc_num, client_id,
+ money, state, last_operate, last_operate_time,
+ in_use, intake_id, open_time, create_time)
+ values (#{id,jdbcType=BIGINT}, #{vcNum,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT},
+ #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{lastOperate,jdbcType=TINYINT}, #{lastOperateTime,jdbcType=TIMESTAMP},
+ #{inUse,jdbcType=TINYINT}, #{intakeId,jdbcType=BIGINT},#{openTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
<!--@mbg.generated-->
@@ -43,17 +49,32 @@
<if test="id != null">
id,
</if>
+ <if test="vcNum != null">
+ vc_num,
+ </if>
<if test="clientId != null">
client_id,
</if>
<if test="money != null">
money,
</if>
+ <if test="state != null">
+ state,
+ </if>
<if test="lastOperate != null">
last_operate,
</if>
<if test="lastOperateTime != null">
last_operate_time,
+ </if>
+ <if test="inUse != null">
+ in_use,
+ </if>
+ <if test="intakeId != null">
+ intake_id,
+ </if>
+ <if test="openTime != null">
+ open_time,
</if>
<if test="createTime != null">
create_time,
@@ -63,17 +84,32 @@
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
+ <if test="vcNum != null">
+ #{vcNum,jdbcType=BIGINT},
+ </if>
<if test="clientId != null">
#{clientId,jdbcType=BIGINT},
</if>
<if test="money != null">
#{money,jdbcType=FLOAT},
</if>
+ <if test="state != null">
+ #{state,jdbcType=TINYINT},
+ </if>
<if test="lastOperate != null">
#{lastOperate,jdbcType=TINYINT},
</if>
<if test="lastOperateTime != null">
#{lastOperateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="inUse != null">
+ #{inUse,jdbcType=TINYINT},
+ </if>
+ <if test="intakeId != null">
+ #{intakeId,jdbcType=BIGINT},
+ </if>
+ <if test="openTime != null">
+ #{openTime,jdbcType=TIMESTAMP},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
@@ -84,17 +120,32 @@
<!--@mbg.generated-->
update se_virtual_card
<set>
+ <if test="vcNum != null">
+ vc_num = #{vcNum,jdbcType=BIGINT},
+ </if>
<if test="clientId != null">
client_id = #{clientId,jdbcType=BIGINT},
</if>
<if test="money != null">
money = #{money,jdbcType=FLOAT},
</if>
+ <if test="state != null">
+ state = #{state,jdbcType=TINYINT},
+ </if>
<if test="lastOperate != null">
last_operate = #{lastOperate,jdbcType=TINYINT},
</if>
<if test="lastOperateTime != null">
last_operate_time = #{lastOperateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="inUse != null">
+ in_use = #{inUse,jdbcType=TINYINT},
+ </if>
+ <if test="intakeId != null">
+ intake_id = #{intakeId,jdbcType=BIGINT},
+ </if>
+ <if test="openTime != null">
+ open_time = #{openTime,jdbcType=TIMESTAMP},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
@@ -105,12 +156,174 @@
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
<!--@mbg.generated-->
update se_virtual_card
- set client_id = #{clientId,jdbcType=BIGINT},
+ set vc_num = #{vcNum,jdbcType=BIGINT},
+ client_id = #{clientId,jdbcType=BIGINT},
money = #{money,jdbcType=FLOAT},
+ state = #{state,jdbcType=TINYINT},
last_operate = #{lastOperate,jdbcType=TINYINT},
last_operate_time = #{lastOperateTime,jdbcType=TIMESTAMP},
+ in_use = #{inUse,jdbcType=TINYINT},
+ intake_id = #{intakeId,jdbcType=BIGINT},
+ open_time = #{openTime,jdbcType=TIMESTAMP},
create_time = #{createTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
+ <update id="updateVcCardNoUseStateByIntakeId">
+ update se_virtual_card
+ set in_use = 0,
+ intake_id = null
+ where intake_id = #{intakeId,jdbcType=BIGINT} and open_time < #{now,jdbcType=TIMESTAMP}
+ </update>
+ <update id="updateMoney" >
+ update se_virtual_card
+ set money = #{money,jdbcType=FLOAT}
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+ <!--楠岃瘉鍐滄埛鏄惁鎷ユ湁鎸囧畾鍚嶇О鐨勮櫄鎷熷崱-->
+ <select id="getRecordCountByName" resultType="java.lang.Integer">
+ SELECT COUNT(*) AS recordCount
+ FROM se_virtual_card
+ <where>
+ AND state = 1
+ <if test = "clientId != null and clientId > 0">
+ AND client_id = #{clientId}
+ </if>
+ <if test = "vcName != null and vcName !=''">
+ AND vc_num = #{vcName}
+ </if>
+ </where>
+ </select>
+
+ <!--鑾峰彇鍐滄埛鍏ㄩ儴铏氭嫙鍗�-->
+ <select id="getVCs" resultType="com.dy.pipIrrGlobal.voSe.VoVirtualCard">
+ SELECT
+ id,
+ vc_num AS vcNum,
+<!-- ROUND(money / 100, 2) AS money,-->
+ money,
+ in_use AS inUse,
+ (CASE
+ WHEN money <= #{alarmValue} THEN true
+ ELSE FALSE
+ END) AS isAlarmValue
+ FROM se_virtual_card
+ <where>
+ AND state = 1
+ <if test = "clientId != null">
+ AND client_id = #{clientId}
+ </if>
+ </where>
+ ORDER BY in_use, money DESC
+ </select>
+
+ <!--鏍规嵁铏氭嫙鍗D鑾峰彇铏氭嫙鍗″璞�-->
+ <select id="getVcById" resultType="com.dy.pipIrrGlobal.voSe.VoVirtualCard">
+ SELECT
+ id,
+ vc_num AS vcNum,
+<!-- ROUND(money / 100,2) AS money,-->
+ money,
+ in_use AS inUse,
+ (CASE
+ WHEN in_use = 0 THEN '鏈娇鐢�'
+ WHEN in_use = 1 THEN '浣跨敤涓�'
+ END) AS inUseName
+ FROM se_virtual_card
+ WHERE state = 1 AND id = #{vcId}
+ </select>
+
+ <!--鏍规嵁铏氭嫙鍗$紪鍙疯幏鍙栬櫄鎷熷崱-->
+ <select id="getVcCardByNum" resultType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
+ select
+ <include refid="Base_Column_List" />
+ FROM se_virtual_card WHERE state = 1 AND vc_num = #{vcNum}
+ </select>
+
+ <!--鏍规嵁铏氭嫙鍗$紪鍙疯幏鍙栬櫄鎷熷崱ID-->
+ <select id="getVcIdByNum" resultType="java.lang.Long">
+ SELECT id FROM se_virtual_card WHERE state = 1 AND vc_num = #{vcNum}
+ </select>
+
+ <!--鏍规嵁铏氭嫙鍗$紪鍙疯幏鍙栬櫄鎷熷崱ID-->
+ <select id="getClientIdAndNameByVsCardNo" resultType="java.util.Map">
+ SELECT
+ cli.id AS clientId,
+ cli.name AS clientName
+ FROM se_virtual_card card
+ INNER JOIN se_client cli ON card.client_id = cli.id
+ WHERE card.state = 1 AND card.vc_num = #{vcNum}
+ </select>
+
+ <!-- 鏍规嵁姘村崱缂栧彿鑾峰彇铏氭嫙姘村崱 -->
+ <select id="getCardsByNum" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo1">
+ SELECT
+ id,
+ money
+ FROM se_virtual_card
+ WHERE state = 1 AND vc_num = #{cardNum}
+ </select>
+
+ <!--鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈣櫄鎷熷崱缂栧彿-->
+ <select id="getVcCardNumOfMax" resultType="java.lang.String">
+ SELECT vc_num
+ FROM se_virtual_card
+ WHERE state = 1 AND vc_num LIKE CONCAT('%',#{areaCode},'%')
+ ORDER BY vc_num desc
+ LIMIT 0,1
+ </select>
+
+ <!--鑾峰彇铏氭嫙鍗″厖鍊艰褰曪紝涓嶅寘鎷凡宸叉敞閿�鍗$殑鍏呭�艰褰�-->
+ <select id="getVcRechargeRecords" resultType="com.dy.pipIrrGlobal.voSe.VoVcRecharge" >
+ SELECT
+ rec.vc_id AS vcId,
+ rec.client_id AS clientId,
+ rec.recharge_time AS rechargeTime,
+ rec.recharge_amount AS rechargeAmount,
+ rec.after_recharge AS afterRecharge,
+ '寰俊鏀粯' AS rechargeType
+ <!-- CASE-->
+ <!-- WHEN card.state = 1 THEN '姝e父閿�铏氭嫙鍗�'-->
+ <!-- WHEN card.state = 2 THEN '宸叉敞閿�铏氭嫙鍗�'-->
+ <!-- END AS cardState,-->
+ FROM se_vc_recharge rec
+ INNER JOIN se_virtual_card card ON card.id = rec.vc_id
+ <where>
+ AND card.state = 1
+ AND rec.order_state = 2
+ <if test = "vcId != null and vcId > 0">
+ AND rec.vc_id = #{vcId}
+ </if>
+ </where>
+ order by rec.recharge_time DESC
+ <if test="start != null and count != null">
+ LIMIT #{start}, #{count}
+ </if>
+ </select>
+
+ <select id="getRechargeRecordCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*)
+ FROM se_vc_recharge rec
+ INNER JOIN se_virtual_card card ON card.id = rec.vc_id
+ <where>
+ AND card.state = 1
+ AND rec.order_state = 2
+ <if test = "vcId != null and vcId > 0">
+ AND rec.vc_id = #{vcId}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鍐滄埛ID鍙婅櫄鎷熷崱ID鑾峰彇姝e父鐘舵�佺殑铏氭嫙鍗″璞★紝閿�鍗′娇鐢�-->
+ <select id="getVcByClientIdAndVcId" resultType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
+ SELECT * FROM se_virtual_card
+ WHERE state = 1 AND client_id = #{clientId} AND id = #{vcId}
+ </select>
+
+ <!--娉ㄩ攢铏氭嫙鍗�-->
+ <update id="cancelVc">
+ UPDATE se_virtual_card SET state = 2, last_operate = 4 , last_operate_time = NOW()
+ WHERE id = #{vcId} AND client_id = #{clientId}
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0