刘俊驰 1 year ago
parent
commit
a0f4c8067e
38 changed files with 149 additions and 135 deletions
  1. 3 2
      audio-analysis/src/main/resources/bootstrap-prod.yml
  2. 1 1
      audio-analysis/src/main/resources/logback-spring.xml
  3. 0 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/TenantActivationCodeController.java
  4. 3 3
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserMusicController.java
  5. 5 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java
  6. 3 3
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/UserMusicController.java
  7. 4 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/UserOrderController.java
  8. 1 4
      cooleshow-app/src/main/resources/bootstrap-prod.yml
  9. 1 2
      cooleshow-app/src/main/resources/logback-spring.xml
  10. 2 0
      cooleshow-auth/auth-server/src/main/resources/bootstrap-pre.yml
  11. 1 2
      cooleshow-auth/auth-server/src/main/resources/bootstrap-prod.yml
  12. 1 1
      cooleshow-auth/auth-server/src/main/resources/logback-spring.xml
  13. 1 1
      cooleshow-bbs/src/main/resources/logback-spring.xml
  14. 0 15
      cooleshow-cms/src/main/resources/bootstrap-pre.properties
  15. 15 0
      cooleshow-cms/src/main/resources/bootstrap-pre.yml
  16. 0 16
      cooleshow-cms/src/main/resources/bootstrap-prod.properties
  17. 15 0
      cooleshow-cms/src/main/resources/bootstrap-prod.yml
  18. 1 1
      cooleshow-cms/src/main/resources/logback-spring.xml
  19. 1 1
      cooleshow-gateway/gateway-web/src/main/resources/logback-spring.xml
  20. 1 1
      cooleshow-mall/mall-admin/src/main/resources/logback-spring.xml
  21. 1 1
      cooleshow-mall/mall-portal/src/main/resources/logback-spring.xml
  22. 4 2
      cooleshow-task/src/main/resources/bootstrap-prod.yml
  23. 1 1
      cooleshow-task/src/main/resources/logback-spring.xml
  24. 1 1
      cooleshow-user/user-admin/src/main/resources/logback-spring.xml
  25. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserMusicService.java
  26. 21 22
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  27. 16 15
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  28. 15 23
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantActivationCodeServiceImpl.java
  29. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserMusicServiceImpl.java
  30. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java
  31. 1 1
      cooleshow-user/user-classroom/src/main/resources/logback-spring.xml
  32. 1 1
      cooleshow-user/user-student/src/main/resources/logback-spring.xml
  33. 1 1
      cooleshow-user/user-teacher/src/main/resources/logback-spring.xml
  34. 1 1
      cooleshow-user/user-tenant/src/main/resources/logback-spring.xml
  35. 1 1
      cooleshow-user/user-website/src/main/resources/logback-spring.xml
  36. 14 0
      cooleshow-websocket/src/main/resources/bootstrap-pre.yml
  37. 4 4
      cooleshow-websocket/src/main/resources/bootstrap-prod.yml
  38. 1 1
      cooleshow-websocket/src/main/resources/logback-spring.xml

+ 3 - 2
audio-analysis/src/main/resources/bootstrap-prod.yml

@@ -9,5 +9,6 @@ spring:
         file-extension: yaml
         enabled: true
         refresh-enabled: true
-logging:
-  config: classpath:logback-spring.xml
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true

+ 1 - 1
audio-analysis/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/audio-analysis-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/audio-analysis-%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" />
 

+ 0 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/TenantActivationCodeController.java

@@ -55,7 +55,6 @@ public class TenantActivationCodeController extends BaseController {
         }
         query.setSendStatus(EActivationCode.SEND);
         query.setActivationPhone(sysUser.getPhone());
-        query.setTenantId(student.getTenantId());
         // 查询数据
         IPage<TenantActivationCodeWrapper.TenantActivationCode> pages =
                 tenantActivationCodeService.selectPage(QueryInfo.getPage(query), query);

+ 3 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserMusicController.java

