Browse Source

20260306用户余额

huangqizheng/feature-20260309142559-钱包退款
sunjiabei 1 month ago
parent
commit
e6d3153166
  1. 4
      src/main/java/com/example/demo/domain/DTO/WalletDTO.java
  2. 4
      src/main/java/com/example/demo/domain/entity/User.java
  3. 2
      src/main/java/com/example/demo/mapper/coin/GoldDetailMapper.java
  4. 9
      src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java
  5. 13
      src/main/resources/mapper/GoldDetailMapper.xml

4
src/main/java/com/example/demo/domain/DTO/WalletDTO.java

@ -19,6 +19,8 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class WalletDTO { public class WalletDTO {
private Integer id; //钱包id
private Integer id;
private String walletName; //钱包名称
private Integer walletId;
private BigDecimal permanentGold; private BigDecimal permanentGold;
} }

4
src/main/java/com/example/demo/domain/entity/User.java

@ -2,6 +2,7 @@ package com.example.demo.domain.entity;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.example.demo.domain.DTO.WalletDTO;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data; import lombok.Data;
@ -69,6 +70,9 @@ public class User implements Serializable {
private Integer UserFlag;//是否员工号 private Integer UserFlag;//是否员工号
@ExcelIgnore @ExcelIgnore
private Set<String> roles = new HashSet<>(); // 用户角色集合 private Set<String> roles = new HashSet<>(); // 用户角色集合
@ExcelIgnore
private List<WalletDTO> walletList; // 钱包列表
public boolean hasRole(String role) { public boolean hasRole(String role) {
return roles != null && roles.contains(role); return roles != null && roles.contains(role);
} }

2
src/main/java/com/example/demo/mapper/coin/GoldDetailMapper.java

@ -1,5 +1,6 @@
package com.example.demo.mapper.coin; package com.example.demo.mapper.coin;
import com.example.demo.domain.DTO.WalletDTO;
import com.example.demo.domain.entity.User; import com.example.demo.domain.entity.User;
import com.example.demo.domain.vo.coin.Gold; import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.GoldDetail; import com.example.demo.domain.vo.coin.GoldDetail;
@ -46,4 +47,5 @@ public interface GoldDetailMapper {
@Param("fileName") String fileName, @Param("fileName") String fileName,
@Param("dataNum") Integer dataNum @Param("dataNum") Integer dataNum
); );
List<WalletDTO> getWalletDTOList(String jwcode);
} }

9
src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java

@ -5,6 +5,7 @@ import com.example.demo.Util.LanguageTranslationUtil;
import com.example.demo.Util.RedisUtil; import com.example.demo.Util.RedisUtil;
import com.example.demo.domain.DTO.GoldDetailDTO; import com.example.demo.domain.DTO.GoldDetailDTO;
import com.example.demo.domain.DTO.GoldUserDTO; import com.example.demo.domain.DTO.GoldUserDTO;
import com.example.demo.domain.DTO.WalletDTO;
import com.example.demo.domain.entity.Admin; import com.example.demo.domain.entity.Admin;
import com.example.demo.domain.entity.User; import com.example.demo.domain.entity.User;
import com.example.demo.exception.SystemException; import com.example.demo.exception.SystemException;
@ -66,8 +67,14 @@ public class GoldDetailServiceImpl implements GoldDetailService {
@Override @Override
public PageInfo<User> getGold(Integer pageNum, Integer pageSize, User user) { public PageInfo<User> getGold(Integer pageNum, Integer pageSize, User user) {
PageHelper.startPage(pageNum, pageSize); //必须要直接跟mapper PageHelper.startPage(pageNum, pageSize); //必须要直接跟mapper
List<User> list = goldDetailMapper.getGold(user); List<User> list = goldDetailMapper.getGold(user);
// 为每个用户填充钱包列表
for(User u : list) {
if(u != null && u.getJwcode() != null) {
List<WalletDTO> walletList = goldDetailMapper.getWalletDTOList(String.valueOf(u.getJwcode()));
u.setWalletList(walletList);
}
}
return new PageInfo<>(list); return new PageInfo<>(list);
} }

13
src/main/resources/mapper/GoldDetailMapper.xml

@ -268,4 +268,17 @@
</if> </if>
</where> </where>
</select> </select>
<select id="getWalletDTOList" resultType="com.example.demo.domain.DTO.WalletDTO">
SELECT
urw.id,
w.wallet_name,
urw.wallet_id,
ROUND(IFNULL(urw.current_permanent_gold, 0) / 100.0, 2) AS permanentGold
FROM user_region_wallet urw
left join wallet w on w.id=urw.wallet_id
WHERE urw.jwcode = #{jwcode}
ORDER BY urw.wallet_id
</select>
</mapper> </mapper>
Loading…
Cancel
Save