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