From 2edf8f5847bcc121a35c9aaee5531585e6b923f5 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期三, 23 十一月 2022 13:55:35 +0800 Subject: [PATCH] 1.更改系统设置更改问题 2.新增导半人员设置创建人 3.搜索sql优化 --- flower_city/src/main/java/com/dg/core/controller/CommonController.java | 199 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 149 insertions(+), 50 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/controller/CommonController.java b/flower_city/src/main/java/com/dg/core/controller/CommonController.java index 274a7ac..df34391 100644 --- a/flower_city/src/main/java/com/dg/core/controller/CommonController.java +++ b/flower_city/src/main/java/com/dg/core/controller/CommonController.java @@ -1,21 +1,35 @@ package com.dg.core.controller; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; import com.dg.core.CorsConfig; import com.dg.core.ResultData; import com.dg.core.db.gen.AjaxResult; +import com.dg.core.file.FtpConstants; +import com.dg.core.file.MimeTypeUtils; +import com.dg.core.file.SFTPUtil; +import com.dg.core.util.TestDate; +import com.iceyyy.workday.WorkUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; + import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.text.SimpleDateFormat; +import java.util.*; + +import static com.dg.core.file.FileTypeUploadUtils.assertAllowed; @Api(tags = {"通用接口"}) @@ -23,57 +37,142 @@ @RequestMapping("/common") public class CommonController extends BaseController { - private static final String FILE_DELIMETER = ","; + private static final String FILE_DELIMETER = ","; - @Autowired - private CorsConfig corsConfig; + @Autowired + private CorsConfig corsConfig; - @RequestMapping("/hello") + // FTP 登录用户名 + @Value("${ftp.username}") + private String userName; + // FTP 登录密码 + @Value("${ftp.password}") + private String password; + // FTP 服务器地址IP地址 + @Value("${ftp.host}") + private String host; + // FTP 端口 + @Value("${ftp.port}") + private int port; + @Value("${ftp.url}") + private String url; + + @Resource + RedisTemplate<String, Object> redisTemplate; + + + @RequestMapping("/hello") // @Authorization - public ResponseEntity<String> hello() { - return ResponseEntity.ok("hello world"); - } - - - /** - * 通用上传请求(多个) - */ - @ApiOperation("文件上传接口(通用)") - @PostMapping("/uploads") - public ResultData uploadFiles(List<MultipartFile> files) throws Exception - { - List<String> urls = new ArrayList<String>(); - List<String> fileNames = new ArrayList<String>(); - List<String> newFileNames = new ArrayList<String>(); - List<String> originalFilenames = new ArrayList<String>(); - for (MultipartFile file : files) { - String extension = FilenameUtils.getExtension(file.getOriginalFilename()); - String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension; - try { -// assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); -// SFTPUtil sftp = new SFTPUtil(); -// sftp.login(); -// InputStream is = file.getInputStream(); -// sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is); -// sftp.logout(); -// -// urls.add(url + "/idcard/" + name); -// fileNames.add(name); -// newFileNames.add(FileUtils.getName(name)); -// originalFilenames.add(file.getOriginalFilename()); - - } catch (Exception e) { -// log.error("上传照片失败【{}】", e.getMessage()); - return ResultData.error("上传文件失败"); - } + public ResponseEntity<String> hello() { + return ResponseEntity.ok("hello world"); } - AjaxResult ajax = new AjaxResult(); - ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); - ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); - ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); - ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); - return ResultData.success(ajax); - } + + /** + * 通用上传请求(多个) + */ + @ApiOperation("文件上传接口(通用)") + @PostMapping("/uploads") + public ResultData uploadFiles(List<MultipartFile> files) throws Exception { + List<String> urls = new ArrayList<String>(); + List<String> fileNames = new ArrayList<String>(); + List<String> originalFilenames = new ArrayList<String>(); + for (MultipartFile file : files) { + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension; + try { + assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); + SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + sftp.login(); + InputStream is = file.getInputStream(); + sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is); + sftp.logout(); + + urls.add(url + "/idcard/" + name); + fileNames.add(name); + originalFilenames.add(file.getOriginalFilename()); + + } catch (Exception e) { + return ResultData.error("上传文件失败 " + e.getMessage()); + } + } + AjaxResult ajax = new AjaxResult(); + ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); + ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); + ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); + return ResultData.success(ajax); + + } + + + + /** + * 通用上传请求(单个) + */ + @ApiOperation("文件上传接口(通用)") + @PostMapping("/upload") + public ResultData uploadFile(MultipartFile file) throws Exception { + List<String> urls = new ArrayList<String>(); + List<String> fileNames = new ArrayList<String>(); + List<String> originalFilenames = new ArrayList<String>(); + + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension; + try { + assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); + SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + sftp.login(); + InputStream is = file.getInputStream(); + sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is); + sftp.logout(); + +// urls.add(url + "/idcard/" + name); +// fileNames.add(name); +// originalFilenames.add(file.getOriginalFilename()); + return ResultData.success(url + "/idcard/" + name); + } catch (Exception e) { + return ResultData.error("上传文件失败 " + e.getMessage()); + } + +// AjaxResult ajax = new AjaxResult(); +// ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); +// ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); +// ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); + } + + /** + * 判断当前时间是否是工作日,格式为“2022-10-16”,不传默认为今天 + */ + @ApiOperation("判断当前时间是否是工作日,格式为“20221016”,不传默认为今天") + @GetMapping("/isWeekday") + public ResultData isWeekday(@RequestParam(value = "dateTime", required = false) String dateTime) { + if (dateTime == null) { + Date date = new Date(); + SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd"); + dateTime = fmt.format(date); + } + if (WorkUtils.isWorkendDay(dateTime)) + return success("休息日或者周末"); + else + return success("工作日"); + } + + /** + * 获取天气默认为攀枝花 + */ + @ApiOperation("获取天气默认为攀枝花") + @GetMapping("/getWeather") + public ResultData getWeather(@RequestParam(value = "code", required = false) String code) { + TestDate td = new TestDate(); + Map weather; + if (code == null) {//默认为攀枝花 则从redis上获取redis上定时任务15分钟获取一次天气 + HashMap weather1 = (HashMap) redisTemplate.opsForValue().get("weather"); + return ResultData.success(weather1.get("lives")); + } else { + return ResultData.success(td.getWeather(code)); + } + } + + } -- Gitblit v1.7.1