无关风月
2024-10-14 b60e601d62c0e2d5c4fd1df9f12fa09f2bf99987
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWalletRecordController.java
@@ -12,15 +12,19 @@
import com.xinquan.order.api.feign.RemoteOrderService;
import com.xinquan.system.api.domain.AppUser;
import com.xinquan.system.api.domain.AppUserWalletRecord;
import com.xinquan.system.api.domain.AppUserWithdraw;
import com.xinquan.system.api.domain.vo.InviteRankListVO;
import com.xinquan.system.api.domain.vo.OrderDetailVO;
import com.xinquan.system.api.domain.vo.OrderListVO;
import com.xinquan.user.api.domain.dto.UserBalanceDetailDTO;
import com.xinquan.user.api.domain.dto.UserChildDTO;
import com.xinquan.user.service.AppUserService;
import com.xinquan.user.service.AppUserWalletRecordService;
import com.xinquan.user.service.AppUserWithdrawService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.expression.spel.ast.OpNE;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -45,7 +49,48 @@
    @Resource
    private AppUserWalletRecordService walletRecordService;
    @Resource
    private AppUserWithdrawService appUserWithdrawService;
    @Resource
    private AppUserWalletRecordService appUserWalletRecordService;
    @Resource
    private RemoteOrderService remoteOrderService;
    @PostMapping("/childUserList")
    @ApiOperation(value = "用户详情-下级用户列表",tags = "管理后台-用户管理")
    public R<PageDTO<AppUser>> childUserList(@RequestBody UserChildDTO dto) {
        String startTime = null;
        String endTime = null;
        if (org.springframework.util.StringUtils.hasLength(dto.getTime())){
            String[] split = dto.getTime().split(" - ");
            startTime = split[0]+"00:00:00";
            endTime = split[1]+"23:59:59";
        }
        String userId = dto.getUid();
        LambdaQueryWrapper<AppUser> appUserWalletRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
        appUserWalletRecordLambdaQueryWrapper.between(startTime!=null,BaseModel::getCreateTime,startTime,endTime);
        appUserWalletRecordLambdaQueryWrapper.eq(AppUser::getInviteUserId, userId);
        appUserWalletRecordLambdaQueryWrapper.like(StringUtils.hasLength(dto.getCellPhone()),AppUser::getCellPhone,dto.getCellPhone());
        appUserWalletRecordLambdaQueryWrapper.like(StringUtils.hasLength(dto.getNickName()),AppUser::getNickname,dto.getNickName());
        appUserWalletRecordLambdaQueryWrapper.orderByDesc(BaseModel::getCreateTime);
        Page<AppUser> page = appUserService
                .page(new Page<>(dto.getPageCurr(), dto.getPageSize()),appUserWalletRecordLambdaQueryWrapper);
        if (CollUtils.isEmpty(page.getRecords())){
            PageDTO<AppUser> empty = PageDTO.empty(page);
            return R.ok(empty);
        }
        for (AppUser record : page.getRecords()) {
            // 查询该用户带来收益
            List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, record.getId())
                    .eq(AppUserWalletRecord::getChildAppUserId, record.getUserId()).list();
            BigDecimal bigDecimal = new BigDecimal("0");
            for (AppUserWalletRecord appUserWalletRecord : list) {
                if (appUserWalletRecord.getAmount()!=null && appUserWalletRecord.getChangeType() == 1){
                    bigDecimal = bigDecimal.add(appUserWalletRecord.getAmount());
                }
                record.setMoney(bigDecimal);
            }
        }
        return R.ok(PageDTO.of(page, AppUser.class));
    }
    @PostMapping("/userBalanceList")
    @ApiOperation(value = "用户详情-余额明细",tags = "管理后台-用户管理")
    public R<PageDTO<OrderListVO>> userBalanceList(@RequestBody UserBalanceDetailDTO dto) {
@@ -114,33 +159,34 @@
        AppUserWalletRecord byId = walletRecordService.getById(uid);
        if (byId.getOrderId()!=null){
            if (byId.getReason().equals("提现")){
                // 远程查询提现记录
                AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId());
                orderDetailVO.setType("提现");
                orderDetailVO.setPayOrderNo(byId1.getSerialNo());
                orderDetailVO.setWithdrawType(byId1.getWithdrawType());
                orderDetailVO.setAmount(byId1.getAmount());
                orderDetailVO.setChangeType(byId.getChangeType());
                orderDetailVO.setPaymentTime(byId1.getUpdateTime());
            }else if (byId.getReason().equals("充值")){
                Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData();
                if (byId.getChildAppUserId() == null && one!=null){
                    if (one.getOrderFrom()!=null){
                        switch (one.getOrderFrom()){
                            case 1:
                                orderDetailVO.setType("购买疗愈");
                                break;
                            case 2:
                                orderDetailVO.setType("购买课程");
                                break;
                            case 3:
                                orderDetailVO.setType("购买会员");
                                break;
                            case 4:
                                orderDetailVO.setType("充值");
                                break;
                        }
                    }
                    orderDetailVO.setType("充值");
                    orderDetailVO.setPayType(one.getPayType());
                    orderDetailVO.setPayOrderNo(one.getPayOrderNo());
                    orderDetailVO.setRemark(one.getRemark());
                    orderDetailVO.setChangeType(byId.getChangeType());
                    orderDetailVO.setAmount(byId.getAmount());
                    orderDetailVO.setPaymentTime(one.getPaymentTime());
                    return R.ok(orderDetailVO);
                }else if (byId.getChildAppUserId()!=null && one!=null){
                }
            }else if (byId.getReason().equals("分佣收益")){
                Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData();
                if (byId.getChildAppUserId()!=null && one!=null){
                    orderDetailVO.setType("分佣");
                    orderDetailVO.setPayOrderNo(one.getPayOrderNo());
                    orderDetailVO.setPaymentTime(byId.getCreateTime());
                    orderDetailVO.setChangeType(byId.getChangeType());
                    orderDetailVO.setAmount(byId.getAmount());
                    orderDetailVO.setRemark(one.getRemark());
                    if (one.getCommissionId()!=null){
                        AppUser appUserById = appUserService.getById(one.getCommissionId());
                        orderDetailVO.setUserName(appUserById.getNickname());
@@ -148,12 +194,19 @@
                    }
                    return R.ok(new OrderDetailVO());
                }
            }else if (byId.getReason().equals("分佣收益")){
            }else if (byId.getReason().equals("提现回退")){
                AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId());
                orderDetailVO.setType("提现回退");
                orderDetailVO.setPayOrderNo(byId1.getSerialNo());
                orderDetailVO.setWithdrawType(byId1.getWithdrawType());
                orderDetailVO.setAmount(byId1.getAmount());
                orderDetailVO.setChangeType(byId.getChangeType());
                orderDetailVO.setPaymentTime(byId1.getUpdateTime());
                return R.ok(new OrderDetailVO());
            }
        }
        }
        return R.ok();
        return R.ok(orderDetailVO);
    }
    @PostMapping("/balanceDetail")
