Explorar el Código

Merge remote-tracking branch 'origin/master'

Joburgess hace 4 años
padre
commit
1c2e3f6c4a

+ 43 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1561,10 +1561,27 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
+        
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
+        	throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
+        }
+        Integer userId = sysUser.getId();
+        
+        StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+        if (studentRegistration == null) {
+            throw new BizException("用户注册信息不存在");
+        }
+        
+        MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+    	if(musicGroupQuit != null){
+    		if(musicGroupQuit.getStatus() == ApprovalStatus.PROCESSING){
+    			throw new BizException("申请失败,存在[申请中]的记录");
+    		}
+    	}
 
-        MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
+        musicGroupQuit = new MusicGroupQuit();
         musicGroupQuit.setCreateTime(new Date());
-        musicGroupQuit.setJoinDate(sysUser.getCreateTime());
+        musicGroupQuit.setJoinDate(studentRegistration.getCreateTime());
         musicGroupQuit.setMusicGroupId(musicGroupId);
         musicGroupQuit.setUserId(sysUser.getId());
         musicGroupQuit.setUserComment(reason);
@@ -1624,6 +1641,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         String musicGroupId = musicGroupQuit.getMusicGroupId();
         Integer userId = musicGroupQuit.getUserId();
+        
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        if (musicGroup == null) {
+            throw new BizException("乐团不存在");
+        }
+        
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
+        	throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
+        }
 
         musicGroupQuit.setStatus(status);
         musicGroupQuit.setReason(reason);
@@ -1766,12 +1792,26 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (sysUser == null) {
             throw new BizException("获取用户信息失败");
         }
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        if (musicGroup == null) {
+            throw new BizException("乐团不存在");
+        }
+        
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
+        	throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
+        }
 
+        // 判断乐器是否是租赁
+        StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+        if (studentRegistration == null) {
+            throw new BizException("用户注册信息不存在");
+        }
+        
         Date date = new Date();
 
         MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
         musicGroupQuit.setCreateTime(date);
-        musicGroupQuit.setJoinDate(sysUser.getCreateTime());
+        musicGroupQuit.setJoinDate(studentRegistration.getCreateTime());
         musicGroupQuit.setMusicGroupId(musicGroupId);
         musicGroupQuit.setUserId(sysUser.getId());
         musicGroupQuit.setStatus(ApprovalStatus.APPROVED);
@@ -1780,12 +1820,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         musicGroupQuitDao.insert(musicGroupQuit);
 
-        // 判断乐器是否是租赁
-        StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
-        if (studentRegistration == null) {
-            throw new BizException("用户注册信息不存在");
-        }
-
         List<Integer> classGroupIdList = classGroupStudentMapperDao.queryClassGroupIdList(musicGroupId, userId, GroupType.MUSIC);
         for (Integer classGroupId : classGroupIdList) {
             ClassGroup classGroup = classGroupService.get(classGroupId);

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -653,6 +653,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }*/
         Date date = new Date();
         String musicGroupId = studentRegistration.getMusicGroupId();
+        
+        studentRegistration.setCreateTime(date);
+        studentRegistration.setUpdateTime(date);
 
         StudentRegistration phoneAndMusicGroupId = studentRegistrationDao.getByPhoneAndMusicGroupId(musicGroupId, studentRegistration.getParentsPhone());
         if (phoneAndMusicGroupId != null && phoneAndMusicGroupId.getMusicGroupStatus() != StudentMusicGroupStatusEnum.QUIT && phoneAndMusicGroupId.getMusicGroupStatus() != StudentMusicGroupStatusEnum.APPLY) {

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -719,7 +719,7 @@
     	select sr.*,s.name_ subject_name_,mg.status_ music_group_status_,mg.name_ music_group_name_,mgq.status_ music_group_quit_status_ 
     	from student_registration sr left join subject s on s.id_ = sr.actual_subject_id_
     	left join music_group mg on sr.music_group_id_ = mg.id_
-    	left join (select * from music_group_quit where id_ in (select max(id_) from music_group_quit group by music_group_id_)) mgq  on mgq.music_group_id_ = mg.id_
+    	left join music_group_quit mgq  on mgq.music_group_id_ = mg.id_ and mgq.join_date_ = sr.create_time_
     	where sr.user_id_ = #{userId}
     	order by sr.id_ 
     </select>