Browse Source

Merge remote-tracking branch 'origin/feature/0721-tenant' into feature/0721-tenant

yuanliang 1 year ago
parent
commit
470d09911d
15 changed files with 242 additions and 43 deletions
  1. 20 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java
  2. 6 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  3. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TenantAlbumService.java
  4. 9 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserTenantAlbumRecordService.java
  5. 83 26
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  6. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  7. 17 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantAlbumServiceImpl.java
  8. 7 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantApplyRecordServiceImpl.java
  9. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantInfoServiceImpl.java
  10. 20 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java
  11. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/music/MusicCompareWrapper.java
  12. 11 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  13. 13 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java
  14. 23 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/open/OpenClient.java
  15. 16 0
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenTenantController.java

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

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.admin.controller;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Sets;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.yonge.cooleshow.admin.io.request.TenantAlbumVo;
 import com.yonge.cooleshow.api.feign.dto.TenantWrapper;
@@ -191,6 +192,15 @@ public class TenantAlbumController {
             throw new BizException("当前机构已有专辑");
         }
 
+        // 检查曲目重复
+        if (CollectionUtils.isNotEmpty(album.getMusicSheetData())) {
+            List<Long> musicIds = album.getMusicSheetData().stream().flatMap(o -> o.getMusicSheetList().stream().map(m -> m.getId())).collect(Collectors.toList());
+            Set<Long> musicSet = new HashSet<>(musicIds);
+            if (musicSet.size() < musicIds.size()) {
+                throw new BizException("不能添加相同的曲目");
+            }
+        }
+
         TenantAlbum tenantAlbum = JSON.parseObject(album.jsonString(), TenantAlbum.class);
         List<TenantAlbumVo.MusicSheetData> musicSheetData = album.getMusicSheetData();
 
@@ -230,6 +240,16 @@ public class TenantAlbumController {
             });
         }
 
