无关风月
2024-12-31 0c51a577db337520452022d9d6a22b720ef858d4
xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/management/MgtOrderController.java
@@ -44,6 +44,7 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -159,9 +160,10 @@
        if (status!=0){
            orderLambdaQueryWrapper.eq(Order::getPaymentStatus, status);
        }
        orderLambdaQueryWrapper.eq(Order::getPaymentStatus, 2);
        if (status!=0){
            orderLambdaQueryWrapper.eq(Order::getPaymentStatus, status);
        }
        orderLambdaQueryWrapper.in(Order::getOrderFrom,longs);
        orderLambdaQueryWrapper.ne(Order::getRefundStatus, 3);
        List<Order> list = orderService.list(orderLambdaQueryWrapper);
        return R.ok(list);
    }
@@ -184,231 +186,13 @@
        List<Integer> payType3 = new ArrayList<>();
        payType3.add(3);
        payType3.add(7);
        List<Integer> payType4 = new ArrayList<>();
        payType4.add(4);
        payType4.add(5);
        payType4.add(6);
        payType4.add(7);
        LambdaQueryWrapper<Order> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (StringUtils.hasLength(courseDTO.getIds())){
            courseLambdaQueryWrapper.in(Order::getId, Arrays.asList(courseDTO.getIds().split(",")));
        }
        courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        if (courseDTO.getPayType()!=null){
            switch (courseDTO.getPayType()){
                case 1:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType1);
                    break;
                case 2:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType2);
                    break;
                case 3:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType3);
                    break;
                case 4:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType4);
                    break;
            }
        }
        courseLambdaQueryWrapper.eq(courseDTO.getPaymentStatus()!=null,Order::getPaymentStatus, courseDTO.getPaymentStatus());
        courseLambdaQueryWrapper.eq(courseDTO.getOrderFrom()!=null,Order::getOrderFrom, courseDTO.getOrderFrom());
        courseLambdaQueryWrapper.eq(courseDTO.getUid()!=null&&(!courseDTO.getUid().isEmpty()),Order::getAppUserId, courseDTO.getUid());
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getBuyContent())){
            // 查询购买内容
            List<Long> collect1 = orderService.lambdaQuery().like(Order::getBuyContent, courseDTO.getBuyContent()).list().stream()
                    .map(Order::getId).collect(Collectors.toList());
            List<Long> collect2 = orderService.lambdaQuery().like(Order::getBizOrderNo, courseDTO.getBuyContent()).list().stream()
                    .map(Order::getId).collect(Collectors.toList());
            List<Long> data = remoteCourseService.getCourseIdsByName(courseDTO.getBuyContent()).getData();
            if (!data.isEmpty()){
                List<Long> collect3 = orderService.lambdaQuery().in(Order::getBusinessId, data)
                        .eq(Order::getOrderFrom, 2)
                        .list().stream()
                        .map(Order::getId).collect(Collectors.toList());
                if (!collect3.isEmpty()){
                    collect1.addAll(collect3);
                }
            }
            List<Long> data1 = remoteMeditationService.getMeditationIdsByName(courseDTO.getBuyContent()).getData();
            if (!data1.isEmpty()){
                List<Long> collect3 = orderService.lambdaQuery().in(Order::getBusinessId, data1)
                        .eq(Order::getOrderFrom, 1)
                        .list().stream()
                        .map(Order::getId).collect(Collectors.toList());
                if (!collect3.isEmpty()){
                    collect1.addAll(collect3);
                }
            }
            collect1.addAll(collect2);
            List<Long> collect = collect1.stream().distinct().collect(Collectors.toList());
            if (collect.isEmpty()){
                collect.add(-1L);
            }
            courseLambdaQueryWrapper.in(Order::getId,collect);
        }
        courseLambdaQueryWrapper.orderByDesc(Order::getCreateTime);
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getUserNameOrPhone())){
            List<Long> collect = remoteAppUserService.getAppUserByNameOrPhone(courseDTO.getUserNameOrPhone()).getData();
            if (collect.isEmpty()){
                collect.add(-1L);
            }
            courseLambdaQueryWrapper.in(Order::getAppUserId, collect);
        }
        List<Order> page = orderService.list(courseLambdaQueryWrapper);
        List<AppUserWithdraw> data2 = remoteAppUserService.getWithdraw(courseDTO).getData();
        List<WaterExport> waterExports = new ArrayList<>();
        for (AppUserWithdraw appUserWithdraw : data2) {
            Order order = new Order();
            order.setId(appUserWithdraw.getId());
            order.setBizOrderNo(appUserWithdraw.getCode());
            order.setUid(appUserWithdraw.getId()+"");
            order.setBuyContent("提现");
            order.setAppUserId(appUserWithdraw.getAppUserId());
            order.setOrderFrom(5);
            order.setPaymentStatus(appUserWithdraw.getWithdrawStatus()+1);
            order.setPayType(4);
            order.setTotalAmount(appUserWithdraw.getAmount());
            order.setRealPayAmount(appUserWithdraw.getAmount());
            order.setPlatformMoney(appUserWithdraw.getAmount().multiply(new BigDecimal("-1")));
            order.setPaymentTime(appUserWithdraw.getWithdrawTime());
            order.setCreateTime(appUserWithdraw.getCreateTime());
            page.add(order);
        }
        for (Order record : page) {
            record.setUid(record.getId().toString());
            record.setPlatformMoney(record.getRealPayAmount().subtract(record.getCommissionAmount()==null?BigDecimal.ZERO:record.getCommissionAmount()));
            AppUser byId1 = remoteAppUserService.getAppUserById(record.getAppUserId()+"").getData();
            if (Objects.nonNull(byId1)){
                record.setUserName(byId1.getNickname());
                record.setCellPhone(byId1.getCellPhone());
            }
            if (record.getOrderFrom()!=null){
                switch (record.getOrderFrom()){
                    case 1:
                        Meditation data = remoteMeditationService.getMeditationById(record.getBusinessId()).getData();
                        if (data!=null){
                            record.setCategoryMeditationName(data.getCategoryName());
                            record.setMeditationTitle(data.getMeditationTitle());
                            record.setIconUrl(data.getIconUrl());
                            record.setDetailDescription(data.getDetailDescription());
                            record.setGeneralPriceMeditation(data.getGeneralPrice());
                            record.setListingStatusMeditation(data.getListingStatus());
                            record.setMeditationUid(data.getId()+"");
                        }
                        break;
                    case 2:
                        Course data1 = remoteCourseService.getCourseById(record.getBusinessId()).getData();
                        if (data1!=null){
                            record.setCategoryCourseName(data1.getCategoryName());
                            record.setCourseTitle(data1.getCourseTitle());
                            record.setCoverUrl(data1.getCoverUrl());
                            record.setTutor(data1.getTutor());
                            record.setCourseChapterCount(data1.getCourseChapterCount());
                            record.setGeneralPriceCourse(data1.getGeneralPrice());
                            record.setListingStatusCourse(data1.getListingStatus());
                            record.setCourseUid(data1.getId()+"");
                        }
                        break;
                    case 3:
                        record.setBuyContent(record.getBuyContent());
                        record.setGeneralPriceVip(record.getRealPayAmount());
                        break;
                    case 4:
                        record.setBuyContent("余额充值");
                        record.setPlatformMoney(record.getRealPayAmount()!=null?record.getRealPayAmount()
                                .subtract(record.getCommissionAmount()!=null?record.getCommissionAmount():BigDecimal.ZERO):BigDecimal.ZERO);
                        break;
                }
            }
            WaterExport waterExport = new WaterExport();
            waterExport.setCode(record.getBizOrderNo());
            if (Objects.nonNull(byId1)){
                record.setUserName(byId1.getNickname());
                record.setCellPhone(byId1.getCellPhone());
                waterExport.setUserName(byId1.getNickname());
                waterExport.setCellphone(byId1.getCellPhone());
            }
            waterExport.setRealPayAmount("¥"+record.getRealPayAmount());
            waterExport.setCommissionAmount("¥"+record.getCommissionAmount());
            waterExport.setPlatformMoney("¥"+record.getPlatformMoney());
            waterExport.setBuyContent(record.getBuyContent());
            waterExport.setOrderFrom(record.getOrderFrom()+"");
            waterExport.setPayType(record.getPayType());
            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String format = df.format(record.getCreateTime());
            waterExport.setCreateTime(format);
            waterExport.setPaymentStatus(record.getPaymentStatus()+"");
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), WaterExport.class, waterExports);
        HttpServletResponse response = WebUtils.response();
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        ServletOutputStream outputStream = null;
        try {
            String fileName = URLEncoder.encode("收支流水导出.xls", "utf-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setHeader("Pragma", "no-cache");
            response.setHeader("Cache-Control", "no-cache");
            outputStream = response.getOutputStream();
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    @PostMapping("/waterList")
    @ApiOperation(value = "收支流水-分页", tags = {"管理后台-财务管理"})
    public R<Page<Order>> waterList(@RequestBody OrderListDTO courseDTO) {
        String startTime = null;
        String endTime = null;
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getTime())){
            String[] split = courseDTO.getTime().split(" - ");
            startTime = split[0]+" 00:00:00";
            endTime = split[1]+" 23:59:59";
        }
        List<Integer> payType1 = new ArrayList<>();
        payType1.add(1);
        payType1.add(5);
        List<Integer> payType2 = new ArrayList<>();
        payType2.add(2);
        payType2.add(6);
        List<Integer> payType3 = new ArrayList<>();
        payType3.add(3);
        payType3.add(7);
        List<Integer> payType4 = new ArrayList<>();
        payType4.add(4);
        payType4.add(5);
        payType4.add(6);
        payType4.add(7);
        LambdaQueryWrapper<Order> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (startTime!=null){
            courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        }
        if (courseDTO.getPayType()!=null){
            switch (courseDTO.getPayType()){
                case 1:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType1);
                    break;
                case 2:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType2);
                    break;
                case 3:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType3);
                    break;
                case 4:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType4);
                    break;
            }
            courseLambdaQueryWrapper.eq(Order::getPayType, courseDTO.getPayType());
        }
        if (courseDTO.getPaymentStatus()!=null){
            courseLambdaQueryWrapper.eq(Order::getPaymentStatus, courseDTO.getPaymentStatus());
@@ -531,6 +315,260 @@
                }
            }
        }
        List<WaterExport> waterExports = new ArrayList<>();
        for (Order record : page) {
            record.setUid(record.getId().toString());
            record.setPlatformMoney(record.getRealPayAmount().subtract(record.getCommissionAmount()==null?BigDecimal.ZERO:record.getCommissionAmount()));
            AppUser byId1 = remoteAppUserService.getAppUserById(record.getAppUserId()+"").getData();
            if (Objects.nonNull(byId1)){
                record.setUserName(byId1.getNickname());
                record.setCellPhone(byId1.getCellPhone());
            }
            if (record.getOrderFrom()!=null){
                switch (record.getOrderFrom()){
                    case 1:
                        Meditation data = remoteMeditationService.getMeditationById(record.getBusinessId()).getData();
                        if (data!=null){
                            record.setCategoryMeditationName(data.getCategoryName());
                            record.setMeditationTitle(data.getMeditationTitle());
                            record.setIconUrl(data.getIconUrl());
                            record.setDetailDescription(data.getDetailDescription());
                            record.setGeneralPriceMeditation(data.getGeneralPrice());
                            record.setListingStatusMeditation(data.getListingStatus());
                            record.setMeditationUid(data.getId()+"");
                        }
                        break;
                    case 2:
                        Course data1 = remoteCourseService.getCourseById(record.getBusinessId()).getData();
                        if (data1!=null){
                            record.setCategoryCourseName(data1.getCategoryName());
                            record.setCourseTitle(data1.getCourseTitle());
                            record.setCoverUrl(data1.getCoverUrl());
                            record.setTutor(data1.getTutor());
                            record.setCourseChapterCount(data1.getCourseChapterCount());
                            record.setGeneralPriceCourse(data1.getGeneralPrice());
                            record.setListingStatusCourse(data1.getListingStatus());
                            record.setCourseUid(data1.getId()+"");
                        }
                        break;
                    case 3:
                        record.setBuyContent(record.getBuyContent());
                        record.setGeneralPriceVip(record.getRealPayAmount());
                        break;
                    case 4:
                        record.setBuyContent("余额充值");
                        record.setPlatformMoney((record.getRealPayAmount()!=null?record.getRealPayAmount():record.getTotalAmount())
                                .subtract(record.getCommissionAmount()!=null?record.getCommissionAmount():BigDecimal.ZERO));
                        break;
                }
            }
            WaterExport waterExport = new WaterExport();
            waterExport.setCode(record.getBizOrderNo());
            if (Objects.nonNull(byId1)){
                record.setUserName(byId1.getNickname());
                record.setCellPhone(byId1.getCellPhone());
                waterExport.setUserName(byId1.getNickname());
                waterExport.setCellphone(byId1.getCellPhone());
            }
            if (record.getPaymentStatus()!=2){
                waterExport.setRealPayAmount("¥"+0);
                waterExport.setCommissionAmount("¥"+0);
                waterExport.setPlatformMoney("¥"+0);
            }else{
                waterExport.setRealPayAmount("¥"+record.getRealPayAmount());
                waterExport.setCommissionAmount("¥"+(record.getCommissionAmount()==null?new BigDecimal("0")+"":record.getCommissionAmount()+""));
                waterExport.setPlatformMoney("¥"+record.getPlatformMoney());
            }
            waterExport.setBuyContent(record.getBuyContent());
            waterExport.setOrderFrom(record.getOrderFrom()+"");
            waterExport.setPayType(record.getPayType());
            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String format = df.format(record.getCreateTime());
            waterExport.setCreateTime(format);
            waterExport.setPaymentStatus(record.getPaymentStatus()+"");
            waterExports.add(waterExport);
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), WaterExport.class, waterExports);
        HttpServletResponse response = WebUtils.response();
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        ServletOutputStream outputStream = null;
        try {
            String fileName = URLEncoder.encode("收支流水导出.xls", "utf-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setHeader("Pragma", "no-cache");
            response.setHeader("Cache-Control", "no-cache");
            outputStream = response.getOutputStream();
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    @PostMapping("/waterList")
    @ApiOperation(value = "收支流水-分页", tags = {"管理后台-财务管理"})
    public R<Page<Order>> waterList(@RequestBody OrderListDTO courseDTO) {
        String startTime = null;
        String endTime = null;
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getTime())){
            String[] split = courseDTO.getTime().split(" - ");
            startTime = split[0]+" 00:00:00";
            endTime = split[1]+" 23:59:59";
        }
        LambdaQueryWrapper<Order> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (startTime!=null){
            courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        }
        if (StringUtils.hasLength(courseDTO.getPayType())){
            courseLambdaQueryWrapper.in(Order::getPayType,Arrays.asList(courseDTO.getPayType().split(",")));
        }
        if (StringUtils.hasLength(courseDTO.getPaymentStatus())){
            if (courseDTO.getPaymentStatus().equals("4")){
                courseLambdaQueryWrapper.eq(Order::getRefundStatus,3);
            }else{
                courseLambdaQueryWrapper.in(Order::getPaymentStatus, Arrays.asList(courseDTO.getPaymentStatus().split(",")));
            }
        }
        if (StringUtils.hasLength(courseDTO.getOrderFrom())){
            courseLambdaQueryWrapper.in(Order::getOrderFrom, Arrays.asList(courseDTO.getOrderFrom().split(",")));
        }
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getBuyContent())){
            // 查询购买内容
            List<Long> collect1 = orderService.lambdaQuery().like(Order::getBuyContent, courseDTO.getBuyContent()).list().stream()
                    .map(Order::getId).collect(Collectors.toList());
            List<Long> collect2 = orderService.lambdaQuery().like(Order::getBizOrderNo, courseDTO.getBuyContent()).list().stream()
                    .map(Order::getId).collect(Collectors.toList());
            List<Long> data = remoteCourseService.getCourseIdsByName(courseDTO.getBuyContent()).getData();
            if (!data.isEmpty()){
                List<Long> collect3 = orderService.lambdaQuery().in(Order::getBusinessId, data)
                        .eq(Order::getOrderFrom, 2)
                        .list().stream()
                        .map(Order::getId).collect(Collectors.toList());
                if (!collect3.isEmpty()){
                    collect1.addAll(collect3);
                }
            }
            List<Long> data1 = remoteMeditationService.getMeditationIdsByName(courseDTO.getBuyContent()).getData();
            if (!data1.isEmpty()){
                List<Long> collect3 = orderService.lambdaQuery().in(Order::getBusinessId, data1)
                        .eq(Order::getOrderFrom, 1)
                        .list().stream()
                        .map(Order::getId).collect(Collectors.toList());
                if (!collect3.isEmpty()){
                    collect1.addAll(collect3);
                }
            }
            collect1.addAll(collect2);
            List<Long> collect = collect1.stream().distinct().collect(Collectors.toList());
            if (collect.isEmpty()){
                collect.add(-1L);
            }
            courseLambdaQueryWrapper.in(Order::getId,collect);
        }
        courseLambdaQueryWrapper.orderByDesc(Order::getCreateTime);
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getUserNameOrPhone())){
            List<Long> collect = remoteAppUserService.getAppUserByNameOrPhone(courseDTO.getUserNameOrPhone()).getData();
            if (collect.isEmpty()){
                collect.add(-1L);
            }
            courseLambdaQueryWrapper.in(Order::getAppUserId, collect);
        }
        List<Order> page = orderService.list(courseLambdaQueryWrapper);
        List<AppUserWithdraw> data2 = remoteAppUserService.getWithdraw(courseDTO).getData();
        for (AppUserWithdraw appUserWithdraw : data2) {
            Order order = new Order();
            order.setId(appUserWithdraw.getId());
            order.setBizOrderNo(appUserWithdraw.getCode());
            order.setUid(appUserWithdraw.getId()+"");
            order.setBuyContent("提现");
            order.setAppUserId(appUserWithdraw.getAppUserId());
            order.setOrderFrom(5);
            order.setPaymentStatus(appUserWithdraw.getWithdrawStatus()+1);
            order.setPayType(4);
            // 提现订单
            if (appUserWithdraw.getWithdrawStatus()==2){
                order.setRefundStatus(3);
            }else{
                order.setRefundStatus(1);
            }
            order.setTotalAmount(appUserWithdraw.getAmount());
            order.setRealPayAmount(appUserWithdraw.getAmount());
            order.setPlatformMoney(appUserWithdraw.getAmount().multiply(new BigDecimal("-1")));
            order.setPaymentTime(appUserWithdraw.getWithdrawTime());
            order.setCreateTime(appUserWithdraw.getCreateTime());
            page.add(order);
        }
        Page<Order> objectPage = new Page<>();
        objectPage.setTotal(page.size());
        objectPage.setCurrent(courseDTO.getPageCurr());
        objectPage.setSize(courseDTO.getPageSize());
        for (Order record : page) {
            record.setUid(record.getId().toString());
            record.setPlatformMoney((record.getRealPayAmount()!=null?record.getRealPayAmount():record.getTotalAmount()).subtract(record.getCommissionAmount()==null?BigDecimal.ZERO:record.getCommissionAmount()));
            AppUser byId1 = remoteAppUserService.getAppUserById(record.getAppUserId()+"").getData();
            if (Objects.nonNull(byId1)){
                record.setUserName(byId1.getNickname());
                record.setCellPhone(byId1.getCellPhone());
            }
            if (record.getOrderFrom()!=null){
                switch (record.getOrderFrom()){
                    case 1:
                        Meditation data = remoteMeditationService.getMeditationById(record.getBusinessId()).getData();
                        if (data!=null){
                            record.setCategoryMeditationName(data.getCategoryName());
                            record.setMeditationTitle(data.getMeditationTitle());
                            record.setIconUrl(data.getCoverUrl());
                            record.setDetailDescription(data.getDetailDescription());
                            record.setGeneralPriceMeditation(data.getGeneralPrice());
                            record.setListingStatusMeditation(data.getListingStatus());
                            record.setMeditationUid(data.getId()+"");
                        }
                        break;
                    case 2:
                        Course data1 = remoteCourseService.getCourseById(record.getBusinessId()).getData();
                        if (data1!=null){
                            record.setCategoryCourseName(data1.getCategoryName());
                            record.setCourseTitle(data1.getCourseTitle());
                            record.setCoverUrl(data1.getCoverUrl());
                            record.setTutor(data1.getTutor());
                            record.setCourseChapterCount(data1.getCourseChapterCount());
                            record.setGeneralPriceCourse(data1.getGeneralPrice());
                            record.setListingStatusCourse(data1.getListingStatus());
                            record.setCourseUid(data1.getId()+"");
                        }
                        break;
                    case 3:
                        record.setBuyContent(record.getBuyContent());
                        record.setGeneralPriceVip(record.getTotalAmount());
                        break;
                    case 4:
                        record.setBuyContent("充值");
                        break;
                }
            }
            if (record.getPaymentStatus()!=2){
                record.setPlatformMoney(null);
                record.setRealPayAmount(null);
                record.setCommissionAmount(null);
            }
        }
        // 手动分页
        List<Order> testing = testing(page.size(), courseDTO.getPageCurr(), courseDTO.getPageSize(), page);
        objectPage.setRecords(testing);
