From cdbf4e20345cd968c045f373ff1613b6ee730cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=81=92?= <3226558941@qq.com> Date: Fri, 13 Oct 2023 16:49:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=A4=B4=E5=83=8F?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../uploadfile/UploadFileController.java | 69 ++++++++++++++++++ .../uploadfile/IUploadFileService.java | 32 +++++++++ .../Impl/UploadFileServiceImpl.java | 70 +++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/uploadfile/UploadFileController.java create mode 100644 xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/IUploadFileService.java create mode 100644 xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/Impl/UploadFileServiceImpl.java diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/uploadfile/UploadFileController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/uploadfile/UploadFileController.java new file mode 100644 index 0000000..365f9d6 --- /dev/null +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/uploadfile/UploadFileController.java @@ -0,0 +1,69 @@ +package com.xinelu.applet.controller.uploadfile; + +import com.xinelu.applet.service.uploadfile.IUploadFileService; +import com.xinelu.common.constant.Constants; +import com.xinelu.common.core.domain.AjaxResult; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/11/2 10:38 + */ +@RestController +@RequestMapping("/nurseApplet/uploadFile") +public class UploadFileController { + + @Resource + private IUploadFileService uploadFileService; + + /** + * 会员App头像图片上传 + * + * @param patientId 会员主键id + * @param multipartFile 文件 + * @return 结果 + */ + @PostMapping("/uploadHeadPictureUrl") + public AjaxResult uploadHeadPictureUrl(@RequestParam("file") MultipartFile multipartFile, @RequestParam(value = "patientId") Long patientId) throws Exception { + if (Objects.isNull(patientId)) { + return AjaxResult.error("会员头像信息不能为空!"); + } + if (Objects.isNull(multipartFile) || StringUtils.isBlank(multipartFile.getOriginalFilename())) { + return AjaxResult.error("当前文件视频不存在,无法上传!"); + } + if (multipartFile.getOriginalFilename().contains(Constants.EMPTY)) { + return AjaxResult.error("当前视频文件名含有空格,请先去除空格在上传!"); + } + return uploadFileService.uploadHeadPictureUrl(multipartFile, patientId); + } + + /** + * 护理员App确认任务完成图片上传 + * + * @param orderNo 编号 + * @param multipartFile 文件 + * @return 结果 + */ + @PostMapping("/uploadPictureUrl") + public AjaxResult uploadPictureUrl(@RequestParam("file") MultipartFile multipartFile, @RequestParam(value = "orderNo") String orderNo) throws Exception { + if (StringUtils.isBlank(orderNo)) { + return AjaxResult.error("订单信息不能为空!"); + } + if (Objects.isNull(multipartFile) || StringUtils.isBlank(multipartFile.getOriginalFilename())) { + return AjaxResult.error("当前文件不存在,无法上传!"); + } + if (multipartFile.getOriginalFilename().contains(Constants.EMPTY)) { + return AjaxResult.error("当前文件名含有空格,请先去除空格在上传!"); + } + return uploadFileService.uploadPictureUrl(multipartFile, orderNo); + } +} \ No newline at end of file diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/IUploadFileService.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/IUploadFileService.java new file mode 100644 index 0000000..17e8c34 --- /dev/null +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/IUploadFileService.java @@ -0,0 +1,32 @@ +package com.xinelu.applet.service.uploadfile; + +import com.xinelu.common.core.domain.AjaxResult; +import org.springframework.web.multipart.MultipartFile; + +/** + * @Description APP和小程序头像图片上传方法 + * @Author zh + * @Date 2022-11-2 + */ +public interface IUploadFileService { + + /** + * 会员App头像图片上传 + * + * @param patientId 会员主键id + * @param multipartFile 文件 + * @return 结果 + * @throws Exception 异常信息 + */ + AjaxResult uploadHeadPictureUrl(MultipartFile multipartFile, Long patientId) throws Exception; + + /** + * 护理员App确认任务完成图片上传 + * + * @param orderNo 订单编号 + * @param multipartFile 文件 + * @return 结果 + * @throws Exception 异常信息 + **/ + AjaxResult uploadPictureUrl(MultipartFile multipartFile, String orderNo) throws Exception; +} \ No newline at end of file diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/Impl/UploadFileServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/Impl/UploadFileServiceImpl.java new file mode 100644 index 0000000..54e48a5 --- /dev/null +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/uploadfile/Impl/UploadFileServiceImpl.java @@ -0,0 +1,70 @@ +package com.xinelu.applet.service.uploadfile.Impl; + +import com.xinelu.applet.service.uploadfile.IUploadFileService; +import com.xinelu.common.config.XinELuConfig; +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.exception.ServiceException; +import com.xinelu.common.utils.file.FileUploadUtils; +import com.xinelu.common.utils.file.MimeTypeUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +/** + * @Description 头像上传 + * @Author ZH + * @Date 2022-10-28 + */ +@Service +public class UploadFileServiceImpl implements IUploadFileService { + + @Resource + private XinELuConfig xinELuConfig; + + /** + * 会员App头像图片上传 + * + * @param patientId 会员主键id + * @param multipartFile 文件 + * @return 结果 + */ + @Override + public AjaxResult uploadHeadPictureUrl(MultipartFile multipartFile, Long patientId) throws Exception { + //获取路径名称 + String uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getHeadPictureUrl() + "/" + patientId; + //上传图片 + String pictureName = FileUploadUtils.uploadPictureUrlPath(uploadPathUrl, multipartFile, MimeTypeUtils.IMAGE_EXTENSION); + if (StringUtils.isBlank(pictureName)) { + throw new ServiceException("头像上传失败,请联系管理员!"); + } + //获取返回值 + AjaxResult ajax = AjaxResult.success("上传成功!"); + ajax.put("imgUrl", pictureName); + return ajax; + } + + /** + * 护理员App确认任务完成图片上传 + * + * @param orderNo 订单编号 + * @param multipartFile 文件 + * @return 结果 + * @throws Exception 异常信息 + **/ + @Override + public AjaxResult uploadPictureUrl(MultipartFile multipartFile, String orderNo) throws Exception { + //获取路径名称 + String uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getAppointmentOrderDetailsUrl() + "/" + orderNo; + //上传图片 + String pictureName = FileUploadUtils.uploadPictureUrlPath(uploadPathUrl, multipartFile, MimeTypeUtils.IMAGE_EXTENSION); + if (StringUtils.isBlank(pictureName)) { + throw new ServiceException("图片上传失败,请联系管理员!"); + } + //获取返回值 + AjaxResult ajax = AjaxResult.success("上传成功!"); + ajax.put("imgUrl", pictureName); + return ajax; + } +} \ No newline at end of file