diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueDriverController.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueDriverController.java index fa7856e5..89f1263e 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueDriverController.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueDriverController.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.rescue.core.controller.BaseController; import cn.iocoder.yudao.module.rescue.core.page.TableDataInfo; import cn.iocoder.yudao.module.rescue.domain.*; import cn.iocoder.yudao.module.rescue.service.*; +import cn.iocoder.yudao.module.rescue.vo.SetMoneyVO; import cn.iocoder.yudao.util.RedisCache; import cn.iocoder.yudao.module.rescue.core.text.HttpStatus; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; @@ -173,15 +174,8 @@ public class RescueDriverController extends BaseController { //设置应收金额 @PostMapping("/setOrderMoneyNew") - public CommonResult setOrderMoneyNew(@RequestParam("rescueId") String rescueId, - @RequestParam("setMoney") Double setMoney, - @RequestParam("autoRemark") String autoRemark, - @RequestParam(name = "images" ,required = false) String images, - @RequestParam(name = "remark" ,required = false) String remark, - @RequestParam(name = "payType", required = false) String payType, - @RequestParam(name = "orderSigningPersonId" ,required = false) Long orderSigningPersonId, - @RequestParam(name = "orderSigningPersonName" ,required = false) String orderSigningPersonName) throws Exception { - rescueDriverInfoService.setOrderMoneyNew(Long.parseLong(rescueId), setMoney, remark, autoRemark, images, orderSigningPersonId, orderSigningPersonName, payType); + public CommonResult setOrderMoneyNew(@RequestBody SetMoneyVO setMoneyVO) throws Exception { + rescueDriverInfoService.setOrderMoneyNew(setMoneyVO); return success("成功"); } diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueCarInfo.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueCarInfo.java index 5d6912af..b2aed833 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueCarInfo.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueCarInfo.java @@ -121,6 +121,7 @@ public class RescueCarInfo extends TenantBaseDO { /** * 司机id */ - private String driverId; + @TableField(exist = false) + private Long driverId; } diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java index abf6009c..f1d89a8b 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java @@ -422,6 +422,12 @@ public class RescueInfo extends TenantBaseDO @TableField(exist = false) private String confirmPaymentPersonRemark; + @TableField(exist = false) + private String paymentName; + + @TableField(exist = false) + private Date paymentTime; + /** * 调度等级 */ diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueOrderInfo.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueOrderInfo.java index 7636169e..9fdb0ed7 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueOrderInfo.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueOrderInfo.java @@ -201,6 +201,7 @@ public class RescueOrderInfo extends TenantBaseDO /** 其他费用备注 */ private String otherFeeRemark; + /** 调度设置的拖车费用 */ private Long dispatchTowingFee; diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueDriverInfoService.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueDriverInfoService.java index 68210fbf..cdb6184c 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueDriverInfoService.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueDriverInfoService.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.rescue.service; import cn.iocoder.yudao.module.rescue.domain.*; +import cn.iocoder.yudao.module.rescue.vo.SetMoneyVO; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -48,7 +49,7 @@ public interface IRescueDriverInfoService extends IService void uploadDetailByDriver(RescueInfoDetail rescueInfoDetail) throws Exception; void uploadDispatchDetailByDriver(RescueInfoDispatchDetail rescueInfoDispatchDetail) throws Exception; void setOrderMoney(Long rescueId,Double setMoney) throws Exception; - void setOrderMoneyNew(Long rescueId,Double setMoney,String remark,String autoRemark,String images,Long orderSigningPersonId,String orderSigningPersonName,String payType) throws Exception; + void setOrderMoneyNew(SetMoneyVO setMoneyVO) throws Exception; void endRescue(Long rescueId) throws Exception; void addRefuelRecord(RescueRefuelRecord rescueRefuelRecord) throws Exception; IPage listRefuelRecord(RescueRefuelRecord rescueRefuelRecord, Page page); diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueDriverInfoServiceImpl.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueDriverInfoServiceImpl.java index 4c563d8f..7a0e5c30 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueDriverInfoServiceImpl.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueDriverInfoServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.CoordinateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpUtil; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.custom.entity.CarMain; import cn.iocoder.yudao.module.custom.entity.CustomerMain; import cn.iocoder.yudao.module.custom.service.CustomerCarService; @@ -15,6 +16,7 @@ import cn.iocoder.yudao.module.partner.service.IPartnerCustomerInfoService; import cn.iocoder.yudao.module.rescue.domain.*; import cn.iocoder.yudao.module.rescue.mapper.RescueDriverInfoMapper; import cn.iocoder.yudao.module.rescue.utils.RedissonDelayQueue; +import cn.iocoder.yudao.module.rescue.vo.SetMoneyVO; import cn.iocoder.yudao.module.shop.entity.ShopUserCar; import cn.iocoder.yudao.module.system.api.dict.DictDataApi; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; @@ -96,6 +98,9 @@ public class RescueDriverInfoServiceImpl extends ServiceImpl driverInfoMap = new HashMap<>(); @@ -136,7 +141,7 @@ public class RescueDriverInfoServiceImpl extends ServiceImpl queryWrapper2 = new LambdaQueryWrapper<>(); queryWrapper2.eq(RescueInfo::getDriverId, driverId).and(item -> { - item.eq(RescueInfo::getRescueStatus, "5").or().eq(RescueInfo::getRescueStatus, "6"); + item.eq(RescueInfo::getRescueStatus, "4").or().eq(RescueInfo::getRescueStatus, "5").or().eq(RescueInfo::getRescueStatus, "6"); }); long count2 = rescueInfoService.count(queryWrapper2); driverInfo.setWcNum(count2); @@ -754,33 +759,50 @@ public class RescueDriverInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(RescueOrderInfo::getRescueInfoId, rescueId); + queryWrapper.eq(RescueOrderInfo::getRescueInfoId, setMoneyVO.getRescueId()); RescueOrderInfo one = rescueOrderInfoService.getOne(queryWrapper); if (Integer.parseInt(one.getOrderStatus()) > 1) { throw new Exception("订单已完结不可更改"); } one.setSetMoney(setMoneyRes); - if (orderSigningPersonId != null) { - one.setOrderSigningPersonId(orderSigningPersonId); + if (setMoneyVO.getOrderSigningPersonId() != null) { + one.setOrderSigningPersonId(setMoneyVO.getOrderSigningPersonId()); } - if (orderSigningPersonName != null) { - one.setOrderSigningPersonName(orderSigningPersonName); + if (setMoneyVO.getOrderSigningPersonName() != null) { + one.setOrderSigningPersonName(setMoneyVO.getOrderSigningPersonName()); } - if (payType != null) { - one.setPayType(payType); + if (setMoneyVO.getPayType() != null) { + one.setPayType(setMoneyVO.getPayType()); } + one.setPaymentId(userId); + if(loginUser != null){ + one.setPaymentName(loginUser.getNickname()); + } + one.setPaymentTime(new Date()); one.setOrderStatus("1"); + if(setMoneyVO.getTowingFee() != null){ + one.setTowingFee(setMoneyVO.getTowingFee().longValue()); + } + if(setMoneyVO.getCraneFee() != null){ + one.setCraneFee(setMoneyVO.getCraneFee().longValue()); + } + if(setMoneyVO.getOtherFee() != null){ + one.setOtherFee(setMoneyVO.getOtherFee().longValue()); + } + one.setOtherFeeRemark(setMoneyVO.getOtherFeeRemark()); rescueOrderInfoService.updateById(one); RescueInfoDetail rescueInfoDetail = new RescueInfoDetail(); - rescueInfoDetail.setRescueInfoId(rescueId); + rescueInfoDetail.setRescueInfoId(setMoneyVO.getRescueId()); rescueInfoDetail.setTitle("费用核算"); - rescueInfoDetail.setAutoRemark("司机核算救援费用为" + setMoney + "元, " + autoRemark); - rescueInfoDetail.setRemark(remark); - rescueInfoDetail.setImages(images); + rescueInfoDetail.setAutoRemark("司机核算救援费用为" + setMoneyVO.getSetMoney() + "元, " + setMoneyVO.getAutoRemark()); + rescueInfoDetail.setRemark(setMoneyVO.getRemark()); + rescueInfoDetail.setImages(setMoneyVO.getImages()); detailService.save(rescueInfoDetail); RescueOrderDetail rescueOrderDetail = new RescueOrderDetail(); rescueOrderDetail.setRecordTime(new Date()); diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java index 1a67d799..d151083b 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java @@ -1149,11 +1149,11 @@ public class RescueInfoServiceImpl extends ServiceImpl - and (ri.rescue_status = '5' or ri.rescue_status = '6') + and (ri.rescue_status = '4' or ri.rescue_status = '5' or ri.rescue_status = '6') and (ri.connection_name like concat('%', #{map.connectionName}, '%') diff --git a/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml b/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml index bb460a49..8c4394d8 100644 --- a/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml +++ b/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml @@ -14,9 +14,11 @@ roi.order_signing_charge_id AS orderSigningChargeId, roi.order_signing_charge_name AS orderSigningChargeName, roi.validation_real_name AS orderSigningRealName, + roi.payment_name AS paymentName, + roi.payment_time AS paymentTime, roi.order_signing_remark AS orderSigningRemark FROM rescue_info ri - left join rescue_order_info roi on roi.rescue_info_id = ri.id + left join rescue_order_info roi on roi.rescue_info_id = ri.id and roi.deleted = '0' 1 = 1 and ri.deleted = '0' AND ri.is_revoke = '0' @@ -93,9 +95,11 @@ roi.order_signing_person_name AS orderSigningPersonName, roi.order_signing_charge_id AS orderSigningChargeId, roi.order_signing_charge_name AS orderSigningChargeName, + roi.payment_name AS paymentName, + roi.payment_time AS paymentTime, roi.validation_real_name AS orderSigningRealName FROM rescue_info ri - left join rescue_order_info roi on roi.rescue_info_id = ri.id + left join rescue_order_info roi on roi.rescue_info_id = ri.id and roi.deleted = '0' 1 = 1 and ri.deleted = '0' AND ri.is_revoke = '0' @@ -784,15 +788,15 @@ or connection_phone = #{connectionPhone}