From bc230a4679ee851d5bd9cab83ad6316e483a5764 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期一, 11 十二月 2023 15:21:36 +0800 Subject: [PATCH] 2023-12-11 朱宝民 IC卡14个接口完成,全部改为长主键 --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java | 11 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeActiveCardMapper.xml | 35 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReversalMapper.xml | 68 +++- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeUnlockMapper.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeUnlockMapper.xml | 68 +++- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java | 57 ++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml | 24 + pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeUnlock.java | 44 ++- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java | 11 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReversalMapper.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml | 37 ++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java | 92 +++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReversal.java | 46 ++- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 43 ++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java | 64 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java | 95 +++++++ 16 files changed, 575 insertions(+), 128 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReversalMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReversalMapper.java index 3baed82..6ccbf70 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReversalMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeReversalMapper.java @@ -8,8 +8,8 @@ /** * @author ZhuBaoMin - * @date 2023/12/6 15:41 - * @LastEditTime 2023/12/6 15:41 + * @date 2023/12/11 9:17 + * @LastEditTime 2023/12/11 9:17 * @Description */ public interface SeReversalMapper { diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeUnlockMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeUnlockMapper.java index eb4a59a..c011843 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeUnlockMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeUnlockMapper.java @@ -8,8 +8,8 @@ /** * @author ZhuBaoMin - * @date 2023/12/6 14:40 - * @LastEditTime 2023/12/6 14:40 + * @date 2023/12/11 9:11 + * @LastEditTime 2023/12/11 9:11 * @Description */ public interface SeUnlockMapper { diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReversal.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReversal.java index b13294e..843327c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReversal.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeReversal.java @@ -5,6 +5,7 @@ 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.Positive; import lombok.*; @@ -14,8 +15,8 @@ /** * @author ZhuBaoMin - * @date 2023/12/6 15:41 - * @LastEditTime 2023/12/6 15:41 + * @date 2023/12/11 9:17 + * @LastEditTime 2023/12/11 9:17 * @Description */ @@ -30,12 +31,12 @@ @NoArgsConstructor @AllArgsConstructor @Schema(name = "姘村崱鍐叉瀹炰綋") -public class SeReversal { +public class SeReversal implements BaseEntity { public static final long serialVersionUID = 1L; /** - * 涓婚敭 - */ + * 涓婚敭 + */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @@ -43,43 +44,50 @@ private Long id; /** - * 姘村崱缂栧彿 - */ + * 姘村崱缂栧彿 + */ @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Positive(message = "姘村崱缂栧彿蹇呴』涓哄ぇ浜�0鐨勬暣鏁�") private Long cardid; /** - * 鍗$墖浣欓 - */ + * 鍐滄埛缂栧彿 + */ + @Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Length(message = "鍐滄埛缂栧彿涓嶅皬浜巤min}", min = 1) + private Long clientid; + + /** + * 鍗$墖浣欓 + */ @Schema(description = "鍗$墖浣欓", requiredMode = Schema.RequiredMode.REQUIRED) @Length(message = "鍗$墖浣欓涓嶅皬浜巤min}瀛�", min = 1) - private Double cardbalance; + private Float cardbalance; /** - * 绯荤粺浣欓 - */ + * 绯荤粺浣欓 + */ @Schema(description = "绯荤粺浣欓", requiredMode = Schema.RequiredMode.REQUIRED) @Length(message = "绯荤粺浣欓涓嶅皬浜巤min}瀛�", min = 1) - private Double systembalance; + private Float systembalance; /** - * 澶囨敞淇℃伅 - */ + * 澶囨敞淇℃伅 + */ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Length(message = "澶囨敞闀垮害灏忎簬{max}瀛�", min = 1, max = 200) private String remarks; /** - * 鎿嶄綔浜虹紪鍙� - */ + * 鎿嶄綔浜虹紪鍙� + */ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�") private Long operator; /** - * 鎿嶄綔鏃堕棿 - */ + * 鎿嶄綔鏃堕棿 + */ @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Date operatedt; } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeUnlock.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeUnlock.java index 3300986..a5c0464 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeUnlock.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeUnlock.java @@ -5,6 +5,7 @@ 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.Positive; import lombok.*; @@ -14,8 +15,8 @@ /** * @author ZhuBaoMin - * @date 2023/12/6 14:40 - * @LastEditTime 2023/12/6 14:40 + * @date 2023/12/11 9:11 + * @LastEditTime 2023/12/11 9:11 * @Description */ @@ -30,12 +31,12 @@ @NoArgsConstructor @AllArgsConstructor @Schema(name = "姘村崱瑙i攣瀹炰綋") -public class SeUnlock { +public class SeUnlock implements BaseEntity { public static final long serialVersionUID = 1L; /** - * 涓婚敭 - */ + * 涓婚敭 + */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @@ -43,36 +44,43 @@ private Long id; /** - * 姘村崱缂栧彿 - */ + * 姘村崱缂栧彿 + */ @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Positive(message = "姘村崱缂栧彿蹇呴』涓哄ぇ浜�0鐨勬暣鏁�") private Long cardid; /** - * 鍓╀綑閲戦 - */ - @Schema(description = "鍓╀綑閲戦", requiredMode = Schema.RequiredMode.REQUIRED) - @Length(message = "鍓╀綑閲戦涓嶅皬浜巤min}瀛�", min = 1) - private Double money; + * 鍐滄埛缂栧彿 + */ + @Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Length(message = "鍐滄埛缂栧彿涓嶅皬浜巤min}", min = 1) + private Long clientid; /** - * 澶囨敞淇℃伅 - */ + * 鍓╀綑閲戦 + */ + @Schema(description = "鍓╀綑閲戦", requiredMode = Schema.RequiredMode.REQUIRED) + @Length(message = "鍓╀綑閲戦涓嶅皬浜巤min}瀛�", min = 1) + private Float money; + + /** + * 澶囨敞淇℃伅 + */ @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Length(message = "澶囨敞闀垮害灏忎簬{max}瀛�", min = 1, max = 200) private String remarks; /** - * 鎿嶄綔浜虹紪鍙� - */ + * 鎿嶄綔浜虹紪鍙� + */ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�") private Long operator; /** - * 鎿嶄綔鏃堕棿 - */ + * 鎿嶄綔鏃堕棿 + */ @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Date operatedt; } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeActiveCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeActiveCardMapper.xml index f96ab0a..6ca1504 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeActiveCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeActiveCardMapper.xml @@ -32,17 +32,34 @@ delete from se_active_card where id = #{id,jdbcType=BIGINT} </delete> - <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard" useGeneratedKeys="true"> + + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard"> <!--@mbg.generated--> - insert into se_active_card (cardId, clientId, cardCost, - paymentId, reissueAmount, operateType, - remarks, `operator`, operateDt - ) - values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{cardcost,jdbcType=INTEGER}, - #{paymentid,jdbcType=BIGINT}, #{reissueamount,jdbcType=DOUBLE}, #{operatetype,jdbcType=TINYINT}, - #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP} - ) + insert into se_active_card (id, cardId, clientId, cardCost, paymentId, reissueAmount, operateType, remarks, `operator`, operateDt) + values (#{id,jdbcType=BIGINT}, + #{cardid,jdbcType=BIGINT}, + #{clientid,jdbcType=BIGINT}, + #{cardcost,jdbcType=INTEGER}, + #{paymentid,jdbcType=BIGINT}, + #{reissueamount,jdbcType=DOUBLE}, + #{operatetype,jdbcType=TINYINT}, + #{remarks,jdbcType=VARCHAR}, + #{operator,jdbcType=BIGINT}, + #{operatedt,jdbcType=TIMESTAMP}) </insert> + +<!-- <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard" useGeneratedKeys="true">--> +<!-- <!–@mbg.generated–>--> +<!-- insert into se_active_card (cardId, clientId, cardCost, --> +<!-- paymentId, reissueAmount, operateType, --> +<!-- remarks, `operator`, operateDt--> +<!-- )--> +<!-- values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{cardcost,jdbcType=INTEGER}, --> +<!-- #{paymentid,jdbcType=BIGINT}, #{reissueamount,jdbcType=DOUBLE}, #{operatetype,jdbcType=TINYINT}, --> +<!-- #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}--> +<!-- )--> +<!-- </insert>--> + <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard" useGeneratedKeys="true"> <!--@mbg.generated--> insert into se_active_card 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 7b03575..8acacf5 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml @@ -43,19 +43,40 @@ SELECT id AS cardId FROM se_client_card WHERE cardAddr = #{cardAddr} </select> - <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true"> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> <!--@mbg.generated--> - insert into se_client_card (cardAddr, clientId, money, - `state`, createDt, replaceDt, - rechargeDt, lossDtDt, cancelDt, - unlockDt, reversalDt, consumeDt, - lastOper, remarks) - values (#{cardaddr,jdbcType=VARCHAR}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, - #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP}, #{replacedt,jdbcType=TIMESTAMP}, - #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP}, #{canceldt,jdbcType=TIMESTAMP}, - #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, - #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}) + insert into se_client_card (id, cardAddr, clientId, money, `state`, createDt, replaceDt, rechargeDt, lossDtDt, cancelDt, unlockDt, reversalDt, consumeDt, lastOper, remarks) + values (#{id,jdbcType=BIGINT}, + #{cardaddr,jdbcType=VARCHAR}, + #{clientid,jdbcType=BIGINT}, + #{money,jdbcType=FLOAT}, + #{state,jdbcType=TINYINT}, + #{createdt,jdbcType=TIMESTAMP}, + #{replacedt,jdbcType=TIMESTAMP}, + #{rechargedt,jdbcType=TIMESTAMP}, + #{lossdtdt,jdbcType=TIMESTAMP}, + #{canceldt,jdbcType=TIMESTAMP}, + #{unlockdt,jdbcType=TIMESTAMP}, + #{reversaldt,jdbcType=TIMESTAMP}, + #{consumedt,jdbcType=TIMESTAMP}, + #{lastoper,jdbcType=TINYINT}, + #{remarks,jdbcType=VARCHAR}) </insert> + +<!-- <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">--> +<!-- <!–@mbg.generated–>--> +<!-- insert into se_client_card (cardAddr, clientId, money, --> +<!-- `state`, createDt, replaceDt, --> +<!-- rechargeDt, lossDtDt, cancelDt, --> +<!-- unlockDt, reversalDt, consumeDt, --> +<!-- lastOper, remarks)--> +<!-- values (#{cardaddr,jdbcType=VARCHAR}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, --> +<!-- #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP}, #{replacedt,jdbcType=TIMESTAMP}, --> +<!-- #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP}, #{canceldt,jdbcType=TIMESTAMP}, --> +<!-- #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, --> +<!-- #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR})--> +<!-- </insert>--> + <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true"> <!--@mbg.generated--> insert into se_client_card diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml index 5493a0f..6ef17f6 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml @@ -34,17 +34,25 @@ delete from se_recharge_history where id = #{id,jdbcType=BIGINT} </delete> + + <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory" useGeneratedKeys="true"> <!--@mbg.generated--> - insert into se_recharge_history (cardId, clientId, money, - amount, gift, afterRecharge, - paymentId, price, remarks, - `operator`, operateDt) - values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, - #{amount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT}, - #{paymentid,jdbcType=BIGINT}, #{price,jdbcType=FLOAT}, #{remarks,jdbcType=VARCHAR}, - #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}) + insert into se_recharge_history (id, cardId, clientId, money, amount, gift, afterRecharge, paymentId, price, remarks, `operator`, operateDt) + values (#{id,jdbcType=BIGINT}, + #{cardid,jdbcType=BIGINT}, + #{clientid,jdbcType=BIGINT}, + #{money,jdbcType=FLOAT}, + #{amount,jdbcType=FLOAT}, + #{gift,jdbcType=FLOAT}, + #{afterrecharge,jdbcType=FLOAT}, + #{paymentid,jdbcType=BIGINT}, + #{price,jdbcType=FLOAT}, + #{remarks,jdbcType=VARCHAR}, + #{operator,jdbcType=BIGINT}, + #{operatedt,jdbcType=TIMESTAMP}) </insert> + <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory" useGeneratedKeys="true"> <!--@mbg.generated--> insert into se_recharge_history diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml index 76d7882..7ebcb09 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeMapper.xml @@ -34,17 +34,36 @@ delete from se_recharge where id = #{id,jdbcType=BIGINT} </delete> - <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRecharge" useGeneratedKeys="true"> + + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRecharge"> <!--@mbg.generated--> - insert into se_recharge (cardId, clientId, money, - amount, gift, afterRecharge, - paymentId, price, remarks, - `operator`, operateDt) - values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, - #{amount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT}, - #{paymentid,jdbcType=BIGINT}, #{price,jdbcType=FLOAT}, #{remarks,jdbcType=VARCHAR}, - #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}) + insert into se_recharge (id, cardId, clientId, money, amount, gift, afterRecharge, paymentId, price, remarks, `operator`, operateDt) + values (#{id,jdbcType=BIGINT}, + #{cardid,jdbcType=BIGINT}, + #{clientid,jdbcType=BIGINT}, + #{money,jdbcType=FLOAT}, + #{amount,jdbcType=FLOAT}, + #{gift,jdbcType=FLOAT}, + #{afterrecharge,jdbcType=FLOAT}, + #{paymentid,jdbcType=BIGINT}, + #{price,jdbcType=FLOAT}, + #{remarks,jdbcType=VARCHAR}, + #{operator,jdbcType=BIGINT}, + #{operatedt,jdbcType=TIMESTAMP}) </insert> + +<!-- <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRecharge" useGeneratedKeys="true">--> +<!-- <!–@mbg.generated–>--> +<!-- insert into se_recharge (cardId, clientId, money, --> +<!-- amount, gift, afterRecharge, --> +<!-- paymentId, price, remarks, --> +<!-- `operator`, operateDt)--> +<!-- values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, --> +<!-- #{amount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT}, --> +<!-- #{paymentid,jdbcType=BIGINT}, #{price,jdbcType=FLOAT}, #{remarks,jdbcType=VARCHAR}, --> +<!-- #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP})--> +<!-- </insert>--> + <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRecharge" useGeneratedKeys="true"> <!--@mbg.generated--> insert into se_recharge diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReversalMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReversalMapper.xml index dff9579..0f5d2e2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReversalMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeReversalMapper.xml @@ -6,6 +6,7 @@ <!--@Table se_reversal--> <id column="id" jdbcType="BIGINT" property="id" /> <result column="cardId" jdbcType="BIGINT" property="cardid" /> + <result column="clientId" jdbcType="BIGINT" property="clientid" /> <result column="cardBalance" jdbcType="FLOAT" property="cardbalance" /> <result column="systemBalance" jdbcType="FLOAT" property="systembalance" /> <result column="remarks" jdbcType="VARCHAR" property="remarks" /> @@ -14,7 +15,7 @@ </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, cardId, cardBalance, systemBalance, remarks, `operator`, operateDt + id, cardId, clientId, cardBalance, systemBalance, remarks, `operator`, operateDt </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -28,21 +29,39 @@ delete from se_reversal where id = #{id,jdbcType=BIGINT} </delete> - <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReversal" useGeneratedKeys="true"> + + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReversal"> <!--@mbg.generated--> - insert into se_reversal (cardId, cardBalance, systemBalance, - remarks, `operator`, operateDt - ) - values (#{cardid,jdbcType=BIGINT}, #{cardbalance,jdbcType=FLOAT}, #{systembalance,jdbcType=FLOAT}, - #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP} - ) + insert into se_reversal (id, cardId, clientId, cardBalance, systemBalance, remarks, `operator`, operateDt) + values (#{id,jdbcType=BIGINT}, + #{cardid,jdbcType=BIGINT}, + #{clientid,jdbcType=BIGINT}, + #{cardbalance,jdbcType=FLOAT}, + #{systembalance,jdbcType=FLOAT}, + #{remarks,jdbcType=VARCHAR}, + #{operator,jdbcType=BIGINT}, + #{operatedt,jdbcType=TIMESTAMP}) </insert> + +<!-- <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReversal" useGeneratedKeys="true">--> +<!-- <!–@mbg.generated–>--> +<!-- insert into se_reversal (cardId, clientId, cardBalance, --> +<!-- systemBalance, remarks, `operator`, --> +<!-- operateDt)--> +<!-- values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{cardbalance,jdbcType=FLOAT}, --> +<!-- #{systembalance,jdbcType=FLOAT}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, --> +<!-- #{operatedt,jdbcType=TIMESTAMP})--> +<!-- </insert>--> + <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeReversal" useGeneratedKeys="true"> <!--@mbg.generated--> insert into se_reversal <trim prefix="(" suffix=")" suffixOverrides=","> <if test="cardid != null"> cardId, + </if> + <if test="clientid != null"> + clientId, </if> <if test="cardbalance != null"> cardBalance, @@ -63,6 +82,9 @@ <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="cardid != null"> #{cardid,jdbcType=BIGINT}, + </if> + <if test="clientid != null"> + #{clientid,jdbcType=BIGINT}, </if> <if test="cardbalance != null"> #{cardbalance,jdbcType=FLOAT}, @@ -88,6 +110,9 @@ <if test="cardid != null"> cardId = #{cardid,jdbcType=BIGINT}, </if> + <if test="clientid != null"> + clientId = #{clientid,jdbcType=BIGINT}, + </if> <if test="cardbalance != null"> cardBalance = #{cardbalance,jdbcType=FLOAT}, </if> @@ -110,6 +135,7 @@ <!--@mbg.generated--> update se_reversal set cardId = #{cardid,jdbcType=BIGINT}, + clientId = #{clientid,jdbcType=BIGINT}, cardBalance = #{cardbalance,jdbcType=FLOAT}, systemBalance = #{systembalance,jdbcType=FLOAT}, remarks = #{remarks,jdbcType=VARCHAR}, @@ -121,7 +147,7 @@ <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栧啿姝h褰曟暟--> <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> SELECT - COUNT(*) AS recordCount + COUNT(*) AS recordCount FROM se_client_card card INNER JOIN se_reversal rev ON rev.cardId = card.id INNER JOIN ba_client cli ON card.clientId = cli.id @@ -144,17 +170,17 @@ <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栧啿姝h褰�--> <select id="getReversals" resultType="com.dy.pipIrrGlobal.voSe.VoReversal"> SELECT - (@i:=@i+1) AS id, - cli.`name` AS clientName, - cli.id AS clientId, - card.cardAddr, - rev.cardBalance, - (SELECT `name` FROM ba_user WHERE id = rev.operator) AS operator, - rev.operateDt - FROM se_client_card card - INNER JOIN se_reversal rev ON rev.cardId = card.id - INNER JOIN ba_client cli ON card.clientId = cli.id - , (SELECT @i:=0) AS itable + (@i:=@i+1) AS id, + cli.`name` AS clientName, + cli.id AS clientId, + card.cardAddr, + rev.cardBalance, + (SELECT `name` FROM ba_user WHERE id = rev.operator) AS operator, + rev.operateDt + FROM se_reversal rev + INNER JOIN se_client_card card ON rev.cardId = card.id + INNER JOIN ba_client cli ON rev.clientId = cli.id + , (SELECT @i:=0) AS itable <where> <if test = "clientName != null and clientName !=''"> AND cli.name like CONCAT('%',#{clientName},'%') @@ -165,7 +191,7 @@ </if> <if test = "reversalTimeStart != null and reversalTimeStop != null"> - AND card.unlockDt BETWEEN #{reversalTimeStart} AND #{reversalTimeStop} + AND rev.operateDt BETWEEN #{reversalTimeStart} AND #{reversalTimeStop} </if> </where> diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeUnlockMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeUnlockMapper.xml index e4d1d89..0642219 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeUnlockMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeUnlockMapper.xml @@ -6,6 +6,7 @@ <!--@Table se_unlock--> <id column="id" jdbcType="BIGINT" property="id" /> <result column="cardId" jdbcType="BIGINT" property="cardid" /> + <result column="clientId" jdbcType="BIGINT" property="clientid" /> <result column="money" jdbcType="FLOAT" property="money" /> <result column="remarks" jdbcType="VARCHAR" property="remarks" /> <result column="operator" jdbcType="BIGINT" property="operator" /> @@ -13,7 +14,7 @@ </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, cardId, money, remarks, `operator`, operateDt + id, cardId, clientId, money, remarks, `operator`, operateDt </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -27,19 +28,37 @@ delete from se_unlock where id = #{id,jdbcType=BIGINT} </delete> - <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeUnlock" useGeneratedKeys="true"> + + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeUnlock"> <!--@mbg.generated--> - insert into se_unlock (cardId, money, remarks, - `operator`, operateDt) - values (#{cardid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, #{remarks,jdbcType=VARCHAR}, - #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}) + insert into se_unlock (id, cardId, clientId, money, remarks, `operator`, operateDt) + values (#{id,jdbcType=BIGINT}, + #{cardid,jdbcType=BIGINT}, + #{clientid,jdbcType=BIGINT}, + #{money,jdbcType=FLOAT}, + #{remarks,jdbcType=VARCHAR}, + #{operator,jdbcType=BIGINT}, + #{operatedt,jdbcType=TIMESTAMP}) </insert> + +<!-- <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeUnlock" useGeneratedKeys="true">--> +<!-- <!–@mbg.generated–>--> +<!-- insert into se_unlock (cardId, clientId, money, --> +<!-- remarks, `operator`, operateDt--> +<!-- )--> +<!-- values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, --> +<!-- #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}--> +<!-- )--> +<!-- </insert>--> <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeUnlock" useGeneratedKeys="true"> <!--@mbg.generated--> insert into se_unlock <trim prefix="(" suffix=")" suffixOverrides=","> <if test="cardid != null"> cardId, + </if> + <if test="clientid != null"> + clientId, </if> <if test="money != null"> money, @@ -57,6 +76,9 @@ <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="cardid != null"> #{cardid,jdbcType=BIGINT}, + </if> + <if test="clientid != null"> + #{clientid,jdbcType=BIGINT}, </if> <if test="money != null"> #{money,jdbcType=FLOAT}, @@ -79,6 +101,9 @@ <if test="cardid != null"> cardId = #{cardid,jdbcType=BIGINT}, </if> + <if test="clientid != null"> + clientId = #{clientid,jdbcType=BIGINT}, + </if> <if test="money != null"> money = #{money,jdbcType=FLOAT}, </if> @@ -98,6 +123,7 @@ <!--@mbg.generated--> update se_unlock set cardId = #{cardid,jdbcType=BIGINT}, + clientId = #{clientid,jdbcType=BIGINT}, money = #{money,jdbcType=FLOAT}, remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, @@ -109,9 +135,9 @@ <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount - FROM se_client_card card - INNER JOIN se_unlock unl ON unl.cardId = card.id - INNER JOIN ba_client cli ON card.clientId = cli.id + FROM se_unlock unl + INNER JOIN se_client_card card ON unl.cardId = card.id + INNER JOIN ba_client cli ON unl.clientId = cli.id , (SELECT @i:=0) AS itable <where> <if test = "clientName != null and clientName !=''"> @@ -123,7 +149,7 @@ </if> <if test = "unlocklTimeStart != null and unlockTimeStop != null"> - AND card.unlockDt BETWEEN #{unlocklTimeStart} AND #{unlockTimeStop} + AND unl.operateDt BETWEEN #{unlocklTimeStart} AND #{unlockTimeStop} </if> </where> </select> @@ -131,16 +157,16 @@ <!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬В閿佽褰�--> <select id="getUnlocks" resultType="com.dy.pipIrrGlobal.voSe.VoUnlock"> SELECT - (@i:=@i+1) AS id, - cli.`name` AS clientName, - cli.id AS clientId, - card.cardAddr, - unl.money, - (SELECT `name` FROM ba_user WHERE id = unl.operator) AS operator, - unl.operateDt - FROM se_client_card card - INNER JOIN se_unlock unl ON unl.cardId = card.id - INNER JOIN ba_client cli ON card.clientId = cli.id + (@i:=@i+1) AS id, + cli.`name` AS clientName, + cli.id AS clientId, + card.cardAddr, + unl.money, + (SELECT `name` FROM ba_user WHERE id = unl.operator) AS operator, + unl.operateDt + FROM se_unlock unl + INNER JOIN se_client_card card ON unl.cardId = card.id + INNER JOIN ba_client cli ON unl.clientId = cli.id , (SELECT @i:=0) AS itable <where> <if test = "clientName != null and clientName !=''"> @@ -152,7 +178,7 @@ </if> <if test = "unlocklTimeStart != null and unlockTimeStop != null"> - AND card.unlockDt BETWEEN #{unlocklTimeStart} AND #{unlockTimeStop} + AND unl.operateDt BETWEEN #{unlocklTimeStart} AND #{unlockTimeStop} </if> </where> diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java new file mode 100644 index 0000000..8c2a766 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java @@ -0,0 +1,64 @@ +package com.dy.pipIrrSell.reversal; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Positive; +import lombok.*; + +/** + * @author ZhuBaoMin + * @date 2023/12/11 9:36 + * @LastEditTime 2023/12/11 9:36 + * @Description + */ + +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "鍐叉浼犲叆瀵硅薄") +public class DtoReversal { + public static final long serialVersionUID = 1L; + + /** + * 姘村崱鍦板潃 + */ + @Schema(description = "姘村崱鍦板潃", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @NotBlank + private String cardAddr; + + /** + * 鍐滄埛缂栧彿 + */ + @Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long clientId; + + /** + * 鍗$墖浣欓 + */ + @Schema(description = "鍗$墖浣欓", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Min(value = 0, message="鍗$墖浣欓涓嶈兘灏忎簬0") + private Float cardBalance; + + /** + * 绯荤粺浣欓 + */ + @Schema(description = "绯荤粺浣欓", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Min(value = 0, message="绯荤粺浣欓涓嶈兘灏忎簬0") + private Float systemBalance; + + /** + * 澶囨敞淇℃伅 + */ + @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String remarks; + + /** + * 鎿嶄綔浜虹紪鍙� + */ + @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�") + private Long operator; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java index 82c0edc..4756804 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java @@ -5,7 +5,11 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.pojoSe.SeReversal; import com.dy.pipIrrGlobal.voSe.VoReversal; +import com.dy.pipIrrSell.clientCard.ClientCardSv; +import com.dy.pipIrrSell.clientCard.LastOperateENUM; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; @@ -13,15 +17,19 @@ 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.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import java.time.format.DateTimeFormatter; +import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.Optional; /** * @author ZhuBaoMin @@ -37,6 +45,7 @@ @RequiredArgsConstructor public class ReversalCtrl { private final ReversalSv reversalSv; + private final ClientCardSv clientCardSv; @Operation(summary = "鑾峰緱涓�椤靛啿姝h褰�", description = "杩斿洖涓�椤靛啿姝f暟鎹�") @ApiResponses(value = { @@ -58,4 +67,82 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + @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("-1")//@SsoAop(power = "-1") + public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoReversal po, @Parameter(hidden = true) BindingResult bindingResult){ + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + /** + * cardId 姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardAddr鍙嶆煡锛� + * cardAddr 姘村崱鍦板潃 + * clientId 鍐滄埛缂栧彿 + * cardBalance 鍗$墖浣欓 + * systemBalance 绯荤粺浣欓 + * remarks 澶囨敞 + * operator 鎿嶄綔浜虹紪鍙� + * reversalTime 鍐叉 + */ + Long cardId = 0L; + String cardAddr = po.getCardAddr(); + Long clientId = po.getClientId(); + Float cardBalance = po.getCardBalance(); + Float systemBalance = po.getSystemBalance(); + String remarks = po.getRemarks(); + Long operator = po.getOperator(); + Date reversalTime = new Date(); + + /** + * 渚濇嵁姘村崱鍦板潃鑾峰彇姘村崱缂栧彿锛堜富閿級 + */ + cardId = Optional.ofNullable(clientCardSv.getCardIdByAddr(cardAddr)).orElse(0L); + if(cardId == 0) { + return BaseResponseUtils.buildFail("鍗″彿閿欒锛岃鍗′笉瀛樺湪"); + } + + /** + * 淇敼鍐滄埛鍗′俊鎭細 + * 鎸傚け鏃堕棿 + * 鏈�鍚庢搷浣滅被鍨�-4 + */ + SeClientCard seClientCard = new SeClientCard(); + seClientCard.setId(cardId); + seClientCard.setReversaldt(reversalTime); + seClientCard.setLastoper(LastOperateENUM.REVERSAL.getCode()); + Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); + if(rec_updateClientCard == 0) { + return BaseResponseUtils.buildFail("鍐叉澶辫触-鍐滄埛鍗″啿姝e紓甯�"); + } + + /** + * 娣诲姞瑙i攣璁板綍 + */ + SeReversal reversal = new SeReversal(); + reversal.setCardid(cardId); + reversal.setClientid(clientId); + reversal.setCardbalance(cardBalance); + reversal.setSystembalance(systemBalance); + reversal.setRemarks(remarks); + reversal.setOperator(operator); + reversal.setOperatedt(reversalTime); + Long rec = Optional.ofNullable(reversalSv.add(reversal)).orElse(0L); + if(rec == 0) { + return BaseResponseUtils.buildFail("瑙i攣澶辫触-瑙i攣璁板綍鍐欏叆寮傚父"); + } + + return BaseResponseUtils.buildSuccess(true) ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java index 2a57911..42d00be 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java @@ -2,6 +2,7 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoSe.SeReversalMapper; +import com.dy.pipIrrGlobal.pojoSe.SeReversal; import com.dy.pipIrrGlobal.voSe.VoReversal; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; @@ -53,4 +54,14 @@ rsVo.obj = seReversalMapper.getReversals(params); return rsVo ; } + + /** + * 娣诲姞鍐叉璁板綍 + * @param po + * @return + */ + public Long add(SeReversal po) { + seReversalMapper.insert(po); + return po.getId(); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java new file mode 100644 index 0000000..4c311b3 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java @@ -0,0 +1,57 @@ +package com.dy.pipIrrSell.unlock; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Positive; +import lombok.*; + +/** + * @author ZhuBaoMin + * @date 2023/12/11 9:34 + * @LastEditTime 2023/12/11 9:34 + * @Description + */ + +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "瑙i攣浼犲叆瀵硅薄") +public class DtoUnlock { + public static final long serialVersionUID = 1L; + + /** + * 姘村崱鍦板潃 + */ + @Schema(description = "姘村崱鍦板潃", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @NotBlank + private String cardAddr; + + /** + * 鍐滄埛缂栧彿 + */ + @Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long clientId; + + /** + * 浣欓 + */ + @Schema(description = "浣欓", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Min(value = 0, message="浣欓涓嶈兘灏忎簬0") + private Float money; + + /** + * 澶囨敞淇℃伅 + */ + @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String remarks; + + /** + * 鎿嶄綔浜虹紪鍙� + */ + @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�") + private Long operator; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java index f93ce4b..c4684c6 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java @@ -5,7 +5,11 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.pojoSe.SeUnlock; import com.dy.pipIrrGlobal.voSe.VoUnlock; +import com.dy.pipIrrSell.clientCard.ClientCardSv; +import com.dy.pipIrrSell.clientCard.LastOperateENUM; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; @@ -13,15 +17,19 @@ 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.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import java.time.format.DateTimeFormatter; +import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.Optional; /** * @author ZhuBaoMin @@ -37,6 +45,7 @@ @RequiredArgsConstructor public class UnlockCtrl { private final UnlockSv unlockSv; + private final ClientCardSv clientCardSv; @Operation(summary = "鑾峰緱涓�椤佃В閿佽褰�", description = "杩斿洖涓�椤佃В閿佹暟鎹�") @ApiResponses(value = { @@ -58,4 +67,79 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + @Operation(summary = "娣诲姞瑙i攣璁板綍", description = "娣诲姞瑙i攣璁板綍") + @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("-1")//@SsoAop(power = "-1") + public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoUnlock po, @Parameter(hidden = true) BindingResult bindingResult){ + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + /** + * cardId 姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardAddr鍙嶆煡锛� + * cardAddr 姘村崱鍦板潃 + * clientId 鍐滄埛缂栧彿 + * money 浣欓 + * remarks 澶囨敞 + * operator 鎿嶄綔浜虹紪鍙� + * unlockTime 瑙i攣鏃堕棿 + */ + Long cardId = 0L; + String cardAddr = po.getCardAddr(); + Long clientId = po.getClientId(); + Float money = po.getMoney(); + String remarks = po.getRemarks(); + Long operator = po.getOperator(); + Date unlockTime = new Date(); + + /** + * 渚濇嵁姘村崱鍦板潃鑾峰彇姘村崱缂栧彿锛堜富閿級 + */ + cardId = Optional.ofNullable(clientCardSv.getCardIdByAddr(cardAddr)).orElse(0L); + if(cardId == 0) { + return BaseResponseUtils.buildFail("鍗″彿閿欒锛岃鍗′笉瀛樺湪"); + } + + /** + * 淇敼鍐滄埛鍗′俊鎭細 + * 鎸傚け鏃堕棿 + * 鏈�鍚庢搷浣滅被鍨�-4 + */ + SeClientCard seClientCard = new SeClientCard(); + seClientCard.setId(cardId); + seClientCard.setUnlockdt(unlockTime); + seClientCard.setLastoper(LastOperateENUM.UNLOCK.getCode()); + Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); + if(rec_updateClientCard == 0) { + return BaseResponseUtils.buildFail("瑙i攣澶辫触-鍐滄埛鍗¤В閿佸紓甯�"); + } + + /** + * 娣诲姞瑙i攣璁板綍 + */ + SeUnlock seUnlock = new SeUnlock(); + seUnlock.setCardid(cardId); + seUnlock.setClientid(clientId); + seUnlock.setMoney(money); + seUnlock.setRemarks(remarks); + seUnlock.setOperator(operator); + seUnlock.setOperatedt(unlockTime); + Long rec = Optional.ofNullable(unlockSv.add(seUnlock)).orElse(0L); + if(rec == 0) { + return BaseResponseUtils.buildFail("瑙i攣澶辫触-瑙i攣璁板綍鍐欏叆寮傚父"); + } + + return BaseResponseUtils.buildSuccess(true) ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java index 1884f70..85d1754 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java @@ -2,6 +2,7 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoSe.SeUnlockMapper; +import com.dy.pipIrrGlobal.pojoSe.SeUnlock; import com.dy.pipIrrGlobal.voSe.VoUnlock; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; @@ -53,4 +54,14 @@ rsVo.obj = seUnlockMapper.getUnlocks(params); return rsVo ; } + + /** + * 娣诲姞瑙i攣璁板綍 + * @param po + * @return + */ + public Long add(SeUnlock po) { + seUnlockMapper.insert(po); + return po.getId(); + } } -- Gitblit v1.8.0