|
@@ -76,7 +76,7 @@ public class GoodsManagerService {
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
return PageResult.build(params.getPage(), params.getPageSize(), goodsIpage.getTotal(), Collections.emptyList());
|
|
return PageResult.build(params.getPage(), params.getPageSize(), goodsIpage.getTotal(), Collections.emptyList());
|
|
|
}
|
|
}
|
|
|
- List<GoodsList> result = buildGoodLists(list);
|
|
|
|
|
|
|
+ List<OperationGoodsList> result = buildGoodLists(list);
|
|
|
return PageResult.build(params.getPage(), params.getPageSize(), goodsIpage.getTotal(), result);
|
|
return PageResult.build(params.getPage(), params.getPageSize(), goodsIpage.getTotal(), result);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -100,6 +100,8 @@ public class GoodsManagerService {
|
|
|
if (Objects.nonNull(params.getEndCreateTime())) {
|
|
if (Objects.nonNull(params.getEndCreateTime())) {
|
|
|
wrapper.le(KwpGoods::getCreateTime, params.getEndCreateTime());
|
|
wrapper.le(KwpGoods::getCreateTime, params.getEndCreateTime());
|
|
|
}
|
|
}
|
|
|
|
|
+ //运营端不需要显示草稿数据
|
|
|
|
|
+ wrapper.ne(KwpGoods::getStatus, 0);
|
|
|
wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId())
|
|
wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId())
|
|
|
.eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit())
|
|
.eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit())
|
|
|
.eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
|
|
.eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
|
|
@@ -134,8 +136,8 @@ public class GoodsManagerService {
|
|
|
* @Param list:
|
|
* @Param list:
|
|
|
* @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
|
|
* @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
|
|
|
*/
|
|
*/
|
|
|
- private List<GoodsList> buildGoodLists(List<KwpGoods> list) {
|
|
|
|
|
- List<GoodsList> result = new ArrayList<>(list.size());
|
|
|
|
|
|
|
+ private List<OperationGoodsList> buildGoodLists(List<KwpGoods> list) {
|
|
|
|
|
+ List<OperationGoodsList> result = new ArrayList<>(list.size());
|
|
|
List<Long> goodsIds = new ArrayList<>(list.size());
|
|
List<Long> goodsIds = new ArrayList<>(list.size());
|
|
|
List<Long> supplyEntIds = new ArrayList<>(list.size());
|
|
List<Long> supplyEntIds = new ArrayList<>(list.size());
|
|
|
List<Long> userIds = new ArrayList<>();
|
|
List<Long> userIds = new ArrayList<>();
|
|
@@ -167,13 +169,13 @@ public class GoodsManagerService {
|
|
|
Map<Long, String> entMap = entList.stream().collect(Collectors.toMap(EntCacheResDto::getId, EntCacheResDto::getFirmName, (k1, k2) -> k1));
|
|
Map<Long, String> entMap = entList.stream().collect(Collectors.toMap(EntCacheResDto::getId, EntCacheResDto::getFirmName, (k1, k2) -> k1));
|
|
|
list.forEach(e -> {
|
|
list.forEach(e -> {
|
|
|
Long id = e.getId();
|
|
Long id = e.getId();
|
|
|
- GoodsList goodsList = BeanUtils.copyProperties(e, GoodsList.class);
|
|
|
|
|
|
|
+ OperationGoodsList operationGoodsList = BeanUtils.copyProperties(e, OperationGoodsList.class);
|
|
|
UserCacheResDto manager = userMap.get(e.getManager());
|
|
UserCacheResDto manager = userMap.get(e.getManager());
|
|
|
UserCacheResDto createUser = userMap.get(e.getCreateBy());
|
|
UserCacheResDto createUser = userMap.get(e.getCreateBy());
|
|
|
- goodsList.setStatusLabel(DictEnum.getLabel(DictTypeEnum.GOODS_STATUS.getType(), String.valueOf(goodsList.getStatus())))
|
|
|
|
|
- .setGoodsTypeLabel(DictEnum.getLabel(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), goodsList.getGoodsType()))
|
|
|
|
|
- .setUnitLabel(DictEnum.getLabel(DictTypeEnum.UNIT_TYPE.getType(), goodsList.getUnit()))
|
|
|
|
|
- .setTaxRateLabel(DictEnum.getLabel(DictTypeEnum.TAX_RATE.getType(), goodsList.getTaxRate()))
|
|
|
|
|
|
|
+ operationGoodsList.setStatusLabel(DictEnum.getLabel(DictTypeEnum.GOODS_STATUS.getType(), String.valueOf(operationGoodsList.getStatus())))
|
|
|
|
|
+ .setGoodsTypeLabel(DictEnum.getLabel(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), operationGoodsList.getGoodsType()))
|
|
|
|
|
+ .setUnitLabel(DictEnum.getLabel(DictTypeEnum.UNIT_TYPE.getType(), operationGoodsList.getUnit()))
|
|
|
|
|
+ .setTaxRateLabel(DictEnum.getLabel(DictTypeEnum.TAX_RATE.getType(), operationGoodsList.getTaxRate()))
|
|
|
.setPrepaidLimitLabel(Objects.equals(e.getPrepaidLimit(), 1) ? "是" : "否")
|
|
.setPrepaidLimitLabel(Objects.equals(e.getPrepaidLimit(), 1) ? "是" : "否")
|
|
|
.setAddress(addressMap.get(id)).setSupplyEnt(entMap.get(e.getSupplyEntId()))
|
|
.setAddress(addressMap.get(id)).setSupplyEnt(entMap.get(e.getSupplyEntId()))
|
|
|
.setManageName(Objects.nonNull(manager) ? manager.getName() : null)
|
|
.setManageName(Objects.nonNull(manager) ? manager.getName() : null)
|
|
@@ -181,46 +183,13 @@ public class GoodsManagerService {
|
|
|
.setCreateByName(Objects.nonNull(createUser) ? createUser.getName() : null);
|
|
.setCreateByName(Objects.nonNull(createUser) ? createUser.getName() : null);
|
|
|
List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(id);
|
|
List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(id);
|
|
|
if (CollectionUtils.isNotEmpty(priceRanges)) {
|
|
if (CollectionUtils.isNotEmpty(priceRanges)) {
|
|
|
- goodsList.setHighestPrice(priceRanges.get(priceRanges.size() - 1).getPrice()).setLowestPrice(priceRanges.get(0).getPrice());
|
|
|
|
|
|
|
+ operationGoodsList.setHighestPrice(priceRanges.get(priceRanges.size() - 1).getPrice()).setLowestPrice(priceRanges.get(0).getPrice());
|
|
|
}
|
|
}
|
|
|
- result.add(goodsList);
|
|
|
|
|
|
|
+ result.add(operationGoodsList);
|
|
|
});
|
|
});
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * @desc: 获取商品详情
|
|
|
|
|
- * @author: lt
|
|
|
|
|
- * @date: 2023-09-14 14:28
|
|
|
|
|
- * @Param id:
|
|
|
|
|
- * @return: com.sckw.product.model.vo.res.GoodsDetail
|
|
|
|
|
- */
|
|
|
|
|
- public OperationGoodsDetail getDetail(Long id) {
|
|
|
|
|
- OperationGoodsDetail detail = detail(id);
|
|
|
|
|
- LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
- wrapper.eq(KwpGoods::getGoodsType, detail.getGoodsType()).eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
|
|
|
|
|
- .eq(KwpGoods::getDelFlag, Global.NO).ne(KwpGoods::getId, id).last("LIMIT 4");
|
|
|
|
|
- List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
|
|
|
|
|
- if (CollectionUtils.isEmpty(list)) {
|
|
|
|
|
- return detail;
|
|
|
|
|
- }
|
|
|
|
|
- List<Long> goodsIds = list.stream().map(KwpGoods::getId).toList();
|
|
|
|
|
- Map<Long, List<KwpGoodsPriceRange>> map = kwpGoodsPriceRangeService.getByGoodsIds(goodsIds).stream()
|
|
|
|
|
- .collect(Collectors.groupingBy(KwpGoodsPriceRange::getGoodsId));
|
|
|
|
|
- List<RecommendGoods> recommendGoodsList = new ArrayList<>();
|
|
|
|
|
- list.forEach(e -> {
|
|
|
|
|
- RecommendGoods recommendGoods = BeanUtils.copyProperties(e, RecommendGoods.class);
|
|
|
|
|
- List<KwpGoodsPriceRange> prices = map.get(recommendGoods.getId());
|
|
|
|
|
- recommendGoods.setUnitLabel(DictEnum.getLabel(DictTypeEnum.UNIT_TYPE.getType(), recommendGoods.getUnit()))
|
|
|
|
|
- .setPrice(CollectionUtils.isNotEmpty(prices) ? prices.get(0).getPrice() : null);
|
|
|
|
|
- recommendGoodsList.add(recommendGoods);
|
|
|
|
|
- });
|
|
|
|
|
- detail.setRecommendGoodsList(recommendGoodsList);
|
|
|
|
|
- return detail;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* @desc: 获取商品详情
|
|
* @desc: 获取商品详情
|
|
|
* @author: lt
|
|
* @author: lt
|
|
@@ -228,7 +197,7 @@ public class GoodsManagerService {
|
|
|
* @Param id:
|
|
* @Param id:
|
|
|
* @return: com.sckw.product.model.vo.res.GoodsDetail
|
|
* @return: com.sckw.product.model.vo.res.GoodsDetail
|
|
|
*/
|
|
*/
|
|
|
- public OperationGoodsDetail detail(Long id) {
|
|
|
|
|
|
|
+ public OperationGoodsDetail getDetail(Long id) {
|
|
|
KwpGoods goods = kwpGoodsMapper.selectById(id);
|
|
KwpGoods goods = kwpGoodsMapper.selectById(id);
|
|
|
if (Objects.isNull(goods)) {
|
|
if (Objects.isNull(goods)) {
|
|
|
throw new BusinessException("当前商品不存在!");
|
|
throw new BusinessException("当前商品不存在!");
|
|
@@ -302,7 +271,10 @@ public class GoodsManagerService {
|
|
|
});
|
|
});
|
|
|
TableBottom tableBottom = new TableBottom();
|
|
TableBottom tableBottom = new TableBottom();
|
|
|
tableBottom.setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
|
|
tableBottom.setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
|
|
|
- res.setTableTops(tableTops).setTableBottom(tableBottom);
|
|
|
|
|
|
|
+ List<TableTop> filteredTableTops = tableTops.stream()
|
|
|
|
|
+ .filter(tableTop -> !tableTop.getName().equals("已保存"))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ res.setTableTops(filteredTableTops).setTableBottom(tableBottom);
|
|
|
return res;
|
|
return res;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -313,17 +285,20 @@ public class GoodsManagerService {
|
|
|
* @Param params:
|
|
* @Param params:
|
|
|
* @return: void
|
|
* @return: void
|
|
|
*/
|
|
*/
|
|
|
- public List<GoodsListExport> export(ExportStatisticGoodsListParam params) {
|
|
|
|
|
|
|
+ public List<OperationGoodsListExport> export(ExportStatisticGoodsListParam params) {
|
|
|
LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(params);
|
|
LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(params);
|
|
|
|
|
+ System.out.println(1);
|
|
|
List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
|
|
List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
|
|
|
- List<GoodsList> goodsLists = buildGoodLists(list);
|
|
|
|
|
|
|
+ System.out.println(2);
|
|
|
|
|
+ List<OperationGoodsList> goodsLists = buildGoodLists(list);
|
|
|
|
|
+ System.out.println(3);
|
|
|
if (CollectionUtils.isEmpty(goodsLists)) {
|
|
if (CollectionUtils.isEmpty(goodsLists)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
- List<GoodsListExport> result = new ArrayList<>();
|
|
|
|
|
|
|
+ List<OperationGoodsListExport> result = new ArrayList<>();
|
|
|
AtomicInteger i = new AtomicInteger(1);
|
|
AtomicInteger i = new AtomicInteger(1);
|
|
|
goodsLists.forEach(e -> {
|
|
goodsLists.forEach(e -> {
|
|
|
- GoodsListExport export = BeanUtils.copyProperties(e, GoodsListExport.class);
|
|
|
|
|
|
|
+ OperationGoodsListExport export = BeanUtils.copyProperties(e, OperationGoodsListExport.class);
|
|
|
export.setSerialNumber(String.valueOf(i.getAndIncrement()))
|
|
export.setSerialNumber(String.valueOf(i.getAndIncrement()))
|
|
|
.setAmount(Objects.isNull(e.getAmount()) ? null : String.valueOf(e.getAmount()))
|
|
.setAmount(Objects.isNull(e.getAmount()) ? null : String.valueOf(e.getAmount()))
|
|
|
.setHighestPrice(Objects.isNull(e.getHighestPrice()) ? null : String.valueOf(e.getHighestPrice()))
|
|
.setHighestPrice(Objects.isNull(e.getHighestPrice()) ? null : String.valueOf(e.getHighestPrice()))
|