瀏覽代碼

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

zouxuan 3 年之前
父節點
當前提交
a086ea7bb5

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/IndexBaseMonthData.java

@@ -63,9 +63,10 @@ public class IndexBaseMonthData extends BaseEntity {
 	public IndexBaseMonthData() {
 	}
 
-	public IndexBaseMonthData(Date month, Integer organId) {
+	public IndexBaseMonthData(Date month, Integer organId, Integer tenantId) {
 		this.month = month;
 		this.organId = organId;
+		setTenantId(tenantId);
 		this.totalNum = BigDecimal.ZERO;
 		this.activateNum = BigDecimal.ZERO;
 		this.percent = BigDecimal.ZERO;

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

@@ -21,7 +21,7 @@ public interface IndexBaseMonthDataService extends BaseService<Long, IndexBaseMo
 
     List<IndexBaseDto> getIndexBaseData(IndexDataQueryInfo indexDataQueryInfo);
 
-    void indexBaseDataTask(String month, Set<IndexDataType> dataTypes);
+    void indexBaseDataTask(Integer tenantId, String month, Set<IndexDataType> dataTypes);
 
     Map<String, Object> getIndexErrData(String organIds, IndexErrorType errorType);
 

+ 43 - 44
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -21,6 +21,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -325,11 +326,9 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void indexBaseDataTask(String dayStr, Set<IndexDataType> dataTypes) {
+	public void indexBaseDataTask(Integer tenantId, String dayStr, Set<IndexDataType> dataTypes) {
 		LocalDate nowDate = LocalDate.now();
 		
-		Integer tenantId = TenantContextHolder.getTenantId();
-
 		List<Organization> allOrgans = organizationDao.findAllOrgans(tenantId);
 		if(CollectionUtils.isEmpty(this.organIds.get())){
 			this.organIds.get().clear();
@@ -345,21 +344,21 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 		//学员数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.STUDENT_REGISTRATION_NUM)){
-			saveData(indexBaseMonthDataDao.getStudentRegistrationData(dayStr,tenantId), dayStr, IndexDataType.STUDENT_REGISTRATION_NUM);
+			saveData(indexBaseMonthDataDao.getStudentRegistrationData(dayStr,tenantId), dayStr, IndexDataType.STUDENT_REGISTRATION_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CHARGE_STUDENT_CHANGE_RATE)) {
-			saveData(indexBaseMonthDataDao.getChargeStudentChangeData(dayStr,tenantId), dayStr, IndexDataType.CHARGE_STUDENT_CHANGE_RATE);
+			saveData(indexBaseMonthDataDao.getChargeStudentChangeData(dayStr,tenantId), dayStr, IndexDataType.CHARGE_STUDENT_CHANGE_RATE, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.ACTIVATION_RATE)) {
-			saveData(indexBaseMonthDataDao.getStudentSignUpData(dayStr, nowDate.plusMonths(-6).toString(),tenantId), dayStr, IndexDataType.ACTIVATION_RATE);
+			saveData(indexBaseMonthDataDao.getStudentSignUpData(dayStr, nowDate.plusMonths(-6).toString(),tenantId), dayStr, IndexDataType.ACTIVATION_RATE, tenantId);
 		}
 
 		//运营数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SCHOOL)) {
-			saveData(indexBaseMonthDataDao.getSchoolData(dayStr,tenantId), dayStr, IndexDataType.SCHOOL);
+			saveData(indexBaseMonthDataDao.getSchoolData(dayStr,tenantId), dayStr, IndexDataType.SCHOOL, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PROGRESS_MUSIC_GROUP_NUM)) {
-			saveData(indexBaseMonthDataDao.getMusicData(dayStr,tenantId), dayStr, IndexDataType.PROGRESS_MUSIC_GROUP_NUM);
+			saveData(indexBaseMonthDataDao.getMusicData(dayStr,tenantId), dayStr, IndexDataType.PROGRESS_MUSIC_GROUP_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(TRANSACTION_TEACHER_NUM)) {
 			List<SimpleUserDto> transactionTeachers = employeeService.findByRole("58", null);
@@ -386,47 +385,47 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 				data.setPercent(num);
 				datas.add(data);
 			}
-			saveData(datas, dayStr, IndexDataType.TRANSACTION_TEACHER_NUM);
+			saveData(datas, dayStr, IndexDataType.TRANSACTION_TEACHER_NUM, tenantId);
 		}
 
 		//人事数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.TEACHER_NUM)) {
-			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, null,tenantId), dayStr, IndexDataType.TEACHER_NUM);
+			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, null,tenantId), dayStr, IndexDataType.TEACHER_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.FULL_TIME_NUM)) {
-			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.FULL_TIME, null,tenantId), dayStr, IndexDataType.FULL_TIME_NUM);
+			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.FULL_TIME, null,tenantId), dayStr, IndexDataType.FULL_TIME_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PART_TIME_NUM)) {
-			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.PART_TIME, null,tenantId), dayStr, IndexDataType.PART_TIME_NUM);
+			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.PART_TIME, null,tenantId), dayStr, IndexDataType.PART_TIME_NUM, tenantId);
 		}
 //		saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, true), dayStr, IndexDataType.DIMISSION_NUM);
 
 		//剩余课时
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, null, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, null, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_COURSE_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_MUSIC_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_MUSIC_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_MUSIC_COURSE_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_VIP_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.VIP, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_VIP_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.VIP, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_VIP_COURSE_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_PRACTICE_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_PRACTICE_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_PRACTICE_COURSE_NUM, tenantId);
 		}
 
 		//已消耗课时
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, null, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, null, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_COURSE_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_MUSIC_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_MUSIC_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_MUSIC_COURSE_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_VIP_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.VIP, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_VIP_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.VIP, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_VIP_COURSE_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_PRACTICE_COURSE_NUM)) {
-			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_PRACTICE_COURSE_NUM);
+			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_PRACTICE_COURSE_NUM, tenantId);
 		}
 
 		//经营数据
