Commit 708c6cd2 authored by yaobaizheng's avatar yaobaizheng

添加注解 返回默认图片

parent 9b3b5533
package com.postcard.service.config.other;
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.enums.DefaultImgUrlEnum;
import com.postcard.service.enums.DevelopmentStatusEnum;
import com.postcard.service.enums.ParkStatusEnum;
import com.postcard.service.moudle.carrier.vo.CarrierPageVo;
import com.postcard.service.moudle.development.vo.DevelopmentPageVo;
import com.postcard.service.moudle.land.vo.LandPageVo;
import com.postcard.service.moudle.park.vo.ParkCarrierVo;
import com.postcard.service.moudle.park.vo.ParkPageVo;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import com.postcard.service.moudle.system.service.SysDictDataService;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* @Author:yaobaizheng
*
* @version: 1.0 @Date: 2023/12/15 17:21 @Description:
*/
@Component
public class DefaultImgUrl extends JsonSerializer<String> {
private SysDictDataService sysDictDataService = SpringUtil.getBean( SysDictDataService.class);
private DefaultImgUrl() {
JSONObject jsonObject = this.sysDictDataService.listByCodes(DefaultImgUrlEnum.DEFAULT_KEY.getName());
JSONArray dictType = jsonObject.getJSONArray(DefaultImgUrlEnum.DEFAULT_KEY.getName());
for (int i = 0; i < dictType.size(); i++) {
JSONObject obj = dictType.getJSONObject(i);
map.put(obj.getStr(DefaultImgUrlEnum.DICT_DATA_LABEL.getName()),obj.getStr(DefaultImgUrlEnum.DICT_DATA_VALUE.getName()));
}
}
private static Map<String, String> map= new HashMap<>();
@Override
public void serialize(
String imgUrl, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
throws IOException {
if(StringUtils.isNotBlank(imgUrl)){
jsonGenerator.writeString(imgUrl);
}else{
if (jsonGenerator.getCurrentValue() instanceof DevelopmentPageVo ) {
DevelopmentPageVo developmentPageVo= (DevelopmentPageVo)jsonGenerator.getCurrentValue();
if(DevelopmentStatusEnum.STATUS_YRZ.getCode().equals(developmentPageVo.getStatus())){
imgUrl = map.get(DefaultImgUrlEnum.DEVELOPMENT_PZZ_LIST.getName());
}
if(DevelopmentStatusEnum.STATUS_DRZ.getCode().equals(developmentPageVo.getStatus())){
imgUrl = map.get(DefaultImgUrlEnum.DEVELOPMENT_ZMZ_LIST.getName());
}
}
if (jsonGenerator.getCurrentValue() instanceof ParkPageVo) {
ParkPageVo parkPageVo= (ParkPageVo)jsonGenerator.getCurrentValue();
if(ParkStatusEnum.STATUS_YRZ.getCode().equals(parkPageVo.getStatus())){
imgUrl = map.get(DefaultImgUrlEnum.PARK_PZZ_LIST.getName());
}
if(ParkStatusEnum.STATUS_DRZ.getCode().equals(parkPageVo.getStatus())){
imgUrl = map.get(DefaultImgUrlEnum.PARK_ZMZ_LIST.getName());
}
}
if (jsonGenerator.getCurrentValue() instanceof LandPageVo) {
imgUrl = map.get(DefaultImgUrlEnum.LAND_LIST.getName());
}
if (jsonGenerator.getCurrentValue() instanceof CarrierPageVo || jsonGenerator.getCurrentValue() instanceof ParkCarrierVo) {
imgUrl = map.get(DefaultImgUrlEnum.CARRIR_LIST.getName());
}
jsonGenerator.writeString(imgUrl);
}
}
}
package com.postcard.service.config.other;
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.enums.DefaultImgUrlEnum;
import com.postcard.service.enums.DevelopmentStatusEnum;
import com.postcard.service.enums.ParkStatusEnum;
import com.postcard.service.moudle.carrier.vo.CarrierDetailVo;
import com.postcard.service.moudle.development.vo.DevelopmentDetailVo;
import com.postcard.service.moudle.land.vo.LandDetailVo;
import com.postcard.service.moudle.park.vo.ParkDetailVo;
import com.postcard.service.moudle.system.service.SysDictDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author:yaobaizheng
*
* @version: 1.0 @Date: 2023/12/15 17:21 @Description:
*/
@Component
public class DefaultImgUrlList extends JsonSerializer<List<String>> {
private SysDictDataService sysDictDataService = SpringUtil.getBean( SysDictDataService.class);
private static Map<String, String> map= new HashMap<>();
public DefaultImgUrlList(){
JSONObject jsonObject = this.sysDictDataService.listByCodes(DefaultImgUrlEnum.DEFAULT_KEY.getName());
JSONArray dictType = jsonObject.getJSONArray(DefaultImgUrlEnum.DEFAULT_KEY.getName());
for (int i = 0; i < dictType.size(); i++) {
JSONObject obj = dictType.getJSONObject(i);
map.put(obj.getStr(DefaultImgUrlEnum.DICT_DATA_LABEL.getName()),obj.getStr(DefaultImgUrlEnum.DICT_DATA_VALUE.getName()));
}
}
@Override
public void serialize(
List<String> imgUrlList, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
throws IOException {
if(!CollectionUtils.isEmpty(imgUrlList)){
jsonGenerator.writeArray(imgUrlList.toArray(new String[imgUrlList.size()]),0,imgUrlList.size());
}else{
String[] imgs = new String[1];
if (jsonGenerator.getCurrentValue() instanceof DevelopmentDetailVo) {
DevelopmentDetailVo developmentDetailVo= (DevelopmentDetailVo)jsonGenerator.getCurrentValue();
if(DevelopmentStatusEnum.STATUS_YRZ.getCode().equals(developmentDetailVo.getStatus())){
imgs[0] = map.get(DefaultImgUrlEnum.DEVELOPMENT_PZZ_DEATIL.getName());
}
if(DevelopmentStatusEnum.STATUS_DRZ.getCode().equals(developmentDetailVo.getStatus())){
imgs[0] = map.get(DefaultImgUrlEnum.DEVELOPMENT_ZMZ_DEATIL.getName());
}
}
if (jsonGenerator.getCurrentValue() instanceof ParkDetailVo) {
ParkDetailVo parkPageVo= (ParkDetailVo)jsonGenerator.getCurrentValue();
if(ParkStatusEnum.STATUS_YRZ.getCode().equals(parkPageVo.getStatus())){
imgs[0] = map.get(DefaultImgUrlEnum.PARK_PZZ_DEATIL.getName());
}
if(ParkStatusEnum.STATUS_DRZ.getCode().equals(parkPageVo.getStatus())){
imgs[0] = map.get(DefaultImgUrlEnum.PARK_ZMZ_DEATIL.getName());
}
}
if (jsonGenerator.getCurrentValue() instanceof LandDetailVo) {
imgs[0] = map.get(DefaultImgUrlEnum.LAND_DEATIL.getName());
}
if (jsonGenerator.getCurrentValue() instanceof CarrierDetailVo) {
imgs[0] = map.get(DefaultImgUrlEnum.CARRIR_DEATIL.getName());
}
jsonGenerator.writeArray(imgs,0,imgs.length);
}
}
}
package com.postcard.service.enums;
public enum DefaultImgUrlEnum {
DEFAULT_KEY("default_img_url"),
DICT_DATA_LABEL("dictLabel"),
DICT_DATA_VALUE("dictValue"),
DEVELOPMENT_PZZ_DEATIL("开发区拍摄中详情"),
DEVELOPMENT_ZMZ_DEATIL("开发区招募中详情"),
PARK_PZZ_DEATIL("产业园拍摄中详情"),
PARK_ZMZ_DEATIL("产业园招募中详情"),
LAND_DEATIL("土地拍摄中详情"),
CARRIR_DEATIL("载体拍摄中详情"),
DEVELOPMENT_PZZ_LIST("开发区拍摄中列表"),
DEVELOPMENT_ZMZ_LIST("开发区招募中列表"),
PARK_PZZ_LIST("产业园拍摄中列表"),
PARK_ZMZ_LIST("产业园招募中列表"),
LAND_LIST("土地拍摄中列表"),
CARRIR_LIST("载体拍摄中列表"),
;
private String name;
DefaultImgUrlEnum(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
...@@ -82,7 +82,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, Carri ...@@ -82,7 +82,7 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, Carri
} }
} }
//主导产业 //主导产业
if(org.apache.commons.lang3.StringUtils.isNotBlank(carrierPageDto.getPrimaryIndustry())){ if(StringUtils.isNotBlank(carrierPageDto.getPrimaryIndustry())){
String name = PrimaryIndustryEnum.getName(carrierPageDto.getPrimaryIndustry()); String name = PrimaryIndustryEnum.getName(carrierPageDto.getPrimaryIndustry());
String[] split = name.split("、"); String[] split = name.split("、");
carrierPageDto.setPrimaryIndustryList(Arrays.asList(split)); carrierPageDto.setPrimaryIndustryList(Arrays.asList(split));
......
package com.postcard.service.moudle.carrier.vo; package com.postcard.service.moudle.carrier.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.DefaultImgUrlList;
import com.postcard.service.moudle.park.vo.ParkDetailVo; import com.postcard.service.moudle.park.vo.ParkDetailVo;
import com.postcard.service.moudle.system.vo.VideoVo; import com.postcard.service.moudle.system.vo.VideoVo;
import com.postcard.service.moudle.system.vo.VrVo; import com.postcard.service.moudle.system.vo.VrVo;
...@@ -65,6 +67,7 @@ public class CarrierDetailVo { ...@@ -65,6 +67,7 @@ public class CarrierDetailVo {
//----------轮播图------------------- //----------轮播图-------------------
@ApiModelProperty(value = "轮播图") @ApiModelProperty(value = "轮播图")
@JsonSerialize(using = DefaultImgUrlList.class)
private List<String> imgUrls; private List<String> imgUrls;
......
package com.postcard.service.moudle.carrier.vo; package com.postcard.service.moudle.carrier.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.DefaultImgUrl;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
...@@ -30,6 +32,7 @@ public class CarrierPageVo { ...@@ -30,6 +32,7 @@ public class CarrierPageVo {
@ApiModelProperty(value = "载体类型") @ApiModelProperty(value = "载体类型")
private String type; private String type;
@ApiModelProperty(value = "图片") @ApiModelProperty(value = "图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl; private String imgUrl;
@ApiModelProperty(value = "建筑结构") @ApiModelProperty(value = "建筑结构")
......
...@@ -69,4 +69,7 @@ public class DevelopmentDetailVo implements Serializable { ...@@ -69,4 +69,7 @@ public class DevelopmentDetailVo implements Serializable {
@ApiModelProperty(value = "污水处理价格(元/吨)") @ApiModelProperty(value = "污水处理价格(元/吨)")
private BigDecimal sewageWaterPrice; private BigDecimal sewageWaterPrice;
@ApiModelProperty(value = "状态")
private Integer status;
} }
package com.postcard.service.moudle.land.vo; package com.postcard.service.moudle.land.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.DefaultImgUrl;
import com.postcard.service.config.other.DefaultImgUrlList;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo; import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.system.vo.VideoVo; import com.postcard.service.moudle.system.vo.VideoVo;
import com.postcard.service.moudle.system.vo.VrVo; import com.postcard.service.moudle.system.vo.VrVo;
...@@ -48,6 +51,7 @@ public class LandDetailVo { ...@@ -48,6 +51,7 @@ public class LandDetailVo {
private String landStatus; private String landStatus;
@ApiModelProperty(value = "轮播图") @ApiModelProperty(value = "轮播图")
@JsonSerialize(using = DefaultImgUrlList.class)
private List<String> imgUrlList; private List<String> imgUrlList;
/** 土地类型(1:工业土地 2:商业土地) */ /** 土地类型(1:工业土地 2:商业土地) */
......
package com.postcard.service.moudle.land.vo; package com.postcard.service.moudle.land.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.DefaultImgUrl;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
...@@ -50,6 +52,7 @@ public class LandPageVo { ...@@ -50,6 +52,7 @@ public class LandPageVo {
private String type; private String type;
@ApiModelProperty(value = "首屏图片") @ApiModelProperty(value = "首屏图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl; private String imgUrl;
//开发区名 //开发区名
private String developmentName; private String developmentName;
......
package com.postcard.service.moudle.park.vo; package com.postcard.service.moudle.park.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.DefaultImgUrl;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
...@@ -29,6 +31,7 @@ public class ParkCarrierVo { ...@@ -29,6 +31,7 @@ public class ParkCarrierVo {
private BigDecimal area; private BigDecimal area;
@ApiModelProperty(value = "图片-》该字段为空 字段预留") @ApiModelProperty(value = "图片-》该字段为空 字段预留")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl; private String imgUrl;
@ApiModelProperty(value = "载体类型") @ApiModelProperty(value = "载体类型")
......
...@@ -3,6 +3,8 @@ package com.postcard.service.moudle.park.vo; ...@@ -3,6 +3,8 @@ package com.postcard.service.moudle.park.vo;
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONArray;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.BigDecimal2String; import com.postcard.service.config.other.BigDecimal2String;
import com.postcard.service.config.other.DefaultImgUrl;
import com.postcard.service.config.other.DefaultImgUrlList;
import com.postcard.service.config.other.String2String; import com.postcard.service.config.other.String2String;
import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo; import com.postcard.service.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.park.vo.ParkCarrierVo; import com.postcard.service.moudle.park.vo.ParkCarrierVo;
...@@ -82,11 +84,9 @@ public class ParkDetailVo { ...@@ -82,11 +84,9 @@ public class ParkDetailVo {
private Double coverArea; private Double coverArea;
@ApiModelProperty(value = "轮播图") @ApiModelProperty(value = "轮播图")
@JsonSerialize(using = DefaultImgUrlList.class)
List<String> imgUrlList; List<String> imgUrlList;
// /** 联系人(区域负责人姓名) */ // /** 联系人(区域负责人姓名) */
// @ApiModelProperty(value = "联系人(区域负责人姓名)") // @ApiModelProperty(value = "联系人(区域负责人姓名)")
// private String contactPerson; // private String contactPerson;
...@@ -94,7 +94,6 @@ public class ParkDetailVo { ...@@ -94,7 +94,6 @@ public class ParkDetailVo {
// private String phone; // private String phone;
// -----------基础信息---------------- // -----------基础信息----------------
/** 园区简介 */ /** 园区简介 */
@ApiModelProperty(value = "园区简介") @ApiModelProperty(value = "园区简介")
...@@ -119,4 +118,8 @@ public class ParkDetailVo { ...@@ -119,4 +118,8 @@ public class ParkDetailVo {
@ApiModelProperty(value = "载体") @ApiModelProperty(value = "载体")
List<ParkCarrierVo> parkCarrier; List<ParkCarrierVo> parkCarrier;
// -----------状态----------------
@ApiModelProperty(value = "状态")
private Integer status;
} }
package com.postcard.service.moudle.park.vo; package com.postcard.service.moudle.park.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.postcard.service.config.other.DefaultImgUrl;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
...@@ -32,6 +34,7 @@ public class ParkPageVo { ...@@ -32,6 +34,7 @@ public class ParkPageVo {
private BigDecimal latitude; private BigDecimal latitude;
@ApiModelProperty(value = "列表展示图片") @ApiModelProperty(value = "列表展示图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl; private String imgUrl;
@ApiModelProperty(value = "园区级别") @ApiModelProperty(value = "园区级别")
......
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