Parcourir la source

更新融云显示昵称

Eric il y a 2 ans
Parent
commit
174a6f5e42

+ 11 - 0
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/dto/UserSetReq.java

@@ -29,6 +29,9 @@ public class UserSetReq {
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date birthdate;
 
+    @ApiModelProperty("客户端类型: TEACHER, STUDENT")
+    private String clientType;
+
     public String getClientId() {
         return clientId;
     }
@@ -68,4 +71,12 @@ public class UserSetReq {
     public void setBirthdate(Date birthdate) {
         this.birthdate = birthdate;
     }
+
+    public String getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(String clientType) {
+        this.clientType = clientType;
+    }
 }

+ 2 - 2
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -84,9 +84,9 @@ public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuth
 			sysUser = sysUserService.queryLockByPhone(username.split(":")[1]);
 		}
 		if(StringUtils.isEmpty(sysUser.getImToken())){
-			String name = sysUser.getRealName();
+			String name = sysUser.getUsername();
 			if(StringUtils.isEmpty(name)){
-				name = sysUser.getUsername();
+				name = sysUser.getRealName();
 			}
 			try {
 				TokenResult result = RongCloudConfig.rongCloud.user.register(new UserModel(sysUser.getId().toString(), name, sysUser.getAvatar()));

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/SysUserService.java

@@ -178,7 +178,7 @@ public interface SysUserService extends BaseService<Long, SysUser> {
     void submitSetDetail(UserSetReq setReq, Long id);
 
     //修改融云用户基本信息
-    void updateRongCloudUserInfo(Long userId);
+    void updateRongCloudUserInfo(Long userId, String clientType);
 
     /**
      * 商城同步管理用户

+ 15 - 5
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -284,19 +284,29 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
     @Override
     public void submitSetDetail(UserSetReq setReq, Long id) {
         sysUserDao.updatetSetDetail(setReq, id);
+
+        if (StringUtils.isEmpty(setReq.getClientType())) {
+            setReq.setClientType(EClientType.TEACHER.name());
+        }
         //更新融云用户基本信息
-        this.updateRongCloudUserInfo(id);
+        this.updateRongCloudUserInfo(id, setReq.getClientType());
     }
 
     @Override
-    public void updateRongCloudUserInfo(Long userId) {
+    public void updateRongCloudUserInfo(Long userId, String clientType) {
         UserSetVo setDetail = this.getSetDetail(userId);
         //更新imGroupMember表用户头像
         sysUserDao.updateImGroupMember(userId, setDetail.getUsername(), setDetail.getAvatar());
         //更新imUserFriend表用户头像
         sysUserDao.updateImUserFriend(userId, setDetail.getUsername(), setDetail.getAvatar());
         try {
-            RongCloudConfig.rongCloud.user.update(new UserModel(userId.toString(), setDetail.getUsername(), setDetail.getAvatar()));
+
+            String imUserId = String.valueOf(userId);
+            if (EClientType.STUDENT.match(clientType)) {
+                imUserId = MessageFormat.format("{0}:{1}", imUserId, EClientType.STUDENT.name());
+            }
+
+            RongCloudConfig.rongCloud.user.update(new UserModel(imUserId, setDetail.getUsername(), setDetail.getAvatar()));
         } catch (Exception e) {
             throw new BizException("更新用户信息失败");
         }
@@ -379,9 +389,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
 
                 }*/
 
-                String name = sysUser.getRealName();
+                String name = sysUser.getUsername();
                 if(StringUtils.isEmpty(name)){
-                    name = sysUser.getUsername();
+                    name = sysUser.getRealName();
                 }
 
                 // IM用户ID

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -45,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.MessageFormat;
 import java.time.LocalDate;
 import java.time.ZoneId;
 import java.util.*;
@@ -174,6 +175,14 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         param.put("groupId", groupId);
         param.put("orderState", OrderStatusEnum.PAID.getCode());
         result.setStudentList(courseScheduleStudentPaymentService.queryStudentInfoByGroupId(param));
+
+        if (CollectionUtils.isNotEmpty(result.getStudentList())) {
+
+            for (LiveCourseInfoVo.CourseBuyStudentVo item : result.getStudentList()) {
+
+                item.setImUserId(MessageFormat.format("{0}:{1}", String.valueOf(item.getStudentId()), ClientEnum.STUDENT.name()));
+            }
+        }
         //查询是否购买过该课程组
         Long id = sysUser.getId();
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LiveCourseInfoVo.java

@@ -167,6 +167,9 @@ public class LiveCourseInfoVo extends CourseGroupVo implements Serializable {
         @ApiModelProperty(value = "购买时间")
         private Date createTime;
 
+        @ApiModelProperty("IM用户ID")
+        private String imUserId;
+
         public Long getStudentId() {
             return studentId;
         }
@@ -206,6 +209,14 @@ public class LiveCourseInfoVo extends CourseGroupVo implements Serializable {
         public void setCreateTime(Date createTime) {
             this.createTime = createTime;
         }
+
+        public String getImUserId() {
+            return imUserId;
+        }
+
+        public void setImUserId(String imUserId) {
+            this.imUserId = imUserId;
+        }
     }
 
     public List<PlanVo> getPlanList() {

+ 2 - 2
service.md

@@ -1,6 +1,6 @@
 - [ ] gateway-server
-- [ ] auth-server
-- [x] admin-server
+- [x] auth-server
+- [ ] admin-server
 - [x] teacher-server
 - [x] student-server
 - [ ] website-server