Browse Source

fix使用fastjson序列化

Eric 1 year ago
parent
commit
423d9a9c86
47 changed files with 352 additions and 571 deletions
  1. 7 3
      audio-analysis/src/main/java/com/yonge/audio/config/LocalFastJsonHttpMessageConverter.java
  2. 13 63
      audio-analysis/src/main/java/com/yonge/audio/config/WebMvcConfig.java
  3. 1 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/TenantUnbindHistoryController.java
  4. 4 52
      cooleshow-app/src/main/java/com/yonge/cooleshow/config/WebMvcConfig.java
  5. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java
  6. 1 1
      cooleshow-auth/auth-server/pom.xml
  7. 8 3
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/LocalFastJsonHttpMessageConverter.java
  8. 10 61
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/WebMvcConfig.java
  9. 3 3
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/jackson/JacksonConfig.java
  10. 7 3
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/LocalFastJsonHttpMessageConverter.java
  11. 2 53
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/WebMvcConfig.java
  12. 3 3
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/jackson/JacksonConfig.java
  13. 8 3
      cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/LocalFastJsonHttpMessageConverter.java
  14. 16 65
      cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/WebMvcConfig.java
  15. 3 3
      cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/jackson/JacksonConfig.java
  16. 8 3
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/config/LocalFastJsonHttpMessageConverter.java
  17. 3 53
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/config/WebMvcConfig.java
  18. 3 3
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/config/jackson/JacksonConfig.java
  19. 8 3
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/LocalFastJsonHttpMessageConverter.java
  20. 3 53
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/WebMvcConfig.java
  21. 3 3
      cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/jackson/JacksonConfig.java
  22. 19 2
      cooleshow-task/src/main/java/com/yonge/cooleshow/task/config/LocalFastJsonHttpMessageConverter.java
  23. 13 62
      cooleshow-task/src/main/java/com/yonge/cooleshow/task/config/WebMvcConfig.java
  24. 3 3
      cooleshow-task/src/main/java/com/yonge/cooleshow/task/config/jackson/JacksonConfig.java
  25. 16 0
      cooleshow-user/user-admin/src/main/resources/bootstrap-test.yml
  26. 1 1
      cooleshow-user/user-biz/pom.xml
  27. 4 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/LocalFastJsonHttpMessageConverter.java
  28. 3 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/jackson/JacksonConfig.java
  29. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysMusicCompareRecord.java
  30. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java
  31. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java
  32. 68 25
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  33. 6 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  34. 8 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/music/MusicCompareWrapper.java
  35. 2 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml
  36. 7 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java
  37. 1 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMusicCompareRecordController.java
  38. 15 0
      cooleshow-user/user-student/src/main/resources/bootstrap-test.yml
  39. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java
  40. 1 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysMusicCompareRecordController.java
  41. 15 0
      cooleshow-user/user-teacher/src/main/resources/bootstrap-test.yml
  42. 0 5
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/TeacherController.java
  43. 15 0
      cooleshow-user/user-tenant/src/main/resources/bootstrap-test.yml
  44. 1 1
      cooleshow-websocket/pom.xml
  45. 1 1
      pom.xml
  46. 1 1
      toolset/utils/pom.xml
  47. 20 20
      toolset/utils/src/main/java/com/yonge/toolset/utils/json/JsonUtil.java

+ 7 - 3
audio-analysis/src/main/java/com/yonge/audio/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,12 @@ package com.yonge.audio.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;
@@ -13,8 +15,10 @@ 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 {
 
@@ -28,12 +32,12 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		out.write(bytes);
 	}
 }
 
