Pārlūkot izejas kodu

Merge branch 'feature/0721-tenant' of http://git.dayaedu.com/yonge/cooleshow into feature/0721-tenant

zouxuan 1 gadu atpakaļ
vecāks
revīzija
25d094129d
24 mainītis faili ar 186 papildinājumiem un 77 dzēšanām
  1. 2 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantAccountRecordController.java
  2. 15 3
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantUnbindHistoryController.java
  3. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/excel/UserOrderExport.java
  4. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/FileImportInfo.java
  5. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAccountRecord.java
  6. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantApplyRecord.java
  7. 6 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantEntryRecord.java
  8. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/execl/entity/TenantAccountRecordImport.java
  9. 5 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/FileImportInfoServiceImpl.java
  10. 67 25
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  11. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PaymentDivMemberRecordServiceImpl.java
  12. 12 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  13. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantInfoServiceImpl.java
  14. 6 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  15. 0 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/FileImportInfoWrapper.java
  16. 6 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantUnbindHistoryWrapper.java
  17. 8 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/music/MusicCompareWrapper.java
  18. 4 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserMapper.xml
  19. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  20. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantApplyRecordMapper.xml
  21. 6 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml
  22. 7 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java
  23. 0 5
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TeacherController.java
  24. 28 24
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

+ 2 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantAccountRecordController.java

