|
@@ -75,7 +75,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
goodsIdsStr += studentPaymentOrderDetail.getGoodsIdList() + ",";
|
|
|
}
|
|
|
}
|
|
|
- if (StringUtils.isNotBlank(goodsIdsStr)) {
|
|
|
+ if (StringUtils.isBlank(goodsIdsStr)) {
|
|
|
return null;
|
|
|
}
|
|
|
goodsIdsStr = goodsIdsStr.substring(0, goodsIdsStr.length() - 1);
|
|
@@ -99,21 +99,22 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
});
|
|
|
//乐器更换的
|
|
|
SubjectChange changeGoods = subjectChangeDao.getChangeGoods(musicGroupId);
|
|
|
+ if (changeGoods == null) {
|
|
|
+ return goodies;
|
|
|
+ }
|
|
|
String originalGoodsIds = "";
|
|
|
String changeGoodsIds = "";
|
|
|
- if (changeGoods != null) {
|
|
|
- if (StringUtils.isNotBlank(changeGoods.getMusicGroupName())) {
|
|
|
- originalGoodsIds += StringUtils.isNotBlank(originalGoodsIds) ? "," + changeGoods.getMusicGroupName() : changeGoods.getMusicGroupName();
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(changeGoods.getOriginalAccessories())) {
|
|
|
- originalGoodsIds += StringUtils.isNotBlank(originalGoodsIds) ? "," + changeGoods.getOriginalAccessories() : changeGoods.getOriginalAccessories();
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(changeGoods.getTransNo())) {
|
|
|
- changeGoodsIds += StringUtils.isNotBlank(changeGoodsIds) ? "," + changeGoods.getTransNo() : changeGoods.getTransNo();
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(changeGoods.getChangeAccessories())) {
|
|
|
- changeGoodsIds += StringUtils.isNotBlank(changeGoodsIds) ? "," + changeGoods.getChangeAccessories() : changeGoods.getChangeAccessories();
|
|
|
- }
|
|
|
+ if (StringUtils.isNotBlank(changeGoods.getMusicGroupName())) {
|
|
|
+ originalGoodsIds += StringUtils.isNotBlank(originalGoodsIds) ? "," + changeGoods.getMusicGroupName() : changeGoods.getMusicGroupName();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(changeGoods.getOriginalAccessories())) {
|
|
|
+ originalGoodsIds += StringUtils.isNotBlank(originalGoodsIds) ? "," + changeGoods.getOriginalAccessories() : changeGoods.getOriginalAccessories();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(changeGoods.getTransNo())) {
|
|
|
+ changeGoodsIds += StringUtils.isNotBlank(changeGoodsIds) ? "," + changeGoods.getTransNo() : changeGoods.getTransNo();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(changeGoods.getChangeAccessories())) {
|
|
|
+ changeGoodsIds += StringUtils.isNotBlank(changeGoodsIds) ? "," + changeGoods.getChangeAccessories() : changeGoods.getChangeAccessories();
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(changeGoodsIds)) {
|
|
|
String[] changGoodsIdsArr = changeGoodsIds.split(",");
|
|
@@ -241,35 +242,57 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
@Override
|
|
|
public List<MusicalListDetailDto> getMusicalListDetail(String musicGroupId) {
|
|
|
List<MusicalListDetailDto> musicalListDetailDtos = studentPaymentOrderDetailDao.getMusicalListDetail(musicGroupId);
|
|
|
- if (musicalListDetailDtos != null && musicalListDetailDtos.size() > 0) {
|
|
|
- List<Long> paymentOrderNo = musicalListDetailDtos.stream().map(MusicalListDetailDto::getPaymentOrderId).collect(Collectors.toList());
|
|
|
- List<Integer> userIds = musicalListDetailDtos.stream().map(MusicalListDetailDto::getUserId).collect(Collectors.toList());
|
|
|
- //商品名称
|
|
|
- MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
- Organization organization = organizationDao.get(musicGroup.getOrganId());
|
|
|
- Map<Long, String> goodsNameMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsNames(paymentOrderNo));
|
|
|
- Map<Integer, String> usernameMap = MapUtil.convertIntegerMap(teacherDao.queryUsernameByIds(userIds));
|
|
|
- Map<Long, BigDecimal> actualAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDao.queryActualAmount(paymentOrderNo));
|
|
|
- Map<Long, BigDecimal> musicalAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "MUSICAL"));
|
|
|
- Map<Long, BigDecimal> accessoriesAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "ACCESSORIES"));
|
|
|
- Map<Long, BigDecimal> courseAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "COURSE"));
|
|
|
- Map<Long, String> purchaseTypeMap = MapUtil.convertIntegerMap(studentRegistrationDao.queryPurchaseTypeMap(musicGroupId));
|
|
|
- Map<Integer, String> userSubjectMap = subjectDao.getRegisterSubject(musicGroupId, userIds).stream().collect(Collectors.toMap(StudentRegistration::getUserId, StudentRegistration::getSubjectName));
|
|
|
- musicalListDetailDtos.forEach(e -> {
|
|
|
- e.setGoodsNames(goodsNameMap.get(e.getPaymentOrderId()));
|
|
|
- e.setMusicGroupName(musicGroup.getName());
|
|
|
- e.setUsername(usernameMap.get(e.getUserId()));
|
|
|
- e.setOrganName(organization.getName());
|
|
|
- e.setMusicalAmount(musicalAmountMap.get(e.getPaymentOrderId()));
|
|
|
- e.setAccessoriesAmount(accessoriesAmountMap.get(e.getPaymentOrderId()));
|
|
|
- e.setOrderAmount(actualAmountMap.get(e.getPaymentOrderId()));
|
|
|
- e.setCourseAmount(courseAmountMap.get(e.getPaymentOrderId()));
|
|
|
- e.setSubjectName(userSubjectMap.get(e.getUserId()));
|
|
|
- String s = purchaseTypeMap.get(e.getUserId().longValue());
|
|
|
- if (StringUtils.isNotEmpty(s)) {
|
|
|
- e.setKitGroupPurchaseTypeEnum(KitGroupPurchaseTypeEnum.valueOf(purchaseTypeMap.get(e.getUserId().longValue())));
|
|
|
+ if (musicalListDetailDtos.size() <= 0) {
|
|
|
+ return musicalListDetailDtos;
|
|
|
+ }
|
|
|
+ List<Long> paymentOrderNo = musicalListDetailDtos.stream().map(MusicalListDetailDto::getPaymentOrderId).collect(Collectors.toList());
|
|
|
+ List<Integer> userIds = musicalListDetailDtos.stream().map(MusicalListDetailDto::getUserId).collect(Collectors.toList());
|
|
|
+ //商品名称
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
+ Organization organization = organizationDao.get(musicGroup.getOrganId());
|
|
|
+ Map<Long, String> goodsNameMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsNames(paymentOrderNo));
|
|
|
+ Map<Integer, String> usernameMap = MapUtil.convertIntegerMap(teacherDao.queryUsernameByIds(userIds));
|
|
|
+ Map<Long, BigDecimal> actualAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDao.queryActualAmount(paymentOrderNo));
|
|
|
+ Map<Long, BigDecimal> musicalAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "MUSICAL"));
|
|
|
+ Map<Long, BigDecimal> accessoriesAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "ACCESSORIES"));
|
|
|
+ Map<Long, BigDecimal> courseAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "COURSE"));
|
|
|
+ Map<Long, String> purchaseTypeMap = MapUtil.convertIntegerMap(studentRegistrationDao.queryPurchaseTypeMap(musicGroupId));
|
|
|
+ Map<Integer, String> userSubjectMap = subjectDao.getRegisterSubject(musicGroupId, userIds).stream().collect(Collectors.toMap(StudentRegistration::getUserId, StudentRegistration::getSubjectName));
|
|
|
+
|
|
|
+ musicalListDetailDtos.forEach(e -> {
|
|
|
+ e.setGoodsNames(goodsNameMap.get(e.getPaymentOrderId()));
|
|
|
+ e.setMusicGroupName(musicGroup.getName());
|
|
|
+ e.setUsername(usernameMap.get(e.getUserId()));
|
|
|
+ e.setOrganName(organization.getName());
|
|
|
+ e.setMusicalAmount(musicalAmountMap.get(e.getPaymentOrderId()));
|
|
|
+ e.setAccessoriesAmount(accessoriesAmountMap.get(e.getPaymentOrderId()));
|
|
|
+ e.setOrderAmount(actualAmountMap.get(e.getPaymentOrderId()));
|
|
|
+ e.setCourseAmount(courseAmountMap.get(e.getPaymentOrderId()));
|
|
|
+ e.setSubjectName(userSubjectMap.get(e.getUserId()));
|
|
|
+ String s = purchaseTypeMap.get(e.getUserId().longValue());
|
|
|
+ if (StringUtils.isNotEmpty(s)) {
|
|
|
+ e.setKitGroupPurchaseTypeEnum(KitGroupPurchaseTypeEnum.valueOf(purchaseTypeMap.get(e.getUserId().longValue())));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ List<SubjectChange> studentGoodies = subjectChangeDao.getStudentGoods(musicGroupId);
|
|
|
+ if (studentGoodies.size() <= 0) {
|
|
|
+ return musicalListDetailDtos;
|
|
|
+ }
|
|
|
+ for (MusicalListDetailDto musicalListDetailDto : musicalListDetailDtos) {
|
|
|
+ for (SubjectChange studentGoods : studentGoodies) {
|
|
|
+ if (!musicalListDetailDto.getUserId().equals(studentGoods.getStudentId())) continue;
|
|
|
+ String goodsNames = "";
|
|
|
+ if (studentGoods.getChangeMusicalGoods() != null) {
|
|
|
+ goodsNames += studentGoods.getChangeMusicalGoods().getName();
|
|
|
}
|
|
|
- });
|
|
|
+ if (studentGoods.getChangeAccessoriesGoods() != null) {
|
|
|
+ String accessoriesNames = studentGoods.getChangeAccessoriesGoods().stream().map(Goods::getName).collect(Collectors.joining(","));
|
|
|
+ goodsNames = StringUtils.isNotBlank(goodsNames) ? "," + accessoriesNames : accessoriesNames;
|
|
|
+ }
|
|
|
+ musicalListDetailDto.setGoodsNames(goodsNames);
|
|
|
+ musicalListDetailDto.setMusicalAmount(studentGoods.getChangeMusicalPrice());
|
|
|
+ musicalListDetailDto.setAccessoriesAmount(studentGoods.getChangeAccessoriesPrice());
|
|
|
+ }
|
|
|
}
|
|
|
return musicalListDetailDtos;
|
|
|
}
|