Quellcode durchsuchen

Merge branch 'develop-new' of http://git.dayaedu.com/yonge/cooleshow into test

zouxuan vor 1 Jahr
Ursprung
Commit
077f160b1c
19 geänderte Dateien mit 230 neuen und 121 gelöschten Zeilen
  1. 8 7
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/SysMusicCompareRecordController.java
  2. 16 44
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/redis/config/RedisConfig.java
  3. 59 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/redis/config/RedisConfigBak.java
  4. 0 16
      cooleshow-gateway/gateway-web/src/main/resources/bootstrap-dev.properties
  5. 16 0
      cooleshow-gateway/gateway-web/src/main/resources/bootstrap-dev.yml
  6. 2 0
      cooleshow-gateway/gateway-web/src/main/resources/bootstrap-prod.yml
  7. 16 0
      cooleshow-gateway/gateway-web/src/main/resources/bootstrap-test.yml
  8. 39 0
      cooleshow-gateway/gateway-web/src/main/resources/logback-dev.xml
  9. 0 29
      cooleshow-gateway/gateway-web/src/main/resources/logback-spring.xml
  10. 39 0
      cooleshow-gateway/gateway-web/src/main/resources/logback-test.xml
  11. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentDao.java
  12. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysMusicCompareWeekDataDao.java
  13. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java
  14. 13 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMusicCompareRecordServiceImpl.java
  15. 5 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  16. 5 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantGroupServiceImpl.java
  17. 5 7
      cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml
  18. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml
  19. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareWeekDataMapper.xml

+ 8 - 7
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/SysMusicCompareRecordController.java

