|
|
@@ -2,8 +2,11 @@ package com.sckw.product.service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.sckw.core.exception.BusinessException;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
|
+import com.sckw.core.model.page.PageResult;
|
|
|
import com.sckw.core.model.vo.TableBottom;
|
|
|
import com.sckw.core.model.vo.TableStatisticRes;
|
|
|
import com.sckw.core.model.vo.TableTop;
|
|
|
@@ -300,18 +303,11 @@ public class KwpGoodsService {
|
|
|
* @Param params:
|
|
|
* @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
|
|
|
*/
|
|
|
- public List<GoodsList> select(ExportGoodsListParam params) {
|
|
|
- List<Long> ids = params.getIds();
|
|
|
- List<KwpGoods> goodsLists;
|
|
|
- if (CollectionUtils.isEmpty(ids)) {
|
|
|
- goodsLists = getGoodsLists(params);
|
|
|
- } else {
|
|
|
- LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
|
|
|
- goodsLists = kwpGoodsMapper.selectList(wrapper);
|
|
|
- }
|
|
|
+ public PageResult select(SelectGoodsListParam params, Boolean isPage) {
|
|
|
+ IPage<KwpGoods> goodsIpage = getGoodsLists(params, isPage);
|
|
|
+ List<KwpGoods> goodsLists = goodsIpage.getRecords();
|
|
|
if (CollectionUtils.isEmpty(goodsLists)) {
|
|
|
- return Collections.emptyList();
|
|
|
+ return PageResult.build(params.getPage(), params.getPageSize(), (int) goodsIpage.getTotal(), Collections.emptyList());
|
|
|
}
|
|
|
List<GoodsList> result = new ArrayList<>(goodsLists.size());
|
|
|
List<Long> goodsIds = goodsLists.stream().map(KwpGoods::getId).toList();
|
|
|
@@ -331,7 +327,7 @@ public class KwpGoodsService {
|
|
|
goodsList.setLowestPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice());
|
|
|
result.add(goodsList);
|
|
|
});
|
|
|
- return result;
|
|
|
+ return PageResult.build(params.getPage(), params.getPageSize(), (int) goodsIpage.getTotal(), result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -341,17 +337,28 @@ public class KwpGoodsService {
|
|
|
* @Param params:
|
|
|
* @return: java.util.List<com.sckw.product.model.KwpGoods>
|
|
|
*/
|
|
|
- private List<KwpGoods> getGoodsLists(GoodsListParam params) {
|
|
|
+ private IPage<KwpGoods> getGoodsLists(SelectGoodsListParam params, Boolean isPage) {
|
|
|
LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.like(StringUtils.isNotBlank(params.getKeywords()), KwpGoods::getName, params.getKeywords())
|
|
|
- .ge(Objects.nonNull(params.getStartCreateTime()), KwpGoods::getCreateTime, params.getStartCreateTime())
|
|
|
- .le(Objects.nonNull(params.getEndCreateTime()), KwpGoods::getCreateTime, params.getEndCreateTime())
|
|
|
- .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
|
|
|
- .in(CollectionUtils.isNotEmpty(params.getTypeIds()), KwpGoods::getTypeId, params.getTypeIds())
|
|
|
- .in(CollectionUtils.isNotEmpty(params.getStatus()), KwpGoods::getStatus, params.getStatus())
|
|
|
- .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
|
|
|
- List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
|
|
|
- return CollectionUtils.emptyIfNull(list);
|
|
|
+ if (CollectionUtils.isNotEmpty(params.getIds())) {
|
|
|
+ wrapper.in(KwpGoods::getId, params.getIds());
|
|
|
+ } else {
|
|
|
+ wrapper.like(StringUtils.isNotBlank(params.getKeywords()), KwpGoods::getName, params.getKeywords())
|
|
|
+ .ge(Objects.nonNull(params.getStartCreateTime()), KwpGoods::getCreateTime, params.getStartCreateTime())
|
|
|
+ .le(Objects.nonNull(params.getEndCreateTime()), KwpGoods::getCreateTime, params.getEndCreateTime())
|
|
|
+ .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
|
|
|
+ .in(CollectionUtils.isNotEmpty(params.getTypeIds()), KwpGoods::getTypeId, params.getTypeIds())
|
|
|
+ .in(CollectionUtils.isNotEmpty(params.getStatus()), KwpGoods::getStatus, params.getStatus());
|
|
|
+ }
|
|
|
+ wrapper.eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
|
|
|
+ IPage<KwpGoods> goodsIpage = new Page<>();
|
|
|
+ Page<KwpGoods> page = new Page<>(params.getPage(), params.getPageSize());
|
|
|
+ if (isPage) {
|
|
|
+ goodsIpage = kwpGoodsMapper.selectPage(page, wrapper);
|
|
|
+ } else {
|
|
|
+ List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
|
|
|
+ goodsIpage.setRecords(list);
|
|
|
+ }
|
|
|
+ return goodsIpage;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -364,7 +371,7 @@ public class KwpGoodsService {
|
|
|
*/
|
|
|
public TableStatisticRes statistic(GoodsListParam params) {
|
|
|
TableStatisticRes res = new TableStatisticRes();
|
|
|
- List<KwpGoods> goodsList = getGoodsLists(params);
|
|
|
+ List<KwpGoods> goodsList = getGoodsLists(BeanUtils.copyProperties(params, SelectGoodsListParam.class), false).getRecords();
|
|
|
Map<Integer, List<KwpGoods>> map = goodsList.stream().collect(Collectors.groupingBy(KwpGoods::getStatus));
|
|
|
List<TableTop> tableTops = new ArrayList<>();
|
|
|
GoodsStatusEnum.getSortList().forEach(e -> {
|
|
|
@@ -388,15 +395,17 @@ public class KwpGoodsService {
|
|
|
* @return: void
|
|
|
*/
|
|
|
public void export(ExportGoodsListParam params) {
|
|
|
- List<GoodsList> goodsLists = select(params);
|
|
|
+ PageResult pageResult = select(BeanUtils.copyProperties(params, SelectGoodsListParam.class), false);
|
|
|
+ List<GoodsList> goodsLists = pageResult.getList();
|
|
|
List<GoodsListExport> list = new ArrayList<>();
|
|
|
goodsLists.forEach(e -> {
|
|
|
GoodsListExport export = BeanUtils.copyProperties(e, GoodsListExport.class);
|
|
|
export.setStatus(GoodsStatusEnum.getNameByCode(e.getStatus()))
|
|
|
.setType("砂石").setTaxRate(String.valueOf(e.getTaxRate())).setAmount(String.valueOf(e.getAmount()))
|
|
|
.setTrading("线下付款").setHighestPrice(String.valueOf(e.getHighestPrice()))
|
|
|
- .setLowestPrice(String.valueOf(e.getLowestPrice())).setAddedTime(DateUtil.getDateTime(e.getAddedTime()))
|
|
|
- .setShelfTime(DateUtil.getDateTime(e.getShelfTime()));
|
|
|
+ .setLowestPrice(String.valueOf(e.getLowestPrice()))
|
|
|
+ .setAddedTime(Objects.isNull(e.getAddedTime()) ? null : DateUtil.getDateTime(e.getAddedTime()))
|
|
|
+ .setAddedTime(Objects.isNull(e.getShelfTime()) ? null : DateUtil.getDateTime(e.getShelfTime()));
|
|
|
list.add(export);
|
|
|
});
|
|
|
try {
|