1.修改一些接口逻辑;2.增加上传文件数据接口。

This commit is contained in:
sxlong 2024-11-18 11:15:54 +08:00
parent 8d24442c52
commit 13ec292878
13 changed files with 149 additions and 56 deletions

View File

@ -33,15 +33,15 @@ public class EDDataController {
}
@ApiOperation(value = "更新文件占用状态",notes = "")
@RequestMapping(value = "/updateFileStatus",method = RequestMethod.POST)
public ElectromagneticResult<?> updateFileStatus(@RequestBody EDDataRequest request){
return edDataFacade.updateFileStatus(request);
@ApiOperation(value = "更新文件信息",notes = "")
@RequestMapping(value = "/updateFileInfo",method = RequestMethod.POST)
public ElectromagneticResult<?> updateFileInfo(@RequestBody EDDataRequest request){
return edDataFacade.updateFileInfo(request);
}
@ApiOperation(value = "上传",notes = "")
@RequestMapping(value = "/upload",method = RequestMethod.POST)
@RequestMapping(value = "/upload", consumes = "multipart/form-data",method = RequestMethod.POST)
public ElectromagneticResult<?> upload(@RequestBody EDDataRequest request){
return edDataFacade.upload(request);
}

View File

@ -53,6 +53,14 @@ public class EDDataInfo {
* 状态publish:发布occupy:占用
*/
private String dataStatus;
/**
* 备注
*/
private String note;
/**
* 编辑人
*/
private String editor;
/**
* 创建人
*/

View File

@ -1,6 +1,7 @@
package com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.io.Serializable;
@ -18,21 +19,33 @@ public class EDDataParams implements Serializable {
/**
* 上级文件夹数据码,为空是顶级
*/
private Long parentId;
/**
* 文件夹名称
*/
private String name;
/**
* 关键词
*/
private String keyWord;
private String parentId;
/**
* 文件数据编码
*/
private String dataId;
/**
* 文件夹名称
*/
private String name;
/**
* 创建日期排序
*/
private String gmtCreate;
/**
* 文件数据状态
*/
private String dataStatus;
/**
* 备注
*/
private String note;
/**
* 关键词
*/
private String keyWord;
/**
* 文件数据
*/
private MultipartFile fileData;
}

View File

@ -28,11 +28,11 @@ public interface EDDataRepository {
PageInfo<EDDataInfo> getDataInfoList(EDDataParams parames);
/**
* 更新文件占用状态
* 更新文件信息
* @param parames
* @return
*/
Boolean updateFileStatus(EDDataParams parames);
Boolean updateFileInfo(EDDataParams parames);
/**
* 上传

View File

@ -21,11 +21,11 @@ public interface EDDataService {
EDDataPage getDataInfoList(EDDataParams parames);
/**
* 更新文件占用状态
* 更新文件信息
* @param parames
* @return
*/
Boolean updateFileStatus(EDDataParams parames);
Boolean updateFileInfo(EDDataParams parames);
/**
* 上传

View File

@ -55,13 +55,13 @@ public class EDDataServiceImpl implements EDDataService {
}
/**
* 更新文件占用状态
* 更新文件信息
* @param parames
* @return
*/
public Boolean updateFileStatus(EDDataParams parames)
public Boolean updateFileInfo(EDDataParams parames)
{
edDataRepository.updateFileStatus(parames);
edDataRepository.updateFileInfo(parames);
return Boolean.TRUE;
}

View File

@ -18,6 +18,10 @@
<groupId>com.electromagnetic.data</groupId>
<artifactId>electromagnetic-framework</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
</dependencies>

View File

@ -22,11 +22,11 @@ public interface EDDataFacade {
ElectromagneticResult<EDDataPageResponse> getDataInfoList(EDDataRequest request);
/**
* 更新文件占用状态
* 更新文件信息
* @param request
* @return
*/
ElectromagneticResult<Boolean> updateFileStatus(EDDataRequest request);
ElectromagneticResult<Boolean> updateFileInfo(EDDataRequest request);
/**
* 上传

View File

@ -1,5 +1,6 @@
package com.electromagnetic.industry.software.data.manage.request.indicator;
import org.springframework.web.multipart.MultipartFile;
import electromagnetic.data.framework.share.model.BaseRequest;
import lombok.Data;
@ -17,21 +18,33 @@ public class EDDataRequest extends BaseRequest {
/**
* 上级文件夹数据码,为空是顶级
*/
private Long parentId;
/**
* 文件夹名称
*/
private String name;
/**
* 关键词
*/
private String keyWord;
private String parentId;
/**
* 文件数据编码
*/
private String dataId;
/**
* 文件夹名称
*/
private String name;
/**
* 创建日期排序
*/
private String gmtCreate;
/**
* 文件数据状态
*/
private String dataStatus;
/**
* 备注
*/
private String note;
/**
* 关键词
*/
private String keyWord;
/**
* 文件数据
*/
private MultipartFile fileData;
}

View File

@ -24,11 +24,11 @@ public interface EDDataMapper {
List<EDDataInfo> getDataInfoList(EDDataParams parames);
/**
* 更新文件占用状态
* 更新文件信息
* @param parames
* @return
*/
Boolean updateFileStatus(EDDataParams parames);
Boolean updateFileInfo(EDDataParams parames);
}

View File

@ -50,14 +50,14 @@ public class EDDataRepositoryImpl implements EDDataRepository {
}
/**
* 更新文件占用状态
* 更新文件信息
* @param parames
* @return
*/
@Override
public Boolean updateFileStatus(EDDataParams parames)
public Boolean updateFileInfo(EDDataParams parames)
{
return edDataMapper.updateFileStatus(parames);
return edDataMapper.updateFileInfo(parames);
}
/**

View File

@ -14,6 +14,7 @@
<result column="content" jdbcType="VARCHAR" property="content" />
<result column="implant_json" jdbcType="VARCHAR" property="implantJson" />
<result column="data_status" jdbcType="VARCHAR" property="dataStatus" />
<result column="note" jdbcType="VARCHAR" property="note" />
<result column="creator" jdbcType="VARCHAR" property="creator" />
<result column="creator_name" jdbcType="VARCHAR" property="creatorName" />
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate" />
@ -24,7 +25,7 @@
</resultMap>
<sql id="Base_Column_list">
id,category_id,data_id,data_no,data_name,data_type,file_type,version,content,
implant_json,data_status,creator,creator_name,gmt_create,modifier,modifier_name,
implant_json,data_status,note,creator,creator_name,gmt_create,modifier,modifier_name,
gmt_modified,effect_flag
</sql>
@ -35,16 +36,16 @@
</selectKey>
insert into ed_data_info (id, category_id,
data_id, data_no, data_name,
data_type, file_type,
version,content, implant_json, data_status,
data_type, file_type,version,
content, implant_json, data_status,note,
creator, creator_name, gmt_create,
modifier, modifier_name, gmt_modified,
effect_flag
)
values (#{id,jdbcType=VARCHAR}, #{categoryId,jdbcType=VARCHAR},
#{dataId,jdbcType=VARCHAR}, #{dataNo,jdbcType=VARCHAR}, #{dataName,jdbcType=VARCHAR},
#{dataType,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR},
#{version,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR}, #{implantJson,jdbcType=VARCHAR}, #{dataStatus,jdbcType=VARCHAR},
#{dataType,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR},#{version,jdbcType=VARCHAR},
#{content,jdbcType=VARCHAR}, #{implantJson,jdbcType=VARCHAR}, #{dataStatus,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR},
#{creator,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR}, now(), #{modifier,jdbcType=VARCHAR},
#{modifierName,jdbcType=VARCHAR},now(),1
)
@ -61,19 +62,30 @@
<if test="parentId!=null and parentId!=''">
and category_id='${parentId}'
</if>
<if test="dataId!=null and dataId!=''">
and data_id='${dataId}'
</if>
<if test="keyWord!=null and keyWord!=''">
and data_name LIKE '%${keyWord}%'
</if>
GROUP BY id
order by gmt_modified asc
<if test="gmtCreate == 'asc' or gmtCreate =='desc'">
order by gmt_create ${gmtCreate}
</if>
</select>
<update id="updateFileStatus" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams">
<update id="updateFileInfo" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams">
update ed_data_info
<set>
<if test="name != null and name!=''">
data_name = #{name,jdbcType=VARCHAR},
</if>
<if test="dataStatus != null and dataStatus!=''">
data_status = #{dataStatus,jdbcType=VARCHAR},
</if>
<if test="note != null and note!=''">
note = #{note,jdbcType=VARCHAR},
</if>
gmt_modified = now()
</set>
where data_id = #{dataId,jdbcType=VARCHAR} and effect_flag = 1

View File

@ -11,9 +11,12 @@ import com.electromagnetic.industry.software.data.manage.service.mappers.EDDataM
import electromagnetic.data.framework.share.id.IdWorker;
import electromagnetic.data.framework.share.model.ElectromagneticResult;
import electromagnetic.data.framework.share.model.ElectromagneticResultUtil;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
@Service
public class EDDataFacadeImpl implements EDDataFacade {
@ -32,17 +35,26 @@ public class EDDataFacadeImpl implements EDDataFacade {
@Override
public ElectromagneticResult<Boolean> createFolder(EDDataRequest request) {
EDDataInfo edDataInfo = EDDataMappers.INSTANCE.getEDDataInfo(request);
edDataInfo.setCreator(request.getUserId());
edDataInfo.setCreatorName(request.getPersonName());
//edDataInfo.setModifier(request.getUserId());
edDataInfo.setModifierName(request.getPersonName());
edDataInfo.setModifier(IdWorker.getSnowFlakeIdString());
edDataInfo.setCategoryId(IdWorker.getSnowFlakeIdString());
edDataInfo.setDataNo(IdWorker.getSnowFlakeIdString());
// 临时数据设置
if(Boolean.TRUE) {
if (request.getUserId() == null || request.getUserId().isEmpty()) request.setUserId(IdWorker.getSnowFlakeIdString());
if (request.getUserName() == null || request.getUserName().isEmpty()) request.setUserName("user");
if (request.getName() == null || request.getName().isEmpty()) request.setName("testFolder");
if (request.getParentId() == null || request.getParentId().isEmpty()) request.setParentId(IdWorker.getSnowFlakeIdString());
}
edDataInfo.setCreator(request.getUserId());
edDataInfo.setCreatorName(request.getUserName());
edDataInfo.setModifier(request.getUserId());
edDataInfo.setModifierName(request.getUserName());
edDataInfo.setCategoryId(request.getParentId());
edDataInfo.setDataName(request.getName());
edDataInfo.setNote(request.getNote());
edDataInfo.setDataId(IdWorker.getSnowFlakeIdString());
edDataInfo.setDataNo(IdWorker.getSnowFlakeIdString());
edDataInfo.setDataType("folder");
edDataInfo.setDataName("testFolder");
edDataInfo.setVersion("1.0.0");
edDataInfo.setDataStatus("publish");
@ -70,16 +82,16 @@ public class EDDataFacadeImpl implements EDDataFacade {
}
/**
* 更新文件占用状态
* 更新文件信息
* WISDOM_UPDATE_FILESTATUS
* /data/ed/file/updateFileStatus
* @param request
* @return
*/
public ElectromagneticResult<Boolean> updateFileStatus(EDDataRequest request)
public ElectromagneticResult<Boolean> updateFileInfo(EDDataRequest request)
{
EDDataParams parames= EDDataMappers.INSTANCE.getEDDataParames(request);
edDataService.updateFileStatus(parames);
edDataService.updateFileInfo(parames);
return ElectromagneticResultUtil.success(Boolean.TRUE);
}
@ -94,7 +106,38 @@ public class EDDataFacadeImpl implements EDDataFacade {
{
EDDataParams parames= EDDataMappers.INSTANCE.getEDDataParames(request);
edDataService.upload(parames);
try {
// 获取目录编码ID
String categoryId = request.getParentId();
// 获取要上传的文件
MultipartFile file = request.getFileData();
// 检查文件是否为空
if (file == null || file.isEmpty()) {
return ElectromagneticResultUtil.fail(HttpStatus.BAD_REQUEST.toString(),"上传的文件为空");
}
// 获取文件名
String fileName = file.getOriginalFilename();
// 这里可以添加将文件保存到本地磁盘或其他存储介质的逻辑
// 例如假设要保存到项目的 /uploads 目录下需要确保该目录存在且可写
file.transferTo(new File("fileData/" + fileName));
// 根据目录编码ID和文件名等信息可以进行进一步的处理比如将文件保存到对应目录等
// 这里只是示例假设打印相关信息
System.out.println("目录编码ID: " + categoryId);
System.out.println("文件名: " + fileName);
// 如果文件上传成功返回成功消息
return ElectromagneticResultUtil.success(Boolean.TRUE);
} catch (Exception e) {
// 如果出现异常返回异常消息
return ElectromagneticResultUtil.fail(HttpStatus.INTERNAL_SERVER_ERROR.toString(),"文件上传失败" + e.getMessage());
}
}
/**