From e4bd2854a33b0041ed64e8de5ad913b45981b861 Mon Sep 17 00:00:00 2001 From: Cauchy Date: Fri, 20 Oct 2023 14:56:09 +0800 Subject: [PATCH] recover --- .../book/controller/BuyOrderController.java | 7 +++ .../modules/book/service/BuyOrderService.java | 2 + .../service/impl/BuyOrderServiceImpl.java | 50 +++++++++++++++++++ 3 files changed, 59 insertions(+) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index a39c02c0..a685cbf4 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -82,6 +82,13 @@ public class BuyOrderController { private SysConfigService sysConfigService; + + @RequestMapping("/list") + public R list(@RequestParam Map params) throws Exception { + PageUtils page = buyOrderService.list(params); + return R.ok().put("page", page); + } + /** * 订单列表 * diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java index ae6c1158..d7fb7ffc 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -20,6 +20,8 @@ import java.util.Map; */ public interface BuyOrderService extends IService { + PageUtils list(Map params) throws Exception; + PageUtils getMyOrderList(Map params); //更新订单状态 diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java index fad44846..9cc51121 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java @@ -3,9 +3,11 @@ package com.peanut.modules.book.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.common.utils.ExcludeEmptyQueryWrapper; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.config.Constants; @@ -27,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -57,6 +60,53 @@ public class BuyOrderServiceImpl extends ServiceImpl impl protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class); + @Override + public PageUtils list(Map params) throws Exception { + + IPage page; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String startTime = null; + String endTime = null; + if (params.containsKey("startTime")) { + startTime = sdf.format(Long.parseLong(params.get("startTime").toString())); + endTime = sdf.format(Long.parseLong(params.get("endTime").toString())); + } + if (ObjectUtils.isEmpty(params.get("orderStatus"))) { + ExcludeEmptyQueryWrapper queryWrapper = new ExcludeEmptyQueryWrapper<>(); + Query query = new Query<>(); + page = query.getPage(params); + queryWrapper.eq("user_phone", params.get("key")); + queryWrapper.or().like("order_sn", params.get("key")); + queryWrapper.or().like("shipping_user", params.get("key")); + queryWrapper.apply(startTime != null, "date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startTime); + queryWrapper.apply(endTime != null, "date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time"); + page = this.page(page, queryWrapper); + } else { + page = this.page( + new Query().getPage(params), + new ExcludeEmptyQueryWrapper().eq("order_status", params.get("orderStatus")).eq("user_phone", params.get("key")) + .or().like("order_sn", params.get("key")).or().like("shipping_user", params.get("key")) + .apply(startTime != null, "date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startTime) + .apply(endTime != null, "date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time") + ); + } + + + List records = page.getRecords(); + for (BuyOrder record : records) { + Integer userId = record.getUserId(); + MyUserEntity myUserEntity = myUserService.getById(userId); + if (!ObjectUtils.isEmpty(myUserEntity)) { + record.setUserName(myUserEntity.getName()); + record.setProducts(buyOrderDetailService.list(new QueryWrapper() + .eq("order_id", record.getOrderId()))); + } + + } + + return new PageUtils(page); + } + @Override public PageUtils getMyOrderList(Map params) {