src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -2,14 +2,10 @@ import cc.mrbird.febs.common.annotation.ControllerEndpoint; import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.DeptTree; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; import cc.mrbird.febs.common.enumerates.OrderStatusEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.FebsUtil; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.SpringContextHolder; import cc.mrbird.febs.common.utils.excl.ExcelSheetPO; @@ -18,18 +14,15 @@ import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallGoodsService; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.mapper.MallTeamLeaderMapper; import cc.mrbird.febs.mall.service.IAdminMallOrderService; import cc.mrbird.febs.mall.service.IApiMallTeamLeaderService; import cc.mrbird.febs.mall.service.MallInvoiceService; import cc.mrbird.febs.mall.vo.AdminAddAddressTreeVo; import cc.mrbird.febs.mall.vo.AdminMallOrderRefundAddressVo; import cc.mrbird.febs.pay.model.OrderStateDto; import cc.mrbird.febs.pay.service.IXcxPayService; import cc.mrbird.febs.pay.util.WechatConfigure; import cc.mrbird.febs.system.entity.Dept; import cc.mrbird.febs.system.entity.User; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; @@ -45,7 +38,9 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.io.*; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Date; @@ -196,6 +191,7 @@ @PostMapping(value = "/refundOperation") @ControllerEndpoint(operation = "订单退款", exceptionMessage = "操作失败") public FebsResponse refundOperation(ApiLeaderRefundOrderDto apiLeaderRefundOrderDto) { apiLeaderRefundOrderDto.setAgreeType(2); return apiMallTeamLeaderService.leaderRefundOrder(apiLeaderRefundOrderDto); } src/main/java/cc/mrbird/febs/mall/dto/ApiLeaderRefundOrderDto.java
@@ -17,4 +17,7 @@ @ApiModelProperty(value = "是否同意 1:同意 2:拒绝", example = "1") private Integer agreeState; @ApiModelProperty(value = "类型 1-未发货用户点击退款 2-后端同意退款", example = "1") private Integer agreeType; } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -8,19 +8,19 @@ import cc.mrbird.febs.mall.conversion.MallGoodsCommentConversion; import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion; import cc.mrbird.febs.mall.conversion.MallOrderRefundConversion; import cc.mrbird.febs.mall.conversion.MallTeamLeaderConversion; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.*; import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.mall.vo.ApiCouponAmountMapVo; import cc.mrbird.febs.mall.vo.OrderDetailVo; import cc.mrbird.febs.mall.vo.OrderListVo; import cc.mrbird.febs.mall.vo.OrderRefundVo; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.model.OrderStateDto; import cc.mrbird.febs.pay.service.IPayService; import cc.mrbird.febs.pay.service.IXcxPayService; import cc.mrbird.febs.pay.util.WeixinServiceUtil; import cc.mrbird.febs.rabbit.producter.AgentProducer; import cc.mrbird.febs.vip.service.IMallVipConfigBenefitsService; import cc.mrbird.febs.vip.service.IMallVipConfigService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUnit; @@ -28,8 +28,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -942,6 +940,7 @@ apiLeaderRefundOrderDto.setOrderId(mallOrderInfo.getId()); apiLeaderRefundOrderDto.setItemId(mallOrderItem.getId()); apiLeaderRefundOrderDto.setAgreeState(1); apiLeaderRefundOrderDto.setAgreeType(1); iApiMallTeamLeaderService.leaderRefundOrder(apiLeaderRefundOrderDto); } return new FebsResponse().success(); src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -388,6 +388,10 @@ //获取退款订单信息 Long orderId = apiLeaderRefundOrderDto.getOrderId(); Long itemId = apiLeaderRefundOrderDto.getItemId(); Integer agreeType = apiLeaderRefundOrderDto.getAgreeType(); if(!(1 == agreeType || 2 == agreeType)){ return new FebsResponse().fail().message("退款失败,请联系客服人员"); } MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId); @@ -421,23 +425,27 @@ int orderMoney = orderAmount.multiply(aa).intValue(); //退款退款金额 BigDecimal refundAmount = mallRefundEntity.getAmount(); List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId); if(CollUtil.isNotEmpty(mallOrderItemListOnly)){ if(1==mallOrderItemListOnly.size()){ refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount); } } // BigDecimal refundAmount = mallRefundEntity.getAmount(); // 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() ){ // if(CollUtil.isNotEmpty(mallOrderItemListOnly)){ // if(1==mallOrderItemListOnly.size()){ // refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); // log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount); // } // } BigDecimal refundAmount = mallRefundEntity.getAmount(); if(agreeType == 1){ refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); }else if(agreeType == 2){ 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();