zzf 10 mesiacov pred
rodič
commit
cd18defb35

+ 52 - 73
build.gradle

@@ -1,23 +1,49 @@
 buildscript {
     ext {
-//        queryDslVersion = '4.2.1'
-        queryDslVersion = '5.0.0'
+        queryDslVersion = '4.2.1'
         lombokVersion = '1.18.12'
     }
+
+
 }
 plugins {
-
-    id 'org.springframework.boot' version '2.6.13'
-    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
+    id 'org.springframework.boot' version '2.4.2'
+    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
     id 'java'
 }
 
-group = 'com.zzys'
-version = '0.0.1-SNAPSHOT'
-sourceCompatibility = '1.8'
+group = 'com.zzedu'
+version = 'v1.0'
+sourceCompatibility = '8'
+
+configurations {
+    compileOnly {
+        extendsFrom annotationProcessor
+    }
+}
 
 repositories {
-    mavenCentral()
+    maven {
+        url 'https://maven.aliyun.com/repository/public'
+    }
+    maven {
+        credentials {
+            username '0p07qf'
+            password 'z1XwdFEf4M'
+        }
+        url 'https://repo.rdc.aliyun.com/repository/107260-release-GqdtcU/'
+    }
+    maven {
+        credentials {
+            username '0p07qf'
+            password 'z1XwdFEf4M'
+        }
+        url 'https://repo.rdc.aliyun.com/repository/107260-snapshot-C6ziam/'
+    }
+    maven {
+        url "https://plugins.gradle.org/m2/"
+    }
+    mavenLocal()
 }
 
 dependencies {
@@ -25,20 +51,13 @@ dependencies {
     implementation 'org.springframework.boot:spring-boot-starter-web'
     compileOnly 'org.projectlombok:lombok'
     annotationProcessor 'org.projectlombok:lombok'
-//	testImplementation 'org.springframework.boot:spring-boot-starter-test'
-////	classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10"
-//	// https://mvnrepository.com/artifact/com.querydsl/querydsl-apt
-//	compile group: 'com.querydsl', name: 'querydsl-apt', version: '4.2.1'
-    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation
-    implementation 'org.springframework.boot:spring-boot-starter-validation:2.6.3'
 
-//	// https://mvnrepository.com/artifact/org.springframework.data/spring-data-commons
-//	compile group: 'org.springframework.data', name: 'spring-data-commons', version: '2.4.1'
+    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation
+    implementation 'org.springframework.boot:spring-boot-starter-validation:2.5.4'
     // https://mvnrepository.com/artifact/mysql/mysql-connector-java
     implementation 'mysql:mysql-connector-java:8.0.21'
-
-//	compile group: 'com.querydsl', name: 'querydsl-jpa', version: '4.2.1'
-//	compile group: 'com.querydsl', name: 'querydsl-apt', version: '4.2.1'
+    // https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter
+    implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: '1.2.9'
     // QueryDSL
     implementation("com.querydsl:querydsl-core:${queryDslVersion}")
     implementation("com.querydsl:querydsl-jpa:${queryDslVersion}")
@@ -52,73 +71,33 @@ dependencies {
     compileOnly "org.projectlombok:lombok:${lombokVersion}"
     annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
     implementation("org.projectlombok:lombok:${lombokVersion}")
-    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test
-    testImplementation 'org.springframework.boot:spring-boot-starter-test:2.6.3'
-
     // https://mvnrepository.com/artifact/com.alibaba/fastjson
-    implementation 'com.alibaba:fastjson:1.2.83'
+    implementation 'com.alibaba:fastjson:1.2.76'
     // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml
     implementation 'org.apache.poi:poi-ooxml:3.17'
-
     // https://mvnrepository.com/artifact/commons-lang/commons-lang
     implementation 'commons-lang:commons-lang:2.6'
-
-    implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
-
-    // https://mvnrepository.com/artifact/io.swagger/swagger-annotations
-    implementation group: 'io.swagger', name: 'swagger-annotations', version: '1.5.22'
-    implementation group: 'io.swagger', name: 'swagger-models', version: '1.5.22'
-
     // https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
     implementation group: 'commons-fileupload', name: 'commons-fileupload', version: '1.3.1'
-    // https://mvnrepository.com/artifact/com.github.qcloudsms/qcloudsms
-    implementation group: 'com.github.qcloudsms', name: 'qcloudsms', version: '1.0.6'
-    // https://mvnrepository.com/artifact/cn.keking.project/kk-anti-reptile
+// https://mvnrepository.com/artifact/cn.keking.project/kk-anti-reptile
     implementation group: 'cn.keking.project', name: 'kk-anti-reptile', version: '1.0.0-RELEASE'
-    // https://mvnrepository.com/artifact/com.belerweb/pinyin4j
-    implementation group: 'com.belerweb', name: 'pinyin4j', version: '2.5.1'
-    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-websocket
+// https://mvnrepository.com/artifact/com.github.qcloudsms/qcloudsms
+    implementation group: 'com.github.qcloudsms', name: 'qcloudsms', version: '1.0.6'
+// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-websocket
     implementation 'org.springframework.boot:spring-boot-starter-websocket:2.5.5'
-    //https://mvnrepository.com/artifact/org.java-websocket/Java-WebSocket
-    //implementation 'org.java-websocket:Java-WebSocket:1.3.0'
-    // https://mvnrepository.com/artifact/org.java-websocket/Java-WebSocket
-    implementation 'org.java-websocket:Java-WebSocket:1.5.1'
-    //https://github.com/auth0/java-jwt
-    // 添加jwt
+// https://mvnrepository.com/artifact/org.java-websocket/Java-WebSocket
+    implementation 'org.java-websocket:Java-WebSocket:1.3.0'
+    // https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-openapi2-spring-boot-starter
+    implementation 'com.github.xiaoymin:knife4j-openapi2-spring-boot-starter:4.0.0'
+    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis
+    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '2.6.3'
     implementation 'com.auth0:java-jwt:3.18.2'
-    // https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter
-    implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: '1.2.9'
-    // https://mvnrepository.com/artifact/junit/junit
-    testImplementation group: 'junit', name: 'junit', version: '4.13.2'
-    // https://mvnrepository.com/artifact/io.github.fanyong920/jvppeteer
-    implementation "io.github.fanyong920:jvppeteer:1.1.5"
-
     // https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on
-    implementation 'org.bouncycastle:bcprov-jdk15on:1.70'
+    implementation 'org.bouncycastle:bcprov-jdk15on:1.57'
 
 
-
-
-    //wxpay
-    // https://mvnrepository.com/artifact/com.github.wxpay/wxpay-sdk
-    //implementation group: 'com.github.wxpay', name: 'wxpay-sdk', version: '0.0.3'
-
-    implementation 'com.github.wechatpay-apiv3:wechatpay-apache-httpclient:0.4.7'
-
-    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor
-    implementation group: 'org.springframework.boot', name: 'spring-boot-configuration-processor', version: '2.6.8'
-
-    // https://mvnrepository.com/artifact/com.google.code.gson/gson
-    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
-
-    // https://mvnrepository.com/artifact/cn.hutool/hutool-all
-    implementation group: 'cn.hutool', name: 'hutool-all', version: '5.7.18'
-
-    //redis
-    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis
-    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '2.6.3'
 }
 
-tasks.named('test') {
+test {
     useJUnitPlatform()
 }

+ 1 - 16
src/main/java/com/zzys/lightting/config/CorsConfig.java

@@ -13,26 +13,12 @@ public class CorsConfig {
 
         CorsConfiguration corsConfiguration = new CorsConfiguration();
         corsConfiguration.setAllowCredentials(true);
-        /*corsConfiguration.addAllowedOrigin("http://localhost:8080"); // 允许任何域名使用
-        corsConfiguration.addAllowedOrigin("http://10.113.233.26:8080");
-        corsConfiguration.addAllowedOrigin("http://192.168.42.21:8080");
-        corsConfiguration.addAllowedOrigin("http://cognitive.wistcm.com/");*/
-//        corsConfiguration.addAllowedOrigin("*");
+
         corsConfiguration.addAllowedOriginPattern("*");
         corsConfiguration.addAllowedHeader("*"); // 允许任何头
         corsConfiguration.addAllowedMethod("*"); // 允许任何方法(post、get等)
         return corsConfiguration;
 
-        /*CorsConfiguration corsConfiguration = new CorsConfiguration();
-        corsConfiguration.setAllowCredentials(true);
-        // 设置setAllowCredentials = true后就不能设置为*了,要设置具体的
-        corsConfiguration.addAllowedOrigin("http://10.113.233.26:8080");
-        corsConfiguration.addAllowedOrigin("http://localhost:8080");
-        // 允许任何头
-        corsConfiguration.addAllowedHeader("*");
-        // 允许任何方法(post、get等)
-        corsConfiguration.addAllowedMethod("*");
-        return corsConfiguration;*/
     }
 
     @Bean
@@ -42,5 +28,4 @@ public class CorsConfig {
         source.registerCorsConfiguration("/**", buildConfig());
         return new CorsFilter(source);
     }
-
 }

+ 1 - 2
src/main/java/com/zzys/lightting/config/RedisConfig.java

@@ -27,14 +27,13 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
- * @Description:Redis缓存时间、序列化、反序列化等配置
+ * @Description: Redis缓存时间、序列化、反序列化等配置
  * @Author: zsf
  * @Date: 2022/7/1
  */
 @Configuration
 @EnableCaching
 @Slf4j
-@Profile("!lan")
 public class RedisConfig extends CachingConfigurerSupport {
     @Autowired
     private Properties properties;

+ 0 - 98
src/main/java/com/zzys/lightting/config/SwaggerConfig.java

@@ -1,98 +0,0 @@
-package com.zzys.lightting.config;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.util.ReflectionUtils;
-import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.oas.annotations.EnableOpenApi;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Contact;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;
-import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
-
-import java.lang.reflect.Field;
-import java.util.List;
-import java.util.stream.Collectors;
-
-@Configuration
-@EnableOpenApi
-public class SwaggerConfig {
-    /**
-     * 创建API应用
-     * apiInfo() 增加API相关信息
-     * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
-     * 本例采用指定扫描的包路径来定义指定要建立API的目录。
-     *
-     * @return
-     */
-
-
-    //再定义一个Docket
-    @Bean
-    public Docket desertsApi2() {
-        return new Docket(DocumentationType.OAS_30)
-                .apiInfo(apiInfo("Swagger3.0", "1.0"))
-                .select()
-                .apis(RequestHandlerSelectors.basePackage("com.zzys.lightting"))
-                .paths(PathSelectors.any())
-                .build()
-                .groupName("light-ting")
-                .enable(true);
-    }
-
-    /**
-     * 创建该API的基本信息(这些基本信息会展现在文档页面中)
-     * 访问地址:http://ip:port/swagger-ui.html
-     *
-     * @return
-     */
-    private ApiInfo apiInfo(String title, String version) {
-        return new ApiInfoBuilder()
-                .title(title)
-                .description("api信息")
-                .contact(new Contact("Develoven", "", "develoven@163.com"))
-                .termsOfServiceUrl("")
-                .version(version)
-                .build();
-    }
-
-    @Bean
-    public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {
-        return new BeanPostProcessor() {
-
-            @Override
-            public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
-                if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) {
-                    customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
-                }
-                return bean;
-            }
-
-            private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {
-                List<T> copy = mappings.stream()
-                        .filter(mapping -> mapping.getPatternParser() == null)
-                        .collect(Collectors.toList());
-                mappings.clear();
-                mappings.addAll(copy);
-            }
-
-            @SuppressWarnings("unchecked")
-            private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {
-                try {
-                    Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
-                    field.setAccessible(true);
-                    return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
-                } catch (IllegalArgumentException | IllegalAccessException e) {
-                    throw new IllegalStateException(e);
-                }
-            }
-        };
-    }
-}

+ 61 - 0
src/main/java/com/zzys/lightting/file/FileController.java

@@ -0,0 +1,61 @@
+package com.zzys.lightting.file;
+
+import com.zzys.lightting.base.rest.BaseController;
+import com.zzys.lightting.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.io.FileUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+
+/**
+ * @Author: zzf
+ * @Date: 2024/5/27:17:35
+ * @Description:
+ */
+@Api(tags = "文件")
+@RestController
+@RequestMapping("/file")
+public class FileController extends BaseController {
+    @PostMapping("/customUpload")
+    @ApiOperation(value = "文件上传",notes = "file:源文件;flag:0头像源文件;1音乐源文件")
+    public Result customUpload(MultipartFile file,int flag) throws Exception {
+        //文件保存
+        String fileName = "";
+        String filedir = "./light-ting/";
+        //0 头像  ;1 音乐
+        if(flag==0){
+            filedir = filedir+"/avatar/";
+        }else if (flag == 1){
+            filedir = filedir+"/musics/";
+        }else {
+            return fail("文件类型有误");
+        }
+        if (file == null) {
+            throw new Exception("文件为空");
+        } else {
+            String suffix = file.getOriginalFilename();
+            if (!file.isEmpty()) {
+                fileName = suffix;
+                try {
+                    File temp = new File(filedir);
+                    if (!temp.exists()) {
+                        temp.mkdirs();
+                    }
+                    System.out.println("filedir---" + filedir);
+                    System.out.println("fileName--" + fileName);
+                    assert fileName != null;
+                    File fileLocal = new File(filedir, fileName);
+                    FileUtils.copyInputStreamToFile(file.getInputStream(), fileLocal);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return success(filedir+fileName);
+    }
+}

+ 1 - 1
src/main/java/com/zzys/lightting/filter/JWTInterceptorConfig.java

@@ -24,7 +24,7 @@ public class JWTInterceptorConfig implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         //定义排除swagger访问的路径配置
-        String[] swaggerExcludes = new String[]{"/swagger-ui/index.html", "/swagger-resources/**", "/csrf", "/webjars/**"};
+        String[] swaggerExcludes = new String[]{"/swagger*/**", "/v3/api-docs", "/webjars/**","/doc.html"};
         String[] systemApi = new String[]{"/user/login","/user/blogin"};
         registry.addInterceptor(jwtInterceptor)
                 .addPathPatterns("/**")

+ 20 - 4
src/main/java/com/zzys/lightting/music/dao/model/MusicInfo.java

@@ -2,22 +2,24 @@ package com.zzys.lightting.music.dao.model;
 
 import com.zzys.lightting.base.model.BaseEntity;
 import lombok.*;
+import org.hibernate.Hibernate;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import java.util.Objects;
 
 /**
- * @Author:zzf
- * @Date:2024/5/23:11:42
+ * @Author: zzf
+ * @Date: 2024/5/23:11:42
  * @Description:
  */
 @Entity
-@Data
+@ToString
+@RequiredArgsConstructor
 @Getter
 @Setter
-@NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_music_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_music_info", comment = "音乐表")
@@ -29,5 +31,19 @@ public class MusicInfo extends BaseEntity {
     @Column(name = "author",columnDefinition = "varchar(50) comment '作者'")
     private String author;
 
+    @Column(name = "source_file",columnDefinition = "varchar(100) comment '源文件位置'")
+    private String sourceFile;
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        MusicInfo musicInfo = (MusicInfo) o;
+        return getId() != null && Objects.equals(getId(), musicInfo.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 20 - 4
src/main/java/com/zzys/lightting/music/dao/model/MusicType.java

@@ -2,21 +2,24 @@ package com.zzys.lightting.music.dao.model;
 
 import com.zzys.lightting.base.model.BaseEntity;
 import lombok.*;
+import org.hibernate.Hibernate;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import java.util.Objects;
+
 /**
- * @Author:zzf
- * @Date:2024/5/23:14:52
+ * @Author: zzf
+ * @Date: 2024/5/23:14:52
  * @Description:
  */
 @Entity
-@Data
+@ToString
+@RequiredArgsConstructor
 @Getter
 @Setter
-@NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_music_type_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_music_type_info", comment = "音乐-分类关联表")
@@ -26,4 +29,17 @@ public class MusicType extends BaseEntity {
     private String musicId;
     @Column(name = "type_id",columnDefinition = "varchar(50) not null comment '分类id'")
     private String typeId;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        MusicType type = (MusicType) o;
+        return getId() != null && Objects.equals(getId(), type.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 19 - 4
src/main/java/com/zzys/lightting/music/dao/model/TypeInfo.java

@@ -2,22 +2,24 @@ package com.zzys.lightting.music.dao.model;
 
 import com.zzys.lightting.base.model.BaseEntity;
 import lombok.*;
+import org.hibernate.Hibernate;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import java.util.Objects;
 
 /**
- * @Author:zzf
- * @Date:2024/5/23:09:33
+ * @Author: zzf
+ * @Date: 2024/5/23:09:33
  * @Description:
  */
 @Entity
-@Data
+@ToString
+@RequiredArgsConstructor
 @Getter
 @Setter
-@NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_type_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_type_info", comment = "音乐分类表")
@@ -29,4 +31,17 @@ public class TypeInfo extends BaseEntity {
 
     @Column(name = "sort",columnDefinition = "int not null comment '序号'")
     private int sort;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        TypeInfo typeInfo = (TypeInfo) o;
+        return getId() != null && Objects.equals(getId(), typeInfo.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 4 - 3
src/main/java/com/zzys/lightting/music/rest/MusicController.java

@@ -17,8 +17,8 @@ import org.springframework.web.bind.annotation.*;
 import java.util.List;
 
 /**
- * @Author:zzf
- * @Date:2024/5/23:14:41
+ * @Author: zzf
+ * @Date: 2024/5/23:14:41
  * @Description:
  */
 @Slf4j
@@ -33,8 +33,9 @@ public class MusicController extends BaseController {
 
     @Autowired
     private MusicTypeService typeService;
+
     @PostMapping("/save")
-    @ApiOperation(value = "保存-新增/修改",notes = "name:名称;author:作者;typeId:分类id")
+    @ApiOperation(value = "保存-新增/修改",notes = "name:名称;author:作者;typeId:分类id;sourceFile:源文件")
     public Result save(@RequestBody String json){
         JSONObject jsonObject = JSONObject.parseObject(json);
         MusicInfo music = new MusicInfo();

+ 18 - 4
src/main/java/com/zzys/lightting/template/dao/model/TemplateInfo.java

@@ -2,22 +2,24 @@ package com.zzys.lightting.template.dao.model;
 
 import com.zzys.lightting.base.model.BaseEntity;
 import lombok.*;
+import org.hibernate.Hibernate;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import java.util.Objects;
 
 /**
- * @Author:zzf
- * @Date:2024/5/23:16:08
+ * @Author: zzf
+ * @Date: 2024/5/23:16:08
  * @Description:
  */
 @Entity
-@Data
+@ToString
+@RequiredArgsConstructor
 @Getter
 @Setter
-@NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_template_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_template_info", comment = "用户音乐模板表")
@@ -29,4 +31,16 @@ public class TemplateInfo extends BaseEntity {
     @Column(name = "name",columnDefinition = "varchar(50) not null comment '模板名称'")
     private String name;
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        TemplateInfo that = (TemplateInfo) o;
+        return getId() != null && Objects.equals(getId(), that.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 20 - 4
src/main/java/com/zzys/lightting/template/dao/model/TemplateMusicInfo.java

@@ -2,21 +2,24 @@ package com.zzys.lightting.template.dao.model;
 
 import com.zzys.lightting.base.model.BaseEntity;
 import lombok.*;
+import org.hibernate.Hibernate;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import java.util.Objects;
+
 /**
- * @Author:zzf
- * @Date:2024/5/23:16:20
+ * @Author: zzf
+ * @Date: 2024/5/23:16:20
  * @Description:
  */
 @Entity
-@Data
+@ToString
+@RequiredArgsConstructor
 @Getter
 @Setter
-@NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_template_music_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_template_music_info", comment = "音乐模板表")
@@ -27,4 +30,17 @@ public class TemplateMusicInfo extends BaseEntity {
 
     @Column(name = "music_id",columnDefinition = "varchar(50) not null comment '音乐id'")
     private String musicId;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        TemplateMusicInfo that = (TemplateMusicInfo) o;
+        return getId() != null && Objects.equals(getId(), that.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 19 - 4
src/main/java/com/zzys/lightting/user/dao/model/UserInfo.java

@@ -3,23 +3,25 @@ package com.zzys.lightting.user.dao.model;
 import com.zzys.lightting.base.model.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
+import org.hibernate.Hibernate;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
 import javax.persistence.Transient;
+import java.util.Objects;
 
 /**
- * @Author:zzf
- * @Date:2024/5/22:11:07
+ * @Author: zzf
+ * @Date: 2024/5/22:11:07
  * @Description:
  */
 @Entity
-@Data
+@ToString
+@RequiredArgsConstructor
 @Getter
 @Setter
-@NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_user_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_user_info", comment = "用户信息表")
@@ -46,4 +48,17 @@ public class UserInfo extends BaseEntity {
 
     @Transient
     private String photoPath;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        UserInfo userInfo = (UserInfo) o;
+        return getId() != null && Objects.equals(getId(), userInfo.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 21 - 6
src/main/java/com/zzys/lightting/user/dao/model/UserPhotoInfo.java

@@ -1,22 +1,24 @@
 package com.zzys.lightting.user.dao.model;
 
 import com.zzys.lightting.base.model.BaseEntity;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import lombok.*;
+import org.hibernate.Hibernate;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import java.util.Objects;
 
 /**
- * @Description:用户头像关联表
+ * @Description: 用户头像关联表
  * @Author: mimang
  * @Date: 2023/4/24
  */
 @Entity
-@Data
-@NoArgsConstructor
+@Getter
+@Setter
+@ToString
+@RequiredArgsConstructor
 @AllArgsConstructor
 @Table(name = "lt_user_photo_info")
 @org.hibernate.annotations.Table(appliesTo = "lt_user_photo_info", comment = "用户头像")
@@ -34,4 +36,17 @@ public class UserPhotoInfo extends BaseEntity {
 
     @Column(name = "update_time", columnDefinition = "varchar(20)   COMMENT '更新时间'")
     private String updateTime;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        UserPhotoInfo that = (UserPhotoInfo) o;
+        return getId() != null && Objects.equals(getId(), that.getId());
+    }
+
+    @Override
+    public int hashCode() {
+        return getClass().hashCode();
+    }
 }

+ 0 - 27
src/main/resources/application.properties

@@ -1,27 +0,0 @@
-# 应用服务 WEB 访问端口
-server.port=8080
-server.address=0.0.0.0
-#server.ssl.key-store= classpath:dcbt.jue-ming.com.jks
-#server.ssl.key-store-password=j1jtwul7ly4s
-#server.ssl.key-store-type=JKS
-server.tomcat.connection-timeout=60000
-spring.datasource.url=jdbc:mysql://localhost:3306/light_ting?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8
-spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.username=root
-spring.datasource.password=123456
-spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
-spring.jpa.show-sql=true
-spring.jpa.hibernate.ddl-auto=update
-spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
-spring.jpa.properties.hibernate.format_sql = true
-spring.jpa.open-in-view=false
-
-spring.servlet.multipart.enabled=true
-spring.servlet.multipart.file-size-threshold=0
-spring.servlet.multipart.max-file-size= 100MB
-spring.servlet.multipart.max-request-size=1000MB
-
-weixin.appid=wxf9cf2808608b6781
-weixin.secret=ba57e40f25dd0a3a7fa5b12feadf2863
-
-spring.mvc.pathmatch.matching-strategy=ant_path_matcher

+ 74 - 0
src/main/resources/application.yml

@@ -0,0 +1,74 @@
+
+spring:
+  #  profiles:
+  #    #默认启用test配置文件
+  #    active: test
+  #  mvc:
+  #    static-path-pattern: /findFile/**
+  #  resources:
+  #    static-locations: file:c:/test/
+  jpa:
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    show-sql: false
+    open-in-view: false
+  servlet:
+    multipart:
+      enabled: true
+      file-size-threshold: 2KB
+      max-request-size: 1000MB
+      max-file-size: 1000MB
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      driver-class-name: com.mysql.cj.jdbc.Driver
+      url: jdbc:mysql://localhost:3306/light_ting?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=GMT%2B8
+      username: root
+      password: Z04agHTieMz3lrvqdyHZaOgDrBS2kvKSCSLDavQL3VmoXTf7+VTamagPHnX9+q2nT1fYJd0T0mivyDiQ0YXHUg==
+      connection-properties: config.decrypt=true;config.decrypt.key=${publicKey}
+
+#      url: jdbc:mysql://localhost:54030/kjb?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=GMT%2B8
+#      username: root
+#      password: KzLViz11vIJVLItveNpRBzLWp9Mut/B2jUoqpxFAuFvBjRqLOvyuUXsp/TDeYUOZ/uxueVtJr3oe+2fdDQ+JaA==
+#      connection-properties: config.decrypt=true;config.decrypt.key=${publicKey}
+      filter:
+        config:
+          enabled: true
+#Session超时时间设置,单位是秒,默认是30分钟
+server:
+  servlet:
+    session:
+      timeout: 600
+  port: 8080
+  address: 0.0.0.0
+#
+#anti:
+#  reptile:
+#    manager:
+#      enabled: true
+#      global-filter-mode: true
+#      ua-rule:
+#        enabled: true
+#      ip-rule:
+#        expiration-time: 5000
+#        request-max-size: 5
+#mysql@.2020  key
+#publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ0wKAMJ3vzmREeYnacS1zPHh0Vif9rqtqDPfsT7DTxZOpOPqnKqTeUdLdB1dQVdT+0X+rvJeivdpxw9CW1HZbUCAwEAAQ==
+publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJmEpLBsygPphd9duo0LbPvEx6hhx3oeieLqnkWeh3YnOqtMH1ILWacyI8hEoImPLaK+o3FgVDl3kThZTsij/9UCAwEAAQ==
+# 显示sql语句传入的参数
+logging:
+  level:
+    org.springframework.security:
+      - debug
+      - info
+    org.springframework.web: error
+    org.hibernate.SQL: debug
+    org.hibernate.engine.QueryParameters: debug
+    org.hibernate.engine.query.HQLQueryPlan: debug
+    org.hibernate.type.descriptor.sql.BasicBinder: trace
+weixin:
+  appid: wxf9cf2808608b6781
+  secret: ba57e40f25dd0a3a7fa5b12feadf2863
+knife4j:
+  enable: true