|
@@ -1,7 +1,12 @@
|
|
|
package cn.iocoder.yudao.module.pay.controller.admin.wallet;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
|
|
+import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
|
|
|
+import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
|
|
import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.wallet.PayWalletPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.wallet.PayWalletRespVO;
|
|
|
import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.wallet.PayWalletUserReqVO;
|
|
@@ -19,8 +24,14 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.validation.Valid;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
+import static cn.iocoder.yudao.framework.common.enums.UserTypeEnum.MEMBER;
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
|
|
|
|
|
@Tag(name = "管理后台 - 用户钱包")
|
|
|
@RestController
|
|
@@ -31,21 +42,37 @@ public class PayWalletController {
|
|
|
|
|
|
@Resource
|
|
|
private PayWalletService payWalletService;
|
|
|
+ @Resource
|
|
|
+ private MemberUserApi memberUserApi;
|
|
|
|
|
|
@GetMapping("/get")
|
|
|
@PreAuthorize("@ss.hasPermission('pay:wallet:query')")
|
|
|
@Operation(summary = "获得用户钱包明细")
|
|
|
public CommonResult<PayWalletRespVO> getWallet(PayWalletUserReqVO reqVO) {
|
|
|
- PayWalletDO wallet = payWalletService.getOrCreateWallet(reqVO.getUserId(), reqVO.getUserType());
|
|
|
- return success(PayWalletConvert.INSTANCE.convert02(wallet));
|
|
|
+ PayWalletDO wallet = payWalletService.getOrCreateWallet(reqVO.getUserId(), MEMBER.getValue());
|
|
|
+ MemberUserRespDTO memberUser = memberUserApi.getUser(reqVO.getUserId());
|
|
|
+ String nickname = memberUser == null ? "" : memberUser.getNickname();
|
|
|
+ String avatar = memberUser == null ? "" : memberUser.getAvatar();
|
|
|
+ return success(PayWalletConvert.INSTANCE.convert02(nickname, avatar, wallet));
|
|
|
}
|
|
|
|
|
|
@GetMapping("/page")
|
|
|
@Operation(summary = "获得会员钱包分页")
|
|
|
@PreAuthorize("@ss.hasPermission('pay:wallet:query')")
|
|
|
public CommonResult<PageResult<PayWalletRespVO>> getWalletPage(@Valid PayWalletPageReqVO pageVO) {
|
|
|
- PageResult<PayWalletDO> pageResult = payWalletService.getWalletPage(pageVO);
|
|
|
- return success(PayWalletConvert.INSTANCE.convertPage(pageResult));
|
|
|
+ if (StrUtil.isNotEmpty(pageVO.getNickname())) {
|
|
|
+ Set<Long> userIds = CollectionUtils.convertSet(memberUserApi.getUserListByNickname(pageVO.getNickname()),
|
|
|
+ MemberUserRespDTO::getId);
|
|
|
+ pageVO.setUserIds(userIds);
|
|
|
+ }
|
|
|
+ // 暂时支持查询 userType 会员类型。管理员类型还不知道使用场景
|
|
|
+ PageResult<PayWalletDO> pageResult = payWalletService.getWalletPage(MEMBER.getValue(),pageVO);
|
|
|
+ if (CollectionUtil.isEmpty(pageResult.getList())) {
|
|
|
+ return success(new PageResult<>(pageResult.getTotal()));
|
|
|
+ }
|
|
|
+ List<Long> userIds = convertList(pageResult.getList(), PayWalletDO::getUserId);
|
|
|
+ Map<Long, MemberUserRespDTO> userMap = convertMap(memberUserApi.getUserList(userIds),MemberUserRespDTO::getId);
|
|
|
+ return success(PayWalletConvert.INSTANCE.convertPage(pageResult, userMap));
|
|
|
}
|
|
|
|
|
|
}
|