@@ -43,7 +47,7 @@ class EmojiSerializer implements ObjectSerializer{
 	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 {

+ 13 - 63
audio-analysis/src/main/java/com/yonge/audio/config/WebMvcConfig.java

@@ -1,85 +1,35 @@
 package com.yonge.audio.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.biz.dal.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.biz.dal.config.jackson.MappingJSONHttpMessageConverter;
-import com.yonge.cooleshow.common.config.EnumConverterFactory;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
+import com.yonge.cooleshow.common.config.EnumConverterFactory;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
-	
+
 	/**
 	 * 枚举类的转换器 addConverterFactory
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
-    public HttpMessageConverters fastJsonHttpMessageConverters(){
+	@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);
-    }
+		List<MediaType> fastMediaTypes =  new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
 
 }

+ 1 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/TenantUnbindHistoryController.java

@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+
 @Slf4j
 @Validated
 @RestController

+ 4 - 52
cooleshow-app/src/main/java/com/yonge/cooleshow/config/WebMvcConfig.java

@@ -1,25 +1,20 @@
 package com.yonge.cooleshow.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
 import com.yonge.cooleshow.biz.dal.config.LocalFastJsonHttpMessageConverter;
-import com.yonge.cooleshow.biz.dal.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.biz.dal.config.jackson.MappingJSONHttpMessageConverter;
 import com.yonge.cooleshow.common.config.EnumConverterFactory;
 import com.yonge.cooleshow.interceptor.MDCInterceptor;
 import com.yonge.cooleshow.interceptor.OperationLogInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Primary;
+import org.springframework.core.annotation.Order;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -38,10 +33,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(enumConverterFactory);
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
 
 	@Override
@@ -53,48 +45,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
+	@Order(0)
 	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
+	@Bean
 	public HttpMessageConverters fastJsonHttpMessageConverters() {
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
 		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
@@ -102,5 +55,4 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		converter.setSupportedMediaTypes(fastMediaTypes);
 		return new HttpMessageConverters(converter);
 	}
-
 }

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -111,7 +111,7 @@ public class ImGroupController extends BaseController {
     @ApiOperation("修改群信息")
     @PostMapping(value = "/update")
     public HttpResponseResult<Boolean> update(@Valid @RequestBody ImGroup imGroup) throws Exception {
-        return succeed(imGroupService.updateById(imGroup));
+        return succeed(imGroupService.updateImGroup(imGroup));
     }
 
     @ApiOperation("获取指定用户的群列表")

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

@@ -33,7 +33,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>2.0.9</version>
+            <version>1.2.79</version>
         </dependency>
 
         <dependency>

+ 8 - 3
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,12 @@ package com.yonge.cooleshow.auth.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;
@@ -13,8 +15,10 @@ 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 {
 
@@ -28,12 +32,12 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		out.write(bytes);
 	}
 }
 
@@ -43,7 +47,7 @@ class EmojiSerializer implements ObjectSerializer{
 	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 {
@@ -67,3 +71,4 @@ class EnumFilter implements ValueFilter {
 		return value;
 	}
 }
+

+ 10 - 61
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/WebMvcConfig.java

@@ -1,29 +1,22 @@
 package com.yonge.cooleshow.auth.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.auth.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.auth.config.jackson.MappingJSONHttpMessageConverter;
 import com.yonge.cooleshow.auth.interceptor.OperationLogInterceptor;
 import com.yonge.cooleshow.common.config.EnumConverterFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
-	
+
 	@Autowired
 	private OperationLogInterceptor operationLogInterceptor;
 
@@ -32,64 +25,20 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
-	
+
 	@Override
 	public void addInterceptors(InterceptorRegistry registry) {
 		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/userDevice/unbind").excludePathPatterns("/*");
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
-    public HttpMessageConverters fastJsonHttpMessageConverters(){
+	@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);
-    }
+		List<MediaType> fastMediaTypes =  new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
 }

+ 3 - 3
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/jackson/JacksonConfig.java

@@ -51,9 +51,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 7 - 3
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,12 @@ 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;
@@ -13,8 +15,10 @@ 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 {
 
@@ -28,12 +32,12 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		out.write(bytes);
 	}
 }
 
@@ -43,7 +47,7 @@ class EmojiSerializer implements ObjectSerializer{
 	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 {

+ 2 - 53
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/WebMvcConfig.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.bbs.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.bbs.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.bbs.config.jackson.MappingJSONHttpMessageConverter;
 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.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -28,10 +21,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
 
 	@Override
@@ -49,48 +39,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 //		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
+	@Bean
 	public HttpMessageConverters fastJsonHttpMessageConverters() {
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
 		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();

+ 3 - 3
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/config/jackson/JacksonConfig.java

@@ -51,9 +51,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 8 - 3
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,12 @@ package com.yonge.cooleshow.cms.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;
@@ -13,8 +15,10 @@ 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 {
 
@@ -28,12 +32,12 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		out.write(bytes);
 	}
 }
 
@@ -43,7 +47,7 @@ class EmojiSerializer implements ObjectSerializer{
 	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 {
@@ -67,3 +71,4 @@ class EnumFilter implements ValueFilter {
 		return value;
 	}
 }
+

+ 16 - 65
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/WebMvcConfig.java

@@ -1,29 +1,23 @@
 package com.yonge.cooleshow.cms.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.cms.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.cms.config.jackson.MappingJSONHttpMessageConverter;
-import com.yonge.cooleshow.cms.interceptor.OperationLogInterceptor;
-import com.yonge.cooleshow.common.config.EnumConverterFactory;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
+import com.yonge.cooleshow.cms.interceptor.OperationLogInterceptor;
+import com.yonge.cooleshow.common.config.EnumConverterFactory;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
-	
+
 	@Autowired
 	private OperationLogInterceptor operationLogInterceptor;
 
@@ -32,65 +26,22 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
-	
+
 	@Override
 	public void addInterceptors(InterceptorRegistry registry) {
 		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
-    public HttpMessageConverters fastJsonHttpMessageConverters(){
+	@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);
-    }
+		List<MediaType> fastMediaTypes =  new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
 
 }
+

+ 3 - 3
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/config/jackson/JacksonConfig.java

@@ -51,9 +51,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 8 - 3
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,12 @@ package com.yonge.cooleshow.admin.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;
@@ -13,8 +15,10 @@ 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 {
 
@@ -28,12 +32,12 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		out.write(bytes);
 	}
 }
 
@@ -43,7 +47,7 @@ class EmojiSerializer implements ObjectSerializer{
 	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 {
@@ -67,3 +71,4 @@ class EnumFilter implements ValueFilter {
 		return value;
 	}
 }
+

+ 3 - 53
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/config/WebMvcConfig.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.admin.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.admin.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.admin.config.jackson.MappingJSONHttpMessageConverter;
 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.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -28,10 +21,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
 
 	@Override
@@ -49,48 +39,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 //		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
+	@Bean
 	public HttpMessageConverters fastJsonHttpMessageConverters() {
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
 		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
@@ -99,3 +48,4 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		return new HttpMessageConverters(converter);
 	}
 }
+

+ 3 - 3
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/config/jackson/JacksonConfig.java

@@ -51,9 +51,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 8 - 3
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,12 @@ package com.yonge.cooleshow.portal.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;
@@ -13,8 +15,10 @@ 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 {
 
@@ -28,12 +32,12 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		out.write(bytes);
 	}
 }
 
@@ -43,7 +47,7 @@ class EmojiSerializer implements ObjectSerializer{
 	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 {
@@ -67,3 +71,4 @@ class EnumFilter implements ValueFilter {
 		return value;
 	}
 }
+

+ 3 - 53
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/WebMvcConfig.java

@@ -1,23 +1,16 @@
 package com.yonge.cooleshow.portal.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
 import com.yonge.cooleshow.common.config.EnumConverterFactory;
-import com.yonge.cooleshow.portal.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.portal.config.jackson.MappingJSONHttpMessageConverter;
 import com.yonge.cooleshow.portal.interceptor.MDCInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -32,10 +25,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
 
 	@Override
@@ -53,48 +43,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 //		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
+	@Bean
 	public HttpMessageConverters fastJsonHttpMessageConverters() {
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
 		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
@@ -103,3 +52,4 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		return new HttpMessageConverters(converter);
 	}
 }
+

+ 3 - 3
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/config/jackson/JacksonConfig.java

@@ -51,9 +51,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 19 - 2
cooleshow-task/src/main/java/com/yonge/cooleshow/task/config/LocalFastJsonHttpMessageConverter.java

@@ -1,8 +1,12 @@
 package com.yonge.cooleshow.task.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.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;
@@ -10,7 +14,10 @@ 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 {
 
@@ -24,15 +31,24 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	@Override
 	protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
 
-		/*OutputStream out = outputMessage.getBody();
+		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);*/
+		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();
@@ -54,3 +70,4 @@ class EnumFilter implements ValueFilter {
 		return value;
 	}
 }
+

+ 13 - 62
cooleshow-task/src/main/java/com/yonge/cooleshow/task/config/WebMvcConfig.java

@@ -1,22 +1,16 @@
 package com.yonge.cooleshow.task.config;
 
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.common.config.EnumConverterFactory;
-import com.yonge.cooleshow.task.config.jackson.JacksonConfig;
-import com.yonge.cooleshow.task.config.jackson.MappingJSONHttpMessageConverter;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
+import com.yonge.cooleshow.common.config.EnumConverterFactory;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
@@ -26,60 +20,17 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	 */
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
-		// 枚举转换器
 		registry.addConverterFactory(new EnumConverterFactory());
-		// 字符串时间转换器
-		registry.addConverter(new JacksonConfig.CustomStringDateConverter());
 	}
 
