无关风月
2024-12-31 18dc42cb6b4b4dbfa66a8b893aba097743fd8c26
guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserController.java
@@ -636,8 +636,6 @@
        Integer id = appUserService.getAppUser().getId();
        BigDecimal balance = appUserService.getAppUser().getBalance();
        walletVO.setBalance(balance);
        if (!StringUtils.hasLength(type)){
            // 查询全部
            Wrapper<Recharge> eq1 = new EntityWrapper<Recharge>()
                    .eq("userId", id)
                    .eq("state", 2);
@@ -670,17 +668,17 @@
                LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                eq2.ge("insertTime", startDate).le("insertTime", endDate);
            }
//        List<OrderCourse> orderCourses = orderCourseService.selectList(eq2);
//        for (OrderCourse orderCours : orderCourses) {
//            UserDetailVO userDetailVO = new UserDetailVO();
//            userDetailVO.setAmount("-"+orderCours.getRealMoney());
//            userDetailVO.setType("购买课程");
//            userDetailVO.setInsertTime1(orderCours.getInsertTime());
//            SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
//            String format1 = format.format(orderCours.getInsertTime());
//            userDetailVO.setInsertTime(format1);
//            detail.add(userDetailVO);
//        }
        List<OrderCourse> orderCourses = orderCourseService.selectList(eq2);
        for (OrderCourse orderCours : orderCourses) {
            UserDetailVO userDetailVO = new UserDetailVO();
            userDetailVO.setAmount("-"+orderCours.getRealMoney());
            userDetailVO.setType("购买课程");
            userDetailVO.setInsertTime1(orderCours.getInsertTime());
            SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
            String format1 = format.format(orderCours.getInsertTime());
            userDetailVO.setInsertTime(format1);
            detail.add(userDetailVO);
        }
            Wrapper<Order> eq = new EntityWrapper<Order>()
                    .eq("userId", id)
//                .eq("payType", 3)
@@ -692,19 +690,19 @@
                LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                eq.ge("insertTime", startDate).le("insertTime", endDate);
            }
//        List<Order> orders = orderService.selectList(eq);
        List<Order> orders = orderService.selectList(eq);
            // 查询购买套餐记录 只查询钱包支付的
//        for (Order order : orders) {
//            UserDetailVO userDetailVO = new UserDetailVO();
//            userDetailVO.setAmount("-"+order.getRealMoney());
//            userDetailVO.setType("购买套餐");
//            userDetailVO.setInsertTime1(order.getInsertTime());
//            SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
//            String format1 = format.format(order.getInsertTime());
//            userDetailVO.setInsertTime(format1);
//            detail.add(userDetailVO);
//        }
        for (Order order : orders) {
            UserDetailVO userDetailVO = new UserDetailVO();
            userDetailVO.setAmount("-"+order.getRealMoney());
            userDetailVO.setType("购买套餐");
            userDetailVO.setInsertTime1(order.getInsertTime());
            SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
            String format1 = format.format(order.getInsertTime());
            userDetailVO.setInsertTime(format1);
            detail.add(userDetailVO);
        }
            // 查询提现记录
            Wrapper<Withdrawal> eq3 = new EntityWrapper<Withdrawal>()
                    .eq("userId", id);
