提交 39d3d0de authored 作者: xc's avatar xc

xc

上级 76f8a95b
package com.zjty.efs.bus.service.impl; package com.zjty.efs.bus.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
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;
...@@ -19,10 +20,8 @@ import org.springframework.stereotype.Service; ...@@ -19,10 +20,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.lang.reflect.Array;
import java.util.Calendar; import java.util.*;
import java.util.Date;
import java.util.List;
@Service @Service
public class NoticeServiceImpl implements NoticeService { public class NoticeServiceImpl implements NoticeService {
...@@ -32,67 +31,139 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -32,67 +31,139 @@ public class NoticeServiceImpl implements NoticeService {
EfsLogUtil efsLogUtil; EfsLogUtil efsLogUtil;
@Autowired @Autowired
UserService userService; UserService userService;
@Override @Override
@Transactional @Transactional
public boolean addNotice(Notice notice) { public boolean addNotice(Notice notice){
try{ try{
UserDo userDo = userService.findById(notice.getSender()); // 发送人
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 7); calendar.add(Calendar.DATE, 7);
UserDo userDo = userService.findById(notice.getSender()); // 发送人 String[] strings = notice.getAddressee().split(",");
notice.setUpdateTime(new Date()); notice.setUpdateTime(new Date());
notice.setDeadline(calendar.getTime()); notice.setDeadline(calendar.getTime());
notice.setUnit(userDo.getUnit()); notice.setUnit(userDo.getUnit());
notice.setStatus(0); notice.setStatus(0);
String data = ""; if (notice.getType() == 2){
//保存为草稿
if(notice.getType() == 2){ List<Addressee> addresseeList = new ArrayList<>();
//如果是草稿 for(String addressee:strings){
data = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() UserDo userDo1 = userService.findById(addressee);
+ "]新增关于[" + notice.getTitle() + "草稿"; Addressee addressee1 = new Addressee();
addressee1.setId(userDo1.getId());
addressee1.setName(userDo1.getName());
addresseeList.add(addressee1);
}
notice.setAddressee(JSONObject.toJSONString(addresseeList));
noticeDao.save(notice); noticeDao.save(notice);
}else {
//如果是发送,就新增接收
String[] addressees = notice.getAddressee().split(","); }else {
List<Notice> noticeList = new ArrayList<>(); for(String addressee:strings){
for (String addressee:addressees){ List<Addressee> addresseeList = new ArrayList<>();
Notice notice2 = transform(notice); UserDo userDo1 = userService.findById(addressee);
notice2.setAddressee(addressee); Addressee addressee1 = new Addressee();
noticeList.add(notice2); //已发送保存 addressee1.setId(userDo1.getId());
addressee1.setName(userDo1.getName());
addresseeList.add(addressee1);
Notice notice1 = transform(notice); //发送通知
Notice notice2 = transform(notice); // 接收通知
String add = JSONObject.toJSONString(addresseeList);
notice1.setAddressee(add);
notice2.setAddressee(add);
notice2.setUnit(userDo1.getUnit());
notice2.setType(0);
noticeDao.save(notice1);
noticeDao.save(notice2);
UserDo userDo1 = userService.findById(addressee); //接收人
data = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() String data1 = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
+ "]给[" + userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName() + "]给[" + userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
+ "发送了关于[" + notice.getTitle() + "]的通知"; + "发送了关于[" + notice.getTitle() + "]的通知";
// Notice notice1 = new Notice();
Notice notice1 = transform(notice);//已接收 String data2 = "[" +userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
notice1.setType(0);
notice1.setTitle(notice.getTitle());
notice1.setAddressee(addressee);
notice1.setUnit(userDo1.getUnit());
noticeDao.save(notice1);
String data1 = "[" +userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
+ "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() + "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
+ "]关于[" + notice.getTitle() + "的通知"; + "]关于[" + notice.getTitle() + "的通知";
efsLogUtil.addLog(new EfsLog(null, userDo1.getId(), data1, new Date()));
efsLogUtil.addLog(new EfsLog(null, userDo.getId(), data1, new Date()));
efsLogUtil.addLog(new EfsLog(null, userDo1.getId(), data2, new Date()));
} }
System.out.println(noticeList);
noticeDao.saveAll(noticeList);
} }
efsLogUtil.addLog(new EfsLog(null, userDo.getId(), data, new Date()));
return true; return true;
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
} }
// @Override
// @Transactional
// public boolean addNotice(Notice notice) {
// try{
//
// Calendar calendar = Calendar.getInstance();
// calendar.add(Calendar.DATE, 7);
// UserDo userDo = userService.findById(notice.getSender()); // 发送人
//
// notice.setUpdateTime(new Date());
// notice.setDeadline(calendar.getTime());
// notice.setUnit(userDo.getUnit());
// notice.setStatus(0);
//
//
// String data = "";
//
// if(notice.getType() == 2){
// //如果是草稿
// data = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
// + "]新增关于[" + notice.getTitle() + "草稿";
// noticeDao.save(notice);
// }else {
// //如果是发送,就新增接收
//
// String[] addressees = notice.getAddressee().split(",");
// List<Notice> noticeList = new ArrayList<>();
// for (String addressee:addressees){
// Notice notice2 = transform(notice);
// notice2.setAddressee(addressee);
// noticeList.add(notice2); //已发送保存
//
// UserDo userDo1 = userService.findById(addressee); //接收人
//
// data = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
// + "]给[" + userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
// + "发送了关于[" + notice.getTitle() + "]的通知";
//// Notice notice1 = new Notice();
// Notice notice1 = transform(notice);//已接收
// notice1.setType(0);
// notice1.setTitle(notice.getTitle());
// notice1.setAddressee(addressee);
// notice1.setUnit(userDo1.getUnit());
// noticeDao.save(notice1);
// String data1 = "[" +userDo1.getUnit() + "][" + userDo1.getDepartment() + "]的[" + userDo1.getName()
// + "]收到了来自[" + userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
// + "]关于[" + notice.getTitle() + "的通知";
// efsLogUtil.addLog(new EfsLog(null, userDo1.getId(), data1, new Date()));
// }
// System.out.println(noticeList);
// noticeDao.saveAll(noticeList);
//
// }
// efsLogUtil.addLog(new EfsLog(null, userDo.getId(), data, new Date()));
// return true;
//
// }catch (Exception e){
// e.printStackTrace();
// return false;
// }
//
// }
private Notice transform(Notice notice){ private Notice transform(Notice notice){
Notice notice1 = new Notice(); Notice notice1 = new Notice();
notice1.setTitle(notice.getTitle()); notice1.setTitle(notice.getTitle());
...@@ -160,49 +231,56 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -160,49 +231,56 @@ public class NoticeServiceImpl implements NoticeService {
@Override @Override
public Paging<Notice> getReceiveList(String user, int type, int pageNum, int pageSize) { public Paging<Notice> getReceiveList(String user, int type, int pageNum, int pageSize) {
try{
Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC,"updateTime");
Page<Notice> p;
Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC,"updateTime"); if (type == 0){
Page<Notice> p; //已接收
p = noticeDao.findOutByAddresseeAndType(user, type, pageable);
if (type == 0){
//已接收
p = noticeDao.findOutByAddresseeAndType(user, type, pageable);
}else {
//已发送,草稿
p = noticeDao.findOutBySenderAndType(user, type, pageable);
}
// for (Notice notice:p.getContent()){
String addresseeId = "";//收件人编号
UserDo addressee = new UserDo();//收件人实体
for (int i = 0; i < p.getContent().size(); i++){
List<Addressee> addressees = new ArrayList<>();
Notice notice = p.getContent().get(i);
if (i == 0) {
addresseeId = notice.getAddressee();
addressee = userService.findById(notice.getAddressee());
}else { }else {
if (!addresseeId.equals(notice.getAddressee())){ //已发送,草稿
//如果两个收件人不一样,重新获取user p = noticeDao.findOutBySenderAndType(user, type, pageable);
addressee = userService.findById(notice.getAddressee());
}
} }
Addressee addressee1 = new Addressee(); // for (Notice notice:p.getContent()){
addressee1.setId(addressee.getId()); // String addresseeId = "";//收件人编号
addressee1.setName(addressee.getName()); // UserDo addressee = new UserDo();//收件人实体
addressees.add(addressee1); // for (int i = 0; i < p.getContent().size(); i++){
String json = JSONObject.toJSONString(addressees); // List<Addressee> addressees = new ArrayList<>();
notice.setAddressee(json); // Notice notice = p.getContent().get(i);
// if (i == 0) {
// addresseeId = notice.getAddressee().split(",")[0];
// addressee = userService.findById(addresseeId);
// }else {
// String addresseeId1 = notice.getAddressee().split(",")[0];
// if (!addresseeId.equals(addresseeId1)){
// //如果两个收件人不一样,重新获取user
// addressee = userService.findById(addresseeId1);
// }
// }
//
// Addressee addressee1 = new Addressee();
// addressee1.setId(addressee.getId());
// addressee1.setName(addressee.getName());
// addressees.add(addressee1);
// String json = JSONObject.toJSONString(addressees);
// notice.setAddressee(json);
// }
Paging<Notice> paging = new Paging<>();
paging.setData(p.getContent());
paging.setPageSize(pageSize);
paging.setPageNum(pageNum);
paging.setTotal((int)p.getTotalElements());
return paging;
}catch (Exception e){
e.printStackTrace();
return null;
} }
Paging<Notice> paging = new Paging<>();
paging.setData(p.getContent());
paging.setPageSize(pageSize);
paging.setPageNum(pageNum);
paging.setTotal((int)p.getTotalElements());
return paging;
} }
@Override @Override
...@@ -211,11 +289,13 @@ public class NoticeServiceImpl implements NoticeService { ...@@ -211,11 +289,13 @@ public class NoticeServiceImpl implements NoticeService {
try { try {
String userId = ""; String userId = "";
if (notices.get(0).getType() == 0){ if (notices.get(0).getType() == 0){
userId = notices.get(0).getAddressee(); String str = notices.get(0).getAddressee();
List<Addressee> addresseeList = JSONArray.parseArray(str,Addressee.class);
userId = addresseeList.get(0).getId();
}else { }else {
userId = notices.get(0).getSender(); userId = notices.get(0).getSender();
} }
UserDo userDo = userService.findById(userId); // 发送 UserDo userDo = userService.findById(userId); // 当前登录
String data = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName() String data = "[" +userDo.getUnit() + "][" + userDo.getDepartment() + "]的[" + userDo.getName()
+ "修改"; + "修改";
for (Notice notice:notices){ for (Notice notice:notices){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论