浏览代码

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

zouxuan 4 年之前
父节点
当前提交
7332925b8a

+ 3 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.auth.web.controller;
 
+import com.ym.mec.im.WebFeignService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -56,7 +57,7 @@ public class UserController extends BaseController {
 	@Autowired
 	private IdGeneratorService smsCodeService;
 	@Autowired
-	private ESealPlugin eSealPlugin;
+	private WebFeignService webFeignService;
 	@Value("${message.debugMode}")
 	private boolean debugMode;
 	@Autowired
@@ -154,6 +155,7 @@ public class UserController extends BaseController {
 			ImResult register = imFeignService.register(new ImUserModel(sysUser.getId().toString(), username, sysUser.getAvatar()));
 			sysUser.setImToken(register.getToken());
 		}
+		webFeignService.updateNickName(sysUser.getId(),username,null);
 		password = new BCryptPasswordEncoder().encode(password);
 		sysUser.setPassword(password);
 		sysUser.setUpdateTime(new Date());

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

@@ -58,5 +58,5 @@ public interface ImGroupService extends BaseService<Long, ImGroup> {
 	 * @param nickName
 	 * @return
 	 */
-    int updateNickName(Integer userId, String nickName);
+    int updateNickName(Integer userId, String nickName,String userType);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.biz.service.ImUserFriendService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,6 +60,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private ImUserFriendService imUserFriendService;
 	@Autowired
 	private OrganizationDao organizationDao;
+	@Autowired
+	private ImGroupService imGroupService;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -121,6 +124,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		//新增用户角色
 		employeeDao.batchAddEmployeeRole(employee.getId(),employee.getRoleIds());
 		teacherDao.updateUser(employee);
+		imGroupService.updateNickName(employee.getUserId(),employee.getRealName(),"SYSTEM");
 	}
 
 	@Override

+ 30 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -3,6 +3,10 @@ package com.ym.mec.biz.service.impl;
 import java.util.Date;
 import java.util.List;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.entity.ImUserModel;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -38,6 +42,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 	@Autowired
 	private ImFeignService imFeignService;
 
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
 	@Override
 	public BaseDAO<Long, ImGroup> getDAO() {
 		return imGroupDao;
@@ -120,8 +127,29 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 	}
 
 	@Override
-	public int updateNickName(Integer userId, String nickName) {
-		return imGroupDao.updateNickname(userId,nickName);
+	@Transactional(rollbackFor = Exception.class)
+	public int updateNickName(Integer userId, String nickName,String userType) {
+		//修改群成员备注
+		int i = imGroupDao.updateNickname(userId, nickName);
+		//修改sysUser名称,如果包含学员的角色,那么修改userName。否则修改realName
+		SysUser sysUser = sysUserFeignService.queryUserById(userId);
+		if(StringUtils.isNotEmpty(userType)){
+			if("STUDENT" == userType){
+				sysUser.setUsername(nickName);
+			}else {
+				sysUser.setRealName(nickName);
+			}
+		}else {
+			if(sysUser.getUserType().contains("STUDENT")){
+				sysUser.setUsername(nickName);
+			}else {
+				sysUser.setRealName(nickName);
+			}
+			sysUserFeignService.updateSysUser(sysUser);
+		}
+		//同步融云基本信息
+		imFeignService.update(new ImUserModel(sysUser.getId().toString(),nickName,sysUser.getAvatar()));
+		return i;
 	}
 
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -17,6 +17,7 @@ import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.SysConfigService;
 
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.im.WebFeignService;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -110,6 +111,8 @@ public class StudentManageServiceImpl implements StudentManageService {
     @Autowired
     private SysUserContractsDao sysUserContractsDao;
     @Autowired
+    private WebFeignService webFeignService;
+    @Autowired
     private StudentCourseHomeworkDao studentCourseHomeworkDao;
 
     @Override
@@ -664,6 +667,7 @@ public class StudentManageServiceImpl implements StudentManageService {
             LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
             studentExtracurricularExercisesSituationDao.deleteByStudent(student.getId(), monDayDate.toString());
         }
+        webFeignService.updateNickName(userId,student.getUsername(),"STUDENT");
         return userId;
     }
 

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

@@ -26,6 +26,7 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.event.source.GroupEventSource;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.im.WebFeignService;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -150,11 +151,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     private StudentCourseFeeDetailDao studentCourseFeeDetailDao;
     @Autowired
     private CourseScheduleDao courseScheduleDao;
-
+    @Autowired
+    private StudentInstrumentService studentInstrumentService;
     @Autowired
     private GroupEventSource groupEventSource;
     @Autowired
-    private StudentInstrumentService studentInstrumentService;
+    private WebFeignService webFeignService;
 
     @Override
     public BaseDAO<Long, StudentRegistration> getDAO() {
@@ -226,7 +228,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public StudentFeeDetailDto queryFeeDetail(Integer studentId, String musicGroupId) {
         StudentFeeDetailDto studentFeeDetailDto = new StudentFeeDetailDto();
         List<MusicalListDetailDto> musicalList = studentPaymentOrderDetailService.getMusicalListDetail(musicGroupId, studentId);
-        if (musicalList.size() <= 0) {
+        if(musicalList.size() <=0){
             return studentFeeDetailDto;
         }
         MusicalListDetailDto detailDto = musicalList.get(0);
@@ -342,6 +344,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             studentRegistrationDao.insert(studentRegistration);
         }
 
+        webFeignService.updateNickName(sysUser.getId(),studentRegistration.getName(),"STUDENT");
         // 增加报名学生数
         musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(), 1);
         // 报名成功后,发送短信
@@ -638,8 +641,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 studentDao.insert(new Student(userId, studentRegistration.getSubjectId().toString()));
                 //添加用户现金账户
                 sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
-                //添加用户电子签章账户
-//                contractService.register(userId, sysUser.getRealName(), sysUser.getIdCardNo(), sysUser.getPhone());
                 ImResult register = imFeignService.register(new ImUserModel(userId.toString(), sysUser.getUsername(), null));
                 sysUser.setImToken(register.getToken());
                 teacherDao.updateUser(sysUser);
@@ -677,6 +678,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                         studentDao.update(student);
                     }
                 }
+                webFeignService.updateNickName(userId,sysUser.getUsername(),"STUDENT");
             }
             MusicGroupStudentFee studentFeeDaoByUser = musicGroupStudentFeeDao.findByUser(userId, musicGroupId);
             if (studentFeeDaoByUser != null) {

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -21,6 +21,7 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
+import com.ym.mec.im.WebFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.idcard.IdcardValidator;
@@ -69,6 +70,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	@Autowired
 	private ImFeignService imFeignService;
 	@Autowired
+	private WebFeignService webFeignService;
+	@Autowired
 	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 	@Autowired
 	private StudentDao studentDao;
@@ -154,7 +157,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		teacherDao.update(teacher);
 		teacher.setOrganId(null);
 		teacherDao.updateUser(teacher);
-		imFeignService.update(new ImUserModel(teacher.getId().toString(),teacher.getRealName(),teacher.getAvatar()));
+		webFeignService.updateNickName(teacher.getId(),teacher.getRealName(),"TEACHER");
+//		imFeignService.update(new ImUserModel(teacher.getId().toString(),teacher.getRealName(),teacher.getAvatar()));
 	}
 
 	@Override
