From d42739ff31e30062cd2e1fe4053b8ce8d6cc7b9e Mon Sep 17 00:00:00 2001 From: riverflow <3011499946@qq.com> Date: Sat, 23 Aug 2025 17:58:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90pc=E7=AB=AF=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=E6=8E=A5=E5=8F=A3=E5=92=8C?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/controller/UserOrderController.java | 35 +++- .../com/itmk/web/order/entity/Echarts.java | 13 ++ .../com/itmk/web/order/entity/SunList.java | 11 ++ .../web/order/mapper/UserOrderMapper.java | 9 + .../web/order/service/UserOrderService.java | 11 +- .../service/impl/UserOrderServiceImpl.java | 39 ++-- .../main/resources/mapper/UserOrderMapper.xml | 8 + order-system/src/api/order/index.ts | 5 + order-system/src/main.ts | 4 + order-system/src/views/dashboard/Index.vue | 186 +++++++++++++++--- 10 files changed, 273 insertions(+), 48 deletions(-) create mode 100644 api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/entity/Echarts.java create mode 100644 api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/entity/SunList.java diff --git a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/controller/UserOrderController.java b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/controller/UserOrderController.java index 7f4cf19..26d7175 100644 --- a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/controller/UserOrderController.java +++ b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/controller/UserOrderController.java @@ -5,21 +5,20 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.itmk.utils.ResultUtils; import com.itmk.utils.ResultVo; -import com.itmk.web.order.entity.OrderParm; -import com.itmk.web.order.entity.SendParm; -import com.itmk.web.order.entity.UserOrder; -import com.itmk.web.order.entity.WxOrderParm; +import com.itmk.web.order.entity.*; import com.itmk.web.order.service.UserOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/wxapi/order") public class UserOrderController { @Autowired private UserOrderService userOrderService; - //下单 + //下的 @PostMapping("/splaceOrder") public ResultVo splaceOrder(@RequestBody OrderParm parm){ userOrderService.splaceOrder(parm); @@ -33,7 +32,7 @@ public class UserOrderController { return ResultUtils.success("查询成功!",orderList); } - //pc端查询订单 + //查询pc订单 @GetMapping("/getPcOrderList") public ResultVo getPcOrderList(WxOrderParm parm){ IPage orderList = userOrderService.getPcOrderList(parm); @@ -59,7 +58,6 @@ public class UserOrderController { } return ResultUtils.error("更新失败!"); } - //取消订单 @PostMapping("/cancelOrder") public ResultVo cancelOrder(@RequestBody SendParm parm){ @@ -79,4 +77,27 @@ public class UserOrderController { } return ResultUtils.error("取消失败!"); } + //首页统计 0:日 1:月 2:年 + @GetMapping("/getTotal") + public ResultVo getTotal(String type){ + List list = null; + switch (type){ + case "1": + list = userOrderService.getMonths(); + break; + case "2": + list = userOrderService.getYears(); + break; + default: + list = userOrderService.getDays(); + } + Echarts echarts = new Echarts(); + if(list!= null && list.size() >0){ + for (int i=0;i names = new ArrayList<>(); + private List values = new ArrayList<>(); +} \ No newline at end of file diff --git a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/entity/SunList.java b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/entity/SunList.java new file mode 100644 index 0000000..948a605 --- /dev/null +++ b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/entity/SunList.java @@ -0,0 +1,11 @@ +package com.itmk.web.order.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SunList { + private String days; + private BigDecimal price; +} diff --git a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/mapper/UserOrderMapper.java b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/mapper/UserOrderMapper.java index 984afa4..2e9cf9b 100644 --- a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/mapper/UserOrderMapper.java +++ b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/mapper/UserOrderMapper.java @@ -1,7 +1,16 @@ package com.itmk.web.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.itmk.web.order.entity.SunList; import com.itmk.web.order.entity.UserOrder; +import java.util.List; + public interface UserOrderMapper extends BaseMapper { + //按天查询 + List getDays(); + //按月查询 + List getMonths(); + //按年查询 + List getYears(); } diff --git a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/UserOrderService.java b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/UserOrderService.java index ece8310..273944a 100644 --- a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/UserOrderService.java +++ b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/UserOrderService.java @@ -3,13 +3,20 @@ package com.itmk.web.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.itmk.web.order.entity.OrderParm; +import com.itmk.web.order.entity.SunList; import com.itmk.web.order.entity.UserOrder; import com.itmk.web.order.entity.WxOrderParm; +import java.util.List; + public interface UserOrderService extends IService { void splaceOrder(OrderParm parm); - IPage getOrderList(WxOrderParm parm); - IPage getPcOrderList(WxOrderParm parm); + //按天查询 + List getDays(); + //按月查询 + List getMonths(); + //按年查询 + List getYears(); } \ No newline at end of file diff --git a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/impl/UserOrderServiceImpl.java b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/impl/UserOrderServiceImpl.java index f97fc72..3c91e59 100644 --- a/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/impl/UserOrderServiceImpl.java +++ b/api-interface/itmk-base-parent/itmk-base-web/src/main/java/com/itmk/web/order/service/impl/UserOrderServiceImpl.java @@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; 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.itmk.web.order.entity.OrderParm; -import com.itmk.web.order.entity.ParmDetail; -import com.itmk.web.order.entity.UserOrder; -import com.itmk.web.order.entity.WxOrderParm; +import com.itmk.web.order.entity.*; import com.itmk.web.order.mapper.UserOrderMapper; import com.itmk.web.order.service.UserOrderService; import com.itmk.web.order_detail.entity.UserOrderDetail; @@ -57,7 +54,8 @@ public class UserOrderServiceImpl extends ServiceImpl query = new QueryWrapper<>(); query.lambda().eq(UserOrder::getOpenid,parm.getOpenid()) - .eq(StringUtils.isNotEmpty(parm.getType()),UserOrder::getStatus,parm.getType()); + .eq(StringUtils.isNotEmpty(parm.getType()),UserOrder::getStatus,parm.getType()) + .orderByDesc(UserOrder::getCreateTime); //构造分页对象 IPage page = new Page<>(parm.getCurrentPage(),parm.getPageSize()); //查询订单主表 @@ -77,23 +75,40 @@ public class UserOrderServiceImpl extends ServiceImpl getPcOrderList(WxOrderParm parm) { - //查询订单 + //查询条件 QueryWrapper query = new QueryWrapper<>(); - query.lambda().like(StringUtils.isNotEmpty(parm.getUserName()),UserOrder::getUserName,parm.getUserName()) - .eq(StringUtils.isNotEmpty(parm.getType()),UserOrder::getStatus,parm.getType()) + query.lambda().eq(StringUtils.isNotEmpty(parm.getType()),UserOrder::getStatus,parm.getType()) + .like(StringUtils.isNotEmpty(parm.getUserName()),UserOrder::getUserName,parm.getUserName()) .orderByDesc(UserOrder::getCreateTime); + //构造分页对象 IPage page = new Page<>(parm.getCurrentPage(),parm.getPageSize()); + //查询订单主表 IPage order = this.baseMapper.selectPage(page, query); - //有数据,查询子订单 - if(order.getRecords().size()>0){ - for (int i = 0;i 0){ + for(int i=0;i queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(UserOrderDetail::getOrderId,order.getRecords().get(i).getOrderId()); List list = userOrderDetailService.list(queryWrapper); + //设置订单对应的商品 order.getRecords().get(i).setGoodsList(list); } - } return order; } + + @Override + public List getDays() { + return this.baseMapper.getDays(); + } + + @Override + public List getMonths() { + return this.baseMapper.getMonths(); + } + + @Override + public List getYears() { + return this.baseMapper.getYears(); + } } \ No newline at end of file diff --git a/api-interface/itmk-base-parent/itmk-base-web/src/main/resources/mapper/UserOrderMapper.xml b/api-interface/itmk-base-parent/itmk-base-web/src/main/resources/mapper/UserOrderMapper.xml index 14723c3..9cf1076 100644 --- a/api-interface/itmk-base-parent/itmk-base-web/src/main/resources/mapper/UserOrderMapper.xml +++ b/api-interface/itmk-base-parent/itmk-base-web/src/main/resources/mapper/UserOrderMapper.xml @@ -3,5 +3,13 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + \ No newline at end of file diff --git a/order-system/src/api/order/index.ts b/order-system/src/api/order/index.ts index af78a78..0765208 100644 --- a/order-system/src/api/order/index.ts +++ b/order-system/src/api/order/index.ts @@ -8,4 +8,9 @@ export const gePcOrdertListApi = (parm: OrderListParm) => { // 发货 export const sendOrderApi = (orderId: string) => { return http.put("/wxapi/order/sendOrder", { orderId: orderId }) +} + +//统计 +export const getTotalApi = (type:string)=>{ + return http.get("/wxapi/order/getTotal",{type:type}) } \ No newline at end of file diff --git a/order-system/src/main.ts b/order-system/src/main.ts index c0c86ae..aff05f1 100644 --- a/order-system/src/main.ts +++ b/order-system/src/main.ts @@ -35,3 +35,7 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) { // 全局注册消息弹出框组件 app.config.globalProperties.$myconfirm = myConfirm +//echarts +import * as echarts from 'echarts' + +app.config.globalProperties.$echarts = echarts; \ No newline at end of file diff --git a/order-system/src/views/dashboard/Index.vue b/order-system/src/views/dashboard/Index.vue index 053d233..64bb1b7 100644 --- a/order-system/src/views/dashboard/Index.vue +++ b/order-system/src/views/dashboard/Index.vue @@ -1,33 +1,165 @@ - - \ No newline at end of file +