扣款罚金区分公司
This commit is contained in:
parent
9982b95211
commit
24a5b2d44f
|
|
@ -463,7 +463,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
addPrice = fcRecord.getChangeMoney();
|
||||
BigDecimal fineMoney = BigDecimal.ZERO;
|
||||
// 查询师傅的超时扣款记录
|
||||
List<OrderTimeoutRecord> fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId());
|
||||
List<OrderTimeoutRecord> fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId(), orderDetail.getDeptId());
|
||||
ArrayList<Long> fineIds = new ArrayList<>();
|
||||
for (OrderTimeoutRecord fineRecord : fineRecords) {
|
||||
// 抵扣超时罚金 这里的罚金是按创建时间升序排列的 优先抵扣最早的罚金
|
||||
|
|
@ -567,7 +567,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
logger.info("子财务单[{}] 应支付金额={} 不需要分账", financialDetail.getId(), payMoney);
|
||||
} else {
|
||||
// 查询师傅的超时扣款记录
|
||||
List<OrderTimeoutRecord> fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId());
|
||||
List<OrderTimeoutRecord> fineRecords = orderFineRecordMapper.selectUnFine(orderDetail.getWorkerId(), orderDetail.getDeptId());
|
||||
// 超时罚金
|
||||
BigDecimal fineMoney = BigDecimal.ZERO;
|
||||
ArrayList<Long> fineIds = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public class OrderTimeoutRecord {
|
|||
*/
|
||||
private Long orderDetailId;
|
||||
private Long workerId;
|
||||
private Long deptId;
|
||||
|
||||
private List<Long> 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ public interface OrderFineRecordMapper {
|
|||
* 查询某师傅的未扣款的罚金
|
||||
*
|
||||
* @param workerId 师傅id
|
||||
* @param deptId 公司id
|
||||
*/
|
||||
List<OrderTimeoutRecord> selectUnFine(@Param("workerId") Long workerId);
|
||||
List<OrderTimeoutRecord> selectUnFine(@Param("workerId") Long workerId, @Param("deptId") Long deptId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
<id property="id" column="id"/>
|
||||
<result property="orderDetailId" column="order_detail_id"/>
|
||||
<result property="workerId" column="worker_id"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="fineStatus" column="fine_status"/>
|
||||
<result property="orderStatus" column="order_status"/>
|
||||
<result property="payMoney" column="pay_money"/>
|
||||
|
|
@ -15,7 +16,7 @@
|
|||
</resultMap>
|
||||
|
||||
<sql id="selectOrderFineRecord">
|
||||
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
|
||||
</sql>
|
||||
|
||||
|
|
@ -49,13 +50,14 @@
|
|||
<select id="selectUnFine" resultMap="OrderFineRecordResult">
|
||||
<include refid="selectOrderFineRecord"/>
|
||||
WHERE worker_id = #{workerId}
|
||||
AND dept_id = #{deptId}
|
||||
AND fine_status = 0
|
||||
ORDER BY create_time
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="com.ghy.payment.domain.OrderTimeoutRecord" useGeneratedKeys="true" keyProperty="id">
|
||||
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})
|
||||
</insert>
|
||||
|
||||
<!-- <update id="update">-->
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue