From 02eab6c9353eddb47393c2df690a8764b8aad811 Mon Sep 17 00:00:00 2001 From: haotianmingyue <2421912570@qq.com> Date: Fri, 25 Oct 2024 17:24:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=9B=E5=BB=BA=E4=BD=9C?= =?UTF-8?q?=E5=93=81createUserWork=E6=8E=A5=E5=8F=A3=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/app/AppSystemController.java | 60 +++++++++++++++++++ .../ruoyi/system/domain/dto/UserWorkDto.java | 31 +++++++++- 2 files changed, 89 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java index c0b9ea9b..81f7280d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java @@ -6,6 +6,7 @@ import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.user.CaptchaException; import com.ruoyi.common.utils.MessageUtils; +import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.framework.manager.AsyncManager; import com.ruoyi.framework.manager.factory.AsyncFactory; import com.ruoyi.system.domain.BaiduCardBack; @@ -31,6 +32,7 @@ import com.ruoyi.system.service.IUserInfoService; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.UserInfo; import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.IUserWorkService; import com.ruoyi.web.controller.app.baidu.GsonUtils; import com.ruoyi.web.controller.app.baidu.OcrIdCardBAI; import com.ruoyi.web.controller.common.CaptchaController; @@ -73,6 +75,9 @@ public class AppSystemController { @Autowired private RedisCache redisCache; + @Autowired + private IUserWorkService userWorkService; + /** * 账号密码登录 @@ -565,5 +570,60 @@ public class AppSystemController { return error("文件上传失败"); } } + @PostMapping("createUserWork") + public AjaxResult createUserWork(@RequestParam("workDto") String userWorkDtoString, + @RequestParam("work") MultipartFile workImage){ + + UserWorkDto userWorkdto = GsonUtils.fromJson(userWorkDtoString, UserWorkDto.class); + String username = SecurityUtils.getUsername(); + + String workName = userWorkdto.getWorkName(); + String workType = userWorkdto.getWorkStatus(); + String workDetail = userWorkdto.getDetail(); + + Long userId = SecurityUtils.getUserId(); + + UserWork userWork = new UserWork(); + + userWork.setUserId(userId); + userWork.setWorkName(workName); + userWork.setWorkStatus(workType); + userWork.setDetail(workDetail); + userWork.setCoordinate("0000"); + + String localPath = RuoYiConfig.getProfile(); + if (workImage.isEmpty()) { + return error("文件为空"); + } + // 验证文件类型(可选,这里只允许jpg,jpeg和png格式) + String fileType = workImage.getContentType().split("/")[1].toLowerCase(); + if (!"jpg".equals(fileType) && !"jpeg".equals(fileType) && !"png".equals(fileType)) { + return error("只支持jpg、jpeg和png格式的图片"); + } + String uuid = IdUtils.simpleUUID(); +// System.out.println(uuid); + + + String filePath = localPath + "/work"; + try { + // 保存文件到服务器 + workImage.transferTo(new File(filePath, username+uuid+".jpg")); + userWork.setWorkAddress(filePath+"/"+username+uuid+".jpg"); + boolean flag = userWorkService.insertUserWork(userWork) > 0; + + if(flag){ + + return success("保存作品成功");// 可以返回文件的相对路径或URL给前端 + } + else{ + return error("保存作品失败"); + } + + } catch (IOException e) { + e.printStackTrace(); + return error("作品文件上传失败"); + } + + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserWorkDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserWorkDto.java index a79be054..e63c12be 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserWorkDto.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserWorkDto.java @@ -1,8 +1,35 @@ package com.ruoyi.system.domain.dto; public class UserWorkDto { - private String workName; + private String workname; private String detail; - private String workType; + private String workstatus; + + public String getWorkName() + { + return workname; + } + + public void setWorkName(String workname) + { + this.workname = workname; + } + + public String getDetail() + { + return detail; + } + + public void setDetail(String detail) + { + this.detail = detail; + } + + public String getWorkStatus(){ + return workstatus; + } + public void setWorkStatus(String workstatus){ + this.workstatus = workstatus; + } }