111
k94314517
2025-07-19 99b600d34ee5e2d82eecc4df233c33ecd0e18841
111
已修改7个文件
310 ■■■■■ 文件已修改
server/admin/src/main/java/com/doumee/api/business/OrdersController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Orders.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/OrdersService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/web/src/main/java/com/doumee/api/web/OrdersApi.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/admin/src/main/java/com/doumee/api/business/OrdersController.java
@@ -62,13 +62,13 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @RequiresPermissions("business:orders:update")
    public ApiResponse updateById(@RequestBody Orders orders) {
        ordersService.updateById(orders);
        return ApiResponse.success(null);
    }
//    @ApiOperation("根据ID修改")
//    @PostMapping("/updateById")
//    @RequiresPermissions("business:orders:update")
//    public ApiResponse updateById(@RequestBody Orders orders) {
//        ordersService.updateById(orders);
//        return ApiResponse.success(null);
//    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
server/services/src/main/java/com/doumee/dao/business/model/Orders.java
@@ -193,7 +193,7 @@
    private Integer isUpdate;
    @ApiModelProperty(value = "修改时间", example = "1")
    private Integer isUpdateTime;
    private Date isUpdateTime;
    @ApiModelProperty(value = "接单方黑名单member:id 多个以,分割")
    private String blackReceive;
@@ -364,6 +364,9 @@
    @TableField(exist = false)
    private BigDecimal queryLgt;
    @ApiModelProperty(value = "是否可取消:0=可以;1=不可以", example = "1")
    @TableField(exist = false)
    private Integer cancelStatus;
}
server/services/src/main/java/com/doumee/service/business/OrdersService.java
@@ -52,8 +52,9 @@
     *
     * @param orders 实体对象
     */
    void updateById(Orders orders);
