Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 3 năm trước cách đây
mục cha
commit
393589aacb
100 tập tin đã thay đổi với 3710 bổ sung134 xóa
  1. 0 1
      cooleshow-auth/auth-server/pom.xml
  2. 85 0
      cooleshow-bbs/pom.xml
  3. 31 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/BbsApplication.java
  4. 34 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/GlobalCorsConfig.java
  5. 73 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/LocalFastJsonHttpMessageConverter.java
  6. 86 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/ParameterCheckServletRequestWrapper.java
  7. 41 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/ResourceServerConfig.java
  8. 50 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/WebMvcConfig.java
  9. 51 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/filters/EmojiEncodingFilter.java
  10. 86 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsArticleController.java
  11. 87 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsCollectController.java
  12. 80 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsConfigLabelController.java
  13. 87 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsFollowController.java
  14. 87 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsLikeController.java
  15. 87 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsPrivateMessageController.java
  16. 87 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsReplyController.java
  17. 30 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsArticleDao.java
  18. 30 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsCollectDao.java
  19. 38 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsConfigLabelDao.java
  20. 30 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsFollowDao.java
  21. 30 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsLikeDao.java
  22. 30 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsPrivateMessageDao.java
  23. 30 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsReplyDao.java
  24. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsArticleDto.java
  25. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsCollectDto.java
  26. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsConfigLabelDto.java
  27. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsFollowDto.java
  28. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsLikeDto.java
  29. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsPrivateMessageDto.java
  30. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsReplyDto.java
  31. 14 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsArticleSearch.java
  32. 14 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsCollectSearch.java
  33. 25 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsConfigLabelSearch.java
  34. 14 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsFollowSearch.java
  35. 14 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsLikeSearch.java
  36. 14 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsPrivateMessageSearch.java
  37. 14 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsReplySearch.java
  38. 230 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsArticle.java
  39. 72 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsCollect.java
  40. 115 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsConfigLabel.java
  41. 72 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsFollow.java
  42. 72 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsLike.java
  43. 84 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsPrivateMessage.java
  44. 121 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsReply.java
  45. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsArticleService.java
  46. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsCollectService.java
  47. 42 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsConfigLabelService.java
  48. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsFollowService.java
  49. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsLikeService.java
  50. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsPrivateMessageService.java
  51. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsReplyService.java
  52. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsArticleServiceImpl.java
  53. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsCollectServiceImpl.java
  54. 34 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsConfigLabelServiceImpl.java
  55. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsFollowServiceImpl.java
  56. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsLikeServiceImpl.java
  57. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsPrivateMessageServiceImpl.java
  58. 29 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsReplyServiceImpl.java
  59. 8 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/AddGroup.java
  60. 8 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/DeleteGroup.java
  61. 27 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/EnumValid.java
  62. 31 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/ListValue.java
  63. 8 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/SelectGroup.java
  64. 8 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/UpdateGroup.java
  65. 63 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/impl/EnumValidtor.java
  66. 33 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/impl/ListValueValidator.java
  67. 138 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/impl/ValidList.java
  68. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsArticleVo.java
  69. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsCollectVo.java
  70. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsConfigLabelVo.java
  71. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsFollowVo.java
  72. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsLikeVo.java
  73. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsPrivateMessageVo.java
  74. 24 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsReplyVo.java
  75. 12 0
      cooleshow-bbs/src/main/resources/bootstrap-dev.yml
  76. 12 0
      cooleshow-bbs/src/main/resources/bootstrap-prod.yml
  77. 57 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsArticleMapper.xml
  78. 31 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsCollectMapper.xml
  79. 51 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsConfigLabelMapper.xml
  80. 31 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsFollowMapper.xml
  81. 31 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsLikeMapper.xml
  82. 33 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsPrivateMessageMapper.xml
  83. 39 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsReplyMapper.xml
  84. 61 0
      cooleshow-bbs/src/main/resources/logback-spring.xml
  85. 4 1
      cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/ResourceServerConfig.java
  86. 1 1
      cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/controller/queryinfo/HelpCenterContentQueryInfo.java
  87. 3 1
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/OssController.java
  88. 26 1
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/PmsPortalProductServiceImpl.java
  89. 9 12
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SysManualController.java
  90. 3 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UploadFileController.java
  91. 0 7
      cooleshow-user/user-biz/pom.xml
  92. 4 17
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysManualDao.java
  93. 8 28
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroup.java
  94. 1 18
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupMember.java
  95. 4 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupMemberAudit.java
  96. 2 16
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysManual.java
  97. 5 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AuditStatusEnum.java
  98. 26 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ImGroupMemberRoleType.java
  99. 26 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ImGroupType.java
  100. 1 25
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/queryInfo/SysManualQueryInfo.java

+ 0 - 1
cooleshow-auth/auth-server/pom.xml

@@ -17,7 +17,6 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
     <dependencies>
-
         <dependency>
             <groupId>com.yonge.toolset</groupId>
             <artifactId>toolset-mybatis</artifactId>

+ 85 - 0
cooleshow-bbs/pom.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>cooleshow</artifactId>
+        <groupId>com.yonge.cooleshow</groupId>
+        <version>1.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>cooleshow-bbs</artifactId>
+    <version>1.0</version>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.yonge.cooleshow</groupId>
+            <artifactId>auth-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-security</artifactId>
+        </dependency>
+
+        <!-- swagger-spring-boot -->
+        <dependency>
+            <groupId>com.spring4all</groupId>
+            <artifactId>swagger-spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.yonge.toolset</groupId>
+            <artifactId>toolset-feign</artifactId>
+            <version>1.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.yonge.cooleshow</groupId>
+            <artifactId>cooleshow-common</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.yonge.toolset</groupId>
+            <artifactId>thirdparty-component</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.yonge.toolset</groupId>
+            <artifactId>toolset-mybatis</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.yonge.toolset</groupId>
+            <artifactId>toolset-emoji</artifactId>
+            <version>1.0</version>
+        </dependency>
+
+        <!-- mybatis-plus -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.0.7.1</version>
+        </dependency>
+    </dependencies>
+</project>

+ 31 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/BbsApplication.java

@@ -0,0 +1,31 @@
+package com.yonge.cooleshow.bbs;
+
+import com.spring4all.swagger.EnableSwagger2Doc;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+@EnableFeignClients("com.yonge.cooleshow")
+@MapperScan(basePackages = {"com.yonge.cooleshow.bbs.dao"})
+@ComponentScan(basePackages = {
+        "com.yonge.cooleshow.auth",
+        "com.yonge.cooleshow.common",
+        "com.yonge.cooleshow.common.security",
+        "com.yonge.toolset.thirdparty",
+        "com.yonge.cooleshow.bbs"
+})
+@Configuration
+@EnableSwagger2Doc
+public class BbsApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(BbsApplication.class, args);
+    }
+
+}

+ 34 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/GlobalCorsConfig.java

@@ -0,0 +1,34 @@
+package com.yonge.cooleshow.bbs.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+
+/**
+ * 全局跨域配置
+ * Created by macro on 2019/7/27.
+ */
+@Configuration
+public class GlobalCorsConfig {
+
+    /**
+     * 允许跨域调用的过滤器
+     */
+    @Bean
+    public CorsFilter corsFilter() {
+        CorsConfiguration config = new CorsConfiguration();
+        //允许所有域名进行跨域调用
+        config.addAllowedOrigin("*");
+        //允许跨越发送cookie
+        config.setAllowCredentials(true);
+        //放行全部原始头信息
+        config.addAllowedHeader("*");
+        //允许所有请求方法跨域调用
+        config.addAllowedMethod("*");
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        source.registerCorsConfiguration("/**", config);
+        return new CorsFilter(source);
+    }
+}

+ 73 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/LocalFastJsonHttpMessageConverter.java

@@ -0,0 +1,73 @@
+package com.yonge.cooleshow.bbs.config;
+
+import com.alibaba.fastjson.serializer.JSONSerializer;
+import com.alibaba.fastjson.serializer.ObjectSerializer;
+import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
+import com.alibaba.fastjson.serializer.ValueFilter;
+import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+import com.vdurmont.emoji.EmojiParser;
+import com.yonge.toolset.base.enums.BaseEnum;
+import com.yonge.toolset.utils.json.JsonUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.http.HttpInputMessage;
+import org.springframework.http.HttpOutputMessage;
+import org.springframework.http.converter.HttpMessageNotReadableException;
+import org.springframework.http.converter.HttpMessageNotWritableException;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConverter {
+
+	private static final String FORMAT = "yyyy-MM-dd HH:mm:ss";
+
+	@Override
+	protected Object readInternal(Class<? extends Object> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException {
+		return super.readInternal(clazz, inputMessage);
+	}
+
+	@Override
+	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
+
+		OutputStream out = outputMessage.getBody();
+		JsonUtil.getConfig().put(Date.class, new SimpleDateFormatSerializer(FORMAT));
+		//JsonUtil.getConfig().put(String.class, new EmojiSerializer());
+		String text = JsonUtil.toJSONString(obj, EnumFilter.instance, getFeatures());
+		byte[] bytes = text.getBytes(getCharset());
+		out.write(bytes);
+	}
+}
+
+class EmojiSerializer implements ObjectSerializer{
+
+	@Override
+	public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
+		serializer.write(EmojiParser.parseToUnicode(object.toString()));
+	}
+	
+}
+
+class EnumFilter implements ValueFilter {
+
+	public static EnumFilter instance = new EnumFilter();
+
+	public EnumFilter() {
+	}
+
+	@Override
+	public Object process(Object object, String name, Object value) {
+		if (value == null || StringUtils.isBlank(value.toString())) {
+			return value;
+		}
+		if (value instanceof BigDecimal || value instanceof Double || value instanceof Float) {
+			return new BigDecimal(value.toString());
+		}
+		if (BaseEnum.class.isAssignableFrom(value.getClass())) {
+			return ((BaseEnum<?, ?>) value).getCode();
+		}
+		return value;
+	}
+}

+ 86 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/ParameterCheckServletRequestWrapper.java

