This commit is contained in:
van
2026-06-10 17:00:39 +08:00
parent 90e6904b5d
commit 1f6625f296
7 changed files with 214 additions and 5 deletions

View File

@@ -4,9 +4,11 @@ import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.RateLimiter;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.enums.LimitType;
import com.ruoyi.jarvis.domain.GoodsInfo;
import com.ruoyi.jarvis.domain.OrderRows;
import com.ruoyi.jarvis.domain.dto.PromoterOrderInfoVO;
import com.ruoyi.jarvis.enums.ValidCodeConverter;
import com.ruoyi.jarvis.service.IGoodsInfoService;
import com.ruoyi.jarvis.service.IOrderRowsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -17,8 +19,10 @@ import org.springframework.web.bind.annotation.RestController;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 京东开放接口(免登录,路径统一 /open/jd/
@@ -34,6 +38,9 @@ public class PublicPromoterOrderController {
@Autowired
private IOrderRowsService orderRowsService;
@Autowired
private IGoodsInfoService goodsInfoService;
/**
* 跟团订单查询(兼容 jiadiantemai 接口格式)
*/
@@ -59,10 +66,20 @@ public class PublicPromoterOrderController {
return result;
}
Set<Long> goodsInfoIds = new HashSet<>();
for (OrderRows row : rows) {
if (row.getGoodsInfoId() != null) {
goodsInfoIds.add(row.getGoodsInfoId());
}
}
Map<Long, GoodsInfo> goodsInfoMap = goodsInfoService.selectGoodsInfoMapByIds(goodsInfoIds);
List<PromoterOrderInfoVO> orderInfoList = new ArrayList<>();
ValidCodeConverter validCodeConverter = new ValidCodeConverter();
for (OrderRows row : rows) {
orderInfoList.add(toPromoterOrderInfo(row, validCodeConverter));
GoodsInfo goodsInfo = row.getGoodsInfoId() != null
? goodsInfoMap.get(row.getGoodsInfoId()) : null;
orderInfoList.add(toPromoterOrderInfo(row, goodsInfo, validCodeConverter));
}
if (orderInfoList.isEmpty()) {
@@ -78,10 +95,12 @@ public class PublicPromoterOrderController {
return result;
}
private PromoterOrderInfoVO toPromoterOrderInfo(OrderRows row, ValidCodeConverter validCodeConverter) {
private PromoterOrderInfoVO toPromoterOrderInfo(OrderRows row, GoodsInfo goodsInfo,
ValidCodeConverter validCodeConverter) {
PromoterOrderInfoVO vo = new PromoterOrderInfoVO();
vo.setShopName(row.getUnionAlias() != null && !row.getUnionAlias().isEmpty()
? row.getUnionAlias() : "京东商城");
String shopName = goodsInfo != null && goodsInfo.getShopName() != null && !goodsInfo.getShopName().isEmpty()
? goodsInfo.getShopName() : "京东商城";
vo.setShopName(shopName);
vo.setShopLogo(DEFAULT_SHOP_LOGO);
vo.setOrderSource("京东");
vo.setTraceTypeStr(row.getTraceType() != null && row.getTraceType() == 2 ? "同店" : "跨店");
@@ -92,7 +111,9 @@ public class PublicPromoterOrderController {
vo.setOrderId(String.valueOf(row.getOrderId()));
}
vo.setValidCodeMsg(validCodeConverter.getCodeDescription(row.getValidCode()));
if (row.getSkuId() != null) {
if (goodsInfo != null && goodsInfo.getImageUrl() != null && !goodsInfo.getImageUrl().isEmpty()) {
vo.setSkuImageUrl(goodsInfo.getImageUrl());
} else if (row.getSkuId() != null) {
vo.setSkuImageUrl("https://img14.360buyimg.com/n5/s450x450_" + row.getSkuId() + ".jpg");
}
vo.setSkuName(row.getSkuName());