From 3f5f8e7df22be01d694cf9e696460b9bf9ba2411 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 22 Sep 2021 18:24:21 +0800
Subject: [PATCH] add

---
 src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java               |    5 ++
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java        |   10 +++++
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java       |    5 ++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |    2 
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                       |   12 +++++
 src/main/java/cc/mrbird/febs/common/handler/GlobalExceptionHandler.java         |    2 
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java            |    2 +
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java |    7 ---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java    |   28 +++++++++++++-
 9 files changed, 60 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/handler/GlobalExceptionHandler.java b/src/main/java/cc/mrbird/febs/common/handler/GlobalExceptionHandler.java
index dbf842f..95f643f 100644
--- a/src/main/java/cc/mrbird/febs/common/handler/GlobalExceptionHandler.java
+++ b/src/main/java/cc/mrbird/febs/common/handler/GlobalExceptionHandler.java
@@ -42,7 +42,7 @@
 
     @ExceptionHandler(value = FebsException.class)
     public FebsResponse handleFebsException(FebsException e) {
-        log.error("系统错误", e);
+//        log.error("系统错误", e);
         return new FebsResponse().code(HttpStatus.INTERNAL_SERVER_ERROR).message(e.getMessage());
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index fda16b8..66afb2c 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -41,4 +41,9 @@
     public FebsResponse logout() {
         return memberService.logout();
     }
+
+    @ApiOperation(value = "获取购物车、订单等角标数量")
+    public FebsResponse findMarkCnt() {
+        return null;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
index 282a9c7..f7d55db 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -5,8 +5,12 @@
 import cc.mrbird.febs.mall.dto.OrderListDto;
 import cc.mrbird.febs.mall.dto.PayOrderDto;
 import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
+import cc.mrbird.febs.mall.vo.OrderDetailVo;
+import cc.mrbird.febs.mall.vo.OrderListVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
@@ -57,12 +61,18 @@
     }
 
     @ApiOperation(value = "订单列表", notes = "订单列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = OrderListVo.class)
+    })
     @PostMapping(value = "/orderList")
     public FebsResponse orderList(@RequestBody OrderListDto orderListDto) {
         return new FebsResponse().success().data(mallOrderInfoService.findOrderList(orderListDto));
     }
 
     @ApiOperation(value = "订单详情", notes = "订单详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = OrderDetailVo.class)
+    })
     @GetMapping(value = "/orderDetails/{id}")
     public FebsResponse orderDetails(@PathVariable("id") Long id) {
         return new FebsResponse().success().data(mallOrderInfoService.findOrderDetailsById(id));
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java
index 0888985..a2d4ae7 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java
@@ -49,11 +49,4 @@
         mallShoppingCartService.removeById(id);
         return new FebsResponse().success().data("删除成功");
     }
-
-    @ApiOperation(value = "获取购物车数量", notes = "获取购物车数量")
-    @GetMapping(value = "/findCartGoodsCnt")
-    public FebsResponse findCartGoodsCnt() {
-        Integer size = mallShoppingCartService.findCartGoodsList().size();
-        return new FebsResponse().success().data(size);
-    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index f0d363d..0b2a84e 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -12,6 +12,7 @@
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author wzy
@@ -25,7 +26,9 @@
 
     AdminMallOrderVo getMallOrderInfoById(@Param("id")long id);
 
-    IPage<MallOrderInfo> selectOrderListInPage(IPage<MallOrderInfo> page,@Param("record") OrderListDto orderListDto);
+    IPage<MallOrderInfo> selectApiOrderListInPage(IPage<MallOrderInfo> page,@Param("record") OrderListDto orderListDto);
 
     MallOrderInfo selectOrderDetailsById(@Param("id") Long id);
+
+    List<Map<String, Integer>> selectMemberOrderStatusCnt(@Param("memberId") Long memberId);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index c1e43b2..4bd317e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -17,4 +17,6 @@
     FebsResponse logout();
 
     FebsResponse findMemberInfo();
+
+    FebsResponse findMemberMarkCnt();
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index c796705..596af96 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -12,11 +12,15 @@
 import cc.mrbird.febs.mall.dto.RegisterDto;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMemberWallet;
+import cc.mrbird.febs.mall.entity.MallShoppingCart;
 import cc.mrbird.febs.mall.mapper.MallMemberMapper;
 import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper;
+import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
 import cc.mrbird.febs.mall.service.ICommonService;
 import cc.mrbird.febs.mall.vo.MallMemberVo;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -45,9 +49,11 @@
 @RequiredArgsConstructor
 public class ApiMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IApiMallMemberService {
 
-    private MallMemberWalletMapper mallMemberWalletMapper;
+    private final MallMemberWalletMapper mallMemberWalletMapper;
     private final ICommonService commonService;
     private final RedisUtils redisUtils;
+    private final MallOrderInfoMapper mallOrderInfoMapper;
+    private final MallShoppingCartMapper mallShoppingCartMapper;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -200,7 +206,25 @@
         MallMember mallMember = this.baseMapper.selectById(id);
 
         MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
-        return new FebsResponse().data(mallMemberVo);
+        return new FebsResponse().success().data(mallMemberVo);
     }
 
+    @Override
+    public FebsResponse findMemberMarkCnt() {
+        Long id = LoginUserUtil.getLoginUser().getId();
+
+        List<Map<String, Integer>> maps = mallOrderInfoMapper.selectMemberOrderStatusCnt(id);
+        Map<Integer, Integer> orderCnt = new HashMap<>();
+        if (CollUtil.isNotEmpty(maps)) {
+            for (Map<String, Integer> map : maps) {
+                orderCnt.put(map.get("status"), map.get("cnt"));
+            }
+        }
+
+        List<MallShoppingCart> carts = mallShoppingCartMapper.selectCartGoodsList(id);
+        Map<String, Object> result = new HashMap<>();
+        result.put("order", orderCnt);
+        result.put("carts", carts.size());
+        return new FebsResponse().success().data(result);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 421cf56..d1b9405 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -171,7 +171,7 @@
     public List<OrderListVo> findOrderList(OrderListDto orderListDto) {
         IPage<MallOrderInfo> page = new Page<>(orderListDto.getPageNum(), orderListDto.getPageSize());
 
-        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectOrderListInPage(page, orderListDto);
+        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiOrderListInPage(page, orderListDto);
         return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords());
     }
 
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 6e2c82d..86db645 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -68,7 +68,7 @@
         </collection>
     </resultMap>
 
-    <select id="selectOrderListInPage" resultMap="OrderInfoMap">
+    <select id="selectApiOrderListInPage" resultMap="OrderInfoMap">
         select
                a.*,
                b.id item_id,
@@ -85,6 +85,7 @@
         from mall_order_info a
          inner join mall_order_item b on a.id=b.order_id
         <where>
+            a.del_flag=2
             <if test="record.query != null and record.query != ''">
                 and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
             </if>
@@ -116,4 +117,13 @@
              inner join mall_order_item b on a.id=b.order_id
         where id=#{id}
     </select>
+
+    <select id="selectMemberOrderStatusCnt" resultType="java.util.Map">
+        select
+            status,
+            count(1) cnt
+        from mall_order_info
+        where del_flag=2 and member_id=#{memberId}
+        group by status
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1