Commit 768d1887 authored by yaobaizheng's avatar yaobaizheng

默认图修改

parent 658d0eed
package com.lyy.admin.VO;
import cn.hutool.json.JSONArray;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.lyy.admin.common.config.DefaultImgUrlList;
import com.lyy.admin.domain.developmentinfo.*;
import com.lyy.admin.domain.system.SysCarouselInfo;
import lombok.Data;
......@@ -13,7 +15,8 @@ import java.util.Map;
@Data
public class DevelopmentInfoAllVO {
private List<SysCarouselInfo> sysCarouselInfos = new ArrayList<>();
@JsonSerialize(using = DefaultImgUrlList.class)
private List<SysCarouselInfo> sysCarouselInfos;
private DevelopmentInfoVO developmentInfoVO = new DevelopmentInfoVO();
private List<ParkInfoListVO> ParkInfoListVO = new ArrayList<>();
// private List<DevelopmentTrafficInfo> developmentTrafficInfoList = new ArrayList<>();
......
......@@ -2,6 +2,7 @@ package com.lyy.admin.VO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.lyy.admin.common.config.DefaultImgUrl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -108,6 +109,7 @@ public class DevelopmentInfoListVO implements Serializable {
private String levelName;
@ApiModelProperty(value = "图片链接")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
@ApiModelProperty(value = "收藏时间")
......
package com.lyy.admin.VO;
import cn.hutool.json.JSONArray;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.lyy.admin.common.config.DefaultImgUrlList;
import com.lyy.admin.domain.carrierinfo.CarrierInfo;
import com.lyy.admin.domain.parkinfo.ParkCarrierInfo;
import com.lyy.admin.domain.parkinfo.ParkInvestmentDirectionInfo;
......@@ -22,7 +24,8 @@ public class ParkInfoAllVO implements Serializable {
private List<ParkTrafficInfo> parkTrafficInfo = new ArrayList<>();
private JSONArray parkTrafficInfoVOs =new JSONArray();
private List<String> parkCarrierInfo = new ArrayList<>();
private List<SysCarouselInfo> sysCarouselInfos = new ArrayList<>();
@JsonSerialize(using = DefaultImgUrlList.class)
private List<SysCarouselInfo> sysCarouselInfos;
private List<CarrierInfoTypeListVO> carrierInfoVO = new ArrayList<>();
private List<ParkInvestmentDirectionInfo> parkInvestmentDirectionInfos = new ArrayList<>();
private static final long serialVersionUID = 1L;
......
......@@ -2,6 +2,7 @@ package com.lyy.admin.VO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.lyy.admin.common.config.DefaultImgUrl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -141,6 +142,7 @@ public class ParkInfoListVO implements Serializable {
private Integer isHotPark;
@ApiModelProperty(value = "列表展示图片")
@JsonSerialize(nullsUsing = DefaultImgUrl.class)
private String imgUrl;
@ApiModelProperty(value = "收藏时间")
......
package com.lyy.admin.common.config;
import cn.hutool.extra.spring.SpringUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.lyy.admin.VO.CarrierPageVo;
import com.lyy.admin.VO.DevelopmentInfoListVO;
import com.lyy.admin.VO.LandPageVo;
import com.lyy.admin.VO.ParkInfoListVO;
import com.lyy.admin.domain.parkinfo.ParkInfo;
import com.lyy.admin.enumerate.DefaultImgUrlEnum;
import com.lyy.admin.enumerate.DevelopmentStatusEnum;
import com.lyy.admin.enumerate.ParkInfoEnum;
import com.lyy.admin.service.SysDefaultImgurlService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
* @Author:yaobaizheng
*
* @version: 1.0 @Date: 2023/12/15 17:21 @Description:
*/
@Component
public class DefaultImgUrl extends JsonSerializer<String> {
@Autowired
private SysDefaultImgurlService sysDefaultImgurlService;
public DefaultImgUrl(){
this.sysDefaultImgurlService = SpringUtil.getBean(SysDefaultImgurlService.class);
}
/*public DefaultImgUrl(@Autowired SysDefaultImgurlService sysDefaultImgurlService){
this.sysDefaultImgurlService = sysDefaultImgurlService;
}*/
@Override
public void serialize(String imgUrl, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)throws IOException {
if(StringUtils.isNotBlank(imgUrl)){
jsonGenerator.writeString(imgUrl);
}else{
if (jsonGenerator.getCurrentValue() instanceof DevelopmentInfoListVO ) {
DevelopmentInfoListVO developmentPageVo= (DevelopmentInfoListVO)jsonGenerator.getCurrentValue();
if(DevelopmentStatusEnum.STATUS_YRZ.getCode().equals(developmentPageVo.getStatus())){
imgUrl = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.DEVELOPMENT_PZZ_LIST_YQZD.getCode());
}
if(DevelopmentStatusEnum.STATUS_DRZ.getCode().equals(developmentPageVo.getStatus())){
imgUrl = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.DEVELOPMENT_ZMZ_LIST_YQZD.getCode());
}
}
if (jsonGenerator.getCurrentValue() instanceof ParkInfoListVO) {
ParkInfoListVO parkPageVo= (ParkInfoListVO)jsonGenerator.getCurrentValue();
if(ParkInfoEnum.STATUS_YRZ.getCode().equals(parkPageVo.getStatus())){
imgUrl = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.PARK_PZZ_LIST_YQZD.getCode());
}
if(ParkInfoEnum.STATUS_DRZ.getCode().equals(parkPageVo.getStatus())){
imgUrl = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.PARK_ZMZ_LIST_YQZD.getCode());
}
}
if (jsonGenerator.getCurrentValue() instanceof LandPageVo) {
imgUrl = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.LAND_LIST_YQZD.getCode());
}
if (jsonGenerator.getCurrentValue() instanceof CarrierPageVo ) {
imgUrl = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.CARRIR_LIST_YQZD.getCode());
}
jsonGenerator.writeString(imgUrl);
}
}
}
package com.lyy.admin.common.config;
import cn.hutool.extra.spring.SpringUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.lyy.admin.VO.CarrierDetailVo;
import com.lyy.admin.VO.DevelopmentInfoAllVO;
import com.lyy.admin.VO.LandDetailVo;
import com.lyy.admin.VO.ParkInfoAllVO;
import com.lyy.admin.enumerate.DefaultImgUrlEnum;
import com.lyy.admin.enumerate.DevelopmentStatusEnum;
import com.lyy.admin.enumerate.ParkInfoEnum;
import com.lyy.admin.service.SysDefaultImgurlService;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.util.List;
/**
* @Author:yaobaizheng
*
* @version: 1.0 @Date: 2023/12/15 17:21 @Description:
*/
@Component
public class DefaultImgUrlList extends JsonSerializer<List<String>> {
private SysDefaultImgurlService sysDefaultImgurlService;
public DefaultImgUrlList(){
this.sysDefaultImgurlService = SpringUtil.getBean(SysDefaultImgurlService.class);
}
@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 DevelopmentInfoAllVO) {
DevelopmentInfoAllVO developmentDetailVo= (DevelopmentInfoAllVO)jsonGenerator.getCurrentValue();
if(DevelopmentStatusEnum.STATUS_YRZ.getCode().equals(developmentDetailVo.getDevelopmentInfoVO().getStatus())){
imgs[0] = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.DEVELOPMENT_PZZ_DEATIL_YQZD.getCode());
}
if(DevelopmentStatusEnum.STATUS_DRZ.getCode().equals(developmentDetailVo.getDevelopmentInfoVO().getStatus())){
imgs[0] = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.DEVELOPMENT_ZMZ_DEATIL_YQZD.getCode());
}
}
if (jsonGenerator.getCurrentValue() instanceof ParkInfoAllVO) {
ParkInfoAllVO parkPageVo= (ParkInfoAllVO)jsonGenerator.getCurrentValue();
if(ParkInfoEnum.STATUS_YRZ.getCode().equals(parkPageVo.getParkInfoVO().getStatus())){
imgs[0] = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.PARK_PZZ_DEATIL_YQZD.getCode());
}
if(ParkInfoEnum.STATUS_DRZ.getCode().equals(parkPageVo.getParkInfoVO().getStatus())){
imgs[0] = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.PARK_ZMZ_DEATIL_YQZD.getCode());
}
}
if (jsonGenerator.getCurrentValue() instanceof LandDetailVo) {
imgs[0] = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.LAND_DEATIL_YQZD.getCode());
}
if (jsonGenerator.getCurrentValue() instanceof CarrierDetailVo) {
imgs[0] = this.sysDefaultImgurlService.getDefaultImgUrl(DefaultImgUrlEnum.CARRIR_DEATIL_YQZD.getCode());
}
jsonGenerator.writeArray(imgs,0,imgs.length);
}
}
}
......@@ -47,7 +47,7 @@ public class DevelopmentInfoController extends BaseController {
@ApiImplicitParam(name = "orderByColumn", value = "排序字段(可为空,传类属性)", type = "String"),
@ApiImplicitParam(name = "isAsc", value = "排序字段(可为空,请传asc或者desc)", type = "String")
})
@EncryptBusiness
// @EncryptBusiness
public TableDataInfo list(DevelopmentInfoParam developmentInfoParam) {
boolean login = isLogin();
String status = DevelopmentStatusEnum.STATUS_YRZ.getCode()+","+DevelopmentStatusEnum.STATUS_DRZ.getCode();
......@@ -73,7 +73,7 @@ public class DevelopmentInfoController extends BaseController {
@ResponseBody
@ApiOperation(value = "某个开发区信息",notes = "rest风格传参,将参数拼接在url上")
@ApiImplicitParam(name = "id", value = "开发区id", type = "Long")
@EncryptBusiness
// @EncryptBusiness
public DevelopmentInfoAllVO get(@PathVariable Long id) {
return developmentInfoSerivce.getDevelopmentInfo(id,getUserInfo().getUserId(),getUserInfo().getIsMembership());
}
......
package com.lyy.admin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName sys_default_imgurl
*/
@TableName(value ="sys_default_imgurl")
@Data
public class SysDefaultImgurl implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 默认图地址
*/
private String imgUrl;
/**
* 描述信息
*/
private String description;
/**
* 系统类型
*/
private Integer systemType;
/**
* 业务类型
*/
private Integer bussinessType;
/**
* 唯一标识
*/
private String keyType;
/**
* 是否启用(0:否 1:是)
*/
private Integer status;
/**
* 乐观锁
*/
private Integer version;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.lyy.admin.enumerate;
public enum DefaultImgUrlEnum {
DEFAULT_KEY("default_img_url","redis中hashkey"),
DEVELOPMENT_PZZ_DEATIL_YQZD("DEVELOPMENT_PZZ_DEATIL_YQZD","开发区拍摄中详情"),
DEVELOPMENT_ZMZ_DEATIL_YQZD("DEVELOPMENT_ZMZ_DEATIL_YQZD","开发区招募中详情"),
PARK_PZZ_DEATIL_YQZD("PARK_PZZ_DEATIL_YQZD","产业园拍摄中详情"),
PARK_ZMZ_DEATIL_YQZD("PARK_ZMZ_DEATIL_YQZD","产业园招募中详情"),
LAND_DEATIL_YQZD("LAND_DEATIL_YQZD","土地拍摄中详情"),
CARRIR_DEATIL_YQZD("CARRIR_DEATIL_YQZD","载体拍摄中详情"),
DEVELOPMENT_PZZ_LIST_YQZD("DEVELOPMENT_PZZ_LIST_YQZD","开发区拍摄中列表"),
DEVELOPMENT_ZMZ_LIST_YQZD("DEVELOPMENT_ZMZ_LIST_YQZD","开发区招募中列表"),
PARK_PZZ_LIST_YQZD("PARK_PZZ_LIST_YQZD","产业园拍摄中列表"),
PARK_ZMZ_LIST_YQZD("PARK_ZMZ_LIST_YQZD","产业园招募中列表"),
LAND_LIST_YQZD("LAND_LIST_YQZD","土地拍摄中列表"),
CARRIR_LIST_YQZD("CARRIR_LIST_YQZD","载体拍摄中列表")
;
private final String code;
private final String name;
DefaultImgUrlEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.lyy.admin.mapper;
import com.lyy.admin.entity.SysDefaultImgurl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author 26996
* @description 针对表【sys_default_imgurl】的数据库操作Mapper
* @createDate 2023-12-28 17:41:11
* @Entity com.lyy.admin.entity.SysDefaultImgurl
*/
public interface SysDefaultImgurlMapper extends BaseMapper<SysDefaultImgurl> {
}
package com.lyy.admin.service;
import com.lyy.admin.entity.SysDefaultImgurl;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* @author 26996
* @description 针对表【sys_default_imgurl】的数据库操作Service
* @createDate 2023-12-28 17:41:11
*/
public interface SysDefaultImgurlService extends IService<SysDefaultImgurl> {
/**
* 根据key来获取默认图
* @param key 拼接规则 sys_default_imgurl.system_type+bussiness_type+key_type
* @return SysDefaultImgurl
*/
String getDefaultImgUrl(String key);
Map<String, String> getAllDefaultImgUrl();
}
package com.lyy.admin.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lyy.admin.common.constant.RedisConstants;
import com.lyy.admin.common.utils.redis.RedisUtil;
import com.lyy.admin.entity.SysDefaultImgurl;
import com.lyy.admin.enumerate.DefaultImgUrlEnum;
import com.lyy.admin.enumerate.StatusEnum;
import com.lyy.admin.service.SysDefaultImgurlService;
import com.lyy.admin.mapper.SysDefaultImgurlMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 26996
* @description 针对表【sys_default_imgurl】的数据库操作Service实现
* @createDate 2023-12-28 17:41:11
*/
@Service
public class SysDefaultImgurlServiceImpl extends ServiceImpl<SysDefaultImgurlMapper, SysDefaultImgurl>
implements SysDefaultImgurlService{
/**
* 根据key来获取默认图
* @param key 拼接规则 sys_default_imgurl.system_type+bussiness_type+key_type
* @return SysDefaultImgurl
*/
@Override
public String getDefaultImgUrl(String key) {
Map<String, String> map = this.getAllDefaultImgUrl();
String sysDefaultImgurl = map.get(key);
if(sysDefaultImgurl == null){
RedisUtil.delHashKey(RedisConstants.DICT_DATA, DefaultImgUrlEnum.DEFAULT_KEY.getCode());
map = this.getAllDefaultImgUrl();
sysDefaultImgurl = map.get(key);
}
return sysDefaultImgurl;
}
@Override
public Map<String, String> getAllDefaultImgUrl() {
Object value= RedisUtil.hGet(RedisConstants.DICT_DATA, DefaultImgUrlEnum.DEFAULT_KEY.getCode());
Map<String, String> result=new HashMap<>();
if(ObjectUtils.isNotEmpty(value)){
List<SysDefaultImgurl> list = JSONUtil.toList(JSONUtil.toJsonStr(value), SysDefaultImgurl.class);
list.forEach(data->{
result.put(data.getKeyType(),data.getImgUrl());
});
}else {
LambdaQueryWrapper<SysDefaultImgurl> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysDefaultImgurl::getStatus, StatusEnum.ENABLE.getCode());
List<SysDefaultImgurl> list = this.list(lambdaQueryWrapper);
if(!CollectionUtils.isEmpty(list)){
RedisUtil.hPut(RedisConstants.DICT_DATA, DefaultImgUrlEnum.DEFAULT_KEY.getCode(), JSONUtil.toJsonStr(list));
}
list.forEach(data->{
result.put(data.getKeyType(),data.getImgUrl());
});
}
return result;
}
}
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