farm模块-图片转换
This commit is contained in:
@@ -21,7 +21,7 @@ public class DisasterDataPageReqVO {
|
|||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "灾害类型2=病害,1=虫害,3=草害")
|
@Schema(description = "灾害类型2=病害,1=虫害,3=草害")
|
||||||
private Integer category;
|
private String category;
|
||||||
|
|
||||||
@Schema(description = "灾害类型 1:普通; 2:气象灾害")
|
@Schema(description = "灾害类型 1:普通; 2:气象灾害")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo;
|
|||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import cn.idev.excel.annotation.*;
|
import cn.idev.excel.annotation.*;
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ public class DisasterDataRespVO {
|
|||||||
|
|
||||||
@Schema(description = "灾害类型2=病害,1=虫害,3=草害")
|
@Schema(description = "灾害类型2=病害,1=虫害,3=草害")
|
||||||
@ExcelProperty("灾害类型2=病害,1=虫害,3=草害")
|
@ExcelProperty("灾害类型2=病害,1=虫害,3=草害")
|
||||||
private Integer category;
|
private String category;
|
||||||
|
|
||||||
@Schema(description = "灾害类型 1:普通; 2:气象灾害")
|
@Schema(description = "灾害类型 1:普通; 2:气象灾害")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
@@ -36,6 +36,9 @@ public class DisasterDataRespVO {
|
|||||||
@Schema(description = "图片地址")
|
@Schema(description = "图片地址")
|
||||||
private String imgUrl;
|
private String imgUrl;
|
||||||
|
|
||||||
|
@Schema(description = "图片列表")
|
||||||
|
private List<String> imageList;
|
||||||
|
|
||||||
@Schema(description = "发生次数", example = "17530")
|
@Schema(description = "发生次数", example = "17530")
|
||||||
@ExcelProperty("发生次数")
|
@ExcelProperty("发生次数")
|
||||||
private Integer disasterCount;
|
private Integer disasterCount;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo;
|
|||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 灾害数据新增/修改 Request VO")
|
@Schema(description = "管理后台 - 灾害数据新增/修改 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@@ -12,7 +13,7 @@ public class DisasterDataSaveReqVO {
|
|||||||
@Schema(description = "灾害名称", example = "赵六")
|
@Schema(description = "灾害名称", example = "赵六")
|
||||||
private String name;
|
private String name;
|
||||||
@Schema(description = "灾害类型1=环境,2=病害,3=虫害,4=草害")
|
@Schema(description = "灾害类型1=环境,2=病害,3=虫害,4=草害")
|
||||||
private Integer category;
|
private String category;
|
||||||
@Schema(description = "灾害类型 1:普通; 2:气象灾害")
|
@Schema(description = "灾害类型 1:普通; 2:气象灾害")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
@Schema(description = "灾害描述")
|
@Schema(description = "灾害描述")
|
||||||
@@ -20,8 +21,12 @@ public class DisasterDataSaveReqVO {
|
|||||||
@Schema(description = "防治建议")
|
@Schema(description = "防治建议")
|
||||||
private String treatmentSuggestion;
|
private String treatmentSuggestion;
|
||||||
@Schema(description = "图片地址")
|
@Schema(description = "图片地址")
|
||||||
|
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = cn.iocoder.yudao.module.farm.framework.json.StringOrArrayToStringDeserializer.class)
|
||||||
private String imgUrl;
|
private String imgUrl;
|
||||||
|
|
||||||
|
@Schema(description = "图片列表")
|
||||||
|
private List<String> imageList;
|
||||||
|
|
||||||
@Schema(description = "发生次数", example = "17530")
|
@Schema(description = "发生次数", example = "17530")
|
||||||
private Integer disasterCount;
|
private Integer disasterCount;
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata;
|
package cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata;
|
||||||
|
|
||||||
import cn.idev.excel.annotation.ExcelProperty;
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.util.List;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 灾害数据 DO
|
* 灾害数据 DO
|
||||||
@@ -35,7 +35,7 @@ public class DisasterDataDO extends BaseDO {
|
|||||||
/**
|
/**
|
||||||
* 灾害类型 2=病害,1=虫害,3=草害
|
* 灾害类型 2=病害,1=虫害,3=草害
|
||||||
*/
|
*/
|
||||||
private Integer category;
|
private String category;
|
||||||
/**
|
/**
|
||||||
* 灾害类别 1:普通; 2:气象灾害
|
* 灾害类别 1:普通; 2:气象灾害
|
||||||
*/
|
*/
|
||||||
@@ -52,11 +52,18 @@ public class DisasterDataDO extends BaseDO {
|
|||||||
* 图片地址
|
* 图片地址
|
||||||
*/
|
*/
|
||||||
private String imgUrl;
|
private String imgUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片集合(业务层使用)
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<String> imageList;
|
||||||
/**
|
/**
|
||||||
* 发生次数
|
* 发生次数
|
||||||
*/
|
*/
|
||||||
private Integer disasterCount;
|
private Integer disasterCount;
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
private String disasterTime;
|
private String disasterTime;
|
||||||
|
|
||||||
@@ -64,5 +71,21 @@ public class DisasterDataDO extends BaseDO {
|
|||||||
* 删除状态 (1:已删除;2:未删除)
|
* 删除状态 (1:已删除;2:未删除)
|
||||||
*/
|
*/
|
||||||
private Integer useStatus;
|
private Integer useStatus;
|
||||||
|
/**
|
||||||
|
* 获取图片集合
|
||||||
|
*/
|
||||||
|
public List<String> getImageList() {
|
||||||
|
if (imageList == null) {
|
||||||
|
imageList = ImageCollectionUtil.toImageList(this.imgUrl);
|
||||||
|
}
|
||||||
|
return imageList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置图片集合
|
||||||
|
*/
|
||||||
|
public void setImageList(List<String> imageList) {
|
||||||
|
this.imageList = imageList;
|
||||||
|
this.imgUrl = ImageCollectionUtil.toDatabaseString(imageList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -10,9 +10,9 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata.DisasterDataDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata.DisasterDataDO;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.farm.dal.mysql.disasterdata.DisasterDataMapper;
|
import cn.iocoder.yudao.module.farm.dal.mysql.disasterdata.DisasterDataMapper;
|
||||||
|
import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -34,9 +34,13 @@ public class DisasterDataServiceImpl implements DisasterDataService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String createDisasterData(DisasterDataSaveReqVO createReqVO) {
|
public String createDisasterData(DisasterDataSaveReqVO createReqVO) {
|
||||||
LoginUser user = getLoginUser();
|
getLoginUser();
|
||||||
// 插入
|
// 插入
|
||||||
DisasterDataDO disasterData = BeanUtils.toBean(createReqVO, DisasterDataDO.class);
|
DisasterDataDO disasterData = BeanUtils.toBean(createReqVO, DisasterDataDO.class);
|
||||||
|
// 将图片集合转换为数据库存储的字符串,仅当前端传了列表时进行转换
|
||||||
|
if (disasterData.getImageList() != null) {
|
||||||
|
disasterData.setImgUrl(ImageCollectionUtil.toDatabaseString(disasterData.getImageList()));
|
||||||
|
}
|
||||||
disasterData.setId(IdUtil.fastUUID());
|
disasterData.setId(IdUtil.fastUUID());
|
||||||
disasterDataMapper.insert(disasterData);
|
disasterDataMapper.insert(disasterData);
|
||||||
|
|
||||||
@@ -50,6 +54,10 @@ public class DisasterDataServiceImpl implements DisasterDataService {
|
|||||||
validateDisasterDataExists(updateReqVO.getId());
|
validateDisasterDataExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
DisasterDataDO updateObj = BeanUtils.toBean(updateReqVO, DisasterDataDO.class);
|
DisasterDataDO updateObj = BeanUtils.toBean(updateReqVO, DisasterDataDO.class);
|
||||||
|
// 将图片集合转换为数据库存储的字符串,仅当前端传了列表时进行转换
|
||||||
|
if (updateObj.getImageList() != null) {
|
||||||
|
updateObj.setImgUrl(ImageCollectionUtil.toDatabaseString(updateObj.getImageList()));
|
||||||
|
}
|
||||||
disasterDataMapper.updateById(updateObj);
|
disasterDataMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +86,12 @@ public class DisasterDataServiceImpl implements DisasterDataService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DisasterDataDO getDisasterData(String id) {
|
public DisasterDataDO getDisasterData(String id) {
|
||||||
return disasterDataMapper.selectById(id);
|
DisasterDataDO data = disasterDataMapper.selectById(id);
|
||||||
|
if (data != null) {
|
||||||
|
// 触发图片集合转换,确保返回对象包含转换后的图片集合
|
||||||
|
data.getImageList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -91,9 +104,16 @@ public class DisasterDataServiceImpl implements DisasterDataService {
|
|||||||
int offset = (pageNo - 1) * pageSize;
|
int offset = (pageNo - 1) * pageSize;
|
||||||
reqVO.setOffset(offset);
|
reqVO.setOffset(offset);
|
||||||
List<DisasterDataDO> list = disasterDataMapper.selectDisasterDataPage(reqVO);
|
List<DisasterDataDO> list = disasterDataMapper.selectDisasterDataPage(reqVO);
|
||||||
|
if (list != null) {
|
||||||
|
list.forEach(item -> {
|
||||||
|
if (item != null) {
|
||||||
|
// 触发图片集合转换
|
||||||
|
item.getImageList();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
long total = disasterDataMapper.selectDisasterDataCount(reqVO);
|
long total = disasterDataMapper.selectDisasterDataCount(reqVO);
|
||||||
// long totalPages = (long) Math.ceil((double) total / pageSize);
|
|
||||||
|
|
||||||
return new PageResult<>(list,total);
|
return new PageResult<>(list,total);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -283,6 +283,7 @@ yudao:
|
|||||||
- /admin-api/app/traceability-code/scan
|
- /admin-api/app/traceability-code/scan
|
||||||
ignore-tables:
|
ignore-tables:
|
||||||
- region
|
- region
|
||||||
|
- farm_production_plan
|
||||||
ignore-caches:
|
ignore-caches:
|
||||||
- user_role_ids
|
- user_role_ids
|
||||||
- permission_menu_ids
|
- permission_menu_ids
|
||||||
|
|||||||
Reference in New Issue
Block a user