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()); } 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; } } 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)); 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); } } 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); } src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -17,4 +17,6 @@ FebsResponse logout(); FebsResponse findMemberInfo(); FebsResponse findMemberMarkCnt(); } 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); } } 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()); } 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>