Browse Source

20260305新增钱包余额逻辑

huangqizheng/feature-20260309142559-钱包退款
wangguorui 1 month ago
parent
commit
3f9a016fe1
  1. 37
      src/main/java/com/example/demo/mapper/cash/UserRegionWalletMapper.java
  2. 29
      src/main/resources/cashMapper/UserRegionWalletMapper.xml

37
src/main/java/com/example/demo/mapper/cash/UserRegionWalletMapper.java

@ -0,0 +1,37 @@
package com.example.demo.mapper.cash;
import com.example.demo.domain.entity.UserRegionWallet;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
/**
* @program: gold-java
* @ClassName UserRegionWalletMapper
* @description: 用户钱包 Mapper 接口
* @author: Ethan
* @create: 2026-03-05
* @Version 1.0
**/
@Mapper
public interface UserRegionWalletMapper {
/**
* 根据 jwcode walletId 查询用户钱包
*/
UserRegionWallet selectByJwcodeAndWalletId(@Param("jwcode") Integer jwcode,
@Param("walletId") Integer walletId);
/**
* 插入或更新用户钱包余额
*/
int insertOrUpdate(UserRegionWallet userRegionWallet);
/**
* 增加用户钱包永久金币
*/
int addPermanentGold(@Param("jwcode") Integer jwcode,
@Param("walletId") Integer walletId,
@Param("amount") BigDecimal amount);
}

29
src/main/resources/cashMapper/UserRegionWalletMapper.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.cash.UserRegionWalletMapper">
<!-- 根据 jwcode 和 walletId 查询用户钱包 -->
<select id="selectByJwcodeAndWalletId" resultType="com.example.demo.domain.entity.UserRegionWallet">
SELECT id, jwcode, wallet_id, current_permanent_gold, create_time, update_time
FROM user_region_wallet
WHERE jwcode = #{jwcode} AND wallet_id = #{walletId}
</select>
<!-- 插入或更新用户钱包余额 -->
<insert id="insertOrUpdate" parameterType="com.example.demo.domain.entity.UserRegionWallet">
INSERT INTO user_region_wallet (jwcode, wallet_id, current_permanent_gold, create_time, update_time)
VALUES (#{jwcode}, #{walletId}, #{currentPermanentGold}, NOW(), NOW())
ON DUPLICATE KEY UPDATE
current_permanent_gold = VALUES(current_permanent_gold),
update_time = NOW()
</insert>
<!-- 增加用户钱包永久金币 -->
<update id="addPermanentGold">
UPDATE user_region_wallet
SET current_permanent_gold = current_permanent_gold + #{amount},
update_time = NOW()
WHERE jwcode = #{jwcode} AND wallet_id = #{walletId}
</update>
</mapper>
Loading…
Cancel
Save