Browse Source

20260304钱包逻辑修改

huangqizheng/feature-20260309142559-钱包退款
sunjiabei 1 month ago
parent
commit
82d61197da
  1. 5
      src/main/java/com/example/demo/domain/DTO/RegionWalletDTO.java
  2. 23
      src/main/java/com/example/demo/domain/entity/Wallet.java
  3. 8
      src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java
  4. 17
      src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java
  5. 10
      src/main/resources/application-test.yml
  6. 31
      src/main/resources/mapper/ConsumeMapper.xml

5
src/main/java/com/example/demo/domain/entity/RegionWallet.java → src/main/java/com/example/demo/domain/DTO/RegionWalletDTO.java

@ -1,4 +1,4 @@
package com.example.demo.domain.entity;
package com.example.demo.domain.DTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
@ -20,7 +20,7 @@ import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RegionWallet {
public class RegionWalletDTO {
private Integer id; //钱包id
private Integer jwcode; // 精网号
private Integer walletId; // 钱包id
@ -32,4 +32,5 @@ public class RegionWallet {
private Date createTime; // 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date updateTime; // 更新时间
private Integer priority;
}

23
src/main/java/com/example/demo/domain/entity/Wallet.java

@ -0,0 +1,23 @@
package com.example.demo.domain.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @program: gold-java
* @ClassName Wallet
* @description:
* @author: Double
* @create: 202603-04 11:57
* @Version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Wallet {
private Integer id; //钱包id
private Integer walletName; // 钱包名称
private Integer priority; // 优先级
}

8
src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java

@ -1,7 +1,8 @@
package com.example.demo.mapper.coin;
import com.example.demo.domain.entity.RegionWallet;
import com.example.demo.domain.DTO.RegionWalletDTO;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.entity.Wallet;
import com.example.demo.domain.vo.coin.ConsumeUser;
import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.RefundUser;
@ -46,7 +47,8 @@ public interface ConsumeMapper {
Gold sumGold(ConsumeUser consumeUser);
RegionWallet selectRegionWalletByJwcode(Integer jwcode);
//查询钱包
List<RegionWalletDTO> selectRegionWalletByJwcode(Integer jwcode);
List<Wallet> selectWallet();
void createRegionWallet(Integer jwcode);
}

17
src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java

@ -2,7 +2,7 @@ package com.example.demo.serviceImpl.coin;
import com.example.demo.Util.GoldTistV2;
import com.example.demo.Util.SimpleIdGenerator;
import com.example.demo.domain.entity.RegionWallet;
import com.example.demo.domain.DTO.RegionWalletDTO;
import com.example.demo.domain.entity.User;
import com.example.demo.domain.entity.UserGoldRecord;
import com.example.demo.domain.vo.coin.*;
@ -12,7 +12,6 @@ import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.service.Temporary.RedService;
import com.example.demo.service.coin.ConsumeService;
import com.example.demo.service.coin.MarketService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -23,8 +22,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -151,6 +148,10 @@ public class ConsumeServiceImpl implements ConsumeService {
if (goldUser == null) {
return Result.error("用户不存在");
}
List<RegionWalletDTO> regionWallets = consumeMapper.selectRegionWalletByJwcode(consumeUser.getJwcode());
if(regionWallets == null || regionWallets.isEmpty()){
return Result.error("用户钱包不存在");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();
String orderNumber = UUID.randomUUID().toString().replaceAll("-", "");
@ -226,14 +227,6 @@ public class ConsumeServiceImpl implements ConsumeService {
else if (consumeUser.getPermanentGold().compareTo(BigDecimal.ZERO)==0&&consumeUser.getFreeGold().compareTo(BigDecimal.ZERO)==0&&consumeUser.getTaskGold().compareTo(BigDecimal.ZERO)==0){
GoldTistV2.addCoinRecordNew(String.valueOf(consumeUser.getJwcode()), consumeUser.getRemark(),consumeUser.getAdminName(),consumeUser.getGoodsName());}
RegionWallet wallet = consumeMapper.selectRegionWalletByJwcode(consumeUser.getJwcode());
if(wallet == null){
}
consumeMapper.add(userGoldRecord);
consumeMapper.updateUserGold(userGoldRecord);
User user = new User();

10
src/main/resources/application-test.yml

@ -79,11 +79,11 @@ spring:
trusted-packages: com.example.demo.domain.DTO
data:
redis:
database: 0
host: localhost
port: 6379
password: 123456
# redis:
# database: 0
# host: localhost
# port: 6379
# password: 123456
lettuce:
pool:

31
src/main/resources/mapper/ConsumeMapper.xml

@ -342,17 +342,26 @@
</update>
<select id="selectRegionWalletByJwcode" resultType="com.example.demo.domain.entity.RegionWallet">
SELECT id,
jwcode,
wallet_id,
current_permanent_gold,
current_free_june
current_free_december,
current_task_gold
FROM user_region_wallet
WHERE jwcode = #{jwcode}
</select>
<select id="selectRegionWalletByJwcode" resultType="com.example.demo.domain.DTO.RegionWalletDTO">
SELECT urw.id,
urw.jwcode,
urw.wallet_id,
urw.current_permanent_gold,
urw.current_free_june,
urw.current_free_december,
urw.current_task_gold,
w.priority
FROM user_region_wallet urw
left join wallet w on urw.wallet_id = w.id
WHERE jwcode = #{jwcode}
order by w.priority
</select>
<select id="selectWallet" resultType="com.example.demo.domain.entity.Wallet">
SELECT id,
wallet_name,
priority
FROM wallet
</select>
<insert id="createRegionWallet" parameterType="java.lang.Integer">
INSERT INTO user_region_wallet (jwcode, wallet_id, current_permanent_gold, current_free_june, current_free_december, current_task_gold)
SELECT #{jwcode}, 1, u.current_permanent_gold, u.current_free_june, u.current_free_december, u.current_task_gold

Loading…
Cancel
Save