-	/**
-	 * @param converters List<HttpMessageConverter<?>>
-	 */
-	@Override
-	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-		//WebMvcConfigurer.super.configureMessageConverters(converters);
-
-		// 如果存在fastJson的转换器,将其移除
-		converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
-
-		// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
-		MappingJSONHttpMessageConverter converter = new MappingJSONHttpMessageConverter(new JacksonConfig.JacksonObjectMapper());
-		converter.setDefaultCharset(StandardCharsets.UTF_8); // 字符编号
-		converters.add(0, converter);
-
-		// 添加String转换器
-		converters.add(utf8StringHttpMessageConverter());
-	}
-
-	/**
-	 * 自定义String转换器
-	 * @return HttpMessageConverters
-	 */
-	//@Bean
-	@Primary
-	public StringHttpMessageConverter utf8StringHttpMessageConverter() {
-
-		StringHttpMessageConverter converter = new StringHttpMessageConverter();
-
-		List<MediaType> mediaTypes = Lists.newArrayList();
-		mediaTypes.add(MediaType.TEXT_HTML);
-		mediaTypes.add(MediaType.TEXT_PLAIN);
-		mediaTypes.add(MediaType.TEXT_XML);
-		mediaTypes.add(MediaType.APPLICATION_XML);
-
-		converter.setSupportedMediaTypes(mediaTypes);
-		converter.setDefaultCharset(StandardCharsets.UTF_8);
-
-		return converter;
-	}
-
-	//@Bean
-    public HttpMessageConverters fastJsonHttpMessageConverters(){
+	@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);
-    }
+		List<MediaType> fastMediaTypes =  new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
 
 }
