From b6373daa40c3dc17ca107f3666fd252f3b6b0778 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 03 一月 2025 18:34:52 +0800 Subject: [PATCH] 代码 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java | 144 +++++++++++++++++++++++++++-------------------- 1 files changed, 83 insertions(+), 61 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java index 63bf5fa..1a13061 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java @@ -21,6 +21,7 @@ import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.security.core.parameters.P; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -93,7 +94,6 @@ @ApiOperation(value = "计数",tags = "后台-订单管理") @PostMapping("/count") public R<List<Map<String,Object>>> count(@RequestBody OrderQuery orderQuery){ - return R.ok(orderService.totalCount(orderQuery)); } @@ -101,13 +101,13 @@ @ApiOperation(value = "取消订单",tags = {"后台-订单管理","web-个人中心"}) @PostMapping("/cancel") public R cancel(Long orderId){ - TOrder byId = orderService.getById(orderId); - if (byId.getPaymentStatus()!=1){ + TOrder order = orderService.getById(orderId); + if (order.getPaymentStatus()!=1){ return R.fail("订单状态异常"); } - byId.setPaymentStatus(3); - byId.setCancelTime(LocalDateTime.now()); - orderService.updateById(byId); + order.setPaymentStatus(3); + order.setCancelTime(LocalDateTime.now()); + orderService.updateById(order); return R.ok(); } @@ -118,19 +118,24 @@ TCourse course = courseService.getById(goodId); - TRegion byId = regionService.getById(course.getRegionId()); - course.setRegionName(byId.getProvinceName()+"-"+byId.getName()); - TTechnicalTitle byId1 = tTechnicalTitleService.getById(course.getTechnicalId() ); - TTitleMajor byId2 = majorService.getById(course.getMajorId()); - course.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); + TRegion region = regionService.getById(course.getRegionId()); + course.setRegionName(region.getProvinceName()+"-"+region.getName()); + TTechnicalTitle tTechnicalTitle = tTechnicalTitleService.getById(course.getTechnicalId() ); + TTitleMajor titleMajor = majorService.getById(course.getMajorId()); + course.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+titleMajor.getMajorName()); - TOrder byId3 = orderService.getById(id); - TAppUser byId4 = appUserService.getById(byId3.getUserId()); - byId3.setName(byId4.getName()); - byId3.setPhone(byId4.getPhone()); - byId3.setAvatar(byId4.getAvatar()); - course.setOrder(byId3); + TOrder order = orderService.getById(id); + TAppUser appUser = appUserService.getById(order.getUserId()); + order.setName(appUser.getName()); + order.setPhone(appUser.getPhone()); + order.setAvatar(appUser.getAvatar()); + course.setOrder(order); + Long count = orderService.lambdaQuery() + .eq(TOrder::getGoodId, course.getId()) + .eq(TOrder::getGoodType, 1) + .eq(TOrder::getPaymentStatus, 2).count(); + course.setBuyNum(Integer.parseInt(String.valueOf(count))); return R.ok(course); } @@ -138,22 +143,22 @@ @ApiOperation(value = "工作总结详情",tags = "后台-订单管理") @PostMapping("/generate/detail") public R<TGeneratedRecords> detail(Long id){ - TOrder byId = orderService.getById(id); - TGeneratedRecords one = generatedRecordsService.lambdaQuery().eq(TGeneratedRecords::getUserId, byId.getUserId()).orderByDesc(TGeneratedRecords::getCreateTime).last("limit 1").one(); - if (one == null) { + TOrder order = orderService.getById(id); + TGeneratedRecords tGeneratedRecords = generatedRecordsService.lambdaQuery().eq(TGeneratedRecords::getUserId, order.getUserId()).orderByDesc(TGeneratedRecords::getCreateTime).last("limit 1").one(); + if (tGeneratedRecords == null) { TGeneratedRecords generatedRecords = new TGeneratedRecords(); - generatedRecords.setOrder(byId); + generatedRecords.setOrder(order); return R.ok(generatedRecords); } - TOrder byId3 = orderService.getById(id); - TAppUser byId4 = appUserService.getById(byId3.getUserId()); - byId3.setName(byId4.getName()); - byId3.setPhone(byId4.getPhone()); - byId3.setAvatar(byId4.getAvatar()); - one.setOrder(byId3); + TOrder tOrder = orderService.getById(id); + TAppUser appUser = appUserService.getById(tOrder.getUserId()); + tOrder.setName(appUser.getName()); + tOrder.setPhone(appUser.getPhone()); + tOrder.setAvatar(appUser.getAvatar()); + tGeneratedRecords.setOrder(tOrder); - return R.ok(one); + return R.ok(tGeneratedRecords); } @@ -161,19 +166,19 @@ @PostMapping(value = "/order/information/detail") public R<TInformation> informationR1(Long goodId,Long id) { TInformation record = informationService.getById(goodId); - TRegion byId = regionService.getById(record.getRegionId()); - record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); - TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId()); - TTitleMajor byId2 = majorService.getById(record.getMajorId()); - record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); + TRegion region = regionService.getById(record.getRegionId()); + record.setRegionName(region.getProvinceName()+"-"+region.getName()); + TTechnicalTitle technicalTitle = tTechnicalTitleService.getById(record.getTechnicalId()); + TTitleMajor titleMajor = majorService.getById(record.getMajorId()); + record.setTechnicalName(technicalTitle.getTitileName()+"-"+titleMajor.getMajorName()); - TOrder byId3 = orderService.getById(id); - TAppUser byId4 = appUserService.getById(byId3.getUserId()); - byId3.setName(byId4.getName()); - byId3.setPhone(byId4.getPhone()); - byId3.setAvatar(byId4.getAvatar()); - record.setOrder(byId3); + TOrder order = orderService.getById(id); + TAppUser appUser = appUserService.getById(order.getUserId()); + order.setName(appUser.getName()); + order.setPhone(appUser.getPhone()); + order.setAvatar(appUser.getAvatar()); + record.setOrder(order); return R.ok(record); @@ -184,11 +189,11 @@ @PostMapping(value = "/information/detail") public R<TInformation> informationR(Long goodId) { TInformation record = informationService.getById(goodId); - TRegion byId = regionService.getById(record.getRegionId()); - record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); - TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId()); - TTitleMajor byId2 = majorService.getById(record.getMajorId()); - record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); + TRegion region = regionService.getById(record.getRegionId()); + record.setRegionName(region.getProvinceName()+"-"+region.getName()); + TTechnicalTitle technicalTitle = tTechnicalTitleService.getById(record.getTechnicalId()); + TTitleMajor tTitleMajor = majorService.getById(record.getMajorId()); + record.setTechnicalName(technicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); @@ -198,19 +203,19 @@ @ApiOperation(value = "退款",tags = "后台-资料管理") @PostMapping(value = "/refund") public R<TInformation> refund(Long orderId) throws AlipayApiException { - TOrder byId = orderService.getById(orderId); - if (byId.getPaymentStatus()!=2){ + TOrder order = orderService.getById(orderId); + if (order.getPaymentStatus()!=2){ return R.fail("订单状态异常"); } - if (byId.getPaymentType()==1){ - payMoneyUtil.wxRefund(byId.getSerialNumber(), byId.getCode(),byId.getPaymentAmount().toString(), byId.getPaymentAmount().toString(),"/"); + if (order.getPaymentType()==1){ + payMoneyUtil.wxRefund(order.getSerialNumber(), order.getCode(),order.getPaymentAmount().toString(), order.getPaymentAmount().toString(),"/"); } - if (byId.getPaymentType()==2){ - Map<String, String> stringStringMap = payMoneyUtil.aliRefund(byId.getCode(), byId.getPaymentAmount().toString()); + if (order.getPaymentType()==2){ + Map<String, String> stringStringMap = payMoneyUtil.aliRefund(order.getCode(), order.getPaymentAmount().toString()); if ("10000".equals(stringStringMap.get("code"))){ - byId.setPaymentStatus(4); - orderService.updateById(byId); + order.setPaymentStatus(4); + orderService.updateById(order); } } @@ -221,24 +226,41 @@ @ApiOperation(value = "导出",tags = "后台-订单管理") @PostMapping(value = "/export") public void mealGeneratorExport(@RequestBody OrderQuery orderQuery) { - orderQuery.setPageNum(1); - orderQuery.setPageSize(9999); - PageInfo<TOrder> tOrderPageInfo = orderService.pageList(orderQuery); - for (TOrder record : tOrderPageInfo.getRecords()) { + + + int pageSize = 100; + int currentPage = 0; + List<TOrder> page = new ArrayList<>(); + + while (true) { + orderQuery.setPageNum(currentPage * pageSize); + orderQuery.setPageSize(pageSize); + PageInfo<TOrder> tOrderPageInfo = orderService.pageList(orderQuery); + List<TOrder> records = tOrderPageInfo.getRecords(); + if (CollectionUtils.isEmpty(records)) { + break; // 没有更多数据,退出循环 + } + page.addAll(records); // 累加当前页数据 + currentPage++; // 进入下一页 + } + + List<TCourse> courses = courseService.lambdaQuery().list(); + List<TInformation> informations = informationService.lambdaQuery().list(); + for (TOrder record : page) { record.getFormattedCreateTime(); if (record.getGoodType()==1){ - TCourse byId = courseService.getById(record.getGoodId()); - record.setGoodName(byId.getCourseName()); + TCourse course = courses.stream().filter(e -> e.getId().equals(record.getGoodId())).findFirst().orElse(null); + record.setGoodName(course.getCourseName()); }else if (record.getGoodType()==2){ - TInformation byId = informationService.getById(record.getGoodId()); - record.setGoodName(byId.getInformationName()); + TInformation information = informations.stream().filter(e -> e.getId().equals(record.getGoodId())).findFirst().orElse(null); + record.setGoodName(information.getInformationName()); }else { record.setGoodName("工作总结订单"); } } - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrder.class,tOrderPageInfo.getRecords() ); + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrder.class,page); HttpServletResponse response = WebUtils.response(); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); -- Gitblit v1.7.1