@@ -574,45 +612,23 @@
            startTime = split[0]+" 00:00:00";
            endTime = split[1]+" 23:59:59";
        }
        List<Integer> payType1 = new ArrayList<>();
        payType1.add(1);
        payType1.add(5);
        List<Integer> payType2 = new ArrayList<>();
        payType2.add(2);
        payType2.add(6);
        List<Integer> payType3 = new ArrayList<>();
        payType3.add(3);
        payType3.add(7);
        List<Integer> payType4 = new ArrayList<>();
        payType4.add(4);
        payType4.add(5);
        payType4.add(6);
        payType4.add(7);
        LambdaQueryWrapper<Order> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (startTime!=null){
            courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        }
        if (courseDTO.getPayType()!=null){
            switch (courseDTO.getPayType()){
                case 1:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType1);
                    break;
                case 2:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType2);
                    break;
                case 3:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType3);
                    break;
                case 4:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType4);
                    break;
        if (StringUtils.hasLength(courseDTO.getPayType())){
            courseLambdaQueryWrapper.in(Order::getPayType,Arrays.asList(courseDTO.getPayType().split(",")));
        }
        if (StringUtils.hasLength(courseDTO.getPaymentStatus())){
            if (courseDTO.getPaymentStatus().equals("4")){
                courseLambdaQueryWrapper.eq(Order::getRefundStatus,3);
            }else{
                courseLambdaQueryWrapper.in(Order::getPaymentStatus, Arrays.asList(courseDTO.getPaymentStatus().split(",")));
            }
        }
        if (courseDTO.getPaymentStatus()!=null){
            courseLambdaQueryWrapper.eq(Order::getPaymentStatus, courseDTO.getPaymentStatus());
        }
        if (courseDTO.getOrderFrom()!=null){
            courseLambdaQueryWrapper.eq(Order::getOrderFrom, courseDTO.getOrderFrom());
        if (StringUtils.hasLength(courseDTO.getOrderFrom())){
            courseLambdaQueryWrapper.in(Order::getOrderFrom, Arrays.asList(courseDTO.getOrderFrom().split(",")));
        }
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getBuyContent())){
            // 查询购买内容
@@ -670,6 +686,12 @@
            order.setOrderFrom(5);
            order.setPaymentStatus(appUserWithdraw.getWithdrawStatus()+1);
            order.setPayType(4);
            // 提现订单
            if (appUserWithdraw.getWithdrawStatus()==2){
                order.setRefundStatus(3);
            }else{
                order.setRefundStatus(1);
            }
            order.setTotalAmount(appUserWithdraw.getAmount());
            order.setRealPayAmount(appUserWithdraw.getAmount());
            order.setPlatformMoney(appUserWithdraw.getAmount().multiply(new BigDecimal("-1")));
@@ -695,9 +717,7 @@
                        break;
                }
            }
            if (record.getRealPayAmount()!=null&& record.getRefundStatus()!=null && record.getRefundStatus()!=3){
                totalMoney = totalMoney.add(record.getRealPayAmount());
            }
                totalMoney = totalMoney.add(record.getTotalAmount());
        }
        orderCountVO.setTotalCount(page.size());
        orderCountVO.setPayCount(payCount);