@@ -442,18 +441,18 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 		//业务数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.HOMEWORK_CREATE_RATE)) {
-			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, null,tenantId), monday.toString(), IndexDataType.HOMEWORK_CREATE_RATE);
+			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, null,tenantId), monday.toString(), IndexDataType.HOMEWORK_CREATE_RATE, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.HOMEWORK_SUBMIT_RATE)) {
-			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "submit",tenantId), monday.toString(), IndexDataType.HOMEWORK_SUBMIT_RATE);
+			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "submit",tenantId), monday.toString(), IndexDataType.HOMEWORK_SUBMIT_RATE, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.HOMEWORK_COMMENT_RATE)) {
-			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "comment",tenantId), monday.toString(), IndexDataType.HOMEWORK_COMMENT_RATE);
+			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "comment",tenantId), monday.toString(), IndexDataType.HOMEWORK_COMMENT_RATE, tenantId);
 		}
 
 		//课程数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.MUSIC, null, null, null,tenantId), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
+			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.MUSIC, null, null, null,tenantId), dayStr, IndexDataType.MUSIC_GROUP_COURSE, tenantId);
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE)) {
@@ -468,7 +467,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					vipCourseDatum.setExtendInfo(JSON.toJSONString(organCategoryCourseMap.get(vipCourseDatum.getOrganId())));
 				}
 			}
-			saveData(vipCourseData, dayStr, IndexDataType.VIP_GROUP_COURSE);
+			saveData(vipCourseData, dayStr, IndexDataType.VIP_GROUP_COURSE, tenantId);
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE)) {
@@ -483,7 +482,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					vipCourseDatum.setExtendInfo(JSON.toJSONString(organOnlineCategoryCourseMap.get(vipCourseDatum.getOrganId())));
 				}
 			}
-			saveData(vipOnlineCourseData, dayStr, IndexDataType.VIP_GROUP_ONLINE_COURSE);
+			saveData(vipOnlineCourseData, dayStr, IndexDataType.VIP_GROUP_ONLINE_COURSE, tenantId);
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE)) {
@@ -498,73 +497,73 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					vipCourseDatum.setExtendInfo(JSON.toJSONString(organOfflineCategoryCourseMap.get(vipCourseDatum.getOrganId())));
 				}
 			}
