|
@@ -37,6 +37,8 @@ import java.util.*;
|
|
import java.util.Map.Entry;
|
|
import java.util.Map.Entry;
|
|
import java.util.function.Consumer;
|
|
import java.util.function.Consumer;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
|
|
+import java.util.function.Predicate;
|
|
|
|
+import java.util.function.Supplier;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL;
|
|
import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL;
|
|
@@ -512,33 +514,32 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
return batchNo;
|
|
return batchNo;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public <T> void checkObjectNull(T t, Consumer consumer){
|
|
|
|
+ if(t == null){
|
|
|
|
+ consumer.accept(null);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public String create1(MusicGroupPaymentBaseCalender musicGroupPaymentBaseCalender) {
|
|
public String create1(MusicGroupPaymentBaseCalender musicGroupPaymentBaseCalender) {
|
|
- if(musicGroupPaymentBaseCalender == null){
|
|
|
|
- throw new BizException("参数校验异常");
|
|
|
|
- }
|
|
|
|
|
|
+ checkObjectNull(musicGroupPaymentBaseCalender, o -> {throw new BizException("参数校验异常");});
|
|
|
|
+ String musicGroupId = musicGroupPaymentBaseCalender.getMusicGroupId();
|
|
|
|
+ MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
|
|
|
|
+ checkObjectNull(musicGroup, o -> {throw new BizException("乐团查询失败,请检查参数");});
|
|
|
|
+
|
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
|
+ checkObjectNull(sysUser, o -> {throw new BizException("请登录");});
|
|
|
|
+
|
|
if(musicGroupPaymentBaseCalender.getCalenderActivityList() == null
|
|
if(musicGroupPaymentBaseCalender.getCalenderActivityList() == null
|
|
&& musicGroupPaymentBaseCalender.getCalenderMember() == null
|
|
&& musicGroupPaymentBaseCalender.getCalenderMember() == null
|
|
&& musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList() == null
|
|
&& musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList() == null
|
|
&& musicGroupPaymentBaseCalender.getMusicRepair() == null){
|
|
&& musicGroupPaymentBaseCalender.getMusicRepair() == null){
|
|
throw new BizException("请选择一个缴费项目");
|
|
throw new BizException("请选择一个缴费项目");
|
|
}
|
|
}
|
|
-
|
|
|
|
- String musicGroupId = musicGroupPaymentBaseCalender.getMusicGroupId();
|
|
|
|
- MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
|
|
|
|
- if (musicGroup == null) {
|
|
|
|
- throw new BizException("乐团查询失败,请检查参数");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (musicGroup.getStatus() != MusicGroupStatusEnum.PROGRESS && musicGroup.getStatus() != MusicGroupStatusEnum.PRE_BUILD_FEE) {
|
|
if (musicGroup.getStatus() != MusicGroupStatusEnum.PROGRESS && musicGroup.getStatus() != MusicGroupStatusEnum.PRE_BUILD_FEE) {
|
|
throw new BizException("创建缴费失败:已存在缴费项目");
|
|
throw new BizException("创建缴费失败:已存在缴费项目");
|
|
}
|
|
}
|
|
-
|
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
|
- if (sysUser == null) {
|
|
|
|
- throw new BizException("请登录");
|
|
|
|
- }
|
|
|
|
// 所有缴费项目已完成排课才能创建下一个缴费项目
|
|
// 所有缴费项目已完成排课才能创建下一个缴费项目
|
|
String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,null);
|
|
String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,null);
|
|
if (StringUtils.isNoneBlank(orignBatchNo)) {
|
|
if (StringUtils.isNoneBlank(orignBatchNo)) {
|
|
@@ -678,7 +679,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Object getDetail(Long id) {
|
|
public Object getDetail(Long id) {
|
|
- Map<String, Object> result = new HashMap<>(4);
|
|
|
|
|
|
+ Map<String, Object> result = new HashMap<>(6);
|
|
//获取缴费项目详情
|
|
//获取缴费项目详情
|
|
MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
|
|
MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
|
|
//统计预计缴费人数
|
|
//统计预计缴费人数
|
|
@@ -687,22 +688,21 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(id));
|
|
Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(id));
|
|
calender.setActualNum(actualNumMap.get(id) == null ? 0 : actualNumMap.get(id).intValue());
|
|
calender.setActualNum(actualNumMap.get(id) == null ? 0 : actualNumMap.get(id).intValue());
|
|
calender.setExpectNum(expectNumMap.get(id) == null ? 0 : expectNumMap.get(id).intValue());
|
|
calender.setExpectNum(expectNumMap.get(id) == null ? 0 : expectNumMap.get(id).intValue());
|
|
|
|
+ result.put("calender", calender);
|
|
//汇总收款金额
|
|
//汇总收款金额
|
|
BigDecimal sumActualAmount = musicGroupPaymentCalenderDetailDao.sumActualAmount(id);
|
|
BigDecimal sumActualAmount = musicGroupPaymentCalenderDetailDao.sumActualAmount(id);
|
|
result.put("sumActualAmount", sumActualAmount);
|
|
result.put("sumActualAmount", sumActualAmount);
|
|
//收费标准名称
|
|
//收费标准名称
|
|
// String name = musicGroupPaymentCalenderDao.getCalenderSettingsName(id);
|
|
// String name = musicGroupPaymentCalenderDao.getCalenderSettingsName(id);
|
|
// result.put("calenderSettingsName", name);
|
|
// result.put("calenderSettingsName", name);
|
|
- //收费标准
|
|
|
|
- result.put("musicGroupPaymentCalenderCourseSettings", musicGroupPaymentCalenderCourseSettingsService.queryCalenderCourseSettings(id));
|
|
|
|
|
|
+ //课程
|
|
|
|
+ result.put("course", musicGroupPaymentCalenderCourseSettingsService.queryCalenderCourseSettings(id));
|
|
|
|
+ //乐保
|
|
|
|
+ result.put("repair",musicGroupPaymentCalenderRepairService.findByCalenderId(id));
|
|
//会员信息
|
|
//会员信息
|
|
- if(calender.getMemberRankSettingId() != null){
|
|
|
|
- MemberRankSetting memberRankSetting = memberRankSettingDao.get(calender.getMemberRankSettingId());
|
|
|
|
- calender.setMemberRankSettingName(memberRankSetting.getName());
|
|
|
|
- }
|
|
|
|
|
|
+ result.put("member",musicGroupPaymentCalenderMemberService.findByCalenderId(id));
|
|
//活动相关信息
|
|
//活动相关信息
|
|
result.put("activity",musicGroupPaymentCalenderActivityService.findByCalenderId(id));
|
|
result.put("activity",musicGroupPaymentCalenderActivityService.findByCalenderId(id));
|
|
- result.put("calender", calender);
|
|
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1619,6 +1619,35 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ public PageInfo<MusicGroupPaymentCalenderResultDto> queryCalenderPage(MusicGroupPaymentCalenderQueryInfo queryInfo) {
|
|
|
|
+ PageInfo<MusicGroupPaymentCalenderResultDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
|
+
|
|
|
|
+ List<MusicGroupPaymentCalenderResultDto> dataList = null;
|
|
|
|
+ int count = musicGroupPaymentCalenderDao.countCalender(params);
|
|
|
|
+ if (count > 0) {
|
|
|
|
+ pageInfo.setTotal(count);
|
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
|
+ dataList = musicGroupPaymentCalenderDao.queryCalenderPage(params);
|
|
|
|
+ List<Integer> organIdList = dataList.stream().map(e -> e.getOrganId()).collect(Collectors.toList());
|
|
|
|
+ Map<Integer, String> organNameMap = getMap("organization", "id_", "name_", organIdList, Integer.class, String.class);
|
|
|
|
+ List<Integer> operatorIds = dataList.stream().map(e -> e.getOperator()).collect(Collectors.toList());
|
|
|
|
+ operatorIds.removeAll(Collections.singleton(null));
|
|
|
|
+ Map<Integer, String> realNameMap = getMap("sys_user", "id_", "real_name_", operatorIds, Integer.class, String.class);
|
|
|
|
+ dataList.forEach(e->{
|
|
|
|
+ e.setOrganName(organNameMap.get(e.getOrganId()));
|
|
|
|
+ e.setOperatorName(realNameMap.get(e.getOperator()));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ if (count == 0) {
|
|
|
|
+ dataList = new ArrayList<>();
|
|
|
|
+ }
|
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
|
+ return pageInfo;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
|
|
@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
|
|
public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
|
|
public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
|
|
Date date = new Date();
|
|
Date date = new Date();
|