This commit is contained in:
2025-11-02 20:49:04 +08:00
8 changed files with 130 additions and 46 deletions

View File

@@ -31,6 +31,8 @@ public interface IHotakeSysFileService {
*/
public List<HotakeSysFileDto> selectHotakeSysFileList(HotakeSysFile hotakeSysFile);
public HotakeSysFile uploadFile(MultipartFile file,String minioBucketName);
/**
* 新增文件管理
*

View File

@@ -4,6 +4,7 @@ import java.util.List;
import com.vetti.hotake.domain.HotakeSysNotice;
import com.vetti.hotake.domain.dto.HotakeSysNoticeDto;
import com.vetti.hotake.domain.dto.HotakeSysNoticeViewDto;
import org.springframework.web.multipart.MultipartFile;
/**
* 通知Service接口
@@ -35,7 +36,7 @@ public interface IHotakeSysNoticeService
* @param hotakeSysNotice 通知
* @return 结果
*/
public int insertHotakeSysNotice(HotakeSysNotice hotakeSysNotice);
public int insertHotakeSysNotice(List<MultipartFile> files, HotakeSysNotice hotakeSysNotice);
/**
* 修改通知
@@ -43,7 +44,7 @@ public interface IHotakeSysNoticeService
* @param hotakeSysNotice 通知
* @return 结果
*/
public int updateHotakeSysNotice(HotakeSysNotice hotakeSysNotice);
public int updateHotakeSysNotice(List<MultipartFile> files,HotakeSysNotice hotakeSysNotice);
/**
* 批量删除通知

View File

@@ -78,6 +78,15 @@ public class HotakeSysFileServiceImpl extends BaseServiceImpl implements IHotake
return l;
}
@Transactional(rollbackFor = Exception.class)
@Override
public HotakeSysFile uploadFile(MultipartFile file, String minioBucketName) {
HotakeSysFile hotakeSysFile = new HotakeSysFile();
hotakeSysFile.setCode(System.currentTimeMillis() + "");
hotakeSysFile.setMinioBucketName(minioBucketName);
return insertHotakeSysFile(file, hotakeSysFile);
}
/**
* 新增文件管理
*

View File

@@ -5,11 +5,14 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.hutool.core.collection.CollectionUtil;
import com.vetti.common.core.domain.entity.SysDictData;
import com.vetti.common.core.service.BaseServiceImpl;
import com.vetti.common.enums.FillTypeEnum;
import com.vetti.common.utils.DateUtils;
import com.vetti.hotake.domain.HotakeSysFile;
import com.vetti.hotake.domain.dto.HotakeSysNoticeDto;
import com.vetti.hotake.domain.dto.HotakeSysNoticeTypeNameDto;
import com.vetti.hotake.domain.dto.HotakeSysNoticeViewDto;
import com.vetti.hotake.service.IHotakeSysFileService;
import com.vetti.system.service.ISysDictDataService;
@@ -22,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import com.vetti.hotake.mapper.HotakeSysNoticeMapper;
import com.vetti.hotake.domain.HotakeSysNotice;
import com.vetti.hotake.service.IHotakeSysNoticeService;
import org.springframework.web.multipart.MultipartFile;
import static com.vetti.common.utils.SecurityUtils.getLoginUser;
@@ -43,6 +47,8 @@ public class HotakeSysNoticeServiceImpl extends BaseServiceImpl implements IHota
private final String DICT_DATA_TYPE_KEY = "hotake_sys_notice_type";
private final String MINIO_BUCKET_NAME = "noticetype-fs";//数据字典minio_bucket_name 类型下的
/**
* 查询通知
*
@@ -75,8 +81,16 @@ public class HotakeSysNoticeServiceImpl extends BaseServiceImpl implements IHota
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int insertHotakeSysNotice(HotakeSysNotice hotakeSysNotice) {
public int insertHotakeSysNotice(List<MultipartFile> files, HotakeSysNotice hotakeSysNotice) {
fill(FillTypeEnum.INSERT.getCode(), hotakeSysNotice);
if (CollectionUtil.isNotEmpty(files)) {
List<String> l = new ArrayList();
for (MultipartFile file : files) {
HotakeSysFile sf = hotakeSysFileService.uploadFile(file, MINIO_BUCKET_NAME);
l.add(sf.getId() + "");
}
hotakeSysNotice.setImagePath(l);
}
return hotakeSysNoticeMapper.insertHotakeSysNotice(hotakeSysNotice);
}
@@ -88,8 +102,16 @@ public class HotakeSysNoticeServiceImpl extends BaseServiceImpl implements IHota
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int updateHotakeSysNotice(HotakeSysNotice hotakeSysNotice) {
public int updateHotakeSysNotice(List<MultipartFile> files, HotakeSysNotice hotakeSysNotice) {
fill(FillTypeEnum.UPDATE.getCode(), hotakeSysNotice);
if (CollectionUtil.isNotEmpty(files)) {//传附件就更新,不传不更新,传一个更新之前的所有
List<String> l = new ArrayList();
for (MultipartFile file : files) {
HotakeSysFile sf = hotakeSysFileService.uploadFile(file, MINIO_BUCKET_NAME);
l.add(sf.getId() + "");
}
hotakeSysNotice.setImagePath(l);
}
return hotakeSysNoticeMapper.updateHotakeSysNotice(hotakeSysNotice);
}
@@ -149,8 +171,10 @@ public class HotakeSysNoticeServiceImpl extends BaseServiceImpl implements IHota
archiveList.add(HotakeSysNoticeDto.build(e, typeNameMap, url(e)));
}
});
data.setUnreadList(unreadList);
data.setArchiveList(archiveList);
data.setUnreadList(HotakeSysNoticeTypeNameDto.build(unreadList));
data.setArchiveList(HotakeSysNoticeTypeNameDto.build(archiveList));
data.setUnreadNum(unreadList.size());
data.setArchiveNum(archiveList.size());
return data;
}