|
@@ -1,7 +1,6 @@
|
|
|
package com.izouma.jiashanxia.service;
|
|
package com.izouma.jiashanxia.service;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
-import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -27,9 +26,9 @@ import java.util.stream.Collectors;
|
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
|
public class UserPackageFlowService {
|
|
public class UserPackageFlowService {
|
|
|
|
|
|
|
|
- private UserPackageFlowRepo userPackageFlowRepo;
|
|
|
|
|
- private GoodsInfoRepo goodsInfoRepo;
|
|
|
|
|
- private UserPackageRepo userPackageRepo;
|
|
|
|
|
|
|
+ private final UserPackageFlowRepo userPackageFlowRepo;
|
|
|
|
|
+ private final GoodsInfoRepo goodsInfoRepo;
|
|
|
|
|
+ private final UserPackageRepo userPackageRepo;
|
|
|
|
|
|
|
|
public Page<UserPackageFlow> all(PageQuery pageQuery) {
|
|
public Page<UserPackageFlow> all(PageQuery pageQuery) {
|
|
|
pageQuery.setSort("createdAt,desc");
|
|
pageQuery.setSort("createdAt,desc");
|
|
@@ -45,7 +44,7 @@ public class UserPackageFlowService {
|
|
|
return userPackageFlowRepo.findAll(((root, criteriaQuery, criteriaBuilder) -> {
|
|
return userPackageFlowRepo.findAll(((root, criteriaQuery, criteriaBuilder) -> {
|
|
|
List<Predicate> and = JpaUtils
|
|
List<Predicate> and = JpaUtils
|
|
|
.toPredicates(pageQuery, UserPackageFlow.class, root, criteriaQuery, criteriaBuilder);
|
|
.toPredicates(pageQuery, UserPackageFlow.class, root, criteriaQuery, criteriaBuilder);
|
|
|
- and.add(criteriaBuilder.equal(root.get("type"), FlowType.WRITE_OFF));
|
|
|
|
|
|
|
+// and.add(criteriaBuilder.equal(root.get("type"), FlowType.WRITE_OFF));
|
|
|
if (StrUtil.isNotEmpty(pageQuery.getSearch())) {
|
|
if (StrUtil.isNotEmpty(pageQuery.getSearch())) {
|
|
|
List<Predicate> or = new ArrayList<>();
|
|
List<Predicate> or = new ArrayList<>();
|
|
|
or.add(and.get(and.size() - 1));
|
|
or.add(and.get(and.size() - 1));
|
|
@@ -129,17 +128,18 @@ public class UserPackageFlowService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 用户已有套餐
|
|
// 用户已有套餐
|
|
|
|
|
+ Map<Long, UserPackage> userPackageMap = userPackageRepo.findAllByUserIdAndType(writeOffSaveVO.getUserId(), writeOffSaveVO
|
|
|
|
|
+ .getType())
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.toMap(UserPackage::getGoodsInfoId, userPackage -> userPackage));
|
|
|
|
|
+
|
|
|
// Map<Long, UserPackage> userPackageMap = userPackageRepo.findAllByUserId(writeOffSaveVO.getUserId())
|
|
// Map<Long, UserPackage> userPackageMap = userPackageRepo.findAllByUserId(writeOffSaveVO.getUserId())
|
|
|
// .stream()
|
|
// .stream()
|
|
|
-// .collect(Collectors.toMap(UserPackage::getGoodsInfoId, userPackage -> userPackage));
|
|
|
|
|
-
|
|
|
|
|
- Map<Long, UserPackage> userPackageMap = userPackageRepo.findAllByUserId(writeOffSaveVO.getUserId())
|
|
|
|
|
- .stream()
|
|
|
|
|
- .collect(Collectors.toMap(UserPackage::getId, userPackage -> userPackage));
|
|
|
|
|
|
|
+// .collect(Collectors.toMap(UserPackage::getId, userPackage -> userPackage));
|
|
|
|
|
|
|
|
List<GoodsDTO> goodsDTOS = JSONObject.parseArray(writeOffSaveVO.getContent(), GoodsDTO.class);
|
|
List<GoodsDTO> goodsDTOS = JSONObject.parseArray(writeOffSaveVO.getContent(), GoodsDTO.class);
|
|
|
goodsDTOS.forEach(goodsDTO -> {
|
|
goodsDTOS.forEach(goodsDTO -> {
|
|
|
- UserPackage userPackage = userPackageMap.get(goodsDTO.getUserPackageId());
|
|
|
|
|
|
|
+ UserPackage userPackage = userPackageMap.get(goodsDTO.getGoodsInfoId());
|
|
|
if (ObjectUtil.isEmpty(userPackage)) {
|
|
if (ObjectUtil.isEmpty(userPackage)) {
|
|
|
throw new BusinessException("无此项目");
|
|
throw new BusinessException("无此项目");
|
|
|
}
|
|
}
|
|
@@ -162,6 +162,7 @@ public class UserPackageFlowService {
|
|
|
.userId(writeOffSaveVO.getUserId())
|
|
.userId(writeOffSaveVO.getUserId())
|
|
|
.content(content)
|
|
.content(content)
|
|
|
.type(FlowType.WRITE_OFF)
|
|
.type(FlowType.WRITE_OFF)
|
|
|
|
|
+ .packageType(writeOffSaveVO.getType())
|
|
|
.writeOffUserId(writeOffSaveVO.getWriteOffUserId())
|
|
.writeOffUserId(writeOffSaveVO.getWriteOffUserId())
|
|
|
.build());
|
|
.build());
|
|
|
}
|
|
}
|
|
@@ -180,6 +181,8 @@ public class UserPackageFlowService {
|
|
|
.id(writeOffRecord.getId())
|
|
.id(writeOffRecord.getId())
|
|
|
.createdAt(writeOffRecord.getCreatedAt())
|
|
.createdAt(writeOffRecord.getCreatedAt())
|
|
|
.goods(goodsVOS)
|
|
.goods(goodsVOS)
|
|
|
|
|
+ .packageType(writeOffRecord.getPackageType())
|
|
|
|
|
+ .type(writeOffRecord.getType())
|
|
|
.build();
|
|
.build();
|
|
|
if (writeOffRecord.getUser() != null) {
|
|
if (writeOffRecord.getUser() != null) {
|
|
|
build.setNickname(writeOffRecord.getUser().getNickname());
|
|
build.setNickname(writeOffRecord.getUser().getNickname());
|