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
}
}
//主导产业
if(org.apache.commons.lang3.StringUtils.isNotBlank(carrierPageDto.getPrimaryIndustry())){
if(StringUtils.isNotBlank(carrierPageDto.getPrimaryIndustry())){
String name = PrimaryIndustryEnum.getName(carrierPageDto.getPrimaryIndustry());
String[] split = name.split("、");
carrierPageDto.setPrimaryIndustryList(Arrays.asList(split));
......
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.system.vo.VideoVo;
import com.postcard.service.moudle.system.vo.VrVo;
......@@ -65,6 +67,7 @@ public class CarrierDetailVo {
//----------轮播图-------------------
@ApiModelProperty(value = "轮播图")
@JsonSerialize(using = DefaultImgUrlList.class)
private List<String> imgUrls;
......
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.ApiModelProperty;
import lombok.*;
......@@ -30,6 +32,7 @@ public class CarrierPageVo {
@ApiModelProperty(value = "载体类型")
private String type;
@ApiModelProperty(value = "图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
@ApiModelProperty(value = "建筑结构")
......
......@@ -69,4 +69,7 @@ public class DevelopmentDetailVo implements Serializable {
@ApiModelProperty(value = "污水处理价格(元/吨)")
private BigDecimal sewageWaterPrice;
@ApiModelProperty(value = "状态")
private Integer status;
}
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.system.vo.VideoVo;
import com.postcard.service.moudle.system.vo.VrVo;
......@@ -48,6 +51,7 @@ public class LandDetailVo {
private String landStatus;
@ApiModelProperty(value = "轮播图")
@JsonSerialize(using = DefaultImgUrlList.class)
private List<String> imgUrlList;
/** 土地类型(1:工业土地 2:商业土地) */
......
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.ApiModelProperty;
import lombok.*;
......@@ -50,6 +52,7 @@ public class LandPageVo {
private String type;
@ApiModelProperty(value = "首屏图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
//开发区名
private String developmentName;
......
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.ApiModelProperty;
import lombok.*;
......@@ -29,6 +31,7 @@ public class ParkCarrierVo {
private BigDecimal area;
@ApiModelProperty(value = "图片-》该字段为空 字段预留")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
@ApiModelProperty(value = "载体类型")
......
......@@ -3,6 +3,8 @@ package com.postcard.service.moudle.park.vo;
import cn.hutool.json.JSONArray;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
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.moudle.carrier.vo.CarrierInvestmentVo;
import com.postcard.service.moudle.park.vo.ParkCarrierVo;
......@@ -82,11 +84,9 @@ public class ParkDetailVo {
private Double coverArea;
@ApiModelProperty(value = "轮播图")
@JsonSerialize(using = DefaultImgUrlList.class)
List<String> imgUrlList;
// /** 联系人(区域负责人姓名) */
// @ApiModelProperty(value = "联系人(区域负责人姓名)")
// private String contactPerson;
......@@ -94,7 +94,6 @@ public class ParkDetailVo {
// private String phone;
// -----------基础信息----------------
/** 园区简介 */
@ApiModelProperty(value = "园区简介")
......@@ -119,4 +118,8 @@ public class ParkDetailVo {
@ApiModelProperty(value = "载体")
List<ParkCarrierVo> parkCarrier;
// -----------状态----------------
@ApiModelProperty(value = "状态")
private Integer status;
}
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 lombok.*;
......@@ -32,6 +34,7 @@ public class ParkPageVo {
private BigDecimal latitude;
@ApiModelProperty(value = "列表展示图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
@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