diff --git a/src/main/java/com/example/demo/mapper/cash/UserRegionWalletMapper.java b/src/main/java/com/example/demo/mapper/cash/UserRegionWalletMapper.java new file mode 100644 index 0000000..7f6336c --- /dev/null +++ b/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); +} diff --git a/src/main/resources/cashMapper/UserRegionWalletMapper.xml b/src/main/resources/cashMapper/UserRegionWalletMapper.xml new file mode 100644 index 0000000..62f75fe --- /dev/null +++ b/src/main/resources/cashMapper/UserRegionWalletMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + 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() + + + + + UPDATE user_region_wallet + SET current_permanent_gold = current_permanent_gold + #{amount}, + update_time = NOW() + WHERE jwcode = #{jwcode} AND wallet_id = #{walletId} + + +