From 1b97bd4f4d8bdc316d5ef6cf1f2dbc11582f0b23 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 01 Sep 2022 17:07:03 +0800 Subject: [PATCH] 20220822 --- src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java | 2 +- src/main/resources/mapper/modules/MallOrderItemMapper.xml | 4 ++-- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 36 ++++++++++++++++++++++++++++-------- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 2 +- 4 files changed, 32 insertions(+), 12 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 c8b1298..315dbeb 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java @@ -10,5 +10,5 @@ List<MallOrderItem> selectItemByGoodsIdUnCancel(@Param("goodsId") Long goodsId, @Param("memberId") Long memberId); - List<MallOrderItem> selectListByStateAndOrderId(@Param("state")Integer i, @Param("orderId")Long orderId); + List<MallOrderItem> selectListByNotInStateAndOrderId(@Param("state")Integer i, @Param("orderId")Long orderId); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index c6cb494..ef11111 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -789,7 +789,7 @@ mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic()); mallRefundEntity.setMemberId(member.getId()); mallRefundEntity.setState(3); - mallRefundEntity.setType(1); + mallRefundEntity.setType(applyRefundOrderDto.getType()); mallRefundEntity.setOrderId(orderId); mallRefundEntity.setAmount(mallOrderItem.getAmount()); mallRefundMapper.insert(mallRefundEntity); 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 a94b520..f422b2f 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 @@ -12,6 +12,7 @@ import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallOrderService; +import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IApiMallTeamLeaderService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.vo.ApiLeaderInfoVo; @@ -56,6 +57,11 @@ private final DataDictionaryCustomMapper dataDictionaryCustomMapper; private final MallOrderItemMapper mallOrderItemMapper; private final MallRefundMapper mallRefundMapper; + @Autowired + private WeixinServiceUtil weixinServiceUtil; + private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class); + private final IMallMoneyFlowService mallMoneyFlowService; + private final IApiMallMemberWalletService memberWalletService; @Override @Transactional @@ -272,13 +278,6 @@ return new FebsResponse().success().data(result); } - - - @Autowired - private WeixinServiceUtil weixinServiceUtil; - private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class); - private final IMallMoneyFlowService mallMoneyFlowService; - @Override @Transactional public FebsResponse leaderRefundOrder(ApiLeaderRefundOrderDto apiLeaderRefundOrderDto) { @@ -318,6 +317,27 @@ BigDecimal bb = new BigDecimal(100); int refundMoney = refundAmount.multiply(bb).intValue(); + //余额支付退款 + if(mallRefundEntity.getType() == 3){ + //更新订单详情 + mallOrderItem.setState(3); + mallOrderItemMapper.updateById(mallOrderItem); + //更新退款订单 + mallRefundEntity.setState(1); + mallRefundEntity.setUpdatedTime(DateUtil.date()); + mallRefundMapper.updateById(mallRefundEntity); + mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + + List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); + if(CollUtil.isEmpty(mallOrderItemList)){ + MallOrderInfo mallOrderRefund = mallOrderInfoMapper.selectById(orderId); + mallOrderRefund.setStatus(6); + mallOrderInfoMapper.updateById(mallOrderRefund); + } + memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance"); + return new FebsResponse().success().message("退款成功"); + } + Boolean flag = false; Boolean debug = xcxProperties.getDebug(); if (debug) { @@ -339,7 +359,7 @@ mallRefundMapper.updateById(mallRefundEntity); mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); - List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId); + List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); if(CollUtil.isEmpty(mallOrderItemList)){ MallOrderInfo mallOrderRefund = mallOrderInfoMapper.selectById(orderId); mallOrderRefund.setStatus(6); diff --git a/src/main/resources/mapper/modules/MallOrderItemMapper.xml b/src/main/resources/mapper/modules/MallOrderItemMapper.xml index 3279e3f..f599a75 100644 --- a/src/main/resources/mapper/modules/MallOrderItemMapper.xml +++ b/src/main/resources/mapper/modules/MallOrderItemMapper.xml @@ -8,9 +8,9 @@ where a.goods_id=#{goodsId} and b.member_id=#{memberId} </select> - <select id="selectListByStateAndOrderId" resultType="cc.mrbird.febs.mall.entity.MallOrderItem"> + <select id="selectListByNotInStateAndOrderId" resultType="cc.mrbird.febs.mall.entity.MallOrderItem"> select a.* from mall_order_item a - where a.state=#{state} and a.order_id=#{orderId} + where a.state != #{state} and a.order_id=#{orderId} </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1