@@ -0,0 +1,86 @@
+package com.yonge.cooleshow.bbs.config;
+
+import com.vdurmont.emoji.EmojiParser;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.util.StreamUtils;
+
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+
+public class ParameterCheckServletRequestWrapper extends HttpServletRequestWrapper {
+
+	private byte[] requestBody;
+	private Charset charSet;
+
+	public ParameterCheckServletRequestWrapper(HttpServletRequest request) throws IOException {
+		super(request);
+
+		String requestBodyStr = getRequestPostStr(request);
+		if (StringUtils.isNotBlank(requestBodyStr)) {
+			requestBodyStr = EmojiParser.removeAllEmojis(requestBodyStr);
+			requestBody = requestBodyStr.getBytes(charSet);
+		} else {
+			requestBody = new byte[0];
+		}
+	}
+
+	public String getRequestPostStr(HttpServletRequest request) throws IOException {
+		String charSetStr = request.getCharacterEncoding();
+		if (charSetStr == null) {
+			charSetStr = "UTF-8";
+		}
+		charSet = Charset.forName(charSetStr);
+
+		return StreamUtils.copyToString(request.getInputStream(), charSet);
+	}
+
+	/**
+	 * 重写 getInputStream()
+	 */
+	@Override
+	public ServletInputStream getInputStream() {
+		if (requestBody == null) {
+			requestBody = new byte[0];
+		}
+
+		final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(requestBody);
+
+		return new ServletInputStream() {
+			@Override
+			public boolean isFinished() {
+				return false;
+			}
+
+			@Override
+			public boolean isReady() {
+				return false;
+			}
+
+			@Override
+			public void setReadListener(ReadListener readListener) {
+
+			}
+
+			@Override
+			public int read() {
+				return byteArrayInputStream.read();
+			}
+		};
+	}
+
+	/**
+	 * 重写 getReader()
+	 */
+	@Override
+	public BufferedReader getReader() {
+		return new BufferedReader(new InputStreamReader(getInputStream()));
+	}
+
+}

+ 41 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/ResourceServerConfig.java

@@ -0,0 +1,41 @@
+package com.yonge.cooleshow.bbs.config;
+
+import com.yonge.cooleshow.common.security.BaseAccessDeniedHandler;
+import com.yonge.cooleshow.common.security.BaseAuthenticationEntryPoint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpMethod;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
+import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
+import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
+
+@Configuration
+@EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
+public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
+
+    @Autowired
+    private BaseAccessDeniedHandler baseAccessDeniedHandler;
+
+    @Autowired
+    private BaseAuthenticationEntryPoint baseAuthenticationEntryPoint;
+
+    @Override
+    public void configure(HttpSecurity http) throws Exception {
+        http.cors().and().csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
+                .authorizeRequests()
+                .antMatchers(HttpMethod.OPTIONS)
+                .permitAll()
+            .and()
+                .authorizeRequests()
+                .antMatchers("/wechat/*","/feign-client/**","/v2/api-docs", "/code/*","/payment/callback","/admin/login")
+            .permitAll().anyRequest().authenticated().and().httpBasic();
+    }
+
+    @Override
+    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
+        resources.authenticationEntryPoint(baseAuthenticationEntryPoint).accessDeniedHandler(baseAccessDeniedHandler);
+    }
+}

+ 50 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/WebMvcConfig.java

@@ -0,0 +1,50 @@
+package com.yonge.cooleshow.bbs.config;
+
+import com.yonge.cooleshow.common.config.EnumConverterFactory;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.format.FormatterRegistry;
+import org.springframework.http.MediaType;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Configuration
+public class WebMvcConfig implements WebMvcConfigurer {
+
+
+	/**
+	 * 枚举类的转换器 addConverterFactory
+	 */
+	@Override
+	public void addFormatters(FormatterRegistry registry) {
+		registry.addConverterFactory(new EnumConverterFactory());
+	}
+
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+		// addPathPatterns 用于添加拦截规则, 这里假设拦截 /url 后面的全部链接
+		List<String> includePathPatterns = new ArrayList<String>();
+		includePathPatterns.add("/**");
+
+		// excludePathPatterns 用户排除拦截
+		List<String> excludePathPatterns = new ArrayList<String>();
+		excludePathPatterns.add("/login");
+
+		// registry.addInterceptor(mdcInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns);
+
+//		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
+	}
+
+	@Bean
+	public HttpMessageConverters fastJsonHttpMessageConverters() {
+		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
+		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
+}

+ 51 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/filters/EmojiEncodingFilter.java

@@ -0,0 +1,51 @@
+package com.yonge.cooleshow.bbs.config.filters;
+
+import com.vdurmont.emoji.EmojiParser;
+import com.yonge.cooleshow.bbs.config.ParameterCheckServletRequestWrapper;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+public class EmojiEncodingFilter implements Filter {
+
+	@Override
+	public void init(FilterConfig filterConfig) throws ServletException {
+		Filter.super.init(filterConfig);
+	}
+
+	@Override
+	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+		request = new ParameterCheckServletRequestWrapper((HttpServletRequest) request) {
+
+			@Override
+			public String getParameter(String name) {
+				// 参数名
+				String value = super.getParameter(name);
+				if (StringUtils.isNotBlank(value)) {
+					// 返回值之前 先进行 Emoji 转化
+					return EmojiParser.removeAllEmojis(value);
+				}
+				return value;
+			}
+
+			@Override
+			public String[] getParameterValues(String name) {
+				// 参数值
+				// 返回值之前 先进行 Emoji 转化
+				String[] values = super.getParameterValues(name);
+				if (values != null) {
+					for (int i = 0; i < values.length; i++) {
+						values[i] = EmojiParser.removeAllEmojis(values[i]);
+					}
+				}
+				return values;
+			}
+
+		};
+		
+		chain.doFilter(request, response);
+	}
+
+}

+ 86 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsArticleController.java

