|
|
@@ -36,6 +36,7 @@ import org.springblade.client.entity.Message;
|
|
|
import org.springblade.client.feign.IMessageClient;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
+import org.springblade.core.secure.BladeUser;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.jackson.JsonUtil;
|
|
|
@@ -4724,8 +4725,47 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (itemsList.isEmpty()) {
|
|
|
return pages;
|
|
|
}
|
|
|
+ BladeUser user = AuthUtil.getUser();
|
|
|
+ // 从商品中获取图片
|
|
|
+ List<Long> goodsIds = itemsList.stream().map(PjOrderItems::getGoodsId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ List<PjGoodsFiles> pjGoodsFiles = goodsFilesService.list(new LambdaQueryWrapper<PjGoodsFiles>()
|
|
|
+ .eq(PjGoodsFiles::getTenantId, user.getTenantId())
|
|
|
+ .eq(PjGoodsFiles::getIsDeleted, 0)
|
|
|
+ .in(PjGoodsFiles::getPid, goodsIds)
|
|
|
+ .eq(PjGoodsFiles::getMainImage, 0));
|
|
|
+ // 从品牌中获取图片
|
|
|
+ List<Long> brandIds = itemsList.stream().map(PjOrderItems::getBrandId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ List<PjBrandFiles> brandFilesList = null;
|
|
|
+ if (!brandIds.isEmpty()) {
|
|
|
+ brandFilesList = brandFilesService.list(new LambdaQueryWrapper<PjBrandFiles>()
|
|
|
+ .eq(PjBrandFiles::getMainImage, 0)
|
|
|
+ .eq(PjBrandFiles::getTenantId, user.getTenantId())
|
|
|
+ .eq(PjBrandFiles::getIsDeleted, 0)
|
|
|
+ .in(PjBrandFiles::getPid, brandIds)
|
|
|
+ );
|
|
|
+ }
|
|
|
for (PjOrder e : pages.getRecords()) {
|
|
|
- e.setOrderItemsList(itemsList.stream().filter(e1 -> e1.getPid().equals(e.getId())).collect(Collectors.toList()));
|
|
|
+ List<PjOrderItems> nowOrderItems = itemsList.stream().filter(e1 -> e1.getPid().equals(e.getId())).collect(Collectors.toList());
|
|
|
+ e.setOrderItemsList(nowOrderItems);
|
|
|
+ for (PjOrderItems item : nowOrderItems) {
|
|
|
+ // TODO: 与别的地方代码重复,需要优化
|
|
|
+ if (!org.springframework.util.StringUtils.isEmpty(item.getUrl())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ PjGoodsFiles goodsFiles = pjGoodsFiles.stream().filter(goods -> goods.getPid().equals(item.getGoodsId())).findFirst().orElse(null);
|
|
|
+ if (goodsFiles != null) {
|
|
|
+ item.setUrl(goodsFiles.getUrl());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (brandFilesList == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ PjBrandFiles brandFiles = brandFilesList.stream().filter(brand -> brand.getPid().equals(item.getBrandId())).findFirst().orElse(null);
|
|
|
+ if (brandFiles == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ item.setUrl(brandFiles.getUrl());
|
|
|
+ }
|
|
|
}
|
|
|
return pages;
|
|
|
}
|