|
@@ -1,6 +1,7 @@
|
|
|
package com.txz.mall.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.txz.mall.core.AbstractService;
|
|
|
import com.txz.mall.dao.StorePinkMapper;
|
|
|
import com.txz.mall.model.StorePink;
|
|
@@ -9,10 +10,11 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import tk.mybatis.mapper.entity.Condition;
|
|
|
import tk.mybatis.mapper.entity.Example;
|
|
|
+import vo.StorePinkOngoingVO;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -29,8 +31,8 @@ public class StorePinkServiceImpl extends AbstractService<StorePink> implements
|
|
|
Condition condition = new Condition(StorePink.class);
|
|
|
Example.Criteria criteria = condition.createCriteria();
|
|
|
criteria.andEqualTo("isDelete", 0);
|
|
|
- criteria.andEqualTo("kId", kid);
|
|
|
- criteria.andEqualTo("cId", cid);
|
|
|
+ criteria.andEqualTo("kid", kid);
|
|
|
+ criteria.andEqualTo("cid", cid);
|
|
|
condition.setOrderByClause("id DESC");
|
|
|
return findByCondition(condition);
|
|
|
}
|
|
@@ -50,4 +52,36 @@ public class StorePinkServiceImpl extends AbstractService<StorePink> implements
|
|
|
update(i);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<StorePinkOngoingVO> ongoingList(StorePink storePink) {
|
|
|
+ Condition condition = new Condition(StorePink.class);
|
|
|
+ Example.Criteria criteria = condition.createCriteria();
|
|
|
+ criteria.andEqualTo("isDelete", 0);
|
|
|
+ criteria.andEqualTo("cid", storePink.getCid());
|
|
|
+// criteria.andEqualTo("kid", 0);
|
|
|
+ criteria.andEqualTo("status", 1);
|
|
|
+ List<StorePink> pinkList = findByCondition(condition);
|
|
|
+ List<StorePinkOngoingVO> list = new ArrayList<>();
|
|
|
+
|
|
|
+ Map<String, List<StorePink>> collect = pinkList.stream().collect(Collectors.groupingBy(StorePink::getOrderId));
|
|
|
+ for (Map.Entry<String, List<StorePink>> entry : collect.entrySet()) {
|
|
|
+ StorePinkOngoingVO pinkOngoingVO = new StorePinkOngoingVO();
|
|
|
+ List<StorePink> groupList = entry.getValue();
|
|
|
+ List<StorePink> kidCollect = groupList.stream().filter(i -> i.getKId().equals(0L)).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(kidCollect)) {
|
|
|
+ pinkOngoingVO.setId(kidCollect.get(0).getId());
|
|
|
+ pinkOngoingVO.setOrderId(entry.getKey());
|
|
|
+ StorePink pink = groupList.get(0);
|
|
|
+ pinkOngoingVO.setTotalNum(pink.getPeople());
|
|
|
+ pinkOngoingVO.setRemainNum(pink.getPeople() - groupList.size());
|
|
|
+ pinkOngoingVO.setSuccessAvatar(groupList.stream().map(StorePink::getAvatar).collect(Collectors.toList()));
|
|
|
+ list.add(pinkOngoingVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list = list.stream().sorted(Comparator.comparing(StorePinkOngoingVO::getRemainNum)).collect(Collectors.toList());
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
}
|