package com.thhy.engineering.modules.biz.notice.service.impl;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.util.StringUtil;
|
import com.thhy.engineering.modules.biz.notice.entity.SysNotice;
|
import com.thhy.engineering.modules.biz.notice.mapper.SysNoticeMapper;
|
import com.thhy.engineering.modules.biz.notice.service.SysNoticeService;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.config.SysUserInfo;
|
import com.thhy.general.utils.UserInfoUtils;
|
import org.apache.commons.io.FileUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
import java.io.File;
|
import java.util.*;
|
|
@Service
|
public class SysNoticeServiceImpl implements SysNoticeService {
|
|
@Resource
|
private SysNoticeMapper noticeMapper;
|
|
|
@Override
|
@Transactional
|
public BasicResult noticeInsert(Map<String, Object> values) {
|
//文章类型
|
Integer noticeType = Integer.valueOf(values.get("noticeType").toString());
|
//公告标题
|
String noticeName = values.get("noticeName").toString();
|
String noticeId = noticeMapper.selectTypeNameByOne(noticeName,noticeType);
|
if(!StringUtil.isEmpty(noticeId)){
|
return BasicResult.faild("11111","error","公告标题重复");
|
}
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
|
values.put("noticeId","");
|
values.put("companyId",companyId);
|
noticeMapper.noticeInsert(values);
|
String noticeId1 = values.get("noticeId").toString();
|
if(noticeType!=3){
|
List<String> paths = (List<String>) values.get("pictureList");
|
for (String p:paths){
|
HashMap<String,Object> hashMap = new HashMap<>();
|
hashMap.put("noticeId",noticeId1);
|
hashMap.put("paths",p);
|
noticeMapper.picturePathInsert(hashMap);
|
}
|
}
|
return BasicResult.success("添加成功");
|
}
|
|
@Override
|
public BasicResult uploadImage(MultipartFile file, String paths) {
|
|
if (file == null) {
|
return BasicResult.faild("11111","error","请选择要上传的图片");
|
}
|
if (file.getSize() > 1024 * 1024 * 10) {
|
return BasicResult.faild("11111","error","文件大小不能大于10M");
|
|
}
|
//获取文件后缀
|
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1, file.getOriginalFilename().length());
|
if (!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())) {
|
return BasicResult.faild("11111","error","请选择jpg,jpeg,gif,png格式的图片");
|
}
|
String savePath = paths;
|
File savePathFile = new File(savePath);
|
if (!savePathFile.exists()) {
|
//若不存在该目录,则创建目录
|
savePathFile.mkdir();
|
}
|
//通过UUID生成唯一文件名
|
String filename = UUID.randomUUID().toString().replaceAll("-","") + "." + suffix;
|
try {
|
//将文件保存指定目录
|
//file.transferTo(new File(savePath + filename));
|
//File file1 = new File(file.getOriginalFilename());
|
FileUtils.copyInputStreamToFile(file.getInputStream(),new File(savePath + filename));
|
} catch (Exception e) {
|
e.printStackTrace();
|
return BasicResult.faild("11111","error","文件保存异常");
|
}
|
return BasicResult.success(filename);
|
}
|
|
@Override
|
@Transactional
|
public BasicResult noticeUpdate(Map<String, Object> values) {
|
//修改的id
|
String noticeId1 = values.get("noticeId").toString();
|
//文章类型
|
Integer noticeType = Integer.valueOf(values.get("noticeType").toString());
|
//公告标题
|
String noticeName = values.get("noticeName").toString();
|
String noticeId = noticeMapper.selectTypeNameByOne(noticeName,noticeType);
|
if(!StringUtil.isEmpty(noticeId)&&!noticeId1.equals(noticeId)){
|
return BasicResult.faild("11111","error","公告标题重复");
|
}
|
noticeMapper.imageDel(noticeId1);
|
if(noticeType!=3){
|
List<String> paths = (List<String>) values.get("pictureList");
|
for (String p:paths){
|
HashMap<String,Object> hashMap = new HashMap<>();
|
hashMap.put("noticeId",noticeId1);
|
hashMap.put("paths",p);
|
noticeMapper.picturePathInsert(hashMap);
|
}
|
}
|
noticeMapper.noticeUpdate(values);
|
return BasicResult.success("修改成功");
|
}
|
|
@Override
|
public BasicResult noticeList(Map<String, Object> values) {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
String companyId = sysUserInfo.getCompanyId();
|
values.put("companyId",companyId);
|
Integer noticeType = Integer.valueOf(values.get("noticeType").toString());
|
|
Integer pageNum = Integer.valueOf(values.get("pageNum").toString());
|
Integer pageSize = Integer.valueOf(values.get("pageSize").toString());
|
PageHelper.startPage(pageNum,pageSize);
|
List<SysNotice> sysNotices = noticeMapper.noticeList(values);
|
if(noticeType!=3){
|
for (SysNotice notice :sysNotices){
|
List<String> paths = noticeMapper.noticePath(notice.getNoticeId());
|
notice.setPaths(paths);
|
}
|
}
|
PageInfo<SysNotice> sysNoticePageInfo = new PageInfo<>(sysNotices);
|
return BasicResult.success(sysNoticePageInfo);
|
}
|
|
@Override
|
public BasicResult noticeInfo(String noticeId) {
|
SysNotice sysNotices = noticeMapper.noticeInfo(noticeId);
|
List<String> paths = noticeMapper.noticePath(noticeId);
|
sysNotices.setPaths(paths);
|
return BasicResult.success(sysNotices);
|
}
|
|
@Override
|
@Transactional
|
public BasicResult noticeDel(String noticeId) {
|
noticeMapper.noticeDel(noticeId);
|
noticeMapper.imageDel(noticeId);
|
return BasicResult.success("删除成功");
|
}
|
|
@Override
|
public BasicResult noticeOff(Map<String, Object> values) {
|
|
Integer states = Integer.valueOf(values.get("states").toString());
|
noticeMapper.noticeOff(values);
|
if(states.equals(1)){
|
return BasicResult.success("已上架");
|
}else {
|
return BasicResult.success("已下架");
|
}
|
}
|
}
|