@@ -111,11 +111,11 @@ public class TenantAccountRecordController extends BaseController {
     @PostMapping("/import")
     @ApiOperation(value = "机构流水", notes = "TenantAccountRecordQuery")
     @PreAuthorize("@pcs.hasPermissions('tenantAccountRecord/import')")
-    public R<FileImportInfo> importFile(@RequestBody FileImportInfoWrapper.FileImport wrapper) {
+    public HttpResponseResult<FileImportInfo> importFile(@RequestBody FileImportInfoWrapper.FileImport wrapper) {
 
 
         // 读取数据
-        return R.from(excelAnalyseCoreService.analyseReadExcelData(
+        return HttpResponseResult.succeed(excelAnalyseCoreService.analyseReadExcelData(
                 JSON.parseObject(JSON.toJSONString(wrapper), FileImportInfoWrapper.FileImportInfo.class)));
     }
 

+ 15 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantUnbindHistoryController.java

@@ -7,9 +7,11 @@ import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.biz.dal.entity.Employee;
 import com.yonge.cooleshow.biz.dal.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
 import com.yonge.cooleshow.biz.dal.entity.TenantUnbindHistory;
 import com.yonge.cooleshow.biz.dal.service.EmployeeService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
 import com.yonge.cooleshow.biz.dal.service.TenantStaffService;
 import com.yonge.cooleshow.biz.dal.service.TenantUnbindHistoryService;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantUnbindHistoryWrapper;
@@ -44,6 +46,9 @@ public class TenantUnbindHistoryController {
     @Autowired
     private SysUserService sysUserService;
 
+    @Autowired
+    private TenantInfoService tenantInfoService;
+
     @ApiOperation(value = "查询分页", notes = "机构解绑历史表- 传入 TenantUnbindHistoryWrapper.TenantUnbindHistoryQuery")
     @PostMapping("/page")
     public R<PageInfo<TenantUnbindHistoryWrapper.TenantUnbindHistory>> page(@RequestBody TenantUnbindHistoryWrapper.TenantUnbindHistoryQuery query) {
@@ -59,13 +64,20 @@ public class TenantUnbindHistoryController {
                         .collect(Collectors.toList());
         Map<Long, SysUser> mapByIds = sysUserService.getMapByIds(userIds);
 
+        List<Long> tenantIds =
+                pages.getRecords().stream().map(TenantUnbindHistory::getTenantId).distinct()
+                        .collect(Collectors.toList());
+        Map<Long, TenantInfo> tenantInfoMap = tenantInfoService.getMapByIds(tenantIds);
         List<TenantUnbindHistoryWrapper.TenantUnbindHistory> histories = records.stream().map(next -> {
             TenantUnbindHistoryWrapper.TenantUnbindHistory tenantUnbindHistory =
                     JSON.parseObject(JSON.toJSONString(next), TenantUnbindHistoryWrapper.TenantUnbindHistory.class);
             SysUser orDefault = mapByIds.getOrDefault(next.getVerifyUserId(), new SysUser());
-            tenantUnbindHistory.setVerifyUserName(StringUtils.isEmpty(orDefault.getRealName()) ?
-                    orDefault.getUsername() :
-                    orDefault.getRealName());
+            tenantUnbindHistory.setVerifyUserName(orDefault.getUsername());
+            if(tenantInfoMap.containsKey(next.getTenantId())){
+                TenantInfo tenantInfo = tenantInfoMap.get(next.getTenantId());
+                tenantUnbindHistory.setTenantUserName(tenantInfo.getUsername());
+                tenantUnbindHistory.setTenantPhone(tenantInfo.getPhone());
+            }
             return tenantUnbindHistory;
 
         }).collect(Collectors.toList());

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/excel/UserOrderExport.java

@@ -38,7 +38,7 @@ public class UserOrderExport {
     private OrderStatusEnum status;
     @ExcelProperty(value = "备注", index = 11)
     private String userNote;
-    @ExcelProperty(value = "机构名称", index = 11)
+    @ExcelProperty(value = "机构名称", index = 12)
     private String tenantName;
 
 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/FileImportInfo.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -22,7 +23,7 @@ import java.util.Date;
 public class FileImportInfo implements Serializable {
 
     @ApiModelProperty("主键ID")
-    @TableId(value = "id_")
+    @TableId(value = "id_",type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("数据类型") 

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAccountRecord.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
+import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -21,6 +23,8 @@ import java.math.BigDecimal;
  */
 @Data
 @Builder
+@NoArgsConstructor
+@AllArgsConstructor
 @ApiModel(" TenantAccountRecord-机构流水表")
 @TableName("tenant_account_record")
 public class TenantAccountRecord implements Serializable {

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantApplyRecord.java

@@ -80,7 +80,7 @@ public class TenantApplyRecord implements Serializable {
 	@TableField(value = "create_time_")
     private Date createTime;
 
-    @ApiModelProperty("简介")
+    @ApiModelProperty("简介")
     @TableField(value = "brief_Introduction_")
     private String briefIntroduction;
 

+ 6 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantEntryRecord.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import lombok.Data;
 
 import io.swagger.annotations.ApiModel;
@@ -61,7 +62,7 @@ public class TenantEntryRecord implements Serializable {
 
     @ApiModelProperty("审核状态 DOING、审核中 PASS、通过 UNPASS、不通过") 
 	@TableField(value = "status_")
-    private String status;
+    private AuthStatusEnum status;
 
     @ApiModelProperty("审核人") 
 	@TableField(value = "verify_user_id_")
@@ -79,4 +80,8 @@ public class TenantEntryRecord implements Serializable {
 	@TableField(value = "create_time_")
     private Date createTime;
 
+    @ApiModelProperty("简介")
+    @TableField(value = "brief_Introduction_")
+    private String briefIntroduction;
+
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/execl/entity/TenantAccountRecordImport.java

@@ -40,6 +40,7 @@ public class TenantAccountRecordImport {
     private String settlement;
 
     @ApiModelProperty(value = "入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 CANCEL 退费 ")
+    @ExcelIgnore
     private PostStatusEnum postStatus;
 
     @ExcelIgnore

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

@@ -48,9 +48,11 @@ public class FileImportInfoServiceImpl extends ServiceImpl<FileImportInfoMapper,
      * @return Boolean
      */
     @Override
-    public Boolean add(FileImportInfoWrapper.FileImportInfo fileImportInfo) {    	
-        
-        return this.save(JSON.parseObject(fileImportInfo.jsonString(), FileImportInfo.class));
+    public Boolean add(FileImportInfoWrapper.FileImportInfo fileImportInfo) {
+        FileImportInfo importInfo = JSON.parseObject(fileImportInfo.jsonString(), FileImportInfo.class);
+        boolean save = this.save(importInfo);
+        fileImportInfo.setId(importInfo.getId());
+        return save;
     }
 
     /**

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

@@ -151,6 +151,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private MusicSheetService musicSheetService;
 
     @Autowired
+    private  AlbumFavoriteService albumFavoriteService;
+
+    @Autowired
     private TenantInfoService tenantInfoService;
     
     @Autowired
@@ -1708,43 +1711,82 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             PageUtil.getPage(queryInfo);
             // 查询曲目列表
             List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
-            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.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
-                    musicNames.add(musicName);
+
+            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);
+                        }
+                    }
                 }
-                searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
             }
         }
         if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("ALBUM")) {
 
             // 查询专辑列表
             List<Long> albumIds = musicSheetDao.searchAlbum(PageUtil.getPage(queryInfo),queryInfo);
-            MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
-            musicSheetSearch.setAlbumIds(albumIds);
-            IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
-            List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
-            if (CollectionUtils.isNotEmpty(records)) {
+
+            if (CollectionUtils.isNotEmpty(albumIds)) {
+                MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
+                musicSheetSearch.setAlbumIds(albumIds);
+                IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
+                List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
+                albumIds = albumFavoriteService.selectFavorite(queryInfo.getUserId(), albumIds, ClientEnum.STUDENT);
                 for (MusicAlbumVo record : records) {
-                    MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
-                    musicName.setId(record.getId());
-                    musicName.setName(record.getAlbumName());
-                    musicName.setType("ALBUM");
-                    musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
-                    musicNames.add(musicName);
+                    if (albumIds.contains(record.getId())) {
+                        record.setFavorite(YesOrNoEnum.YES);
+                    } else {
+                        record.setFavorite(YesOrNoEnum.NO);
+                    }
+                }
+                if (CollectionUtils.isNotEmpty(records)) {
+                    for (MusicAlbumVo record : records) {
+                        MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
+                        musicName.setId(record.getId());
+                        musicName.setName(record.getAlbumName());
+                        musicName.setType("ALBUM");
+                        musicName.setHotFlag(record.getHotFlag() !=null?record.getHotFlag():YesOrNoEnum.NO);
+                        musicName.setFavorite(record.getFavorite());
+                        musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
+                        musicNames.add(musicName);
+                    }
+                    searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
                 }
-                searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
             }
         }
         musicNames.sort(Comparator.comparing(MusicCompareWrapper.MusicName::getSort).reversed());
+        if (musicNames.size() > queryInfo.getRows()) {
+            musicNames = musicNames.subList(0,queryInfo.getRows());
+        }
         searchData.setMusicNames(musicNames);
         return searchData;
     }

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

@@ -246,9 +246,9 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
             TenantAlbumWrapper.TenantAlbumContent tenantAlbumContent = JSON
                     .parseObject(userPaymentOrder.getBizContent(), TenantAlbumWrapper.TenantAlbumContent.class);
 
-            tenantdivMap.put(-1L, tenantAlbumContent.getSalePrice());
 
-            BigDecimal tenantAmount = tenantAlbumContent.getSalePrice().subtract(tenantAlbumContent.getOriginalPrice());
+            BigDecimal tenantAmount = tenantAlbumContent.getSalePrice().subtract(tenantAlbumContent.getOriginalPrice())
+                    .multiply(BigDecimal.valueOf(tenantAlbumContent.getBuyMultiple()));
 
             tenantdivMap.merge(tenantAlbumContent.getTenantId(), tenantAmount, BigDecimal::add);
             tenantdivMap.merge(-1L, tenantAmount, BigDecimal::subtract);

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

@@ -521,6 +521,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         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);
@@ -540,6 +541,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             } else if (!sysUser.getUserType().contains(ClientEnum.STUDENT.getCode())) {
                 sysUser.setUserType(sysUser.getUserType() + "," + ClientEnum.STUDENT.getCode());
             }
+            sysUser.setGender(student.getGender());
             employeeDao.updateSysUser(sysUser);
         }
 
@@ -597,6 +599,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                     .set(Student::getTenantId, studentInfo.getTenantId())
                     .set(Student::getUserId, sysUser.getId())
                     .set(Student::getUpdateTime, new Date())
+                    .set(Student::getAvatar,studentInfo.getAvatar())
                     .eq(Student::getUserId, studentInfo.getId())
                     .update();
         } else {
@@ -605,8 +608,12 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             newStudent.setSubjectId(studentInfo.getSubjectId());
             newStudent.setUpdateTime(new Date());
             newStudent.setTenantId(studentInfo.getTenantId());
+            newStudent.setAvatar(studentInfo.getAvatar());
             this.getBaseMapper().updateById(newStudent);
         }
+        com.yonge.cooleshow.biz.dal.entity.SysUser sysUser = sysUserMapper.selectById(studentInfo.getId());
+        sysUser.setGender(studentInfo.getGender());
+        sysUserMapper.updateById(sysUser);
         return true;
     }
 
@@ -654,7 +661,11 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             sysUser = JSON.parseObject(JSON.toJSONString(studentInfo),
                     com.yonge.cooleshow.biz.dal.entity.SysUser.class);
             sysUser.setPhone(studentInfo.getPhone());
-            sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
+            if (StringUtils.isEmpty(studentInfo.getAvatar())) {
+                sysUser.setAvatar(sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD));
+            } else {
+                sysUser.setAvatar(studentInfo.getAvatar());
+            }
             sysUser.setGender(studentInfo.getGender());
             sysUser.setUserType("STUDENT");
             sysUser.setBirthdate(studentInfo.getBirthdate());

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

@@ -256,7 +256,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
             String userType = sysUser.getUserType();
 
             if (userType.contains(SysUserType.SYSTEM.getCode())){
-                throw new BizException("该手机号已注册机构");
+                throw new BizException("该手机号已注册平台员工");
             }
             //设置默认机构类型
             String tenantUserType = SysUserType.ORGANIZATION.getCode();

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

@@ -229,6 +229,12 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         UserOrderVo userOrderVo = baseMapper.detailById(id);
         if (null != userOrderVo) {
             userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
+            if (userOrderVo.getTenantId() != null) {
+                TenantInfo tenantInfo = tenantInfoService.getById(userOrderVo.getTenantId());
+                if (tenantInfo != null) {
+                    userOrderVo.setTenantName(tenantInfo.getName());
+                }
+            }
         }
         return userOrderVo;
     }

+ 0 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/FileImportInfoWrapper.java

@@ -56,9 +56,6 @@ public class FileImportInfoWrapper {
     @ApiModel(" FileImportInfo-文件数据导入")
     public static class FileImportInfo {
 
-        @ApiModelProperty("教材编号")
-        private String lessonId;
-
         @ApiModelProperty("主键ID")
         private Long id;
 

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

@@ -75,6 +75,12 @@ public class TenantUnbindHistoryWrapper {
         @ApiModelProperty("机构名称")
         private String tenantName;
 
+        @ApiModelProperty("机构员工")
+        private String tenantUserName;
+
+        @ApiModelProperty("机构员工")
+        private String tenantPhone;
+
         @ApiModelProperty("用户ID")
         private Long userId;
 

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

@@ -9,6 +9,7 @@ import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.enums.music.MusicCompareType;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
@@ -382,6 +383,8 @@ public class MusicCompareWrapper {
 
         @ApiModelProperty("类型 MUSIC 曲目 ALBUM专辑")
         private String type;
+
+        private Long userId;
     }
 
 
@@ -421,6 +424,11 @@ public class MusicCompareWrapper {
         @ApiModelProperty("名称 ")
         private String name;
 
+        @ApiModelProperty("收藏 0:否,1:是")
+        private YesOrNoEnum favorite = YesOrNoEnum.NO;
+
+        @ApiModelProperty(value = "是否热门曲谱(0:否;1:是)")
+        private YesOrNoEnum hotFlag = YesOrNoEnum.NO;  //是否热门曲谱(0:否;1:是)
 
         @ApiModelProperty("类型 MUSIC 曲目 ALBUM专辑")
         private String type;

+ 4 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -54,7 +54,7 @@
         </choose>
         left join sys_user su on su.id_ = t.user_id_
         <where>
-            t.lock_flag_ = 0 and su.del_flag_ = 0 AND t.tenant_id_ != -1
+            t.lock_flag_ = 0 and su.del_flag_ = 0
             <if test="keyword != null and keyword != ''">
                 and (
                 su.real_name_ like concat('%',#{keyword},'%')
@@ -63,6 +63,9 @@
                 or su.id_ like concat('%',#{keyword},'%')
                 )
             </if>
+            <if test="client.code == 'STUDENT'">
+                AND t.tenant_id_ == -1
+            </if>
         </where>
 
     </select>

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

@@ -107,7 +107,7 @@
         u.del_flag_ as delFlag,
         (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
         (case when isnull(b.user_id_) then 0 else 1 end) as isBank,
-        (case when t.tenant_id_ = -1 then '平台老师' else ti.name_ end) as tenantName
+        (case when t.tenant_id_ = -1 then '平台' else ti.name_ end) as tenantName
         FROM teacher t
         left join sys_user u on t.user_id_ = u.id_
         left join (

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

@@ -82,7 +82,7 @@
         <if test="id != null">
             and tenant_apply_record_id_ = #{id}
         </if>
-
+        order by update_time_ DESC
     </select>
     <select id="queryNow"
             resultType="com.yonge.cooleshow.biz.dal.wrapper.TenantApplyRecordWrapper$TenantApplyRecord">

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

@@ -127,6 +127,10 @@
         FROM user_order t
         left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         left join sys_user u on t.user_id_ = u.id_
+
+        <if test="null != param.search and '' != param.search">
+            left join tenant_info ti on t.tenant_id_ = ti.id_
+        </if>
         <where>
             u.del_flag_ = 0
             <if test="null != param.orderClient and '' != param.orderClient">
@@ -142,7 +146,8 @@
                 AND (
                 t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
                 u.username_ LIKE CONCAT('%', #{param.search}, '%') or
-                u.phone_ LIKE CONCAT('%', #{param.search}, '%')
+                u.phone_ LIKE CONCAT('%', #{param.search}, '%') or
+                ti.name_ LIKE CONCAT('%', #{param.search}, '%')
                 )
             </if>
             <if test="null != param.searchNo and '' != param.searchNo">

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

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.student.controller;
 
 import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
+import com.yonge.toolset.base.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -411,6 +412,12 @@ public class MusicSheetController extends BaseController {
     @ApiOperation(value = "搜索")
     @PostMapping(value="/search")
     public HttpResponseResult<MusicCompareWrapper.SearchData> search(@RequestBody MusicCompareWrapper.MusicSearch queryInfo) {
+
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        queryInfo.setUserId(sysUser.getId());
         return succeed(musicSheetService.search(queryInfo));
     }
 

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

@@ -58,15 +58,10 @@ public class TeacherController extends BaseController {
     @GetMapping("/detail/{id}")
     @ApiOperation(value = "详情", notes = "传入id")
     public HttpResponseResult<TeacherVo> detail(@PathVariable("id") Long userId) {
-        TenantInfo tenantInfo = getTenantInfo();
-
         TeacherVo detail = teacherService.findTeacherDetailInfo(userId);
         if (detail == null) {
             throw new BizException("数据不存在");
         }
-        if (tenantInfo.getId().equals(detail.getTenantId())) {
-            throw new BizException("非法请求");
-        }
         if (!CollectionUtils.isEmpty(detail.getStyleVideo())) {
             List<TeacherStyleVideo> styleVideo = detail.getStyleVideo();
             List<TeacherStyleVideo> collect =

+ 28 - 24
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -109,30 +110,33 @@ public class OpenStudentController extends BaseController {
                 if (one.getTenantId().equals(-1L)) {
                     throw new BizException("该手机号已经注册为平台学生");
                 }
-                if (one.getTenantId().equals(tenantId)) {
-                    //已经注册当前机构,请勿重复注册
-                    throw new BizException(5004, tenantInfo.getName());
-                }
+//                if (one.getTenantId().equals(tenantId)) {
+//                    //已经注册当前机构,请勿重复注册
+//                    throw new BizException(5004, tenantInfo.getName());
+//                }
                 // 转到其他机构
-                if ((student.getUpdateTenant() == null ||
-                        !student.getUpdateTenant())) {
-                    throw new BizException(5004, "该手机号已经注册为其他平台学生");
-                }
-                // 退群
-                List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
-                        .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
-                        .eq(ImGroupMember::getIsAdmin, false)
-                        .eq(ImGroupMember::getUserId, one.getUserId())
-                        .list();
-                List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
-                        .distinct().collect(Collectors.toList());
-                groupIdList.forEach(groupId -> {
-                    try {
-                        imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
-                    } catch (Exception e) {
-                        log.error("学生注册,切换机构退群失败:{}", e.getMessage());
+                if ((!Objects.equals(student.getTenantId(), one.getTenantId()))) {
+                    if(student.getUpdateTenant() == null || Boolean.FALSE.equals(student.getUpdateTenant())){
+                        TenantInfo oldTenant = tenantInfoService.getById(one.getTenantId());
+                        throw new BizException(5004, oldTenant.getName());
+                    } else {
+                        // 退群
+                        List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
+                                .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
+                                .eq(ImGroupMember::getIsAdmin, false)
+                                .eq(ImGroupMember::getUserId, one.getUserId())
+                                .list();
+                        List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
+                                .distinct().collect(Collectors.toList());
+                        groupIdList.forEach(groupId -> {
+                            try {
+                                imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
+                            } catch (Exception e) {
+                                log.error("学生注册,切换机构退群失败:{}", e.getMessage());
+                            }
+                        });
                     }
-                });
+                }
 
                 // 更新头像
                 if (StringUtils.isEmpty(student.getAvatar())) {
@@ -152,9 +156,8 @@ public class OpenStudentController extends BaseController {
             student.setAvatar(avatar);
         }
 
-        StudentWrapper.Student studentInfo = JSON.parseObject(JSON.toJSONString(student), StudentWrapper.Student.class);
+        Student studentInfo = JSON.parseObject(JSON.toJSONString(student), Student.class);
         studentInfo.setTenantId(tenantInfo.getId());
-        studentService.save(studentInfo);
 
         // 加好友
         if (student.getId() == null) {
@@ -165,6 +168,7 @@ public class OpenStudentController extends BaseController {
             teacherList.forEach(next -> imUserFriendService.saveUserFriend(next.getUserId(),
                     new HashSet<>(ImmutableList.of(sysUser.getId()))));
         }
+        studentService.saveOrUpdate(studentInfo);
         return succeed();
     }
 }