@@ -786,144 +784,6 @@
            List<UserDetailVO> testing = testing(sortedList.size(), pageNum, pageSize, sortedList);
            walletVO.setDetails(testing);
            return ResultUtil.success(walletVO);
        }else{
            String[] split = type.split(",");
            List<String> collect = Arrays.stream(split).collect(Collectors.toList());
            if (collect.contains("1")){
                // 查询提现记录
                Wrapper<Withdrawal> eq3 = new EntityWrapper<Withdrawal>()
                        .eq("userId", id);
                // 如果传递了年份和月份,则添加时间条件
                if (year != null && month != null) {
                    LocalDate startDate = LocalDate.of(year, month, 1);
                    LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                    eq3.ge("insertTime", startDate).le("insertTime", endDate);
                }
                List<Withdrawal> withdrawals = withdrawalService.selectList(eq3);
                for (Withdrawal withdrawal : withdrawals) {
                    UserDetailVO userDetailVO = new UserDetailVO();
                    switch (withdrawal.getState()){
                        case 1:
                            userDetailVO.setAmount("-"+withdrawal.getAmount());
                            userDetailVO.setType("提现");
                            break;
                        case 2:
                            userDetailVO.setAmount("-"+withdrawal.getAmount());
                            userDetailVO.setType("提现");
                            break;
                        case 3:
                            userDetailVO.setAmount("+"+withdrawal.getAmount());
                            userDetailVO.setType("提现失败");
                            break;
                    }
                    userDetailVO.setInsertTime1(withdrawal.getInsertTime());
                    SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
                    String format1 = format.format(withdrawal.getInsertTime());
                    userDetailVO.setInsertTime(format1);
                    detail.add(userDetailVO);
                }
            }
            if (collect.contains("2")){
                // 查询是否有邀请过用户 获得消费奖励
                Wrapper<Invite> eq4 = new EntityWrapper<Invite>()
                        .eq("giftUserId", id);
                // 如果传递了年份和月份,则添加时间条件
                if (year != null && month != null) {
                    LocalDate startDate = LocalDate.of(year, month, 1);
                    LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                    eq4.ge("insertTime", startDate).le("insertTime", endDate);
                }
                eq4.eq("type",1);
                List<Invite> giftUserId = inviteService.selectList(eq4);
                for (Invite invite : giftUserId) {
                    UserDetailVO userDetailVO = new UserDetailVO();
                    userDetailVO.setAmount("+"+invite.getAmount());
                    AppUser appUser = appUserService.selectById(invite.getUserId());
                    userDetailVO.setType("好友消费:("+appUser.getName()+"消费了"+invite.getConsume()+"元)");
                    userDetailVO.setInsertTime1(invite.getInsertTime());
                    SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
                    String format1 = format.format(invite.getInsertTime());
                    userDetailVO.setInsertTime(format1);
                    detail.add(userDetailVO);
                }
            }
            if (collect.contains("3")){
// 查询是否有邀请过用户 获得消费奖励
                Wrapper<Invite> eq4 = new EntityWrapper<Invite>()
                        .eq("giftUserId", id);
                // 如果传递了年份和月份,则添加时间条件
                if (year != null && month != null) {
                    LocalDate startDate = LocalDate.of(year, month, 1);
                    LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                    eq4.ge("insertTime", startDate).le("insertTime", endDate);
                }
                eq4.eq("type",1);
                List<Invite> giftUserId = inviteService.selectList(eq4);
                for (Invite invite : giftUserId) {
                    UserDetailVO userDetailVO = new UserDetailVO();
                    userDetailVO.setAmount("+"+invite.getAmount());
                    AppUser appUser = appUserService.selectById(invite.getUserId());
                    userDetailVO.setType("好友消费:("+appUser.getName()+"消费了"+invite.getConsume()+"元)");
                    userDetailVO.setInsertTime1(invite.getInsertTime());
                    SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
                    String format1 = format.format(invite.getInsertTime());
                    userDetailVO.setInsertTime(format1);
                    detail.add(userDetailVO);
                }
            }
            if (collect.contains("4")){
                Wrapper<Recharge> eq1 = new EntityWrapper<Recharge>()
                        .eq("userId", id)
                        .eq("state", 2);
                // 如果传递了年份和月份,则添加时间条件
                if (year != null && month != null) {
                    LocalDate startDate = LocalDate.of(year, month, 1);
                    LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                    eq1.ge("insertTime", startDate).le("insertTime", endDate);
                }
                // 查询充值记录
                List<Recharge> recharges = rechargeService.selectList(eq1);
                for (Recharge recharge : recharges) {
                    UserDetailVO userDetailVO = new UserDetailVO();
                    userDetailVO.setAmount("+"+recharge.getAmount().toString());
                    userDetailVO.setType("充值");
                    userDetailVO.setInsertTime1(recharge.getInsertTime());
                    SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
                    String format1 = format.format(recharge.getInsertTime());
                    userDetailVO.setInsertTime(format1);
                    detail.add(userDetailVO);
                }
            }
            if (collect.contains("5")){
                // 查询红包发放记录
                Wrapper<RedPackage> eq5 = new EntityWrapper<RedPackage>();
                if (year != null && month != null) {
                    LocalDate startDate = LocalDate.of(year, month, 1);
                    LocalDate endDate = startDate.plusMonths(1).minusDays(1);
                    eq5.ge("insertTime", startDate).le("insertTime", endDate);
                }
                List<RedPackage> redPackages = redPackageService.selectList(eq5);
                for (RedPackage redPackage : redPackages) {
                    if (appUserService.getAppUser().getInsertTime().compareTo(redPackage.getInsertTime())>0){
                        continue;
                    }
                    UserDetailVO userDetailVO = new UserDetailVO();
                    userDetailVO.setAmount("+"+redPackage.getAmount());
                    userDetailVO.setType("平台红包");
                    userDetailVO.setInsertTime1(redPackage.getInsertTime());
                    SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
                    String format1 = format.format(redPackage.getInsertTime());
                    userDetailVO.setInsertTime(format1);
                    detail.add(userDetailVO);
                }
            }
            List<UserDetailVO> sortedList = detail.stream()
                    .sorted(Comparator.comparing(UserDetailVO::getInsertTime1).reversed())
                    .collect(Collectors.toList());
            List<UserDetailVO> testing = testing(sortedList.size(), pageNum, pageSize, sortedList);
            walletVO.setDetails(testing);
            return ResultUtil.success(walletVO);
        }
    }
    @ResponseBody
    @PostMapping("/base/appUser/appleWalletCourse")