|  | @@ -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;
 | 
	
		
			
				|  |  |      }
 |