فهرست منبع

Merge branch 'develop'

Eric 1 سال پیش
والد
کامیت
b6aa623b7f
16فایلهای تغییر یافته به همراه114 افزوده شده و 52 حذف شده
  1. 8 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java
  2. 2 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/config/AppServerConfig.java
  3. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java
  4. 7 5
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java
  5. 5 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenTenantController.java
  6. 8 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java
  7. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ClientEnum.java
  8. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  9. 37 27
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  10. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  11. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumMusicServiceImpl.java
  12. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantApplyRecordServiceImpl.java
  13. 23 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java
  14. 1 1
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java
  15. 7 5
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java
  16. 5 0
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenTenantController.java

+ 8 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java

@@ -27,6 +27,7 @@ import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -193,6 +194,13 @@ public class TenantAlbumController {
     @ApiOperation(value = "新增专辑", notes = "新增专辑")
     @PreAuthorize("@pcs.hasPermissions('tenantAlbum/save')")
     public HttpResponseResult<Boolean> save(@Validated @RequestBody TenantAlbumVo.TenantAlbum album) {
+        //判断当前机构是否已经绑定机构专辑
+        Long tenantId = album.getTenantId();
+        List<TenantAlbumMusic> list = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantId, tenantId).list();
+        if (CollectionUtils.isNotEmpty(list)){
+            throw new BizException("当前机构已有专辑");
+        }
+
         TenantAlbum tenantAlbum = JSON.parseObject(album.jsonString(), TenantAlbum.class);
         List<TenantAlbumVo.MusicSheetData> musicSheetData = album.getMusicSheetData();
 

+ 2 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/config/AppServerConfig.java

@@ -17,9 +17,9 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  * Created by Eric.Shang on 2022/11/2.
  */
 @Slf4j
-@EnableWebMvc
+//@EnableWebMvc
 //@EnableAsync
-@EnableTransactionManagement
+//@EnableTransactionManagement
 @EnableScheduling
 @EnableSwagger2Doc
 @EnableDiscoveryClient

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java

@@ -38,7 +38,7 @@ public class SmsCodeController extends BaseController {
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.TEACHER);
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.TENANT);
         return succeed();
     }
 

+ 7 - 5
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -148,16 +148,19 @@ public class OpenStudentController extends BaseController {
         // 配置头像
         String avatar = student.getAvatar();
         if (StringUtils.isEmpty(avatar)) {
-            if (StringUtils.isEmpty(avatar)) {
-                avatar = sysConfigService.findConfigValue(SysConfigConstant.TENANT_STUDENT_AVATAR);
-                student.setAvatar(avatar);
+            if (student.getGender().equals(1)) {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_BOY);
+            } else {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_GIRL);
             }
             student.setAvatar(avatar);
         }
 
-        Student studentInfo = JSON.parseObject(JSON.toJSONString(student), Student.class);
+        StudentWrapper.Student studentInfo = JSON.parseObject(JSON.toJSONString(student), StudentWrapper.Student.class);
         studentInfo.setTenantId(tenantInfo.getId());
 
+        studentService.save(studentInfo);
+
         // 加好友
         if (student.getId() == null) {
             SysUser sysUser = sysUserFeignService.queryUserByMobile(student.getPhone());
@@ -167,7 +170,6 @@ public class OpenStudentController extends BaseController {
             teacherList.forEach(next -> imUserFriendService.saveUserFriend(next.getUserId(),
                     new HashSet<>(ImmutableList.of(sysUser.getId()))));
         }
-        studentService.saveOrUpdate(studentInfo);
         return succeed();
     }
 }

+ 5 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenTenantController.java

@@ -107,6 +107,11 @@ public class OpenTenantController {
             if (AuthStatusEnum.DOING.equals(one.getStatus())) {
                 throw new BizException(5003, "请等待审核完成");
             }
+        } else {
+            // 判断当前账号是否已绑定
+            if (StringUtils.isNotBlank(tenantStaff.getWxOpenid()) && !openId.equals(tenantStaff.getWxOpenid())) {
+                throw new BizException("当前账号已绑定");
+            }
         }
 
         Long tenantId = tenantStaff.getTenantId();

+ 8 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java

