yonge 4 năm trước cách đây
mục cha
commit
93522794a8

+ 16 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1945,23 +1945,20 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupQuit.setIsVisit(reqMusicGroupQuit.getIsVisit());
         musicGroupQuit.setVisitTime(reqMusicGroupQuit.getVisitTime());
         musicGroupQuit.setStatus(PROCESSING);
+    	musicGroupQuit.setCurrentApproveRole(SysUserRole.EDUCATIONAL_TEACHER + "");
         
         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);
     			}
+            	musicGroupQuit.setCurrentApproveRole(SysUserRole.SECTION_MANAGER + "");
     		}
         	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;
         	
@@ -1984,15 +1981,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         	musicGroupQuit.setReturnTotalFee(returnTotalFee);
         }
         
-        if(operatorId == userId.intValue()){
-        	musicGroupQuit.setCurrentApproveRole(SysUserRole.EDUCATIONAL_TEACHER + "");
-        }else{
-        	musicGroupQuit.setCurrentApproveRole(SysUserRole.SECTION_MANAGER + "");
-        }
-
         musicGroupQuitDao.insert(musicGroupQuit);
         
-		if (musicGroupQuit.getStatus() == PROCESSING) {
+		if (reqMusicGroupQuit.getStatus() == PROCESSING) {
 			Set<Integer> roleIds = new HashSet<>(1);
 			roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 			roleIds.add(SysUserRole.SECTION_MANAGER);
@@ -2012,6 +2003,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			}
 			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SYSTEM_PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY, receivers, null, 0, null,
 					"SYSTEM", musicGroup.getName(), sysUser.getUsername());
+		} else {
+			musicGroupQuit.setStatus(reqMusicGroupQuit.getStatus());
+			approveQuitMusicGroup(currentOperatorRoleIds, musicGroupQuit);
 		}
         return true;
     }
@@ -2120,6 +2114,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		} else {
 			musicGroupQuit.setIsVisit(false);
 		}
+		
+		if(StringUtils.isBlank(musicGroupQuit.getUserComment())){
+			musicGroupQuit.setUserComment(reqMusicGroupQuit.getUserComment());
+		}
     	
     	BigDecimal returnTotalFee = BigDecimal.ZERO;
     	
@@ -2140,9 +2138,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     	}
     	
     	musicGroupQuit.setReturnTotalFee(returnTotalFee);
-        musicGroupQuitDao.update(musicGroupQuit);
 
-        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), Arrays.asList(userId), GroupType.MUSIC);
+        if(status != ApprovalStatus.PROCESSING){
+        	courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), Arrays.asList(userId), GroupType.MUSIC);
+        }else {
+        	musicGroupQuit.setCurrentApproveRole(SysUserRole.SECTION_MANAGER + "");
+        }
+        musicGroupQuitDao.update(musicGroupQuit);
 
         if (status == ApprovalStatus.APPROVED) {
 

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

@@ -64,6 +64,7 @@ import com.ym.mec.biz.dal.dto.PageInfoReg;
 import com.ym.mec.biz.dal.dto.RegisterDto;
 import com.ym.mec.biz.dal.dto.StudentAddDto;
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
+import com.ym.mec.biz.dal.dto.StudentApplyInstrumentDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.dto.StudentMusicDetailDto;
 import com.ym.mec.biz.dal.dto.StudentMusicGroupDto;
@@ -411,6 +412,42 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 		} else {
 			map.put(OrderDetailTypeEnum.MUSICAL.getCode(), BigDecimal.ZERO);
 		}
+		
+		if (detailMap.containsKey(OrderDetailTypeEnum.MAINTENANCE)) {
+
+			BigDecimal totalAmount = BigDecimal.ZERO;
+
+			Date date = new Date();
+
+			// 查询当前乐团报名订单中购买了乐保的订单
+			List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailDao.findUserApplyOrder(studentId, musicGroupId,
+					DealStatusEnum.SUCCESS);
+
+			if (studentPaymentOrderDetailList != null && studentPaymentOrderDetailList.size() > 0) {
+				
+				Map<Long, StudentPaymentOrderDetail> maintenanceMap = studentPaymentOrderDetailList.stream()
+						.filter(t -> (t.getType() == OrderDetailTypeEnum.MAINTENANCE))
+						.collect(Collectors.toMap(t -> t.getStudentInstrumentId(), StudentPaymentOrderDetail -> StudentPaymentOrderDetail));
+				
+				List<Long> instrumentIdList = new ArrayList<Long>(maintenanceMap.keySet());
+				if (instrumentIdList != null && instrumentIdList.size() > 0) {
+					List<StudentInstrument> studentInstrumentList = studentInstrumentDao.queryById(instrumentIdList);
+
+					for (StudentInstrument si : studentInstrumentList) {
+						if (si.getDelFlag() == 1) {
+							continue;
+						}
+
+						if ((si.getStatus() == 0 && si.getStartTime() == null) || si.getEndTime().after(date)) {
+							totalAmount = totalAmount.add(maintenanceMap.get(si.getId()).getPrice());
+						}
+					}
+				}
+			}
+			map.put(OrderDetailTypeEnum.MAINTENANCE.getCode(), totalAmount);
+		} else {
+			map.put(OrderDetailTypeEnum.MAINTENANCE.getCode(), BigDecimal.ZERO);
+		}
 
 		if (detailMap.containsKey(OrderDetailTypeEnum.ACCESSORIES)) {
 			detailList = detailMap.get(OrderDetailTypeEnum.ACCESSORIES);
@@ -429,8 +466,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 		}
 		map.put(OrderDetailTypeEnum.COURSE.getCode(), studentRegistration.getSurplusCourseFee());
 
-		map.put(OrderDetailTypeEnum.MAINTENANCE.getCode(), BigDecimal.valueOf(300));
-
 		// 查询云教练订单
 		BigDecimal cloudAmount = BigDecimal.ZERO;
 		List<Integer> studentIds = new ArrayList<Integer>();

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

@@ -29,6 +29,7 @@ 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.dao.CloudTeacherOrderDao;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dao.StudentInstrumentDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.entity.ApprovalStatus;
@@ -76,6 +77,9 @@ public class MusicGroupQuitController extends BaseController {
     private CloudTeacherOrderDao cloudTeacherOrderDao;
     @Autowired
     private TeacherDao teacherDao;
+    
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "分页查询")
     @RequestMapping("/queryPage")
@@ -223,7 +227,7 @@ public class MusicGroupQuitController extends BaseController {
 			roleIds.add(SysUserRole.SECTION_MANAGER);
 			roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 		} else {
-			roleIds = sysUser.getRoles();
+			roleIds = employeeDao.queryUserRole(sysUser.getId());
 		}
 		
         return succeed(musicGroupService.applyQuitMusicGroup(roleIds, musicGroupQuit, sysUser.getId()));
@@ -245,7 +249,7 @@ public class MusicGroupQuitController extends BaseController {
 			roleIds.add(SysUserRole.SECTION_MANAGER);
 			roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 		} else {
-			roleIds = sysUser.getRoles();
+			roleIds = employeeDao.queryUserRole(sysUser.getId());
 		}