From b3a60ae2f32f9ef251ecb5f3630472dfd648a11a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 29 Nov 2024 15:00:49 +0800
Subject: [PATCH] refactor(mall): 优化退款金额计算逻辑
---
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java | 2 ++
src/main/resources/mapper/modules/MallOrderItemMapper.xml | 5 +++++
src/main/resources/templates/febs/views/modules/order/orderRefundList.html | 18 +++++++++++++++++-
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 16 +++++++++++++---
4 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
index babed24..5464c00 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
@@ -17,4 +17,6 @@
void updateStateByOrderId(@Param("state")Integer i, @Param("orderId")Long id);
List<MallOrderItem> selectListByOrderId(@Param("orderId")Long id);
+
+ List<MallOrderItem> selectListByStateAndOrderId(@Param("state")Integer i, @Param("orderId")Long orderId);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index a979b39..be0ebe8 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -2,7 +2,6 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.*;
-import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.SpringContextHolder;
@@ -37,7 +36,10 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
@Slf4j
@Service
@@ -420,7 +422,15 @@
//退款退款金额
BigDecimal refundAmount = mallRefundEntity.getAmount();
- refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
+ List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
+ List<MallOrderItem> mallOrderItemListIng = mallOrderItemMapper.selectListByStateAndOrderId(2,orderId);
+ if(CollUtil.isEmpty(mallOrderItemListOnly) && CollUtil.isNotEmpty(mallOrderItemListIng) ){
+ if(1 == mallOrderItemListIng.size() ){
+ refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
+ log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
+ }
+ }
+// refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
BigDecimal bb = new BigDecimal(100);
int refundMoney = refundAmount.multiply(bb).intValue();
diff --git a/src/main/resources/mapper/modules/MallOrderItemMapper.xml b/src/main/resources/mapper/modules/MallOrderItemMapper.xml
index 8bfdc43..0722562 100644
--- a/src/main/resources/mapper/modules/MallOrderItemMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderItemMapper.xml
@@ -30,5 +30,10 @@
where a.order_id=#{orderId}
</select>
+ <select id="selectListByStateAndOrderId" resultType="cc.mrbird.febs.mall.entity.MallOrderItem">
+ select a.* from mall_order_item a
+ where a.state = #{state} and a.order_id=#{orderId}
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/order/orderRefundList.html b/src/main/resources/templates/febs/views/modules/order/orderRefundList.html
index 390b3d3..d4e0b29 100644
--- a/src/main/resources/templates/febs/views/modules/order/orderRefundList.html
+++ b/src/main/resources/templates/febs/views/modules/order/orderRefundList.html
@@ -83,12 +83,28 @@
暂无图片
{{# } else { }}
{{# for(var i=0;i < d.refundPicList.length;i++){ }}
- <img id="refundPic" width='100' style="cursor: pointer;" height='100' src="{{ d.refundPicList[i]}}" />
+ <a href="javascript:;" onclick="showBigImage('{{ d.refundPicList[i]}}')">
+ <img id="refundPic" width='100' style="cursor: pointer;" height='100' src="{{ d.refundPicList[i]}}"/>
+ </a>
{{# } }}
{{# } }}
</script>
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
+ //图片放大
+ function showBigImage(url) {
+ layer.open({
+ type: 1,
+ title: "图片",
+ skin: 'layui-layer-rim', //加上边框
+ area: ['80%', '100%'], //宽高
+ shadeClose: true, //开启遮罩关闭
+ end: function (index, layero) {
+ return false;
+ },
+ content: '<img src="' + url + '" alt="Big Image" style="max-width: 100%; height: auto;">'
+ });
+ }
// 引入组件并初始化
layui.use([ 'jquery', 'form', 'table', 'febs', 'formSelects'], function () {
var $ = layui.jquery,
--
Gitblit v1.9.1