@@ -168,34 +221,34 @@
        AppUserWalletRecord byId = walletRecordService.getById(id);
        if (byId.getOrderId()!=null){
            if (byId.getReason().equals("提现")){
                // 远程查询提现记录
                AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId());
                orderDetailVO.setType("提现");
            }else{
                orderDetailVO.setPayOrderNo(byId1.getSerialNo());
                orderDetailVO.setWithdrawType(byId1.getWithdrawType());
                orderDetailVO.setAmount(byId1.getAmount());
                orderDetailVO.setChangeType(byId.getChangeType());
                orderDetailVO.setPaymentTime(byId1.getUpdateTime());
            }else if (byId.getReason().equals("充值")){
                Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData();
                if (byId.getChildAppUserId() == null && one!=null){
                    orderDetailVO.setId(id);
                    if (one.getOrderFrom()!=null){
                        switch (one.getOrderFrom()){
                            case 1:
                                orderDetailVO.setType("购买疗愈");
                                break;
                            case 2:
                                orderDetailVO.setType("购买课程");
                                break;
                            case 3:
                                orderDetailVO.setType("购买会员");
                                break;
                            case 4:
                                orderDetailVO.setType("充值");
                                break;
                        }
                    }
                    orderDetailVO.setType("充值");
                    orderDetailVO.setPayType(one.getPayType());
                    orderDetailVO.setPayOrderNo(one.getPayOrderNo());
                    orderDetailVO.setRemark(one.getRemark());
                    orderDetailVO.setChangeType(byId.getChangeType());
                    orderDetailVO.setAmount(byId.getAmount());
                    orderDetailVO.setPaymentTime(one.getPaymentTime());
                    return R.ok(orderDetailVO);
                }else if (byId.getChildAppUserId()!=null && one!=null){
                }
            }else if (byId.getReason().equals("分佣收益")){
                Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData();
                if (byId.getChildAppUserId()!=null && one!=null){
                    orderDetailVO.setType("分佣");
                    orderDetailVO.setPayOrderNo(one.getPayOrderNo());
                    orderDetailVO.setPaymentTime(byId.getCreateTime());
                    orderDetailVO.setChangeType(byId.getChangeType());
                    orderDetailVO.setAmount(byId.getAmount());
                    orderDetailVO.setRemark(one.getRemark());
                    if (one.getCommissionId()!=null){
                        AppUser appUserById = appUserService.getById(one.getCommissionId());
                        orderDetailVO.setUserName(appUserById.getNickname());
@@ -203,9 +256,19 @@
                    }
                    return R.ok(new OrderDetailVO());
                }
            }else if (byId.getReason().equals("提现回退")){
                AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId());
                orderDetailVO.setType("提现回退");
                orderDetailVO.setPayOrderNo(byId1.getSerialNo());
                orderDetailVO.setWithdrawType(byId1.getWithdrawType());
                orderDetailVO.setAmount(byId1.getAmount());
                orderDetailVO.setChangeType(byId.getChangeType());
                orderDetailVO.setPaymentTime(byId1.getUpdateTime());
                return R.ok(new OrderDetailVO());
            }
        }
        return R.ok();
        return R.ok(orderDetailVO);
    }
}