Helius
2021-07-20 56968f6f02f691397eac17d8fb8f8b34f440ab90
add orderStatusCnt
1 files added
4 files modified
69 ■■■■■ changed files
gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java 7 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java 3 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java 32 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java 13 ●●●●● patch | view | raw | blame | history
gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml 14 ●●●●● patch | view | raw | blame | history
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)));
    }
}
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);
}
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;
    }
}
gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java
New file
@@ -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;
}
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>