@@ -739,26 +759,17 @@
        if (startTime!=null){
            courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        }
        if (courseDTO.getPayType()!=null){
            switch (courseDTO.getPayType()){
                case 1:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType1);
                    break;
                case 2:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType2);
                    break;
                case 3:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType3);
                    break;
                case 4:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType4);
                    break;
            }
        }
        courseLambdaQueryWrapper.ne(Order::getOrderFrom, 4);
        courseLambdaQueryWrapper.ne(Order::getOrderFrom, 5);
        courseLambdaQueryWrapper.eq(courseDTO.getPaymentStatus()!=null,Order::getPaymentStatus, courseDTO.getPaymentStatus());
        courseLambdaQueryWrapper.eq(courseDTO.getOrderFrom()!=null,Order::getOrderFrom, courseDTO.getOrderFrom());
        if (StringUtils.hasLength(courseDTO.getPayType())){
            courseLambdaQueryWrapper.in(Order::getPayType,Arrays.asList(courseDTO.getPayType().split(",")));
        }
        if (StringUtils.hasLength(courseDTO.getPaymentStatus())){
            courseLambdaQueryWrapper.in(Order::getPaymentStatus, Arrays.asList(courseDTO.getPaymentStatus().split(",")));
        }
        if (StringUtils.hasLength(courseDTO.getOrderFrom())){
            courseLambdaQueryWrapper.in(Order::getPaymentStatus, Arrays.asList(courseDTO.getOrderFrom().split(",")));
        }
        courseLambdaQueryWrapper.eq(courseDTO.getUid()!=null&&(!courseDTO.getUid().isEmpty()),Order::getAppUserId, courseDTO.getUid());
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getBuyContent())){
            // 查询购买内容
@@ -894,44 +905,19 @@
            startTime = split[0]+" 00:00:00";
            endTime = split[1]+" 23:59:59";
        }
        List<Integer> payType1 = new ArrayList<>();
        payType1.add(1);
        payType1.add(5);
        List<Integer> payType2 = new ArrayList<>();
        payType2.add(2);
        payType2.add(6);
        List<Integer> payType3 = new ArrayList<>();
        payType3.add(3);
        payType3.add(7);
        List<Integer> payType4 = new ArrayList<>();
        payType4.add(4);
        payType4.add(5);
        payType4.add(6);
        payType4.add(7);
        LambdaQueryWrapper<Order> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (startTime!=null){
            courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        }
        if (courseDTO.getPayType()!=null){
            switch (courseDTO.getPayType()){
                case 1:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType1);
                    break;
                case 2:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType2);
                    break;
                case 3:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType3);
                    break;
                case 4:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType4);
                    break;
            }
        if (StringUtils.hasLength(courseDTO.getPayType())){
            courseLambdaQueryWrapper.in(Order::getPayType,Arrays.asList(courseDTO.getPayType().split(",")));
        }
        courseLambdaQueryWrapper.ne(Order::getOrderFrom, 4);
        courseLambdaQueryWrapper.ne(Order::getOrderFrom, 5);
        courseLambdaQueryWrapper.eq(courseDTO.getPaymentStatus()!=null,Order::getPaymentStatus, courseDTO.getPaymentStatus());
        courseLambdaQueryWrapper.eq(courseDTO.getOrderFrom()!=null,Order::getOrderFrom, courseDTO.getOrderFrom());
        if (StringUtils.hasLength(courseDTO.getPaymentStatus())){
            courseLambdaQueryWrapper.in(Order::getPaymentStatus, Arrays.asList(courseDTO.getPaymentStatus().split(",")));
        }
        if (StringUtils.hasLength(courseDTO.getOrderFrom())){
            courseLambdaQueryWrapper.in(Order::getOrderFrom, Arrays.asList(courseDTO.getOrderFrom().split(",")));
        }
        courseLambdaQueryWrapper.eq(courseDTO.getUid()!=null&&(!courseDTO.getUid().isEmpty()),Order::getAppUserId, courseDTO.getUid());
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getBuyContent())){
            // 查询购买内容
@@ -996,6 +982,12 @@
                        if (data!=null){
                            record.setCategoryMeditationName(data.getCategoryName());
                            record.setMeditationTitle(data.getMeditationTitle());
                            String[] split = data.getCoverUrl().split(",");
                            if (split.length>=2){
                                record.setCoverUrl(split[0]);
                            }else {
                                record.setCoverUrl(data.getCoverUrl());
                            }
                            record.setIconUrl(StringUtils.hasLength(data.getCoverUrl())?data.getCoverUrl().split(",")[0]:"");
                            record.setDetailDescription(data.getDetailDescription());
                            record.setGeneralPriceMeditation(record.getRealPayAmount());
@@ -1027,7 +1019,6 @@
    }
    @PostMapping("/orderCount")
    @ApiOperation(value = "订单列表管理列表上方合计数据", tags = {"管理后台-订单列表管理"})
    public R<OrderCountVO> orderCount(@RequestBody OrderListDTO courseDTO) {
        OrderCountVO orderCountVO = new OrderCountVO();
        String startTime = null;
@@ -1037,44 +1028,20 @@
            startTime = split[0]+" 00:00:00";
            endTime = split[1]+" 23:59:59";
        }
        List<Integer> payType1 = new ArrayList<>();
        payType1.add(1);
        payType1.add(5);
        List<Integer> payType2 = new ArrayList<>();
        payType2.add(2);
        payType2.add(6);
        List<Integer> payType3 = new ArrayList<>();
        payType3.add(3);
        payType3.add(7);
        List<Integer> payType4 = new ArrayList<>();
        payType4.add(4);
        payType4.add(5);
        payType4.add(6);
        payType4.add(7);
        LambdaQueryWrapper<Order> courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if (startTime!=null){
            courseLambdaQueryWrapper.between(Order::getCreateTime, startTime, endTime);
        }
        if (courseDTO.getPayType()!=null){
            switch (courseDTO.getPayType()){
                case 1:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType1);
                    break;
                case 2:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType2);
                    break;
                case 3:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType3);
                    break;
                case 4:
                    courseLambdaQueryWrapper.in(Order::getPayType,payType4);
                    break;
            }
        if (StringUtils.hasLength(courseDTO.getPayType())){
            courseLambdaQueryWrapper.in(Order::getPayType,Arrays.asList(courseDTO.getPayType().split(",")));
        }
        courseLambdaQueryWrapper.ne(Order::getOrderFrom, 4);
        courseLambdaQueryWrapper.ne(Order::getOrderFrom, 5);
        courseLambdaQueryWrapper.eq(courseDTO.getPaymentStatus()!=null,Order::getPaymentStatus, courseDTO.getPaymentStatus());
        courseLambdaQueryWrapper.eq(courseDTO.getOrderFrom()!=null,Order::getOrderFrom, courseDTO.getOrderFrom());
        if (StringUtils.hasLength(courseDTO.getPaymentStatus())){
            courseLambdaQueryWrapper.in(Order::getPaymentStatus, Arrays.asList(courseDTO.getPaymentStatus().split(",")));
        }
        if (StringUtils.hasLength(courseDTO.getOrderFrom())){
            courseLambdaQueryWrapper.in(Order::getOrderFrom, Arrays.asList(courseDTO.getOrderFrom().split(",")));
        }
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getBuyContent())){
            // 查询购买内容
            List<Long> collect1 = orderService.lambdaQuery().like(Order::getBuyContent, courseDTO.getBuyContent()).list().stream()
@@ -1136,8 +1103,8 @@
                        break;
                }
            }
            if (record.getRealPayAmount()!=null && record.getRefundStatus()!=3){
                totalMoney = totalMoney.add(record.getRealPayAmount());
            if (record.getRealPayAmount()!=null){
                totalMoney = totalMoney.add(record.getTotalAmount());
            }
        }
        orderCountVO.setTotalCount(page.size());