@@ -18,6 +18,7 @@ import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -181,6 +182,13 @@ public class TenantAlbumController {
     @ApiOperation(value = "新增专辑", notes = "新增专辑")
     @PreAuthorize("@pcs.hasPermissions('tenantAlbum/save')")
     public HttpResponseResult<Boolean> save(@Validated @RequestBody TenantAlbumVo.TenantAlbum album) {
+        //判断当前机构是否已经绑定机构专辑
+        Long tenantId = album.getTenantId();
+        List<TenantAlbumMusic> list = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantId, tenantId).list();
+        if (CollectionUtils.isNotEmpty(list)){
+            throw new BizException("当前机构已有专辑");
+        }
+
         TenantAlbum tenantAlbum = JSON.parseObject(album.jsonString(), TenantAlbum.class);
         List<TenantAlbumVo.MusicSheetData> musicSheetData = album.getMusicSheetData();
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ClientEnum.java

@@ -15,7 +15,7 @@ public enum ClientEnum implements BaseEnum<String, ClientEnum> {
     TENANT_STUDENT("机构-学生端"),
     SYSTEM("平台端"),
     WEBSITE("官网"),
-    TENANT("机构"),
+    TENANT("机构"),
 
     ;
     @EnumValue

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

@@ -1715,7 +1715,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             accountTenantTo.setShareTenant(teacherService.teacherSettlementFrom(orderGoodsInfo.getRecomUserId()));
         }
         if (orderGoodsInfo.getGoodType().equals(GoodTypeEnum.MUSIC)) {
-            MusicSheet musicSheet = this.getById(orderGoodsInfo.getBizId());
+            MusicSheet musicSheet = this.getById(orderGoodsInfo.getUserOrderDetail().getBizId());
             if (musicSheet != null && musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER)) {
                 accountTenantTo.setIncomeTenant(teacherService.teacherSettlementFrom(musicSheet.getUserId()));
             }

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

@@ -539,16 +539,23 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void addStudent(StudentWrapper.Student student) {
+        // 更新头像
+        if (StringUtils.isEmpty(student.getAvatar())) {
+            String avatar;
+            if (student.getGender().equals(1)) {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_BOY);
+            } else {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_GIRL);
+            }
+            student.setAvatar(avatar);
+        }
         SysUser sysUser = employeeDao.querySysUserByPhone(student.getPhone());
         if (sysUser == null) {
             sysUser = new SysUser();
             sysUser.setUserType(ClientEnum.STUDENT.getCode());
             sysUser.setGender(student.getGender());
             //设置默认头像
-            if (StringUtil.isEmpty(sysUser.getAvatar())) {
-                String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
-                sysUser.setAvatar(defaultHeard);
-            }
+            sysUser.setAvatar(student.getAvatar());
 
             sysUser.setUsername(student.getName());
             sysUser.setPhone(student.getPhone());
@@ -569,20 +576,6 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
 
         student.setId(sysUser.getId());
         Long tenantId = student.getTenantId();
-        // 更新头像
-        if (StringUtils.isEmpty(student.getAvatar())) {
-            String avatar;
-            if (tenantId != -1L) {
-                if (student.getGender().equals(1)) {
-                    avatar = sysConfigService.findConfigValue(SysConfigConstant.TENANT_STUDENT_BOY_AVATAR);
-                } else {
-                    avatar = sysConfigService.findConfigValue(SysConfigConstant.TENANT_STUDENT_GIRL_AVATAR);
-                }
-            } else {
-                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
-            }
-            student.setAvatar(avatar);
-        }
         this.save(student);
 
         // 加好友
@@ -603,10 +596,14 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         if (student == null) {
             throw new BizException("学生信息不存在");
         }
-        String avatar = student.getAvatar();
+        String avatar = studentInfo.getAvatar();
         if (StringUtils.isEmpty(avatar)) {
-            avatar = sysConfigService.findConfigValue(SysConfigConstant.TENANT_STUDENT_AVATAR);
-            student.setAvatar(avatar);
+            if (studentInfo.getGender().equals(1)) {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_BOY);
+            } else {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_GIRL);
+            }
+            studentInfo.setAvatar(avatar);
         }
         // 解绑
 //        if (Boolean.FALSE.equals(studentInfo.getBindTenant())) {
@@ -635,23 +632,29 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         }
         com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = sysUserMapper.selectById(studentInfo.getId());
         sysUser.setGender(studentInfo.getGender());
