Prechádzať zdrojové kódy

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into saas

yonge 3 rokov pred
rodič
commit
94a822ae91

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImUserFriendDao.java

@@ -28,4 +28,13 @@ public interface ImUserFriendDao extends BaseDAO<Long, ImUserFriend> {
     void deleteByUserId(Integer teacherId);
 
 	void insertByBasicUser(@Param("basicUserDto") BasicUserDto basicUserDto, @Param("teacherId") Integer teacherId);
+
+	/**
+	* @description: 更新用户朋友昵称是空的历史数据
+	 * @param
+	* @return void
+	* @author zx
+	* @date 2022/1/20 11:56
+	*/
+	void updateNullNickName();
 }

+ 21 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java

@@ -1,6 +1,9 @@
 package com.ym.mec.biz.service.impl;
 
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
 
 import com.ym.mec.biz.dal.dao.*;
@@ -170,18 +173,24 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void refreshGroupImUserFriend(String musicGroupId,GroupType groupType) {
-		List<ClassGroup> classGroups = classGroupDao.queryClassGroups(musicGroupId, groupType.getCode());
-		List<ImUserFriend> imUserFriends = new ArrayList<>();
-		classGroups.forEach(e->{
-			//获取班级关联的老师列表
-			Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(e.getId(),null,null);
-			//获取班级关联的学员列表
-			Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(e.getId(),null,null);
-			imUserFriends.addAll(saveImUserFriends(studentIds,teacherIds,groupType,musicGroupId));
-		});
-		if(imUserFriends.size() > 0){
-			batchInsert(imUserFriends);
-		}
+		ExecutorService executor = Executors.newCachedThreadPool();
+		CompletableFuture.runAsync(()->{
+			List<ClassGroup> classGroups = classGroupDao.queryClassGroups(musicGroupId, groupType.getCode());
+			List<ImUserFriend> imUserFriends = new ArrayList<>();
+			classGroups.forEach(e->{
+				//获取班级关联的老师列表
+				Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(e.getId(),null,null);
+				//获取班级关联的学员列表
+				Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(e.getId(),null,null);
+				imUserFriends.addAll(saveImUserFriends(studentIds,teacherIds,groupType,musicGroupId));
+			});
+			if(imUserFriends.size() > 0){
+				batchInsert(imUserFriends);
+			}
+			//更新用户朋友昵称是空的历史数据(线上没有发现这种问题)
+			imUserFriendDao.updateNullNickName();
+		},executor);
+		executor.shutdown();
 	}
 
 	public List<ImUserFriend> saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){

+ 2 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2299,7 +2299,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "训练时间与陪练次数不匹配");
         }
 
-        SysUser sysUser = sysUserFeignService.queryUserById(practiceGroupBuyParams.getStudentId());
+
+        SysUser sysUser = teacherDao.getUser(practiceGroupBuyParams.getStudentId());
 
         Subject subject = subjectDao.get(practiceGroupBuyParams.getSubjectId());
         if (Objects.isNull(subject)) {
@@ -2314,15 +2315,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         SysConfig practiceCourseMinutesConfig = sysConfigDao.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
         Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
         SysConfig practiceCourseSalaryConfig = sysConfigDao.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
-        /*SysConfig practiceBuyActivityExpireDateConfig = sysConfigDao.findByParamName(SysConfigService.PRACTICE_BUY_ACTIVITY_EXPIRE_DATE);
-        Date practiceBuyActivityExpireDate = DateUtil.stringToDate(practiceBuyActivityExpireDateConfig.getParanValue(), "yyyy-MM-dd HH:mm:ss");
-        SysConfig practicePromotionActivityStartDateConfig = sysConfigDao.findByParamName(SysConfigService.PRACTICE_PROMOTION_ACTIVITY_START_DATE);
-        Date practicePromotionActivityStartDate = DateUtil.stringToDate(practicePromotionActivityStartDateConfig.getParanValue(), "yyyy-MM-dd HH:mm:ss");
-*/
         Date now = new Date();
 
-//        int studentExitChargePractices = practiceGroupDao.checkStudentExitChargePractice(practiceGroupBuyParams.getStudentId(),"2021-03-09 00:00:00");
-
         LocalDate courseStartDay = LocalDate.now();
         LocalDate tempCourseLocalDate = LocalDate.parse("2020-03-01", DateUtil.dateFormatter);
         if (courseStartDay.isBefore(tempCourseLocalDate)) {
@@ -2366,9 +2360,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         courseExpiredDate = DateUtil.addSeconds(courseExpiredDate, -1);
         practiceGroupBuyParams.setCoursesExpireDate(courseExpiredDate);
 
-//        LocalDate courseStartMonday=courseStartDay.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
         LocalDate courseExpiredSunday = currentExpiredDay.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.SUNDAY.getValue());
-//        Date courseStartMondayDate = Date.from(courseStartMonday.atStartOfDay(DateUtil.zoneId).toInstant());
         Date courseExpiredSundayDate = Date.from(courseExpiredSunday.atStartOfDay(DateUtil.zoneId).toInstant());
 
         practiceGroupBuyParams.setName(subject.getName() + "•" + sysUser.getUsername());
@@ -2587,7 +2579,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         try {
             courseScheduleService.checkNewCourseSchedules(practiceCourses, false, false);
-//            courseScheduleService.checkNewCourseSchedulesWithoutMusicGroup(practiceCourses,false);
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             String errMessage = new String();
@@ -3283,7 +3274,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 userMap.put(practiceGroup.getStudentId(), practiceGroup.getStudentId().toString());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_PUSH_PAY_PRACTICE_BUY_SUCCESS,
                         userMap, null, 0, null, "STUDENT", groupStartTime, groupEndTime, teacherName, drillTimesOnWeek, firstCourseStartTime);
-//            SysUser student = sysUserFeignService.queryUserById(practiceGroup.getStudentId());
                 SysUser student = teacherDao.getUser(practiceGroup.getStudentId());
                 Map<Integer, String> userPhoneMap = new HashMap<>();
                 userPhoneMap.put(practiceGroup.getStudentId(), student.getPhone());

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

@@ -70,7 +70,13 @@
 		update_time_ = NOW()
 		</set> WHERE id_ = #{id} and tenant_id_ = #{tenantId}
 	</update>
-	
+	<update id="updateNullNickName">
+		UPDATE im_user_friend iuf
+		LEFT JOIN sys_user su ON su.id_ = iuf.friend_id_
+		SET iuf.friend_nickname_ = CASE WHEN su.real_name_ IS NULL OR su.real_name_ = '' THEN su.username_ ELSE su.real_name_ END
+		WHERE iuf.friend_nickname_ IS NULL
+	</update>
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM im_user_friend WHERE id_ = #{id} 

+ 0 - 4
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -78,12 +78,8 @@ public class PracticeGroupController extends BaseController {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
         Map<String,Object> result=practiceGroupService.checkCanApplyFreePracticeGroup(sysUser.getId());
-//        if(ENABLE_APPLY_ORGANIDS.contains(sysUser.getOrganId())){
         Integer applyTimes = practiceGroupDao.countUserPracticeApplyRecord(sysUser.getId());
         result.put("canApply", applyTimes < 1 ? 1 : 0);
-//        }else{
-//            result.put("canApply", 0);
-//        }
         result.put("organId", sysUser.getOrganId());
         return succeed(result);
     }