瀏覽代碼

fix支付直连

Eric 1 年之前
父節點
當前提交
b2a3ae4000

+ 7 - 1
audio-analysis/src/main/java/com/yonge/netty/server/service/AudioCompareHandler.java

@@ -1,5 +1,7 @@
 package com.yonge.netty.server.service;
 
+import com.microsvc.toolkit.middleware.oss.OssPluginContext;
+import com.microsvc.toolkit.middleware.oss.impl.TencentOssPlugin;
 import io.netty.channel.Channel;
 
 import java.io.File;
@@ -65,6 +67,9 @@ public class AudioCompareHandler implements MessageHandler {
     @Autowired
     private StoragePluginContext storagePluginContext;
 
+    @Autowired
+    private OssPluginContext ossPluginContext;
+
 	/**
 	 * @describe 采样率
 	 */
@@ -203,7 +208,8 @@ public class AudioCompareHandler implements MessageHandler {
 		            String url = null;
 		            try {
 		                String folder = UploadUtil.getFileFloder();
-		                url = storagePluginContext.asyncUploadFile(KS3StoragePlugin.PLUGIN_NAME,"soundCompare/" + folder, waveFileProcessor.getFile(), true);
+//		                url = storagePluginContext.asyncUploadFile(TencentOssPlugin.PLUGIN_NAME,"soundCompare/" + folder, waveFileProcessor.getFile(), true);
+                        url = ossPluginContext.getPluginService(TencentOssPlugin.PLUGIN_NAME).asyncUploadFile("cloud-coach/" + folder, waveFileProcessor.getFile(), true);
 		            } catch (Exception e) {
 		                LOGGER.error("录音文件上传失败:{}", e);
 		            }

+ 6 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -205,6 +205,12 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                     throw new LockedException("用户不存在");
                 }
 
+                // 同账号,用户信息存在的情况
+                if (!user.getUserType().contains(clientId.toUpperCase())) {
+                    // 自动添加系统默认IM帐号为好友,并自动发送通知消息
+                    sysUserService.sendSysCustomerServiceFriendMessage(userInfo.getSysUser(), clientId.toUpperCase());
+                }
+
                 user.setUpdateTime(new Date());
                 if(StringUtils.isNotEmpty(loginUserType)){
                     if (StringUtils.equalsIgnoreCase(loginUserType, "TEACHER")) {

+ 25 - 22
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java

@@ -237,30 +237,33 @@ public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUser
 
         // 添加新用户好友,客服默认为老师身份
         for (Long teacherId : friendIds) {
-
-            saveUserFriend(teacherId, Sets.newHashSet(userId));
+            if (ClientEnum.STUDENT == clientType) {
+                saveUserFriend(teacherId, Sets.newHashSet(userId));
+            } else if (ClientEnum.TEACHER == clientType) {
+                saveUserTeacherFriend(teacherId, Sets.newHashSet(userId));
+            }
 
             // 新注册用户为老师身份时,更新好友关系为老师身份
-            if (ClientEnum.TEACHER == clientType) {
-
-                // 更新我的身份信息
-                imUserFriendService.lambdaUpdate()
-                        .eq(ImUserFriend::getUserId, userId)
-                        .eq(ImUserFriend::getClientType, ClientEnum.STUDENT)
-                        .eq(ImUserFriend::getFriendId, teacherId)
-                        .eq(ImUserFriend::getFriendType, ClientEnum.TEACHER)
-                        .set(ImUserFriend::getClientType, ClientEnum.TEACHER)
-                        .update();
-
-                // 更新客服好友身份信息
-                imUserFriendService.lambdaUpdate()
-                        .eq(ImUserFriend::getUserId, teacherId)
-                        .eq(ImUserFriend::getClientType, ClientEnum.TEACHER)
-                        .eq(ImUserFriend::getFriendId, userId)
-                        .eq(ImUserFriend::getFriendType, ClientEnum.STUDENT)
-                        .set(ImUserFriend::getFriendType, ClientEnum.TEACHER)
-                        .update();
-            }
+//            if (ClientEnum.TEACHER == clientType) {
+//
+//                // 更新我的身份信息
+//                imUserFriendService.lambdaUpdate()
+//                        .eq(ImUserFriend::getUserId, userId)
+//                        .eq(ImUserFriend::getClientType, ClientEnum.STUDENT)
+//                        .eq(ImUserFriend::getFriendId, teacherId)
+//                        .eq(ImUserFriend::getFriendType, ClientEnum.TEACHER)
+//                        .set(ImUserFriend::getClientType, ClientEnum.TEACHER)
+//                        .update();
+//
+//                // 更新客服好友身份信息
+//                imUserFriendService.lambdaUpdate()
+//                        .eq(ImUserFriend::getUserId, teacherId)
+//                        .eq(ImUserFriend::getClientType, ClientEnum.TEACHER)
+//                        .eq(ImUserFriend::getFriendId, userId)
+//                        .eq(ImUserFriend::getFriendType, ClientEnum.STUDENT)
+//                        .set(ImUserFriend::getFriendType, ClientEnum.TEACHER)
+//                        .update();
+//            }
         }
 
         try {

+ 7 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -680,19 +680,16 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                     new HashSet<>(ImmutableList.of(sysUser.getId()))));
         }
 
-        //  与客服建立好友
+        //  与随机一个客服建立好友
         String customerService = customerServiceConfig.getCustomerService();
         if(StringUtils.isNotBlank(customerService)){
             List<String> phones = Arrays.stream(customerService.split(",")).collect(Collectors.toList());
-            // 通过手机号获取用户ID
-            QueryWrapper<com.yonge.cooleshow.biz.dal.entity.SysUser> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().in(com.yonge.cooleshow.biz.dal.entity.SysUser::getPhone,phones);
-            List<com.yonge.cooleshow.biz.dal.entity.SysUser> sysUsers = sysUserMapper.selectList(queryWrapper);
-            Set<Long> userIds = sysUsers.stream().map(com.yonge.cooleshow.biz.dal.entity.SysUser::getId).collect(Collectors.toSet());
-            for (Long teacherId : userIds) {
-                HashSet<Long> studentIds = new HashSet<>();
-                studentIds.add(student.getUserId());
-                imUserFriendService.saveUserFriend(teacherId, studentIds);
+            Random rand = new Random();
+            String mobile = phones.get(rand.nextInt(phones.size()));
+            SysUser friend = sysUserMapper.findUserByPhone(mobile);
+            if (friend != null) {
+                imUserFriendService.registerUserBindCustomerService(student.getUserId(),
+                        Collections.singletonList(friend.getId()), ClientEnum.STUDENT);
             }
         }
 

+ 13 - 22
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -106,15 +106,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -444,6 +436,11 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         //更新sys_user
         SysUser sysUser = employeeDao.querySysUserByPhone(teacherSubmitReq.getPhone());
         if (null == sysUser) {
+            //设置默认头像
+            if (StringUtil.isEmpty(teacherSubmitReq.getAvatar())) {
+                String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.TEACHER_AVATAR);
+                teacherSubmitReq.setAvatar(defaultHeard);
+            }
             sysUser = insertSysUser(teacherSubmitReq);
             teacherSubmitReq.setUserId(sysUser.getId());
         } else {
@@ -471,13 +468,12 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         String customerService = customerServiceConfig.getCustomerService();
         if(StringUtils.isNotBlank(customerService)){
             List<String> phones = Arrays.stream(customerService.split(",")).collect(Collectors.toList());
-            // 通过手机号获取用户ID
-            QueryWrapper<com.yonge.cooleshow.biz.dal.entity.SysUser> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().in(com.yonge.cooleshow.biz.dal.entity.SysUser::getPhone,phones);
-            List<com.yonge.cooleshow.biz.dal.entity.SysUser> sysUsers = sysUserMapper.selectList(queryWrapper);
-            Set<Long> userIds = sysUsers.stream().map(com.yonge.cooleshow.biz.dal.entity.SysUser::getId).collect(Collectors.toSet());
-            if (!userIds.isEmpty()) {
-                imUserFriendService.saveUserTeacherFriend(teacher.getUserId(), userIds);
+            Random rand = new Random();
+            String mobile = phones.get(rand.nextInt(phones.size()));
+            SysUser friend = sysUserMapper.findUserByPhone(mobile);
+            if (friend != null) {
+                imUserFriendService.registerUserBindCustomerService(teacher.getUserId(),
+                        Collections.singletonList(friend.getId()), ClientEnum.TEACHER);
             }
         }
 
@@ -507,11 +503,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         if (StringUtils.isEmpty(sysUser.getUsername())) {
             sysUser.setUsername("游客" + sysUser.getId());
         }
-        //设置默认头像
-        if (StringUtil.isEmpty(sysUser.getAvatar())) {
-            String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.TEACHER_AVATAR);
-            sysUser.setAvatar(defaultHeard);
-        }
         employeeDao.updateSysUser(sysUser);
         return sysUser;
     }
@@ -578,7 +569,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             if (!teacher.getTenantId().equals(teacherSubmitReq.getTenantId())) {
                 if (teacherSubmitReq.getTenantId().equals(-1L)) {
                     // 平台老师处理流程
-                    if (ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
+                    if (ESettlementFrom.TENANT.equals(teacherSubmitReq.getSettlementFrom())) {
                         // 解绑后,结算方式如果是机构,默认调整为老师
                         teacherSubmitReq.setSettlementFrom(ESettlementFrom.TEACHER);
                         teacherSubmitReq.setIsSettlement(true);

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

@@ -328,6 +328,7 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
                 .in(TenantActivationCode::getId, idList)
                 .eq(TenantActivationCode::getActivationStatus, false)
                 .eq(TenantActivationCode::getSendStatus, EActivationCode.SEND)
+                .eq(TenantActivationCode::getTenantId,tenantInfo.getId())
                 .update();
 
     }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantUnbindRecordServiceImpl.java

@@ -236,7 +236,7 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
                         log.error("老师解绑审核成功,解散机构群失败:{}", e.getMessage());
                     }
                 }
-                imUserFriendService.delStudentFriendByTenantId(unbindRecord.getUserId(), unbindRecord.getUserId(),
+                imUserFriendService.delStudentFriendByTenantId(tenantId, unbindRecord.getUserId(),
                         ClientEnum.TEACHER.getCode());
             }
             teacherDao.update(null, Wrappers.<Teacher>lambdaUpdate()

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantActivationCodeWrapper.java

@@ -46,6 +46,9 @@ public class TenantActivationCodeWrapper {
         @ApiModelProperty("机构ID")
         private Long tenantId;
 
+        @ApiModelProperty("声部ID")
+        private String subjectId;
+
         @ApiModelProperty("专辑购买ID")
         private Long tenantAlbumPurchaseId;
 
@@ -124,6 +127,9 @@ public class TenantActivationCodeWrapper {
         @ApiModelProperty("激活用户名称")
         private String activationUserName;
 
+        @ApiModelProperty("激活用户头像")
+        private String activationUserAvatar;
+
         @ApiModelProperty("更新时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
         private Date updateTime;

+ 6 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantActivationCodeMapper.xml

@@ -20,10 +20,12 @@
     <select id="selectPage"
             resultType="com.yonge.cooleshow.biz.dal.wrapper.TenantActivationCodeWrapper$TenantActivationCode">
         SELECT
-        <include refid="baseColumns"/>, ta.purchase_cycle_ as purchaseCycle, su.username_ as activationUserName
+        <include refid="baseColumns"/>, ta.purchase_cycle_ as purchaseCycle, su.username_ as activationUserName,
+        su.avatar_ as activationUserAvatar
         FROM tenant_activation_code t
         LEFT JOIN tenant_album_purchase ta on t.tenant_album_purchase_id_ = ta.id_
         LEFT JOIN sys_user su on t.activation_user_id_ = su.id_
+        LEFT JOIN student st on su.id_ = st.user_id_
         <if test="param.orderNo != null and param.orderNo != ''">
             left join tenant_album_purchase t4 on t4.id_ = t.tenant_album_purchase_id_
         </if>
@@ -58,6 +60,9 @@
             <if test="param.orderNo != null and param.orderNo != ''">
                 and ${param.orderNo} = t4.order_no_
             </if>
+            <if test="param.subjectId != null and param.subjectId.trim() != ''">
+                and ${param.subjectId} = su.subject_id_
+            </if>
         </where>
         order by t.activation_status_ asc, t.id_ desc
     </select>