+

+ 3 - 3
cooleshow-task/src/main/java/com/yonge/cooleshow/task/config/jackson/JacksonConfig.java

@@ -51,9 +51,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 16 - 0
cooleshow-user/user-admin/src/main/resources/bootstrap-test.yml

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

+ 1 - 1
cooleshow-user/user-biz/pom.xml

@@ -35,7 +35,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>2.0.9</version>
+            <version>1.2.79</version>
         </dependency>
 
         <dependency>

+ 4 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/LocalFastJsonHttpMessageConverter.java

@@ -2,10 +2,9 @@ package com.yonge.cooleshow.biz.dal.config;
 
 import com.alibaba.fastjson.serializer.JSONSerializer;
 import com.alibaba.fastjson.serializer.ObjectSerializer;
-import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
 import com.alibaba.fastjson.serializer.ValueFilter;
 import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
-import com.alibaba.fastjson.util.IOUtils;
 import com.vdurmont.emoji.EmojiParser;
 import com.yonge.toolset.base.enums.BaseEnum;
 import com.yonge.toolset.utils.json.JsonUtil;
@@ -34,10 +33,10 @@ public class LocalFastJsonHttpMessageConverter extends FastJsonHttpMessageConver
 	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(Date.class, new SimpleDateFormatSerializer(FORMAT));
 		//JsonUtil.getConfig().put(String.class, new EmojiSerializer());