@@ -1151,7 +1118,16 @@
    @GetMapping("/detailOrder")
    @ApiOperation(value = "查看详情订单列表管理", tags = "管理后台-订单列表管理")
    public R<Order> detailOrder(String uid) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Order record = orderService.getById(uid);
        if (record.getGiveUserId()!=null){
            AppUser data1 = remoteAppUserService.getAppUserById(record.getGiveUserId() + "").getData();
            record.setUserNameGive(data1.getNickname());
        }
        record.setPlatformMoney(record.getRealPayAmount()==null?new BigDecimal("0"):(record.getRealPayAmount().subtract(
                record.getCommissionAmount()==null?new BigDecimal("0"):record.getCommissionAmount())));
        if (record.getOrderFrom()!=null){
            switch (record.getOrderFrom()){
                case 1:
@@ -1237,10 +1213,46 @@
                            }
                            break;
                        case 6:
                            record.setPaymentType("支付宝(¥"+record.getRealPayAmount()+")");
                            if (!list.isEmpty()){
                                OrderPaymentRecord orderPaymentRecord = list.get(1);
                                OrderPaymentRecord orderPaymentRecord1 = list.get(0);
                                switch (orderPaymentRecord.getPaymentType()){
                                    case 1:
                                        record.setPaymentType("微信(¥"+(orderPaymentRecord.getPayAmount()==null?"":orderPaymentRecord.getPayAmount())+")"
                                                +" + 余额(¥"+orderPaymentRecord1.getPayAmount()+")");
                                        break;
                                    case 2:
                                        record.setPaymentType("支付宝(¥"+(orderPaymentRecord.getPayAmount()==null?"":orderPaymentRecord.getPayAmount())+")"
                                                +" + 余额(¥"+orderPaymentRecord1.getPayAmount()+")");
                                        break;
                                    case 3:
                                        record.setPaymentType("内购(¥"+(orderPaymentRecord.getPayAmount()==null?"":orderPaymentRecord.getPayAmount())+")"
                                                +" + 余额(¥"+orderPaymentRecord1.getPayAmount()+")");
                                        break;
                                }
                            }
                            break;
                        case 7:
                            record.setPaymentType("内购(¥"+record.getRealPayAmount()+")");
                            if (!list.isEmpty()){
                                OrderPaymentRecord orderPaymentRecord = list.get(1);
                                OrderPaymentRecord orderPaymentRecord1 = list.get(0);
                                switch (orderPaymentRecord.getPaymentType()){
                                    case 1:
                                        record.setPaymentType("微信(¥"+(orderPaymentRecord.getPayAmount()==null?"":orderPaymentRecord.getPayAmount())+")"
                                                +" + 余额(¥"+orderPaymentRecord1.getPayAmount()+")");
                                        break;
                                    case 2:
                                        record.setPaymentType("支付宝(¥"+(orderPaymentRecord.getPayAmount()==null?"":orderPaymentRecord.getPayAmount())+")"
                                                +" + 余额(¥"+orderPaymentRecord1.getPayAmount()+")");
                                        break;
                                    case 3:
                                        record.setPaymentType("内购(¥"+(orderPaymentRecord.getPayAmount()==null?"":orderPaymentRecord.getPayAmount())+")"
                                                +" + 余额(¥"+orderPaymentRecord1.getPayAmount()+")");
                                        break;
                                }
                            }
                            break;
                    }
                }
@@ -1263,6 +1275,11 @@
                }
            }
        }
        if (record.getRefundStatus()==3){
            // 已退款
            record.setPaymentStatus(4);
            record.setCancelTime(record.getRefundTime());
        }
        return R.ok(record);
    }
    @GetMapping("/cancel")
@@ -1270,6 +1287,7 @@
    public R updateState(String uid) {
        Order byId = orderService.getById(uid);
        byId.setPaymentStatus(3);
        byId.setCancelTime(LocalDateTime.now());
        orderService.updateById(byId);
        return R.ok();
    }