xuhy
2023-03-23 8a66f76e0b0af13ccdba14f1d38eed91139ca124
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
@@ -176,36 +176,8 @@
        // 是否异常
        wrapper.eq("is_exception",2);
        List<TAppUser> tAppUsers = tAppUserService.selectList(wrapper);
        List<TAppUserResp> tAppUserRespList = new ArrayList<>(tAppUsers.size());
        for (TAppUser tAppUser : tAppUsers) {
            TAppUserResp tAppUserResp = new TAppUserResp();
            BeanUtils.copyProperties(tAppUser,tAppUserResp);
            // 查询当前用户优惠券数量
            List<TUserToCoupon> tUserToCoupons = tUserToCouponService.selectList(new EntityWrapper<TUserToCoupon>().eq("userId", tAppUser.getId()));
            int couponTotal = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
            int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();
//            List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUser.getId()));
//            List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
            tAppUserResp.setCouponSum(couponTotal);
            tAppUserResp.setNotUsedCount(validCount);
            List<TOrder> orders = tOrderService.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUser.getId()).orderBy(true,"createTime",false));
            if(!CollectionUtils.isEmpty(orders)){
                List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState()))
                        .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() ||
                                OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect1)) {
                    tAppUserResp.setConsumeSum(collect1.size());
                    // 总消费金额
                    collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add)
                            .ifPresent(tAppUserResp::setConsumePrice);
                }
            }
            tAppUserRespList.add(tAppUserResp);
        }
        return tAppUserRespList;
        return tAppUserService.getTAppUserResp(tAppUsers);
    }
@@ -320,14 +292,16 @@
            for (int i = 0; i < list.size(); i++) {
                TAppUser d = list.get(i);
                values[i] = new String[title.length];
                values[i][0] = d.getId().toString();
                values[i][0] = String.valueOf(d.getId());
                values[i][1] = d.getNickname();
                values[i][2] = d.getPhone();
                Integer sex = d.getSex();
                if(Objects.nonNull(sex)){
                if(1 == sex){
                    values[i][3] = "男";
                }else if(2 == sex){
                    values[i][3] = "女";
                    }
                }else {
                    values[i][3] = "未知";
                }
@@ -336,8 +310,8 @@
                values[i][6] = d.getUnionid();
                values[i][7] = d.getEmergencyContact();
                values[i][8] = d.getEmergencyPhone();
                values[i][9] = d.getAccountBalance().toString();
                values[i][10] = d.getUserTagId().toString();
                values[i][9] = String.valueOf(d.getAccountBalance());
                values[i][10] = String.valueOf(d.getUserTagId());
                Integer status1 = d.getStatus();
                if(1 == status1){
                    values[i][11] = "正常";
@@ -383,7 +357,7 @@
            wrapper.eq("is_exception",2);
            List<TAppUser> list = tAppUserService.selectList(wrapper);
            List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size());
            /*List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size());
            for (TAppUser tAppUser : list) {
                TAppUserExceptionExport export = new TAppUserExceptionExport();
                BeanUtils.copyProperties(tAppUser,export);
@@ -394,7 +368,21 @@
                tCoupons = tCoupons.stream().filter(coupon->coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
                // 剩余优惠券
                export.setRemainingCoupons(tCoupons.size());
                // TODO 查询消费记录
                // 查询消费记录
                exportList.add(export);
            }*/
            List<TAppUserResp> tAppUserRespList = tAppUserService.getTAppUserResp(list);
            List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size());
            for (TAppUserResp tAppUserResp : tAppUserRespList) {
                TAppUserExceptionExport export = new TAppUserExceptionExport();
                BeanUtils.copyProperties(tAppUserResp,export);
                // 优惠券总数
                export.setCouponsSum(tAppUserResp.getCouponSum());
                // 剩余优惠券
                export.setRemainingCoupons(tAppUserResp.getNotUsedCount());
                export.setConsumptionTimes(tAppUserResp.getConsumeSum());
                export.setHistoricalConsumption(tAppUserResp.getConsumePrice());
                export.setLastConsumptionTime(tAppUserResp.getLastConsumptionTime());
                exportList.add(export);
            }
            String[][] values = new String[list.size()][];
@@ -405,10 +393,10 @@
                values[i][1] = d.getId().toString();
                values[i][2] = d.getNickname();
                values[i][3] = d.getPhone();
                values[i][4] = d.getRemainingCoupons().toString();
                values[i][5] = d.getCouponsSum().toString();
                values[i][6] = d.getConsumptionTimes().toString();
                values[i][7] = d.getHistoricalConsumption().toString();
                values[i][4] = String.valueOf(d.getRemainingCoupons());
                values[i][5] = String.valueOf(d.getCouponsSum());
                values[i][6] = String.valueOf(Objects.nonNull(d.getConsumptionTimes())?d.getConsumptionTimes():0);
                values[i][7] = String.valueOf(Objects.nonNull(d.getHistoricalConsumption())?d.getHistoricalConsumption():0);
                if(Objects.nonNull(d.getLastConsumptionTime())){
                    values[i][8] = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(d.getLastConsumptionTime());
                }else {