|
@@ -19,6 +19,7 @@ import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
+import com.ym.mec.biz.dal.dto.*;
|
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -32,16 +33,6 @@ import com.alibaba.fastjson.TypeReference;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.auth.api.entity.SysUserRole;
|
|
|
-import com.ym.mec.biz.dal.dto.BasicUserDto;
|
|
|
-import com.ym.mec.biz.dal.dto.CourseFormDto;
|
|
|
-import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
|
|
|
-import com.ym.mec.biz.dal.dto.HighClassGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.MusicCardDto;
|
|
|
-import com.ym.mec.biz.dal.dto.RegisterPayDto;
|
|
|
-import com.ym.mec.biz.dal.dto.SporadicPayDto;
|
|
|
-import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
|
|
|
-import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
|
|
|
-import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
|
|
|
import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.DealStatusEnum;
|
|
@@ -2634,12 +2625,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Boolean closeMusicGroup(String musicGroupId) {
|
|
|
+ public Boolean closeMusicGroup(CloseMusicGroupDto closeMusicGroupDto) {
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
if (sysUser == null) {
|
|
|
throw new BizException("用户信息获取失败");
|
|
|
}
|
|
|
- MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(closeMusicGroupDto.getMusicGroupId());
|
|
|
if (musicGroup == null) {
|
|
|
throw new BizException("乐团找不到");
|
|
|
}
|
|
@@ -2652,13 +2643,25 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
musicGroup.setUpdateTime(new Date());
|
|
|
musicGroupDao.update(musicGroup);
|
|
|
|
|
|
- musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "关闭乐团", sysUser.getId(), ""));
|
|
|
-
|
|
|
- List<StudentRegistration> musicGroupRegs = studentRegistrationDao.findMusicGroupStudent(musicGroupId, null);
|
|
|
+ musicGroupBuildLogDao.insert(new MusicGroupBuildLog(closeMusicGroupDto.getMusicGroupId(), "关闭乐团", sysUser.getId(), ""));
|
|
|
|
|
|
- //退还没上课程费用 todo
|
|
|
- if (musicGroupRegs.size() > 0) {
|
|
|
+ List<StudentRegistration> musicGroupRegs = studentRegistrationDao.findMusicGroupStudent(closeMusicGroupDto.getMusicGroupId(), null);
|
|
|
+ Map<Integer, BigDecimal> userReBackMap = closeMusicGroupDto.getUserReBack();
|
|
|
+ //退还没上课程费用
|
|
|
+ for (StudentRegistration musicGroupReg : musicGroupRegs) {
|
|
|
+ BigDecimal userReBack = userReBackMap.getOrDefault(musicGroupReg.getUserId(), BigDecimal.ZERO);
|
|
|
|
|
|
+ if (userReBack.compareTo(musicGroupReg.getSurplusCourseFee()) > 0) {
|
|
|
+ throw new BizException(musicGroupReg.getName() + "退费金额不能大于实际金额");
|
|
|
+ }
|
|
|
+ //退用户余额
|
|
|
+ if (userReBack.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ sysUserCashAccountService.updateBalance(musicGroupReg.getUserId(), userReBack, PlatformCashAccountDetailTypeEnum.REFUNDS, "关闭乐团");
|
|
|
+ }
|
|
|
+ //清除剩余课程费用
|
|
|
+ if (musicGroupReg.getSurplusCourseFee().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ studentRegistrationService.updateUserSurplusCourseFee(musicGroupReg.getUserId(), musicGroupReg.getMusicGroupId(), musicGroupReg.getSurplusCourseFee().negate(), "关闭乐团", sysUser.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//删除未上课表
|