//    void updateById(Orders orders);
    void update(Orders orders);
    /**
     * 批量主键更新
     *
@@ -105,13 +106,11 @@
    void begin(Integer orderId,Member member);
    void updOrderData(UpdOrderDataDTO updOrderDataDTO);
//    void updOrderData(UpdOrderDataDTO updOrderDataDTO);
//
    void confirmUpd(ConfirmUpdOrderDTO confirmUpdOrderDTO);
    void releaseCancelOrder(Integer orderId,Member member);
    void receiveCancelOrder(Integer orderId,Member member);
    void cancelOrder(Integer orderId,Member member);
    OrderReleaseVO doneOrder(DoneOrderDTO doneOrderDTO);
@@ -128,7 +127,7 @@
    PageData<Orders> findPageForMini(PageWrap<Orders> pageWrap);
    Orders getDetail(Integer id,Integer userType);
    Orders getDetail(Integer id,Member member);
    void refundCallback(RefundNotification refundNotification);
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -73,9 +73,18 @@
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(Objects.nonNull(identityInfo.getId())){
            IdentityInfo model = identityInfoMapper.selectOne(new QueryWrapper<IdentityInfo>().lambda()
                    .eq(IdentityInfo::getMemberId,identityInfo.getMemberId())
                    .eq(IdentityInfo::getType,identityInfo.getType())
                    .last("limit 1")
            );
            if(Objects.nonNull(model)){
                identityInfo.setId(model.getId());
            this.updateById(identityInfo);
        }else{
                return identityInfo.getId();
            }
            //查询用户是否已存在当前身份
            if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda()
                    .eq(IdentityInfo::getDeleted,Constants.ZERO)
@@ -94,7 +103,6 @@
                    .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity,Constants.ONE)
                    .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity,Constants.ONE)
                    .eq(Member::getId,identityInfo.getMemberId()));
        }
        return identityInfo.getId();
    }
server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
@@ -101,6 +101,7 @@
        orders.setPayStatus(Constants.ZERO);
        orders.setDeleted(Constants.ZERO);
        orders.setReleaseMemberId(orders.getMember().getId());
        orders.setCommentStatus(Constants.ZERO);
        //查询手续费
        Category platformCategory = categoryMapper.selectOne(new QueryWrapper<Category>().lambda().eq(Category::getType,Constants.THREE).eq(Category::getName,orders.getType()).eq(Category::getDeleted,Constants.ZERO).last("limit 1 "));
        if(Objects.isNull(platformCategory)){
@@ -121,6 +122,7 @@
        if(Constants.equalsInteger(orders.getType(),Constants.TWO)){
            orders.setStatus(Constants.ordersStatus.waitPay.getKey());
            orders.setOutTradeNo(UUID.randomUUID().toString().replace("-",""));
            orders.setPayAccount(orders.getEstimatedAccount());
            //唤起支付业务
            objects = this.getWxPayResponse(orders,orders.getMember().getOpenid());
            orderReleaseVO.setObject(objects);
@@ -182,7 +184,7 @@
        request.setOutTradeNo(orders.getOutTradeNo());
        request.setNotifyUrl(WxMiniConfig.wxProperties.getNotifyUrl());//这个回调url必须是https开头的
        Amount amount = new Amount();
        amount.setTotal(1);//orders.getEstimatedAccount().intValue());
        amount.setTotal(1);//orders.getPayAccount().intValue());
        request.setAmount(amount);
//        PrepayResponse res = WxMiniConfig.wxPayService.prepay(request);
        // 跟之前下单示例一样,填充预下单参数
@@ -328,12 +330,40 @@
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void updateById(Orders orders) {
    public void update(Orders orders){
        if(Objects.isNull(orders)
        || Objects.isNull(orders.getId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Orders model = ordersMapper.selectById(orders.getId());
        if(!Constants.equalsInteger(model.getReleaseMemberId(),orders.getMember().getId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您的订单无法进行该操作");
        }
        if(Constants.equalsInteger(model.getIsUpdate(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单已修改,待接单方确认,无法进行该操作");
        }
        if(!Constants.equalsInteger(model.getType(),Constants.TWO)){
            if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)||Constants.equalsInteger(model.getStatus(),Constants.ONE)){
                this.updateById(orders);
            }else if(Constants.equalsInteger(model.getStatus(),Constants.TWO)){
                this.updOrderData(orders,model);
            }else{
                throw new BusinessException(ResponseStatus.NOT_ALLOWED);
            }
        }else{
            throw new BusinessException(ResponseStatus.NOT_ALLOWED);
        }
    }
//    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void updateById(Orders orders) {
        Orders model = ordersMapper.selectById(orders.getId());
        if(Constants.equalsInteger(model.getType(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"此类订单无法进行修改");
@@ -362,6 +392,7 @@
                        || StringUtils.isEmpty(multifile.getName())){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"附件信息错误");
                }
                multifile.setId(null);
                multifile.setIsdeleted(Constants.ZERO);
                multifile.setCreateDate(new Date());
                multifile.setObjId(orders.getId());
@@ -378,7 +409,7 @@
            return;
        }
        for (Orders orders: orderss) {
            this.updateById(orders);
            //this.updateById(orders);
        }
    }
@@ -501,6 +532,9 @@
        queryWrapper.like(org.apache.commons.lang3.StringUtils.isNotBlank(model.getCode()),Orders::getCode, model.getCode());
        queryWrapper.eq(Objects.nonNull(model.getType()),Orders::getType, model.getType());
        queryWrapper.eq(Objects.nonNull(model.getStatus()),Orders::getStatus, model.getStatus());
        queryWrapper.eq(Objects.nonNull(model.getCommentStatus()),Orders::getCommentStatus, model.getCommentStatus());
        queryWrapper.eq(Objects.nonNull(model.getReleaseMemberId()),Orders::getReleaseMemberId, model.getReleaseMemberId());
        queryWrapper.eq(Objects.nonNull(model.getAcceptMemberId()),Orders::getAcceptMemberId, model.getAcceptMemberId());
        queryWrapper.eq(Objects.nonNull(model.getAcceptType()),Orders::getAcceptType, model.getAcceptType());
        queryWrapper.apply(org.apache.commons.lang3.StringUtils.isNotBlank(model.getReleaseName()),"m1.name", model.getReleaseName());
        queryWrapper.apply(org.apache.commons.lang3.StringUtils.isNotBlank(model.getAcceptName()),"( i.LINK_NAME like '%"+model.getAcceptName()+"%' or i.company_name like '%"+model.getAcceptName()+"%' or i.TELEPHONE like '%"+model.getAcceptName()+"%' ) ");
@@ -595,18 +629,19 @@
        if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"您自己的订单无法进行该操作");
        }
         member = memberMapper.selectById(member.getId());
        //查询用户是否有对应身份
        if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
            if(!Constants.equalsInteger(member.getWorkerIdentity(),Constants.TWO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"身份信息异常,请联系管理员");
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"身份信息异常,请前往个人中心进行身份认证!");
            }
        }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
            if(!Constants.equalsInteger(member.getDriverIdentity(),Constants.TWO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"身份信息异常,请联系管理员");
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"身份信息异常,请前往个人中心进行身份认证!");
            }
        }else{
            if(!Constants.equalsInteger(member.getChefIdentity(),Constants.TWO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"身份信息异常,请联系管理员");
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"身份信息异常,请前往个人中心进行身份认证!");
            }
        }
@@ -670,50 +705,36 @@
    /**
     * 发单方修改订单 - 已接单状态
     * @param updOrderDataDTO
     */
    @Override
