Просмотр исходного кода

Merge remote-tracking branch 'origin/vip_price_827' into vip_price_827

zouxuan 4 лет назад
Родитель
Сommit
4d82c5e24c

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -144,7 +144,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param operatorId
 	 * @return
 	 */
-	boolean applyQuitMusicGroup(MusicGroupQuit reqMusicGroupQuit, Integer operatorId);
+	boolean applyQuitMusicGroup(List<Integer> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit, Integer operatorId);
 
 	/**
 	 * 取消退团

+ 88 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1902,7 +1902,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
-    public boolean applyQuitMusicGroup(MusicGroupQuit reqMusicGroupQuit, Integer operatorId) {
+    public boolean applyQuitMusicGroup(List<Integer> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit, Integer operatorId) {
     	
     	Integer userId = reqMusicGroupQuit.getUserId();
     	String musicGroupId = reqMusicGroupQuit.getMusicGroupId();
@@ -1934,38 +1934,83 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupQuit.setJoinDate(studentRegistration.getCreateTime());
         musicGroupQuit.setMusicGroupId(musicGroupId);
         musicGroupQuit.setUserId(userId);
-        musicGroupQuit.setUserComment(reason);
+        musicGroupQuit.setUserComment(reqMusicGroupQuit.getUserComment());
         musicGroupQuit.setApplyUserId(userId);
-        musicGroupQuit.setFeeJson(JsonUtil.toJSONString(reqMusicGroupQuit.getReturnFeeDto()));
+        musicGroupQuit.setReason(reason);
+        
+        MusicGroupReturnFeeDto returnFeeDto = reqMusicGroupQuit.getReturnFeeDto();
+        musicGroupQuit.setFeeJson(JsonUtil.toJSONString(returnFeeDto));
         musicGroupQuit.setIsVisit(reqMusicGroupQuit.getIsVisit());
         musicGroupQuit.setVisitTime(reqMusicGroupQuit.getVisitTime());
+        musicGroupQuit.setStatus(PROCESSING);
+        
+        if(currentOperatorRoleIds != null){
+        	if (!currentOperatorRoleIds.contains(SysUserRole.SECTION_MANAGER) && currentOperatorRoleIds.contains(SysUserRole.EDUCATIONAL_TEACHER)) {
+        		
+    			if(musicGroupQuit.getStatus() == ApprovalStatus.APPROVED){
+    				throw new BizException("只能分部经理操作退团");
+    			}else if(musicGroupQuit.getStatus() == ApprovalStatus.DENIED){
+    				musicGroupQuit.setStatus(ApprovalStatus.DENIED);
+    			}
+    		}
+        	if (currentOperatorRoleIds.contains(SysUserRole.SECTION_MANAGER) && !currentOperatorRoleIds.contains(SysUserRole.EDUCATIONAL_TEACHER)) {
+        		
+        		throw new BizException("只能乐团主管操作退团申请");
+    		}
+        	if (currentOperatorRoleIds.contains(SysUserRole.SECTION_MANAGER) && currentOperatorRoleIds.contains(SysUserRole.EDUCATIONAL_TEACHER)) {
+        		musicGroupQuit.setStatus(reqMusicGroupQuit.getStatus());
+    		}
+        	
+        	BigDecimal returnTotalFee = BigDecimal.ZERO;
+        	
+        	if(returnFeeDto.getIsReturnAccessoriesFee()){
+        		returnTotalFee = returnTotalFee.add(returnFeeDto.getAccessoriesFee());
+        	}
+        	if(returnFeeDto.getIsReturnCourseFee()){
+        		returnTotalFee = returnTotalFee.add(returnFeeDto.getCourseFee());
+        	}
+        	if(returnFeeDto.getIsReturnMaintenanceFee()){
+        		returnTotalFee = returnTotalFee.add(returnFeeDto.getMaintenanceFee());
+        	}
+        	if(returnFeeDto.getIsReturnMemberFee()){
+        		returnTotalFee = returnTotalFee.add(returnFeeDto.getMemberFee());
+        	}
+        	if(returnFeeDto.getIsReturnMusicalFee()){
+        		returnTotalFee = returnTotalFee.add(returnFeeDto.getMusicalFee());
+        	}
+        	
+        	musicGroupQuit.setReturnTotalFee(returnTotalFee);
+        }
+        
         if(operatorId == userId.intValue()){
         	musicGroupQuit.setCurrentApproveRole(SysUserRole.EDUCATIONAL_TEACHER + "");
         }else{
         	musicGroupQuit.setCurrentApproveRole(SysUserRole.SECTION_MANAGER + "");
         }
-        musicGroupQuit.setStatus(PROCESSING);
 
         musicGroupQuitDao.insert(musicGroupQuit);
-        Set<Integer> roleIds = new HashSet<>(1);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        roleIds.add(SysUserRole.SECTION_MANAGER);
-        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
-        integers.add(musicGroup.getEducationalTeacherId());
-        Map<String, Object> memo = new HashMap<>(2);
-        memo.put("Id", musicGroupQuit.getId());
-        memo.put("type", "MUSICGROUP");
         
-        SysUser sysUser = sysUserFeignService.queryUserById(userId);
-
-        sysMessageService.batchSeoMessage(integers,
-                MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo), sysUser.getUsername());
-        Map<Integer, String> receivers = new HashMap<>(integers.size());
-        for (Integer integer : integers) {
-            receivers.put(integer, integer.toString());
-        }
-        sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SYSTEM_PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY,
-                receivers, null, 0, null, "SYSTEM", musicGroup.getName(), sysUser.getUsername());
+		if (musicGroupQuit.getStatus() == PROCESSING) {
+			Set<Integer> roleIds = new HashSet<>(1);
+			roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+			roleIds.add(SysUserRole.SECTION_MANAGER);
+			Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+			integers.add(musicGroup.getEducationalTeacherId());
+			Map<String, Object> memo = new HashMap<>(2);
+			memo.put("Id", musicGroupQuit.getId());
+			memo.put("type", "MUSICGROUP");
+
+			SysUser sysUser = sysUserFeignService.queryUserById(userId);
+
+			sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo),
+					sysUser.getUsername());
+			Map<Integer, String> receivers = new HashMap<>(integers.size());
+			for (Integer integer : integers) {
+				receivers.put(integer, integer.toString());
+			}
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SYSTEM_PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY, receivers, null, 0, null,
+					"SYSTEM", musicGroup.getName(), sysUser.getUsername());
+		}
         return true;
     }
 
@@ -2073,6 +2118,26 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		} else {
 			musicGroupQuit.setIsVisit(false);
 		}
+    	
+    	BigDecimal returnTotalFee = BigDecimal.ZERO;
+    	
+    	if(returnFeeDto.getIsReturnAccessoriesFee()){
+    		returnTotalFee = returnTotalFee.add(returnFeeDto.getAccessoriesFee());
+    	}
+    	if(returnFeeDto.getIsReturnCourseFee()){
+    		returnTotalFee = returnTotalFee.add(returnFeeDto.getCourseFee());
+    	}
+    	if(returnFeeDto.getIsReturnMaintenanceFee()){
+    		returnTotalFee = returnTotalFee.add(returnFeeDto.getMaintenanceFee());
+    	}
+    	if(returnFeeDto.getIsReturnMemberFee()){
+    		returnTotalFee = returnTotalFee.add(returnFeeDto.getMemberFee());
+    	}
+    	if(returnFeeDto.getIsReturnMusicalFee()){
+    		returnTotalFee = returnTotalFee.add(returnFeeDto.getMusicalFee());
+    	}
+    	
+    	musicGroupQuit.setReturnTotalFee(returnTotalFee);
         musicGroupQuitDao.update(musicGroupQuit);
 
         courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), Arrays.asList(userId), GroupType.MUSIC);
@@ -2284,7 +2349,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
 
             //退乐保费用
-            if (returnFeeDto.getMaintenanceFee() != null) {
+            if (returnFeeDto.getIsReturnMaintenanceFee()) {
                 StudentInstrument studentMaintenance = studentInstrumentDao.getStudentMaintenance(userId, musicGroupId);
                 if (returnFeeDto.getMaintenanceFee().compareTo(BigDecimal.ZERO) > 0) {
                     if (studentMaintenance == null) {

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

@@ -423,7 +423,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 			map.put(OrderDetailTypeEnum.ACCESSORIES.getCode(), BigDecimal.ZERO);
 		}
 
-		StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(studentId, musicGroupId);
+		StudentRegistration studentRegistration = studentRegistrationDao.getStudentRegister(musicGroupId, studentId);
 		if (studentRegistration == null) {
 			throw new BizException("学生报名信息查询失败");
 		}

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

@@ -114,7 +114,7 @@
         LEFT JOIN sys_user su ON su.id_ = mgq.user_id_
         LEFT JOIN music_group mg ON mg.id_ = mgq.music_group_id_
         <include refid="queryPageSql"/>
-        ORDER BY id_
+        ORDER BY id_ desc
         <include refid="global.limit"/>
     </select>
     <sql id="queryPageSql">

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -300,7 +300,7 @@ public class MusicGroupController extends BaseController {
 		musicGroupQuit.setUserId(sysUser.getId());
 		musicGroupQuit.setMusicGroupId(musicGroupId);
 		musicGroupQuit.setReason(reason);
-        return succeed(musicGroupService.applyQuitMusicGroup(musicGroupQuit, sysUser.getId()));
+        return succeed(musicGroupService.applyQuitMusicGroup(null, musicGroupQuit, sysUser.getId()));
     }
 
     @ApiOperation(value = "取消退团申请")

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/MusicGroupController.java

@@ -41,6 +41,6 @@ public class MusicGroupController extends BaseController {
 		musicGroupQuit.setUserId(studentId);
 		musicGroupQuit.setMusicGroupId(musicGroupId);
         musicGroupQuit.setApplyUserId(sysUser.getId());
-        return succeed(musicGroupService.applyQuitMusicGroup(musicGroupQuit, sysUser.getId()));
+        return succeed(musicGroupService.applyQuitMusicGroup(null, musicGroupQuit, sysUser.getId()));
     }
 }

+ 17 - 6
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupQuitController.java

@@ -96,11 +96,13 @@ public class MusicGroupQuitController extends BaseController {
                 return failed("非法请求");
             }
         }
-        List<Integer> userRole = employeeService.queryUserRole(sysUser.getId());
-        //如果当前用户只有教务老师角色,那么只能看到他所管理的课程组的信息
-        if (userRole.contains(SysUserRole.EDUCATIONAL_TEACHER) && !userRole.contains(SysUserRole.SECTION_MANAGER)) {
-            queryInfo.setEducationUserId(sysUser.getId());
-        }
+		if (sysUser.getIsSuperAdmin() == false) {
+			List<Integer> userRole = employeeService.queryUserRole(sysUser.getId());
+			// 如果当前用户只有教务老师角色,那么只能看到他所管理的课程组的信息
+			if (userRole.contains(SysUserRole.EDUCATIONAL_TEACHER) && !userRole.contains(SysUserRole.SECTION_MANAGER)) {
+				queryInfo.setEducationUserId(sysUser.getId());
+			}
+		}
         PageInfo<MusicGroupQuit> musicGroupQuitPageInfo = musicGroupQuitService.queryPage(queryInfo);
         List<MusicGroupQuit> rows = musicGroupQuitPageInfo.getRows();
         if (rows != null && rows.size() > 0) {
@@ -214,8 +216,17 @@ public class MusicGroupQuitController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
+
+		List<Integer> roleIds = new ArrayList<Integer>();
+		
+		if(sysUser.getIsSuperAdmin() == true) {
+			roleIds.add(SysUserRole.SECTION_MANAGER);
+			roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+		} else {
+			roleIds = sysUser.getRoles();
+		}
 		
-        return succeed(musicGroupService.applyQuitMusicGroup(musicGroupQuit, sysUser.getId()));
+        return succeed(musicGroupService.applyQuitMusicGroup(roleIds, musicGroupQuit, sysUser.getId()));
     }
 
     @ApiOperation(value = "退团")