Commit c569dc0a authored by liqin's avatar liqin 💬

bug fixed

parent f7ef3241
......@@ -5,9 +5,10 @@ package cn.wisenergy.chnmuseum.party.common.enums;
*/
public enum AuditStatusEnum {
TBC(1, "待审核"),
TBC(1, "待初审"),
REFUSED(2, "已驳回"),
APPROVED_FIRST(3, "初审通过");
TBCA(3, "待复审"),
APPROVED_FINAL(4, "通过");
// 错误编码
private Integer code;
......
package cn.wisenergy.chnmuseum.party.common.util;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import java.lang.reflect.Type;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class MyLocalDateSerializer implements ObjectSerializer {
private final String pattern;
public MyLocalDateSerializer(String pattern) {
this.pattern = pattern;
}
@Override
public void write(JSONSerializer jsonSerializer, Object object, Object fieldName, Type fieldType, int i) {
if (object == null) {
jsonSerializer.out.writeNull();
return;
}
if (object instanceof LocalDate) {
LocalDate localDate = (LocalDate) object;
String format = localDate.format(DateTimeFormatter.ofPattern(pattern));
jsonSerializer.write(format);
}
}
}
package cn.wisenergy.chnmuseum.party.common.util;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import java.lang.reflect.Type;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class MyLocalDateTimeSerializer implements ObjectSerializer {
private final String pattern;
public MyLocalDateTimeSerializer(String pattern) {
this.pattern = pattern;
}
@Override
public void write(JSONSerializer jsonSerializer, Object object, Object fieldName, Type fieldType, int i) {
if (object == null) {
jsonSerializer.out.writeNull();
return;
}
if (object instanceof LocalDateTime) {
LocalDateTime localDateTime = (LocalDateTime) object;
String format = localDateTime.format(DateTimeFormatter.ofPattern(pattern));
jsonSerializer.write(format);
}
}
}
......@@ -39,8 +39,14 @@ public abstract class BasePageOrderParam extends BasePageParam {
@ApiModelProperty("创建人")
private String creatorName;
@ApiModelProperty("创建人")
private String copyrightOwnerId;
@ApiModelProperty("视频分类ID")
private String assetTypeId;
@ApiModelProperty("视频版权方ID")
private String assetCopyrightOwnerId;
@ApiModelProperty("展板版权方ID")
private String boardCopyrightOwnerId;
public void defaultPageSort(OrderItem orderItem) {
this.defaultPageSorts(Collections.singletonList(orderItem));
......
package cn.wisenergy.chnmuseum.party.conf;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import java.util.ArrayList;
import java.util.List;
@Configuration
@ConditionalOnClass({JSON.class})
public class FastJsonHttpMessageConvertersConfig {
@Configuration
@ConditionalOnClass({FastJsonHttpMessageConverter.class})
@ConditionalOnProperty(name = {
"spring.mvc.converters.preferred-json-mapper"}, havingValue = "fastjson", matchIfMissing = true)
protected static class FastJson2HttpMessageConverterConfiguration {
protected FastJson2HttpMessageConverterConfiguration() {
}
@Bean
@ConditionalOnMissingBean({FastJsonHttpMessageConverter.class})
public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
SerializerFeature.PrettyFormat,
SerializerFeature.WriteMapNullValue,
SerializerFeature.DisableCircularReferenceDetect
);
// 全局时间配置
fastJsonConfig.setDateFormat("yyyy-MM-dd");
// 处理中文乱码问题
List<MediaType> mediaTypes = new ArrayList<>();
mediaTypes.add(MediaType.APPLICATION_JSON);
mediaTypes.add(MediaType.TEXT_PLAIN);
//mediaTypes.add(new MediaType("text", "plain", Charset.forName("UTF-8")));
converter.setSupportedMediaTypes(mediaTypes);
converter.setFastJsonConfig(fastJsonConfig);
return converter;
}
}
}
//package cn.wisenergy.chnmuseum.party.conf;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.serializer.SerializerFeature;
//import com.alibaba.fastjson.support.config.FastJsonConfig;
//import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.http.MediaType;
//
//import java.util.ArrayList;
//import java.util.List;
//
//@Configuration
//@ConditionalOnClass({JSON.class})
//public class FastJsonHttpMessageConvertersConfig {
//
// @Configuration
// @ConditionalOnClass({FastJsonHttpMessageConverter.class})
// @ConditionalOnProperty(name = {
// "spring.mvc.converters.preferred-json-mapper"}, havingValue = "fastjson", matchIfMissing = true)
// protected static class FastJson2HttpMessageConverterConfiguration {
// protected FastJson2HttpMessageConverterConfiguration() {
// }
//
// @Bean
// @ConditionalOnMissingBean({FastJsonHttpMessageConverter.class})
// public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
// FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
//
// FastJsonConfig fastJsonConfig = new FastJsonConfig();
// fastJsonConfig.setSerializerFeatures(
// SerializerFeature.PrettyFormat,
// SerializerFeature.WriteMapNullValue,
// SerializerFeature.DisableCircularReferenceDetect
// );
// // 全局时间配置
// fastJsonConfig.setDateFormat("yyyy-MM-dd");
// // 处理中文乱码问题
// List<MediaType> mediaTypes = new ArrayList<>();
// mediaTypes.add(MediaType.APPLICATION_JSON);
// mediaTypes.add(MediaType.TEXT_PLAIN);
// converter.setSupportedMediaTypes(mediaTypes);
// converter.setFastJsonConfig(fastJsonConfig);
// return converter;
// }
// }
//
//}
package cn.wisenergy.chnmuseum.party.conf;
import cn.wisenergy.chnmuseum.party.common.util.MyLocalDateSerializer;
import cn.wisenergy.chnmuseum.party.common.util.MyLocalDateTimeSerializer;
import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.ByteArrayHttpMessageConverter;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* MVC配置
*/
......@@ -28,60 +48,62 @@ public class MvcConfiguration extends WebMvcConfigurationSupport {
/**
* 配置消息转换器:Ali开源的fastJson
* 配置消息转换器
*
* @param converters
*/
// @Override
// public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
// // 先移除jackson转换器,springBoot1.x可以不排除
// for (int i = converters.size() - 1; i >= 0; i--) {
// if (converters.get(i) instanceof MappingJackson2HttpMessageConverter) {
// converters.remove(i);
// }
// }
// //1.需要定义一个convert转换消息的对象;
// FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
// StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
// ByteArrayHttpMessageConverter byteArrayHttpMessageConverter = new ByteArrayHttpMessageConverter();
//
// //2.添加fastJson的配置信息,比如:是否要格式化返回的json数据;
// FastJsonConfig fastJsonConfig = new FastJsonConfig();
// fastJsonConfig.setSerializerFeatures(
// SerializerFeature.PrettyFormat,
// SerializerFeature.WriteMapNullValue,
// SerializerFeature.WriteNullStringAsEmpty,
// SerializerFeature.DisableCircularReferenceDetect,
// SerializerFeature.WriteNullListAsEmpty,
// SerializerFeature.BrowserCompatible,
// SerializerFeature.WriteDateUseDateFormat);
// // 设置编码
// fastJsonConfig.setCharset(Charset.forName("UTF-8"));
// fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
//
// // 设置数字转化问题
// SerializeConfig serializeConfig = SerializeConfig.globalInstance;
// serializeConfig.put(BigInteger.class, ToStringSerializer.instance);
// serializeConfig.put(Long.class, ToStringSerializer.instance);
// serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
// serializeConfig.setPropertyNamingStrategy( PropertyNamingStrategy.CamelCase);
// fastJsonConfig.setSerializeConfig(serializeConfig);
//
// //3处理中文乱码问题
// List<MediaType> fastMediaTypes = new ArrayList<>();
// fastMediaTypes.add(MediaType.APPLICATION_JSON);
// fastMediaTypes.add(MediaType.TEXT_HTML);
// fastMediaTypes.add(MediaType.MULTIPART_FORM_DATA);
//
// //4.在convert中添加配置信息.
// fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
// fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
//
// //5.将convert添加到converters当中.
// converters.add(fastJsonHttpMessageConverter);
// converters.add(stringHttpMessageConverter);
// converters.add(byteArrayHttpMessageConverter);
// }
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//0.先移除jackson转换器,springBoot1.x可以不排除
converters.removeIf(converter -> converter instanceof MappingJackson2HttpMessageConverter);
//1.需要定义一个convert转换消息的对象;
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
ByteArrayHttpMessageConverter byteArrayHttpMessageConverter = new ByteArrayHttpMessageConverter();
//2.添加fastJson的配置信息,比如:是否要格式化返回的json数据;
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
SerializerFeature.PrettyFormat, // 结果格式化
// SerializerFeature.WriteMapNullValue, // 输出空值字段
SerializerFeature.WriteNullStringAsEmpty, // String如果为null,输出为"",而不是null
SerializerFeature.DisableCircularReferenceDetect, // 消除对同一对象循环引用的问题
SerializerFeature.WriteNullListAsEmpty, // List集合如果为null,输出为[],而不是null
// SerializerFeature.BrowserCompatible, // 将中文都会序列化为[\u0000]格式,字节数虽然会多一些,但是能兼容IE 6
SerializerFeature.WriteDateUseDateFormat); // 全局修改日期格式
// 设置编码
fastJsonConfig.setCharset(StandardCharsets.UTF_8);
fastJsonConfig.setDateFormat("yyyy-MM-dd");
// 设置数字转化问题
SerializeConfig serializeConfig = SerializeConfig.globalInstance;
serializeConfig.put(BigInteger.class, ToStringSerializer.instance);
serializeConfig.put(Long.class, ToStringSerializer.instance);
serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
serializeConfig.setPropertyNamingStrategy(PropertyNamingStrategy.CamelCase);
serializeConfig.put(LocalDateTime.class, new MyLocalDateTimeSerializer("yyyy-MM-dd"));
serializeConfig.put(LocalDate.class, new MyLocalDateSerializer("yyyy-MM-dd"));
fastJsonConfig.setSerializeConfig(serializeConfig);
//3.处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON);
fastMediaTypes.add(MediaType.TEXT_PLAIN);
fastMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED);
fastMediaTypes.add(MediaType.TEXT_HTML);
fastMediaTypes.add(MediaType.MULTIPART_FORM_DATA);
//4.在convert中添加配置信息
fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
//5.将convert添加到converters当中
converters.add(0, fastJsonHttpMessageConverter);
converters.add(0, stringHttpMessageConverter);
converters.add(0, byteArrayHttpMessageConverter);
}
/**
* 启用@EnableWebMvc后,properties文件中的静态路径失效,必须覆盖后重新制定
......
......@@ -78,95 +78,8 @@ public class Asset implements Serializable {
@TableField(exist = false)
private String assetTypeName;
@ApiModelProperty("版权方")
@ApiModelProperty("视频版权方名称")
@TableField(exist = false)
private String assetCopyrightOwnerName;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAssetCopyrightOwnerId() {
return assetCopyrightOwnerId;
}
public void setAssetCopyrightOwnerId(String assetCopyrightOwnerId) {
this.assetCopyrightOwnerId = assetCopyrightOwnerId;
}
public String getAssetTypeId() {
return assetTypeId;
}
public void setAssetTypeId(String assetTypeId) {
this.assetTypeId = assetTypeId;
}
public String getThumbnail() {
return thumbnail;
}
public void setThumbnail(String thumbnail) {
this.thumbnail = thumbnail;
}
public String getVideoUrl() {
return videoUrl;
}
public void setVideoUrl(String videoUrl) {
this.videoUrl = videoUrl;
}
public String getAuditStatus() {
return auditStatus;
}
public void setAuditStatus(String auditStatus) {
this.auditStatus = auditStatus;
}
public LocalDateTime getCreateTime() {
return createTime;
}
public void setCreateTime(LocalDateTime createTime) {
this.createTime = createTime;
}
public LocalDateTime getUpdateTime() {
return updateTime;
}
public void setUpdateTime(LocalDateTime updateTime) {
this.updateTime = updateTime;
}
public String getAssetTypeName() {
return assetTypeName;
}
public void setAssetTypeName(String assetTypeName) {
this.assetTypeName = assetTypeName;
}
public String getAssetCopyrightOwnerName() {
return assetCopyrightOwnerName;
}
public void setAssetCopyrightOwnerName(String assetCopyrightOwnerName) {
this.assetCopyrightOwnerName = assetCopyrightOwnerName;
}
}
......@@ -157,7 +157,7 @@ public class AssetController extends BaseController {
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "auditStatus", value = "审核状态", paramType = "query", dataType = "String")
})
public Map<String, Object> getAssetList(@RequestParam(value = "auditStatus", defaultValue = "APPROVED_FIRST", required = false) AuditStatusEnum auditStatus) {
public Map<String, Object> getAssetList(@RequestParam(value = "auditStatus", defaultValue = "APPROVED_FINAL", required = false) AuditStatusEnum auditStatus) {
List<Asset> assetList = assetService.list(Wrappers.<Asset>lambdaQuery().eq(Asset::getAuditStatus, auditStatus.name()));
return getResult(assetList);
}
......@@ -166,7 +166,8 @@ public class AssetController extends BaseController {
@ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "copyrightOwner", value = "版权方", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "assetTypeId", value = "视频分类ID", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "assetCopyrightOwnerId", value = "视频版权方ID", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startDate", value = "创建时间-开始", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "创建时间-结束", paramType = "query", dataType = "String")
})
......@@ -180,8 +181,12 @@ public class AssetController extends BaseController {
queryWrapper.like(Asset::getName, genericPageParam.getNameOrCode());
}
// 对版权方模糊查询
if (StringUtils.isNotBlank(genericPageParam.getCopyrightOwnerId())) {
queryWrapper.like(Asset::getAssetCopyrightOwnerId, genericPageParam.getCopyrightOwnerId());
if (StringUtils.isNotBlank(genericPageParam.getAssetCopyrightOwnerId())) {
queryWrapper.like(Asset::getAssetCopyrightOwnerId, genericPageParam.getAssetCopyrightOwnerId());
}
// 对版权方模糊查询
if (StringUtils.isNotBlank(genericPageParam.getAssetTypeId())) {
queryWrapper.like(Asset::getAssetTypeId, genericPageParam.getAssetTypeId());
}
// 根据创建时间区间检索
if (genericPageParam.getStartDate() != null && genericPageParam.getEndDate() != null) {
......@@ -195,6 +200,8 @@ public class AssetController extends BaseController {
Asset::getId,
Asset::getName,
Asset::getAuditStatus,
Asset::getAssetTypeId,
Asset::getAssetCopyrightOwnerId,
Asset::getCreateTime,
Asset::getUpdateTime);
Page<Asset> page = this.assetService.page(getPage(), queryWrapper);
......
......@@ -47,7 +47,7 @@ spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-request-size=4096MB
spring.servlet.multipart.max-file-size=2048MB
spring.web.resources.add-mappings=true
spring.mvc.converters.preferred-json-mapper=fastjson
#spring.mvc.converters.preferred-json-mapper=fastjson
########################################################
###thymeleaf
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment