38efbb4a62ccdd98e4122fc879dd230795ef8ce3..bac6dff53fabb35a057685aadd9511c6c240eb32
2021-11-22 xiaoyong931011
20211122
bac6df diff | tree
2021-11-22 xiaoyong931011
20211122
1c83ee diff | tree
2021-11-22 xiaoyong931011
20211122
f2c17d diff | tree
2021-11-22 xiaoyong931011
20211122
6c0025 diff | tree
4 files modified
131 ■■■■■ changed files
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java 11 ●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java 4 ●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/service/UserService.java 8 ●●●●● patch | view | raw | blame | history
gc-user/src/main/resources/mapper/user/OrderMapper.xml 108 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -100,9 +100,16 @@
        List<JhyOrder> addressExist = jhyOrderMapper.selectJhyOrderListByStatus(StrUtil.split("1,2", ','), orderDto.getUserId());
        if (CollUtil.isNotEmpty(addressExist)) {
            for (JhyOrder order : addressExist) {
                String orderAddr = order.getArea() + order.getAddress() + order.getUnitName() + order.getHouseNumber();
                String orderAddr = order.getArea()
                        + order.getAddress()
                        + (StrUtil.isEmpty(order.getUnitName())?"":order.getUnitName())
                        + (StrUtil.isEmpty(order.getHouseNumber())?"":order.getHouseNumber());
                if (orderAddr.equals(addressInfo.getAddressArea() + addressInfo.getDetailAddress() + addressInfo.getHouseName() + addressInfo.getUnitName() + addressInfo.getHouseNumber())) {
                if (orderAddr.equals(addressInfo.getAddressArea()
                        + addressInfo.getDetailAddress()
                        + (StrUtil.isEmpty(addressInfo.getHouseName())?"":addressInfo.getHouseName())
                        + (StrUtil.isEmpty(addressInfo.getUnitName())?"":addressInfo.getUnitName())
                        + (StrUtil.isEmpty(addressInfo.getHouseNumber())?"":addressInfo.getHouseNumber()))) {
                    throw new RestException(-3, "同一地址仅能有一单在进行中");
                }
            }
gc-user/src/main/java/com/xzx/gc/user/mapper/OrderMapper.java
@@ -68,5 +68,9 @@
    List<CategaryVo> selectJHYListByOrderId(String orderId);
    String selectTGRMobileByPhone(@Param("mobilePhone")String mobilePhone);
    Map<String, Object> queryCuserOrderByUserIdOrderIng(@Param("userId")String userId);
    Map<String, Object> queryCuserOrderByUserIdOrderDone(@Param("userId")String userId);
}
gc-user/src/main/java/com/xzx/gc/user/service/UserService.java
@@ -469,9 +469,11 @@
                mx.setNickName(com.xzx.gc.common.utils.StringUtils.decode(mx.getNickName()));
            }
            // 待完成订单总数
            Map<String, Object> osMap = orderMapper.queryCuserOrderByUserIdCount1(mx.getUserId());
            mx.setOrderStatus3(Integer.parseInt(osMap.get("count1").toString()));
            mx.setOrderStatus5(Integer.parseInt(osMap.get("count").toString()));
//            Map<String, Object> osMap = orderMapper.queryCuserOrderByUserIdCount1(mx.getUserId());
            Map<String, Object> orderIng = orderMapper.queryCuserOrderByUserIdOrderIng(mx.getUserId());
            Map<String, Object> orderDone = orderMapper.queryCuserOrderByUserIdOrderDone(mx.getUserId());
            mx.setOrderStatus3(Integer.parseInt(orderIng.get("count").toString()));
            mx.setOrderStatus5(Integer.parseInt(orderDone.get("count").toString()));
            //查询用户首次下单时间和最近下单时间
            List<OrderInfo> byCreateUserId = orderService.findByCreateUserId(mx.getUserId(), null);
gc-user/src/main/resources/mapper/user/OrderMapper.xml
@@ -620,4 +620,112 @@
        WHERE  a.register_mobile_phone = #{mobilePhone}
    </select>
    <select id="queryCuserOrderByUserIdOrderIng" resultType="java.util.Map">
        SELECT
            COUNT(*) as count
        FROM
            (
            (
            SELECT
            a.order_id orderId,
            a.order_status STATUS,
            '1' type,
            ifnull(sum(d.money), 0) money,
            '0' score,
            a.address address,
            ifnull(sum(d.weight), 0) weight,
            e. NAME NAME,
            a.create_time createTime
            FROM
            xzx_order_info a
            LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id
            LEFT JOIN xzx_user_info e ON e.user_id = a.receiver
            WHERE
            a.create_user_id=#{userId}
            and a.order_status in (1,2,3)
            GROUP BY
            a.order_id
            )
            UNION
            (
            SELECT
            a.id orderId,
            a. STATUS STATUS,
            '2' type,
            '0' money,
            ifnull(sum(d.score), 0) score,
            a.address address,
            ifnull(sum(d.weight), 0) weight,
            a.username NAME,
            a.CREATED_TIME createTime
            FROM
            xzx_jhy_order a
            LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id
            WHERE
            a.user_id = #{userId}
            and a.status in (1,2)
            GROUP BY
            a.id
            )
            ) v
        ORDER BY
            createTime DESC
    </select>
    <select id="queryCuserOrderByUserIdOrderDone" resultType="java.util.Map">
        SELECT
            COUNT(*) as count
        FROM
            (
            (
            SELECT
            a.order_id orderId,
            a.order_status STATUS,
            '1' type,
            ifnull(sum(d.money), 0) money,
            '0' score,
            a.address address,
            ifnull(sum(d.weight), 0) weight,
            e. NAME NAME,
            a.create_time createTime
            FROM
            xzx_order_info a
            LEFT JOIN xzx_order_item_info d ON a.order_id = d.order_id
            LEFT JOIN xzx_user_info e ON e.user_id = a.receiver
            WHERE
            a.create_user_id=#{userId}
            and a.order_status in (4,5,7)
            GROUP BY
            a.order_id
            )
            UNION
            (
            SELECT
            a.id orderId,
            a. STATUS STATUS,
            '2' type,
            '0' money,
            ifnull(sum(d.score), 0) score,
            a.address address,
            ifnull(sum(d.weight), 0) weight,
            a.username NAME,
            a.CREATED_TIME createTime
            FROM
            xzx_jhy_order a
            LEFT JOIN xzx_jhy_order_items d ON a.id = d.order_id
            WHERE
            a.user_id = #{userId}
            and a.status = 3
            GROUP BY
            a.id
            )
            ) v
        ORDER BY
            createTime DESC
    </select>
</mapper>