|
@@ -13,14 +13,13 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import shop.alien.entity.store.*;
|
|
|
import shop.alien.entity.store.dto.LifeGroupBuyDto;
|
|
|
+import shop.alien.entity.store.vo.LifeGroupBuyNameThaliVo;
|
|
|
import shop.alien.entity.store.vo.LifeGroupBuyThaliVo;
|
|
|
import shop.alien.entity.store.vo.StoreMenuVo;
|
|
|
import shop.alien.mapper.*;
|
|
|
import shop.alien.store.service.LifeGroupBuyService;
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -47,8 +46,10 @@ public class LifeGroupBuyServiceImpl extends ServiceImpl<LifeGroupBuyMainMapper,
|
|
|
if (ObjectUtils.isEmpty(lifeGroupBuyMain.getId())) {
|
|
|
lifeGroupBuyMainMapper.insert(lifeGroupBuyMain);
|
|
|
if (ObjectUtils.isNotEmpty(lifeGroupBuyThalis)) {
|
|
|
- for (LifeGroupBuyThali lifeGroupBuyThali : lifeGroupBuyThalis) {
|
|
|
+ for (int i = 0; i < lifeGroupBuyThalis.size(); i++) {
|
|
|
+ LifeGroupBuyThali lifeGroupBuyThali = lifeGroupBuyThalis.get(i);
|
|
|
lifeGroupBuyThali.setParentId(lifeGroupBuyMain.getId().toString());
|
|
|
+ lifeGroupBuyThali.setDetailSort(i + 1);
|
|
|
lifeGroupBuyThaliMapper.insert(lifeGroupBuyThali);
|
|
|
}
|
|
|
}
|
|
@@ -57,8 +58,10 @@ public class LifeGroupBuyServiceImpl extends ServiceImpl<LifeGroupBuyMainMapper,
|
|
|
lifeGroupBuyMainMapper.updateById(lifeGroupBuyMain);
|
|
|
lifeGroupBuyThaliMapper.update(null, new LambdaUpdateWrapper<LifeGroupBuyThali>().eq(LifeGroupBuyThali::getParentId, lifeGroupBuyMain.getId()).set(LifeGroupBuyThali::getDeleteFlag, 1));
|
|
|
if (ObjectUtils.isNotEmpty(lifeGroupBuyThalis)) {
|
|
|
- for (LifeGroupBuyThali lifeGroupBuyThali : lifeGroupBuyThalis) {
|
|
|
+ for (int i = 0; i < lifeGroupBuyThalis.size(); i++) {
|
|
|
+ LifeGroupBuyThali lifeGroupBuyThali = lifeGroupBuyThalis.get(i);
|
|
|
lifeGroupBuyThali.setParentId(lifeGroupBuyMain.getId().toString());
|
|
|
+ lifeGroupBuyThali.setDetailSort(i + 1);
|
|
|
lifeGroupBuyThaliMapper.insert(lifeGroupBuyThali);
|
|
|
}
|
|
|
}
|
|
@@ -76,19 +79,7 @@ public class LifeGroupBuyServiceImpl extends ServiceImpl<LifeGroupBuyMainMapper,
|
|
|
.eq("delete_flag", 0)
|
|
|
.orderByDesc("created_time");
|
|
|
IPage<LifeGroupBuyThaliVo> lifeGroupBuyThaliVoIPage = new Page<>(page, size);
|
|
|
- IPage<LifeGroupBuyThaliVo> lifeGroupBuyMainIPage = lifeGroupBuyMainMapper.selectPageByThaliVo(lifeGroupBuyThaliVoIPage, queryWrapper);
|
|
|
- List<LifeGroupBuyThaliVo> records = lifeGroupBuyMainIPage.getRecords();
|
|
|
- if (ObjectUtils.isNotEmpty(records)) {
|
|
|
- List<Integer> collect = records.stream().map(LifeGroupBuyThaliVo::getId).collect(Collectors.toList());
|
|
|
- List<LifeGroupBuyThali> lifeGroupBuyThalis = lifeGroupBuyThaliMapper.selectList(new LambdaQueryWrapper<LifeGroupBuyThali>().in(LifeGroupBuyThali::getParentId, collect).eq(LifeGroupBuyThali::getDeleteFlag, 0));
|
|
|
- records.forEach(i -> i.setDetails(lifeGroupBuyThalis.stream().filter(d -> i.getId().toString().equals(d.getParentId())).collect(Collectors.toList())));
|
|
|
- for (LifeGroupBuyThaliVo record : records) {
|
|
|
- record.setDetails(lifeGroupBuyThalis.stream().filter(d -> record.getId().toString().equals(d.getParentId())).collect(Collectors.toList()));
|
|
|
-
|
|
|
- getMainImgAndDisableDate(record);
|
|
|
- }
|
|
|
- }
|
|
|
- return lifeGroupBuyMainIPage;
|
|
|
+ return lifeGroupBuyMainMapper.selectPageByThaliVo(lifeGroupBuyThaliVoIPage, queryWrapper);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -113,8 +104,16 @@ public class LifeGroupBuyServiceImpl extends ServiceImpl<LifeGroupBuyMainMapper,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- lifeGroupBuyThalis = lifeGroupBuyThalis.stream().sorted(Comparator.comparing(LifeGroupBuyThali::getDetailSort)).collect(Collectors.toList());
|
|
|
- lifeGroupBuyThaliVo.setDetails(lifeGroupBuyThalis);
|
|
|
+ Map<String, List<LifeGroupBuyThali>> collect = lifeGroupBuyThalis.stream().collect(Collectors.groupingBy(LifeGroupBuyThali::getGroupName));
|
|
|
+ List<LifeGroupBuyNameThaliVo> resultMap = new ArrayList<>();
|
|
|
+ List<String> keys = collect.entrySet().stream().sorted(Comparator.comparingInt(i -> i.getValue().stream().map(LifeGroupBuyThali::getDetailSort).reduce(0, Integer::sum))).map(Map.Entry::getKey).collect(Collectors.toList());
|
|
|
+ for (String key : keys) {
|
|
|
+ LifeGroupBuyNameThaliVo lifeGroupBuyNameThaliVo = new LifeGroupBuyNameThaliVo();
|
|
|
+ lifeGroupBuyNameThaliVo.setGroupName(key);
|
|
|
+ lifeGroupBuyNameThaliVo.setDetails(collect.get(key).stream().sorted(Comparator.comparingInt(LifeGroupBuyThali::getDetailSort)).collect(Collectors.toList()));
|
|
|
+ resultMap.add(lifeGroupBuyNameThaliVo);
|
|
|
+ }
|
|
|
+ lifeGroupBuyThaliVo.setDetails(resultMap);
|
|
|
getMainImgAndDisableDate(lifeGroupBuyThaliVo);
|
|
|
return lifeGroupBuyThaliVo;
|
|
|
}
|