k94314517
2025-07-16 4384ad3db8f10b7add5f287681c069d4efb1e0ee
server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
@@ -211,6 +211,7 @@
                || Objects.isNull(orders.getEndDate())
                || StringUtil.isBlank(orders.getLocation())
                || StringUtil.isBlank(orders.getLocationRemark())
                || StringUtil.isBlank(orders.getLinkPhone())
                || Objects.isNull(orders.getLat())
                || Objects.isNull(orders.getLgt())
                || Objects.isNull(orders.getCategoryId())
@@ -243,6 +244,7 @@
                    || Objects.isNull(orders.getTransportNum())
                    || StringUtils.isEmpty(orders.getTransportUnit())
                    || StringUtils.isEmpty(orders.getLocationEnd())
                    || StringUtils.isEmpty(orders.getCarUnit())
                    || Objects.isNull(orders.getLatEnd())
                    || Objects.isNull(orders.getLgtEnd())
                    || CollectionUtils.isEmpty(orders.getWayInfoDTOList())
@@ -385,6 +387,29 @@
                        .orderByDesc(Orders::getId));
        if(Objects.isNull(orders)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        orders.setStatusName(Constants.ordersStatus.getName(orders.getStatus()));
        if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
            if(Constants.equalsInteger(orders.getWorkType(),Constants.ZERO)){
                orders.setPriceUnit("元/斤");
            }else if(Constants.equalsInteger(orders.getWorkType(),Constants.ONE)){
                orders.setPriceUnit("元/人/天");
            }else{
                if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)){
                    orders.setPriceUnit("元/人/天");
                }else if(Constants.equalsInteger(orders.getCarType(),Constants.ONE)){
                    orders.setPriceUnit("元/人/小时");
                }else{
                    orders.setPriceUnit("元/斤");
                }
            }
        }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
            if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)){
                orders.setPriceUnit("元/天");
            }else if(Constants.equalsInteger(orders.getCarType(),Constants.ONE)){
                orders.setPriceUnit("元/次");
            }
        }
        //附件信息
        List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,orders.getId())
@@ -977,17 +1002,21 @@
        }
        //减少发单量
        memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getPublishNum,"publish_num - 1").eq(Member::getId,orders.getReleaseMemberId()));
        memberMapper.update(new UpdateWrapper<Member>().lambda()
                .setSql("publish_num = ifnull(publish_num,0) - 1")
                .eq(Member::getId,orders.getReleaseMemberId()));
        if(Constants.equalsInteger(orders.getStatus(),Constants.TWO)||Constants.equalsInteger(orders.getStatus(),Constants.THREE)){
            //减少接单量
            memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum,"receive_num - 1").eq(Member::getId,orders.getAcceptMemberId()));
            memberMapper.update(new UpdateWrapper<Member>().lambda()
                    .setSql("receive_num = ifnull(receive_num,0) - 1")
                    .eq(Member::getId,orders.getAcceptMemberId()));
        }
Date date = new Date();
        ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                .set(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
                .set(Orders::getUpdateTime,"now()")
                .set(Orders::getCancelTime,"now()")
                .set(Orders::getUpdateTime,date)
                .set(Orders::getCancelTime,date)
                .set(Orders::getCancelType,Constants.TWO)
                .eq(Orders::getId,orders.getId())
        );
@@ -1065,6 +1094,8 @@
                        .set(Orders::getUpdateTime,"now()")
                        .set(Orders::getStatus,Constants.ordersStatus.wait)
                        .set(Orders::getPayStatus,Constants.ONE)
                        .set(Orders::getPayTime,"now()")
                        .set(Orders::getPayMethod,Constants.ZERO)
                        .set(Orders::getWxExternalNo,paymentNo)
                        .eq(Orders::getId,orders.getId())
                );
@@ -1084,6 +1115,8 @@
                        .set(Orders::getUpdateTime,"now()")
                        .set(Orders::getStatus,Constants.FOUR)
                        .set(Orders::getPayStatus,Constants.ONE)
                        .set(Orders::getPayTime,"now()")
                        .set(Orders::getPayMethod,Constants.ZERO)
                        .set(Orders::getWxExternalNo,paymentNo)
                        .set(Orders::getFinishTime,"now()")
                        .eq(Orders::getId,orders.getId())
@@ -1323,6 +1356,14 @@
    //todo 自动派单
    public void autoGrabOrders(){
//        String autoConfirmTime = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.AUTO_DISPATCH_DISTANCE).getCode();
//        List<Orders> ordersList = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
//                .eq(Orders::getStatus,Constants.FOUR).eq(Orders::getCommentStatus,Constants.ZERO)
//                .apply(" DATE_ADD(finish_time, INTERVAL 7 DAY) < now() ")
//                .last("limit 100")
//        );
    }