From b6708f56aab77039d9c54d41e88e5de2bcaefa16 Mon Sep 17 00:00:00 2001 From: shil <452061493@qq.com> Date: Wed, 23 Apr 2025 09:18:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=85=AC=E5=91=8A=E6=94=B9?= =?UTF-8?q?=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notice/controller/NoticeController.java | 61 +++++++++++++-- .../project/system/notice/domain/Notice.java | 6 +- .../system/notice/mapper/NoticeMapper.java | 2 +- .../notice/service/NoticeServiceImpl.java | 75 ++++++++++++++++++- .../resources/mapper/system/NoticeMapper.xml | 4 +- 5 files changed, 135 insertions(+), 13 deletions(-) diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java index cbc2076e..1542bea1 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/controller/NoticeController.java @@ -1,5 +1,6 @@ package com.zdxt.auth.project.system.notice.controller; +import java.util.HashMap; import java.util.List; import com.zdxt.auth.framework.web.controller.BaseController; @@ -7,17 +8,15 @@ import com.zdxt.auth.framework.web.domain.AjaxResult; import com.zdxt.auth.framework.web.page.TableDataInfo; import com.zdxt.auth.project.system.notice.domain.Notice; import com.zdxt.auth.project.system.notice.service.INoticeService; +import com.zdxt.common.ZDResponse; import com.zdxt.log.aspectj.lang.annotation.Log; import com.zdxt.log.aspectj.lang.enums.BusinessType; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; /** * 公告 信息操作处理 @@ -74,11 +73,22 @@ public class NoticeController extends BaseController return toAjax(noticeService.insertNotice(notice)); } + /** + * 新增保存公告 + */ + @RequiresPermissions("system:notice:add") + @PostMapping("/addNoticeFile") + @ResponseBody + public AjaxResult addNoticeFile(@RequestParam("files") MultipartFile[] files, Notice notice) + { + return toAjax(noticeService.addNotice(files, notice)); + } + /** * 公告详情 */ @GetMapping("/detail/{noticeId}") - public String detail(@PathVariable("noticeId") Long noticeId, ModelMap mmap) + public String detail(@PathVariable("noticeId") String noticeId, ModelMap mmap) { mmap.put("notice", noticeService.selectNoticeById(noticeId)); return prefix + "/detail"; @@ -88,7 +98,7 @@ public class NoticeController extends BaseController * 修改公告 */ @GetMapping("/edit/{noticeId}") - public String edit(@PathVariable("noticeId") Long noticeId, ModelMap mmap) + public String edit(@PathVariable("noticeId") String noticeId, ModelMap mmap) { mmap.put("notice", noticeService.selectNoticeById(noticeId)); return prefix + "/edit"; @@ -106,6 +116,17 @@ public class NoticeController extends BaseController return toAjax(noticeService.updateNotice(notice)); } + + /** + * 修改保存现场执法 + */ + @PostMapping("/editNoticeFile") + @ResponseBody + public AjaxResult editNoticeFile(@RequestParam("files") MultipartFile[] files, Notice notice) + { + return toAjax(noticeService.editNoticeFile(files, notice)); + } + /** * 删除公告 */ @@ -117,4 +138,30 @@ public class NoticeController extends BaseController { return toAjax(noticeService.deleteNoticeByIds(ids)); } + + /** + * 附件文件查找 + * @param noticeId + * @return + */ + @PostMapping( "/queryFiles") + @ResponseBody + public ZDResponse queryFiles(String noticeId){ + HashMap map = new HashMap<>(); + map.put("filePreview", noticeService.queryFiles(noticeId)); + return ZDResponse.success("获取成功",map); + } + + /** + * 删除附件 + */ + @PostMapping("/removeFile") + @ResponseBody + public ZDResponse removeFile(String key) { + if (noticeService.removeFile(key) > 0) { + return ZDResponse.success("操作成功"); + } else { + return ZDResponse.error("操作失败"); + } + } } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/domain/Notice.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/domain/Notice.java index 7d5f49d0..eccc65c3 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/domain/Notice.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/domain/Notice.java @@ -16,7 +16,7 @@ public class Notice extends BaseDomain private static final long serialVersionUID = 1L; /** 公告ID */ - private Long noticeId; + private String noticeId; /** 公告标题 */ private String noticeTitle; @@ -30,12 +30,12 @@ public class Notice extends BaseDomain /** 公告状态(0正常 1关闭) */ private String status; - public Long getNoticeId() + public String getNoticeId() { return noticeId; } - public void setNoticeId(Long noticeId) + public void setNoticeId(String noticeId) { this.noticeId = noticeId; } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/mapper/NoticeMapper.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/mapper/NoticeMapper.java index 1de99074..69ccb7ea 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/mapper/NoticeMapper.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/mapper/NoticeMapper.java @@ -16,7 +16,7 @@ public interface NoticeMapper * @param noticeId 公告ID * @return 公告信息 */ - public Notice selectNoticeById(Long noticeId); + public Notice selectNoticeById(String noticeId); /** * 查询公告列表 diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java index 36e6f98a..60977ceb 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/notice/service/NoticeServiceImpl.java @@ -1,12 +1,24 @@ package com.zdxt.auth.project.system.notice.service; +import java.util.ArrayList; import java.util.List; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.zdxt.auth.dto.ZdxtFileBean; +import com.zdxt.auth.feign.FileUploadApi; +import com.zdxt.auth.feign.ZdxtFileCommonApi; +import com.zdxt.common.zdxtFile.AttFileRespDTO; +import com.zdxt.common.zdxtFile.FilePreviewUtilBean; +import com.zdxt.common.zdxtFile.ZdxtFileCommon; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zdxt.auth.common.utils.security.ShiroUtils; import com.zdxt.auth.common.utils.text.Convert; import com.zdxt.auth.project.system.notice.mapper.NoticeMapper; import com.zdxt.auth.project.system.notice.domain.Notice; +import org.springframework.web.multipart.MultipartFile; /** * 公告 服务层实现 @@ -20,6 +32,12 @@ public class NoticeServiceImpl implements INoticeService @Autowired private NoticeMapper noticeMapper; + @Autowired + private ZdxtFileCommonApi zdxtFileCommonApi; + + @Autowired + private FileUploadApi fileUploadApi; + /** * 查询公告信息 * @@ -27,7 +45,7 @@ public class NoticeServiceImpl implements INoticeService * @return 公告信息 */ @Override - public Notice selectNoticeById(Long noticeId) + public Notice selectNoticeById(String noticeId) { return noticeMapper.selectNoticeById(noticeId); } @@ -53,10 +71,27 @@ public class NoticeServiceImpl implements INoticeService @Override public int insertNotice(Notice notice) { + notice.setNoticeId(IdUtil.fastSimpleUUID()); notice.setCreateBy(ShiroUtils.getLoginName()); return noticeMapper.insertNotice(notice); } + @Override + public int addNotice(MultipartFile[] files, Notice notice) { + String busId = IdUtil.fastSimpleUUID(); + notice.setNoticeId(busId); + notice.setCreateBy(ShiroUtils.getLoginName()); + // 上传文件,并在附件表中添加记录 + if (ObjectUtil.isNotEmpty(files)) { + for (MultipartFile file : files) { + if(file.getOriginalFilename() != null && !"".equals(file.getOriginalFilename())){ + zdxtFileCommonApi.insertZdxtFile(file, busId, fileUploadApi.upload(file)); + } + } + } + return noticeMapper.insertNotice(notice); + } + /** * 修改公告 * @@ -70,6 +105,20 @@ public class NoticeServiceImpl implements INoticeService return noticeMapper.updateNotice(notice); } + @Override + public int editNoticeFile(MultipartFile[] files, Notice notice) { + // 上传文件,并在附件表中添加记录 + if (ObjectUtil.isNotEmpty(files)) { + for (MultipartFile file : files) { + if(file.getOriginalFilename() != null && !"".equals(file.getOriginalFilename())){ + zdxtFileCommonApi.insertZdxtFile(file, notice.getNoticeId(), fileUploadApi.upload(file)); + } + } + } + notice.setUpdateBy(ShiroUtils.getLoginName()); + return noticeMapper.updateNotice(notice); + } + /** * 删除公告对象 * @@ -81,4 +130,28 @@ public class NoticeServiceImpl implements INoticeService { return noticeMapper.deleteNoticeByIds(Convert.toStrArray(ids)); } + + @Override + public AttFileRespDTO queryFiles(String noticeId) { + ArrayList fileList = new ArrayList<>(); + FilePreviewUtilBean filePreviewUtilBean = new FilePreviewUtilBean(); + if(noticeId ==null || "".equals(noticeId)){ + return filePreviewUtilBean.attachementToAttFileRespDTO(fileList); + } + ZdxtFileBean zdxtFileBeanCondition = new ZdxtFileBean(); + zdxtFileBeanCondition.setBusinessId(noticeId); + List fileBeanList = zdxtFileCommonApi.selectZdxtFileList(zdxtFileBeanCondition); + + for (ZdxtFileBean fileBean : fileBeanList) { + ZdxtFileCommon zdxtFileCommon = new ZdxtFileCommon(); + BeanUtil.copyProperties(fileBean, zdxtFileCommon); + fileList.add(zdxtFileCommon); + } + return filePreviewUtilBean.attachementToAttFileRespDTO(fileList); + } + + @Override + public int removeFile(String key) { + return zdxtFileCommonApi.deleteZdxtFileById(key); + } } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/NoticeMapper.xml b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/NoticeMapper.xml index 7c5fd74b..9b8a4a8e 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/NoticeMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/NoticeMapper.xml @@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_notice - where notice_id = #{noticeId} @@ -44,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into sys_notice ( + notice_id, notice_title, notice_type, notice_content, @@ -52,6 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_by, create_time )values( + #{noticeId}, #{noticeTitle}, #{noticeType}, #{noticeContent},