Commit d78df78e authored by zhouxudong's avatar zhouxudong

更新代码

parent aefec14b
package com.postcard.service.config.anno;
import com.postcard.service.enums.BusinessTypeEnum;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @Author:zhouxudong
* @version: 1.0
* @Date: 2023/12/19 10:05
* @Description:
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
public @interface BusinessType {
BusinessTypeEnum value();
}
package com.postcard.service.config.other;
import cn.hutool.core.annotation.AnnotationUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.postcard.service.config.anno.BusinessType;
import com.postcard.service.enums.BusinessTypeEnum;
import com.postcard.service.enums.DefaultImgUrlEnum;
import com.postcard.service.enums.DevelopmentStatusEnum;
import com.postcard.service.enums.ParkStatusEnum;
......@@ -49,6 +52,14 @@ public class DefaultImgUrl extends JsonSerializer<String> {
public void serialize(
String imgUrl, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
throws IOException {
Object currentValue = jsonGenerator.getCurrentValue();
Class<?> aClass1 = currentValue.getClass();
Object annotationValue = AnnotationUtil.getAnnotationValue(aClass1, BusinessType.class);
BusinessTypeEnum businessTypeEnum = BusinessTypeEnum.valueOf(annotationValue.toString());
if(StringUtils.isNotBlank(imgUrl)){
jsonGenerator.writeString(imgUrl);
}else{
......
package com.postcard.service.moudle.carrier.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.anno.BusinessType;
import com.postcard.service.config.other.DefaultImgUrl;
import com.postcard.service.enums.BusinessTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
......@@ -20,6 +22,7 @@ import java.math.BigDecimal;
@NoArgsConstructor
@ToString
@ApiModel(value = "载体分页返回数据")
@BusinessType(BusinessTypeEnum.CARRIER)
public class CarrierPageVo {
@ApiModelProperty(value = "主键id")
private Integer id;
......@@ -34,6 +37,7 @@ public class CarrierPageVo {
@ApiModelProperty(value = "楼号")
private String buildingNumber;
@ApiModelProperty(value = "图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
......
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