+        // 检查曲目重复
+        if (CollectionUtils.isNotEmpty(album.getMusicSheetData())) {
+            List<Long> musicIds = album.getMusicSheetData().stream().flatMap(o -> o.getMusicSheetList()
+                    .stream().map(TenantAlbumVo.MusicObject::getId)).collect(Collectors.toList());
+            Set<Long> musicSet = new HashSet<>(musicIds);
+            if (musicSet.size() < musicIds.size()) {
+                throw new BizException("不能添加相同的曲目");
+            }
+        }
+
         TenantAlbum tenantAlbum = JSON.parseObject(album.jsonString(), TenantAlbum.class);
         List<TenantAlbumVo.MusicSheetData> musicSheetData = album.getMusicSheetData();
 

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -390,4 +390,10 @@ public interface MusicSheetService extends IService<MusicSheet> {
     Map<Long,MusicSheet> getMapByIds(List<Long> bizIds);
 
     MusicCompareWrapper.SearchData search(MusicCompareWrapper.MusicSearch queryInfo);
+
+    /**
+     * 机构曲目搜索
+     *
+     */
+    MusicCompareWrapper.SearchData searchTenant(MusicCompareWrapper.MusicSearch queryInfo);
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TenantAlbumService.java

@@ -72,6 +72,13 @@ public interface TenantAlbumService extends IService<TenantAlbum>  {
 
     void buyCancel(UserOrderDetailVo userOrderDetailVo);
 
+    /**
+     * 根据机构Id获取专辑
+     *
+     * @param tenantId 机构Id
+     */
+    List<TenantAlbum> getByTenantId(Long tenantId,Boolean status);
+
 
     /**
      * 添加机构专辑数据

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

@@ -54,6 +54,15 @@ public interface UserTenantAlbumRecordService extends IService<UserTenantAlbumRe
     UserTenantAlbumRecord getNewestByTenantIdAndUserId(Long tenantId, Long userId, ClientEnum clientType);
 
     /**
+     * 获取最新的购买记录
+     *
+     * @param tenantId   机构ID
+     * @param userId     用户ID
+     * @param clientType 客户端类型
+     */
+    List<UserTenantAlbumRecord> getNewestByTenantIdAndUserId(Long tenantId, Long userId, ClientEnum clientType, List<Long> tenantAlbumIds);
+
+    /**
      * 获取生效中的专辑ID
      *
      * @param userId

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

@@ -53,34 +53,11 @@ import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.*;
+import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;
-import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
-import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
-import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
-import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
-import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
-import com.yonge.cooleshow.biz.dal.service.MusicFavoriteService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetAuthRecordService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPracticeRecordService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
-import com.yonge.cooleshow.biz.dal.service.MusicTagService;
-import com.yonge.cooleshow.biz.dal.service.PlatformCashAccountRecordService;
-import com.yonge.cooleshow.biz.dal.service.RedisCacheService;
-import com.yonge.cooleshow.biz.dal.service.StudentService;
-import com.yonge.cooleshow.biz.dal.service.StudentStarService;
-import com.yonge.cooleshow.biz.dal.service.SubjectService;
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
-import com.yonge.cooleshow.biz.dal.service.SysMessageService;
-import com.yonge.cooleshow.biz.dal.service.TeacherService;
-import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
-import com.yonge.cooleshow.biz.dal.service.TenantAlbumMusicService;
-import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
-import com.yonge.cooleshow.biz.dal.service.UserAccountService;
-import com.yonge.cooleshow.biz.dal.service.UserOrderService;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
@@ -222,6 +199,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Autowired
     private RedisCacheService redisCacheService;
 
+    @Autowired
+    private TenantAlbumService tenantAlbumService;
+
+    @Autowired
+    private UserTenantAlbumRecordService userTenantAlbumRecordService;
+
     public MusicSheetDao getDao() {
         return musicSheetDao;
     }
@@ -1810,7 +1793,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         List<MusicCompareWrapper.MusicName> musicNames = new ArrayList<>();
         if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("MUSIC")) {
 
-            PageUtil.getPage(queryInfo);
             // 查询曲目列表
             List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
 
@@ -1894,6 +1876,81 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
 
     @Override
+    public MusicCompareWrapper.SearchData searchTenant(MusicCompareWrapper.MusicSearch queryInfo) {
+        MusicCompareWrapper.SearchData searchData = new MusicCompareWrapper.SearchData();
+        List<MusicCompareWrapper.MusicName> musicNames = new ArrayList<>();
+        searchData.setMusicNames(musicNames);
+
+        // 查询学生机构
+        Student student = studentService.getById(queryInfo.getUserId());
+        if (student == null) {
+            throw new BizException("学生不存在");
+        }
+        if (student.getTenantId() == null || student.getTenantId() == -1) {
+            throw new BizException("学生未绑定机构");
+        }
+        // 查询机构下的专辑
+        List<TenantAlbum> albumList = tenantAlbumService.getByTenantId(student.getTenantId(), true);
+        List<Long> albumIds = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(albumList)) {
+            albumIds = albumList.stream().map(TenantAlbum::getId).distinct().collect(Collectors.toList());
+        }
+
+        List<UserTenantAlbumRecord> recordList = userTenantAlbumRecordService
+                .getNewestByTenantIdAndUserId(student.getTenantId(), queryInfo.getUserId(), ClientEnum.STUDENT, albumIds);
+
+        if (CollectionUtils.isNotEmpty(recordList)) {
+            albumIds = recordList.stream().map(UserTenantAlbumRecord::getTenantAlbumId).distinct().collect(Collectors.toList());
+            queryInfo.setTenantAlbumIds(albumIds);
+        } else {
+            return searchData;
+        }
+
+        // 查询曲目列表
+        List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
+        if (CollectionUtils.isNotEmpty(musicIds)) {
+
+
+            MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
+            musicSheetSearch.setMusicSheetIdlist(musicIds);
+            IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
+            List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+            if (CollectionUtils.isNotEmpty(records)) {
+                for (MusicSheetVo record : records) {
+                    MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
+                    musicName.setId(record.getId());
+                    musicName.setName(record.getMusicSheetName());
+                    musicName.setType("MUSIC");
+                    musicName.setHotFlag(record.getHotFlag() != null?record.getHotFlag():YesOrNoEnum.NO);
+                    musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
+                    musicNames.add(musicName);
+                }
+                searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
+            }
+
+            // 是否关注
+            if (queryInfo.getUserId() != null) {
+                List<MusicFavorite> musicFavoriteList = musicFavoriteService.lambdaQuery()
+                        .eq(MusicFavorite::getUserId, queryInfo.getUserId())
+                        .eq(MusicFavorite::getClientType, ClientEnum.STUDENT)
+                        .in(MusicFavorite::getMusicSheetId, musicIds)
+                        .list();
+                if (CollectionUtils.isNotEmpty(musicFavoriteList)) {
+                    Set<Long> set = musicFavoriteList.stream()
+                            .map(MusicFavorite::getMusicSheetId)
+                            .collect(Collectors.toSet());
+                    for (MusicCompareWrapper.MusicName record : musicNames) {
+                        record.setFavorite(set.contains(record.getId()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+                    }
+                }
+            }
+        }
+
+        musicNames.sort(Comparator.comparing(MusicCompareWrapper.MusicName::getSort).reversed());
+        return searchData;
+    }
+
+    @Override
     public Boolean updateMusicImg(MusicImgDto musicImgDto, Long musicSheetId) {
         MusicSheet musicSheet = new MusicSheet();
         musicSheet.setMusicImg(musicImgDto.getMusicImg());

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

@@ -276,6 +276,9 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         if (null == studentVo) {
             return HttpResponseResult.failed("未找到用户信息");
         }
+        if (studentVo.getTenantId() != null && studentVo.getTenantId() > 0) {
+            throw  new BizException("不可邀请机构学生");
+        }
         TeacherVo detail = teacherDao.detail(userId);
         if (null != detail) {
             //身份证号、手机号脱敏

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

@@ -476,6 +476,23 @@ public class TenantAlbumServiceImpl extends ServiceImpl<TenantAlbumMapper, Tenan
         tenantAlbumPurchaseService.updateById(tenantAlbumPurchase);
     }
 
+    @Override
+    public List<TenantAlbum> getByTenantId(Long tenantId,Boolean status) {
+        if (tenantId == null) {
+            return new ArrayList<>();
+        }
+        List<TenantAlbumRef> list = tenantAlbumRefService.lambdaQuery().eq(TenantAlbumRef::getTenantId, tenantId).list();
+        if (CollectionUtils.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        Set<Long> tenantAlbumId = list.stream().map(TenantAlbumRef::getTenantAlbumId).collect(Collectors.toSet());
+        return this.lambdaQuery().in(TenantAlbum::getId, tenantAlbumId)
+                .eq(status != null, TenantAlbum::getStatus, status)
+                .eq(TenantAlbum::getDelFlag,false).list();
+
+
+    }
+
     private void insertAlbumMusic(Long tenantId, TenantAlbum tenantAlbum,
                                   List<TenantAlbumWrapper.MusicSheetData> musicSheetDataList) {
         //曲目表赋值

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

@@ -128,13 +128,13 @@ public class TenantApplyRecordServiceImpl extends ServiceImpl<TenantApplyRecordM
         if (tenantStaff != null) {
             throw new BizException("该手机号已经有机构账号");
         }
-
-        QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
-        sysUserQueryWrapper.lambda().eq(SysUser::getPhone, tenantApply.getPhone());
-        List<SysUser> sysUsers = sysUserMapper.selectList(sysUserQueryWrapper);
-        if (!sysUsers.isEmpty() && sysUsers.stream().anyMatch(next -> next.getUserType().contains(ClientEnum.SYSTEM.getCode()))) {
-            throw new BizException("该手机号已经有系统员工账户");
-        }
+//
+//        QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
+//        sysUserQueryWrapper.lambda().eq(SysUser::getPhone, tenantApply.getPhone());
+//        List<SysUser> sysUsers = sysUserMapper.selectList(sysUserQueryWrapper);
+//        if (!sysUsers.isEmpty() && sysUsers.stream().anyMatch(next -> next.getUserType().contains(ClientEnum.SYSTEM.getCode()))) {
+//            throw new BizException("该手机号已经有系统员工账户");
+//        }
 
         // 查询申请记录 是否存在正在申请中的
         TenantApplyRecord record = this.lambdaQuery()

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

@@ -262,9 +262,9 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
             //获取当前账户的用户类型
             String userType = sysUser.getUserType();
 
-            if (userType.contains(SysUserType.SYSTEM.getCode())){
-                throw new BizException("该手机号已注册平台员工");
-            }
+//            if (userType.contains(SysUserType.SYSTEM.getCode())){
+//                throw new BizException("该手机号已注册平台员工");
+//            }
             //设置默认机构类型
             String tenantUserType = SysUserType.ORGANIZATION.getCode();
             if (StringUtils.isEmpty(userType)) {

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

@@ -20,12 +20,10 @@ import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.toolset.utils.obj.ObjectUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.BeanUtils;
@@ -210,6 +208,7 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         return this.updateById(JSON.parseObject(userTenantAlbumRecord.jsonString(), UserTenantAlbumRecord.class));       
     }
 
+
     /**
      * 获取最新的购买记录
      *
@@ -219,16 +218,32 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
      */
     @Override
     public UserTenantAlbumRecord getNewestByTenantIdAndUserId(Long tenantId, Long userId, ClientEnum clientType) {
-        if (tenantId == null || userId == null || clientType == null) {
+        List<UserTenantAlbumRecord> recordList = getNewestByTenantIdAndUserId(tenantId, userId, clientType, null);
+        if (CollectionUtils.isEmpty(recordList)) {
             return null;
         }
+        return recordList.get(0);
+    }
+    /**
+     * 获取最新的购买记录
+     *
+     * @param tenantId   机构ID
+     * @param userId     用户ID
+     * @param clientType 客户端类型
+     */
+    @Override
+    public List<UserTenantAlbumRecord> getNewestByTenantIdAndUserId(Long tenantId, Long userId, ClientEnum clientType, List<Long> tenantAlbumIds) {
+        if (tenantId == null || userId == null || clientType == null) {
+            return new ArrayList<>();
+        }
         return this.lambdaQuery()
                 .eq(UserTenantAlbumRecord::getTenantId, tenantId)
                 .eq(UserTenantAlbumRecord::getUserId, userId)
                 .eq(UserTenantAlbumRecord::getClientType, clientType)
+                .in(CollectionUtils.isNotEmpty(tenantAlbumIds),UserTenantAlbumRecord::getTenantAlbumId,tenantAlbumIds)
+                .ge(UserTenantAlbumRecord::getEndTime, new Date())
                 .orderByDesc(UserTenantAlbumRecord::getEndTime)
-                .last("limit 1")
-                .one();
+                .list();
     }
 
     @Override

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/music/MusicCompareWrapper.java

@@ -384,6 +384,10 @@ public class MusicCompareWrapper {
         @ApiModelProperty("类型 MUSIC 曲目 ALBUM专辑")
         private String type;
 
+        @ApiModelProperty(value = "机构专辑ID",hidden = true)
+        private List<Long> tenantAlbumIds;
+
+        @ApiModelProperty(hidden = true)
         private Long userId;
     }
 

+ 11 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -806,15 +806,24 @@
     </select>
 
     <select id="searchMusic" resultType="java.lang.Long">
-        select id_ from music_sheet  t
+        select t.id_ from music_sheet  t
+        <if test="param.tenantAlbumIds != null and param.tenantAlbumIds.size() != 0">
+            left join tenant_album_music tam on t.id_ = tam.music_sheet_id_
+        </if>
             <where>
-                t.state_=1 and t.audit_version_ = 0 and del_flag_ = 0 and audit_status_ = 'PASS'
+                t.state_=1 and t.audit_version_ = 0 and t.del_flag_ = 0 and t.audit_status_ = 'PASS'
                 <if test="param.subjectId != null">
                     and ( t.music_subject_ = #{param.subjectId} or t.music_subject_ is null or t.music_subject_ = '')
                 </if>
                 <if test="param.name != null and param.name != ''">
                     and t.music_sheet_name_ like concat('%',#{param.name},'%')
                 </if>
+                <if test="param.tenantAlbumIds != null and param.tenantAlbumIds.size() != 0">
+                    and tam.tenant_album_id_ in
+                    <foreach collection="param.tenantAlbumIds" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
             </where>
         order by t.top_flag_ desc, t.sort_number_ desc, t.favorite_count_ desc
 

+ 13 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java

@@ -422,4 +422,17 @@ public class MusicSheetController extends BaseController {
     }
 
 
+    @ApiOperation(value = "搜索机构")
+    @PostMapping(value="/searchTenant")
+    public HttpResponseResult<MusicCompareWrapper.SearchData> searchTenant(@RequestBody MusicCompareWrapper.MusicSearch queryInfo) {
+
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        queryInfo.setUserId(sysUser.getId());
+        return succeed(musicSheetService.searchTenant(queryInfo));
+    }
+
+
 }

+ 23 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/open/OpenClient.java

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.MusicImgDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MemberPriceSettingsSearch;
+import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.SysConfig;
 import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
@@ -90,6 +91,28 @@ public class OpenClient extends BaseController {
         return HttpResponseResult.succeed(detail);
     }
 
+
+    @GetMapping("/checkPhone")
+    @ApiOperation(value = "检查手机是否已经是机构学生")
+    public HttpResponseResult<Boolean> checkPhone(String phone) {
+
+
+        // 根据手机号 判断是否已经有机构账户
+        SysUser sysUser = sysUserFeignService.queryUserByMobile(phone);
+        if (sysUser == null) {
+            return HttpResponseResult.succeed(true);
+        }
+        Student student = studentService.getById(sysUser.getId());
+        if (student == null) {
+            return HttpResponseResult.succeed(true);
+        }
+        if (student.getTenantId() ==null || student.getTenantId() == -1) {
+            return HttpResponseResult.succeed(true);
+        } else {
+            return HttpResponseResult.succeed(false);
+        }
+    }
+
     @ApiOperation(value = "绑定老师")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "phone", value = "手机号", required = true, dataType = "String"),

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

@@ -65,6 +65,22 @@ public class OpenTenantController {
     }
 
 
+
+    @GetMapping("/checkPhone")
+    @ApiOperation(value = "检查手机是否已经注册机构账户")
+    public HttpResponseResult<Boolean> checkPhone(String phone) {
+
+
+        // 根据手机号 判断是否已经有机构账户
+        TenantStaff tenantStaff = tenantStaffService.getByPhone(phone);
+        if (tenantStaff != null) {
+            return HttpResponseResult.succeed(true);
+        }
+        return HttpResponseResult.succeed(false);
+    }
+
+
+
     @GetMapping("/bindWechat")
     @ApiOperation(value = "绑定微信")
     public HttpResponseResult<Boolean> bindWechat(@RequestParam("phone") String phone,