diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index e86485c9..4f39547c 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -463,7 +463,7 @@ public class OrderDetailServiceImpl implements OrderDetailService { addPrice = fcRecord.getChangeMoney(); BigDecimal fineMoney = BigDecimal.ZERO; // 查询师傅的超时扣款记录 - List fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId()); + List fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId(), orderDetail.getDeptId()); ArrayList fineIds = new ArrayList<>(); for (OrderTimeoutRecord fineRecord : fineRecords) { // 抵扣超时罚金 这里的罚金是按创建时间升序排列的 优先抵扣最早的罚金 @@ -567,7 +567,7 @@ public class OrderDetailServiceImpl implements OrderDetailService { logger.info("子财务单[{}] 应支付金额={} 不需要分账", financialDetail.getId(), payMoney); } else { // 查询师傅的超时扣款记录 - List fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId()); + List fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId(), orderDetail.getDeptId()); // 超时罚金 BigDecimal fineMoney = BigDecimal.ZERO; ArrayList fineIds = new ArrayList<>(); diff --git a/ghy-payment/src/main/java/com/ghy/payment/domain/OrderTimeoutRecord.java b/ghy-payment/src/main/java/com/ghy/payment/domain/OrderTimeoutRecord.java index 6d7cef46..138c002c 100644 --- a/ghy-payment/src/main/java/com/ghy/payment/domain/OrderTimeoutRecord.java +++ b/ghy-payment/src/main/java/com/ghy/payment/domain/OrderTimeoutRecord.java @@ -21,6 +21,7 @@ public class OrderTimeoutRecord { */ private Long orderDetailId; private Long workerId; + private Long deptId; private List orderDetailIds; @@ -48,9 +49,10 @@ public class OrderTimeoutRecord { public OrderTimeoutRecord() { } - public OrderTimeoutRecord(Long orderDetailId, Long workerId, Integer orderStatus) { + public OrderTimeoutRecord(Long orderDetailId, Long workerId, Long deptId, Integer orderStatus) { this.orderDetailId = orderDetailId; this.workerId = workerId; + this.deptId = deptId; this.orderStatus = orderStatus; } } diff --git a/ghy-payment/src/main/java/com/ghy/payment/mapper/OrderFineRecordMapper.java b/ghy-payment/src/main/java/com/ghy/payment/mapper/OrderFineRecordMapper.java index 5465e464..75da3d67 100644 --- a/ghy-payment/src/main/java/com/ghy/payment/mapper/OrderFineRecordMapper.java +++ b/ghy-payment/src/main/java/com/ghy/payment/mapper/OrderFineRecordMapper.java @@ -24,7 +24,8 @@ public interface OrderFineRecordMapper { * 查询某师傅的未扣款的罚金 * * @param workerId 师傅id + * @param deptId 公司id */ - List selectUnFine(@Param("workerId") Long workerId); + List selectUnFine(@Param("workerId") Long workerId, @Param("deptId") Long deptId); } diff --git a/ghy-payment/src/main/resources/mapper/financial/OrderFineRecordMapper.xml b/ghy-payment/src/main/resources/mapper/financial/OrderFineRecordMapper.xml index acf89bd4..d539929d 100644 --- a/ghy-payment/src/main/resources/mapper/financial/OrderFineRecordMapper.xml +++ b/ghy-payment/src/main/resources/mapper/financial/OrderFineRecordMapper.xml @@ -8,6 +8,7 @@ + @@ -15,7 +16,7 @@ - SELECT id, order_detail_id, worker_id, fine_status, order_status, pay_money, create_time + SELECT id, order_detail_id, worker_id, dept_id, fine_status, order_status, pay_money, create_time FROM order_timeout_record @@ -49,13 +50,14 @@ - INSERT INTO order_timeout_record (order_detail_id, worker_id, order_status, pay_money) - VALUES (#{orderDetailId}, #{workerId}, #{orderStatus}, #{payMoney}) + INSERT INTO order_timeout_record (order_detail_id, worker_id, dept_id, order_status, pay_money) + VALUES (#{orderDetailId}, #{workerId}, #{deptId}, #{orderStatus}, #{payMoney}) diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java index 24877beb..f576b03e 100644 --- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java +++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java @@ -86,7 +86,7 @@ public class OrderServiceImpl implements OrderService { Date overTime = getOverTime(order.getExpectTimeStart(), 4 * 60 * 60 * 1000); if (overTime.before(now)) { log.info("订单[{}]服务中状态超时4小时 扣款", order.getId()); - OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getOrderStatus()); + OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus()); record.setPayMoney(getFineMoney(order)); record.setFineStatus(0); orderFineRecordMapper.insert(record); @@ -115,7 +115,7 @@ public class OrderServiceImpl implements OrderService { Date overTime = getOverTime(order.getUpdateTime(), 4 * 60 * 60 * 1000); if (overTime.before(now)) { log.info("订单[{}]超时4h 扣款", order.getId()); - OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getOrderStatus()); + OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus()); record.setPayMoney(getFineMoney(order)); record.setFineStatus(0); orderFineRecordMapper.insert(record); @@ -128,7 +128,7 @@ public class OrderServiceImpl implements OrderService { Date overTime = getOverTime(orderTime, 6 * 60 * 60 * 1000); if (overTime.before(now)) { log.info("订单[{}]超时6h 再次扣款", order.getId()); - OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getOrderStatus()); + OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus()); record.setPayMoney(getFineMoney(order)); record.setFineStatus(0); orderFineRecordMapper.insert(record);