@@ -664,7 +668,6 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		teacher.setIdcardHandImg(idcardHandImg);
 		teacher.setUpdateTime(date);
 		teacherDao.update(teacher);
-
 		return true;
 	}
 

+ 3 - 0
mec-client-api/src/main/java/com/ym/mec/im/WebFeignService.java

@@ -18,4 +18,7 @@ public interface WebFeignService {
 	
 	@RequestMapping(value = "api/isPurchasedPracticeCourse")
 	Boolean isPurchasedPracticeCourse(@RequestParam("userId") Integer userId);
+
+	@RequestMapping(value = "api/updateNickName")
+	int updateNickName(@RequestParam("userId") Integer userId,@RequestParam("nickName") String nickName,@RequestParam("userType") String userType);
 }

+ 6 - 0
mec-client-api/src/main/java/com/ym/mec/im/fallback/WebFeignServiceFallback.java

@@ -3,6 +3,7 @@ package com.ym.mec.im.fallback;
 import org.springframework.stereotype.Component;
 
 import com.ym.mec.im.WebFeignService;
+import org.springframework.web.bind.annotation.RequestParam;
 
 @Component
 public class WebFeignServiceFallback implements WebFeignService {
@@ -21,4 +22,9 @@ public class WebFeignServiceFallback implements WebFeignService {
 	public Boolean isPurchasedPracticeCourse(Integer userId) {
 		return false;
 	}
+
+	@Override
+	public int updateNickName(Integer userId, String nickName,String userType) {
+		return 0;
+	}
 }

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/APIController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.biz.service.PracticeGroupService;
 import com.ym.mec.biz.service.PracticeLessonApplyService;
 import com.ym.mec.common.controller.BaseController;
@@ -31,6 +32,8 @@ public class APIController extends BaseController {
 	
 	@Autowired
 	private PracticeGroupService practiceGroupService;
+	@Autowired
+	private ImGroupService imGroupService;
 
 	@GetMapping("/createCashAccount")
 	public Boolean createCashAccount(Integer userId) {
@@ -53,9 +56,15 @@ public class APIController extends BaseController {
 	public Object practiceSum() {
 		return succeed(practiceLessonApplyService.practiceSum());
 	}
+
 	@GetMapping("/isPurchasedPracticeCourse")
 	public Boolean isPurchasedPracticeCourse(Integer userId) {
 		return practiceGroupService.isPurchasedPracticeCourse(userId);
 	}
 
+	@GetMapping("/updateNickName")
+	public int updateNickName(Integer userId,String nickName,String userType) {
+		return imGroupService.updateNickName(userId,nickName,userType);
+	}
+
 }

+ 7 - 6
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -79,8 +79,8 @@ public class ImGroupController extends BaseController {
 
 	@ApiOperation("修改群成员信息")
 	@PostMapping(value = "/updateNickName")
-	public Object updateNickName(Integer userId,String nickName) {
-		return succeed(imGroupService.updateNickName(userId,nickName));
+	public Object updateNickName(Integer userId,String nickName,String userType) {
+		return succeed(imGroupService.updateNickName(userId,nickName,userType));
 	}
 
 	@ApiOperation("查询群成员列表")
@@ -110,16 +110,17 @@ public class ImGroupController extends BaseController {
 		if (Objects.isNull(sysUser)) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-
 		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUser.getId(), userId);
 		if (dto == null) {
 			dto = new ImUserFriendDto();
 			SysUser user = sysUserFeignService.queryUserById(userId);
 			dto.setFriend(user);
-			if (user.getUserType().contains("TEACHER")) {
-				dto.setFriendNickname(user.getRealName());
-			} else {
+			//这里由原来的优先取老师的realName改成了优先取学员的username,
+			// 因为管理员在修改通讯录备注的时候,如果是多角色,优先改的是学员的username
+			if (user.getUserType().contains("STUDENT")) {
 				dto.setFriendNickname(user.getUsername());
+			} else {
+				dto.setFriendNickname(user.getRealName());
 			}
 			dto.setFriendId(userId);
 		}