//    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void updOrderData(UpdOrderDataDTO updOrderDataDTO){
        if(Objects.isNull(updOrderDataDTO)
            || Objects.isNull(updOrderDataDTO.getOrderId())
            || Objects.isNull(updOrderDataDTO.getStartDate())
            || Objects.isNull(updOrderDataDTO.getEndDate())){
    public void updOrderData(Orders orders,Orders model){
        if(Objects.isNull(orders)
            || Objects.isNull(orders.getStartDate())
            || Objects.isNull(orders.getEndDate())){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        Orders orders = ordersMapper.selectById(updOrderDataDTO.getOrderId());
        if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单状态已流转,无法进行该操作");
        }
        if(!Constants.equalsInteger(orders.getReleaseMemberId(),updOrderDataDTO.getMember().getId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您的订单无法进行该操作");
        }
        if(Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单已修改,待接单方确认,无法进行该操作");
        }
        orders.setStartDate(updOrderDataDTO.getStartDate());
        orders.setEndDate(updOrderDataDTO.getEndDate());
        orders.setTotalDays(updOrderDataDTO.getTotalDays());
        model.setTotalDays(DateUtil.daysBetweenDates(orders.getEndDate(),orders.getStartDate())+1);
        model.setStartDate(orders.getStartDate());
        model.setEndDate(orders.getEndDate());
        //用车类型
        if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
            if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)) {
                orders.setPriceNum1(updOrderDataDTO.getTotalDays());
        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
            if(Constants.equalsInteger(model.getCarType(),Constants.ZERO)) {
                model.setPriceNum1(orders.getTotalDays());
            }
        }else if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
            if(Constants.equalsInteger(orders.getWorkType(),Constants.ONE)||(Constants.equalsInteger(orders.getWorkType(),Constants.TWO)&&Constants.equalsInteger(orders.getCarType(),Constants.ZERO))){
                orders.setPriceNum1(updOrderDataDTO.getTotalDays());
        }else if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
            if(Constants.equalsInteger(model.getWorkType(),Constants.ONE)||
                    (Constants.equalsInteger(model.getWorkType(),Constants.TWO)&&Constants.equalsInteger(model.getCarType(),Constants.ZERO))){
                model.setPriceNum1(orders.getTotalDays());
            }
        }else{
            orders.setPriceNum1(updOrderDataDTO.getTotalDays());
            model.setPriceNum1(orders.getTotalDays());
        }
        Long total = this.getTotal(orders);
        ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                .set(Orders::getStartDate,updOrderDataDTO.getStartDate())
                .set(Orders::getEndDate,updOrderDataDTO.getEndDate())
                .set(Orders::getTotalDays,updOrderDataDTO.getTotalDays())
                .set(Orders::getStartDate,model.getStartDate())
                .set(Orders::getEndDate,model.getEndDate())
                .set(Orders::getTotalDays,model.getTotalDays())
                .set(Orders::getIsUpdate,Constants.ONE)
                .set(Orders::getIsUpdateTime,new Date())
                .set(Orders::getUpdateTime,new Date())
@@ -722,8 +743,8 @@
        );
        //创建操作日志
        Constants.OrdersLog ordersLog = Constants.OrdersLog.UPD_ORDER;
        this.saveOrderLog(orders,ordersLog,
                ordersLog.getInfo(),updOrderDataDTO.getMember().getId(),null);
        this.saveOrderLog(model,ordersLog,
                ordersLog.getInfo(),orders.getMember().getId(),null);
        //TODO 通知接单人 订单发生变更
    }
