From 1c6e3e3cd34f1c565b4614b2b41b79c6f8b788ce Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 21 Feb 2025 17:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E8=B4=A6=E5=B0=8F=E6=94=B9=E5=8A=A8?= =?UTF-8?q?=EF=BC=8C=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ycwl/basic/biz/OrderBiz.java | 4 +-- .../profitsharing/biz/ProfitSharingBiz.java | 6 ++--- .../dto/ProfitSharingRecordReqQuery.java | 1 + .../mapper/ProfitSharingRecordMapper.java | 3 +-- src/main/resources/mapper/OrderMapper.xml | 25 ++++++++++++++++++- .../mapper/ProfitSharingRecordMapper.xml | 8 ++++++ 6 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ycwl/basic/biz/OrderBiz.java b/src/main/java/com/ycwl/basic/biz/OrderBiz.java index a8aadb0..7016fb4 100644 --- a/src/main/java/com/ycwl/basic/biz/OrderBiz.java +++ b/src/main/java/com/ycwl/basic/biz/OrderBiz.java @@ -236,7 +236,7 @@ public class OrderBiz { } }); orderRepository.clearOrderCache(orderId); // 更新完了,清理下 - profitSharingBiz.revokeProfitSharing(order.getScenicId(), orderId); + profitSharingBiz.revokeProfitSharing(order.getScenicId(), orderId, "订单被取消"); } public void refundOrder(Long orderId) { @@ -258,6 +258,6 @@ public class OrderBiz { } }); orderRepository.clearOrderCache(orderId); // 更新完了,清理下 - profitSharingBiz.revokeProfitSharing(order.getScenicId(), orderId); + profitSharingBiz.revokeProfitSharing(order.getScenicId(), orderId, "订单已退款"); } } diff --git a/src/main/java/com/ycwl/basic/profitsharing/biz/ProfitSharingBiz.java b/src/main/java/com/ycwl/basic/profitsharing/biz/ProfitSharingBiz.java index 1a74082..68e8a2a 100644 --- a/src/main/java/com/ycwl/basic/profitsharing/biz/ProfitSharingBiz.java +++ b/src/main/java/com/ycwl/basic/profitsharing/biz/ProfitSharingBiz.java @@ -143,7 +143,7 @@ public class ProfitSharingBiz { BigDecimal manualAmount; if (user.getRateMode() == 0) { // 剩余比例 userAmount = mode0RemainAmount.divide(BigDecimal.valueOf(mode0User.size()), 2, RoundingMode.HALF_DOWN); - wxAmount = mode0RemainAmount.divide(BigDecimal.valueOf(mode0User.size()), 2, RoundingMode.HALF_DOWN); + wxAmount = BigDecimal.ZERO; manualAmount = userAmount.subtract(wxAmount); } else { return; @@ -207,7 +207,7 @@ public class ProfitSharingBiz { recordMapper.batchInsert(records); } - public void revokeProfitSharing(Long scenicId, Long orderId) { - recordMapper.deleteByScenicIdAndOrderId(scenicId, orderId); + public void revokeProfitSharing(Long scenicId, Long orderId, String revokeReason) { + recordMapper.deleteByScenicIdAndOrderId(scenicId, orderId, revokeReason); } } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingRecordReqQuery.java b/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingRecordReqQuery.java index 9f1c8fc..6181275 100644 --- a/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingRecordReqQuery.java +++ b/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingRecordReqQuery.java @@ -18,4 +18,5 @@ public class ProfitSharingRecordReqQuery extends BaseQueryParameterReq { private Date startTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date endTime; + private boolean withDeleted = false; } diff --git a/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingRecordMapper.java b/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingRecordMapper.java index dcf5be0..5e66fbd 100644 --- a/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingRecordMapper.java +++ b/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingRecordMapper.java @@ -15,6 +15,5 @@ public interface ProfitSharingRecordMapper { void batchInsert(List records); - @Delete("DELETE FROM profit_sharing_record WHERE scenic_id = #{scenicId} AND order_id = #{orderId}") - void deleteByScenicIdAndOrderId(Long scenicId, Long orderId); + void deleteByScenicIdAndOrderId(Long scenicId, Long orderId, String reason); } \ No newline at end of file diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml index 26d51dd..b316aee 100644 --- a/src/main/resources/mapper/OrderMapper.xml +++ b/src/main/resources/mapper/OrderMapper.xml @@ -1,6 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -193,7 +216,7 @@ delete from `order` where id = #{id} - select distinct o.id, o.scenic_id, s.name as scenic_name, o.member_id,m.nickname ,m.real_name , o.openid, o.price, pay_price, remark, o.broker_id, o.promo_code, refund_reason, refund_status, o.`status`, refund_at, pay_at, cancel_at,oi.id oiId, oi.goods_id, o.create_at from `order` AS o diff --git a/src/main/resources/mapper/ProfitSharingRecordMapper.xml b/src/main/resources/mapper/ProfitSharingRecordMapper.xml index ba7c7b9..45133b0 100644 --- a/src/main/resources/mapper/ProfitSharingRecordMapper.xml +++ b/src/main/resources/mapper/ProfitSharingRecordMapper.xml @@ -8,11 +8,19 @@ (#{record.scenicId}, #{record.orderId}, #{record.userId}, #{record.userName}, #{record.amount}, #{record.wxAmount}, #{record.manualAmount}, #{record.rateMode}, #{record.wxRate}, #{record.realRate}, #{record.orderAmount}, #{record.createTime}) + + UPDATE profit_sharing_record + SET delete_time = now(), delete_reason = #{reason} + WHERE scenic_id = #{scenicId} AND order_id = #{orderId} +