+        sysUser.setAvatar(student.getAvatar());
         sysUserMapper.updateById(sysUser);
         return true;
     }
 
     private Boolean createStudent(StudentWrapper.Student studentInfo) {
+        String avatar = studentInfo.getAvatar();
+        if (StringUtils.isEmpty(avatar)) {
+            if (studentInfo.getGender().equals(1)) {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_BOY);
+            } else {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_GIRL);
+            }
+            studentInfo.setAvatar(avatar);
+        }
         com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = getOrCreateAccount(studentInfo);
         Student student = new Student();
         student.setUserId(sysUser.getId());
         student.setTenantId(studentInfo.getTenantId());
         student.setSubjectId(studentInfo.getSubjectId());
+        student.setAvatar(studentInfo.getAvatar());
         student.setCreateTime(new Date());
         student.setLockFlag(UserLockFlag.NORMAL);
-        String avatar = studentInfo.getAvatar();
-        if (StringUtils.isEmpty(avatar)) {
-            avatar = sysConfigService.findConfigValue(SysConfigConstant.TENANT_STUDENT_AVATAR);
-            student.setAvatar(avatar);
-        }
 
         save(student);
         return true;
@@ -684,7 +687,14 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                     com.yonge.cooleshow.biz.dal.entity.SysUser.class);
             sysUser.setPhone(studentInfo.getPhone());
             if (StringUtils.isEmpty(studentInfo.getAvatar())) {
-                sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
+                //设置默认头像
+                String avatar;
+                if (studentInfo.getGender().equals(1)) {
+                    avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_BOY);
+                } else {
+                    avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_GIRL);
+                }
+                sysUser.setAvatar(avatar);
             } else {
                 sysUser.setAvatar(studentInfo.getAvatar());
             }

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

@@ -444,7 +444,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             throw new BizException("插入用户信息失败");
         }
         //设置昵称
-        sysUser.setUsername("游客" + sysUser.getId());
+        if (StringUtils.isEmpty(sysUser.getUsername())) {
+            sysUser.setUsername("游客" + sysUser.getId());
+        }
         employeeDao.updateSysUser(sysUser);
         return sysUser;
     }
@@ -475,8 +477,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         if (null == teacher) {
             teacher = new Teacher();
             teacher.setUserId(teacherSubmitReq.getUserId());
-            // 新增老师默认结算给机构
-            teacherSubmitReq.setSettlementFrom(ESettlementFrom.TENANT);
             teacher = getTeacherDetil(teacher, teacherSubmitReq);
             baseMapper.insert(teacher);
 

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

@@ -95,6 +95,9 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
 
         List<Long> musicSheetIds = tenantAlbumMusicMapper.selectMusicSheetIds(albumId, s, type, level);
 
+        if (CollectionUtils.isEmpty(musicSheetIds)){
+            throw new BizException("该声部下没有相关曲目");
+        }
         TenantAlbumMusicWrapper.StudentMusicSheetQuery musicSheetQuery = new TenantAlbumMusicWrapper.StudentMusicSheetQuery();
         musicSheetQuery.setMusicSheetIds(musicSheetIds);
         musicSheetQuery.setMusicTagId(query.getMusicTagId());

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

@@ -333,6 +333,8 @@ public class TenantApplyRecordServiceImpl extends ServiceImpl<TenantApplyRecordM
             } catch (Exception e) {
                 log.error("机构入驻审核极光消息推送异常");
             }
