添加人员、材料、机械管理上传图片、文件功能
This commit is contained in:
@ -55,6 +55,11 @@ public class BusContractor extends BaseEntity {
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 公司相关文件
|
||||
*/
|
||||
private String files;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@ -4,6 +4,7 @@ import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
@ -40,6 +41,11 @@ public class ContractorCreateReq implements Serializable {
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 公司相关文件
|
||||
*/
|
||||
private Map<String, Long> fileMap;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@ -4,6 +4,7 @@ import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
@ -45,6 +46,11 @@ public class ContractorUpdateReq implements Serializable {
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 公司相关文件
|
||||
*/
|
||||
private Map<String, Long> fileMap;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@ -1,19 +1,14 @@
|
||||
package org.dromara.project.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
@ -66,6 +61,12 @@ public class BusContractorVo implements Serializable {
|
||||
@ExcelProperty(value = "管理人联系电话")
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 公司相关文件
|
||||
*/
|
||||
@ExcelProperty(value = "公司相关文件")
|
||||
private Map<String, Long> fileMap;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@ -2,6 +2,8 @@ package org.dromara.project.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -27,7 +29,9 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 分包单位Service业务层处理
|
||||
@ -96,8 +100,12 @@ public class BusContractorServiceImpl extends ServiceImpl<BusContractorMapper, B
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusContractor contractor = new BusContractor();
|
||||
BeanUtils.copyProperties(req, contractor);
|
||||
// 数据转换
|
||||
Map<String, Long> fileMap = req.getFileMap();
|
||||
String fileMapStr = JSONUtil.toJsonStr(fileMap);
|
||||
contractor.setFiles(fileMapStr);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(contractor);
|
||||
validEntityBeforeSave(contractor, true);
|
||||
// 操作数据库
|
||||
boolean save = this.save(contractor);
|
||||
if (!save) {
|
||||
@ -117,8 +125,12 @@ public class BusContractorServiceImpl extends ServiceImpl<BusContractorMapper, B
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusContractor contractor = new BusContractor();
|
||||
BeanUtils.copyProperties(req, contractor);
|
||||
// 数据转换
|
||||
Map<String, Long> fileMap = req.getFileMap();
|
||||
String fileMapStr = JSONUtil.toJsonStr(fileMap);
|
||||
contractor.setFiles(fileMapStr);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(contractor);
|
||||
validEntityBeforeSave(contractor, false);
|
||||
// 判断是否存在
|
||||
BusContractor oldContractor = this.getById(contractor.getId());
|
||||
if (oldContractor == null) {
|
||||
@ -131,15 +143,17 @@ public class BusContractorServiceImpl extends ServiceImpl<BusContractorMapper, B
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(BusContractor entity) {
|
||||
private void validEntityBeforeSave(BusContractor entity, Boolean add) {
|
||||
// 做一些数据校验,如唯一约束
|
||||
String name = entity.getName();
|
||||
if (StringUtils.isBlank(name)) {
|
||||
throw new ServiceException("分包单位名称不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
String principal = entity.getPrincipal();
|
||||
if (StringUtils.isBlank(principal)) {
|
||||
throw new ServiceException("分包单位负责人不能为空", HttpStatus.BAD_REQUEST);
|
||||
if (add) {
|
||||
String name = entity.getName();
|
||||
if (StringUtils.isBlank(name)) {
|
||||
throw new ServiceException("分包单位名称不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
String principal = entity.getPrincipal();
|
||||
if (StringUtils.isBlank(principal)) {
|
||||
throw new ServiceException("分包单位负责人不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -191,6 +205,15 @@ public class BusContractorServiceImpl extends ServiceImpl<BusContractorMapper, B
|
||||
return contractorVo;
|
||||
}
|
||||
BeanUtils.copyProperties(contractor, contractorVo);
|
||||
// 关联对象存储文件信息
|
||||
String files = contractor.getFiles();
|
||||
if (StringUtils.isEmpty(files)) {
|
||||
return contractorVo;
|
||||
}
|
||||
Map<String, Long> fileMap = new HashMap<>();
|
||||
JSONObject parseObj = JSONUtil.parseObj(files);
|
||||
parseObj.forEach((key, value) -> fileMap.put(key, (Long) value));
|
||||
contractorVo.setFileMap(fileMap);
|
||||
return contractorVo;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user