-			saveData(vipOfflineCourseData, dayStr, IndexDataType.VIP_GROUP_OFFLINE_COURSE);
+			saveData(vipOfflineCourseData, dayStr, IndexDataType.VIP_GROUP_OFFLINE_COURSE, tenantId);
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.PRACTICE, null, null, null,tenantId), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
+			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.PRACTICE, null, null, null,tenantId), dayStr, IndexDataType.PRACTICE_GROUP_COURSE, tenantId);
 		}
 
 		//学员变动
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.ADD_STUDENT_REGISTRATION_NUM)) {
-			saveData(indexBaseMonthDataDao.getAddStudentRegistrationData(dayStr,tenantId), dayStr, IndexDataType.ADD_STUDENT_REGISTRATION_NUM);
+			saveData(indexBaseMonthDataDao.getAddStudentRegistrationData(dayStr,tenantId), dayStr, IndexDataType.ADD_STUDENT_REGISTRATION_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_STUDENT)) {
-			saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, null,tenantId), dayStr, IndexDataType.MUSIC_GROUP_STUDENT);
+			saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, null,tenantId), dayStr, IndexDataType.MUSIC_GROUP_STUDENT, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.NEWLY_STUDENT_NUM)) {
-			saveData(null, nowDate.toString(), IndexDataType.NEWLY_STUDENT_NUM);
+			saveData(null, nowDate.toString(), IndexDataType.NEWLY_STUDENT_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM)) {
-			saveData(null, nowDate.toString(), IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM);
+			saveData(null, nowDate.toString(), IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_PRACTICE_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getOtherStudentData(dayStr,tenantId), dayStr, IndexDataType.VIP_PRACTICE_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getOtherStudentData(dayStr,tenantId), dayStr, IndexDataType.VIP_PRACTICE_STUDENT_NUM, tenantId);
 		}
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getVipPracticeAddStudentData(dayStr,tenantId), dayStr, IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getVipPracticeAddStudentData(dayStr,tenantId), dayStr, IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM, tenantId);
 		}
 
 		//云教练相关
 		//分部学员数量
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.ORGAN_TOTAL_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getOrgansStudentNumData(dayStr,tenantId), dayStr, IndexDataType.ORGAN_TOTAL_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getOrgansStudentNumData(dayStr,tenantId), dayStr, IndexDataType.ORGAN_TOTAL_STUDENT_NUM, tenantId);
 		}
 
 		//会员数量
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MEMBER_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.MEMBER_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.MEMBER_STUDENT_NUM, tenantId);
 		}
 
 		//新增会员数量
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.NEW_MEMBER_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getNewMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.NEW_MEMBER_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getNewMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.NEW_MEMBER_STUDENT_NUM, tenantId);
 		}
 
 		//试用会员数量
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.EXPERIENCE_MEMBER_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getExperienceMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.EXPERIENCE_MEMBER_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getExperienceMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.EXPERIENCE_MEMBER_STUDENT_NUM, tenantId);
 		}
 
 		//云教练使用用户
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_STUDY_DAY_USE_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getCloudStudyDayUseStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_DAY_USE_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getCloudStudyDayUseStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_DAY_USE_STUDENT_NUM, tenantId);
 		}
 
 		//活跃用户
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_STUDY_LIVELY_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getCloudStudyLivelyStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_LIVELY_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getCloudStudyLivelyStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_LIVELY_STUDENT_NUM, tenantId);
 		}
 
 		//云教练新增人数
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_STUDY_NEW_STUDENT_NUM)) {
-			saveData(indexBaseMonthDataDao.getCloudStudyNewStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_NEW_STUDENT_NUM);
+			saveData(indexBaseMonthDataDao.getCloudStudyNewStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_NEW_STUDENT_NUM, tenantId);
 		}
 
 		//云教练新用户人数
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_NEW_STUDENT_NUM)) {
 			List<Integer> studentIdList = studentRegistrationDao.findStudentIds(tenantId);
-			saveData(studentDao.groupOrganId(null,studentIdList),LocalDate.now().toString(),IndexDataType.CLOUD_NEW_STUDENT_NUM);
+			saveData(studentDao.groupOrganId(null,studentIdList),LocalDate.now().toString(),IndexDataType.CLOUD_NEW_STUDENT_NUM, tenantId);
 		}
 
 	}
@@ -575,7 +574,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	 * @date 2021/1/11 0011
 	 * @return void
 	 */
