From 56968f6f02f691397eac17d8fb8f8b34f440ab90 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 20 Jul 2021 17:45:09 +0800 Subject: [PATCH] add orderStatusCnt --- gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java | 3 + gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml | 14 +++++++ gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java | 7 +++ gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java | 13 ++++++ gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java | 32 ++++++++++++++- 5 files changed, 66 insertions(+), 3 deletions(-) diff --git a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java index 91f6e7a..e45e802 100644 --- a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java +++ b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.util.Map; @Slf4j @RestController @@ -82,4 +83,10 @@ return Result.success(); } + @ApiOperation("订单状态数量") + @PostMapping(value = "/orderStatusCnt") + public JsonResult<Map<Integer, Integer>> orderStatusCnt(HttpServletRequest request) { + return JsonResult.success(jhyOrderService.orderStatusCount(getUserId(request))); + } + } diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java index 01156c0..c60b730 100644 --- a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java +++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java @@ -3,6 +3,7 @@ import com.xzx.gc.entity.JhyOrder; import com.xzx.gc.order.dto.JhyOrderListDto; import com.xzx.gc.order.vo.JhyOrderListVo; +import com.xzx.gc.order.vo.JhyStatusCountVo; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -13,4 +14,6 @@ public interface JhyOrderMapper extends GcMapper<JhyOrder> { List<JhyOrderListVo> selectJhyOrderList(@Param("record") JhyOrderListDto jhyOrderListDto); + + List<JhyStatusCountVo> selectOrderStatusCount(@Param("userId") String userId); } diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java index 6c8c7df..ee3c7f3 100644 --- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java +++ b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java @@ -18,6 +18,7 @@ import com.xzx.gc.order.mapper.*; import com.xzx.gc.order.vo.JhyOrderDetailsVo; import com.xzx.gc.order.vo.JhyOrderListVo; +import com.xzx.gc.order.vo.JhyStatusCountVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,9 +26,7 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Slf4j @Service @@ -172,6 +171,7 @@ order.setStatus(JhyOrder.ORDER_STATUS_CANCEL); } + order.setJhyId(null); jhyOrderMapper.updateByPrimaryKey(order); } @@ -236,4 +236,30 @@ distribService.distribRecord(order.getId(), order.getUserId()); } + + public Map<Integer, Integer> orderStatusCount(String userId) { + List<JhyStatusCountVo> count = jhyOrderMapper.selectOrderStatusCount(userId); + + Map<Integer, Integer> map = new HashMap<>(); + for (int i = 1; i < 6; i++) { + if (CollUtil.isNotEmpty(count)) { + boolean flag = false; + for (JhyStatusCountVo jhyStatusCountVo : count) { + if (i == jhyStatusCountVo.getStatus()) { + map.put(i, jhyStatusCountVo.getCnt()); + flag = true; + break; + } + } + + if (flag) { + continue; + } + } + + map.put(i, 0); + } + + return map; + } } diff --git a/gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java b/gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java new file mode 100644 index 0000000..e698e3b --- /dev/null +++ b/gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java @@ -0,0 +1,13 @@ +package com.xzx.gc.order.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "JhyStatucCountVo", description = "") +public class JhyStatusCountVo { + + private Integer status; + + private Integer cnt; +} diff --git a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml index e796b6d..01997c5 100644 --- a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml +++ b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml @@ -43,4 +43,18 @@ group by a.id order by a.receiving_time desc, a.id desc </select> + + <select id="selectOrderStatusCount" resultType="com.xzx.gc.order.vo.JhyStatusCountVo"> + select + status, + count(1) cnt + from xzx_jhy_order where status=1 + union all + select + status, + count(1) cnt + from xzx_jhy_order + where user_id=#{userId} + group by status + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1