src/main/java/com/lf/server/controller/data/DataQueryController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/DataQueryService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/sys/AttachMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/lf/server/controller/data/DataQueryController.java
@@ -4,9 +4,11 @@ import com.lf.server.controller.all.BaseQueryController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.sys.AttachEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.StringHelper; import com.lf.server.service.data.DataQueryService; import com.lf.server.service.sys.AttachService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -26,6 +28,9 @@ @RestController @RequestMapping("/dataQuery") public class DataQueryController extends BaseQueryController { @Autowired TokenService tokenService; @Autowired AttachService attachService; @@ -56,7 +61,6 @@ @SysLog() @ApiOperation(value = "删除文件") @ApiImplicitParams({ @ApiImplicitParam(name = "tabName", value = "表名", dataType = "String", paramType = "query", example = "bd.b_pac_frozensoil"), @ApiImplicitParam(name = "ids", value = "ID数组", dataType = "Integer", paramType = "query", example = "1,2") }) @GetMapping(value = "/deletes") @@ -77,10 +81,22 @@ @SysLog() @ApiOperation(value = "上传文件") @ResponseBody @ApiImplicitParams({ @ApiImplicitParam(name = "tabName", value = "表名", dataType = "String", paramType = "query", example = "lf.sys_style"), @ApiImplicitParam(name = "eventid", value = "主键", dataType = "String", paramType = "query", example = "fa25979a5ef8b43ba82a0be35b3fb0d4") }) @PostMapping(value = "/uploadFiles") public ResponseMsg<Integer> uploadFiles(@RequestParam("file") MultipartFile[] files, HttpServletRequest req) { public ResponseMsg<Integer> uploadFiles(String tabName, String eventid, @RequestParam("file") MultipartFile[] files, HttpServletRequest req) { try { Integer count = dataQueryService.uploadFiles(files, req); if (StringHelper.isEmpty(tabName) || StringHelper.isEmpty(eventid)) { return fail("参数不能为空", null); } if (null == files || files.length == 0) { return fail("文件上传为空", 0); } UserEntity ue = tokenService.getCurrentUser(req); Integer count = dataQueryService.uploadFiles(ue, tabName, eventid, files, req); return success(count); } catch (Exception ex) { src/main/java/com/lf/server/service/data/DataQueryService.java
@@ -1,9 +1,20 @@ package com.lf.server.service.data; import com.lf.server.entity.all.SettingData; import com.lf.server.entity.sys.AttachEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.FileHelper; import com.lf.server.helper.PathHelper; import com.lf.server.service.sys.AttachService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * 数据检索服务 @@ -11,9 +22,64 @@ */ @Service public class DataQueryService { public Integer uploadFiles(MultipartFile[] files, HttpServletRequest req) { @Autowired PathHelper pathHelper; @Autowired AttachService attachService; return 0; /** * 上传文件 */ public Integer uploadFiles(UserEntity ue, String tabName, String eventid, MultipartFile[] files, HttpServletRequest req) throws IOException { List<AttachEntity> list = new ArrayList<AttachEntity>(); for (MultipartFile file : files) { if (file.getSize() > SettingData.MAX_FILE_SIZE) { continue; } // 传输文件 String fileName = file.getOriginalFilename(); String filePath = pathHelper.getTempPath() + File.separator + fileName; File newFile = new File(filePath); file.transferTo(newFile); double sizes = FileHelper.sizeToMb(file.getSize()); // 获取MD5 String md5 = FileHelper.getFileMd5(filePath); AttachEntity entity = attachService.selectByGuid(md5); AttachEntity ae = getAttachEntity(ue, tabName, eventid, fileName, md5, sizes); if (entity != null) { ae.setPath(entity.getPath()); newFile.delete(); }else { String targetPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath(); newFile.renameTo(new File(targetPath)); } list.add(ae); } return attachService.inserts(list); } /** * 获取附件实体类 */ protected AttachEntity getAttachEntity(UserEntity ue, String tabName, String eventid, String fileName, String md5, double sizes) { AttachEntity entity = new AttachEntity(); entity.setTab(tabName); entity.setTabGuid(eventid); entity.setName(fileName); entity.setGuid(md5); String subPath = PathHelper.getUploadPath() + File.separator + md5; entity.setPath(subPath); entity.setSizes(sizes); if (ue != null) { entity.setCreateUser(ue.getId()); } return entity; } } src/main/resources/mapper/sys/AttachMapper.xml
@@ -34,7 +34,7 @@ </select> <select id="selectByTab" resultType="com.lf.server.entity.sys.AttachEntity"> select * from lf.sys_attach where tab = #{tab} and guid = #{guid} select * from lf.sys_attach where tab = #{tab} and tab_guid = #{guid} </select> <insert id="insert" parameterType="com.lf.server.entity.sys.AttachEntity">