Browse Source

历史执法信息调用市局接口

v5
ganhao 5 months ago
parent
commit
7649dec327
  1. 164
      lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutCommonController.java
  2. 4
      lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnforcementRegistrationController.java

164
lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutCommonController.java

@ -0,0 +1,164 @@
package com.zdxt.app.controller.external.company;
import cn.hutool.core.io.FileTypeUtil;
import cn.hutool.core.io.FileUtil;
import com.google.common.collect.Lists;
import com.zdxt.auth.common.constant.Constants;
import com.zdxt.auth.common.utils.StringUtils;
import com.zdxt.auth.common.utils.file.FileUploadUtils;
import com.zdxt.auth.common.utils.file.FileUtils;
import com.zdxt.auth.dto.UserBean;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.framework.config.ServerConfig;
import com.zdxt.auth.framework.web.domain.AjaxResult;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.config.RuoYiConfig;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
import java.util.Locale;
/**
* 通用请求处理
*
* @author ruoyi
*/
@Controller
public class OutCommonController
{
private static final Logger log = LoggerFactory.getLogger(OutCommonController.class);
@Autowired
private ServerConfig serverConfig;
@Autowired
private UserApi userApi;
/**
* 默认允许的文件类型
*
* @see FileTypeUtil
*/
private List<String> defaultAllowTypes = Lists.newArrayList(
"xlsx", "xls", "docx", "doc", "pdf", "txt",
"jpg", "jpeg", "png", "bmp", "mp4",
"zip");
/**
* 通用下载请求
*
* @param fileName 文件名称
* @param delete 是否删除
*/
@GetMapping("/external/common/download")
public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
{
try
{
if (!FileUtils.isValidFilename(fileName))
{
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = RuoYiConfig.getDownloadPath() + fileName;
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition",
"attachment;fileName=" + FileUtils.setFileDownloadHeader(request, realFileName));
FileUtils.writeBytes(filePath, response.getOutputStream());
if (delete)
{
FileUtils.deleteFile(filePath);
}
}
catch (Exception e)
{
log.error("下载文件失败", e);
}
}
/**
* 通用上传请求
*/
@PostMapping("/external/common/upload")
@ResponseBody
public AjaxResult uploadFile(MultipartFile file) throws Exception
{
try
{
String fileNameTmp = file.getOriginalFilename();
InputStream in = file.getInputStream();
String type = FileTypeUtil.getType(in);
if (StringUtils.isBlank(type)) {
// 无法通过文件头或者扩展名识别文件类型。
return AjaxResult.error("上传失败格式不符合要求");
}
String extType = FileUtil.extName(fileNameTmp);
if (StringUtils.isBlank(extType)) {
// 后缀读不到类型,直接拒绝
return AjaxResult.error("无法读取文件类型");
}
// 文件头类型和后缀类型都要满足白名单
if (!CollectionUtils.containsAll(defaultAllowTypes,
Lists.newArrayList(type.toLowerCase(Locale.ROOT), extType.toLowerCase(Locale.ROOT)))) {
return AjaxResult.error("文件上传失败");
}
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
log.info("文件上传"+fileName);
String url = fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("fileName", fileName);
ajax.put("url", url);
return ajax;
}
catch (Exception e)
{
return AjaxResult.error(e.getMessage());
}
}
/**
* 本地资源通用下载
*/
@GetMapping("/external/common/download/resource")
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
// 本地资源路径
String localPath = RuoYiConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
// 下载名称
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition",
"attachment;fileName=" + FileUtils.setFileDownloadHeader(request, downloadName));
FileUtils.writeBytes(downloadPath, response.getOutputStream());
}
@GetMapping("/external/getUserInfo")
@ResponseBody
public ZDResponse getUserInfo(){
UserBean user = userApi.getCurrentUser();
return ZDResponse.success("查询成功",user);
}
}

4
lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/external/company/OutEnforcementRegistrationController.java

@ -636,9 +636,9 @@ public class OutEnforcementRegistrationController extends BaseController
/** /**
* 执法登记详情 - 联合执法版本 * 执法登记详情 - 联合执法版本
*/ */
@GetMapping("/queryUniteById/{id}") @GetMapping("/queryUniteById")
@ResponseBody @ResponseBody
public ZDResponse queryUniteById(@PathVariable("id") String id) public ZDResponse queryUniteById(String id)
{ {
List<EnforcementRegistration> regResults = new ArrayList<>(); List<EnforcementRegistration> regResults = new ArrayList<>();
List<EnterpriseLawEnforcement> lawResults = new ArrayList<>(); List<EnterpriseLawEnforcement> lawResults = new ArrayList<>();

Loading…
Cancel
Save