From f827be041253b7aef34196a432c625b9c4f6cd94 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 11 九月 2025 16:51:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/send_coupon' into send_coupon
---
framework/src/main/java/cn/lili/modules/lmk/domain/entity/CouponVirtual.java | 5
framework/src/main/java/cn/lili/modules/order/order/entity/enums/CouPonFlagEnum.java | 29 ++++
framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java | 83 ++++++++++++-
framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java | 107 +++++++++++++++++
framework/src/main/java/cn/lili/modules/lmk/service/CouponVirtualService.java | 5
framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java | 6 +
manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java | 32 +++++
seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java | 16 ++
buyer-api/src/main/java/cn/lili/controller/lmk/CouponCardController.java | 33 +++++
9 files changed, 307 insertions(+), 9 deletions(-)
diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/CouponCardController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/CouponCardController.java
new file mode 100644
index 0000000..fdebd49
--- /dev/null
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/CouponCardController.java
@@ -0,0 +1,33 @@
+package cn.lili.controller.lmk;
+
+import cn.lili.base.Result;
+import cn.lili.modules.lmk.domain.query.ActivityQuery;
+import cn.lili.modules.lmk.service.CouponVirtualService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Validated
+@RequiredArgsConstructor
+@Api(value = "灏忕▼搴忚喘鐗╁崱鎺ュ彛", tags = "灏忕▼搴忚喘鐗╁崱鎺ュ彛")
+@RestController
+@RequestMapping("/buyer/lmk/coupon/card")
+public class CouponCardController {
+ private CouponVirtualService couponVirtualService;
+
+ @PostMapping("/{cardId}")
+ @ApiOperation(value = "棰嗗彇璐墿鍗�", notes = "棰嗗彇璐墿鍗�")
+ public Result tackCardById(@PathVariable String cardId){
+ return couponVirtualService.tackCardById(cardId);
+ }
+ @PostMapping("/changShareStatus/{cardId}")
+ @ApiOperation(value = "棰嗗彇璐墿鍗�", notes = "棰嗗彇璐墿鍗�")
+ public Result changShareStatus(@PathVariable String cardId){
+ return couponVirtualService.changShareStatus(cardId);
+ }
+}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CouponVirtual.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CouponVirtual.java
index 24438e3..01deb89 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CouponVirtual.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CouponVirtual.java
@@ -26,6 +26,11 @@
/** 璁㈠崟id */
private String orderId;
+
+ @TableField("item_order_id")
+ /** 璁㈠崟id */
+ private String itemOrderId;
+
@TableField("goods_id")
/** 鍟嗗搧id */
private String goodsId;
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/CouponVirtualService.java b/framework/src/main/java/cn/lili/modules/lmk/service/CouponVirtualService.java
index 5befc37..573a12b 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/CouponVirtualService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/CouponVirtualService.java
@@ -6,6 +6,7 @@
import cn.lili.modules.lmk.domain.form.CouponVirtualForm;
import cn.lili.modules.lmk.domain.query.CouponVirtualQuery;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@@ -64,4 +65,8 @@
* @return
*/
Result all();
+
+ Result tackCardById( String cardId);
+
+ Result changShareStatus( String cardId);
}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java
index d7a3acb..dc1a5f2 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java
@@ -1,22 +1,42 @@
package cn.lili.modules.lmk.service.impl;
import cn.lili.base.Result;
+import cn.lili.common.exception.ServiceException;
+import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.context.UserContext;
import cn.lili.modules.lmk.domain.entity.CouponVirtual;
import cn.lili.modules.lmk.domain.form.CouponVirtualForm;
import cn.lili.modules.lmk.domain.query.CouponVirtualQuery;
import cn.lili.modules.lmk.domain.vo.CouponVirtualVO;
import cn.lili.modules.lmk.mapper.CouponVirtualMapper;
import cn.lili.modules.lmk.service.CouponVirtualService;
+import cn.lili.modules.order.order.entity.dos.Order;
+import cn.lili.modules.order.order.entity.dos.OrderItem;
+import cn.lili.modules.order.order.entity.enums.ClaimStatusEnum;
+import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
+import cn.lili.modules.order.order.entity.enums.RefundStatusEnum;
+import cn.lili.modules.order.order.entity.enums.ShareStatusEnum;
+import cn.lili.modules.order.order.service.OrderItemService;
+import cn.lili.modules.order.order.service.OrderService;
+import cn.lili.modules.promotion.service.MemberCouponService;
import cn.lili.utils.PageUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.redisson.api.RLock;
+import org.redisson.api.RedissonClient;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -28,12 +48,23 @@
*/
@Service
@RequiredArgsConstructor
+@Slf4j
public class CouponVirtualServiceImpl extends ServiceImpl<CouponVirtualMapper, CouponVirtual> implements CouponVirtualService {
private final CouponVirtualMapper couponVirtualMapper;
+ private final RedissonClient redissonClient;
+
+ private final static String LOCK_COUPON_VIRTUAL_CARD_ID = "lock_coupon_virtual_card_id:";
+
+ private final OrderItemService orderItemService;
+
+ private final OrderService orderService;
+
+ private final MemberCouponService memberCouponService;
/**
* 娣诲姞
+ *
* @param form
* @return
*/
@@ -46,6 +77,7 @@
/**
* 淇敼
+ *
* @param form
* @return
*/
@@ -62,6 +94,7 @@
/**
* 鎵归噺鍒犻櫎
+ *
* @param ids
* @return
*/
@@ -73,6 +106,7 @@
/**
* id鍒犻櫎
+ *
* @param id
* @return
*/
@@ -84,6 +118,7 @@
/**
* 鍒嗛〉鏌ヨ
+ *
* @param query
* @return
*/
@@ -96,6 +131,7 @@
/**
* 鏍规嵁id鏌ユ壘
+ *
* @param id
* @return
*/
@@ -108,6 +144,7 @@
/**
* 鍒楄〃
+ *
* @return
*/
@Override
@@ -118,4 +155,74 @@
.collect(Collectors.toList());
return Result.ok().data(vos);
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result tackCardById(String cardId) {
+ log.info("琚鍙栫殑绀煎搧鍗$殑id涓�--------------------------->{}",cardId);
+ AuthUser currentUser = UserContext.getCurrentUser();
+ if (currentUser == null) {
+ throw new ServiceException("褰撳墠鐢ㄦ埛娌℃湁鐧诲綍");
+ }
+ String userId = currentUser.getId();
+ String nickName = currentUser.getNickName();
+ RLock lock = null;
+ try {
+ lock = redissonClient.getLock(LOCK_COUPON_VIRTUAL_CARD_ID + cardId);
+ LambdaQueryWrapper<CouponVirtual> forUpdate = Wrappers.<CouponVirtual>lambdaQuery().eq(CouponVirtual::getId, cardId).last("FOR UPDATE");
+ CouponVirtual cardInfo = this.getOne(forUpdate);
+ if (ClaimStatusEnum.CLAIM.name().equals(cardInfo.getClaimStatus())) {
+ throw new ServiceException("褰撳墠璐墿鍗″凡缁忚棰嗗彇");
+ }
+ //鏍¢獙璁㈠崟鐘舵�佹槸鍚︽甯�
+ String orderNo = cardInfo.getOrderId();
+ if (StringUtils.isBlank(orderNo)) {
+ throw new ServiceException("褰撳墠璁㈠崟涓嶅瓨鍦ㄦ棤娉曢鍙�");
+ }
+ String itemOrderId = cardInfo.getItemOrderId();
+ Order order = orderService.getBySn(orderNo);
+ if (order == null) {
+ throw new ServiceException("褰撳墠璁㈠崟涓嶅瓨鍦ㄦ棤娉曢鍙�");
+ }
+ if (!OrderStatusEnum.COMPLETED.name().equals(order.getOrderStatus())) {
+ throw new ServiceException("璁㈠崟鐘舵�佸紓甯告棤娉曢鍙�");
+ }
+ OrderItem orderItem = orderItemService.getById(itemOrderId);
+ if (orderItem == null) {
+ throw new ServiceException("褰撳墠璁㈠崟涓嶅瓨鍦�");
+ }
+ String orderSn = orderItem.getOrderSn();
+ if (!orderNo.equals(orderSn)) {
+ throw new ServiceException("璁㈠崟鏃犳硶瀵瑰簲鏃犳硶棰嗗彇");
+ }
+ if (!RefundStatusEnum.NO_REFUND.name().equals(orderItem.getIsRefund())) {
+ throw new ServiceException("褰撳墠璁㈠崟宸查��娆炬棤娉曢鍙�");
+ }
+ //棰嗗彇瀵瑰簲鐨勪紭鎯犲嵎
+ memberCouponService.receiveCoupon(cardInfo.getCouponId(),userId , nickName);
+ cardInfo.setUserNickname(nickName);
+ cardInfo.setUserId(userId);
+ cardInfo.setClaimStatus(ClaimStatusEnum.CLAIM.name());
+ cardInfo.setClaimTime(new Date());
+ boolean b = this.updateById(cardInfo);
+ //鍘婚鍙栦紭鎯犲嵎
+ if (!b) {
+ throw new RuntimeException("棰嗗彇澶辫触");
+ }
+ return Result.ok("棰嗗彇鎴愬姛");
+ } finally {
+ assert lock != null;
+ if (lock.isHeldByCurrentThread()) {
+ lock.unlock();
+ }
+ }
+ }
+
+ @Override
+ public Result changShareStatus(String cardId) {
+ CouponVirtual couponVirtual = this.getById(cardId);
+ couponVirtual.setShareStatus(ShareStatusEnum.SHARE.name());
+ this.updateById(couponVirtual);
+ return Result.ok();
+ }
}
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
index a9636fb..c39556f 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
@@ -185,6 +185,12 @@
*/
@ApiModelProperty(value = "璁㈠崟绫诲瀷")
private String orderType;
+
+ /**
+ * @see CouPonFlagEnum
+ */
+ @ApiModelProperty(value = "鏄惁鏄ぜ鍝佸崱")
+ private String couponFlag;
/**
* 璁㈠崟鍦板潃淇敼鐘舵��
*/
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/enums/CouPonFlagEnum.java b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/CouPonFlagEnum.java
new file mode 100644
index 0000000..3f8d70b
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/enums/CouPonFlagEnum.java
@@ -0,0 +1,29 @@
+package cn.lili.modules.order.order.entity.enums;
+
+/**
+ * 鍒嗕韩鐘舵��
+ *
+ **/
+public enum CouPonFlagEnum {
+
+ /**
+ * 绀煎搧鍗�
+ */
+ COUPON("绀煎搧鍗�"),
+
+ /**
+ * 涓嶆槸绀煎搧鍗�
+ */
+ NOT_COUPON("涓嶆槸绀煎搧鍗�");
+
+ private final String description;
+
+ CouPonFlagEnum(String description) {
+ this.description = description;
+ }
+
+ public String description() {
+ return this.description;
+ }
+
+}
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 9d38114..cdc97da 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
@@ -27,8 +27,10 @@
import cn.lili.modules.goods.entity.dos.Goods;
import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage;
import cn.lili.modules.goods.service.GoodsService;
+import cn.lili.modules.lmk.domain.entity.CouponVirtual;
import cn.lili.modules.lmk.domain.vo.OrderCountVO;
import cn.lili.modules.lmk.enums.general.AdminRoleEnum;
+import cn.lili.modules.lmk.service.CouponVirtualService;
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.entity.dto.MemberAddressDTO;
import cn.lili.modules.member.mapper.MemberMapper;
@@ -47,7 +49,9 @@
import cn.lili.modules.permission.entity.dos.AdminUser;
import cn.lili.modules.permission.service.AdminUserService;
import cn.lili.modules.permission.service.RoleService;
+import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.Pintuan;
+import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.store.entity.dto.StoreDeliverGoodsAddressDTO;
import cn.lili.modules.store.service.StoreDetailService;
@@ -87,6 +91,7 @@
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
@@ -199,8 +204,18 @@
@Resource
private RedisTemplate<Object,Object> redisTemplate;
+ @Autowired
+ private CouponService couponService;
+
+ @Autowired
+ private CouponVirtualService couponVirtualService;
+
+ @Autowired
+ private RedissonClient redissonClient;
+
private final static String LOCK_ORDER_NO_MQ="lock_order_no_mq:";
private final static String LOCK_EDIT_ORDER_ADDRESS="lock_edit_order_address:";
+ private final static String LOCK_COUPON_CARD="lock_coupon_card:";
@Override
@Transactional(rollbackFor = Exception.class)
public void intoDB(TradeDTO tradeDTO) {
@@ -786,17 +801,71 @@
@OrderLogPoint(description = "'璁㈠崟['+#orderSn+']鏍搁攢锛屾牳閿�鐮乕'+#verificationCode+']'", orderSn = "#orderSn")
@Transactional(rollbackFor = Exception.class)
public Order take(String orderSn, String verificationCode) {
+ Order order;
+ RLock lock = redissonClient.getLock(LOCK_COUPON_CARD + orderSn);
+ try {
+ lock.lock();
+ //鑾峰彇璁㈠崟淇℃伅
+ order = this.getBySn(orderSn);
+ //妫�娴嬭櫄鎷熻鍗曚俊鎭�
+ checkVerificationOrder(order, verificationCode);
+ order.setOrderStatus(OrderStatusEnum.COMPLETED.name());
+ //璁㈠崟瀹屾垚
+ //鑾峰彇鎵�鏈夌殑璁㈠崟瀛愰」鐢ㄤ簬鐢熸垚浼樻儬鍗疯鍗曚俊鎭�
+ List<OrderItem> orderItems = orderItemService.getByOrderSn(orderSn);
+ List<CouponVirtual> couponVirtuals = new ArrayList<>();
+ for (OrderItem orderItem : orderItems) {
+ String couponId = orderItem.getCouponId();
+ if (StringUtils.isBlank(couponId)) {
+ continue;
+ }
+ String storeId = order.getStoreId();
+ Coupon one = couponService.getOne(Wrappers.<Coupon>lambdaQuery().eq(Coupon::getStoreId, storeId).eq(Coupon::getId, couponId));
+ if (one == null) {
+ log.error("褰撳墠璁㈠崟璁㈠崟鍙蜂负:{}涓嶅瓨鍦ㄤ腑鐨勪紭鎯犲嵎涓嶅瓨鍦�----------------------->{}",order.getId(),orderItem.getOrderSn());
+ }else {
+ Integer num = orderItem.getNum();
+ //褰撹喘涔版暟閲忛儴浣嶇┖鐨勬椂鍊欒繘琛�
+ if (num != null) {
+ for (int i = 1; i <= num; i++) {
+ CouponVirtual couponVirtual = getCouponVirtual(orderItem);
+ couponVirtual.setCouponNo(String.format("%08d", i));
+ couponVirtuals.add(couponVirtual);
+ }
+ }
- //鑾峰彇璁㈠崟淇℃伅
- Order order = this.getBySn(orderSn);
- //妫�娴嬭櫄鎷熻鍗曚俊鎭�
- checkVerificationOrder(order, verificationCode);
- order.setOrderStatus(OrderStatusEnum.COMPLETED.name());
- //璁㈠崟瀹屾垚
- this.complete(orderSn);
+ }
+ }
+ if (!couponVirtuals.isEmpty()) {
+ order.setCouponFlag(CouPonFlagEnum.COUPON.name());
+ couponVirtualService.saveBatch(couponVirtuals);
+ //鏇存柊鐘舵�佺敤浜庡悗缁皬绋嬪簭鍒ゆ柇寮瑰嚭鍗峰垪琛�
+ this.updateById(order);
+ }
+ this.complete(orderSn);
+ } finally {
+ assert lock != null;
+ if (lock.isHeldByCurrentThread()) {
+ lock.unlock();
+ }
+ }
return order;
}
+ private static CouponVirtual getCouponVirtual(OrderItem orderItem) {
+ CouponVirtual couponVirtual = new CouponVirtual();
+ couponVirtual.setOrderId(orderItem.getSn());
+ couponVirtual.setCouponId(orderItem.getCouponId());
+ couponVirtual.setCouponName(orderItem.getCouponName());
+ couponVirtual.setGoodsId(orderItem.getGoodsId());
+ couponVirtual.setSkuId(orderItem.getSkuId());
+ couponVirtual.setItemOrderId(orderItem.getId());
+ couponVirtual.setSkuName(orderItem.getGoodsName());
+ couponVirtual.setName(orderItem.getCouponName());
+ couponVirtual.setShareStatus(ShareStatusEnum.NOT_SHARE.name());
+ couponVirtual.setClaimStatus(ClaimStatusEnum.NOT_CLAIM.name());
+ return couponVirtual;
+ }
@Override
public Order take(String verificationCode) {
String storeId = OperationalJudgment.judgment(UserContext.getCurrentUser()).getStoreId();
diff --git a/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java
index 2764615..e20b3b5 100644
--- a/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java
+++ b/manager-api/src/main/java/cn/lili/controller/order/AfterSaleManagerController.java
@@ -2,13 +2,16 @@
import cn.lili.common.aop.annotation.PreventDuplicateSubmissions;
import cn.lili.common.enums.ResultUtil;
+import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams;
import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO;
+import cn.lili.modules.order.aftersale.mapper.AfterSaleMapper;
import cn.lili.modules.order.aftersale.service.AfterSaleService;
import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO;
import cn.lili.modules.system.entity.vo.Traces;
+import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -18,6 +21,7 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -36,11 +40,19 @@
*/
@Autowired
private AfterSaleService afterSaleService;
+ @Autowired
+ private COSUtil cosUtil;
@ApiOperation(value = "鍒嗛〉鑾峰彇鍞悗鏈嶅姟")
@GetMapping(value = "/page")
public ResultMessage<IPage<AfterSaleVO>> getByPage(AfterSaleSearchParams searchParams) {
- return ResultUtil.data(afterSaleService.getAfterSalePages(searchParams));
+ IPage<AfterSaleVO> afterSalePages = afterSaleService.getAfterSalePages(searchParams);
+ for (AfterSaleVO record : afterSalePages.getRecords()) {
+ if (StringUtils.isNotBlank(record.getGoodsImage())&&!record.getGoodsImage().contains("http")) {
+ record.setGoodsImage(cosUtil.getPreviewUrl(record.getGoodsImage()));
+ }
+ }
+ return ResultUtil.data(afterSalePages);
}
@ApiOperation(value = "鑾峰彇瀵煎嚭鍞悗鏈嶅姟鍒楄〃鍒楄〃")
@@ -53,7 +65,23 @@
@ApiImplicitParam(name = "sn", value = "鍞悗鍗曞彿", required = true, paramType = "path")
@GetMapping(value = "/get/{sn}")
public ResultMessage<AfterSaleVO> get(@NotNull(message = "鍞悗鍗曞彿") @PathVariable("sn") String sn) {
- return ResultUtil.data(afterSaleService.getAfterSale(sn));
+ AfterSaleVO afterSale = afterSaleService.getAfterSale(sn);
+ String afterSaleImage = afterSale.getAfterSaleImage();
+ if (StringUtils.isNotBlank(afterSaleImage)) {
+ String[] split = afterSaleImage.split(",");
+ List<String> asleImages = new ArrayList<>(split.length);
+ for (String s : split) {
+ if (!s.contains("http")){
+ asleImages.add(cosUtil.getPreviewUrl(s));
+ }
+ }
+ String join = String.join(",", asleImages);
+ afterSale.setAfterSaleImage(join);
+ }
+ if (StringUtils.isNotBlank(afterSale.getGoodsImage())&&!afterSale.getGoodsImage().contains("http")) {
+ afterSale.setGoodsImage(cosUtil.getPreviewUrl(afterSale.getGoodsImage()));
+ }
+ return ResultUtil.data(afterSale);
}
@ApiOperation(value = "鏌ョ湅涔板閫�璐х墿娴佽釜杩�")
diff --git a/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java
index ff5fc4d..133400c 100644
--- a/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java
+++ b/seller-api/src/main/java/cn/lili/controller/order/AfterSaleStoreController.java
@@ -22,6 +22,7 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -46,6 +47,21 @@
@GetMapping(value = "/{sn}")
public ResultMessage<AfterSaleVO> get(@PathVariable String sn) {
AfterSaleVO afterSale = OperationalJudgment.judgment(afterSaleService.getAfterSale(sn));
+ String afterSaleImage = afterSale.getAfterSaleImage();
+ if (StringUtils.isNotBlank(afterSaleImage)) {
+ String[] split = afterSaleImage.split(",");
+ List<String> asleImages = new ArrayList<>(split.length);
+ for (String s : split) {
+ if (!s.contains("http")){
+ asleImages.add(cosUtil.getPreviewUrl(s));
+ }
+ }
+ String join = String.join(",", asleImages);
+ afterSale.setAfterSaleImage(join);
+ }
+ if (StringUtils.isNotBlank(afterSale.getGoodsImage())&&!afterSale.getGoodsImage().contains("http")) {
+ afterSale.setGoodsImage(cosUtil.getPreviewUrl(afterSale.getGoodsImage()));
+ }
return ResultUtil.data(afterSale);
}
--
Gitblit v1.8.0