From af52a68abc5695d8c6ae2fcd21ba921bc15998ca Mon Sep 17 00:00:00 2001 From: Chopper Date: Wed, 1 Dec 2021 15:49:28 +0800 Subject: [PATCH 1/3] =?UTF-8?q?mq=E8=AE=A2=E9=98=85=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/lili/event/impl/FullDiscountExecute.java | 4 ++-- .../src/main/java/cn/lili/listener/OrderMessageListener.java | 4 ++-- .../modules/order/order/serviceimpl/OrderServiceImpl.java | 4 ++-- .../modules/order/order/serviceimpl/TradeServiceImpl.java | 2 +- .../tags/{MqOrderTagsEnum.java => OrderTagsEnum.java} | 4 ++-- .../test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) rename framework/src/main/java/cn/lili/rocketmq/tags/{MqOrderTagsEnum.java => OrderTagsEnum.java} (85%) diff --git a/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java b/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java index fadf757a..ca7b1385 100644 --- a/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/FullDiscountExecute.java @@ -26,7 +26,7 @@ import cn.lili.modules.order.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.service.OrderLogService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; +import cn.lili.rocketmq.tags.OrderTagsEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -190,7 +190,7 @@ public class FullDiscountExecute implements TradeEvent, OrderStatusChangeEvent { orderMessage.setPaymentMethod(order.getPaymentMethod()); orderMessage.setNewStatus(OrderStatusEnum.PAID); - String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name(); + String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name(); //发送订单变更mq消息 rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(orderMessage), RocketmqSendCallbackBuilder.commonCallback()); diff --git a/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java b/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java index 6c32fc44..513d03d1 100644 --- a/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/OrderMessageListener.java @@ -2,7 +2,7 @@ package cn.lili.listener; import cn.hutool.json.JSONUtil; import cn.lili.cache.Cache; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; +import cn.lili.rocketmq.tags.OrderTagsEnum; import cn.lili.event.OrderStatusChangeEvent; import cn.lili.event.TradeEvent; import cn.lili.modules.order.cart.entity.dto.TradeDTO; @@ -58,7 +58,7 @@ public class OrderMessageListener implements RocketMQListener { */ public void orderStatusEvent(MessageExt messageExt) { - switch (MqOrderTagsEnum.valueOf(messageExt.getTags())) { + switch (OrderTagsEnum.valueOf(messageExt.getTags())) { //订单创建 case ORDER_CREATE: String key = new String(messageExt.getBody()); diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 09f1a64d..b3152cc2 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -50,7 +50,7 @@ import cn.lili.common.security.OperationalJudgment; import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.GoodsTagsEnum; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; +import cn.lili.rocketmq.tags.OrderTagsEnum; import cn.lili.trigger.enums.DelayTypeEnums; import cn.lili.trigger.interfaces.TimeTrigger; import cn.lili.trigger.message.PintuanOrderMessage; @@ -461,7 +461,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override public void sendUpdateStatusMessage(OrderMessage orderMessage) { - String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name(); + String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name(); //发送订单变更mq消息 rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(orderMessage), RocketmqSendCallbackBuilder.commonCallback()); } diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java index 3a74708e..342a36ed 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/TradeServiceImpl.java @@ -1 +1 @@ -package cn.lili.modules.order.order.serviceimpl; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.MemberAddress; import cn.lili.modules.member.entity.enums.PointTypeEnum; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.Trade; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.mapper.TradeMapper; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.TradeService; import cn.lili.modules.promotion.entity.dos.KanjiaActivity; import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.KanjiaActivityService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MqOrderTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; /** * 交易业务层实现 * * @author Chopper * @date 2020/11/17 7:39 下午 */ @Service @Transactional(rollbackFor = Exception.class) public class TradeServiceImpl extends ServiceImpl implements TradeService { /** * 缓存 */ @Autowired private Cache cache; /** * 订单 */ @Autowired private OrderService orderService; /** * 会员 */ @Autowired private MemberService memberService; /** * 优惠券 */ @Autowired private CouponService couponService; /** * 会员优惠券 */ @Autowired private MemberCouponService memberCouponService; /** * 砍价 */ @Autowired private KanjiaActivityService kanjiaActivityService; /** * RocketMQ */ @Autowired private RocketMQTemplate rocketMQTemplate; /** * RocketMQ 配置 */ @Autowired private RocketmqCustomProperties rocketmqCustomProperties; @Override @Transactional(rollbackFor = Exception.class) public Trade createTrade(TradeDTO tradeDTO) { //创建订单预校验 createTradeCheck(tradeDTO); Trade trade = new Trade(tradeDTO); String key = CachePrefix.TRADE.getPrefix() + trade.getSn(); //优惠券预处理 couponPretreatment(tradeDTO); //积分预处理 pointPretreatment(tradeDTO); //添加交易 this.save(trade); //添加订单 orderService.intoDB(tradeDTO); //砍价订单处理 kanjiaPretreatment(tradeDTO); //写入缓存,给消费者调用 cache.put(key, tradeDTO); //构建订单创建消息 String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.ORDER_CREATE.name(); //发送订单创建消息 rocketMQTemplate.asyncSend(destination, key, RocketmqSendCallbackBuilder.commonCallback()); return trade; } /** * 创建订单最后一步校验 * * @param tradeDTO */ private void createTradeCheck(TradeDTO tradeDTO) { //创建订单如果没有收获地址, MemberAddress memberAddress = tradeDTO.getMemberAddress(); if (memberAddress == null) { throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST); } /** * 订单配送区域校验 */ if (tradeDTO.getNotSupportFreight() != null && tradeDTO.getNotSupportFreight().size() > 0) { StringBuilder stringBuilder = new StringBuilder("包含商品有-"); tradeDTO.getNotSupportFreight().forEach(sku -> { stringBuilder.append(sku.getGoodsSku().getGoodsName()); }); throw new ServiceException(ResultCode.ORDER_NOT_SUPPORT_DISTRIBUTION, stringBuilder.toString()); } } @Override public Trade getBySn(String sn) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Trade::getSn, sn); return this.getOne(queryWrapper); } @Override public void payTrade(String tradeSn, String paymentName, String receivableNo) { LambdaQueryWrapper orderQueryWrapper = new LambdaQueryWrapper<>(); orderQueryWrapper.eq(Order::getTradeSn, tradeSn); List orders = orderService.list(orderQueryWrapper); for (Order order : orders) { orderService.payOrder(order.getSn(), paymentName, receivableNo); } Trade trade = this.getBySn(tradeSn); trade.setPayStatus(PayStatusEnum.PAID.name()); this.saveOrUpdate(trade); } /** * 优惠券预处理 * 下单同时,扣除优惠券 * * @param tradeDTO */ private void couponPretreatment(TradeDTO tradeDTO) { List memberCouponDTOList = new ArrayList<>(); if (null != tradeDTO.getPlatformCoupon()) { memberCouponDTOList.add(tradeDTO.getPlatformCoupon()); } Collection storeCoupons = tradeDTO.getStoreCoupons().values(); if (!storeCoupons.isEmpty()) { memberCouponDTOList.addAll(storeCoupons); } List ids = memberCouponDTOList.stream().map(e -> e.getMemberCoupon().getId()).collect(Collectors.toList()); memberCouponService.used(ids); memberCouponDTOList.forEach(e -> couponService.usedCoupon(e.getMemberCoupon().getCouponId(), 1)); } /** * 创建交易,积分处理 * * @param tradeDTO */ private void pointPretreatment(TradeDTO tradeDTO) { //需要支付积分 if (tradeDTO.getPriceDetailDTO() != null && tradeDTO.getPriceDetailDTO().getPayPoint() != null && tradeDTO.getPriceDetailDTO().getPayPoint() > 0) { StringBuilder orderSns = new StringBuilder(); for (CartVO item : tradeDTO.getCartList()) { orderSns.append(item.getSn()); } boolean result = memberService.updateMemberPoint(tradeDTO.getPriceDetailDTO().getPayPoint().longValue(), PointTypeEnum.REDUCE.name(), tradeDTO.getMemberId(), "订单【" + orderSns + "】创建,积分扣减"); if (!result) { throw new ServiceException(ResultCode.PAY_POINT_ENOUGH); } } } /** * 创建交易、砍价处理 * * @param tradeDTO */ private void kanjiaPretreatment(TradeDTO tradeDTO) { if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)) { String kanjiaId = tradeDTO.getSkuList().get(0).getKanjiaId(); kanjiaActivityService.update(new LambdaUpdateWrapper() .eq(KanjiaActivity::getId, kanjiaId) .set(KanjiaActivity::getStatus, KanJiaStatusEnum.END.name())); } } } \ No newline at end of file +package cn.lili.modules.order.order.serviceimpl; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.modules.member.entity.dos.MemberAddress; import cn.lili.modules.member.entity.enums.PointTypeEnum; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.vo.CartVO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.Trade; import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.mapper.TradeMapper; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.TradeService; import cn.lili.modules.promotion.entity.dos.KanjiaActivity; import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.KanjiaActivityService; import cn.lili.modules.promotion.service.MemberCouponService; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.OrderTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; /** * 交易业务层实现 * * @author Chopper * @date 2020/11/17 7:39 下午 */ @Service @Transactional(rollbackFor = Exception.class) public class TradeServiceImpl extends ServiceImpl implements TradeService { /** * 缓存 */ @Autowired private Cache cache; /** * 订单 */ @Autowired private OrderService orderService; /** * 会员 */ @Autowired private MemberService memberService; /** * 优惠券 */ @Autowired private CouponService couponService; /** * 会员优惠券 */ @Autowired private MemberCouponService memberCouponService; /** * 砍价 */ @Autowired private KanjiaActivityService kanjiaActivityService; /** * RocketMQ */ @Autowired private RocketMQTemplate rocketMQTemplate; /** * RocketMQ 配置 */ @Autowired private RocketmqCustomProperties rocketmqCustomProperties; @Override @Transactional(rollbackFor = Exception.class) public Trade createTrade(TradeDTO tradeDTO) { //创建订单预校验 createTradeCheck(tradeDTO); Trade trade = new Trade(tradeDTO); String key = CachePrefix.TRADE.getPrefix() + trade.getSn(); //优惠券预处理 couponPretreatment(tradeDTO); //积分预处理 pointPretreatment(tradeDTO); //添加交易 this.save(trade); //添加订单 orderService.intoDB(tradeDTO); //砍价订单处理 kanjiaPretreatment(tradeDTO); //写入缓存,给消费者调用 cache.put(key, tradeDTO); //构建订单创建消息 String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.ORDER_CREATE.name(); //发送订单创建消息 rocketMQTemplate.asyncSend(destination, key, RocketmqSendCallbackBuilder.commonCallback()); return trade; } /** * 创建订单最后一步校验 * * @param tradeDTO */ private void createTradeCheck(TradeDTO tradeDTO) { //创建订单如果没有收获地址, MemberAddress memberAddress = tradeDTO.getMemberAddress(); if (memberAddress == null) { throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST); } /** * 订单配送区域校验 */ if (tradeDTO.getNotSupportFreight() != null && tradeDTO.getNotSupportFreight().size() > 0) { StringBuilder stringBuilder = new StringBuilder("包含商品有-"); tradeDTO.getNotSupportFreight().forEach(sku -> { stringBuilder.append(sku.getGoodsSku().getGoodsName()); }); throw new ServiceException(ResultCode.ORDER_NOT_SUPPORT_DISTRIBUTION, stringBuilder.toString()); } } @Override public Trade getBySn(String sn) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Trade::getSn, sn); return this.getOne(queryWrapper); } @Override public void payTrade(String tradeSn, String paymentName, String receivableNo) { LambdaQueryWrapper orderQueryWrapper = new LambdaQueryWrapper<>(); orderQueryWrapper.eq(Order::getTradeSn, tradeSn); List orders = orderService.list(orderQueryWrapper); for (Order order : orders) { orderService.payOrder(order.getSn(), paymentName, receivableNo); } Trade trade = this.getBySn(tradeSn); trade.setPayStatus(PayStatusEnum.PAID.name()); this.saveOrUpdate(trade); } /** * 优惠券预处理 * 下单同时,扣除优惠券 * * @param tradeDTO */ private void couponPretreatment(TradeDTO tradeDTO) { List memberCouponDTOList = new ArrayList<>(); if (null != tradeDTO.getPlatformCoupon()) { memberCouponDTOList.add(tradeDTO.getPlatformCoupon()); } Collection storeCoupons = tradeDTO.getStoreCoupons().values(); if (!storeCoupons.isEmpty()) { memberCouponDTOList.addAll(storeCoupons); } List ids = memberCouponDTOList.stream().map(e -> e.getMemberCoupon().getId()).collect(Collectors.toList()); memberCouponService.used(ids); memberCouponDTOList.forEach(e -> couponService.usedCoupon(e.getMemberCoupon().getCouponId(), 1)); } /** * 创建交易,积分处理 * * @param tradeDTO */ private void pointPretreatment(TradeDTO tradeDTO) { //需要支付积分 if (tradeDTO.getPriceDetailDTO() != null && tradeDTO.getPriceDetailDTO().getPayPoint() != null && tradeDTO.getPriceDetailDTO().getPayPoint() > 0) { StringBuilder orderSns = new StringBuilder(); for (CartVO item : tradeDTO.getCartList()) { orderSns.append(item.getSn()); } boolean result = memberService.updateMemberPoint(tradeDTO.getPriceDetailDTO().getPayPoint().longValue(), PointTypeEnum.REDUCE.name(), tradeDTO.getMemberId(), "订单【" + orderSns + "】创建,积分扣减"); if (!result) { throw new ServiceException(ResultCode.PAY_POINT_ENOUGH); } } } /** * 创建交易、砍价处理 * * @param tradeDTO */ private void kanjiaPretreatment(TradeDTO tradeDTO) { if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)) { String kanjiaId = tradeDTO.getSkuList().get(0).getKanjiaId(); kanjiaActivityService.update(new LambdaUpdateWrapper() .eq(KanjiaActivity::getId, kanjiaId) .set(KanjiaActivity::getStatus, KanJiaStatusEnum.END.name())); } } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/rocketmq/tags/MqOrderTagsEnum.java b/framework/src/main/java/cn/lili/rocketmq/tags/OrderTagsEnum.java similarity index 85% rename from framework/src/main/java/cn/lili/rocketmq/tags/MqOrderTagsEnum.java rename to framework/src/main/java/cn/lili/rocketmq/tags/OrderTagsEnum.java index cfe9ba87..20363e3d 100644 --- a/framework/src/main/java/cn/lili/rocketmq/tags/MqOrderTagsEnum.java +++ b/framework/src/main/java/cn/lili/rocketmq/tags/OrderTagsEnum.java @@ -6,7 +6,7 @@ package cn.lili.rocketmq.tags; * @author paulG * @since 2020/12/9 **/ -public enum MqOrderTagsEnum { +public enum OrderTagsEnum { /** * 订单创建 @@ -20,7 +20,7 @@ public enum MqOrderTagsEnum { private final String description; - MqOrderTagsEnum(String description) { + OrderTagsEnum(String description) { this.description = description; } diff --git a/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java b/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java index 6096dd97..acdca18f 100644 --- a/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java +++ b/manager-api/src/test/java/cn/lili/test/rocketmq/MsgExtRocketMqTest.java @@ -1,7 +1,7 @@ package cn.lili.test.rocketmq; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; -import cn.lili.rocketmq.tags.MqOrderTagsEnum; +import cn.lili.rocketmq.tags.OrderTagsEnum; import cn.lili.common.properties.RocketmqCustomProperties; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.junit.jupiter.api.Assertions; @@ -29,7 +29,7 @@ class MsgExtRocketMqTest { @Test void searchAll() { - String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name(); + String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name(); Message message = MessageBuilder.withPayload("Context").build(); rocketMQTemplate.asyncSend(destination, message, RocketmqSendCallbackBuilder.commonCallback()); rocketMQTemplate.send(destination, message); From 613a808cec7b19586df26bf6fd432e06b382c6c7 Mon Sep 17 00:00:00 2001 From: Chopper Date: Thu, 2 Dec 2021 14:42:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=94=AE=E5=90=8E=E6=A8=A1=E5=9D=97=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E8=88=B9=E6=B8=A1wrapper=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/order/serviceimpl/StoreFlowServiceImpl.java | 2 +- .../cn/lili/modules/payment/service/RefundLogService.java | 6 ++++++ .../modules/payment/serviceimpl/RefundLogServiceImpl.java | 8 +++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java index 26f5ebde..70fdbeec 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java @@ -160,7 +160,7 @@ public class StoreFlowServiceImpl extends ServiceImpl().eq(RefundLog::getAfterSaleNo, afterSale.getSn())); + RefundLog refundLog = refundLogService.queryByAfterSaleSn(afterSale.getSn()); storeFlow.setTransactionId(refundLog.getReceivableNo()); storeFlow.setPaymentName(refundLog.getPaymentName()); this.save(storeFlow); diff --git a/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java b/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java index f4d56b64..dc505a10 100644 --- a/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java +++ b/framework/src/main/java/cn/lili/modules/payment/service/RefundLogService.java @@ -10,4 +10,10 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2020-12-19 09:25 */ public interface RefundLogService extends IService { + /** + * 根据售后sn查询退款日志 + * @param sn + * @return + */ + RefundLog queryByAfterSaleSn(String sn); } diff --git a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java index 8a5e7d8c..6efc4f87 100644 --- a/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/payment/serviceimpl/RefundLogServiceImpl.java @@ -3,9 +3,8 @@ package cn.lili.modules.payment.serviceimpl; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.mapper.RefundLogMapper; import cn.lili.modules.payment.service.RefundLogService; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,5 +18,8 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(rollbackFor = Exception.class) public class RefundLogServiceImpl extends ServiceImpl implements RefundLogService { - + @Override + public RefundLog queryByAfterSaleSn(String sn) { + return this.getOne(new LambdaUpdateWrapper().eq(RefundLog::getAfterSaleNo, sn)); + } } \ No newline at end of file From 2241e90798a8a236f2c942b0652c744886e712b5 Mon Sep 17 00:00:00 2001 From: Chopper Date: Thu, 2 Dec 2021 17:05:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=97=A0=E6=95=88?= =?UTF-8?q?=E7=9A=84=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java index c5040db4..28766e48 100644 --- a/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java +++ b/framework/src/main/java/cn/lili/modules/order/aftersale/entity/vo/AfterSaleVO.java @@ -1,7 +1,6 @@ package cn.lili.modules.order.aftersale.entity.vo; import cn.lili.modules.order.aftersale.entity.dos.AfterSale; -import jdk.nashorn.internal.objects.annotations.Getter; import lombok.Data; /** @@ -15,7 +14,6 @@ public class AfterSaleVO extends AfterSale { /** * 初始化自身状态 */ - @Getter public AfterSaleAllowOperation getAfterSaleAllowOperationVO() { //设置订单的可操作状态