-	private void saveData(List<IndexBaseMonthData> dataList, String dayStr, IndexDataType indexDataType){
+	private void saveData(List<IndexBaseMonthData> dataList, String dayStr, IndexDataType indexDataType, Integer tenantId){
 		Date date = DateUtil.stringToDate(dayStr, "yyyy-MM-dd");
 		if(Objects.isNull(dataList)){
 			dataList = new ArrayList<>();
@@ -598,7 +597,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			if(specialType&&ignoreOrganIds.contains(organId)){
 				continue;
 			}
-			dataList.add(new IndexBaseMonthData(date, organId));
+			dataList.add(new IndexBaseMonthData(date, organId, tenantId));
 		}
 		if(!IndexDataType.NEWLY_STUDENT_NUM.equals(indexDataType)&&!IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM.equals(indexDataType)){
 			indexBaseMonthDataDao.deleteWithMonthAndType(Arrays.asList(dayStr), indexDataType);

+ 33 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -1053,6 +1053,18 @@ public class StudentServeServiceImpl implements StudentServeService {
 
     @Override
     public List<IndexBaseDto> musicGroupHomeworkStat(String musicGroupId, Integer studentId, String startDayStr, String endDayStr) {
+    	if(StringUtils.isBlank(musicGroupId)){
+    		throw new BizException("参数[乐团编号]错误");
+    	}
+    	
+    	MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+    	
+    	if(musicGroup == null){
+    		throw new BizException("乐团[{}]信息不存在", musicGroupId);
+    	}
+    	
+    	Integer tenantId = musicGroup.getTenantId();
+    	
         List<IndexBaseDto> result = new ArrayList<>();
         List<StudentRegistration> musicGroupStu = studentRegistrationDao.getMusicGroupStu(musicGroupId);
         List<Integer> studentIds = new ArrayList<>();
@@ -1081,13 +1093,13 @@ public class StudentServeServiceImpl implements StudentServeService {
             d2 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId, "submit", studentIds);
             d3 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId, "comment", studentIds);
         }
-        musicGroupHomeworkDataDeal(d1, mondayDateStrs, IndexDataType.HOMEWORK_CREATE_RATE);
+        musicGroupHomeworkDataDeal(d1, mondayDateStrs, IndexDataType.HOMEWORK_CREATE_RATE, tenantId);
         typeDateMap.put(IndexDataType.HOMEWORK_CREATE_RATE, d1);
 
-        musicGroupHomeworkDataDeal(d2, mondayDateStrs, IndexDataType.HOMEWORK_SUBMIT_RATE);
+        musicGroupHomeworkDataDeal(d2, mondayDateStrs, IndexDataType.HOMEWORK_SUBMIT_RATE, tenantId);
         typeDateMap.put(IndexDataType.HOMEWORK_SUBMIT_RATE, d2);
 
-        musicGroupHomeworkDataDeal(d3, mondayDateStrs, IndexDataType.HOMEWORK_COMMENT_RATE);
+        musicGroupHomeworkDataDeal(d3, mondayDateStrs, IndexDataType.HOMEWORK_COMMENT_RATE, tenantId);
         typeDateMap.put(IndexDataType.HOMEWORK_COMMENT_RATE, d3);
 
         for (Map.Entry<IndexDataType, List<IndexBaseMonthData>> typeDateMapEntry : typeDateMap.entrySet()) {
@@ -1099,7 +1111,7 @@ public class StudentServeServiceImpl implements StudentServeService {
         return result;
     }
 
-    private List<IndexBaseMonthData> musicGroupHomeworkDataDeal(List<IndexBaseMonthData> dataList, List<String> mondayDateStrs, IndexDataType dataType){
+    private List<IndexBaseMonthData> musicGroupHomeworkDataDeal(List<IndexBaseMonthData> dataList, List<String> mondayDateStrs, IndexDataType dataType, Integer tenantId){
         if(Objects.isNull(dataList)){
             dataList = new ArrayList<>();
         }
@@ -1109,7 +1121,7 @@ public class StudentServeServiceImpl implements StudentServeService {
             if(hasMondayDates.contains(mondayDate)){
                 continue;
             }
-            IndexBaseMonthData indexBaseMonthData = new IndexBaseMonthData(DateUtil.stringToDate(mondayDate, "yyyy-MM-dd"), null);
+            IndexBaseMonthData indexBaseMonthData = new IndexBaseMonthData(DateUtil.stringToDate(mondayDate, "yyyy-MM-dd"), null, tenantId);
             indexBaseMonthData.setDataType(dataType);
             indexBaseMonthData.setTotalNum(BigDecimal.ZERO);
             indexBaseMonthData.setActivateNum(BigDecimal.ZERO);
@@ -1122,6 +1134,19 @@ public class StudentServeServiceImpl implements StudentServeService {
 
     @Override
     public List<IndexBaseDto> musicGroupHomeworkStatWithStu(String musicGroupId, Integer studentId, String startDayStr, String endDayStr) {
+    	
+    	if(StringUtils.isBlank(musicGroupId)){
+    		throw new BizException("参数[乐团编号]错误");
+    	}
+    	
+    	MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+    	
+    	if(musicGroup == null){
+    		throw new BizException("乐团[{}]信息不存在", musicGroupId);
+    	}
+    	
+    	Integer tenantId = musicGroup.getTenantId();
+    	
         List<IndexBaseDto> result = new ArrayList<>();
         List<StudentRegistration> musicGroupStu = studentRegistrationDao.getMusicGroupStu(musicGroupId);
         List<Integer> studentIds = new ArrayList<>();
@@ -1150,13 +1175,13 @@ public class StudentServeServiceImpl implements StudentServeService {
             d2 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId, "submit", studentIds);
             d3 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId, "comment", studentIds);
         }
-        musicGroupHomeworkDataDeal(d1, mondayDateStrs, IndexDataType.HOMEWORK_CREATE_RATE);
+        musicGroupHomeworkDataDeal(d1, mondayDateStrs, IndexDataType.HOMEWORK_CREATE_RATE, tenantId);
         typeDateMap.put(IndexDataType.HOMEWORK_CREATE_RATE, d1);
 
-        musicGroupHomeworkDataDeal(d2, mondayDateStrs, IndexDataType.HOMEWORK_SUBMIT_RATE);
+        musicGroupHomeworkDataDeal(d2, mondayDateStrs, IndexDataType.HOMEWORK_SUBMIT_RATE, tenantId);
         typeDateMap.put(IndexDataType.HOMEWORK_SUBMIT_RATE, d2);
 
-        musicGroupHomeworkDataDeal(d3, mondayDateStrs, IndexDataType.HOMEWORK_COMMENT_RATE);
+        musicGroupHomeworkDataDeal(d3, mondayDateStrs, IndexDataType.HOMEWORK_COMMENT_RATE, tenantId);
         typeDateMap.put(IndexDataType.HOMEWORK_COMMENT_RATE, d3);
 
         for (Map.Entry<IndexDataType, List<IndexBaseMonthData>> typeDateMapEntry : typeDateMap.entrySet()) {

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

@@ -112,7 +112,7 @@
                     update_time_ = NOW(),
                 </if>
             </set>
-            WHERE id_ = #{item.id} tenant_id_ = #{item.tenantId}
+            WHERE id_ = #{item.id} and tenant_id_ = #{item.tenantId}
         </foreach>
     </update>
 

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

@@ -26,7 +26,7 @@
 
 	<sql id="queryPageCondition">
 		<where>
-			tenant_id_ = #{tenantId}
+			ee.tenant_id_ = #{tenantId}
 			<if test="teacherId != null">
 				and teacher_id_ = #{teacherId}
 			</if>

+ 25 - 25
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -222,7 +222,7 @@
 
 	<select id="getStudentSignUpData" resultMap="IndexBaseMonthData">
 		SELECT
-			organ_id_,
+			organ_id_,su.tenant_id_,
 			#{dayStr} month_,
 			COUNT( id_ ) total_num_,
 			COUNT(CASE WHEN password_ IS NOT NULL THEN id_ ELSE NULL END) activate_num_,
@@ -265,7 +265,7 @@
 
 	<select id="getStudentRegistrationData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,su.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT stu.user_id_ ) total_num_,
 			COUNT( DISTINCT stu.user_id_ ) activate_num_,
@@ -284,7 +284,7 @@
 
 	<select id="getAddStudentRegistrationData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,stu.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT stu.user_id_ ) total_num_,
 			COUNT( DISTINCT stu.user_id_ ) activate_num_,
@@ -303,7 +303,7 @@
 
 	<select id="getChargeStudentChangeData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,su.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT stu.user_id_ ) total_num_,
 			COUNT( DISTINCT (CASE WHEN DATE_FORMAT( spo.create_time_, '%Y-%m-%d' ) &lt;= #{dayStr} THEN spo.user_id_ ELSE NULL END) ) activate_num_,
@@ -323,7 +323,7 @@
 
 	<select id="getHomeworkData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,su.tenant_id_,
 			sees.monday_ month_,
 			<choose>
 				<when test="type == 'submit'">
@@ -356,7 +356,7 @@
 
 	<select id="getSchoolData" resultMap="IndexBaseMonthData">
 		SELECT
-			mg.organ_id_,
+			mg.organ_id_,mg.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT mg.cooperation_organ_id_ ) total_num_,
 			COUNT( DISTINCT mg.cooperation_organ_id_ ) activate_num_,
@@ -375,7 +375,7 @@
 	</select>
 	<select id="getMusicData" resultMap="IndexBaseMonthData">
 		SELECT
-			organ_id_,
+			organ_id_,tenant_id_,
 			#{dayStr} month_,
 			COUNT( id_ ) total_num_,
 			COUNT( id_ ) activate_num_,
@@ -396,7 +396,7 @@
 	</select>
 	<select id="getMusicStudentData" resultMap="IndexBaseMonthData">
 		SELECT
-			mg.organ_id_,
+			mg.organ_id_,sr.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT sr.user_id_ ) total_num_,
 			COUNT( DISTINCT sr.user_id_ ) activate_num_,
@@ -429,7 +429,7 @@
 
 	<select id="getTeacherData" resultMap="IndexBaseMonthData">
 		SELECT
-			t.organ_id_,
+			t.organ_id_,t.tenant_id_,
 			#{dayStr} month_,
 			COUNT( t.id_ ) total_num_,
 			COUNT( t.id_ ) activate_num_,
@@ -461,7 +461,7 @@
 
 	<select id="getGroupCourseData" resultMap="IndexBaseMonthData">
 		SELECT
-			m.organ_id_,
+			m.organ_id_,m.tenant_id_,
 			#{dayStr} month_,
 			COUNT( m.id_ ) total_num_,
 			COUNT( m.id_ ) activate_num_,
@@ -489,7 +489,7 @@
 
 	<select id="getGroupSurplusCourseData" resultMap="IndexBaseMonthData">
 		SELECT
-			m.organ_id_,
+			m.organ_id_,m.tenant_id_,
 			#{dayStr} month_,
 			COUNT( m.id_ ) total_num_,
 			COUNT( m.id_ ) activate_num_,
@@ -515,7 +515,7 @@
 
 	<select id="getGroupCourseDataWithGroup" resultMap="IndexBaseMonthData">
 		SELECT
-		m.organ_id_,
+		m.organ_id_,m.tenant_id_,
 		m.class_date_ month_,
 		COUNT( m.id_ ) total_num_,
 		COUNT( m.id_ ) activate_num_,
@@ -596,7 +596,7 @@
 
 	<select id="getOtherStudentData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,su.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT s.user_id_ ) total_num_,
 			COUNT( DISTINCT s.user_id_ ) activate_num_,
@@ -622,7 +622,7 @@
 
 	<select id="getVipPracticeAddStudentData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,su.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT s.user_id_ ) total_num_,
 			COUNT( DISTINCT s.user_id_ ) activate_num_,
@@ -1699,14 +1699,14 @@
 
 	<select id="getOrgansStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-			t.organ_id_,
+			t.organ_id_,t.tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT t.user_id_ ) total_num_,
 			COUNT( DISTINCT t.user_id_ ) activate_num_,
 			COUNT( DISTINCT t.user_id_ ) percent_
 		FROM((
 			SELECT
-				su.organ_id_,
+				su.organ_id_,sr.tenant_id_,
 				sr.user_id_
 			FROM
 				student_registration sr
@@ -1722,7 +1722,7 @@
 		UNION ALL
 		(
 			SELECT
-				su.organ_id_,
+				su.organ_id_,sr.tenant_id_,
 				cssp.user_id_
 			FROM
 				course_schedule_student_payment cssp
@@ -1741,7 +1741,7 @@
 
 	<select id="getMemberStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,cto.tenant_id_,
 			#{dayStr} month_,
 			COUNT(DISTINCT cto.student_id_) total_num_,
 			COUNT(DISTINCT cto.student_id_) activate_num_,
@@ -1757,7 +1757,7 @@
 
 	<select id="getNewMemberStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-		su.organ_id_,
+		su.organ_id_,cto.tenant_id_,
 		#{dayStr} month_,
 		COUNT(DISTINCT cto.student_id_) total_num_,
 		COUNT(DISTINCT cto.student_id_) activate_num_,
@@ -1773,7 +1773,7 @@
 
 	<select id="getExperienceMemberStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-		su.organ_id_,
+		su.organ_id_,stu.tenant_id_,
 		#{dayStr} month_,
 		COUNT(DISTINCT stu.user_id_) total_num_,
 		COUNT(DISTINCT stu.user_id_) activate_num_,
@@ -1790,7 +1790,7 @@
 
 	<select id="getCloudStudyDayUseStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-			su.organ_id_,
+			su.organ_id_,smcr.tenant_id_,
 			#{dayStr} month_,
 			COUNT(DISTINCT smcr.user_id_) total_num_,
 			COUNT(DISTINCT smcr.user_id_) activate_num_,
@@ -1807,13 +1807,13 @@
 
 	<select id="getCloudStudyLivelyStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-			t.organ_id_,
+			t.organ_id_,t.tenant_id_,
 			#{dayStr} month_,
 			COUNT(user_id_) total_num_,
 			COUNT(user_id_) activate_num_,
 			COUNT(user_id_) percent_
 		FROM (SELECT
-			su.organ_id_,
+			su.organ_id_,su.tenant_id_,
 			smcr.user_id_,
 			COUNT(DISTINCT(CASE WHEN DATEDIFF(NOW(), smcr.create_time_)&lt;=15 THEN DATE_FORMAT(smcr.create_time_, '%Y-%m-%d') ELSE NULL END)) days
 			FROM sys_music_compare_record smcr
@@ -1829,7 +1829,7 @@
 
 	<select id="getCloudStudyNewStudentNumData" resultMap="IndexBaseMonthData">
 		SELECT
-			organ_id_,
+			organ_id_,tenant_id_,
 			#{dayStr} month_,
 			COUNT( DISTINCT user_id_ ) total_num_,
 			COUNT( DISTINCT user_id_ ) activate_num_,
@@ -1837,7 +1837,7 @@
 		FROM
 		(
 		SELECT
-			su.organ_id_,
+			su.organ_id_,smcr.tenant_id_,
 			smcr.user_id_
 		FROM
 			sys_music_compare_record smcr

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

@@ -1152,7 +1152,7 @@
         </foreach>
     </select>
     <select id="groupOrganId" resultMap="com.ym.mec.biz.dal.dao.IndexBaseMonthDataDao.IndexBaseMonthData">
-        SELECT su.organ_id_,CURDATE() month_,
+        SELECT su.organ_id_,CURDATE() month_,su.tenant_id_,
                COUNT(DISTINCT su.id_) total_num_ ,
                COUNT(DISTINCT su.id_) activate_num_ ,
                COUNT(DISTINCT su.id_) percent_

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/WebApplication.java

@@ -25,7 +25,7 @@ import com.ym.mec.common.filters.EmojiEncodingFilter;
 @EnableDiscoveryClient
 @EnableFeignClients("com.ym.mec")
 @MapperScan(basePackages = {"com.ym.mec.biz.**.dao", "com.yonge.datasource.dao"})
-@ComponentScan(basePackages = {"com.ym.mec", "com.yonge.log", "com.yonge.datasource"})
+@ComponentScan(basePackages = {"com.ym.mec", "com.yonge.log"})
 @Configuration
 @EnableSwagger2Doc
 @EnableAsync

+ 7 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -404,7 +404,13 @@ public class TaskController extends BaseController {
 		if(StringUtils.isNotBlank(dataTypes)){
 			dataTypeSet = Arrays.stream(dataTypes.split(",")).map(s->IndexDataType.valueOf(s)).collect(Collectors.toSet());
 		}
-		indexBaseMonthDataService.indexBaseDataTask(month, dataTypeSet);
+
+		List<TenantInfo> tenantInfos = tenantInfoService.list(new QueryWrapper<TenantInfo>().eq("state_",1));
+		if(tenantInfos != null && tenantInfos.size() > 0){
+			for (TenantInfo tenantInfo : tenantInfos) {
+				indexBaseMonthDataService.indexBaseDataTask(tenantInfo.getId(), month, dataTypeSet);
+			}
+		}
 	}
 
 	//乐团巡查计划当日9:00