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

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

@@ -26,4 +26,7 @@ public interface CooperationOrganService extends BaseService<Integer, Cooperatio
     List<MusicGroupPaymentCalender> getCooperationOrganCalender4School(Integer id);
 
     void updateCooperation(CooperationOrgan cooperationOrgan);
+
+    void updateCooperationEdu();
+
 }

+ 58 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CooperationOrganServiceImpl.java

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.service.ImGroupMemberService;
@@ -32,6 +33,8 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 	private ImGroupMemberService imGroupMemberService;
 	@Autowired
 	private ImGroupService imGroupService;
+	@Autowired
+	private EmployeeDao employeeDao;
 
 	@Override
 	public BaseDAO<Integer, CooperationOrgan> getDAO() {
@@ -98,4 +101,59 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 		}
 		cooperationOrganDao.update(cooperationOrgan);
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateCooperationEdu() {
+		List<CooperationOrgan> organList = cooperationOrganDao.findAll(new HashMap<>());
+		for (CooperationOrgan cooperationOrgan : organList) {
+			if(cooperationOrgan.getEducationUserId() != null){
+				Employee employee = employeeDao.get(cooperationOrgan.getEducationUserId());
+				if(employee != null){
+					//获取进行中、暂停、筹备中的乐团列表
+					List<MusicGroup> musicGroups = musicGroupDao.findByCooperationIdAndStatus(cooperationOrgan.getId());
+					if(musicGroups.size() > 0){
+						for (MusicGroup musicGroup : musicGroups) {
+							//获取当前乐团所有班级
+							List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroup.getId());
+							if (classGroups == null || classGroups.size() == 0) {
+								continue;
+							}
+							Integer educationalTeacherId = musicGroup.getEducationalTeacherId();
+							List<Integer> quitUserIdList = new ArrayList<Integer>();
+							if(educationalTeacherId != null){
+								quitUserIdList.add(educationalTeacherId);
+							}
+							Map<Integer, String> userRoleMap = new HashMap<Integer, String>(1);
+							userRoleMap.put(cooperationOrgan.getEducationUserId(), "乐团主管");
+							classGroups.forEach(e -> {
+								if(educationalTeacherId != null){
+									imGroupMemberService.quit(e.getId().longValue(), quitUserIdList);
+								}
+								imGroupMemberService.join(e.getId().longValue(), userRoleMap);
+							});
+						}
+					}
+					//更新预报名群信息
+					List<MusicGroup> musicGroupList = musicGroupDao.findByCooperationId(cooperationOrgan.getId());
+					if(musicGroupList.size() > 0){
+						for (MusicGroup musicGroup : musicGroupList) {
+							//不是导入的乐团
+							if(musicGroup.getId().length() > 10){
+								//是否有预报名的群聊
+								ImGroup imGroup = imGroupService.get(Long.parseLong(musicGroup.getId()));
+								if(imGroup != null){
+									imGroupMemberService.quit(Long.parseLong(musicGroup.getId()),musicGroup.getEducationalTeacherId());
+									imGroupMemberService.join(Long.parseLong(musicGroup.getId()),cooperationOrgan.getEducationUserId(),"乐团主管",false);
+								}
+							}
+						}
+					}
+					//修改乐团主管
+					musicGroupDao.batchUpdateEdu(cooperationOrgan.getId(),cooperationOrgan.getEducationUserId());
+					System.out.println(cooperationOrgan.getName() + "  OK");
+				}
+			}
+		}
+	}
 }

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CooperationOrganController.java

@@ -59,6 +59,13 @@ public class CooperationOrganController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "更新合作单位乐团主管")
+    @PutMapping("/updateEdu")
+    public Object updateEdu() {
+        cooperationOrganService.updateCooperationEdu();
+        return succeed();
+    }
+
     @ApiOperation(value = "分页查询合作单位(教学点)列表")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('cooperationOrgan/queryPage')")