-		String text = JsonUtil.toJSONString(obj, EnumFilter.instance, SerializerFeature.BrowserSecure);
-		byte[] bytes = text.getBytes(IOUtils.UTF8);
+		String text = JsonUtil.toJSONString(obj, EnumFilter.instance, getFeatures());
+		byte[] bytes = text.getBytes(getCharset());
 		out.write(bytes);
 	}
 }

+ 3 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/jackson/JacksonConfig.java

@@ -25,12 +25,8 @@ import com.yonge.cooleshow.common.config.EnumConverterFactory;
 import com.yonge.toolset.base.enums.BaseEnum;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
-import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
 import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.util.StringUtils;
 
@@ -51,9 +47,9 @@ import java.util.TimeZone;
 /**
  * JSON LocalDateTime 序列化、反序列化配置
  */
-@Configuration
-@ConditionalOnClass(ObjectMapper.class)
-@AutoConfigureBefore(JacksonAutoConfiguration.class)
+//@Configuration
+//@ConditionalOnClass(ObjectMapper.class)
+//@AutoConfigureBefore(JacksonAutoConfiguration.class)
 public class JacksonConfig {
 
     public static final String NORM_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; // 时间格式

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysMusicCompareRecord.java

@@ -88,6 +88,8 @@ public class SysMusicCompareRecord extends BaseEntity {
 	@ApiModelProperty("活动项目id")
 	private Long evaluationId;
 
+	private Long tenantId = -1L;
+
 	public SysMusicCompareRecord(FeatureType feature) {
 		this.feature = feature;
 	}

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java

@@ -205,5 +205,7 @@ public interface ImGroupService extends IService<ImGroup> {
     void updateStatus(List<ImHistoryMessage> info);
 
     RTCRoomPluginService getRTCRoomPluginService(String serviceProvider);
+
+    Boolean updateImGroup(ImGroup imGroup);
 }
 

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

@@ -1247,6 +1247,18 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         return rtcRoomPluginContext.getPluginService(serviceProvider);
     }
 
+    @Override
+    public Boolean updateImGroup(ImGroup imGroup) {
+
+        this.updateById(imGroup);
+        try {
+            imGroupCoreService.modifyGroupInfo(imGroup.getId(),imGroup.getName(),imGroup.getImg());
+        } catch (Exception e) {
+            log.error("修改群组信息失败",e);
+        }
+        return true;
+    }
+
 
     private void groupTransfer(List<ImGroup> records) {
         String fansIcon = sysConfigService.findConfigValue(SysConfigConstant.ICON_FANS_GROUP_DEFAULT);

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

@@ -55,6 +55,7 @@ import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;
 import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
+import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
 import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
 import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
 import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
@@ -223,6 +224,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private MusicSheetService musicSheetService;
 
     @Autowired
+    private AlbumFavoriteService albumFavoriteService;
+
+    @Autowired
     private TenantInfoService tenantInfoService;
     
     @Autowired
@@ -1780,43 +1784,82 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             PageUtil.getPage(queryInfo);
             // 查询曲目列表
             List<Long> musicIds = musicSheetDao.searchMusic(PageUtil.getPage(queryInfo),queryInfo);
-            MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
-            musicSheetSearch.setMusicSheetIdlist(musicIds);
-            IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
-            List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
-            if (CollectionUtils.isNotEmpty(records)) {
-                for (MusicSheetVo record : records) {
-                    MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
-                    musicName.setId(record.getId());
-                    musicName.setName(record.getMusicSheetName());
-                    musicName.setType("MUSIC");
-                    musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
-                    musicNames.add(musicName);
+
+            if (CollectionUtils.isNotEmpty(musicIds)) {
+
+
+                MusicSheetSearch musicSheetSearch = new MusicSheetSearch();
+                musicSheetSearch.setMusicSheetIdlist(musicIds);
+                IPage<MusicSheetVo> musicSheetVoIPage = selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
+                List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+                if (CollectionUtils.isNotEmpty(records)) {
+                    for (MusicSheetVo record : records) {
+                        MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
+                        musicName.setId(record.getId());
+                        musicName.setName(record.getMusicSheetName());
+                        musicName.setType("MUSIC");
+                        musicName.setHotFlag(record.getHotFlag() != null?record.getHotFlag():YesOrNoEnum.NO);
+                        musicName.setSort(Optional.ofNullable(record.getFavoriteCount()).orElse(0));
+                        musicNames.add(musicName);
+                    }
+                    searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
+                }
+
+                // 是否关注
+                if (queryInfo.getUserId() != null) {
+                    List<MusicFavorite> musicFavoriteList = musicFavoriteService.lambdaQuery()
+                            .eq(MusicFavorite::getUserId, queryInfo.getUserId())
+                            .eq(MusicFavorite::getClientType, ClientEnum.STUDENT)
+                            .in(MusicFavorite::getMusicSheetId, musicIds)
+                            .list();
+                    if (CollectionUtils.isNotEmpty(musicFavoriteList)) {
+                        Set<Long> set = musicFavoriteList.stream()
+                                .map(MusicFavorite::getMusicSheetId)
+                                .collect(Collectors.toSet());
+                        for (MusicCompareWrapper.MusicName record : musicNames) {
+                            record.setFavorite(set.contains(record.getId()) ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+                        }
+                    }
                 }
-                searchData.setMusic(PageUtil.pageInfo(musicSheetVoIPage));
             }
         }
         if (StringUtil.isEmpty(queryInfo.getType()) || queryInfo.getType().equals("ALBUM")) {
 
             // 查询专辑列表
             List<Long> albumIds = musicSheetDao.searchAlbum(PageUtil.getPage(queryInfo),queryInfo);
-            MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
-            musicSheetSearch.setAlbumIds(albumIds);
-            IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
-            List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
-            if (CollectionUtils.isNotEmpty(records)) {
+
+            if (CollectionUtils.isNotEmpty(albumIds)) {
+                MusicAlbumSearch musicSheetSearch = new MusicAlbumSearch();
+                musicSheetSearch.setAlbumIds(albumIds);
+                IPage<MusicAlbumVo> musicAlbumVoIPage = musicAlbumService.selectPage(PageUtil.getPage(queryInfo), musicSheetSearch);
+                List<MusicAlbumVo> records = musicAlbumVoIPage.getRecords();
+                albumIds = albumFavoriteService.selectFavorite(queryInfo.getUserId(), albumIds, ClientEnum.STUDENT);
                 for (MusicAlbumVo record : records) {
-                    MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
-                    musicName.setId(record.getId());
-                    musicName.setName(record.getAlbumName());
-                    musicName.setType("ALBUM");
-                    musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
-                    musicNames.add(musicName);
+                    if (albumIds.contains(record.getId())) {
+                        record.setFavorite(YesOrNoEnum.YES);
+                    } else {
+                        record.setFavorite(YesOrNoEnum.NO);
+                    }
+                }
+                if (CollectionUtils.isNotEmpty(records)) {
+                    for (MusicAlbumVo record : records) {
+                        MusicCompareWrapper.MusicName musicName = new MusicCompareWrapper.MusicName();
+                        musicName.setId(record.getId());
+                        musicName.setName(record.getAlbumName());
+                        musicName.setType("ALBUM");
+                        musicName.setHotFlag(record.getHotFlag() !=null?record.getHotFlag():YesOrNoEnum.NO);
+                        musicName.setFavorite(record.getFavorite());
+                        musicName.setSort(Optional.ofNullable(record.getAlbumFavoriteCount()).orElse(0));
+                        musicNames.add(musicName);
+                    }
+                    searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
                 }
-                searchData.setAlbum(PageUtil.pageInfo(musicAlbumVoIPage));
             }
         }
         musicNames.sort(Comparator.comparing(MusicCompareWrapper.MusicName::getSort).reversed());
+        if (musicNames.size() > queryInfo.getRows()) {
+            musicNames = musicNames.subList(0,queryInfo.getRows());
+        }
         searchData.setMusicNames(musicNames);
         return searchData;
     }

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

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

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

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

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

@@ -48,11 +48,11 @@
 	<insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.SysMusicCompareRecord" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO sys_music_compare_record (id_,user_id_,music_sheet_id_,heard_level_,behavior_id_,score_data_,score_,intonation_,cadence_,integrity_,
 		                                      record_file_path_,video_file_path_,device_type_,client_id_,play_time_,speed_,monday_,
-												source_time_,feature_,create_time_,update_time_,part_index_,custom_configuration_)
+												source_time_,feature_,create_time_,update_time_,part_index_,custom_configuration_,tenant_id_)
 		VALUES(#{id},#{userId},#{musicSheetId},#{heardLevel,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},#{behaviorId},#{scoreData},
 		       #{score},#{intonation},#{cadence},#{integrity},
 		       #{recordFilePath},#{videoFilePath},#{deviceType,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{speed},#{monday},
-		       #{sourceTime},#{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex},#{customConfiguration})
+		       #{sourceTime},#{feature,typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex},#{customConfiguration},#{tenantId})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->

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

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

+ 1 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMusicCompareRecordController.java

@@ -51,6 +51,7 @@ public class SysMusicCompareRecordController extends BaseController {
         }
         record.setUserId(sysUser.getId());
         record.setClientId("student");
+        record.setTenantId(sysUser.getTenantId());
         return succeed(sysMusicCompareRecordService.insert(record));
     }
 

+ 15 - 0
cooleshow-user/user-student/src/main/resources/bootstrap-test.yml

@@ -0,0 +1,15 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.17:8848
+        namespace: 6bb97710-4f6e-4bac-a5f0-4b860d4da9bb
+        group: DEFAULT_GROUP
+        prefix: student
+        file-extension: yaml
+        refresh:
+          enabled: true
+        enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true

+ 1 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -111,7 +111,7 @@ public class ImGroupController extends BaseController {
     @ApiOperation("修改群信息")
     @PostMapping(value = "/update")
     public HttpResponseResult<Boolean> update(@Valid @RequestBody ImGroup imGroup) throws Exception {
-        return succeed(imGroupService.updateById(imGroup));
+        return succeed(imGroupService.updateImGroup(imGroup));
     }
 
     @ApiOperation("获取指定用户的群列表")

+ 1 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysMusicCompareRecordController.java

@@ -48,6 +48,7 @@ public class SysMusicCompareRecordController extends BaseController {
         }
         record.setUserId(sysUser.getId());
         record.setClientId(ClientEnum.TEACHER.name().toLowerCase());
+        record.setTenantId(sysUser.getTenantId());
         return succeed(sysMusicCompareRecordService.insert(record));
     }
 

+ 15 - 0
cooleshow-user/user-teacher/src/main/resources/bootstrap-test.yml

@@ -0,0 +1,15 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.17:8848
+        namespace: 6bb97710-4f6e-4bac-a5f0-4b860d4da9bb
+        group: DEFAULT_GROUP
+        prefix: teacher
+        file-extension: yaml
+        refresh:
+          enabled: true
+        enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true

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

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

+ 15 - 0
cooleshow-user/user-tenant/src/main/resources/bootstrap-test.yml

@@ -0,0 +1,15 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 10.206.0.17:8848
+        namespace: 6bb97710-4f6e-4bac-a5f0-4b860d4da9bb
+        group: DEFAULT_GROUP
+        prefix: tenant
+        file-extension: yaml
+        refresh:
+          enabled: true
+        enabled: true
+        shared-configs:
+          - data-id: base.yaml
+            refresh: true

+ 1 - 1
cooleshow-websocket/pom.xml

@@ -82,7 +82,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>2.0.9</version>
+            <version>1.2.79</version>
         </dependency>
     </dependencies>
 

+ 1 - 1
pom.xml

@@ -331,7 +331,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>2.0.9</version>
+            <version>1.2.79</version>
         </dependency>
 	</dependencies>
 

+ 1 - 1
toolset/utils/pom.xml

@@ -95,7 +95,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>2.0.9</version>
+            <version>1.2.79</version>
         </dependency>
 
         <dependency>

+ 20 - 20
toolset/utils/src/main/java/com/yonge/toolset/utils/json/JsonUtil.java

@@ -1,5 +1,13 @@
 package com.yonge.toolset.utils.json;
 
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.nio.charset.CharsetDecoder;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.parser.Feature;
@@ -11,14 +19,6 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.alibaba.fastjson.serializer.ValueFilter;
 import com.alibaba.fastjson.util.TypeUtils;
 
-import java.lang.reflect.Type;
-import java.math.BigDecimal;
-import java.nio.charset.CharsetDecoder;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
 /**
  * 注意点: 如果存在对象间循环引用问题,解决办法: 将get方法的方法名非标准的名称,
  * 例如将getProductCategory()改成getproductCategory() 或者将属性定义加上transient关键字
@@ -34,7 +34,7 @@ public class JsonUtil {
 
 	/**
 	 * 将json字符串反序列化为指定对象
-	 * 
+	 *
 	 * @param <T>
 	 * @param text
 	 *            json串
@@ -50,7 +50,7 @@ public class JsonUtil {
 
 	/**
 	 * 将集合型json串转换成集合对象
-	 * 
+	 *
 	 * @param <T>
 	 * @param text
 	 *            json串
@@ -64,7 +64,7 @@ public class JsonUtil {
 
 	/**
 	 * 将字节数组转换成指定对象
-	 * 
+	 *
 	 * @param <T>
 	 * @param input
 	 *            需要转换的内容
@@ -82,7 +82,7 @@ public class JsonUtil {
 
 	/**
 	 * 忽略具体对象中的某些属性,将其他属性转换成json字符串
-	 * 
+	 *
 	 * @param object
 	 *            具体对象
 	 * @param ingnoreProperties
@@ -105,7 +105,7 @@ public class JsonUtil {
 
 	/**
 	 * 允许具体对象中的某些属性对应的值转换成json字符串
-	 * 
+	 *
 	 * @param object
 	 *            具体对象
 	 * @param allowProperties
@@ -127,8 +127,8 @@ public class JsonUtil {
 	}
 
 	private static String toJsonString(Object obj, ValueFilter filter) {
-		// SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.QuoteFieldNames, SerializerFeature.SkipTransientField, SerializerFeature.WriteEnumUsingToString, SerializerFeature.SortField
-		SerializeWriter out = new SerializeWriter();
+		SerializeWriter out = new SerializeWriter(SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.QuoteFieldNames,
+				SerializerFeature.SkipTransientField, SerializerFeature.WriteEnumUsingToString, SerializerFeature.SortField);
 		JSONSerializer serializer = new JSONSerializer(out);
 		serializer.config(SerializerFeature.WriteEnumUsingToString, false);
 		serializer.getValueFilters().add(filter);
@@ -138,7 +138,7 @@ public class JsonUtil {
 
 	/**
 	 * 将传入的List&lt;JSONObject&gt;改为List&lt;Object&gt;
-	 * 
+	 *
 	 * @param jsonList
 	 *            传入的List&lt;JSONObject&gt;
 	 * @param clazz
@@ -149,7 +149,7 @@ public class JsonUtil {
 		List<T> objList = new ArrayList<T>();
 		if (jsonList != null && jsonList.size() > 0) {
 			for (int i = 0; i < jsonList.size(); i++) {
-				T val = TypeUtils.castToJavaBean(jsonList.get(i), clazz, null);
+				T val = TypeUtils.castToJavaBean(jsonList.get(i), clazz);
 				objList.add(val);
 			}
 		}
@@ -170,8 +170,8 @@ public class JsonUtil {
 
 	public static String toJSONString(Object object, SerializeConfig config, ValueFilter filter, SerializerFeature... features) {
 
-		// SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteMapNullValue, SerializerFeature.QuoteFieldNames, SerializerFeature.WriteNullNumberAsZero
-		SerializeWriter out = new SerializeWriter();
+		SerializeWriter out = new SerializeWriter(SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.WriteNullStringAsEmpty,
+				SerializerFeature.WriteMapNullValue, SerializerFeature.QuoteFieldNames, SerializerFeature.WriteNullNumberAsZero);
 
 		JSONSerializer serializer = new JSONSerializer(out, config);
 		for (SerializerFeature feature : features) {
@@ -195,7 +195,7 @@ public class JsonUtil {
 
 	/**
 	 * 可根据配置参数对目标对象进行转换成json字符串
-	 * 
+	 *
 	 * @param obj
 	 *            目标对象
 	 * @param configs