+
+        } else {
             try {
                 String serviceConfig = sysConfigService.findConfigValue(SysConfigConstant.CUSTOMER_SERVICE_PHONE);
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_TENANT_AUTH_UNPASS,

+ 23 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java

@@ -11,7 +11,9 @@ import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
+import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumPurchaseMapper;
+import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
@@ -76,6 +78,13 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
     @Autowired
     private UserTenantAlbumRecordService userTenantAlbumRecordService;
 
+
+    @Autowired
+    private TenantAlbumRefMapper tenantAlbumRefMapper;
+
+    @Autowired
+    private TenantAlbumMapper tenantAlbumMapper;
+
 	/**
      * 查询详情
      * @param id 详情ID
@@ -274,11 +283,18 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         TenantInfo tenantInfo = tenantInfoService.detail(detail.getTenantId());
         if (tenantInfo != null) {
             album.setTenantName(tenantInfo.getName());
-            QueryWrapper<TenantAlbumPurchase> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(TenantAlbumPurchase::getTenantId, detail.getTenantId());
-            Integer count = tenantAlbumPurchaseMapper.selectCount(queryWrapper);
-            if (count > 0) {
-                album.setTenantAlbumStatus(1);
+            QueryWrapper<TenantAlbumRef> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(TenantAlbumRef::getTenantId, detail.getTenantId());
+            List<TenantAlbumRef> albumRefs = tenantAlbumRefMapper.selectList(queryWrapper);
+            if (!albumRefs.isEmpty()) {
+                List<Long> albIds = albumRefs.stream().map(TenantAlbumRef::getTenantAlbumId).distinct().collect(Collectors.toList());
+                QueryWrapper<TenantAlbum> query = new QueryWrapper<>();
+                query.lambda().in(TenantAlbum::getId, albIds)
+                        .eq(TenantAlbum::getStatus,true);
+                Integer count = tenantAlbumMapper.selectCount(query);
+                if (count > 0) {
+                    album.setTenantAlbumStatus(1);
+                }
             }
             UserTenantAlbumRecord record =
                     userTenantAlbumRecordService.getNewestByTenantIdAndUserId(tenantInfo.getId(), detail.getUserId(),
@@ -291,10 +307,11 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
                 album.setTenantAlbumStartTime(record.getStartTime());
                 album.setTenantAlbumEndTime(record.getEndTime());
             }
-
         }
 
 
+
+
         //查询是否已经购买专辑
         Long buyTenantAlbumId = userTenantAlbumRecordMapper.ifBuy(tenantAlbumId,sysUser.getId());
 

+ 1 - 1
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/SmsCodeController.java

@@ -38,7 +38,7 @@ public class SmsCodeController extends BaseController {
                           @ApiImplicitParam(name = "type", value = "类型(PASSWD:修改密码,LOGIN:登录或注册,BANK:绑定银行卡,PHONE:修改手机号,LOGOFF:用户注销)", required = true, dataType = "String") })
     @PostMapping(value = "/sendSmsCode")
     public Object sendLoginVerifyCode(String mobile,String type) throws Exception {
-        smsCodeService.sendValidCode(mobile, type, ClientEnum.TEACHER);
+        smsCodeService.sendValidCode(mobile, type, ClientEnum.TENANT);
         return succeed();
     }
 

+ 7 - 5
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -148,16 +148,19 @@ public class OpenStudentController extends BaseController {
         // 配置头像
         String avatar = student.getAvatar();
         if (StringUtils.isEmpty(avatar)) {
-            if (StringUtils.isEmpty(avatar)) {
-                avatar = sysConfigService.findConfigValue(SysConfigConstant.TENANT_STUDENT_AVATAR);
-                student.setAvatar(avatar);
+            if (student.getGender().equals(1)) {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_BOY);
+            } else {
+                avatar = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD_GIRL);
             }
             student.setAvatar(avatar);
         }
 
-        Student studentInfo = JSON.parseObject(JSON.toJSONString(student), Student.class);
+        StudentWrapper.Student studentInfo = JSON.parseObject(JSON.toJSONString(student), StudentWrapper.Student.class);
         studentInfo.setTenantId(tenantInfo.getId());
 
+        studentService.save(studentInfo);
+
         // 加好友
         if (student.getId() == null) {
             SysUser sysUser = sysUserFeignService.queryUserByMobile(student.getPhone());
@@ -167,7 +170,6 @@ public class OpenStudentController extends BaseController {
             teacherList.forEach(next -> imUserFriendService.saveUserFriend(next.getUserId(),
                     new HashSet<>(ImmutableList.of(sysUser.getId()))));
         }
-        studentService.saveOrUpdate(studentInfo);
         return succeed();
     }
 }

+ 5 - 0
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenTenantController.java

@@ -108,6 +108,11 @@ public class OpenTenantController {
             if (AuthStatusEnum.DOING.equals(one.getStatus())) {
                 throw new BizException(5003, "请等待审核完成");
             }
+        } else {
+            // 判断当前账号是否已绑定
+            if (StringUtils.isNotBlank(tenantStaff.getWxOpenid()) && !openId.equals(tenantStaff.getWxOpenid())) {
+                throw new BizException("当前账号已绑定");
+            }
         }
 
         Long tenantId = tenantStaff.getTenantId();