|
@@ -204,8 +204,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
|
|
musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
|
|
musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
|
|
musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
|
|
|
|
|
|
- musicGroupPaymentCalender.setOriginalTotalAmount(calenderStudentDetails.stream().map(e -> e.getCourseOriginalPrice()).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
- musicGroupPaymentCalender.setCurrentTotalAmount(calenderStudentDetails.stream().map(e -> e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
|
|
+ musicGroupPaymentCalender.setOriginalTotalAmount(calenderStudentDetails.stream().map(MusicGroupPaymentCalenderStudentDetail::getCourseOriginalPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
+ musicGroupPaymentCalender.setCurrentTotalAmount(calenderStudentDetails.stream().map(MusicGroupPaymentCalenderStudentDetail::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
musicGroupPaymentCalender.setPaymentType(paymentType);
|
|
musicGroupPaymentCalender.setPaymentType(paymentType);
|
|
musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
|
|
musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
|
|
musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
|
|
musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
|
|
@@ -301,7 +301,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
List<MusicGroupPaymentCalender> list = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
|
|
List<MusicGroupPaymentCalender> list = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
|
|
//排除商品采购
|
|
//排除商品采购
|
|
List<MusicGroupPaymentCalender> collect = list.stream().filter(e -> e.getPaymentType() != GOODS_PURCHASE).collect(Collectors.toList());
|
|
List<MusicGroupPaymentCalender> collect = list.stream().filter(e -> e.getPaymentType() != GOODS_PURCHASE).collect(Collectors.toList());
|
|
- if (collect.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(collect)) {
|
|
throw new BizException("创建失败,已经存在缴费信息");
|
|
throw new BizException("创建失败,已经存在缴费信息");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -318,7 +318,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
BigDecimal originalTotalAmount = courseOriginalAmount.add(memberOriginalAmount)
|
|
BigDecimal originalTotalAmount = courseOriginalAmount.add(memberOriginalAmount)
|
|
.add(activityOriginalAmount)
|
|
.add(activityOriginalAmount)
|
|
.add(goodsOriginalAmount)
|
|
.add(goodsOriginalAmount)
|
|
- .add(repairOriginalAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ .add(repairOriginalAmount).setScale(0, RoundingMode.HALF_UP);
|
|
|
|
|
|
//计算缴费项目总金额(前端录入)
|
|
//计算缴费项目总金额(前端录入)
|
|
BigDecimal courseActualAmount = musicGroupPaymentCalenderCourseSettingsService.getActualAmount(musicGroupPaymentBaseCalender);
|
|
BigDecimal courseActualAmount = musicGroupPaymentCalenderCourseSettingsService.getActualAmount(musicGroupPaymentBaseCalender);
|
|
@@ -330,7 +330,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
BigDecimal actualTotalAmount = courseActualAmount.add(memberActualAmount)
|
|
BigDecimal actualTotalAmount = courseActualAmount.add(memberActualAmount)
|
|
.add(repairActualAmount)
|
|
.add(repairActualAmount)
|
|
.add(goodsActualAmount)
|
|
.add(goodsActualAmount)
|
|
- .add(activityActualAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ .add(activityActualAmount).setScale(0, RoundingMode.HALF_UP);
|
|
//标记是否云教练缴费
|
|
//标记是否云教练缴费
|
|
if(musicGroupPaymentCalender.getPayUserType() == STUDENT && musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
if(musicGroupPaymentCalender.getPayUserType() == STUDENT && musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
if(musicGroupPaymentCalender.getPaymentType() == ADD_STUDENT){
|
|
if(musicGroupPaymentCalender.getPaymentType() == ADD_STUDENT){
|
|
@@ -364,8 +364,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
BigDecimal courseCurrentAmount = musicGroupPaymentCalenderCourseSettingsService.getCurrentAmount(musicGroupPaymentBaseCalender);
|
|
BigDecimal courseCurrentAmount = musicGroupPaymentCalenderCourseSettingsService.getCurrentAmount(musicGroupPaymentBaseCalender);
|
|
//如果课程价格是0元,那么需要审核
|
|
//如果课程价格是0元,那么需要审核
|
|
if(courseCurrentAmount.compareTo(BigDecimal.ZERO) == 0 &&
|
|
if(courseCurrentAmount.compareTo(BigDecimal.ZERO) == 0 &&
|
|
- musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList() != null &&
|
|
|
|
- musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList().size() > 0){
|
|
|
|
|
|
+ CollectionUtils.isNotEmpty(musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList())){
|
|
status = AUDITING;
|
|
status = AUDITING;
|
|
}else {
|
|
}else {
|
|
BigDecimal memberCurrentAmount = musicGroupPaymentCalenderMemberService.getCurrentAmount(musicGroupPaymentBaseCalender);
|
|
BigDecimal memberCurrentAmount = musicGroupPaymentCalenderMemberService.getCurrentAmount(musicGroupPaymentBaseCalender);
|
|
@@ -375,7 +374,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
BigDecimal currentTotalAmount = courseCurrentAmount.add(memberCurrentAmount)
|
|
BigDecimal currentTotalAmount = courseCurrentAmount.add(memberCurrentAmount)
|
|
.add(goodsCurrentAmount)
|
|
.add(goodsCurrentAmount)
|
|
.add(repairCurrentAmount)
|
|
.add(repairCurrentAmount)
|
|
- .add(activityCurrentAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ .add(activityCurrentAmount).setScale(0, RoundingMode.HALF_UP);
|
|
status = actualTotalAmount.compareTo(currentTotalAmount) == 0 ? NO : AUDITING;
|
|
status = actualTotalAmount.compareTo(currentTotalAmount) == 0 ? NO : AUDITING;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -413,13 +412,15 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
operatingReportCloudService.save(musicGroupPaymentCalender);
|
|
operatingReportCloudService.save(musicGroupPaymentCalender);
|
|
Long calenderId = musicGroupPaymentCalender.getId();
|
|
Long calenderId = musicGroupPaymentCalender.getId();
|
|
//保存会员缴费信息
|
|
//保存会员缴费信息
|
|
- MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentBaseCalender.getCalenderMember();
|
|
|
|
- if (calenderMember != null) {
|
|
|
|
- calenderMember = musicGroupPaymentCalenderMemberService.initBean(calenderMember);
|
|
|
|
- calenderMember.setActualAmount(memberActualAmount);
|
|
|
|
- calenderMember.setOriginalAmount(memberOriginalAmount);
|
|
|
|
- calenderMember.setCalenderId(calenderId);
|
|
|
|
- musicGroupPaymentCalenderMemberService.insert(calenderMember);
|
|
|
|
|
|
+ List<MusicGroupPaymentCalenderMember> calenderMemberList = musicGroupPaymentBaseCalender.getCalenderMemberList();
|
|
|
|
+ if (CollectionUtils.isNotEmpty(calenderMemberList)) {
|
|
|
|
+ for (MusicGroupPaymentCalenderMember calenderMember : calenderMemberList) {
|
|
|
|
+ calenderMember = musicGroupPaymentCalenderMemberService.initBean(calenderMember);
|
|
|
|
+ calenderMember.setActualAmount(memberActualAmount);
|
|
|
|
+ calenderMember.setOriginalAmount(memberOriginalAmount);
|
|
|
|
+ calenderMember.setCalenderId(calenderId);
|
|
|
|
+ }
|
|
|
|
+ musicGroupPaymentCalenderMemberService.batchInsert(calenderMemberList);
|
|
}
|
|
}
|
|
//保存乐保缴费信息
|
|
//保存乐保缴费信息
|
|
MusicGroupPaymentCalenderRepair musicRepair = musicGroupPaymentBaseCalender.getMusicRepair();
|
|
MusicGroupPaymentCalenderRepair musicRepair = musicGroupPaymentBaseCalender.getMusicRepair();
|
|
@@ -442,17 +443,21 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
e.setOverflowCoursePrice(BigDecimal.ZERO);
|
|
e.setOverflowCoursePrice(BigDecimal.ZERO);
|
|
});
|
|
});
|
|
//是否会员团
|
|
//是否会员团
|
|
- if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && Objects.nonNull(calenderMember)){
|
|
|
|
- //获取云教练溢出费用
|
|
|
|
- BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
|
|
|
|
- calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
|
|
|
|
- calenderMember.setIncome(courseIncome);
|
|
|
|
- musicGroupPaymentCalenderMemberService.update(calenderMember);
|
|
|
|
- //获取云教练溢出费用
|
|
|
|
- BigDecimal currentFee = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
|
|
|
|
- calenderMember.getNum(), MemberFeeSettingServiceImpl::getCurrentFee);
|
|
|
|
|
|
+ if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && CollectionUtils.isNotEmpty(calenderMemberList)){
|
|
|
|
+ BigDecimal totalCourseIncome = BigDecimal.ZERO;
|
|
|
|
+ BigDecimal currentFee = BigDecimal.ZERO;
|
|
|
|
+ for (MusicGroupPaymentCalenderMember calenderMember : calenderMemberList) {
|
|
|
|
+ //获取云教练溢出费用
|
|
|
|
+ BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), calenderMember.getMemberRankSettingId(), calenderMember.getPeriod(),
|
|
|
|
+ calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
|
|
|
|
+ calenderMember.setIncome(courseIncome);
|
|
|
|
+ //获取云教练溢出费用
|
|
|
|
+ currentFee = currentFee.add(memberFeeSettingService.getAmount(musicGroup.getOrganId(), calenderMember.getMemberRankSettingId(), calenderMember.getPeriod(),
|
|
|
|
+ calenderMember.getNum(), MemberFeeSettingServiceImpl::getCurrentFee));
|
|
|
|
+ }
|
|
|
|
+ musicGroupPaymentCalenderMemberService.batchUpdate(calenderMemberList);
|
|
//平摊金额
|
|
//平摊金额
|
|
- distributeTotalAmount(courseSettingsList,currentFee.subtract(courseIncome));
|
|
|
|
|
|
+ distributeTotalAmount(courseSettingsList,currentFee.subtract(totalCourseIncome));
|
|
}
|
|
}
|
|
musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(courseSettingsList);
|
|
musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(courseSettingsList);
|
|
musicGroupPaymentCalenderCourseSettingsService.batchInsert(musicGroupPaymentCalender);
|
|
musicGroupPaymentCalenderCourseSettingsService.batchInsert(musicGroupPaymentCalender);
|
|
@@ -460,7 +465,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
//保存商品缴费信息
|
|
//保存商品缴费信息
|
|
if (musicGroupPaymentCalender.getPaymentType() == GOODS_PURCHASE) {
|
|
if (musicGroupPaymentCalender.getPaymentType() == GOODS_PURCHASE) {
|
|
if(CollectionUtils.isNotEmpty(musicGroupPaymentBaseCalender.getCalenderGoodsList())){
|
|
if(CollectionUtils.isNotEmpty(musicGroupPaymentBaseCalender.getCalenderGoodsList())){
|
|
- List<Integer> goodsIds = musicGroupPaymentBaseCalender.getCalenderGoodsList().stream().map(e -> e.getGoodsId()).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Integer> goodsIds = musicGroupPaymentBaseCalender.getCalenderGoodsList().stream().map(MusicGroupPaymentCalenderGoods::getGoodsId).collect(Collectors.toList());
|
|
Map<Integer, Goods> goodsMap = goodsDao.getGoodies(goodsIds).stream().collect(Collectors.toMap(Goods::getId, e -> e));
|
|
Map<Integer, Goods> goodsMap = goodsDao.getGoodies(goodsIds).stream().collect(Collectors.toMap(Goods::getId, e -> e));
|
|
for (MusicGroupPaymentCalenderGoods e : musicGroupPaymentBaseCalender.getCalenderGoodsList()) {
|
|
for (MusicGroupPaymentCalenderGoods e : musicGroupPaymentBaseCalender.getCalenderGoodsList()) {
|
|
Goods goods = goodsMap.get(e.getGoodsId());
|
|
Goods goods = goodsMap.get(e.getGoodsId());
|
|
@@ -506,6 +511,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender, true);
|
|
this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender, true);
|
|
List<MusicGroupPaymentCalenderCourseSettings> settingsList = musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList();
|
|
List<MusicGroupPaymentCalenderCourseSettings> settingsList = musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList();
|
|
// 学生加到班级
|
|
// 学生加到班级
|
|
|
|
+ assert calenderAddStudent != null;
|
|
classGroupService.addStudentToClassGroupAndCourseArranging(calenderAddStudent.getStudentIds(), calenderAddStudent.getClassGroupIds(),
|
|
classGroupService.addStudentToClassGroupAndCourseArranging(calenderAddStudent.getStudentIds(), calenderAddStudent.getClassGroupIds(),
|
|
batchNo, settingsList, musicGroup);
|
|
batchNo, settingsList, musicGroup);
|
|
//记录经营报表学员课程费用
|
|
//记录经营报表学员课程费用
|
|
@@ -531,7 +537,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
}
|
|
}
|
|
BigDecimal remainingAmount = totalAmount;
|
|
BigDecimal remainingAmount = totalAmount;
|
|
int lastIndex = settings.size() - 1;
|
|
int lastIndex = settings.size() - 1;
|
|
- BigDecimal totalUnitPrice = settings.stream().map(e -> e.getUnitPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ BigDecimal totalUnitPrice = settings.stream().map(MusicGroupPaymentCalenderCourseSettings::getUnitPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
// 分摊总金额
|
|
// 分摊总金额
|
|
for (int i = 0; i < lastIndex; i++) {
|
|
for (int i = 0; i < lastIndex; i++) {
|
|
@@ -568,7 +574,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryNotPaymentStudentByUserIdAndMusicGroupId(userId, musicGroup.getId());
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryNotPaymentStudentByUserIdAndMusicGroupId(userId, musicGroup.getId());
|
|
- if (musicGroupPaymentCalenderDetailList != null && musicGroupPaymentCalenderDetailList.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(musicGroupPaymentCalenderDetailList)) {
|
|
throw new BizException("创建缴费失败:已存在缴费项目");
|
|
throw new BizException("创建缴费失败:已存在缴费项目");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -576,17 +582,17 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
public Map<String, Object> getCalenderDetail(Map<String, Object> result, Long calenderId) {
|
|
public Map<String, Object> getCalenderDetail(Map<String, Object> result, Long calenderId) {
|
|
//课程
|
|
//课程
|
|
List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsService.queryCalenderCourseSettings(calenderId);
|
|
List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsService.queryCalenderCourseSettings(calenderId);
|
|
- result.put("course", courseSettingsList==null?null:courseSettingsList.size() == 0?null:courseSettingsList);
|
|
|
|
|
|
+ result.put("course", CollectionUtils.isEmpty(courseSettingsList)?null:courseSettingsList);
|
|
//乐保
|
|
//乐保
|
|
result.put("repair", musicGroupPaymentCalenderRepairService.findByCalenderId(calenderId));
|
|
result.put("repair", musicGroupPaymentCalenderRepairService.findByCalenderId(calenderId));
|
|
- MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentCalenderMemberService.findByCalenderId(calenderId);
|
|
|
|
|
|
+ List<MusicGroupPaymentCalenderMember> calenderMemberList = musicGroupPaymentCalenderMemberService.findByCalenderId(calenderId);
|
|
//会员信息
|
|
//会员信息
|
|
- result.put("member", calenderMember);
|
|
|
|
|
|
+ result.put("member", calenderMemberList);
|
|
//活动相关信息
|
|
//活动相关信息
|
|
List<MusicGroupPaymentCalenderActivity> byCalenderId = musicGroupPaymentCalenderActivityService.findByCalenderId(calenderId);
|
|
List<MusicGroupPaymentCalenderActivity> byCalenderId = musicGroupPaymentCalenderActivityService.findByCalenderId(calenderId);
|
|
- result.put("activity", byCalenderId==null?null:byCalenderId.size() == 0?null:byCalenderId);
|
|
|
|
- if (calenderMember != null) {
|
|
|
|
- result.put("memberPrivilegesItemList", memberRankPrivilegesService.queryByMemberRankId(calenderMember.getMemberRankSettingId()));
|
|
|
|
|
|
+ result.put("activity", CollectionUtils.isEmpty(byCalenderId)?null:byCalenderId);
|
|
|
|
+ if (CollectionUtils.isNotEmpty(calenderMemberList)) {
|
|
|
|
+ result.put("memberPrivilegesItemList", memberRankPrivilegesService.queryByMemberRankIds(calenderMemberList.stream().map(MusicGroupPaymentCalenderMember::getMemberRankSettingId).collect(Collectors.toList())));
|
|
}
|
|
}
|
|
//获取商品采购信息
|
|
//获取商品采购信息
|
|
result.put("goods",musicGroupPaymentCalenderGoodsService.lambdaQuery().eq(MusicGroupPaymentCalenderGoods::getCalenderId,calenderId).list());
|
|
result.put("goods",musicGroupPaymentCalenderGoodsService.lambdaQuery().eq(MusicGroupPaymentCalenderGoods::getCalenderId,calenderId).list());
|
|
@@ -616,14 +622,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
|
|
MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
|
|
//统计预计缴费人数
|
|
//统计预计缴费人数
|
|
Map<Long, Long> expectNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countExpectNum(id));
|
|
Map<Long, Long> expectNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countExpectNum(id));
|
|
- if (expectNumMap != null) {
|
|
|
|
- calender.setExpectNum(expectNumMap.get(id) == null ? 0 : expectNumMap.get(id).intValue());
|
|
|
|
- }
|
|
|
|
|
|
+ calender.setExpectNum(expectNumMap.get(id) == null ? 0 : expectNumMap.get(id).intValue());
|
|
//统计实际缴费人数
|
|
//统计实际缴费人数
|
|
Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(id));
|
|
Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(id));
|
|
- if (actualNumMap != null) {
|
|
|
|
- calender.setActualNum(actualNumMap.get(id) == null ? 0 : actualNumMap.get(id).intValue());
|
|
|
|
- }
|
|
|
|
|
|
+ calender.setActualNum(actualNumMap.get(id) == null ? 0 : actualNumMap.get(id).intValue());
|
|
//如果是学校缴费并且金额不为0,返回费用信息
|
|
//如果是学校缴费并且金额不为0,返回费用信息
|
|
if (calender.getPayUserType() == SCHOOL && calender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) > 0){
|
|
if (calender.getPayUserType() == SCHOOL && calender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) > 0){
|
|
List<MusicGroupCalenderRefundPeriod> list = musicGroupCalenderRefundPeriodService.findByCalenderId(id);
|
|
List<MusicGroupCalenderRefundPeriod> list = musicGroupCalenderRefundPeriodService.findByCalenderId(id);
|
|
@@ -633,7 +635,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
} else {
|
|
} else {
|
|
List<MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod> parseArray = JSON.parseArray(JSON.toJSONString(list), MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod.class);
|
|
List<MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod> parseArray = JSON.parseArray(JSON.toJSONString(list), MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod.class);
|
|
|
|
|
|
- List<Integer> userIds = list.stream().map(o -> o.getResponsiblePerson()).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
|
|
|
+ List<Integer> userIds = list.stream().map(MusicGroupCalenderRefundPeriod::getResponsiblePerson).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
if (CollectionUtils.isNotEmpty(userIds)) {
|
|
if (CollectionUtils.isNotEmpty(userIds)) {
|
|
Map<Long, SysUser> mapByIds = sysUserService.getMapByIds(userIds);
|
|
Map<Long, SysUser> mapByIds = sysUserService.getMapByIds(userIds);
|
|
parseArray.forEach(o -> {
|
|
parseArray.forEach(o -> {
|
|
@@ -680,7 +682,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
String batchNo = musicGroupPaymentCalenderDto.getBatchNo();
|
|
String batchNo = musicGroupPaymentCalenderDto.getBatchNo();
|
|
|
|
|
|
List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
- if (musicGroupPaymentCalenderList == null || musicGroupPaymentCalenderList.size() == 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(musicGroupPaymentCalenderList)) {
|
|
throw new BizException("[批次号]参数错误");
|
|
throw new BizException("[批次号]参数错误");
|
|
}
|
|
}
|
|
PaymentCalenderStatusEnum status = musicGroupPaymentCalenderList.get(0).getStatus();
|
|
PaymentCalenderStatusEnum status = musicGroupPaymentCalenderList.get(0).getStatus();
|
|
@@ -717,7 +719,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
List<Integer> studentIdList = JSON.parseArray(adjust.getStudentIds(), Integer.class);
|
|
List<Integer> studentIdList = JSON.parseArray(adjust.getStudentIds(), Integer.class);
|
|
//获取欠费学员列表
|
|
//获取欠费学员列表
|
|
List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(musicGroup.getId(), studentIdList,null);
|
|
List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(musicGroup.getId(), studentIdList,null);
|
|
- if (noPaymentUserIds.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(noPaymentUserIds)) {
|
|
throw new BizException("操作失败:有欠费的学员不允许创建缴费");
|
|
throw new BizException("操作失败:有欠费的学员不允许创建缴费");
|
|
}
|
|
}
|
|
//获取缴费状态在审核中或者已拒绝的缴费项目的学员
|
|
//获取缴费状态在审核中或者已拒绝的缴费项目的学员
|
|
@@ -751,8 +753,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
musicGroupPaymentCalender.setMemo(musicGroupPaymentCalenderDto.getMemo());
|
|
musicGroupPaymentCalender.setMemo(musicGroupPaymentCalenderDto.getMemo());
|
|
musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
|
|
musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
|
|
musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
|
|
musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
|
|
- musicGroupPaymentCalender.setOriginalTotalAmount(calenderStudentDetails.stream().map(e -> e.getCourseOriginalPrice()).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
- musicGroupPaymentCalender.setCurrentTotalAmount(calenderStudentDetails.stream().map(e -> e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
|
|
+ musicGroupPaymentCalender.setOriginalTotalAmount(calenderStudentDetails.stream().map(MusicGroupPaymentCalenderStudentDetail::getCourseOriginalPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
+ musicGroupPaymentCalender.setCurrentTotalAmount(calenderStudentDetails.stream().map(MusicGroupPaymentCalenderStudentDetail::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
musicGroupPaymentCalender.setPaymentType(paymentType);
|
|
musicGroupPaymentCalender.setPaymentType(paymentType);
|
|
musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
|
|
musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
|
|
musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
|
|
musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
|
|
@@ -854,15 +856,15 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
if(CollectionUtils.isNotEmpty(calenderActivities)){
|
|
if(CollectionUtils.isNotEmpty(calenderActivities)){
|
|
List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(calenderActivities.stream().
|
|
List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(calenderActivities.stream().
|
|
map(e -> e.getActivityId().toString()).distinct().collect(Collectors.joining(",")));
|
|
map(e -> e.getActivityId().toString()).distinct().collect(Collectors.joining(",")));
|
|
- collect = vipGroupActivities.stream().collect(Collectors.groupingBy(e -> e.getId(),
|
|
|
|
|
|
+ collect = vipGroupActivities.stream().collect(Collectors.groupingBy(VipGroupActivity::getId,
|
|
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
}
|
|
}
|
|
- MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentCalenderMemberService.findByCalenderId(musicGroupPaymentCalender.getId());
|
|
|
|
|
|
+ List<MusicGroupPaymentCalenderMember> calenderMemberList = musicGroupPaymentCalenderMemberService.findByCalenderId(musicGroupPaymentCalender.getId());
|
|
for (String studentId : studentIdStr.split(",")) {
|
|
for (String studentId : studentIdStr.split(",")) {
|
|
if (termCourseDetail != null) {
|
|
if (termCourseDetail != null) {
|
|
//是否已经预排部分课程
|
|
//是否已经预排部分课程
|
|
List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(musicGroup.getId());
|
|
List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(musicGroup.getId());
|
|
- if (courseSchedules.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(courseSchedules)) {
|
|
throw new BizException("操作失败:该乐团存在预排课课程,请优先完成预排课");
|
|
throw new BizException("操作失败:该乐团存在预排课课程,请优先完成预排课");
|
|
} else {
|
|
} else {
|
|
MusicGroupSchoolTermStudentCourseDetail studentCourseDetail = new MusicGroupSchoolTermStudentCourseDetail();
|
|
MusicGroupSchoolTermStudentCourseDetail studentCourseDetail = new MusicGroupSchoolTermStudentCourseDetail();
|
|
@@ -886,21 +888,23 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
//如果是0元那么更新fee表和studentRegistration表
|
|
//如果是0元那么更新fee表和studentRegistration表
|
|
if (musicGroupPaymentCalender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) == 0) {
|
|
if (musicGroupPaymentCalender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) == 0) {
|
|
// 添加会员有效时长
|
|
// 添加会员有效时长
|
|
- if (calenderMember != null) {
|
|
|
|
- CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
|
- cloudTeacherOrder.setLevel(calenderMember.getMemberRankSettingId());
|
|
|
|
- cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
|
|
- cloudTeacherOrder.setType(calenderMember.getPeriod());
|
|
|
|
- cloudTeacherOrder.setStudentId(Integer.parseInt(studentId));
|
|
|
|
- cloudTeacherOrder.setTime(calenderMember.getNum().intValue());
|
|
|
|
- cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
|
|
- cloudTeacherOrder.setStatus(1);
|
|
|
|
- cloudTeacherOrder.setRemark("进行中乐团0元加学生");
|
|
|
|
- cloudTeacherOrder.setMusicGroupId(musicGroup.getId());
|
|
|
|
- cloudTeacherOrderService.save(cloudTeacherOrder,calenderMember.getAutoActivationFlag());
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(calenderMemberList)) {
|
|
|
|
+ for (MusicGroupPaymentCalenderMember calenderMember : calenderMemberList) {
|
|
|
|
+ CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
|
+ cloudTeacherOrder.setLevel(calenderMember.getMemberRankSettingId());
|
|
|
|
+ cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
|
|
+ cloudTeacherOrder.setType(calenderMember.getPeriod());
|
|
|
|
+ cloudTeacherOrder.setStudentId(Integer.parseInt(studentId));
|
|
|
|
+ cloudTeacherOrder.setTime(calenderMember.getNum().intValue());
|
|
|
|
+ cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
|
|
+ cloudTeacherOrder.setStatus(1);
|
|
|
|
+ cloudTeacherOrder.setRemark("进行中乐团0元加学生");
|
|
|
|
+ cloudTeacherOrder.setMusicGroupId(musicGroup.getId());
|
|
|
|
+ cloudTeacherOrderService.save(cloudTeacherOrder,calenderMember.getAutoActivationFlag());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//添加小课包
|
|
//添加小课包
|
|
- if (calenderActivities != null && calenderActivities.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(calenderActivities)) {
|
|
List<ActivityUserMapper> activityUserMapperList = new ArrayList<>();
|
|
List<ActivityUserMapper> activityUserMapperList = new ArrayList<>();
|
|
for (MusicGroupPaymentCalenderActivity calenderActivity : calenderActivities) {
|
|
for (MusicGroupPaymentCalenderActivity calenderActivity : calenderActivities) {
|
|
ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
@@ -950,10 +954,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
pageInfo.setTotal(count);
|
|
pageInfo.setTotal(count);
|
|
params.put("offset", pageInfo.getOffset());
|
|
params.put("offset", pageInfo.getOffset());
|
|
dataList = musicGroupPaymentCalenderDao.queryAuditList(params);
|
|
dataList = musicGroupPaymentCalenderDao.queryAuditList(params);
|
|
- List<Integer> collect = dataList.stream().map(e -> e.getOrganId()).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Integer> collect = dataList.stream().map(MusicGroupPaymentCalenderAuditDto::getOrganId).collect(Collectors.toList());
|
|
collect.removeAll(Collections.singleton(null));
|
|
collect.removeAll(Collections.singleton(null));
|
|
Map<Integer, String> organNameMap = getMap("organization", "id_", "name_", collect, queryInfo.getTenantId(), Integer.class, String.class);
|
|
Map<Integer, String> organNameMap = getMap("organization", "id_", "name_", collect, queryInfo.getTenantId(), Integer.class, String.class);
|
|
- List<Integer> operatorIds = dataList.stream().map(e -> e.getOperator()).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Integer> operatorIds = dataList.stream().map(MusicGroupPaymentCalenderAuditDto::getOperator).collect(Collectors.toList());
|
|
operatorIds.removeAll(Collections.singleton(null));
|
|
operatorIds.removeAll(Collections.singleton(null));
|
|
Map<Integer, String> realNameMap = getMap("sys_user", "id_", "real_name_", operatorIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
Map<Integer, String> realNameMap = getMap("sys_user", "id_", "real_name_", operatorIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
dataList.forEach(e -> {
|
|
dataList.forEach(e -> {
|
|
@@ -975,7 +979,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
calenderAuditDetailDto.setAuditDto(auditDto);
|
|
calenderAuditDetailDto.setAuditDto(auditDto);
|
|
//获取缴费周期
|
|
//获取缴费周期
|
|
List<MusicGroupPaymentCalender> groupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
List<MusicGroupPaymentCalender> groupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
- if (groupPaymentCalenders == null || groupPaymentCalenders.size() == 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(groupPaymentCalenders)) {
|
|
throw new BizException("缴费项目异常,请联系管理员");
|
|
throw new BizException("缴费项目异常,请联系管理员");
|
|
}
|
|
}
|
|
calenderAuditDetailDto.setMusicGroupPaymentCalenders(groupPaymentCalenders);
|
|
calenderAuditDetailDto.setMusicGroupPaymentCalenders(groupPaymentCalenders);
|
|
@@ -1058,7 +1062,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
List<Integer> userIds = Arrays.stream(calender.getStudentIds().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
|
|
List<Integer> userIds = Arrays.stream(calender.getStudentIds().split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
|
|
//获取欠费学员列表
|
|
//获取欠费学员列表
|
|
List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(calender.getMusicGroupId(), userIds,null);
|
|
List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(calender.getMusicGroupId(), userIds,null);
|
|
- if (noPaymentUserIds.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(noPaymentUserIds)) {
|
|
throw new BizException("{} 有欠费的学员不允许创建缴费", musicGroup.getName());
|
|
throw new BizException("{} 有欠费的学员不允许创建缴费", musicGroup.getName());
|
|
}
|
|
}
|
|
//获取缴费状态在审核中或者已拒绝的缴费项目的学员
|
|
//获取缴费状态在审核中或者已拒绝的缴费项目的学员
|
|
@@ -1123,7 +1127,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
String orderNo = "Y" + idGeneratorService.generatorId("payment");
|
|
String orderNo = "Y" + idGeneratorService.generatorId("payment");
|
|
//获取账期金额
|
|
//获取账期金额
|
|
List<MusicGroupCalenderRefundPeriod> refundPeriods = musicGroupCalenderRefundPeriodService.findByCalenderId(calender.getId());
|
|
List<MusicGroupCalenderRefundPeriod> refundPeriods = musicGroupCalenderRefundPeriodService.findByCalenderId(calender.getId());
|
|
- BigDecimal totalAmount = refundPeriods.stream().map(e -> e.getRefundAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ BigDecimal totalAmount = refundPeriods.stream().map(MusicGroupCalenderRefundPeriod::getRefundAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
//管乐迷应收订单创建
|
|
//管乐迷应收订单创建
|
|
StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
|
|
StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
|
|
studentPaymentOrder.setActualAmount(totalAmount);
|
|
studentPaymentOrder.setActualAmount(totalAmount);
|
|
@@ -1161,7 +1165,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
public void saveSellOrder(List<MusicGroupPaymentCalenderGoods> goods, StudentPaymentOrder studentPaymentOrder) {
|
|
public void saveSellOrder(List<MusicGroupPaymentCalenderGoods> goods, StudentPaymentOrder studentPaymentOrder) {
|
|
List<SellOrder> sellOrderList = new ArrayList<>();
|
|
List<SellOrder> sellOrderList = new ArrayList<>();
|
|
- BigDecimal originalTotalAmount = goods.stream().map(e -> e.getTotalPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ BigDecimal originalTotalAmount = goods.stream().map(MusicGroupPaymentCalenderGoods::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
//获取优惠金额
|
|
//获取优惠金额
|
|
BigDecimal totalDiscountAmount = originalTotalAmount.subtract(studentPaymentOrder.getExpectAmount());
|
|
BigDecimal totalDiscountAmount = originalTotalAmount.subtract(studentPaymentOrder.getExpectAmount());
|
|
//待分配优惠
|
|
//待分配优惠
|
|
@@ -1187,7 +1191,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
for (Integer i = 0; i < calenderGood.getNum(); i++) {
|
|
for (Integer i = 0; i < calenderGood.getNum(); i++) {
|
|
List<ComplementGoodsDto> goodsDtoList = JSON.parseArray(calenderGood.getChildGoodsJson(), ComplementGoodsDto.class);
|
|
List<ComplementGoodsDto> goodsDtoList = JSON.parseArray(calenderGood.getChildGoodsJson(), ComplementGoodsDto.class);
|
|
//获取总成本
|
|
//获取总成本
|
|
- BigDecimal totalCostPrice = goodsDtoList.stream().map(e->e.getOrganCostPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ BigDecimal totalCostPrice = goodsDtoList.stream().map(ComplementGoodsDto::getOrganCostPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
//待分配金额
|
|
//待分配金额
|
|
BigDecimal totalAmount;
|
|
BigDecimal totalAmount;
|
|
if(i == calenderGood.getNum() - 1){
|
|
if(i == calenderGood.getNum() - 1){
|
|
@@ -1246,7 +1250,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
public void updateSellOrder(List<SellOrder> sellOrderList, StudentPaymentOrder studentPaymentOrder) {
|
|
public void updateSellOrder(List<SellOrder> sellOrderList, StudentPaymentOrder studentPaymentOrder) {
|
|
//获取总价
|
|
//获取总价
|
|
- BigDecimal totalCostPrice = sellOrderList.stream().map(e->e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ BigDecimal totalCostPrice = sellOrderList.stream().map(SellOrder::getExpectAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
//待分配金额
|
|
//待分配金额
|
|
BigDecimal waitAmount = studentPaymentOrder.getExpectAmount();
|
|
BigDecimal waitAmount = studentPaymentOrder.getExpectAmount();
|
|
for (int i = 0; i < sellOrderList.size(); i++) {
|
|
for (int i = 0; i < sellOrderList.size(); i++) {
|
|
@@ -1369,7 +1373,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
for (String batchNo : split) {
|
|
for (String batchNo : split) {
|
|
List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
- if (musicGroupPaymentCalenders == null || musicGroupPaymentCalenders.size() == 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(musicGroupPaymentCalenders)) {
|
|
throw new BizException("缴费项目不存在");
|
|
throw new BizException("缴费项目不存在");
|
|
}
|
|
}
|
|
for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
|
|
for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
|
|
@@ -1410,7 +1414,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
if (studentIds == null) {
|
|
if (studentIds == null) {
|
|
studentIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentStudentIds(calenderId);
|
|
studentIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentStudentIds(calenderId);
|
|
}
|
|
}
|
|
- if (studentIds.size() > 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(studentIds)) {
|
|
String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL_MDAYA);
|
|
String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL_MDAYA);
|
|
StringBuffer memo = new StringBuffer("4?").append(baseUrl).append("/#/musicGroupRenew?calenderId=").append(calenderId).append("&id=").append(musicGroup.getId());
|
|
StringBuffer memo = new StringBuffer("4?").append(baseUrl).append("/#/musicGroupRenew?calenderId=").append(calenderId).append("&id=").append(musicGroup.getId());
|
|
Map<Integer, String> push = new HashMap<>(studentIds.size());
|
|
Map<Integer, String> push = new HashMap<>(studentIds.size());
|
|
@@ -1421,7 +1425,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
//获取未缴费且不是0元的学员列表
|
|
//获取未缴费且不是0元的学员列表
|
|
Map<Integer, String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calenderId, studentIds));
|
|
Map<Integer, String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calenderId, studentIds));
|
|
- if (studentMaps.size() > 0) {
|
|
|
|
|
|
+ if (!studentMaps.isEmpty()) {
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_WAIT_RENEW_MESSAGE, studentMaps,
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_WAIT_RENEW_MESSAGE, studentMaps,
|
|
null, 0, memo.toString(), null, musicGroup.getName());
|
|
null, 0, memo.toString(), null, musicGroup.getName());
|
|
}
|
|
}
|
|
@@ -1432,7 +1436,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
public void revoke(String batchNo) {
|
|
public void revoke(String batchNo) {
|
|
List<MusicGroupPaymentCalender> calenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
List<MusicGroupPaymentCalender> calenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
|
|
- if (calenders.size() == 0) {
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(calenders)) {
|
|
throw new BizException("缴费批次不存在");
|
|
throw new BizException("缴费批次不存在");
|
|
}
|
|
}
|
|
SysUser sysUser = sysUserService.getUser();
|
|
SysUser sysUser = sysUserService.getUser();
|
|
@@ -1475,9 +1479,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
pageInfo.setTotal(count);
|
|
pageInfo.setTotal(count);
|
|
params.put("offset", pageInfo.getOffset());
|
|
params.put("offset", pageInfo.getOffset());
|
|
dataList = musicGroupPaymentCalenderDao.queryCalenderPage(params);
|
|
dataList = musicGroupPaymentCalenderDao.queryCalenderPage(params);
|
|
- Set<Integer> organIdList = dataList.stream().map(e -> e.getOrganId()).collect(Collectors.toSet());
|
|
|
|
|
|
+ Set<Integer> organIdList = dataList.stream().map(MusicGroupPaymentCalenderResultDto::getOrganId).collect(Collectors.toSet());
|
|
Map<Integer, String> organNameMap = getMap("organization", "id_", "name_", organIdList, queryInfo.getTenantId(), Integer.class, String.class);
|
|
Map<Integer, String> organNameMap = getMap("organization", "id_", "name_", organIdList, queryInfo.getTenantId(), Integer.class, String.class);
|
|
- List<Integer> operatorIds = dataList.stream().map(e -> e.getOperator()).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Integer> operatorIds = dataList.stream().map(MusicGroupPaymentCalender::getOperator).collect(Collectors.toList());
|
|
operatorIds.removeAll(Collections.singleton(null));
|
|
operatorIds.removeAll(Collections.singleton(null));
|
|
Map<Integer, String> realNameMap = getMap("sys_user", "id_", "real_name_", operatorIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
Map<Integer, String> realNameMap = getMap("sys_user", "id_", "real_name_", operatorIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
dataList.forEach(e -> {
|
|
dataList.forEach(e -> {
|
|
@@ -1532,13 +1536,18 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public BigDecimal getMemberAmount(Long calenderId) {
|
|
public BigDecimal getMemberAmount(Long calenderId) {
|
|
- return getActualAmount(musicGroupPaymentCalenderMemberService.findByCalenderId(calenderId));
|
|
|
|
|
|
+ List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberService.findByCalenderId(calenderId);
|
|
|
|
+ if (CollectionUtils.isEmpty(calenderMembers)) {
|
|
|
|
+ return BigDecimal.ZERO;
|
|
|
|
+ }
|
|
|
|
+ //汇总实际金额
|
|
|
|
+ return calenderMembers.stream().map(MusicGroupPaymentCalenderBase::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public BigDecimal getActivityAmount(List<Long> buyCalenderActivityIdList) {
|
|
public BigDecimal getActivityAmount(List<Long> buyCalenderActivityIdList) {
|
|
List<MusicGroupPaymentCalenderActivity> activityList = musicGroupPaymentCalenderActivityService.findByIds(buyCalenderActivityIdList);
|
|
List<MusicGroupPaymentCalenderActivity> activityList = musicGroupPaymentCalenderActivityService.findByIds(buyCalenderActivityIdList);
|
|
- return activityList.stream().map(e -> e.getActualAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
+ return activityList.stream().map(MusicGroupPaymentCalenderBase::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1573,7 +1582,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Object queryUser(MusicGroupPaymentCalenderQueryInfo queryInfo) {
|
|
|
|
|
|
+ public List<Map<String,String>> queryUser(MusicGroupPaymentCalenderQueryInfo queryInfo) {
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
MapUtil.populateMap(params, queryInfo);
|
|
MapUtil.populateMap(params, queryInfo);
|
|
if ("MUSIC".equals(queryInfo.getType())) {
|
|
if ("MUSIC".equals(queryInfo.getType())) {
|