|
|
@@ -31,6 +31,7 @@ import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
|
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.utils.BeanUtil;
|
|
|
@@ -758,62 +759,77 @@ public class OrderController extends BladeController {
|
|
|
@ApiOperationSupport(order = 2)
|
|
|
@ApiOperation(value = "购物车列表不分页查询", notes = "传入shoppingCart")
|
|
|
public R<List<Map<String, Object>>> listAll() {
|
|
|
+ BladeUser user = AuthUtil.getUser();
|
|
|
PjCorpsAttn pjCorpsAttn = corpsAttnService.getOne(new LambdaQueryWrapper<PjCorpsAttn>()
|
|
|
- .eq(PjCorpsAttn::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjCorpsAttn::getTenantId, user.getTenantId())
|
|
|
.eq(PjCorpsAttn::getIsDeleted, 0)
|
|
|
- .eq(PjCorpsAttn::getUserId, AuthUtil.getUserId()));
|
|
|
+ .eq(PjCorpsAttn::getUserId, user.getUserId()));
|
|
|
if (ObjectUtils.isNull(pjCorpsAttn)) {
|
|
|
throw new RuntimeException("未找到用户信息");
|
|
|
}
|
|
|
LambdaQueryWrapper<PjOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ lambdaQueryWrapper.eq(PjOrder::getTenantId, user.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
//公司
|
|
|
- .eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())
|
|
|
+ .eq(PjOrder::getSalesCompanyId, user.getDeptId())
|
|
|
.eq(PjOrder::getActualPaymentStatus, 1)
|
|
|
- .apply("find_in_set(bs_type,'XS,GX')")
|
|
|
.eq(PjOrder::getCustomerId, pjCorpsAttn.getPid())
|
|
|
+ .in(PjOrder::getBsType, "XS","GX")
|
|
|
.orderByDesc(PjOrder::getCreateTime);
|
|
|
List<PjOrder> list = orderService.list(lambdaQueryWrapper);
|
|
|
- for (PjOrder item : list) {
|
|
|
- if ("内部销售".equals(item.getBusinessSource())) {
|
|
|
- item.setSrcOrdNo(item.getOrdNo());
|
|
|
- }
|
|
|
+ if (list.isEmpty()) {
|
|
|
+ return R.data(Collections.emptyList());
|
|
|
+ }
|
|
|
+ List<Long> orderIds = list.stream().map(PjOrder::getId).distinct().collect(Collectors.toList());
|
|
|
+ List<PjOrderItems> pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>().in(PjOrderItems::getPid, orderIds));
|
|
|
+ List<Long> goodsIds = pjOrderItemsList.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 = pjOrderItemsList.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)
|
|
|
+ );
|
|
|
}
|
|
|
- orderService.updateBatchById(list);
|
|
|
//按照所属公司分组
|
|
|
Map<String, List<PjOrder>> map = list.stream().filter(item -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(item.getSrcOrdNo()))
|
|
|
.collect(Collectors.groupingBy(PjOrder::getSrcOrdNo));
|
|
|
-
|
|
|
- List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
- map.forEach((k, v) -> {
|
|
|
- if (ObjectUtil.isNotEmpty(v)) {
|
|
|
- v.forEach(e -> {
|
|
|
- List<PjOrderItems> pjOrderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>().eq(PjOrderItems::getPid, e.getId()));
|
|
|
- for (PjOrderItems item : pjOrderItemsList) {
|
|
|
- List<PjGoodsFiles> pjGoodsFiles = goodsFilesService.list(new LambdaQueryWrapper<PjGoodsFiles>()
|
|
|
- .eq(PjGoodsFiles::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjGoodsFiles::getIsDeleted, 0)
|
|
|
- .eq(PjGoodsFiles::getPid, item.getGoodsId())
|
|
|
- .eq(PjGoodsFiles::getMainImage, 0));
|
|
|
- item.setGoodsFilesList(pjGoodsFiles);
|
|
|
- if (item.getGoodsFilesList().isEmpty() && ObjectUtils.isNotNull(item.getBrandId())) {
|
|
|
- item.setGoodsFilesList(BeanUtil.copy(brandFilesService.list(new LambdaQueryWrapper<PjBrandFiles>()
|
|
|
- .eq(PjBrandFiles::getMainImage, 0)
|
|
|
- .eq(PjBrandFiles::getPid, item.getBrandId())
|
|
|
- .eq(PjBrandFiles::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjBrandFiles::getIsDeleted, 0)), PjGoodsFiles.class));
|
|
|
- }
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>(map.size());
|
|
|
+ for (Map.Entry<String, List<PjOrder>> orderMap : map.entrySet()) {
|
|
|
+ Map<String, Object> objectMap = new HashMap<>(2);
|
|
|
+ objectMap.put("name", orderMap.getKey());
|
|
|
+ objectMap.put("list", orderMap.getValue());
|
|
|
+ mapList.add(objectMap);
|
|
|
+ if (orderMap.getValue().isEmpty()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for (PjOrder order : orderMap.getValue()) {
|
|
|
+ List<PjOrderItems> nowOrderItemList = pjOrderItemsList.stream().filter(item -> order.getId().equals(item.getPid())).collect(Collectors.toList());
|
|
|
+ order.setOrderItemsList(nowOrderItemList);
|
|
|
+ for (PjOrderItems item : nowOrderItemList) {
|
|
|
+ PjGoodsFiles goodsFiles = pjGoodsFiles.stream().filter(goods -> goods.getPid().equals(item.getGoodsId())).findFirst().orElse(null);
|
|
|
+ if (goodsFiles != null) {
|
|
|
+ item.setUrl(goodsFiles.getUrl());
|
|
|
+ continue;
|
|
|
}
|
|
|
- e.setOrderItemsList(pjOrderItemsList);
|
|
|
- });
|
|
|
+ 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());
|
|
|
+ }
|
|
|
}
|
|
|
- Map<String, Object> objectMap = new HashMap<>();
|
|
|
- objectMap.put("name", k);
|
|
|
- objectMap.put("list", v);
|
|
|
-
|
|
|
- mapList.add(objectMap);
|
|
|
- });
|
|
|
+ }
|
|
|
return R.data(mapList);
|
|
|
}
|
|
|
|