@@ -779,7 +800,7 @@
        if(!Constants.equalsInteger(orders.getAcceptMemberId(),confirmUpdOrderDTO.getMember().getId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您的订单无法进行该操作");
        }
        if( Constants.equalsInteger(confirmUpdOrderDTO.getStatus(),Constants.ONE)){
        if(!Constants.equalsInteger(confirmUpdOrderDTO.getStatus(),Constants.ONE)){
            ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                    .set(Orders::getIsUpdate,Constants.TWO)
                    .set(Orders::getUpdateTime,new Date())
@@ -799,7 +820,7 @@
                    .eq(Orders::getId,orders.getId())
            );
            memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum,"receive_num - 1").eq(Member::getId,confirmUpdOrderDTO.getMember().getId()));
            memberMapper.update(new UpdateWrapper<Member>().lambda().setSql("receive_num = receive_num - 1").eq(Member::getId,confirmUpdOrderDTO.getMember().getId()));
            //记录不同意修改的日志
            Constants.OrdersLog ordersLog = Constants.OrdersLog.UPD_DISAGREE;
@@ -810,18 +831,30 @@
    }
    /**
     * 发单方取消订单
     * @param orderId
     * @param member
     */
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void releaseCancelOrder(Integer orderId,Member member){
    public void cancelOrder(Integer orderId,Member member){
        Orders orders = ordersMapper.selectById(orderId);
        if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
            this.releaseCancelOrder(orders,member);
        }else if(Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){
            this.receiveCancelOrder(orders,member);
        }else{
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您的订单无法进行该操作");
        }
    }
    /**
     * 发单方取消订单
     * @param member
     */
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void releaseCancelOrder(Orders orders,Member member){
        if(!(Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.wait.getKey())
                ||Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.waitPay.getKey())
        || Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey()))){
@@ -893,10 +926,10 @@
            //TODO 发单方取消订单通知接单方
            //减少接单量
            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 = (receive_num - 1) ").eq(Member::getId,orders.getAcceptMemberId()));
        }
        //减少发单量
        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 = (publish_num - 1)").eq(Member::getId,orders.getReleaseMemberId()));
        //日志存储
        Constants.OrdersLog ordersLog = Constants.OrdersLog.RELEASE_CANCEL;
@@ -907,16 +940,10 @@
    /**
     * 接单方取消接单
     * @param orderId
     * @param member
     */
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void receiveCancelOrder(Integer orderId,Member member){
        Orders orders = ordersMapper.selectById(orderId);
        if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
    public void receiveCancelOrder(Orders orders,Member member){
        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单状态已流转,无法进行取消");
        }
@@ -948,7 +975,7 @@
        );
        //减少接单量
        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 = receive_num - 1 ").eq(Member::getId,orders.getAcceptMemberId()));
        //日志存储
        Constants.OrdersLog ordersLog = Constants.OrdersLog.CANCEL;
        this.saveOrderLog(orders,ordersLog,
@@ -994,7 +1021,7 @@
            orders.setOutTradeNo(UUID.randomUUID().toString().replace("-",""));
            ordersMapper.updateById(orders);
            //唤起支付业务
            object = this.getWxPayResponse(orders,orders.getMember().getOpenid());
            object = this.getWxPayResponse(orders,doneOrderDTO.getMember().getOpenid());
            orderReleaseVO.setObject(object);
        }else{
            orders.setStatus(Constants.ordersStatus.done.getKey());
@@ -1147,13 +1174,14 @@
                .set(Orders::getUpdateTime,new Date())
                .set(Orders::getCommentTime,new Date())
                .set(Orders::getCommentLevel,commentDTO.getLevel())
                .set(org.apache.commons.lang3.StringUtils.isNotBlank(commentDTO.getInfo()),Orders::getCommentInfo,commentDTO.getInfo())
                .set(Orders::getCommentType,Constants.ZERO)
                .eq(Orders::getId,orders.getId())
        );
        memberMapper.update(new UpdateWrapper<Member>().lambda()
                .set(Member::getScore," ( total_score +" + commentDTO.getLevel() + " ) / (score_order_num + 1 )")
                .set(Member::getTotalScore," total_score +" + commentDTO.getLevel())
                .set(Member::getScoreOrderNum," score_order_num + 1 " ).eq(Member::getId,orders.getAcceptMemberId())
                .setSql(" score =  ( total_score +" + commentDTO.getLevel() + " ) / (score_order_num + 1 )")
                .setSql(" total_score =  total_score +" + commentDTO.getLevel())
                .setSql(" score_order_num = score_order_num + 1 " ).eq(Member::getId,orders.getAcceptMemberId())
        );
        //日志存储
        Constants.OrdersLog ordersLog = Constants.OrdersLog.COMMENT;
