|
|
@@ -31,7 +31,8 @@ public class UserPackageFlowService {
|
|
|
private UserPackageRepo userPackageRepo;
|
|
|
|
|
|
public Page<UserPackageFlow> all(PageQuery pageQuery) {
|
|
|
- return userPackageFlowRepo.findAll(JpaUtils.toSpecification(pageQuery, UserPackageFlow.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
+ return userPackageFlowRepo
|
|
|
+ .findAll(JpaUtils.toSpecification(pageQuery, UserPackageFlow.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
@@ -39,7 +40,8 @@ public class UserPackageFlowService {
|
|
|
*/
|
|
|
public Page<UserPackageFlow> writeOffAll(PageQuery pageQuery) {
|
|
|
return userPackageFlowRepo.findAll(((root, criteriaQuery, criteriaBuilder) -> {
|
|
|
- List<Predicate> and = JpaUtils.toPredicates(pageQuery, UserPackageFlow.class, root, criteriaQuery, criteriaBuilder);
|
|
|
+ List<Predicate> and = JpaUtils
|
|
|
+ .toPredicates(pageQuery, UserPackageFlow.class, root, criteriaQuery, criteriaBuilder);
|
|
|
and.add(criteriaBuilder.equal(root.get("type"), FlowType.WRITE_OFF));
|
|
|
if (StrUtil.isNotEmpty(pageQuery.getSearch())) {
|
|
|
List<Predicate> or = new ArrayList<>();
|
|
|
@@ -54,6 +56,35 @@ public class UserPackageFlowService {
|
|
|
}), JpaUtils.toPageRequest(pageQuery));
|
|
|
}
|
|
|
|
|
|
+ public Page<UserPackageFlowVO> writeOffAll1(PageQuery pageQuery) {
|
|
|
+ Map<Long, String> goodsMap = goodsInfoRepo.findAll()
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.toMap(GoodsInfo::getId, GoodsInfo::getName));
|
|
|
+ return userPackageFlowRepo.findAll(((root, criteriaQuery, criteriaBuilder) -> {
|
|
|
+ List<Predicate> and = JpaUtils
|
|
|
+ .toPredicates(pageQuery, UserPackageFlow.class, root, criteriaQuery, criteriaBuilder);
|
|
|
+ and.add(criteriaBuilder.equal(root.get("type"), FlowType.WRITE_OFF));
|
|
|
+ if (StrUtil.isNotEmpty(pageQuery.getSearch())) {
|
|
|
+ List<Predicate> or = new ArrayList<>();
|
|
|
+ or.add(and.get(and.size() - 1));
|
|
|
+ and.remove(and.get(and.size() - 1));
|
|
|
+ or.add(criteriaBuilder.like(root.join("user").get("nickname"), "%" + pageQuery.getSearch() + "%"));
|
|
|
+ or.add(criteriaBuilder.like(root.join("writeOffUser")
|
|
|
+ .get("nickname"), "%" + pageQuery.getSearch() + "%"));
|
|
|
+ and.add(criteriaBuilder.or(or.toArray(new Predicate[0])));
|
|
|
+ }
|
|
|
+ return criteriaBuilder.and(and.toArray(new Predicate[0]));
|
|
|
+ }), JpaUtils.toPageRequest(pageQuery)).map(flow -> {
|
|
|
+ List<GoodsVO> goodsVOS = this.toGoodsVO(flow.getContent(), goodsMap);
|
|
|
+ UserPackageFlowVO vo = new UserPackageFlowVO();
|
|
|
+ BeanUtil.copyProperties(flow, vo);
|
|
|
+ vo.setNickname(flow.getUser().getNickname());
|
|
|
+ vo.setAvatar(flow.getUser().getAvatar());
|
|
|
+ vo.setContent(goodsVOS);
|
|
|
+ return vo;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
public List<UserPackageFlowVO> my(Long userId) {
|
|
|
List<UserPackageFlowVO> vos = new ArrayList<>();
|
|
|
// 查找用户相关
|