提交 f6651da2 authored 作者: LJJ's avatar LJJ

Merge branch 'develop' of…

...@@ -4,10 +4,7 @@ import com.zjty.efs.bus.entity.Notice; ...@@ -4,10 +4,7 @@ import com.zjty.efs.bus.entity.Notice;
import com.zjty.efs.bus.entity.Paging; import com.zjty.efs.bus.entity.Paging;
import com.zjty.efs.bus.service.NoticeService; import com.zjty.efs.bus.service.NoticeService;
import com.zjty.efs.misc.config.AutoDocument; import com.zjty.efs.misc.config.AutoDocument;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
...@@ -95,6 +92,8 @@ public class NoticeController { ...@@ -95,6 +92,8 @@ public class NoticeController {
} }
@GetMapping("/unreadNum") @GetMapping("/unreadNum")
@ApiOperation(value = "已接收通知未读数量")
@ApiImplicitParam(name = "userId", value = "当前登录用户", paramType = "query", required = true, dataType = "String")
public ResponseEntity unreadNum(String userId){ public ResponseEntity unreadNum(String userId){
log.info("已接收未读数量"); log.info("已接收未读数量");
return ResponseEntity.ok(noticeService.unreadNum(userId)); return ResponseEntity.ok(noticeService.unreadNum(userId));
......
...@@ -58,8 +58,9 @@ public class Notice { ...@@ -58,8 +58,9 @@ public class Notice {
/** /**
* 留言 * 留言
*/ */
@Lob
@ApiModelProperty(value = "message", example = "尽快完成", dataType = "String", name = "留言") @ApiModelProperty(value = "message", example = "尽快完成", dataType = "String", name = "留言")
@Column(name = "message") @Column(name = "message",columnDefinition="TEXT")
private String message; private String message;
/** /**
......
...@@ -2,6 +2,7 @@ package com.zjty.efs.bus.service.impl; ...@@ -2,6 +2,7 @@ package com.zjty.efs.bus.service.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.zjty.efs.bus.Dao.NoticeDao; import com.zjty.efs.bus.Dao.NoticeDao;
import com.zjty.efs.bus.entity.Addressee; import com.zjty.efs.bus.entity.Addressee;
import com.zjty.efs.bus.entity.Attention; import com.zjty.efs.bus.entity.Attention;
...@@ -54,7 +55,7 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -54,7 +55,7 @@ public class NoticeServiceImpl implements NoticeService {
if (notice.getType() == 2){ if (notice.getType() == 2){
//保存为草稿 //保存为草稿、、、
List<Addressee> addresseeList = new ArrayList<>(); List<Addressee> addresseeList = new ArrayList<>();
for(String addressee:strings){ for(String addressee:strings){
UserDo userDo1 = userService.findById(addressee); UserDo userDo1 = userService.findById(addressee);
...@@ -71,7 +72,8 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -71,7 +72,8 @@ public class NoticeServiceImpl implements NoticeService {
}else { }else {
List<Addressee> addresseeList2 = new ArrayList<>(); //接受者显示的接收列表 List<Addressee> addresseeList2 = new ArrayList<>(); //接受者显示的接收列表
Notice notice1 = transform(notice); //发送通知 // Notice notice1 = transform(notice); //发送通知
// notice1.setId(notice.getId());
String dataList = ""; String dataList = "";
List<UserDo> stringList = new ArrayList<>();//收件人列表 List<UserDo> stringList = new ArrayList<>();//收件人列表
for(String addressee:strings){ for(String addressee:strings){
...@@ -88,8 +90,7 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -88,8 +90,7 @@ public class NoticeServiceImpl implements NoticeService {
String data2 = "[" +userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName() String data2 = "[" +userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
+ "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() + "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
+ "]关于[" + notice.getTitle() + "的通知"; + "]关于[" + notice.getTitle() + "]的通知";
dataList = dataList + "[" + userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName() dataList = dataList + "[" + userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
+ "] "; + "] ";
...@@ -100,36 +101,43 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -100,36 +101,43 @@ public class NoticeServiceImpl implements NoticeService {
String add2 = JSONObject.toJSONString(addresseeList2); String add2 = JSONObject.toJSONString(addresseeList2);
for (UserDo add:stringList){ for (UserDo add:stringList){
Notice notice2 = transform(notice); // 接收通知 Notice notice2 = transform(notice); // 接收通知
notice2.setAddressee(add2); notice2.setAddressee(add2);
notice2.setType(0); notice2.setType(0);
notice2.setReceiver(add.getId()); notice2.setReceiver(add.getId());
noticeDao.save(notice2); noticeDao.save(notice2);
String data2 = "[" +add.getUnit() + "][" + add.getDepartment() + "]的[" + add.getName() // String data2 = "[" +add.getUnit() + "][" + add.getDepartment() + "]的[" + add.getName()
+ "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() // + "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
+ "]关于[" + notice.getTitle() + "的通知"; // + "]关于[" + notice.getTitle() + "]的通知";
String data2 = "您收到了[" + userDo.getUnit() + "][" + userDo.getName() + "]的《" + notice.getTitle() + "》," +
"请注意查看。";
Attention attention = new Attention(); Attention attention = new Attention();
attention.setStatus(0); attention.setStatus(0);
attention.setUpdateTime(new Date()); attention.setUpdateTime(new Date());
attention.setData(data2); attention.setData(data2);
attention.setUserId(add.getId()); attention.setUserId(add.getId());
attention.setNoticeId(notice2.getId());
attentionService.addAttention(attention); attentionService.addAttention(attention);
} }
notice1.setAddressee(add2); notice.setAddressee(add2);
noticeDao.save(notice1); noticeDao.save(notice);
String data1 = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() String data1 = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
+ "]给" + dataList + "]给" + dataList
+ "发送了关于[" + notice.getTitle() + "]的通知"; + "发送了关于[" + notice.getTitle() + "]的通知";
String data3 = "您给"+ dataList + "发送了《" + notice.getTitle() + "》,发送成功!";
Attention attention = new Attention(); Attention attention = new Attention();
attention.setStatus(0); attention.setStatus(0);
attention.setNoticeId(notice1.getId()); attention.setNoticeId(notice.getId());
attention.setUpdateTime(new Date()); attention.setUpdateTime(new Date());
attention.setData(data1); attention.setData(data3);
attention.setUserId(userDo.getId()); attention.setUserId(userDo.getId());
attentionService.addAttention(attention); attentionService.addAttention(attention);
efsLogUtil.addLog(new EfsLog(null, userDo.getId(), data1, new Date())); efsLogUtil.addLog(new EfsLog(null, userDo.getId(), data1, new Date()));
...@@ -145,7 +153,7 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -145,7 +153,7 @@ public class NoticeServiceImpl implements NoticeService {
private Notice transform(Notice notice){ private Notice transform(Notice notice){
Notice notice1 = new Notice(); Notice notice1 = new Notice();
notice1.setId(notice.getId()); // notice1.setId(notice.getId());
notice1.setTitle(notice.getTitle()); notice1.setTitle(notice.getTitle());
notice1.setAddressee(notice.getAddressee()); notice1.setAddressee(notice.getAddressee());
notice1.setDeadline(notice.getDeadline()); notice1.setDeadline(notice.getDeadline());
...@@ -159,6 +167,7 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -159,6 +167,7 @@ public class NoticeServiceImpl implements NoticeService {
notice1.setUnit(notice.getUnit()); notice1.setUnit(notice.getUnit());
notice1.setName(notice.getName()); notice1.setName(notice.getName());
notice1.setLabel(notice.getLabel()); notice1.setLabel(notice.getLabel());
notice1.setReceiver(notice.getReceiver());
return notice1; return notice1;
} }
......
package com.zjty.efs.bus.util; package com.zjty.efs.bus.util;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.zjty.efs.bus.entity.Addressee;
import com.zjty.efs.bus.entity.Attention; import com.zjty.efs.bus.entity.Attention;
import com.zjty.efs.bus.entity.Notice; import com.zjty.efs.bus.entity.Notice;
import com.zjty.efs.bus.service.AttentionService; import com.zjty.efs.bus.service.AttentionService;
import com.zjty.efs.bus.service.NoticeService; import com.zjty.efs.bus.service.NoticeService;
import com.zjty.efs.ftp.base.response.ServerResponse;
import com.zjty.efs.ftp.entity.DownLoadCount; import com.zjty.efs.ftp.entity.DownLoadCount;
import com.zjty.efs.ftp.entity.DownLoadRequest; import com.zjty.efs.ftp.entity.DownLoadRequest;
import com.zjty.efs.ftp.service.DownLoadService; import com.zjty.efs.ftp.service.DownLoadService;
...@@ -16,11 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -16,11 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.time.Period;
import java.time.ZoneId;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -42,16 +33,16 @@ public class Job { ...@@ -42,16 +33,16 @@ public class Job {
for(Notice notice:noticeList){ for(Notice notice:noticeList){
Date endTime = notice.getDeadline(); Date endTime = notice.getDeadline();
//失效天数
double days = (endTime.getTime()-now.getTime())/(1000*3600*24.0); double days = (endTime.getTime()-now.getTime())/(1000*3600*24.0);
// System.out.println(days); // System.out.println(days);
// updateAtt(notice, days, 1); // updateAtt(notice, days, 1);
if (days <= 3.001 && days > 2.998 && notice.getLabel() != 1){ if (days <= 3.001 && days > 2.998 && notice.getLabel() != 1){
updateAtt(notice, days, 1); updateAtt(notice, 3, 1);
} }
if(days <= 1.001 && days > 0.998 && notice.getLabel() != 2){ if(days <= 1.001 && days > 0.998 && notice.getLabel() != 2){
updateAtt(notice, days, 2); updateAtt(notice, 1, 2);
} }
} }
...@@ -67,12 +58,11 @@ public class Job { ...@@ -67,12 +58,11 @@ public class Job {
* @param label 修改通知label 1为提醒过一次,2为提醒过两次 * @param label 修改通知label 1为提醒过一次,2为提醒过两次
*/ */
private void updateAtt(Notice notice, double days, int label){ private void updateAtt(Notice notice, double days, int label){
// System.out.println("--------------------定时------------------");
String data = ""; String data = "";
Attention attention = new Attention(); Attention attention = new Attention();
data = "您收到来自["+ notice.getUnit() + "][" + notice.getName() +"]标题为[" + notice.getTitle() + "]的通知,没有查看"; // data = "您收到来自["+ notice.getUnit() + "][" + notice.getName() +"]标题为[" + notice.getTitle() + "]的通知,没有查看";
if (notice.getStatus() == 1 && !"".equals(notice.getFileList())){ if (!"".equals(notice.getFileList())){
//通知为已读,且文件列表不为空 //文件列表不为空
String file = notice.getFileList(); String file = notice.getFileList();
String[] files = file.split(","); String[] files = file.split(",");
List<Integer> fileList = new ArrayList<>(); List<Integer> fileList = new ArrayList<>();
...@@ -88,15 +78,16 @@ public class Job { ...@@ -88,15 +78,16 @@ public class Job {
// System.out.println(downLoadCounts); // System.out.println(downLoadCounts);
for(DownLoadCount downLoadCount:downLoadCounts){ for(DownLoadCount downLoadCount:downLoadCounts){
if(downLoadCount.getCount() == 0){ if(downLoadCount.getCount() == 0){
data = "您收到来自["+ notice.getUnit() + "][" + notice.getName() +"]标题为[" + notice.getTitle() + "]的通知,有文件没有下载"; data = "您收到["+ notice.getUnit() + "][" + notice.getName() +"]的《" + notice.getTitle() + "》,有文件没有下载";
add(days, attention, data, notice, label); add(days, attention, data, notice, label);
} }
} }
}else {
add(days, attention, data, notice, label);
} }
// else {
// add(days, attention, data, notice, label);
// }
} }
...@@ -109,15 +100,15 @@ public class Job { ...@@ -109,15 +100,15 @@ public class Job {
* @param label 该通知提醒过几次 * @param label 该通知提醒过几次
*/ */
private void add(double days, Attention attention, String data, Notice notice, int label){ private void add(double days, Attention attention, String data, Notice notice, int label){
int d = (int)Math.ceil(days); // int d = (int)Math.ceil(days);
data = data + ",还有" + d + "天失效。"; data = data + ",还有" + days + "天失效。请尽快下载。";
attention.setData(data); attention.setData(data);
attention.setNoticeId(notice.getId()); attention.setNoticeId(notice.getId());
String str = notice.getAddressee(); // String str = notice.getAddressee();
List<Addressee> addresseeList = JSONArray.parseArray(str,Addressee.class); // List<Addressee> addresseeList = JSONArray.parseArray(str,Addressee.class);
String userId = addresseeList.get(0).getId(); // String userId = addresseeList.get(0).getId();
attention.setUserId(userId); attention.setUserId(notice.getReceiver());
attention.setStatus(0); attention.setStatus(0);
attention.setUpdateTime(new Date()); attention.setUpdateTime(new Date());
attentionService.addAttention(attention); attentionService.addAttention(attention);
......
...@@ -20,7 +20,7 @@ import javax.persistence.Id; ...@@ -20,7 +20,7 @@ import javax.persistence.Id;
@ApiModel(value = "FileSave",description = "将文件信息存储在数据库中") @ApiModel(value = "FileSave",description = "将文件信息存储在数据库中")
public class FileSave { public class FileSave {
@Id @Id
@GeneratedValue(strategy = GenerationType.AUTO) @GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "id",value = "文件id",notes = "文件id",example = "1") @ApiModelProperty(name = "id",value = "文件id",notes = "文件id",example = "1")
private Integer id;//文件id private Integer id;//文件id
@ApiModelProperty(name = "realName",value = "文件真正存储名称",notes = "文件真正存储名称",example = "1(1).zip") @ApiModelProperty(name = "realName",value = "文件真正存储名称",notes = "文件真正存储名称",example = "1(1).zip")
......
...@@ -15,5 +15,10 @@ public interface DownLoadService { ...@@ -15,5 +15,10 @@ public interface DownLoadService {
*/ */
List<DownLoadCount> findCount(DownLoadRequest downLoadRequest); List<DownLoadCount> findCount(DownLoadRequest downLoadRequest);
/**
* 保存或修改下载次数
* @param downLoadCount
* @return
*/
ServerResponse downloadCount(DownLoadCount downLoadCount); ServerResponse downloadCount(DownLoadCount downLoadCount);
} }
...@@ -18,23 +18,27 @@ public class DownLoadServiceImpl implements DownLoadService { ...@@ -18,23 +18,27 @@ public class DownLoadServiceImpl implements DownLoadService {
@Override @Override
public List<DownLoadCount> findCount(DownLoadRequest downLoadRequest) { public List<DownLoadCount> findCount(DownLoadRequest downLoadRequest) {
List<Integer> fileIdList = downLoadRequest.getFileIds();//请求的id集合
List<DownLoadCount> loadCounts = new ArrayList<>(); List<DownLoadCount> loadCounts = new ArrayList<>();
if(fileIdList != null && fileIdList.size() != 0){ if(!downLoadRequest.getUserId().isEmpty()){
loadCounts = downLoadCountDao.findCount(downLoadRequest.getUserId(),fileIdList); List<Integer> fileIdList = downLoadRequest.getFileIds();//请求的id集合
if(loadCounts.size() != fileIdList.size()){ if(fileIdList != null && fileIdList.size() != 0){
//没有文件id loadCounts = downLoadCountDao.findCount(downLoadRequest.getUserId(),fileIdList);
List<Integer> idList = new ArrayList<>();//数据库id集合 //如果传入的文件id不存在,视为没有下载过的查询,下载过的次数为0
for(DownLoadCount downLoadCount:loadCounts){ if(loadCounts.size() != fileIdList.size()){
idList.add(downLoadCount.getFileId()); //没有文件id
} List<Integer> idList = new ArrayList<>();//数据库id集合
for(Integer i:fileIdList){ for(DownLoadCount downLoadCount:loadCounts){
if(!idList.contains(i)){ idList.add(downLoadCount.getFileId());
DownLoadCount downLoadCount = new DownLoadCount(); }
downLoadCount.setUserId(downLoadRequest.getUserId()); //将不存在的文件下载次数设置为0
downLoadCount.setFileId(i); for(Integer i:fileIdList){
downLoadCount.setCount(0); if(!idList.contains(i)){
loadCounts.add(downLoadCount); DownLoadCount downLoadCount = new DownLoadCount();
downLoadCount.setUserId(downLoadRequest.getUserId());
downLoadCount.setFileId(i);
downLoadCount.setCount(0);
loadCounts.add(downLoadCount);
}
} }
} }
} }
......
...@@ -71,7 +71,8 @@ public class FileDownLoadServiceImpl implements FileDownLoadService { ...@@ -71,7 +71,8 @@ public class FileDownLoadServiceImpl implements FileDownLoadService {
log.error(file.getAbsolutePath() + "文件不存在"); log.error(file.getAbsolutePath() + "文件不存在");
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
log.error(file.getAbsolutePath() + "文件读取异常"); //log.error(file.getAbsolutePath() + "文件读取异常");
log.error(file.getAbsolutePath() + "文件用户终止下载");
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
try { try {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论