add
Helius
2021-09-22 3f5f8e7df22be01d694cf9e696460b9bf9ba2411
add
9 files modified
73 ■■■■ changed files
src/main/java/cc/mrbird/febs/common/handler/GlobalExceptionHandler.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java 5 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 12 ●●●●● patch | view | raw | blame | history
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>