@@ -77,7 +77,7 @@ public class UserMusicController {
 
     @ApiOperation(value = "保存草稿/发布作品", notes = "用户曲目作品- 传入 UserMusicWrapper.UserMusic")
     @PostMapping("/save")
-    public HttpResponseResult<JSONObject> add(@Validated @RequestBody UserMusicWrapper.AddUserMusic userMusic) {
+    public HttpResponseResult<Long> add(@Validated @RequestBody UserMusicWrapper.AddUserMusic userMusic) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -85,9 +85,9 @@ public class UserMusicController {
         userMusic.setUserId(user.getId());
         userMusic.setClientType(ClientEnum.STUDENT);
         // 新增数据
-        userMusicService.save(userMusic);
+        ;
 
-        return HttpResponseResult.succeed();
+        return HttpResponseResult.succeed(userMusicService.save(userMusic));
     }
 
     @ApiOperation(value = "删除", notes = "用户曲目作品- 传入id")

+ 5 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java

@@ -54,6 +54,7 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -303,6 +304,10 @@ public class UserOrderController extends BaseController {
 
         order.setTenantId(student.getTenantId());
 
+        if (orderReq.getPaymentCashAmount().compareTo(new BigDecimal(10000000))>0) {
+            throw new BizException("支付失败,下单金额超过最高上限");
+        }
+
         // 新增数据
         UserPaymentOrderWrapper.PaymentConfig paymentConfig = userPaymentCoreService.executeOrderCreate(order);
         if (Objects.isNull(paymentConfig)) {

+ 3 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/UserMusicController.java

@@ -74,7 +74,7 @@ public class UserMusicController {
 
     @ApiOperation(value = "保存草稿/发布作品", notes = "用户曲目作品- 传入 UserMusicWrapper.UserMusic")
     @PostMapping("/save")
-    public HttpResponseResult<JSONObject> add(@Validated @RequestBody UserMusicWrapper.AddUserMusic userMusic) {
+    public HttpResponseResult<Long> add(@Validated @RequestBody UserMusicWrapper.AddUserMusic userMusic) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -82,9 +82,9 @@ public class UserMusicController {
         userMusic.setUserId(user.getId());
         userMusic.setClientType(ClientEnum.TEACHER);
         // 新增数据
-        userMusicService.save(userMusic);
+        ;
 
-        return HttpResponseResult.succeed();
+        return HttpResponseResult.succeed(userMusicService.save(userMusic));
     }
 
     @ApiOperation(value = "删除", notes = "用户曲目作品- 传入id")

+ 4 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/UserOrderController.java

@@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.Objects;
 
 import static com.yonge.cooleshow.common.entity.HttpResponseResult.failed;
@@ -84,6 +85,9 @@ public class UserOrderController {
         if (Objects.isNull(tenantStaff)) {
             throw BizException.from("用户信息不存在");
         }
+        if (orderReq.getPaymentCashAmount().compareTo(new BigDecimal(10000000))>0) {
+            throw new com.yonge.toolset.base.exception.BizException("支付失败,下单金额超过最高上限");
+        }
 
         order.setTenantId(tenantStaff.getTenantId());
         // 新增数据

+ 1 - 4
cooleshow-app/src/main/resources/bootstrap-prod.yml

@@ -7,11 +7,8 @@ spring:
         group: DEFAULT_GROUP
         prefix: app
         file-extension: yaml
-        refresh:
-          enabled: true
         enabled: true
         shared-configs:
           - data-id: base.yaml
             refresh: true
-logging:
-  config: classpath:logback-spring.xml
+        refresh-enabled: true

+ 1 - 2
cooleshow-app/src/main/resources/logback-spring.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/app-%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" />
 
@@ -13,7 +12,7 @@
 
 	<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-			<FileNamePattern>${LOG_HOME}</FileNamePattern>
+			<FileNamePattern>${LOG_HOME}/app-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
 			<MaxHistory>90</MaxHistory>
 			<TimeBasedFileNamingAndTriggeringPolicy
 				class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

+ 2 - 0
cooleshow-auth/auth-server/src/main/resources/bootstrap-pre.yml

@@ -9,3 +9,5 @@ spring:
         file-extension: yaml
         refresh-enabled: true
         enabled: true
+logging:
+  config: classpath:logback-spring.xml

+ 1 - 2
cooleshow-auth/auth-server/src/main/resources/bootstrap-prod.yml

@@ -7,8 +7,7 @@ spring:
         group: DEFAULT_GROUP
         prefix: auth
         file-extension: yaml
-        refresh:
-          enabled: true
+        refresh-enabled: true
         enabled: true
 logging:
   config: classpath:logback-spring.xml

+ 1 - 1
cooleshow-auth/auth-server/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/auth-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/auth-%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" />
 

+ 1 - 1
cooleshow-bbs/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/bbs-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/bbs-%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" />
 

+ 0 - 15
cooleshow-cms/src/main/resources/bootstrap-pre.properties

@@ -1,15 +0,0 @@
-
-#\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=10.206.0.16:8848
-#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
-spring.cloud.nacos.config.namespace=e456599c-bef6-453d-927f-0e4a321259ed
-#\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=cms
-#\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

+ 15 - 0
cooleshow-cms/src/main/resources/bootstrap-pre.yml

@@ -0,0 +1,15 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.16:8848
+        namespace: e456599c-bef6-453d-927f-0e4a321259ed
+        group: DEFAULT_GROUP
+        prefix: cms
+        file-extension: yaml
+        enabled: true
+        refresh-enabled: true
+        shared-configs:
+          - data-id: base.yaml
+          - data-id: base-pre.yaml
+            refresh: true

+ 0 - 16
cooleshow-cms/src/main/resources/bootstrap-prod.properties

@@ -1,16 +0,0 @@
-
-#\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=10.206.0.16:8848
-#\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
-spring.cloud.nacos.config.namespace=dba505ee-020c-4c2b-bab2-e91d89cf248e
-#\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=cms
-#\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
-logging.config=classpath:logback-spring.xml

+ 15 - 0
cooleshow-cms/src/main/resources/bootstrap-prod.yml

@@ -0,0 +1,15 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.16:8848
+        namespace: dba505ee-020c-4c2b-bab2-e91d89cf248e
+        group: DEFAULT_GROUP
+        prefix: cms
+        file-extension: yaml
+        enabled: true
+        refresh-enabled: true
+        shared-configs:
+          - data-id: base.yaml
+          - data-id: base-prod.yaml
+            refresh: true

+ 1 - 1
cooleshow-cms/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/cms-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/cms-%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" />
 

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

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/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" />
 

+ 1 - 1
cooleshow-mall/mall-admin/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/mall-admin-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/mall-admin-%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" />
 

+ 1 - 1
cooleshow-mall/mall-portal/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/mall-portal-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/mall-portal-%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" />
 

+ 4 - 2
cooleshow-task/src/main/resources/bootstrap-prod.yml

@@ -7,9 +7,11 @@ spring:
         group: DEFAULT_GROUP
         prefix: task
         file-extension: yaml
-        refresh:
-          enabled: true
+        refresh-enabled: true
         enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true
 
 logging:
   config: classpath:logback-spring.xml

+ 1 - 1
cooleshow-task/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/task-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/task-%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" />
 

+ 1 - 1
cooleshow-user/user-admin/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/admin-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/admin-%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" />
 

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

@@ -56,7 +56,7 @@ public interface UserMusicService extends IService<UserMusic>  {
      * 保存草稿/发布作品
      *
      */
-    void save(UserMusicWrapper.AddUserMusic userMusic);
+    Long save(UserMusicWrapper.AddUserMusic userMusic);
 
     /**
      * 分页

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

@@ -24,6 +24,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper;
+import com.yonge.cooleshow.biz.dal.mapper.TenantGroupAlbumMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
 import com.yonge.cooleshow.biz.dal.mapper.UserTenantBindRecordMapper;
 import com.yonge.cooleshow.biz.dal.service.*;
@@ -128,6 +129,9 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
 
     @Autowired
     private UserTenantBindRecordMapper userTenantBindRecordMapper;
+
+    @Autowired
+    private TenantGroupAlbumMapper tenantGroupAlbumMapper;
     @Override
     public StudentVo detail(Long userId) {
         return baseMapper.detail(userId);
@@ -193,36 +197,31 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         TenantInfo tenantInfo = tenantInfoService.detail(detail.getTenantId());
         if (tenantInfo != null) {
             studentHomeVo.setTenantName(tenantInfo.getName());
-            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) {
-                    studentHomeVo.setTenantAlbumStatus(1);
-                }
+            QueryWrapper<TenantGroupAlbum> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(TenantGroupAlbum::getTenantGroupId, Optional.ofNullable(detail.getTenantGroupId()).orElse(-1L))
+                    .eq(TenantGroupAlbum::getDelFlag, false)
+                    .eq(TenantGroupAlbum::getStatus, true);
+            List<TenantGroupAlbum> tenantGroupAlbums = tenantGroupAlbumMapper.selectList(queryWrapper);
+            List<Long> albIds = tenantGroupAlbums.stream().map(TenantGroupAlbum::getTenantAlbumId).distinct().collect(Collectors.toList());
+            if (!tenantGroupAlbums.isEmpty()) {
+                studentHomeVo.setTenantAlbumStatus(1);
             }
-            UserTenantAlbumRecord record = userTenantAlbumRecordService.lambdaQuery()
+            List<UserTenantAlbumRecord> record = userTenantAlbumRecordService.lambdaQuery()
                     .eq(UserTenantAlbumRecord::getUserId, detail.getUserId())
                     .eq(UserTenantAlbumRecord::getClientType, ClientEnum.STUDENT)
                     .gt(UserTenantAlbumRecord::getEndTime,new Date())
                     .orderByAsc(UserTenantAlbumRecord::getEndTime)
-                    .last("limit 1").one();
-            if (record == null || record.getEndTime().getTime() < System.currentTimeMillis()) {
+                    .list();
+            if (record.isEmpty()) {
                 studentHomeVo.setTenantAlbumFlag(YesOrNoEnum.NO);
-                if (record != null) {
-                    studentHomeVo.setTenantAlbumStartTime(record.getStartTime());
-                    studentHomeVo.setTenantAlbumEndTime(record.getEndTime());
-                }
             } else {
-                studentHomeVo.setTenantAlbumStatus(2);
+                long count = record.stream().filter(next -> albIds.contains(next.getTenantAlbumId())).count();
+                if (count > 0) {
+                    studentHomeVo.setTenantAlbumStatus(2);
+                }
                 studentHomeVo.setTenantAlbumFlag(YesOrNoEnum.YES);
-                studentHomeVo.setTenantAlbumStartTime(record.getStartTime());
-                studentHomeVo.setTenantAlbumEndTime(record.getEndTime());
+                studentHomeVo.setTenantAlbumStartTime(record.get(0).getStartTime());
+                studentHomeVo.setTenantAlbumEndTime(record.get(0).getEndTime());
             }
 
         }

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

@@ -512,21 +512,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
             imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
 
-            // 机构老师添加机构绑定记录
-            addBindUnBindRecord(teacher.getUserId(),teacher.getTenantId(),true);
-            sendBindUnBindSMS(teacher.getUserId(), teacherSubmitReq.getPhone(), MessageTypeEnum.TEACHER_BIND_TENANT, teacher.getTenantId());
-        }
-        //  与客服建立好友
-        String customerService = customerServiceConfig.getCustomerService();
-        if (StringUtils.isNotBlank(customerService)) {
-            List<String> phones = Arrays.stream(customerService.split(",")).collect(Collectors.toList());
-            Random rand = new Random();
-            String mobile = phones.get(rand.nextInt(phones.size()));
-            SysUser friend = sysUserMapper.findUserByPhone(mobile);
-            if (friend != null) {
-                imUserFriendService.registerUserBindCustomerService(teacher.getUserId(),
-                        Collections.singletonList(friend.getId()), ClientEnum.TEACHER);
-            }
         }
 
         return HttpResponseResult.succeed(true);
@@ -603,6 +588,22 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                 userAccount.setUserId(teacherSubmitReq.getUserId());
                 userAccountService.save(userAccount);
             }
+            // 机构老师添加机构绑定记录
+            addBindUnBindRecord(teacher.getUserId(),teacher.getTenantId(),true);
+            sendBindUnBindSMS(teacher.getUserId(), teacherSubmitReq.getPhone(), MessageTypeEnum.TEACHER_BIND_TENANT, teacher.getTenantId());
+
+            //  与客服建立好友
+            String customerService = customerServiceConfig.getCustomerService();
+            if (StringUtils.isNotBlank(customerService)) {
+                List<String> phones = Arrays.stream(customerService.split(",")).collect(Collectors.toList());
+                Random rand = new Random();
+                String mobile = phones.get(rand.nextInt(phones.size()));
+                SysUser friend = sysUserMapper.findUserByPhone(mobile);
+                if (friend != null) {
+                    imUserFriendService.registerUserBindCustomerService(teacher.getUserId(),
+                            Collections.singletonList(friend.getId()), ClientEnum.TEACHER);
+                }
+            }
         } else {
             // 如果机构解绑,更新机构ID为-1
             if (Boolean.TRUE.equals(teacherSubmitReq.getBindTenant())) {

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

@@ -204,21 +204,22 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
         if (student == null) {
             throw new BizException("学生不存在");
         }
-        Long tenantId = -1L;
-        if (student.getTenantId() != null) {
-            tenantId = student.getTenantId();
-        }
-
-        TenantActivationCode code = this.lambdaQuery().eq(TenantActivationCode::getTenantId, tenantId)
-                .eq(TenantActivationCode::getActivationCode, activationCode)
-                .last("limit 1").one();
+        TenantActivationCode code = this.lambdaQuery().eq(TenantActivationCode::getActivationCode, activationCode).last("limit 1").one();
         if (code == null) {
             throw new BizException("激活码不存在");
         }
+        if (Boolean.TRUE.equals(code.getActivationStatus())) {
+            throw new BizException("激活码已经被使用");
+        }
 
-        // 线下发放,有账号,则校验机构
-        if (EActivationCode.WAIT.equals(code.getSendStatus())) {
-            // 校验该激活码的来源小组专辑是否和该学生的小组是一致
+        // 判断激活码是否已经发送给学生
+        SysUser sysUser = sysUserService.getDao().selectById(studentId);
+        if (!sysUser.getPhone().equals(code.getActivationPhone())) { // 发给自己不校验,可以直接用,未发放需要校验
+            if (EActivationCode.SEND.equals(code.getSendStatus())) { //已经发送给别人
+                throw new BizException("激活码不可用");
+            }
+            // 未发放,线下抄送
+            // 校验小组专辑的小组和机构是否和学生一致,并且小组专辑是启用状态
             Long tenantAlbumId = code.getTenantAlbumId();
             List<Long> tenantGroupIds = tenantGroupAlbumService.lambdaQuery()
                     .eq(TenantGroupAlbum::getTenantAlbumId, tenantAlbumId)
@@ -230,12 +231,6 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
             }
         }
 
-        SysUser sysUser = sysUserService.getDao().selectById(studentId);
-        // 如果码已经激活或者发放给别人
-        if (Boolean.TRUE.equals(code.getActivationStatus()) || (EActivationCode.SEND.equals(code.getSendStatus()) &&
-                !sysUser.getPhone().equals(code.getActivationPhone()))) {
-            throw new BizException("激活码已经被使用");
-        }
 
 
         // 通过状态和ID同时判断更新是否存在竞争
@@ -256,6 +251,7 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
 
         addUserTenantAlbumRecord(student.getUserId(), purchase, null);
 
+        Long tenantId = Optional.ofNullable(student.getTenantId()).orElse(-1L);
         // 更新购买记录中激活码使用统计数量值
         Integer activeCodeNumber = this.lambdaQuery()
                 .eq(TenantActivationCode::getTenantId, tenantId)
@@ -280,12 +276,8 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
         if (student == null) {
             throw new BizException("学生不存在");
         }
-        Long tenantId = -1L;
-        if (student.getTenantId() != null) {
-            tenantId = student.getTenantId();
-        }
         TenantActivationCode code = baseMapper.selectById(id);
-        if(code == null || !code.getTenantId().equals(tenantId)) {
+        if(code == null) {
             throw new BizException("激活码不存在");
         }
         SysUser sysUser = sysUserService.getDao().selectById(student.getUserId());
@@ -316,7 +308,7 @@ public class TenantActivationCodeServiceImpl extends ServiceImpl<TenantActivatio
 
         // 更新购买记录中激活码使用统计数量值
         Integer activeCodeNumber = this.lambdaQuery()
-                .eq(TenantActivationCode::getTenantId, tenantId)
+                .eq(TenantActivationCode::getTenantId, code.getTenantId())
                 .eq(TenantActivationCode::getTenantAlbumPurchaseId, code.getTenantAlbumPurchaseId())
                 .eq(TenantActivationCode::getActivationStatus, true).count();
 

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

@@ -139,7 +139,7 @@ public class UserMusicServiceImpl extends ServiceImpl<UserMusicMapper, UserMusic
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void save(UserMusicWrapper.AddUserMusic userMusic) {
+    public Long save(UserMusicWrapper.AddUserMusic userMusic) {
 
         // 设置曲目ID
         if (userMusic.getMusicPracticeRecordId() != null) {
@@ -189,6 +189,7 @@ public class UserMusicServiceImpl extends ServiceImpl<UserMusicMapper, UserMusic
             entity.setSubmitTime(new Date());
         }
         userMusicService.saveOrUpdate(entity);
+        return entity.getId();
     }
 
     /**

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

@@ -610,7 +610,7 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
                 buyTenantAlbum.setSubjectCounts(0);
             }
             buyTenantAlbum.setMusicNum(buyTenantAlbum.getMusicCounts() + buyTenantAlbum.getEnsembleCounts()+buyTenantAlbum.getSubjectCounts());
-            if (buyTenantAlbum.getMusicNum() > 0) {
+            if (buyTenantAlbum.getMusicCounts() > 0) {
                 subjectTypes.add(SubjectTypeEnum.MUSIC.name());
             }
             if (buyTenantAlbum.getEnsembleCounts() > 0) {
@@ -687,9 +687,9 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         if (tenantGroupId != null) { // 学生只看当前就够的专辑列表
             QueryWrapper<TenantGroupAlbum> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda()
-                    .eq(TenantGroupAlbum::getTenantGroupId, tenantGroupId);
-//                    .eq(TenantGroupAlbum::getDelFlag, false)
-//                    .eq(TenantGroupAlbum::getStatus, true);
+                    .eq(TenantGroupAlbum::getTenantGroupId, tenantGroupId)
+                    .eq(TenantGroupAlbum::getDelFlag, false)
+                    .eq(TenantGroupAlbum::getStatus, true);
             List<TenantGroupAlbum> tenantGroupAlbums = tenantGroupAlbumMapper.selectList(queryWrapper);
             if (CollectionUtils.isEmpty(tenantGroupAlbums)) {
                 return new ArrayList<>();

+ 1 - 1
cooleshow-user/user-classroom/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/classroom-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/classroom-%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" />
 

+ 1 - 1
cooleshow-user/user-student/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/student-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/student-%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" />
 

+ 1 - 1
cooleshow-user/user-teacher/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/teacher-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/teacher-%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" />
 

+ 1 - 1
cooleshow-user/user-tenant/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/tenant-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/tenant-%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" />
 

+ 1 - 1
cooleshow-user/user-website/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/website-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/website-%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" />
 

+ 14 - 0
cooleshow-websocket/src/main/resources/bootstrap-pre.yml

@@ -0,0 +1,14 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.16:8848
+        namespace: e456599c-bef6-453d-927f-0e4a321259ed
+        group: DEFAULT_GROUP
+        prefix: websocket
+        file-extension: yaml
+        enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true
+        refresh-enabled: true

+ 4 - 4
cooleshow-websocket/src/main/resources/bootstrap-prod.yml

@@ -7,8 +7,8 @@ spring:
         group: DEFAULT_GROUP
         prefix: websocket
         file-extension: yaml
-        refresh:
-          enabled: true
         enabled: true
-logging:
-  config: classpath:logback-spring.xml
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true
+        refresh-enabled: true

+ 1 - 1
cooleshow-websocket/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mnt/datadisk/logs/websocket-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/websocket-%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" />