@@ -10,8 +10,8 @@ import com.yonge.toolset.base.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -29,7 +29,7 @@ public class SysMusicCompareRecordController extends BaseController {
     @ApiOperation("学生端学员评测记录")
     @PostMapping("queryStudentTrain")
     public HttpResponseResult<PageInfo<SysMusicCompareRecordQueryInfo.StudentMusicCompareRecord>>
-    queryStudentTrain(SysMusicCompareRecordQueryInfo.StudentMusicCompareRecordQuery query){
+    queryStudentTrain(@RequestBody SysMusicCompareRecordQueryInfo.StudentMusicCompareRecordQuery query){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("获取用户信息失败");
@@ -41,7 +41,7 @@ public class SysMusicCompareRecordController extends BaseController {
     @ApiOperation("学员训练统计以及基本信息查询")
     @PostMapping("studentTrainStat")
     public HttpResponseResult<SysMusicCompareRecordQueryInfo.StudentMusicCompareRecordDto>
-    studentTrainStat(SysMusicCompareRecordQueryInfo.StudentMusicCompareRecordQuery query){
+    studentTrainStat(@RequestBody SysMusicCompareRecordQueryInfo.StudentMusicCompareRecordQuery query){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("获取用户信息失败");
@@ -51,8 +51,9 @@ public class SysMusicCompareRecordController extends BaseController {
     }
 
     @ApiOperation("云教练排行榜")
-    @GetMapping("rankingList")
-    public HttpResponseResult<SysMusicCompareRecordQueryInfo.StatDto> rankingList(SysMusicCompareRecordQueryInfo.StudentCompareRecordQueryInfo queryInfo){
+    @PostMapping("rankingList")
+    public HttpResponseResult<SysMusicCompareRecordQueryInfo.StatDto> rankingList(
+            @RequestBody SysMusicCompareRecordQueryInfo.StudentCompareRecordQueryInfo queryInfo){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("获取用户信息失败");
@@ -63,8 +64,8 @@ public class SysMusicCompareRecordController extends BaseController {
     }
 
     @ApiOperation("学员训练数据统计")
-    @GetMapping("studentTrainData")
-    public HttpResponseResult studentTrainData(SysMusicCompareRecordQueryInfo.TeacherCompareRecordQueryInfo queryInfo){
+    @PostMapping("studentTrainData")
+    public HttpResponseResult studentTrainData(@RequestBody SysMusicCompareRecordQueryInfo.TeacherCompareRecordQueryInfo queryInfo){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("获取用户信息失败");

+ 16 - 44
cooleshow-common/src/main/java/com/yonge/cooleshow/common/redis/config/RedisConfig.java

@@ -1,59 +1,31 @@
 package com.yonge.cooleshow.common.redis.config;
 
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.RedisPassword;
-import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
-import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
+import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
 
-import java.io.Serializable;
-
 @Configuration
 public class RedisConfig {
 
-	@Value("${spring.redis.host}")
-	private String host;
-	
-	@Value("${spring.redis.port}")
-	private int port;
-	
-	@Value("${spring.redis.password}")
-	private String password;
-	
-	@Value("${spring.redis.database}")
-	private int database;
-
-	@Bean
-	public JedisConnectionFactory jedisConnectionFactory() {
-		RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
-		config.setHostName(host);
-		config.setPort(port);
-		if (StringUtils.isNotBlank(password)) {
-			config.setPassword(RedisPassword.of(password));
-		}
-		config.setDatabase(database);
-
-		JedisConnectionFactory factory = new JedisConnectionFactory(config);
-		return factory;
-	}
-
 	@Bean
-	public RedisTemplate<String, Serializable> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
-		RedisTemplate<String, Serializable> redisTemplate = new RedisTemplate<>();
-
-		StringRedisSerializer stringSerializer = new StringRedisSerializer();
-
-		redisTemplate.setKeySerializer(stringSerializer);
-		redisTemplate.setHashKeySerializer(stringSerializer);
-		redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
-		redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
-		redisTemplate.setConnectionFactory(jedisConnectionFactory);
+	public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
+		// 定义redis模板
+		RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
+		redisTemplate.setConnectionFactory(redisConnectionFactory);
+
+		// 创建序列号对象
+		StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+		GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
+
+		// 设置序列化器
+		redisTemplate.setKeySerializer(stringRedisSerializer);
+		redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
+		redisTemplate.setHashKeySerializer(stringRedisSerializer);
+		redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
+		redisTemplate.afterPropertiesSet();
 		return redisTemplate;
 	}
 

+ 59 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/redis/config/RedisConfigBak.java

@@ -0,0 +1,59 @@
+package com.yonge.cooleshow.common.redis.config;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisPassword;
+import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
+import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.io.Serializable;
+
+//@Configuration
+public class RedisConfigBak {
+
+	/*@Value("${spring.redis.host}")
+	private String host;
+	
+	@Value("${spring.redis.port}")
+	private int port;
+	
+	@Value("${spring.redis.password}")
+	private String password;
+	
+	@Value("${spring.redis.database}")
+	private int database;
+
+	@Bean
+	public JedisConnectionFactory jedisConnectionFactory() {
+		RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
+		config.setHostName(host);
+		config.setPort(port);
+		if (StringUtils.isNotBlank(password)) {
+			config.setPassword(RedisPassword.of(password));
+		}
+		config.setDatabase(database);
+
+		JedisConnectionFactory factory = new JedisConnectionFactory(config);
+		return factory;
+	}
+
+	@Bean
+	public RedisTemplate<String, Serializable> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
+		RedisTemplate<String, Serializable> redisTemplate = new RedisTemplate<>();
+
+		StringRedisSerializer stringSerializer = new StringRedisSerializer();
+
+		redisTemplate.setKeySerializer(stringSerializer);
+		redisTemplate.setHashKeySerializer(stringSerializer);
+		redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
+		redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
+		redisTemplate.setConnectionFactory(jedisConnectionFactory);
+		return redisTemplate;
+	}*/
+
+}

+ 0 - 16
cooleshow-gateway/gateway-web/src/main/resources/bootstrap-dev.properties

@@ -1,16 +0,0 @@
-#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
-#spring.profiles.active=dev
-#\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=10.206.0.17:8848
-#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
-spring.cloud.nacos.config.namespace=6f8374a9-598f-4889-bb17-476070ffb8de
-#\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
-spring.cloud.nacos.config.group=DEFAULT_GROUP
-#\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}
-spring.cloud.nacos.config.prefix=gateway-web
-#\u6307\u5b9a\u6587\u4ef6\u540e\u7f00
-spring.cloud.nacos.config.file-extension=yaml
-#\u662f\u5426\u52a8\u6001\u5237\u65b0
-spring.cloud.nacos.config.refresh.enabled=true
-#\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
-spring.cloud.nacos.config.enabled=true

+ 16 - 0
cooleshow-gateway/gateway-web/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,16 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.17:8848
+        namespace: 6f8374a9-598f-4889-bb17-476070ffb8de
+        group: DEFAULT_GROUP
+        prefix: gateway-web
+        file-extension: yaml
+        refresh-enabled: true
+        enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true
+logging:
+  config: classpath:logback-dev.xml

+ 2 - 0
cooleshow-gateway/gateway-web/src/main/resources/bootstrap-prod.yml

@@ -10,3 +10,5 @@ spring:
         refresh:
           enabled: true
         enabled: true
+logging:
+  config: classpath:logback-spring.xml

+ 16 - 0
cooleshow-gateway/gateway-web/src/main/resources/bootstrap-test.yml

@@ -0,0 +1,16 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.17:8848
+        namespace: 6bb97710-4f6e-4bac-a5f0-4b860d4da9bb
+        group: DEFAULT_GROUP
+        prefix: gateway-web
+        file-extension: yaml
+        refresh-enabled: true
+        enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true
+logging:
+  config: classpath:logback-test.xml

+ 39 - 0
cooleshow-gateway/gateway-web/src/main/resources/logback-dev.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="10 seconds">
+
+	<property name="LOG_HOME" value="/mdata/cooleshow-dev/jenkins/logs/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="CONSOLE_LOG_PATTERN"
+		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
+
+	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder charset="UTF-8">
+			<pattern>${CONSOLE_LOG_PATTERN}</pattern>
+		</encoder>
+	</appender>
+
+	<appender name="file"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+			<FileNamePattern>${LOG_HOME}</FileNamePattern>
+			<MaxHistory>90</MaxHistory>
+			<TimeBasedFileNamingAndTriggeringPolicy
+				class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+				<MaxFileSize>20MB</MaxFileSize>
+			</TimeBasedFileNamingAndTriggeringPolicy>
+		</rollingPolicy>
+
+		<encoder>
+			<pattern>${CONSOLE_LOG_PATTERN}</pattern>
+		</encoder>
+	</appender>
+
+	<logger name="com.yonge" level="INFO" />
+
+	<!--开发环境:打印控制台 -->
+	<springProfile name="dev">
+		<root level="INFO">
+			<appender-ref ref="stdout" />
+			<appender-ref ref="file" />
+		</root>
+	</springProfile>
+</configuration>

+ 0 - 29
cooleshow-gateway/gateway-web/src/main/resources/logback-spring.xml

@@ -29,35 +29,6 @@
 
 	<logger name="com.yonge" level="INFO" />
 
-	<!--本地环境:打印控制台 -->
-	<springProfile name="local">
-		<root level="INFO">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
-	<!--开发环境:打印控制台 -->
-	<springProfile name="dev">
-		<root level="INFO">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
-	
-	<springProfile name="test">
-		<root level="INFO">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
-
-	<springProfile name="pre">
-		<root level="INFO">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
-
 	<!--生产环境:输出到文件 -->
 	<springProfile name="prod">
 		<root level="INFO">

+ 39 - 0
cooleshow-gateway/gateway-web/src/main/resources/logback-test.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="10 seconds">
+
+	<property name="LOG_HOME" value="/mdata/cooleshow-test/jenkins/logs/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="CONSOLE_LOG_PATTERN"
+		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
+
+	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder charset="UTF-8">
+			<pattern>${CONSOLE_LOG_PATTERN}</pattern>
+		</encoder>
+	</appender>
+
+	<appender name="file"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+			<FileNamePattern>${LOG_HOME}</FileNamePattern>
+			<MaxHistory>90</MaxHistory>
+			<TimeBasedFileNamingAndTriggeringPolicy
+				class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+				<MaxFileSize>20MB</MaxFileSize>
+			</TimeBasedFileNamingAndTriggeringPolicy>
+		</rollingPolicy>
+
+		<encoder>
+			<pattern>${CONSOLE_LOG_PATTERN}</pattern>
+		</encoder>
+	</appender>
+
+	<logger name="com.yonge" level="INFO" />
+
+	<springProfile name="test">
+		<root level="INFO">
+			<appender-ref ref="stdout" />
+			<appender-ref ref="file" />
+		</root>
+	</springProfile>
+
+</configuration>

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentDao.java

@@ -73,7 +73,7 @@ public interface StudentDao extends BaseMapper<Student> {
      */
     List<MyFollow> queryMyFollow(@Param("page") IPage page, @Param("param") QueryMyFollowSearch query);
 
-    List<Map<Integer, String>> getStudentSubjectMapList(List<Long> studentIds);
+    List<Map<Integer, String>> getStudentSubjectMapList(@Param("studentIds") List<Long> studentIds);
 
     int countStudentsWithTenant(Map<String, Object> params);
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysMusicCompareWeekDataDao.java

@@ -12,7 +12,7 @@ public interface SysMusicCompareWeekDataDao extends BaseDAO<Integer, SysMusicCom
     SysMusicCompareWeekData getWithUserAndMonday(@Param("userId") Long userId,
                                                  @Param("monday") String monday);
 
-    List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> getUserTrainStat(@Param("monday") String monday,
+    List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> queryUserTrainStat(@Param("monday") String monday,
                                                                                  @Param("orderType") Integer orderType,
                                                                                  @Param("heardLevel") String heardLevel,
                                                                                  @Param("tenantId") Long tenantId);

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

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
@@ -24,6 +25,8 @@ import java.util.List;
  * @date 2022-03-18
  */
 public interface TeacherService extends IService<Teacher> {
+    TeacherDao getDao();
+
     /***
      * 查询老师详情
      * @author liweifan

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

@@ -6,10 +6,7 @@ import com.google.common.collect.Lists;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.dao.SysMusicCompareRecordDao;
-import com.yonge.cooleshow.biz.dal.dto.IndexBaseDto;
-import com.yonge.cooleshow.biz.dal.dto.IndexBaseMonthData;
-import com.yonge.cooleshow.biz.dal.dto.StudentTrainChartDto;
-import com.yonge.cooleshow.biz.dal.dto.StudentTrainOverviewDto;
+import com.yonge.cooleshow.biz.dal.dto.*;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.FeatureType;
@@ -452,9 +449,8 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
     @Override
     public SysMusicCompareRecordQueryInfo.StatDto rankingList(SysMusicCompareRecordQueryInfo.StudentCompareRecordQueryInfo queryInfo) {
 		SysMusicCompareRecordQueryInfo.StatDto result = new SysMusicCompareRecordQueryInfo.StatDto();
-		SysMusicCompareRecordQueryInfo.MusicCompareRankingDto head = new SysMusicCompareRecordQueryInfo.MusicCompareRankingDto();
-		head.setUserId(queryInfo.getUserId());
-		List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> userTrainStat = sysMusicCompareWeekDataService.getDao().getUserTrainStat(queryInfo.getStartTime(),
+		SysMusicCompareRecordQueryInfo.MusicCompareRankingDto head = null;
+		List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> userTrainStat = sysMusicCompareWeekDataService.getDao().queryUserTrainStat(queryInfo.getStartTime(),
 				queryInfo.getOrderType(),
 				Objects.isNull(queryInfo.getHeardLevel())?null:queryInfo.getHeardLevel().getCode(),
 				queryInfo.getTenantId());
@@ -487,13 +483,18 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		}
 		Map<String,Object> params = new HashMap<String, Object>(1);
 		params.put("tenantId", queryInfo.getTenantId());
-		head.setStudentNum(studentService.getDao().countStudentsWithTenant(params));
-		if(StringUtils.isBlank(head.getAvatar())){
-			SysUser user = sysUserService.findUserById(queryInfo.getUserId());
-			if(user != null){
-				head.setAvatar(user.getAvatar());
+		if(Objects.isNull(head)){
+			head = new SysMusicCompareRecordQueryInfo.MusicCompareRankingDto();
+			BasicUserInfo basicUserInfo = teacherService.getDao().getBasicUserInfo(queryInfo.getUserId());
+			head.setUserId(basicUserInfo.getUserId());
+			head.setAvatar(basicUserInfo.getAvatar());
+			head.setStudentName(basicUserInfo.getUsername());
+			List<Subject> subjects = teacherService.getDao().querySubject(basicUserInfo.getUserId());
+			if(CollectionUtils.isNotEmpty(subjects)){
+				head.setSubjectName(subjects.stream().map(e->e.getName()).collect(Collectors.joining()));
 			}
 		}
+		head.setStudentNum(studentService.getDao().countStudentsWithTenant(params));
 		result.setHead(head);
 		detail.sort(Comparator.comparing(SysMusicCompareRecordQueryInfo.MusicCompareRankingDto::getRankNum).
 				thenComparing(SysMusicCompareRecordQueryInfo.MusicCompareRankingDto::getUserId));

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

@@ -198,6 +198,11 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
 
     @Override
+    public TeacherDao getDao() {
+        return baseMapper;
+    }
+
+    @Override
     public TeacherVo detail(Long userId) {
         TeacherVo detail = baseMapper.detail(userId);
         if (null == detail) {

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

@@ -292,6 +292,7 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
         }
         studentDao.update(null, Wrappers.<Student>lambdaUpdate()
                 .eq(Student::getTenantId, group.getTenantId())
+                .eq(Student::getTenantGroupId, id)
                 .set(Student::getTenantGroupId, -1L));
         return removeById(id);
     }
@@ -306,8 +307,10 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
     @Override
     public List<TenantGroupWrapper.TenantGroupMember> queryGroupMember(Long tenantId, Long tenantGroupId) {
         StudentSearch studentSearch = new StudentSearch();
-        studentSearch.setRows(1);
-        studentSearch.setPage(9999);
+        studentSearch.setTenantId(tenantId);
+        studentSearch.setTenantGroupId(tenantGroupId);
+        studentSearch.setRows(9999);
+        studentSearch.setPage(1);
         List<StudentVo> studentVos = studentDao.selectPage(PageUtil.getPage(studentSearch), studentSearch);
         if (studentVos.isEmpty()) {
             return new ArrayList<>();

+ 5 - 7
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -310,7 +310,7 @@
     <select id="getStudentSubjectMapList" resultType="java.util.Map">
         SELECT stu.user_id_ 'key',sub.name_ 'value'
         FROM student stu
-        LEFT JOIN `subject` sub ON stu.subject_id_list_ = sub.id_
+        LEFT JOIN `subject` sub ON stu.subject_id_ = sub.id_
         WHERE stu.user_id_ IN
         <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
             #{studentId}
@@ -318,12 +318,10 @@
     </select>
 
     <select id="countStudentsWithTenant" resultType="int">
-        SELECT
-        COUNT(su.id_)
-        FROM
-        sys_user su
+        SELECT COUNT(su.id_) FROM sys_user su
+        left join student s ON s.user_id_ = su.id_
         WHERE
-        su.tenant_id_ = #{tenantId}
+        s.tenant_id_ = #{tenantId}
         AND su.del_flag_=0 AND su.lock_flag_=0
         AND FIND_IN_SET('STUDENT',su.user_type_)
         <if test="search != null">
@@ -360,7 +358,7 @@
         select ifnull(tenant_group_id_,-1) tenantGroupId, count(user_id_) count
         from student
         <where>
-            lock_flag_ = 0
+            hide_flag_ = 0
             <if test="tenantId != null">
                 AND tenant_id_ =#{tenantId}
             </if>

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

@@ -404,7 +404,7 @@
 		<include refid="global.limit"/>
 	</select>
 	<select id="countWeChatStudentTrainData" resultType="java.lang.Integer">
-		select COUNT(st.user_id_) from
+		select COUNT(c.userId) from
 		(
 		select st.user_id_                                                 userId,
 		su.avatar_                                             avatar,

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

@@ -83,7 +83,7 @@
 		SELECT * FROM sys_music_compare_week_data WHERE user_id_=#{userId} AND monday_=#{monday}
 	</select>
 
-	<select id="getUserTrainStat" resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$MusicCompareRankingDto">
+	<select id="queryUserTrainStat" resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$MusicCompareRankingDto">
 		SELECT
 		smcwd.user_id_ userId,
 			su.avatar_ avatar,