@@ -1171,7 +1199,7 @@
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public String payNotify(String preOrderId,String paymentNo){
        Orders orders = ordersMapper.selectOne(new QueryWrapper<Orders>().lambda().eq(Orders::getCode,preOrderId).last("limit 1"));
        Orders orders = ordersMapper.selectOne(new QueryWrapper<Orders>().lambda().eq(Orders::getOutTradeNo,preOrderId).last("limit 1"));
        if(Constants.equalsInteger(orders.getType(),Constants.TWO)){
            //用餐订单  如果已经流转到已支付  则直接返回
            if(!Constants.equalsInteger(orders.getStatus(),Constants.ZERO)){
@@ -1214,6 +1242,8 @@
                //存储流水记录
                MemberRevenue memberRevenue = new MemberRevenue();
                memberRevenue.setCreateTime(new Date());
                memberRevenue.setDeleted(Constants.ZERO);
                memberRevenue.setTransactionNo(orders.getCode());
                memberRevenue.setMemberId(orders.getAcceptMemberId());
                memberRevenue.setType(orders.getType());
                memberRevenue.setOptType(Constants.ONE);
@@ -1233,8 +1263,8 @@
                //更新接单用户的余额与历史总金额
                memberMapper.update(new UpdateWrapper<Member>().lambda()
                        .set(Member::getAmount,"amount + " + orders.getReceiveAccount() )
                        .set(Member::getTotalAmount,"amount + " + orders.getReceiveAccount() )
                        .setSql(" amount = ( amount + " + orders.getReceiveAccount() +")" )
                        .setSql(" total_amount = ( amount + " + orders.getReceiveAccount() + ")" )
                        .eq(Member::getId,member.getId())
                );
@@ -1320,7 +1350,7 @@
                //接单方 我的订单
                queryWrapper.eq(Orders::getAcceptMemberId,model.getMember().getId());
                queryWrapper.eq(Objects.nonNull(model.getStatus()),Orders::getStatus,model.getStatus());
                queryWrapper.orderByDesc(Orders::getCreateTime);
                queryWrapper.orderByDesc(Orders::getAcceptTime);
            }else{
                //查询用户的接单权重
                ReceiveWeight receiveWeight = receiveWeightMapper.selectOne(new QueryWrapper<ReceiveWeight>().lambda().eq(ReceiveWeight::getDeleted,Constants.ZERO).apply(" RECEIVE_MIN < "+model.getMember().getReceiveNum()+" and RECEIVE_MAX > " + model.getMember().getReceiveNum()).last(" limit 1 "));
@@ -1427,7 +1457,7 @@
    @Override
    public Orders getDetail(Integer id,Integer userType) {
    public Orders getDetail(Integer id,Member member) {
        Orders orders = ordersMapper.selectJoinOne(Orders.class,new MPJLambdaWrapper<Orders>()
                        .selectAll(Orders.class)
                        .select(" m1.name " , Orders::getReleaseName)
@@ -1472,9 +1502,54 @@
            orders.setMultifileList(multifileList);
        }
        orders.setStatusName(Constants.ordersStatus.getName(orders.getStatus()));
        orders.setCancelStatus(Constants.ZERO);
        this.getPriceUnit(orders);
        if(orders.getStatus() <= Constants.ordersStatus.accept.getKey()){
            if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
                //判断是否可修改 已取消次数 与 时间限制
                Integer totalCancelTimes = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RELEASE_CANCEL_TIMES).getCode());
                Long cancelTimes = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
                        .apply(" DATE(cancel_time) = DATE(NOW()) ")
                        .eq(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
                        .eq(Orders::getReleaseMemberId,orders.getReleaseMemberId()));
                //查询取消次数
                if(totalCancelTimes<=cancelTimes){
                    orders.setCancelStatus(Constants.ONE);
        return orders;
    }
                Integer cancelTimeHour = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RELEASE_CANCEL_TIME).getCode());
                Long hours = DateUtil.getBetweenHours(new Date(),orders.getStartDate());
                if(hours < cancelTimeHour){
                    orders.setCancelStatus(Constants.ONE);
                    return orders;
                }
            }else if(Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){
                //判断是否可修改 已取消次数 与 时间限制
                Integer totalCancelTimes = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RECEIVE_CANCEL_TIMES).getCode());
                Long cancelTimes = orderLogMapper.selectCount(new QueryWrapper<OrderLog>().lambda()
                        .apply(" DATE(create_time) = DATE(NOW()) ")
                        .eq(OrderLog::getObjType,Constants.OrdersLog.CANCEL.getKey())
                        .eq(OrderLog::getMemberId,member.getId()));
                //查询取消次数
                if(totalCancelTimes<=cancelTimes){
                    orders.setCancelStatus(Constants.ONE);
                    return orders;
                }
                Integer cancelTimeHour = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RECEIVE_CANCEL_TIME).getCode());
                Long hours = DateUtil.getBetweenHours(new Date(),orders.getStartDate());
                if(hours < cancelTimeHour){
                    orders.setCancelStatus(Constants.ONE);
                    return orders;
                }
            }
        } else{
            orders.setCancelStatus(Constants.ONE);
        }
        return orders;
    }
    public synchronized String  getNextCode(Integer type){
server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
@@ -222,6 +222,8 @@
            //存储流水记录
            MemberRevenue memberRevenue = new MemberRevenue();
            memberRevenue.setCreateTime(new Date());
            memberRevenue.setTransactionNo(withdrawalOrders.getOutBillNo());
            memberRevenue.setDeleted(Constants.ZERO);
            memberRevenue.setMemberId(member.getId());
            memberRevenue.setType(Constants.THREE);
            memberRevenue.setOptType(-Constants.ONE);
server/web/src/main/java/com/doumee/api/web/OrdersApi.java
@@ -62,9 +62,22 @@
    })
    public ApiResponse updateOrder(@RequestBody Orders orders) {
        orders.setMember(this.getMemberResponse());
        ordersService.updateById(orders);
        ordersService.update(orders);
        return  ApiResponse.success("操作成功");
    }