@@ -0,0 +1,86 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.bbs.vo.BbsArticleVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsArticleSearch;
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+import com.yonge.cooleshow.bbs.service.BbsArticleService;
+
+@RestController
+@RequestMapping("/bbsArticle")
+@Api(value = "文章", tags = "文章")
+public class BbsArticleController extends BaseController {
+
+    @Autowired
+    private BbsArticleService bbsArticleService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<BbsArticleVo> detail(@PathVariable("id") Long id) {
+    	return succeed(bbsArticleService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入bbsArticleSearch")
+    public HttpResponseResult<PageInfo<BbsArticleVo>> page(@RequestBody BbsArticleSearch query) {
+		IPage<BbsArticleVo> pages = bbsArticleService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入bbsArticle")
+	public HttpResponseResult save(@Valid @RequestBody BbsArticle bbsArticle) {
+    	return status(bbsArticleService.save(bbsArticle));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入bbsArticle")
+	public HttpResponseResult update(@Valid @RequestBody BbsArticle bbsArticle) {
+        return status(bbsArticleService.updateById(bbsArticle));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入bbsArticle")
+	public HttpResponseResult submit(@Valid @RequestBody BbsArticle bbsArticle) {
+        return status(bbsArticleService.saveOrUpdate(bbsArticle));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(bbsArticleService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 87 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsCollectController.java

@@ -0,0 +1,87 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.bbs.vo.BbsCollectVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsCollectSearch;
+import com.yonge.cooleshow.bbs.entity.BbsCollect;
+import com.yonge.cooleshow.bbs.service.BbsCollectService;
+
+@RestController
+@RequestMapping("/bbsCollect")
+@Api(value = "收藏", tags = "收藏")
+public class BbsCollectController extends BaseController {
+
+    @Autowired
+    private BbsCollectService bbsCollectService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<BbsCollectVo> detail(@PathVariable("id") Long id) {
+    	return succeed(bbsCollectService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入bbsCollectSearch")
+    public HttpResponseResult<PageInfo<BbsCollectVo>> page(@RequestBody BbsCollectSearch query) {
+		IPage<BbsCollectVo> pages = bbsCollectService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入bbsCollect")
+	public HttpResponseResult save(@Valid @RequestBody BbsCollect bbsCollect) {
+    	return status(bbsCollectService.save(bbsCollect));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入bbsCollect")
+	public HttpResponseResult update(@Valid @RequestBody BbsCollect bbsCollect) {
+        return status(bbsCollectService.updateById(bbsCollect));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入bbsCollect")
+	public HttpResponseResult submit(@Valid @RequestBody BbsCollect bbsCollect) {
+        return status(bbsCollectService.saveOrUpdate(bbsCollect));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(bbsCollectService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 80 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsConfigLabelController.java

@@ -0,0 +1,80 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.bbs.valid.AddGroup;
+import com.yonge.cooleshow.bbs.valid.UpdateGroup;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsConfigLabelSearch;
+import com.yonge.cooleshow.bbs.entity.BbsConfigLabel;
+import com.yonge.cooleshow.bbs.service.BbsConfigLabelService;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/bbsConfigLabel")
+@Api(value = "论坛标签设置", tags = "论坛标签设置")
+public class BbsConfigLabelController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private BbsConfigLabelService bbsConfigLabelService;
+
+    @ApiOperation(value = "查询全部")
+    @PostMapping("/selectAll")
+    public HttpResponseResult<List<BbsConfigLabel>> selectAll(Integer delFlag) {
+        return succeed(bbsConfigLabelService.selectAll(delFlag));
+    }
+
+    @ApiOperation(value = "查询分页")
+    @PostMapping("/page")
+    public HttpResponseResult<PageInfo<BbsConfigLabelVo>> page(@RequestBody BbsConfigLabelSearch query) {
+        IPage<BbsConfigLabelVo> pages = bbsConfigLabelService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
+    @ApiOperation(value = "新增")
+    @PostMapping("/save")
+    public HttpResponseResult save(@Validated(AddGroup.class) @RequestBody BbsConfigLabel bbsConfigLabel) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        bbsConfigLabel.setCreateBy(user.getId());
+        return status(bbsConfigLabelService.save(bbsConfigLabel));
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public HttpResponseResult update(@Validated(UpdateGroup.class) @RequestBody BbsConfigLabel bbsConfigLabel) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        bbsConfigLabel.setUpdateBy(user.getId());
+        return status(bbsConfigLabelService.updateById(bbsConfigLabel));
+    }
+
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    @PostMapping("/remove")
+    public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+            return failed("参数不能为空");
+        }
+        return status(bbsConfigLabelService.removeByIds(StringUtil.toLongList(ids)));
+    }
+}

+ 87 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsFollowController.java

@@ -0,0 +1,87 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.bbs.vo.BbsFollowVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsFollowSearch;
+import com.yonge.cooleshow.bbs.entity.BbsFollow;
+import com.yonge.cooleshow.bbs.service.BbsFollowService;
+
+@RestController
+@RequestMapping("/bbsFollow")
+@Api(value = "关注", tags = "关注")
+public class BbsFollowController extends BaseController {
+
+    @Autowired
+    private BbsFollowService bbsFollowService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<BbsFollowVo> detail(@PathVariable("id") Long id) {
+    	return succeed(bbsFollowService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入bbsFollowSearch")
+    public HttpResponseResult<PageInfo<BbsFollowVo>> page(@RequestBody BbsFollowSearch query) {
+		IPage<BbsFollowVo> pages = bbsFollowService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入bbsFollow")
+	public HttpResponseResult save(@Valid @RequestBody BbsFollow bbsFollow) {
+    	return status(bbsFollowService.save(bbsFollow));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入bbsFollow")
+	public HttpResponseResult update(@Valid @RequestBody BbsFollow bbsFollow) {
+        return status(bbsFollowService.updateById(bbsFollow));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入bbsFollow")
+	public HttpResponseResult submit(@Valid @RequestBody BbsFollow bbsFollow) {
+        return status(bbsFollowService.saveOrUpdate(bbsFollow));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(bbsFollowService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 87 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsLikeController.java

@@ -0,0 +1,87 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.bbs.vo.BbsLikeVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsLikeSearch;
+import com.yonge.cooleshow.bbs.entity.BbsLike;
+import com.yonge.cooleshow.bbs.service.BbsLikeService;
+
+@RestController
+@RequestMapping("/bbsLike")
+@Api(value = "点赞", tags = "点赞")
+public class BbsLikeController extends BaseController {
+
+    @Autowired
+    private BbsLikeService bbsLikeService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<BbsLikeVo> detail(@PathVariable("id") Long id) {
+    	return succeed(bbsLikeService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入bbsLikeSearch")
+    public HttpResponseResult<PageInfo<BbsLikeVo>> page(@RequestBody BbsLikeSearch query) {
+		IPage<BbsLikeVo> pages = bbsLikeService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入bbsLike")
+	public HttpResponseResult save(@Valid @RequestBody BbsLike bbsLike) {
+    	return status(bbsLikeService.save(bbsLike));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入bbsLike")
+	public HttpResponseResult update(@Valid @RequestBody BbsLike bbsLike) {
+        return status(bbsLikeService.updateById(bbsLike));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入bbsLike")
+	public HttpResponseResult submit(@Valid @RequestBody BbsLike bbsLike) {
+        return status(bbsLikeService.saveOrUpdate(bbsLike));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(bbsLikeService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 87 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsPrivateMessageController.java

@@ -0,0 +1,87 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
+import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+import com.yonge.cooleshow.bbs.service.BbsPrivateMessageService;
+
+@RestController
+@RequestMapping("/bbsPrivateMessage")
+@Api(value = "私信", tags = "私信")
+public class BbsPrivateMessageController extends BaseController {
+
+    @Autowired
+    private BbsPrivateMessageService bbsPrivateMessageService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<BbsPrivateMessageVo> detail(@PathVariable("id") Long id) {
+    	return succeed(bbsPrivateMessageService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入bbsPrivateMessageSearch")
+    public HttpResponseResult<PageInfo<BbsPrivateMessageVo>> page(@RequestBody BbsPrivateMessageSearch query) {
+		IPage<BbsPrivateMessageVo> pages = bbsPrivateMessageService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入bbsPrivateMessage")
+	public HttpResponseResult save(@Valid @RequestBody BbsPrivateMessage bbsPrivateMessage) {
+    	return status(bbsPrivateMessageService.save(bbsPrivateMessage));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入bbsPrivateMessage")
+	public HttpResponseResult update(@Valid @RequestBody BbsPrivateMessage bbsPrivateMessage) {
+        return status(bbsPrivateMessageService.updateById(bbsPrivateMessage));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入bbsPrivateMessage")
+	public HttpResponseResult submit(@Valid @RequestBody BbsPrivateMessage bbsPrivateMessage) {
+        return status(bbsPrivateMessageService.saveOrUpdate(bbsPrivateMessage));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(bbsPrivateMessageService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 87 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsReplyController.java

@@ -0,0 +1,87 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
+import com.yonge.cooleshow.bbs.entity.BbsReply;
+import com.yonge.cooleshow.bbs.service.BbsReplyService;
+
+@RestController
+@RequestMapping("/bbsReply")
+@Api(value = "文章评论", tags = "文章评论")
+public class BbsReplyController extends BaseController {
+
+    @Autowired
+    private BbsReplyService bbsReplyService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<BbsReplyVo> detail(@PathVariable("id") Long id) {
+    	return succeed(bbsReplyService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入bbsReplySearch")
+    public HttpResponseResult<PageInfo<BbsReplyVo>> page(@RequestBody BbsReplySearch query) {
+		IPage<BbsReplyVo> pages = bbsReplyService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入bbsReply")
+	public HttpResponseResult save(@Valid @RequestBody BbsReply bbsReply) {
+    	return status(bbsReplyService.save(bbsReply));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入bbsReply")
+	public HttpResponseResult update(@Valid @RequestBody BbsReply bbsReply) {
+        return status(bbsReplyService.updateById(bbsReply));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入bbsReply")
+	public HttpResponseResult submit(@Valid @RequestBody BbsReply bbsReply) {
+        return status(bbsReplyService.saveOrUpdate(bbsReply));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(bbsReplyService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 30 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsArticleDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+import com.yonge.cooleshow.bbs.vo.BbsArticleVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsArticleSearch;
+
+
+public interface BbsArticleDao extends BaseMapper<BbsArticle>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsArticleVo
+	 */
+	BbsArticleVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsArticleVo
+	 */
+	List<BbsArticleVo> selectPage(@Param("page") IPage page, @Param("param") BbsArticleSearch bbsArticle);
+	
+}

+ 30 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsCollectDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsCollect;
+import com.yonge.cooleshow.bbs.vo.BbsCollectVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsCollectSearch;
+
+
+public interface BbsCollectDao extends BaseMapper<BbsCollect>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsCollectVo
+	 */
+	BbsCollectVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsCollectVo
+	 */
+	List<BbsCollectVo> selectPage(@Param("page") IPage page, @Param("param") BbsCollectSearch bbsCollect);
+	
+}

+ 38 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsConfigLabelDao.java

@@ -0,0 +1,38 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsConfigLabel;
+import com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsConfigLabelSearch;
+
+public interface BbsConfigLabelDao extends BaseMapper<BbsConfigLabel> {
+    /**
+     * 查询详情
+     *
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo
+     */
+    BbsConfigLabelVo detail(@Param("id") Long id);
+
+    /**
+     * 分页查询
+     *
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo
+     */
+    List<BbsConfigLabelVo> selectPage(@Param("page") IPage page, @Param("param") BbsConfigLabelSearch bbsConfigLabel);
+
+    /**
+     * 查询所有
+     *
+     * @param delFlag 删除状态
+     * @return
+     */
+    List<BbsConfigLabel> selectAll(Integer delFlag);
+}

+ 30 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsFollowDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsFollow;
+import com.yonge.cooleshow.bbs.vo.BbsFollowVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsFollowSearch;
+
+
+public interface BbsFollowDao extends BaseMapper<BbsFollow>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsFollowVo
+	 */
+	BbsFollowVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsFollowVo
+	 */
+	List<BbsFollowVo> selectPage(@Param("page") IPage page, @Param("param") BbsFollowSearch bbsFollow);
+	
+}

+ 30 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsLikeDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsLike;
+import com.yonge.cooleshow.bbs.vo.BbsLikeVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsLikeSearch;
+
+
+public interface BbsLikeDao extends BaseMapper<BbsLike>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsLikeVo
+	 */
+	BbsLikeVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsLikeVo
+	 */
+	List<BbsLikeVo> selectPage(@Param("page") IPage page, @Param("param") BbsLikeSearch bbsLike);
+	
+}

+ 30 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsPrivateMessageDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
+
+
+public interface BbsPrivateMessageDao extends BaseMapper<BbsPrivateMessage>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo
+	 */
+	BbsPrivateMessageVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo
+	 */
+	List<BbsPrivateMessageVo> selectPage(@Param("page") IPage page, @Param("param") BbsPrivateMessageSearch bbsPrivateMessage);
+	
+}

+ 30 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsReplyDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.bbs.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.bbs.entity.BbsReply;
+import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
+
+
+public interface BbsReplyDao extends BaseMapper<BbsReply>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsReplyVo
+	 */
+	BbsReplyVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-06-09 17:27:11
+     * @return: com.yonge.cooleshow.bbs.vo.BbsReplyVo
+	 */
+	List<BbsReplyVo> selectPage(@Param("page") IPage page, @Param("param") BbsReplySearch bbsReply);
+	
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsArticleDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsArticleDto对象", description = "文章数据传输对象")
+public class BbsArticleDto extends BbsArticle{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsArticleDto buildDto(BbsArticle bbsArticle){
+        try {
+            BeanUtils.copyProperties(this,bbsArticle);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsCollectDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsCollect;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsCollectDto对象", description = "收藏数据传输对象")
+public class BbsCollectDto extends BbsCollect{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsCollectDto buildDto(BbsCollect bbsCollect){
+        try {
+            BeanUtils.copyProperties(this,bbsCollect);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsConfigLabelDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsConfigLabel;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsConfigLabelDto对象", description = "论坛标签设置数据传输对象")
+public class BbsConfigLabelDto extends BbsConfigLabel{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsConfigLabelDto buildDto(BbsConfigLabel bbsConfigLabel){
+        try {
+            BeanUtils.copyProperties(this,bbsConfigLabel);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsFollowDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsFollow;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsFollowDto对象", description = "关注数据传输对象")
+public class BbsFollowDto extends BbsFollow{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsFollowDto buildDto(BbsFollow bbsFollow){
+        try {
+            BeanUtils.copyProperties(this,bbsFollow);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsLikeDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsLike;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsLikeDto对象", description = "点赞数据传输对象")
+public class BbsLikeDto extends BbsLike{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsLikeDto buildDto(BbsLike bbsLike){
+        try {
+            BeanUtils.copyProperties(this,bbsLike);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsPrivateMessageDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsPrivateMessageDto对象", description = "私信数据传输对象")
+public class BbsPrivateMessageDto extends BbsPrivateMessage{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsPrivateMessageDto buildDto(BbsPrivateMessage bbsPrivateMessage){
+        try {
+            BeanUtils.copyProperties(this,bbsPrivateMessage);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsReplyDto.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.entity.BbsReply;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsReplyDto对象", description = "文章评论数据传输对象")
+public class BbsReplyDto extends BbsReply{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsReplyDto buildDto(BbsReply bbsReply){
+        try {
+            BeanUtils.copyProperties(this,bbsReply);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 14 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsArticleSearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsArticleSearch对象", description = "文章查询对象")
+public class BbsArticleSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 14 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsCollectSearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsCollectSearch对象", description = "收藏查询对象")
+public class BbsCollectSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 25 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsConfigLabelSearch.java

@@ -0,0 +1,25 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsConfigLabelSearch对象", description = "论坛标签设置查询对象")
+public class BbsConfigLabelSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty("0:正常 1:删除")
+	private Integer delFlag;
+
+	public Integer getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(Integer delFlag) {
+		this.delFlag = delFlag;
+	}
+}

+ 14 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsFollowSearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsFollowSearch对象", description = "关注查询对象")
+public class BbsFollowSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 14 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsLikeSearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsLikeSearch对象", description = "点赞查询对象")
+public class BbsLikeSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 14 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsPrivateMessageSearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsPrivateMessageSearch对象", description = "私信查询对象")
+public class BbsPrivateMessageSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 14 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsReplySearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.bbs.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsReplySearch对象", description = "文章评论查询对象")
+public class BbsReplySearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 230 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsArticle.java

@@ -0,0 +1,230 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 文章
+ */
+@TableName("bbs_article")
+@ApiModel(value = "BbsArticle对象", description = "文章")
+public class BbsArticle implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("发布者id")
+    @TableField(value = "user_id_")
+    private Long userId;
+
+    @ApiModelProperty("文章标题")
+    @TableField(value = "title_")
+    private String title;
+
+    @ApiModelProperty("文章内容")
+    @TableField(value = "content_")
+    private String content;
+
+    @ApiModelProperty("标签id")
+    @TableField(value = "label_id_")
+    private Integer labelId;
+
+    @ApiModelProperty("标签名称(冗余字段)")
+    @TableField(value = "label_name_")
+    private String labelName;
+
+    @ApiModelProperty("阅读量")
+    @TableField(value = "views_count_")
+    private Long viewsCount;
+
+    @ApiModelProperty("点赞量")
+    @TableField(value = "likes_count_")
+    private Long likesCount;
+
+    @ApiModelProperty("评论量")
+    @TableField(value = "comments_count_")
+    private Long commentsCount;
+
+    @ApiModelProperty("收藏量")
+    @TableField(value = "collects_count_")
+    private Long collectsCount;
+
+    @ApiModelProperty("草稿:DRAFT,审核中:DOING,通过:PASS,驳回:REJECT")
+    @TableField(value = "status_")
+    private String status;
+
+    @ApiModelProperty("是否置顶 0:未置顶 1:置顶")
+    @TableField(value = "top_flag_")
+    private Integer topFlag;
+
+    @ApiModelProperty("是否可评论 0:不可评论 1:可评论")
+    @TableField(value = "reply_flag_")
+    private Integer replyFlag;
+
+    @ApiModelProperty("审核通过时间")
+    @TableField(value = "examine_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date examineTime;
+
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @TableField(value = "updated_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty("0:正常 1:删除")
+    @TableField(value = "del_flag_")
+    private Integer delFlag;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Integer getLabelId() {
+        return labelId;
+    }
+
+    public void setLabelId(Integer labelId) {
+        this.labelId = labelId;
+    }
+
+    public String getLabelName() {
+        return labelName;
+    }
+
+    public void setLabelName(String labelName) {
+        this.labelName = labelName;
+    }
+
+    public Long getViewsCount() {
+        return viewsCount;
+    }
+
+    public void setViewsCount(Long viewsCount) {
+        this.viewsCount = viewsCount;
+    }
+
+    public Long getLikesCount() {
+        return likesCount;
+    }
+
+    public void setLikesCount(Long likesCount) {
+        this.likesCount = likesCount;
+    }
+
+    public Long getCommentsCount() {
+        return commentsCount;
+    }
+
+    public void setCommentsCount(Long commentsCount) {
+        this.commentsCount = commentsCount;
+    }
+
+    public Long getCollectsCount() {
+        return collectsCount;
+    }
+
+    public void setCollectsCount(Long collectsCount) {
+        this.collectsCount = collectsCount;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Integer getTopFlag() {
+        return topFlag;
+    }
+
+    public void setTopFlag(Integer topFlag) {
+        this.topFlag = topFlag;
+    }
+
+    public Integer getReplyFlag() {
+        return replyFlag;
+    }
+
+    public void setReplyFlag(Integer replyFlag) {
+        this.replyFlag = replyFlag;
+    }
+
+    public Date getExamineTime() {
+        return examineTime;
+    }
+
+    public void setExamineTime(Date examineTime) {
+        this.examineTime = examineTime;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public Date getUpdatedTime() {
+        return updatedTime;
+    }
+
+    public void setUpdatedTime(Date updatedTime) {
+        this.updatedTime = updatedTime;
+    }
+
+    public Integer getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Integer delFlag) {
+        this.delFlag = delFlag;
+    }
+}

+ 72 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsCollect.java

@@ -0,0 +1,72 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 收藏
+ */
+@TableName("bbs_collect")
+@ApiModel(value = "BbsCollect对象", description = "收藏")
+public class BbsCollect implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("文章id")
+    @TableField(value = "article_id_")
+    private Long articleId;
+
+    @ApiModelProperty("收藏用户id")
+    @TableField(value = "collect_user_id_")
+    private Long collectUserId;
+
+    @ApiModelProperty("收藏日期")
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getArticleId() {
+        return articleId;
+    }
+
+    public void setArticleId(Long articleId) {
+        this.articleId = articleId;
+    }
+
+    public Long getCollectUserId() {
+        return collectUserId;
+    }
+
+    public void setCollectUserId(Long collectUserId) {
+        this.collectUserId = collectUserId;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+}

+ 115 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsConfigLabel.java

@@ -0,0 +1,115 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yonge.cooleshow.bbs.valid.AddGroup;
+import com.yonge.cooleshow.bbs.valid.UpdateGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 论坛标签设置
+ */
+@TableName("bbs_config_label")
+@ApiModel(value = "BbsConfigLabel对象", description = "论坛标签设置")
+public class BbsConfigLabel implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    @NotNull(groups = {UpdateGroup.class}, message = "标签id不能为空")
+    private Long id;
+
+    @ApiModelProperty("标签")
+    @TableField(value = "label_name_")
+    @NotBlank(groups = {AddGroup.class}, message = "标签名不能为空")
+    private String labelName;
+
+    @ApiModelProperty("创建者")
+    @TableField(value = "create_by_")
+    private Long createBy;
+
+    @ApiModelProperty("修改者")
+    @TableField(value = "update_by_")
+    private Long updateBy;
+
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @TableField(value = "updated_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    @ApiModelProperty("0:正常 1:删除")
+    @TableField(value = "del_flag_")
+    private Integer delFlag;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getLabelName() {
+        return labelName;
+    }
+
+    public void setLabelName(String labelName) {
+        this.labelName = labelName;
+    }
+
+    public Long getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(Long createBy) {
+        this.createBy = createBy;
+    }
+
+    public Long getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(Long updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public Date getUpdatedTime() {
+        return updatedTime;
+    }
+
+    public void setUpdatedTime(Date updatedTime) {
+        this.updatedTime = updatedTime;
+    }
+
+    public Integer getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Integer delFlag) {
+        this.delFlag = delFlag;
+    }
+}

+ 72 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsFollow.java

@@ -0,0 +1,72 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 关注
+ */
+@TableName("bbs_follow")
+@ApiModel(value = "BbsFollow对象", description = "关注")
+public class BbsFollow implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("用户id")
+    @TableField(value = "user_id_")
+    private Long userId;
+
+    @ApiModelProperty("关注用户id")
+    @TableField(value = "friend_user_id")
+    private Long friendUserId;
+
+    @ApiModelProperty("关注时间")
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getFriendUserId() {
+        return friendUserId;
+    }
+
+    public void setFriendUserId(Long friendUserId) {
+        this.friendUserId = friendUserId;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+}

+ 72 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsLike.java

@@ -0,0 +1,72 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 点赞
+ */
+@TableName("bbs_like")
+@ApiModel(value = "BbsLike对象", description = "点赞")
+public class BbsLike implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("文章id")
+    @TableField(value = "article_id_")
+    private Long articleId;
+
+    @ApiModelProperty("点赞用户id")
+    @TableField(value = "like_user_id_")
+    private Long likeUserId;
+
+    @ApiModelProperty("点赞日期")
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getArticleId() {
+        return articleId;
+    }
+
+    public void setArticleId(Long articleId) {
+        this.articleId = articleId;
+    }
+
+    public Long getLikeUserId() {
+        return likeUserId;
+    }
+
+    public void setLikeUserId(Long likeUserId) {
+        this.likeUserId = likeUserId;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+}

+ 84 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsPrivateMessage.java

@@ -0,0 +1,84 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 私信
+ */
+@TableName("bbs_private_message")
+@ApiModel(value = "BbsPrivateMessage对象", description = "私信")
+public class BbsPrivateMessage implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("发送用户id")
+    @TableField(value = "send_user_id_")
+    private Long sendUserId;
+
+    @ApiModelProperty("接受方用户id")
+    @TableField(value = "receiver_user_id_")
+    private Long receiverUserId;
+
+    @ApiModelProperty("发送消息内容")
+    @TableField(value = "message_content_")
+    private String messageContent;
+
+    @ApiModelProperty("发送时间")
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getSendUserId() {
+        return sendUserId;
+    }
+
+    public void setSendUserId(Long sendUserId) {
+        this.sendUserId = sendUserId;
+    }
+
+    public Long getReceiverUserId() {
+        return receiverUserId;
+    }
+
+    public void setReceiverUserId(Long receiverUserId) {
+        this.receiverUserId = receiverUserId;
+    }
+
+    public String getMessageContent() {
+        return messageContent;
+    }
+
+    public void setMessageContent(String messageContent) {
+        this.messageContent = messageContent;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+}

+ 121 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsReply.java

@@ -0,0 +1,121 @@
+package com.yonge.cooleshow.bbs.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 文章评论
+ */
+@TableName("bbs_reply")
+@ApiModel(value = "BbsReply对象", description = "文章评论")
+public class BbsReply implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("上级id")
+    @TableField(value = "parent_id_")
+    private Long parentId;
+
+    @ApiModelProperty("文章id")
+    @TableField(value = "article_id")
+    private Long articleId;
+
+    @ApiModelProperty("评论者id")
+    @TableField(value = "user_id_")
+    private Long userId;
+
+    @ApiModelProperty("评论内容")
+    @TableField(value = "content_")
+    private String content;
+
+    @ApiModelProperty("审核中:DOING,通过:PASS,驳回:REJECT")
+    @TableField(value = "status_")
+    private String status;
+
+    @ApiModelProperty("评论日期 ")
+    @TableField(value = "created_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    @TableField(value = "updated_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updatedTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+
+    public Long getArticleId() {
+        return articleId;
+    }
+
+    public void setArticleId(Long articleId) {
+        this.articleId = articleId;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public Date getUpdatedTime() {
+        return updatedTime;
+    }
+
+    public void setUpdatedTime(Date updatedTime) {
+        this.updatedTime = updatedTime;
+    }
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsArticleService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsArticleVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsArticleSearch;
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+
+/**
+ * 文章 服务类
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsArticleService extends IService<BbsArticle>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+	BbsArticleVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+    IPage<BbsArticleVo> selectPage(IPage<BbsArticleVo> page, BbsArticleSearch query);
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsCollectService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsCollectVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsCollectSearch;
+import com.yonge.cooleshow.bbs.entity.BbsCollect;
+
+/**
+ * 收藏 服务类
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsCollectService extends IService<BbsCollect>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+	BbsCollectVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+    IPage<BbsCollectVo> selectPage(IPage<BbsCollectVo> page, BbsCollectSearch query);
+}

+ 42 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsConfigLabelService.java

@@ -0,0 +1,42 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsConfigLabelSearch;
+import com.yonge.cooleshow.bbs.entity.BbsConfigLabel;
+
+import java.util.List;
+
+/**
+ * 论坛标签设置 服务类
+ *
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsConfigLabelService extends IService<BbsConfigLabel> {
+
+    /**
+     * 查询详情
+     *
+     * @author liweifan
+     * @date 2022-06-09
+     */
+    BbsConfigLabelVo detail(Long id);
+
+    /**
+     * 分页查询
+     *
+     * @author liweifan
+     * @date 2022-06-09
+     */
+    IPage<BbsConfigLabelVo> selectPage(IPage<BbsConfigLabelVo> page, BbsConfigLabelSearch query);
+
+    /**
+     * 查询所有
+     *
+     * @param delFlag 删除状态
+     * @return
+     */
+    List<BbsConfigLabel> selectAll(Integer delFlag);
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsFollowService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsFollowVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsFollowSearch;
+import com.yonge.cooleshow.bbs.entity.BbsFollow;
+
+/**
+ * 关注 服务类
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsFollowService extends IService<BbsFollow>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+	BbsFollowVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+    IPage<BbsFollowVo> selectPage(IPage<BbsFollowVo> page, BbsFollowSearch query);
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsLikeService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsLikeVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsLikeSearch;
+import com.yonge.cooleshow.bbs.entity.BbsLike;
+
+/**
+ * 点赞 服务类
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsLikeService extends IService<BbsLike>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+	BbsLikeVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+    IPage<BbsLikeVo> selectPage(IPage<BbsLikeVo> page, BbsLikeSearch query);
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsPrivateMessageService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
+import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+
+/**
+ * 私信 服务类
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsPrivateMessageService extends IService<BbsPrivateMessage>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+	BbsPrivateMessageVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+    IPage<BbsPrivateMessageVo> selectPage(IPage<BbsPrivateMessageVo> page, BbsPrivateMessageSearch query);
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsReplyService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
+import com.yonge.cooleshow.bbs.entity.BbsReply;
+
+/**
+ * 文章评论 服务类
+ * @author liweifan
+ * @date 2022-06-09
+ */
+public interface BbsReplyService extends IService<BbsReply>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+	BbsReplyVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-06-09
+     */
+    IPage<BbsReplyVo> selectPage(IPage<BbsReplyVo> page, BbsReplySearch query);
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsArticleServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+import com.yonge.cooleshow.bbs.vo.BbsArticleVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsArticleSearch;
+import com.yonge.cooleshow.bbs.dao.BbsArticleDao;
+import com.yonge.cooleshow.bbs.service.BbsArticleService;
+
+
+@Service
+public class BbsArticleServiceImpl extends ServiceImpl<BbsArticleDao, BbsArticle> implements BbsArticleService {
+    private final static Logger log = LoggerFactory.getLogger(BbsArticleServiceImpl.class);
+
+	@Override
+    public BbsArticleVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+     @Override
+    public IPage<BbsArticleVo> selectPage(IPage<BbsArticleVo> page, BbsArticleSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsCollectServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsCollect;
+import com.yonge.cooleshow.bbs.vo.BbsCollectVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsCollectSearch;
+import com.yonge.cooleshow.bbs.dao.BbsCollectDao;
+import com.yonge.cooleshow.bbs.service.BbsCollectService;
+
+
+@Service
+public class BbsCollectServiceImpl extends ServiceImpl<BbsCollectDao, BbsCollect> implements BbsCollectService {
+    private final static Logger log = LoggerFactory.getLogger(BbsCollectServiceImpl.class);
+
+	@Override
+    public BbsCollectVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+     @Override
+    public IPage<BbsCollectVo> selectPage(IPage<BbsCollectVo> page, BbsCollectSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 34 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsConfigLabelServiceImpl.java

@@ -0,0 +1,34 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsConfigLabel;
+import com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsConfigLabelSearch;
+import com.yonge.cooleshow.bbs.dao.BbsConfigLabelDao;
+import com.yonge.cooleshow.bbs.service.BbsConfigLabelService;
+
+import java.util.List;
+
+@Service
+public class BbsConfigLabelServiceImpl extends ServiceImpl<BbsConfigLabelDao, BbsConfigLabel> implements BbsConfigLabelService {
+    private final static Logger log = LoggerFactory.getLogger(BbsConfigLabelServiceImpl.class);
+
+    @Override
+    public BbsConfigLabelVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+
+    @Override
+    public IPage<BbsConfigLabelVo> selectPage(IPage<BbsConfigLabelVo> page, BbsConfigLabelSearch query) {
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+
+    @Override
+    public List<BbsConfigLabel> selectAll(Integer delFlag) {
+        return baseMapper.selectAll(delFlag);
+    }
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsFollowServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsFollow;
+import com.yonge.cooleshow.bbs.vo.BbsFollowVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsFollowSearch;
+import com.yonge.cooleshow.bbs.dao.BbsFollowDao;
+import com.yonge.cooleshow.bbs.service.BbsFollowService;
+
+
+@Service
+public class BbsFollowServiceImpl extends ServiceImpl<BbsFollowDao, BbsFollow> implements BbsFollowService {
+    private final static Logger log = LoggerFactory.getLogger(BbsFollowServiceImpl.class);
+
+	@Override
+    public BbsFollowVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+     @Override
+    public IPage<BbsFollowVo> selectPage(IPage<BbsFollowVo> page, BbsFollowSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsLikeServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsLike;
+import com.yonge.cooleshow.bbs.vo.BbsLikeVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsLikeSearch;
+import com.yonge.cooleshow.bbs.dao.BbsLikeDao;
+import com.yonge.cooleshow.bbs.service.BbsLikeService;
+
+
+@Service
+public class BbsLikeServiceImpl extends ServiceImpl<BbsLikeDao, BbsLike> implements BbsLikeService {
+    private final static Logger log = LoggerFactory.getLogger(BbsLikeServiceImpl.class);
+
+	@Override
+    public BbsLikeVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+     @Override
+    public IPage<BbsLikeVo> selectPage(IPage<BbsLikeVo> page, BbsLikeSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsPrivateMessageServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
+import com.yonge.cooleshow.bbs.dao.BbsPrivateMessageDao;
+import com.yonge.cooleshow.bbs.service.BbsPrivateMessageService;
+
+
+@Service
+public class BbsPrivateMessageServiceImpl extends ServiceImpl<BbsPrivateMessageDao, BbsPrivateMessage> implements BbsPrivateMessageService {
+    private final static Logger log = LoggerFactory.getLogger(BbsPrivateMessageServiceImpl.class);
+
+	@Override
+    public BbsPrivateMessageVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+     @Override
+    public IPage<BbsPrivateMessageVo> selectPage(IPage<BbsPrivateMessageVo> page, BbsPrivateMessageSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 29 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsReplyServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.bbs.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.bbs.entity.BbsReply;
+import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
+import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
+import com.yonge.cooleshow.bbs.dao.BbsReplyDao;
+import com.yonge.cooleshow.bbs.service.BbsReplyService;
+
+
+@Service
+public class BbsReplyServiceImpl extends ServiceImpl<BbsReplyDao, BbsReply> implements BbsReplyService {
+    private final static Logger log = LoggerFactory.getLogger(BbsReplyServiceImpl.class);
+
+	@Override
+    public BbsReplyVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+     @Override
+    public IPage<BbsReplyVo> selectPage(IPage<BbsReplyVo> page, BbsReplySearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 8 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/AddGroup.java

@@ -0,0 +1,8 @@
+package com.yonge.cooleshow.bbs.valid;
+
+/**
+ * @author: cy
+ * @date: 2022/3/31 09:54
+ */
+public interface AddGroup {
+}

+ 8 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/DeleteGroup.java

@@ -0,0 +1,8 @@
+package com.yonge.cooleshow.bbs.valid;
+
+/**
+ * @author: cy
+ * @date: 2022/3/31 09:54
+ */
+public interface DeleteGroup {
+}

+ 27 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/EnumValid.java

@@ -0,0 +1,27 @@
+package com.yonge.cooleshow.bbs.valid;
+
+import com.yonge.cooleshow.bbs.valid.impl.EnumValidtor;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+/**
+ * 校验入参是否为指定enum的值的注解
+ */
+@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Constraint(validatedBy = {EnumValidtor.class})
+@Documented
+public @interface EnumValid {
+
+    String message() default "";
+
+    Class<?>[] groups() default {};
+
+    Class<? extends Payload>[] payload() default {};
+
+    Class<?>[] target() default {};
+
+    String vaildField() default "getCode";
+}

+ 31 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/ListValue.java

@@ -0,0 +1,31 @@
+package com.yonge.cooleshow.bbs.valid;
+
+
+import com.yonge.cooleshow.bbs.valid.impl.ListValueValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @author: cy
+ * @date: 2022/3/31 09:54
+ */
+@Documented
+@Constraint(validatedBy = {ListValueValidator.class})
+@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
+@Retention(RUNTIME)
+public @interface ListValue {
+    String message() default "必须提交指定的值";
+
+    Class<?>[] groups() default {};
+
+    Class<? extends Payload>[] payload() default {};
+
+    int[] vals() default {};
+}

+ 8 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/SelectGroup.java

@@ -0,0 +1,8 @@
+package com.yonge.cooleshow.bbs.valid;
+
+/**
+* @Author: cy
+* @Date: 2022/4/6
+*/
+public interface SelectGroup {
+}

+ 8 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/UpdateGroup.java

@@ -0,0 +1,8 @@
+package com.yonge.cooleshow.bbs.valid;
+
+/**
+ * @author: cy
+ * @date: 2022/3/31 09:54
+ */
+public interface UpdateGroup {
+}

+ 63 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/impl/EnumValidtor.java

@@ -0,0 +1,63 @@
+package com.yonge.cooleshow.bbs.valid.impl;
+
+import com.yonge.cooleshow.bbs.valid.EnumValid;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * @author: cy
+ * @date: 2022/4/2 14:53
+ */
+public class EnumValidtor implements ConstraintValidator<EnumValid, Object> {
+
+    String vaildField;
+    Class<?>[] cls; //枚举类
+
+    @Override
+    public void initialize(EnumValid constraintAnnotation) {
+        cls = constraintAnnotation.target();
+        vaildField = constraintAnnotation.vaildField();
+    }
+
+    @Override
+    public boolean isValid(Object value, ConstraintValidatorContext context) {
+        if (value != null && value.toString().length() > 0 && cls.length > 0) {
+            for (Class<?> cl : cls) {
+                try {
+                    if (cl.isEnum()) {
+                        //枚举类验证
+                        Object[] objs = cl.getEnumConstants();
+                        Method method = cl.getMethod("name");
+                        for (Object obj : objs) {
+                            Object code = method.invoke(obj, null);
+                            if (value.equals(code.toString())) {
+                                return true;
+                            }
+                        }
+                        Method codeMethod = cl.getMethod(vaildField);
+                        for (Object obj : objs) {
+                            Object code = codeMethod.invoke(obj, null);
+                            if (value.toString().equals(code.toString())) {
+                                return true;
+                            }
+                        }
+                    }
+                } catch (NoSuchMethodException e) {
+                    e.printStackTrace();
+                } catch (IllegalAccessException e) {
+                    e.printStackTrace();
+                } catch (InvocationTargetException e) {
+                    e.printStackTrace();
+                }
+            }
+        } else {
+            return true;
+        }
+        return false;
+    }
+
+}
+

+ 33 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/impl/ListValueValidator.java

@@ -0,0 +1,33 @@
+package com.yonge.cooleshow.bbs.valid.impl;
+
+import com.yonge.cooleshow.bbs.valid.ListValue;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author: cy
+ * @date: 2022/3/31 09:54
+ */
+public class ListValueValidator implements ConstraintValidator<ListValue, Integer> {
+    private Set<Integer> set = new HashSet<>();
+
+    @Override
+    public void initialize(ListValue constraintAnnotation) {
+        int[] vals = constraintAnnotation.vals();
+        for (int val : vals) {
+            set.add(null);
+            set.add(val);
+        }
+    }
+
+    @Override
+    public boolean isValid(Integer value, ConstraintValidatorContext context) {
+        if (value == null) {
+            return true;
+        }
+        return set.contains(value);
+    }
+}

+ 138 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/valid/impl/ValidList.java

@@ -0,0 +1,138 @@
+package com.yonge.cooleshow.bbs.valid.impl;
+
+import javax.validation.Valid;
+import java.util.*;
+
+/**
+ * @author: cy
+ * @date: 2022/3/31 09:54
+ */
+public class ValidList<E> implements List<E> {
+
+    @Valid
+    private List<E> list = new LinkedList<>();
+
+    @Override
+    public int size() {
+        return list.size();
+    }
+
+    @Override
+    public boolean isEmpty() {
+        return list.isEmpty();
+    }
+
+    @Override
+    public boolean contains(Object o) {
+        return list.contains(o);
+    }
+
+    @Override
+    public Iterator<E> iterator() {
+        return list.iterator();
+    }
+
+    @Override
+    public Object[] toArray() {
+        return list.toArray();
+    }
+
+    @Override
+    public <T> T[] toArray(T[] a) {
+        return list.toArray(a);
+    }
+
+    @Override
+    public boolean add(E e) {
+        return list.add(e);
+    }
+
+    @Override
+    public boolean remove(Object o) {
+        return list.remove(o);
+    }
+
+    @Override
+    public boolean containsAll(Collection<?> c) {
+        return list.containsAll(c);
+    }
+
+    @Override
+    public boolean addAll(Collection<? extends E> c) {
+        return list.addAll(c);
+    }
+
+    @Override
+    public boolean addAll(int index, Collection<? extends E> c) {
+        return list.addAll(index, c);
+    }
+
+    @Override
+    public boolean removeAll(Collection<?> c) {
+        return list.removeAll(c);
+    }
+
+    @Override
+    public boolean retainAll(Collection<?> c) {
+        return list.retainAll(c);
+    }
+
+    @Override
+    public void clear() {
+        list.clear();
+    }
+
+    @Override
+    public E get(int index) {
+        return list.get(index);
+    }
+
+    @Override
+    public E set(int index, E element) {
+        return list.set(index, element);
+    }
+
+    @Override
+    public void add(int index, E element) {
+        list.add(index, element);
+    }
+
+    @Override
+    public E remove(int index) {
+        return list.remove(index);
+    }
+
+    @Override
+    public int indexOf(Object o) {
+        return list.indexOf(o);
+    }
+
+    @Override
+    public int lastIndexOf(Object o) {
+        return list.lastIndexOf(o);
+    }
+
+    @Override
+    public ListIterator<E> listIterator() {
+        return list.listIterator();
+    }
+
+    @Override
+    public ListIterator<E> listIterator(int index) {
+        return list.listIterator(index);
+    }
+
+    @Override
+    public List<E> subList(int fromIndex, int toIndex) {
+        return list.subList(fromIndex, toIndex);
+    }
+
+    public List<E> getList() {
+        return list;
+    }
+
+    public void setList(List<E> list) {
+        this.list = list;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsArticleVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsArticleVo对象", description = "文章查询视图对象")
+public class BbsArticleVo extends BbsArticle{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsArticleVo buildVo(BbsArticle bbsArticle){
+        try {
+            BeanUtils.copyProperties(this,bbsArticle);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsCollectVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsCollect;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsCollectVo对象", description = "收藏查询视图对象")
+public class BbsCollectVo extends BbsCollect{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsCollectVo buildVo(BbsCollect bbsCollect){
+        try {
+            BeanUtils.copyProperties(this,bbsCollect);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsConfigLabelVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsConfigLabel;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsConfigLabelVo对象", description = "论坛标签设置查询视图对象")
+public class BbsConfigLabelVo extends BbsConfigLabel{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsConfigLabelVo buildVo(BbsConfigLabel bbsConfigLabel){
+        try {
+            BeanUtils.copyProperties(this,bbsConfigLabel);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsFollowVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsFollow;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsFollowVo对象", description = "关注查询视图对象")
+public class BbsFollowVo extends BbsFollow{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsFollowVo buildVo(BbsFollow bbsFollow){
+        try {
+            BeanUtils.copyProperties(this,bbsFollow);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsLikeVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsLike;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsLikeVo对象", description = "点赞查询视图对象")
+public class BbsLikeVo extends BbsLike{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsLikeVo buildVo(BbsLike bbsLike){
+        try {
+            BeanUtils.copyProperties(this,bbsLike);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsPrivateMessageVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsPrivateMessageVo对象", description = "私信查询视图对象")
+public class BbsPrivateMessageVo extends BbsPrivateMessage{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsPrivateMessageVo buildVo(BbsPrivateMessage bbsPrivateMessage){
+        try {
+            BeanUtils.copyProperties(this,bbsPrivateMessage);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsReplyVo.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.bbs.vo;
+
+import com.yonge.cooleshow.bbs.entity.BbsReply;
+import io.swagger.annotations.ApiModel;
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-06-09 17:27:11
+ */
+@ApiModel(value = "BbsReplyVo对象", description = "文章评论查询视图对象")
+public class BbsReplyVo extends BbsReply{
+	private static final long serialVersionUID = 1L;
+    
+    public BbsReplyVo buildVo(BbsReply bbsReply){
+        try {
+            BeanUtils.copyProperties(this,bbsReply);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return this;
+    }
+
+}

+ 12 - 0
cooleshow-bbs/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,12 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 47.114.1.200:8848
+        namespace: 6f8374a9-598f-4889-bb17-476070ffb8de
+        group: DEFAULT_GROUP
+        prefix: bbs
+        file-extension: yaml
+        refresh:
+          enabled: true
+        enabled: true

+ 12 - 0
cooleshow-bbs/src/main/resources/bootstrap-prod.yml

@@ -0,0 +1,12 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 47.114.1.200:8848
+        namespace: 6f8374a9-598f-4889-bb17-476070ffb8de
+        group: DEFAULT_GROUP
+        prefix: bbs
+        file-extension: yaml
+        refresh:
+          enabled: true
+        enabled: true

+ 57 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsArticleMapper.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsArticleDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsArticle">
+            <result column="id_" property="id" />
+	        <result column="user_id_" property="userId" />
+	        <result column="title_" property="title" />
+	        <result column="content_" property="content" />
+	        <result column="label_id_" property="labelId" />
+	        <result column="label_name_" property="labelName" />
+	        <result column="views_count_" property="viewsCount" />
+	        <result column="likes_count_" property="likesCount" />
+	        <result column="comments_count_" property="commentsCount" />
+	        <result column="collects_count_" property="collectsCount" />
+	        <result column="status_" property="status" />
+	        <result column="top_flag_" property="topFlag" />
+	        <result column="reply_flag_" property="replyFlag" />
+	        <result column="examine_time_" property="examineTime" />
+	        <result column="created_time_" property="createdTime" />
+	        <result column="updated_time_" property="updatedTime" />
+	        <result column="del_flag_" property="delFlag" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.user_id_ as userId
+        , t.title_ as title
+        , t.content_ as content
+        , t.label_id_ as labelId
+        , t.label_name_ as labelName
+        , t.views_count_ as viewsCount
+        , t.likes_count_ as likesCount
+        , t.comments_count_ as commentsCount
+        , t.collects_count_ as collectsCount
+        , t.status_ as status
+        , t.top_flag_ as topFlag
+        , t.reply_flag_ as replyFlag
+        , t.examine_time_ as examineTime
+        , t.created_time_ as createdTime
+        , t.updated_time_ as updatedTime
+        , t.del_flag_ as delFlag
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsArticleVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_article t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsArticleVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_article t
+	</select>
+</mapper>

+ 31 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsCollectMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsCollectDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsCollect">
+            <result column="id_" property="id" />
+	        <result column="article_id_" property="articleId" />
+	        <result column="collect_user_id_" property="collectUserId" />
+	        <result column="created_time_" property="createdTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.article_id_ as articleId
+        , t.collect_user_id_ as collectUserId
+        , t.created_time_ as createdTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsCollectVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_collect t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsCollectVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_collect t
+	</select>
+</mapper>

+ 51 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsConfigLabelMapper.xml

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsConfigLabelDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsConfigLabel">
+            <result column="id_" property="id" />
+	        <result column="label_name_" property="labelName" />
+	        <result column="create_by_" property="createBy" />
+	        <result column="update_by_" property="updateBy" />
+	        <result column="created_time_" property="createdTime" />
+	        <result column="updated_time_" property="updatedTime" />
+	        <result column="del_flag_" property="delFlag" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.label_name_ as labelName
+        , t.create_by_ as createBy
+        , t.update_by_ as updateBy
+        , t.created_time_ as createdTime
+        , t.updated_time_ as updatedTime
+        , t.del_flag_ as delFlag
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_config_label t
+        where t.id_ = #{id}
+    </select>
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsConfigLabelVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_config_label t
+        <where>
+            <if test="param.delFlag != null">
+                t.del_flag_ = #{param.delFlag}
+            </if>
+        </where>
+	</select>
+    <select id="selectAll" resultType="com.yonge.cooleshow.bbs.entity.BbsConfigLabel">
+        SELECT
+        <include refid="baseColumns" />
+        FROM bbs_config_label t
+        <where>
+            <if test="delFlag != null">
+                t.del_flag_ = #{delFlag}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 31 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsFollowMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsFollowDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsFollow">
+            <result column="id_" property="id" />
+	        <result column="user_id_" property="userId" />
+	        <result column="friend_user_id" property="friendUserId" />
+	        <result column="created_time_" property="createdTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.user_id_ as userId
+        , t.friend_user_id as friendUserId
+        , t.created_time_ as createdTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsFollowVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_follow t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsFollowVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_follow t
+	</select>
+</mapper>

+ 31 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsLikeMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsLikeDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsLike">
+            <result column="id_" property="id" />
+	        <result column="article_id_" property="articleId" />
+	        <result column="like_user_id_" property="likeUserId" />
+	        <result column="created_time_" property="createdTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.article_id_ as articleId
+        , t.like_user_id_ as likeUserId
+        , t.created_time_ as createdTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsLikeVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_like t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsLikeVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_like t
+	</select>
+</mapper>

+ 33 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsPrivateMessageMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsPrivateMessageDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsPrivateMessage">
+            <result column="id" property="id" />
+	        <result column="send_user_id_" property="sendUserId" />
+	        <result column="receiver_user_id_" property="receiverUserId" />
+	        <result column="message_content_" property="messageContent" />
+	        <result column="created_time_" property="createdTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id as id
+        , t.send_user_id_ as sendUserId
+        , t.receiver_user_id_ as receiverUserId
+        , t.message_content_ as messageContent
+        , t.created_time_ as createdTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_private_message t
+        where t.id = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_private_message t
+	</select>
+</mapper>

+ 39 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsReplyMapper.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.bbs.dao.BbsReplyDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.bbs.entity.BbsReply">
+            <result column="id_" property="id" />
+	        <result column="parent_id_" property="parentId" />
+	        <result column="article_id" property="articleId" />
+	        <result column="user_id_" property="userId" />
+	        <result column="content_" property="content" />
+	        <result column="status_" property="status" />
+	        <result column="created_time_" property="createdTime" />
+	        <result column="updated_time_" property="updatedTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.parent_id_ as parentId
+        , t.article_id as articleId
+        , t.user_id_ as userId
+        , t.content_ as content
+        , t.status_ as status
+        , t.created_time_ as createdTime
+        , t.updated_time_ as updatedTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsReplyVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM bbs_reply t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsReplyVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM bbs_reply t
+	</select>
+</mapper>

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

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="10 seconds">
+
+	<property name="LOG_HOME" value="/mdata/logs/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" />
+
+	<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.cooleshow" 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="prod">
+		<root level="WARN">
+			<appender-ref ref="stdout" />
+			<appender-ref ref="file" />
+		</root>
+	</springProfile>
+
+</configuration>

+ 4 - 1
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/ResourceServerConfig.java

@@ -27,7 +27,10 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 		http.authorizeRequests()
 		.antMatchers("/task/**")
 		.hasIpAddress("0.0.0.0/0")
-				.antMatchers("/v2/api-docs", "/news/list", "/news/query", "/news/homeList", "/news/typeList")
+				.antMatchers("/v2/api-docs",
+					 "/news/page","/news/query/**","/news/app/home",
+					 "/helpCenterContent/list","/helpCenterContent/get/**",
+					"/music/theory/detail/**","/music/theory/app/page","/music/theory/page")
 				.permitAll()
 				// 任何人不登录都可以获取的资源
 				// .antMatchers("/ipController/**").hasIpAddress("127.0.0.1") //特定ip可以不登录获取资源

+ 1 - 1
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/controller/queryinfo/HelpCenterContentQueryInfo.java

@@ -12,7 +12,7 @@ public class HelpCenterContentQueryInfo extends QueryInfo {
 	@NotNull(message = "父分类不能为空")
 	private String catalogIds;
 
-	@ApiModelProperty("平台类型 STUDENT:学生  TEACHER:老师")
+	@ApiModelProperty("平台类型 STUDENT:学生  TEACHER:老师 ANALYSIS:智能陪练")
 	private String catalogType;
 
 	@ApiModelProperty(value = "标题", required = false)

+ 3 - 1
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/OssController.java

@@ -51,13 +51,15 @@ public class OssController {
 
 
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "bucketName", dataType = "String", value = "为空时默认使用daya"),
             @ApiImplicitParam(name = "fileName", dataType = "String", value = "要上传的文件名称,不包含路径信息"),
             @ApiImplicitParam(name = "postData", dataType = "Map", value = "1.如果使用js sdk上传的时候设置了ACL请设置,例\"acl\":\"public-read\"值要与SDK中一致,没有则删除该项</br>" +
                     "2.提供js sdk中的key值,例\"key\":\"20150115/中文/${filename}\""),
             @ApiImplicitParam(name = "unknowValueField", dataType = "List", value = "对于用户无法确定表单值的放在unknownValueField中(比如有的上传控件会添加一些表单项,但表单项的值可能是随机的)"),
     })
     @ApiOperation(value = "获取上传文件签名", notes = "{\n" +
-            "    \"fileName\":\"aa\",\n" +
+            "    \"bucketName\":\"\",\n" +
+            "    \"filename\":\"test.png\",\n" +
             "    \"postData\":{\n" +
             "        \"acl\":\"public-read\",\n" +
             "        \"key\":\"20150115/中文/${filename}\"\n" +

+ 26 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/PmsPortalProductServiceImpl.java

@@ -20,6 +20,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * 前台订单管理Service实现类
@@ -63,7 +64,8 @@ public class PmsPortalProductServiceImpl implements PmsPortalProductService {
             criteria.andBrandIdEqualTo(brandId);
         }
         if (productCategoryId != null) {
-            criteria.andProductCategoryIdEqualTo(productCategoryId);
+            List<Long> productCategoryIds = getProductCategoryIds(productCategoryId);
+            criteria.andProductCategoryIdIn(productCategoryIds);
         }
         if (productAttributeCategoryId != null) {
             criteria.andProductAttributeCategoryIdEqualTo(productAttributeCategoryId);
@@ -95,6 +97,29 @@ public class PmsPortalProductServiceImpl implements PmsPortalProductService {
 
     }
 
+    /**
+     * 获取当前分类和下级分类 id
+     *
+     * @param productCategoryId
+     * @return
+     */
+    private List<Long> getProductCategoryIds(Long productCategoryId) {
+        PmsProductCategoryExample productCategoryExample = new PmsProductCategoryExample();
+        productCategoryExample.setOrderByClause("sort desc");
+        productCategoryExample.createCriteria().andParentIdEqualTo(productCategoryId)
+               .andShowStatusEqualTo(1);
+        List<PmsProductCategory> pmsProductCategories = productCategoryMapper.selectByExample(productCategoryExample);
+        List<Long> productCategoryIds = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(pmsProductCategories)) {
+            productCategoryIds = pmsProductCategories
+                    .stream()
+                    .map(PmsProductCategory::getId)
+                    .collect(Collectors.toList());
+        }
+        productCategoryIds.add(productCategoryId);
+        return productCategoryIds;
+    }
+
     @Override
     public List<PmsProductCategoryNode> categoryTreeList() {
         PmsProductCategoryExample example = new PmsProductCategoryExample();

+ 9 - 12
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/SysManualController.java

@@ -1,15 +1,13 @@
 package com.yonge.cooleshow.admin.controller;
 
-import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
-import com.yonge.cooleshow.biz.dal.support.PageUtil;
-import com.yonge.cooleshow.biz.dal.vo.SysManualVo;
-import com.yonge.cooleshow.common.entity.HttpResponseResult;
-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.*;
+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;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -44,25 +42,24 @@ public class SysManualController extends BaseController {
 
     @ApiOperation(value = "查询操作手册")
     @RequestMapping("/list")
-    public HttpResponseResult<PageInfo<SysManualVo>> list( @RequestBody SysManualQueryInfo queryInfo) {
-        return succeed(PageUtil.pageInfo(sysManualService.query(PageUtil.getPage(queryInfo),queryInfo)));
+    public Object list(SysManualQueryInfo queryInfo) {
+        return succeed(sysManualService.query(queryInfo));
     }
 
     @ApiOperation(value = "新增帮助手册")
     @PostMapping("/add")
-    public HttpResponseResult<Boolean> add(@RequestBody SysManual sysManual) throws Exception {
+    public Object add(@RequestBody SysManual sysManual) throws Exception {
         this.check(sysManual);
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        sysManual.setStatus(YesOrNoEnum.NO);
         return succeed(sysManualService.add(sysManual, sysUser.getId()));
     }
 
     @ApiOperation(value = "修改帮助手册")
     @PostMapping("/update")
-    public  HttpResponseResult<Boolean>  update(@RequestBody SysManual sysManual) throws Exception {
+    public Object update(@RequestBody SysManual sysManual) throws Exception {
         this.check(sysManual);
         if (sysManual.getId() == null) {
             throw new Exception("更新必须有id");
@@ -71,7 +68,7 @@ public class SysManualController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        return succeed(sysManualService.update(sysManual, sysUser.getId()) >0);
+        return succeed(sysManualService.update(sysManual, sysUser.getId()));
     }
 
     private void check(SysManual sysManual) throws Exception {

+ 3 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UploadFileController.java

@@ -50,13 +50,15 @@ public class UploadFileController extends BaseController {
     }
 
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "bucketName", dataType = "String", value = "为空时默认使用daya"),
             @ApiImplicitParam(name = "fileName", dataType = "String", value = "要上传的文件名称,不包含路径信息"),
             @ApiImplicitParam(name = "postData", dataType = "Map", value = "1.如果使用js sdk上传的时候设置了ACL请设置,例\"acl\":\"public-read\"值要与SDK中一致,没有则删除该项</br>" +
                     "2.提供js sdk中的key值,例\"key\":\"20150115/中文/${filename}\""),
             @ApiImplicitParam(name = "unknowValueField", dataType = "List", value = "对于用户无法确定表单值的放在unknownValueField中(比如有的上传控件会添加一些表单项,但表单项的值可能是随机的)"),
     })
     @ApiOperation(value = "获取上传文件签名", notes = "{\n" +
-            "    \"fileName\":\"aa\",\n" +
+            "    \"bucketName\":\"\",\n" +
+            "    \"filename\":\"test.png\",\n" +
             "    \"postData\":{\n" +
             "        \"acl\":\"public-read\",\n" +
             "        \"key\":\"20150115/中文/${filename}\"\n" +

+ 0 - 7
cooleshow-user/user-biz/pom.xml

@@ -46,13 +46,6 @@
             <artifactId>swagger-spring-boot-starter</artifactId>
         </dependency>
 
-        <!-- mybatis-plus -->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.0.7.1</version>
-        </dependency>
-
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>

+ 4 - 17
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysManualDao.java

@@ -1,15 +1,11 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-import java.util.Map;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.yonge.cooleshow.biz.dal.queryInfo.SysManualQueryInfo;
-import com.yonge.cooleshow.biz.dal.vo.SysManualVo;
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.yonge.cooleshow.biz.dal.entity.SysManual;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * (SysManual)表数据库访问层
@@ -26,14 +22,5 @@ public interface SysManualDao extends BaseMapper<SysManual> {
     List<SysManual> queryRecord(Map<String, Object> params);
 
     List<String> listMenuIds();
-
-    /**
-     * 分页查询
-     *
-     * @param page      分页信息
-     * @param queryInfo 查询条件
-     * @return
-     */
-    IPage<SysManualVo> query(@Param("page") IPage<SysManualVo> page, @Param("param") SysManualQueryInfo queryInfo);
 }
 

+ 8 - 28
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroup.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.yonge.cooleshow.biz.dal.enums.ImGroupType;
 import com.yonge.toolset.base.enums.BaseEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -65,26 +66,6 @@ public class ImGroup implements Serializable {
     @ApiModelProperty(value = "修改时间;")
     private Date updateTime;
 
-    public enum ImGroupType implements BaseEnum<String, ImGroupType> {
-        FAN("粉丝群"),
-        COURSE("课程群");
-
-        private String msg;
-
-        ImGroupType(String msg) {
-            this.msg = msg;
-        }
-
-        public String getMsg() {
-            return msg;
-        }
-
-        @Override
-        public String getCode() {
-            return super.name();
-        }
-    }
-
     public Boolean getAutoPassFlag() {
         return autoPassFlag;
     }
@@ -149,14 +130,6 @@ public class ImGroup implements Serializable {
         this.img = img;
     }
 
-    public ImGroupType getType() {
-        return type;
-    }
-
-    public void setType(ImGroupType type) {
-        this.type = type;
-    }
-
     public Date getCreateTime() {
         return createTime;
     }
@@ -173,5 +146,12 @@ public class ImGroup implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public ImGroupType getType() {
+        return type;
+    }
+
+    public void setType(ImGroupType type) {
+        this.type = type;
+    }
 }
 

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

@@ -4,6 +4,7 @@ package com.yonge.cooleshow.biz.dal.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
 import com.yonge.toolset.base.enums.BaseEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -67,25 +68,7 @@ public class ImGroupMember implements Serializable {
         this.roleType = roleType;
     }
 
-    public enum ImGroupMemberRoleType implements BaseEnum<String, ImGroupMemberRoleType> {
-        TEACHER("老师"),
-        STUDENT("学生");
 
-        private String msg;
-
-        ImGroupMemberRoleType(String msg) {
-            this.msg = msg;
-        }
-
-        public String getMsg() {
-            return msg;
-        }
-
-        @Override
-        public String getCode() {
-            return super.name();
-        }
-    }
 
     public String getAvatar() {
         return avatar;

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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.yonge.cooleshow.biz.dal.enums.AuditStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -32,7 +33,7 @@ public class ImGroupMemberAudit implements Serializable {
 
     @TableField("role_type_")
     @ApiModelProperty(value = "群角色TEACHER老师、STUDENT学生")
-    private ImGroupMember.ImGroupMemberRoleType roleType;
+    private ImGroupMemberRoleType roleType;
 
     @TableField("group_id_")
     @NotBlank(message = "群编号不可为空")
@@ -45,7 +46,6 @@ public class ImGroupMemberAudit implements Serializable {
 
     @TableField("audit_status_")
     @ApiModelProperty(value = "审核状态")
-    @EnumValue
     private AuditStatusEnum auditStatus = AuditStatusEnum.AUDITING;
 
     @TableField("create_time_")
@@ -73,11 +73,11 @@ public class ImGroupMemberAudit implements Serializable {
         this.userId = userId;
     }
 
-    public ImGroupMember.ImGroupMemberRoleType getRoleType() {
+    public ImGroupMemberRoleType getRoleType() {
         return roleType;
     }
 
-    public void setRoleType(ImGroupMember.ImGroupMemberRoleType roleType) {
+    public void setRoleType(ImGroupMemberRoleType roleType) {
         this.roleType = roleType;
     }
 

+ 2 - 16
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysManual.java

@@ -1,16 +1,14 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
 
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.TableId;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * (SysManual)表实体类
@@ -31,11 +29,6 @@ public class SysManual implements Serializable {
     @TableField("name_")
     @ApiModelProperty(value = "手册名称")
     private String name;
-
-    @TableField("status_")
-    @ApiModelProperty(value = "状态 0:禁用 1:启用")
-    private YesOrNoEnum status;
-
     @TableField("op_flow_")
     @ApiModelProperty(value = "操作流程")
     private String opFlow;
@@ -161,12 +154,5 @@ public class SysManual implements Serializable {
     }
 
 
-    public YesOrNoEnum getStatus() {
-        return status;
-    }
-
-    public void setStatus(YesOrNoEnum status) {
-        this.status = status;
-    }
 }
 

+ 5 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AuditStatusEnum.java

@@ -1,19 +1,23 @@
 package com.yonge.cooleshow.biz.dal.enums;
 
+import com.baomidou.mybatisplus.annotation.EnumValue;
 import com.yonge.toolset.base.enums.BaseEnum;
 
 public enum AuditStatusEnum implements BaseEnum<String,AuditStatusEnum> {
     AUDITING("审核中"), REJECT("审核拒绝"), OPEN("审核通过");
+    @EnumValue
+    private String code;
 
     private String msg;
 
     AuditStatusEnum(String msg) {
+        this.code = this.name();
         this.msg = msg;
     }
 
     @Override
     public String getCode() {
-        return this.name();
+        return this.code;
     }
 
     public String getMsg() {

+ 26 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ImGroupMemberRoleType.java

@@ -0,0 +1,26 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.toolset.base.enums.BaseEnum;
+
+public enum ImGroupMemberRoleType implements BaseEnum<String, ImGroupMemberRoleType> {
+    TEACHER("老师"),
+    STUDENT("学生");
+    @EnumValue
+    private String code;
+    private String msg;
+
+    ImGroupMemberRoleType(String msg) {
+        this.code = this.name();
+        this.msg = msg;
+    }
+
+    public String getMsg() {
+        return this.msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+}

+ 26 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ImGroupType.java

@@ -0,0 +1,26 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.toolset.base.enums.BaseEnum;
+
+public enum ImGroupType implements BaseEnum<String, ImGroupType> {
+    FAN("粉丝群"),
+    COURSE("课程群");
+    @EnumValue
+    private String code;
+    private String msg;
+
+    ImGroupType(String msg) {
+        this.msg = msg;
+        this.code = this.name();
+    }
+
+    public String getMsg() {
+        return this.msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+}

+ 1 - 25
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/queryInfo/SysManualQueryInfo.java

@@ -1,9 +1,7 @@
 package com.yonge.cooleshow.biz.dal.queryInfo;
 
-import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
-import io.swagger.annotations.ApiModelProperty;
-
 import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * Description
@@ -18,28 +16,6 @@ public class SysManualQueryInfo  extends QueryInfo {
     @ApiModelProperty(value = "按菜单查询")
     private Integer menuId;
 
-    @ApiModelProperty("标题")
-    private String title;
-
-    @ApiModelProperty(value = "状态 0:禁用 1:启用")
-    private YesOrNoEnum status;
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public YesOrNoEnum getStatus() {
-        return status;
-    }
-
-    public void setStatus(YesOrNoEnum status) {
-        this.status = status;
-    }
-
     public Integer getMenuId() {
         return menuId;
     }

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác