From 5e0bd4c0af85021260b1921abb441bf5d87a2d40 Mon Sep 17 00:00:00 2001 From: Junling Bu Date: Thu, 13 Feb 2020 11:19:41 +0800 Subject: [PATCH] =?UTF-8?q?perf[litemall-admin=EF=BC=8Clitemall-admin-api]?= =?UTF-8?q?:=20=E8=AE=A2=E5=8D=95=E9=A1=B5=E9=9D=A2=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=AE=A2=E5=8D=95=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/AdminOrderService.java | 4 +- .../admin/web/AdminOrderController.java | 6 ++- litemall-admin/src/views/mall/order.vue | 39 +++++++++++++++++-- .../db/service/LitemallOrderService.java | 8 +++- 4 files changed, 49 insertions(+), 8 deletions(-) diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/service/AdminOrderService.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/service/AdminOrderService.java index b2c28de3..7979c56f 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/service/AdminOrderService.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/service/AdminOrderService.java @@ -51,9 +51,9 @@ public class AdminOrderService { @Autowired private LogHelper logHelper; - public Object list(Integer userId, String orderSn, List orderStatusArray, + public Object list(Integer userId, String orderSn, LocalDateTime start, LocalDateTime end, List orderStatusArray, Integer page, Integer limit, String sort, String order) { - List orderList = orderService.querySelective(userId, orderSn, orderStatusArray, page, limit, + List orderList = orderService.querySelective(userId, orderSn, start, end, orderStatusArray, page, limit, sort, order); return ResponseUtil.okList(orderList); } diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java index 6dcf777c..53001f92 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java @@ -11,10 +11,12 @@ import org.linlinjava.litemall.core.util.ResponseUtil; import org.linlinjava.litemall.core.validator.Order; import org.linlinjava.litemall.core.validator.Sort; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; import java.util.List; @RestController @@ -44,12 +46,14 @@ public class AdminOrderController { @RequiresPermissionsDesc(menu = {"商场管理", "订单管理"}, button = "查询") @GetMapping("/list") public Object list(Integer userId, String orderSn, + @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime start, + @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime end, @RequestParam(required = false) List orderStatusArray, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer limit, @Sort @RequestParam(defaultValue = "add_time") String sort, @Order @RequestParam(defaultValue = "desc") String order) { - return adminOrderService.list(userId, orderSn, orderStatusArray, page, limit, sort, order); + return adminOrderService.list(userId, orderSn, start, end, orderStatusArray, page, limit, sort, order); } /** diff --git a/litemall-admin/src/views/mall/order.vue b/litemall-admin/src/views/mall/order.vue index bf74e0be..8cae6d33 100644 --- a/litemall-admin/src/views/mall/order.vue +++ b/litemall-admin/src/views/mall/order.vue @@ -3,8 +3,9 @@
- - + + + @@ -159,11 +160,9 @@ const statusMap = { 101: '未付款', 102: '用户取消', 103: '系统取消', - 200: '已付款团购', 201: '已付款', 202: '申请退款', 203: '已退款', - 204: '已超时团购', 301: '已发货', 401: '用户收货', 402: '系统收货' @@ -187,10 +186,38 @@ export default { limit: 20, id: undefined, name: undefined, + timeArray: [], orderStatusArray: [], sort: 'add_time', order: 'desc' }, + pickerOptions: { + shortcuts: [{ + text: '最近一周', + onClick(picker) { + const end = new Date() + const start = new Date() + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) + picker.$emit('pick', [start, end]) + } + }, { + text: '最近一个月', + onClick(picker) { + const end = new Date() + const start = new Date() + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) + picker.$emit('pick', [start, end]) + } + }, { + text: '最近三个月', + onClick(picker) { + const end = new Date() + const start = new Date() + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) + picker.$emit('pick', [start, end]) + } + }] + }, statusMap, orderDialogVisible: false, orderDetail: { @@ -221,6 +248,10 @@ export default { checkPermission, getList() { this.listLoading = true + if (this.listQuery.timeArray.length === 2) { + this.listQuery.start = this.listQuery.timeArray[0] + this.listQuery.end = this.listQuery.timeArray[1] + } listOrder(this.listQuery).then(response => { this.list = response.data.data.list this.total = response.data.data.total diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java index 76afc357..38d8fe88 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java @@ -92,7 +92,7 @@ public class LitemallOrderService { return litemallOrderMapper.selectByExample(example); } - public List querySelective(Integer userId, String orderSn, List orderStatusArray, Integer page, Integer limit, String sort, String order) { + public List querySelective(Integer userId, String orderSn, LocalDateTime start, LocalDateTime end, List orderStatusArray, Integer page, Integer limit, String sort, String order) { LitemallOrderExample example = new LitemallOrderExample(); LitemallOrderExample.Criteria criteria = example.createCriteria(); @@ -102,6 +102,12 @@ public class LitemallOrderService { if (!StringUtils.isEmpty(orderSn)) { criteria.andOrderSnEqualTo(orderSn); } + if(start != null){ + criteria.andAddTimeGreaterThanOrEqualTo(start); + } + if(end != null){ + criteria.andAddTimeLessThanOrEqualTo(end); + } if (orderStatusArray != null && orderStatusArray.size() != 0) { criteria.andOrderStatusIn(orderStatusArray); }