//    @LoginRequired
//    @ApiOperation(value = "修改订单日期 - 发单方", notes = "小程序端")
//    @PostMapping("/updOrderData")
//    @ApiImplicitParams({
//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
//    })
//    public ApiResponse updOrderData(@RequestBody UpdOrderDataDTO updOrderDataDTO) {
//        updOrderDataDTO.setMember(this.getMemberResponse());
//        ordersService.updOrderData(updOrderDataDTO);
//        return  ApiResponse.success("操作成功");
//    }
    @LoginRequired
    @ApiOperation(value = "手动接单 - 接单方", notes = "小程序端")
@@ -90,39 +103,17 @@
    @LoginRequired
    @ApiOperation(value = "取消订单 - 发单方", notes = "小程序端")
    @GetMapping("/releaseCancelOrder")
    @GetMapping("/cancelOrder")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse releaseCancelOrder(@RequestParam Integer orderId) {
        ordersService.releaseCancelOrder(orderId,this.getMemberResponse());
    public ApiResponse cancelOrder(@RequestParam Integer orderId) {
        ordersService.cancelOrder(orderId,this.getMemberResponse());
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "取消接单 - 接单方", notes = "小程序端")
    @GetMapping("/receiveCancelOrder")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse receiveCancelOrder(@RequestParam Integer orderId) {
        ordersService.receiveCancelOrder(orderId,this.getMemberResponse());
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "修改订单日期 - 发单方", notes = "小程序端")
    @PostMapping("/updOrderData")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse updOrderData(@RequestBody UpdOrderDataDTO updOrderDataDTO) {
        updOrderDataDTO.setMember(this.getMemberResponse());
        ordersService.updOrderData(updOrderDataDTO);
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "确认订单修改 - 接单方", notes = "小程序端")
@@ -191,7 +182,7 @@
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<Orders> getDetail(@RequestParam Integer orderId) {
        return  ApiResponse.success("操作成功",ordersService.getDetail(orderId,this.getMemberResponse().getUseIdentity()));
        return  ApiResponse.success("操作成功",ordersService.getDetail(orderId,this.getMemberResponse()));
    }
    @LoginRequired