Commit dd7c8801 authored by HuangBingGui's avatar HuangBingGui
Browse files

no commit message

parent 1119316e
/**
* Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
*/
package com.jeespring.modules.iim.dao;
import com.jeespring.common.persistence.InterfaceBaseDao;
import com.jeespring.modules.iim.entity.MyCalendar;
import org.apache.ibatis.annotations.Mapper;
/**
* 日历DAO接口
* @author JeeSpring
* @version 2016-04-19
*/
@Mapper
public interface MyCalendarDao extends InterfaceBaseDao<MyCalendar> {
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.entity;
import org.hibernate.validator.constraints.Length;
import com.jeespring.common.utils.excel.annotation.ExcelField;
import com.jeespring.common.persistence.AbstractBaseEntity;
/**
* 聊天记录Entity
* @author 黄炳桂 516821420@qq.com
* @version 2015-12-29
*/
public class ChatHistory extends AbstractBaseEntity<ChatHistory> {
private static final long serialVersionUID = 1L;
private String userid1; // userid1 发送者id
private String userid2; // userid2 接收者id
private String msg; // msg
private String status; // status
public ChatHistory() {
super();
}
public ChatHistory(String id){
super(id);
}
@Length(min=0, max=64, message="userid1长度必须介于 0 和 64 之间")
@ExcelField(title="userid1", align=2, sort=1)
public String getUserid1() {
return userid1;
}
public void setUserid1(String userid1) {
this.userid1 = userid1;
}
@Length(min=0, max=64, message="userid2长度必须介于 0 和 64 之间")
@ExcelField(title="userid2", align=2, sort=2)
public String getUserid2() {
return userid2;
}
public void setUserid2(String userid2) {
this.userid2 = userid2;
}
@Length(min=0, max=1024, message="msg长度必须介于 0 和 1024 之间")
@ExcelField(title="msg", align=2, sort=3)
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
@Length(min=0, max=45, message="status长度必须介于 0 和 45 之间")
@ExcelField(title="status", align=2, sort=4)
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
\ No newline at end of file
package com.jeespring.modules.iim.entity;
public class Friend {
private String id;
private String name;
private String face;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setFace(String face) {
this.face = face;
}
public String getFace() {
return face;
}
}
package com.jeespring.modules.iim.entity;
import java.util.ArrayList;
import java.util.List;
public class Group {
private String name;
private int nums;
private int id;
private List<Friend> item = new ArrayList();
public void setItem(List item) {
this.item = item;
}
public List getItem() {
return item;
}
public void setNums(int nums) {
this.nums = nums;
}
public int getNums() {
return nums;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
}
package com.jeespring.modules.iim.entity;
import java.util.ArrayList;
import java.util.List;
public class LayJson {
private int status;
private String msg;
private List<Group> data = new ArrayList();
public void setData(List<Group> data) {
this.data = data;
}
public List<Group> getData() {
return data;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void setStatus(int status) {
this.status = status;
}
public int getStatus() {
return status;
}
}
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.entity;
import org.hibernate.validator.constraints.Length;
import java.util.List;
import com.google.common.collect.Lists;
import com.jeespring.common.persistence.AbstractBaseEntity;
/**
* 发件箱Entity
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-15
*/
public class Mail extends AbstractBaseEntity<Mail> {
private static final long serialVersionUID = 1L;
private String title; // 标题
private String overview; // 内容概要
private String content; // 内容
private List<MailBox> mailBoxList = Lists.newArrayList(); // 子表列表
private List<MailCompose> mailComposeList = Lists.newArrayList(); // 子表列表
public Mail() {
super();
}
public Mail(String id){
super(id);
}
@Length(min=0, max=128, message="标题长度必须介于 0 和 128 之间")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Length(min=0, max=128, message="内容概要长度必须介于 0 和 128 之间")
public String getOverview() {
return overview;
}
public void setOverview(String overview) {
this.overview = overview;
}
@Length(min=0, max=5096, message="内容长度必须介于 0 和 5096 之间")
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public List<MailBox> getMailBoxList() {
return mailBoxList;
}
public void setMailBoxList(List<MailBox> mailBoxList) {
this.mailBoxList = mailBoxList;
}
public List<MailCompose> getMailComposeList() {
return mailComposeList;
}
public void setMailComposeList(List<MailCompose> mailComposeList) {
this.mailComposeList = mailComposeList;
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.entity;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeespring.common.persistence.AbstractBaseEntity;
import com.jeespring.modules.sys.entity.User;
/**
* 发件箱Entity
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-15
*/
public class MailBox extends AbstractBaseEntity<MailBox> {
private static final long serialVersionUID = 1L;
private String readstatus; // 状态 0 未读 1 已读
private User sender; // 发件人
private User receiver; // 收件人
private Date sendtime; // 发送时间
private Mail mail; // 邮件外键 父类
public MailBox() {
super();
}
public MailBox(String id){
super(id);
}
public MailBox(Mail mail){
this.mail = mail;
}
@Length(min=0, max=45, message="状态 0 未读 1 已读长度必须介于 0 和 45 之间")
public String getReadstatus() {
return readstatus;
}
public void setReadstatus(String readstatus) {
this.readstatus = readstatus;
}
public User getSender() {
return sender;
}
public void setSender(User sender) {
this.sender = sender;
}
public User getReceiver() {
return receiver;
}
public void setReceiver(User receiver) {
this.receiver = receiver;
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date getSendtime() {
return sendtime;
}
public void setSendtime(Date sendtime) {
this.sendtime = sendtime;
}
@Length(min=0, max=64, message="邮件外键长度必须介于 0 和 64 之间")
public Mail getMail() {
return mail;
}
public void setMail(Mail mail) {
this.mail = mail;
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.entity;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import com.jeespring.common.utils.Collections3;
import com.jeespring.common.utils.StringUtils;
import com.jeespring.common.persistence.AbstractBaseEntity;
import com.jeespring.modules.sys.entity.User;
/**
* 发件箱Entity
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-15
*/
public class MailCompose extends AbstractBaseEntity<MailCompose> {
private static final long serialVersionUID = 1L;
private String status; // 状态 0 草稿 1 已发送
private String readstatus; // 状态 0 未读 1 已读
private User sender; // 发送者
private User receiver; // 接收者
private List<User> receiverList; // 接收者
private Date sendtime; // 发送时间
private Mail mail; // 邮件id 父类
public MailCompose() {
super();
}
public MailCompose(String id){
super(id);
}
public MailCompose(Mail mail){
this.mail = mail;
}
@Length(min=0, max=45, message="状态 0 草稿 1 已发送长度必须介于 0 和 45 之间")
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Length(min=0, max=45, message="状态 0 未读 1 已读长度必须介于 0 和 45 之间")
public String getReadstatus() {
return readstatus;
}
public void setReadstatus(String readstatus) {
this.readstatus = readstatus;
}
public User getSender() {
return sender;
}
public void setSender(User sender) {
this.sender = sender;
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date getSendtime() {
return sendtime;
}
public void setSendtime(Date sendtime) {
this.sendtime = sendtime;
}
@Length(min=0, max=64, message="邮件id长度必须介于 0 和 64 之间")
public Mail getMail() {
return mail;
}
public void setMail(Mail mail) {
this.mail = mail;
}
public void setReceiverList(List<User> receiverList) {
this.receiverList = receiverList;
}
public List<User> getReceiverList() {
return receiverList;
}
/**
* 获取收件人用户ID
* @return
*/
public String getReceiverIds() {
return Collections3.extractToString(receiverList, "user.id", ",") ;
}
/**
* 设置收件人用户ID
* @return
*/
public void setReceiverIds(String receiverIds) {
this.receiverList = Lists.newArrayList();
for (String id : StringUtils.split(receiverIds, ",")){
this.receiverList.add(new User(id));
}
}
/**
* 获取收件人用户Name
* @return
*/
public String getReceiverNames() {
return Collections3.extractToString(receiverList, "user.name", ",") ;
}
/**
* 设置发件人用户Name
* @return
*/
public void setReceiverNames(String receiverNames) {
// 什么也不做
}
public void setReceiver(User receiver) {
this.receiver = receiver;
}
public User getReceiver() {
return receiver;
}
}
\ No newline at end of file
package com.jeespring.modules.iim.entity;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jeespring.common.persistence.Page;
public class MailPage<T> extends Page<T>{
public MailPage(HttpServletRequest request, HttpServletResponse response){
super(request, response, -2);
}
/**
* 默认输出当前分页标签
* <div class="page">${page}</div>
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("<div class=\"row\">");
sb.append("<div class=\"col-sm-12\">");
sb.append("<div class=\"dataTables_paginate paging_simple_numbers\">");
sb.append("<ul class=\"pagination\">");
if (pageNo == first) {// 如果是首页
sb.append("<li class=\"paginate_button previous disabled\"><a href=\"javascript:\">上一页</a></li>\n");
} else {
sb.append("<li class=\"paginate_button previous\"><a href=\"javascript:\" onclick=\""+funcName+"("+prev+","+pageSize+",'"+funcParam+"');\">上一页</a></li>\n");
}
int begin = pageNo - (length / 2);
if (begin < first) {
begin = first;
}
int end = begin + length - 1;
if (end >= last) {
end = last;
begin = end - length + 1;
if (begin < first) {
begin = first;
}
}
if (begin > first) {
int i = 0;
for (i = first; i < first + slider && i < begin; i++) {
sb.append("<li class=\"paginate_button \"><a href=\"javascript:\" onclick=\""+funcName+"("+i+","+pageSize+",'"+funcParam+"');\">"
+ (i + 1 - first) + "</a></li>\n");
}
if (i < begin) {
sb.append("<li class=\"paginate_button disabled\"><a href=\"javascript:\">...</a></li>\n");
}
}
for (int i = begin; i <= end; i++) {
if (i == pageNo) {
sb.append("<li class=\"paginate_button active\"><a href=\"javascript:\">" + (i + 1 - first)
+ "</a></li>\n");
} else {
sb.append("<li class=\"paginate_button \"><a href=\"javascript:\" onclick=\""+funcName+"("+i+","+pageSize+",'"+funcParam+"');\">"
+ (i + 1 - first) + "</a></li>\n");
}
}
if (last - end > slider) {
sb.append("<li class=\"paginate_button disabled\"><a href=\"javascript:\">...</a></li>\n");
end = last - slider;
}
for (int i = end + 1; i <= last; i++) {
sb.append("<li class=\"paginate_button \"><a href=\"javascript:\" onclick=\""+funcName+"("+i+","+pageSize+",'"+funcParam+"');\">"
+ (i + 1 - first) + "</a></li>\n");
}
if (pageNo == last) {
sb.append("<li class=\"paginate_button next disabled\"><a href=\"javascript:\">下一页 </a></li>\n");
} else {
sb.append("<li class=\"paginate_button next\"><a href=\"javascript:\" onclick=\""+funcName+"("+next+","+pageSize+",'"+funcParam+"');\">"
+ "下一页</a></li>\n");
}
sb.append("<li> <select onChange=\""+funcName+"("+pageNo+",this.value,'"+funcParam+"');\"" +" style=\"height:28px;\" class=\"btn-sm\">" +
"<option value=\"10\" "+getSelected(pageSize,10)+ ">10</option>" +
"<option value=\"25\" "+getSelected(pageSize,25)+ ">25</option>" +
"<option value=\"50\" "+getSelected(pageSize,50)+ ">50</option>" +
"<option value=\"100\" "+getSelected(pageSize,100)+ ">100</option>" +
"</select> </li>\n");
sb.append("</ul>");
sb.append("</div>");
sb.append("</div>");
sb.append("</div>");
// sb.insert(0,"<ul>\n").append("</ul>\n");
// sb.append("<div style=\"clear:both;\"></div>");
// sb.insert(0,"<div class=\"page\">\n").append("</div>\n");
return sb.toString();
}
}
/**
* Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
*/
package com.jeespring.modules.iim.entity;
import org.hibernate.validator.constraints.Length;
import com.jeespring.common.persistence.AbstractBaseEntity;
import com.jeespring.common.utils.excel.annotation.ExcelField;
import com.jeespring.modules.sys.entity.User;
/**
* 日历Entity
* @author liugf
* @version 2016-04-19
*/
public class MyCalendar extends AbstractBaseEntity<MyCalendar> {
private static final long serialVersionUID = 1L;
private String title; // 事件标题
private String start; // 事件开始时间
private String end; // 事件结束时间
private String adllDay; // 是否为全天时间
private String color; // 时间的背景色
private User user; // 所属用户
public MyCalendar() {
super();
}
public MyCalendar(String id){
super(id);
}
@Length(min=0, max=64, message="事件标题长度必须介于 0 和 64 之间")
@ExcelField(title="事件标题", align=2, sort=1)
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Length(min=0, max=64, message="事件开始时间长度必须介于 0 和 64 之间")
@ExcelField(title="事件开始时间", align=2, sort=2)
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
@Length(min=0, max=64, message="事件结束时间长度必须介于 0 和 64 之间")
@ExcelField(title="事件结束时间", align=2, sort=3)
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
@Length(min=0, max=64, message="是否为全天时间长度必须介于 0 和 64 之间")
@ExcelField(title="是否为全天时间", align=2, sort=4)
public String getAdllDay() {
return adllDay;
}
public void setAdllDay(String adllDay) {
this.adllDay = adllDay;
}
@Length(min=0, max=64, message="时间的背景色长度必须介于 0 和 64 之间")
@ExcelField(title="时间的背景色", align=2, sort=5)
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public void setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.service;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.service.AbstractBaseService;
import com.jeespring.modules.iim.dao.ChatHistoryDao;
import com.jeespring.modules.iim.entity.ChatHistory;
/**
* 聊天记录Service
* @author 黄炳桂 516821420@qq.com
* @version 2015-12-29
*/
@Service
@Transactional(readOnly = true)
public class ChatHistoryService extends AbstractBaseService<ChatHistoryDao, ChatHistory> {
public ChatHistory get(String id) {
return super.get(id);
}
public List<ChatHistory> findList(ChatHistory chatHistory) {
return super.findList(chatHistory);
}
public Page<ChatHistory> findPage(Page<ChatHistory> page, ChatHistory entity) {
entity.setPage(page);
page.setList(dao.findLogList(entity));
return page;
}
@Transactional(readOnly = false)
public void save(ChatHistory chatHistory) {
super.save(chatHistory);
}
@Transactional(readOnly = false)
public void delete(ChatHistory chatHistory) {
super.delete(chatHistory);
}
public int findUnReadCount(ChatHistory chatHistory){
return dao.findUnReadCount(chatHistory);
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.service.AbstractBaseService;
import com.jeespring.modules.iim.dao.MailBoxDao;
import com.jeespring.modules.iim.entity.MailBox;
import com.jeespring.modules.iim.entity.MailPage;
/**
* 收件箱Service
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-13
*/
@Service
@Transactional(readOnly = true)
public class MailBoxService extends AbstractBaseService<MailBoxDao, MailBox> {
@Autowired
private MailBoxDao mailBoxDao;
public MailBox get(String id) {
return super.get(id);
}
public List<MailBox> findList(MailBox mailBox) {
return super.findList(mailBox);
}
public Page<MailBox> findPage(MailPage<MailBox> page, MailBox mailBox) {
return super.findPage(page, mailBox);
}
@Transactional(readOnly = false)
public void save(MailBox mailBox) {
super.save(mailBox);
}
@Transactional(readOnly = false)
public void delete(MailBox mailBox) {
super.delete(mailBox);
}
public int getCount(MailBox mailBox) {
return mailBoxDao.getCount(mailBox);
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.service.AbstractBaseService;
import com.jeespring.modules.iim.dao.MailComposeDao;
import com.jeespring.modules.iim.entity.MailCompose;
import com.jeespring.modules.iim.entity.MailPage;
/**
* 发件箱Service
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-13
*/
@Service
@Transactional(readOnly = true)
public class MailComposeService extends AbstractBaseService<MailComposeDao, MailCompose> {
@Autowired
private MailComposeDao mailComposeDao;
public MailCompose get(String id) {
return super.get(id);
}
public List<MailCompose> findList(MailCompose mailCompose) {
return super.findList(mailCompose);
}
public Page<MailCompose> findPage(MailPage<MailCompose> page, MailCompose mailCompose) {
return super.findPage(page, mailCompose);
}
@Transactional(readOnly = false)
public void save(MailCompose mailCompose) {
super.save(mailCompose);
}
@Transactional(readOnly = false)
public void delete(MailCompose mailCompose) {
super.delete(mailCompose);
}
public int getCount(MailCompose mailCompose) {
return mailComposeDao.getCount(mailCompose);
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jeespring.common.utils.StringUtils;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.service.AbstractBaseService;
import com.jeespring.modules.iim.dao.MailBoxDao;
import com.jeespring.modules.iim.dao.MailComposeDao;
import com.jeespring.modules.iim.dao.MailDao;
import com.jeespring.modules.iim.entity.Mail;
import com.jeespring.modules.iim.entity.MailBox;
import com.jeespring.modules.iim.entity.MailCompose;
/**
* 发件箱Service
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-15
*/
@Service
@Transactional(readOnly = true)
public class MailService extends AbstractBaseService<MailDao, Mail> {
@Autowired
private MailBoxDao mailBoxDao;
@Autowired
private MailComposeDao mailComposeDao;
public Mail get(String id) {
Mail mail = super.get(id);
mail.setMailBoxList(mailBoxDao.findList(new MailBox(mail)));
mail.setMailComposeList(mailComposeDao.findList(new MailCompose(mail)));
return mail;
}
public List<Mail> findList(Mail mail) {
return super.findList(mail);
}
public Page<Mail> findPage(Page<Mail> page, Mail mail) {
return super.findPage(page, mail);
}
@Transactional(readOnly = false)
public void save(Mail mail) {
super.save(mail);
for (MailBox mailBox : mail.getMailBoxList()){
if (mailBox.getId() == null){
continue;
}
if (MailBox.DEL_FLAG_NORMAL.equals(mailBox.getDelFlag())){
if (StringUtils.isBlank(mailBox.getId())){
mailBox.setMail(mail);
mailBox.preInsert();
mailBoxDao.insert(mailBox);
}else{
mailBox.preUpdate();
mailBoxDao.update(mailBox);
}
}else{
mailBoxDao.delete(mailBox);
}
}
for (MailCompose mailCompose : mail.getMailComposeList()){
if (mailCompose.getId() == null){
continue;
}
if (MailCompose.DEL_FLAG_NORMAL.equals(mailCompose.getDelFlag())){
if (StringUtils.isBlank(mailCompose.getId())){
mailCompose.setMail(mail);
mailCompose.preInsert();
mailComposeDao.insert(mailCompose);
}else{
mailCompose.preUpdate();
mailComposeDao.update(mailCompose);
}
}else{
mailComposeDao.delete(mailCompose);
}
}
}
@Transactional(readOnly = false)
public void saveOnlyMain(Mail mail) {
super.save(mail);
for (MailBox mailBox : mail.getMailBoxList()){
if (mailBox.getId() == null){
continue;
}
if (MailBox.DEL_FLAG_NORMAL.equals(mailBox.getDelFlag())){
if (StringUtils.isBlank(mailBox.getId())){
mailBox.setMail(mail);
mailBox.preInsert();
mailBoxDao.insert(mailBox);
}else{
mailBox.preUpdate();
mailBoxDao.update(mailBox);
}
}else{
mailBoxDao.delete(mailBox);
}
}
for (MailCompose mailCompose : mail.getMailComposeList()){
if (mailCompose.getId() == null){
continue;
}
if (MailCompose.DEL_FLAG_NORMAL.equals(mailCompose.getDelFlag())){
if (StringUtils.isBlank(mailCompose.getId())){
mailCompose.setMail(mail);
mailCompose.preInsert();
mailComposeDao.insert(mailCompose);
}else{
mailCompose.preUpdate();
mailComposeDao.update(mailCompose);
}
}else{
mailComposeDao.delete(mailCompose);
}
}
}
@Transactional(readOnly = false)
public void delete(Mail mail) {
super.delete(mail);
mailBoxDao.delete(new MailBox(mail));
mailComposeDao.delete(new MailCompose(mail));
}
}
\ No newline at end of file
/**
* Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
*/
package com.jeespring.modules.iim.service;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.service.AbstractBaseService;
import com.jeespring.modules.iim.dao.MyCalendarDao;
import com.jeespring.modules.iim.entity.MyCalendar;
/**
* 日历Service
* @author liugf
* @version 2016-04-19
*/
@Service
@Transactional(readOnly = true)
public class MyCalendarService extends AbstractBaseService<MyCalendarDao, MyCalendar> {
public MyCalendar get(String id) {
return super.get(id);
}
public List<MyCalendar> findList(MyCalendar myCalendar) {
return super.findList(myCalendar);
}
public Page<MyCalendar> findPage(Page<MyCalendar> page, MyCalendar myCalendar) {
return super.findPage(page, myCalendar);
}
@Transactional(readOnly = false)
public void save(MyCalendar myCalendar) {
super.save(myCalendar);
}
@Transactional(readOnly = false)
public void delete(MyCalendar myCalendar) {
super.delete(myCalendar);
}
}
\ No newline at end of file
package com.jeespring.modules.iim.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 日期及时间处理函数
*
* @author liugf
*/
public class DateUtil {
private static final String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* 字符串时间转LONG
* @param sdate
* @return
*/
public static long string2long(String sdate){
if(sdate.length() < 11){
sdate = sdate + " 00:00:00";
}
SimpleDateFormat sdf= new SimpleDateFormat(DEFAULT_PATTERN);
Date dt2 = null;
try {
dt2 = sdf.parse(sdate);
} catch (ParseException e) {
e.printStackTrace();
}
//继续转换得到秒数的long型
long lTime = dt2.getTime() / 1000;
return lTime;
}
/**
* LONG时间转字符串
* @param ldate
* @return
*/
public static String long2string(long ldate){
SimpleDateFormat sdf= new SimpleDateFormat(DEFAULT_PATTERN);
//前面的ldate是秒数,先乘1000得到毫秒数,再转为java.util.Date类型
Date dt = new Date(ldate * 1000);
String sDateTime = sdf.format(dt); //得到精确到秒的表示
if(sDateTime.endsWith("00:00:00")){
sDateTime = sDateTime.substring(0,10);
}
return sDateTime;
}
}
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.jeespring.common.config.Global;
import com.jeespring.common.json.AjaxJson;
import com.jeespring.common.utils.DateUtils;
import com.jeespring.common.utils.StringUtils;
import com.jeespring.common.utils.excel.ExportExcel;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.web.AbstractBaseController;
import com.jeespring.modules.iim.entity.ChatHistory;
import com.jeespring.modules.iim.service.ChatHistoryService;
import com.jeespring.modules.sys.utils.UserUtils;
/**
* 聊天记录Controller
* * * * @author 黄炳桂 516821420@qq.com
* @version 2015-12-29
*/
@Controller
@RequestMapping(value = "${adminPath}/iim/chatHistory")
public class ChatHistoryController extends AbstractBaseController {
@Autowired
private ChatHistoryService chatHistoryService;
@ModelAttribute
public ChatHistory get(@RequestParam(required=false) String id) {
ChatHistory entity = null;
if (StringUtils.isNotBlank(id)){
entity = chatHistoryService.get(id);
}
if (entity == null){
entity = new ChatHistory();
}
return entity;
}
/**
* 聊天列表页面
*/
@RequestMapping(value = {"list", ""})
public String list(ChatHistory chatHistory, HttpServletRequest request, HttpServletResponse response, Model model) {
Page pg = new Page<ChatHistory>(request, response);
Page<ChatHistory> page = chatHistoryService.findPage(pg, chatHistory);
model.addAttribute("chatHistory", chatHistory);
model.addAttribute("page", page);
return "modules/iim/chatHistoryList";
}
/**
* 查看,增加,编辑聊天表单页面
*/
@RequestMapping(value = "form")
public String form(ChatHistory chatHistory, Model model) {
model.addAttribute("chatHistory", chatHistory);
return "modules/iim/chatHistoryForm";
}
/**
* 保存聊天
*/
@RequestMapping(value = "save")
public String save(ChatHistory chatHistory, Model model, RedirectAttributes redirectAttributes) {
if (!beanValidator(model, chatHistory)){
return form(chatHistory, model);
}
chatHistoryService.save(chatHistory);
addMessage(redirectAttributes, "保存聊天成功");
return "redirect:"+Global.getAdminPath()+"/iim/chatHistory/?repage";
}
/**
* 删除聊天
*/
@RequestMapping(value = "delete")
public String delete(ChatHistory chatHistory, RedirectAttributes redirectAttributes) {
chatHistoryService.delete(chatHistory);
addMessage(redirectAttributes, "删除聊天成功");
return "redirect:"+Global.getAdminPath()+"/iim/chatHistory/?repage";
}
/**
* 批量删除聊天
*/
@RequestMapping(value = "deleteAll")
public String deleteAll(String ids, RedirectAttributes redirectAttributes) {
String idArray[] =ids.split(",");
for(String id : idArray){
chatHistoryService.delete(chatHistoryService.get(id));
}
addMessage(redirectAttributes, "删除聊天成功");
return "redirect:"+Global.getAdminPath()+"/iim/chatHistory/?repage";
}
/**
* 导出excel文件
*/
@RequiresPermissions("iim:chatHistory:view")
@RequestMapping(value = "export", method=RequestMethod.POST)
public String exportFile(ChatHistory chatHistory, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
try {
String fileName = "聊天"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
Page<ChatHistory> page = chatHistoryService.findPage(new Page<ChatHistory>(request, response, -1), chatHistory);
new ExportExcel("聊天", ChatHistory.class).setDataList(page.getList()).write(response, fileName).dispose();
return null;
} catch (Exception e) {
addMessage(redirectAttributes, "导出聊天记录失败!失败信息:"+e.getMessage());
}
return "redirect:"+Global.getAdminPath()+"/iim/chatHistory/?repage";
}
/**
* 获取聊天记录
*/
@ResponseBody
@RequestMapping(value = "getChats")
public AjaxJson getChats(ChatHistory chatHistory, HttpServletRequest request, HttpServletResponse response, Model model) {
Page<ChatHistory> page = chatHistoryService.findPage(new Page<ChatHistory>(request, response), chatHistory);
List<ChatHistory> list = page.getList();
for(ChatHistory c : list){
if(c.getStatus().equals("0")){
if(c.getUserid2().equals(UserUtils.getUser().getLoginName())){//把发送给我的信息标记为已读
c.setStatus("1");//标记为已读
chatHistoryService.save(c);
}
}
}
AjaxJson j = new AjaxJson();
j.setMsg("获取聊天记录成功!");
j.put("data", page.getList());
return j;
}
/**
* 获取未读条数
*/
@ResponseBody
@RequestMapping(value = "findUnReadCount")
public AjaxJson findUnReadCount(ChatHistory chatHistory, HttpServletRequest request, HttpServletResponse response, Model model) {
AjaxJson j = new AjaxJson();
int size = chatHistoryService.findUnReadCount(chatHistory);
j.setMsg("获取未读条数成功!");
j.put("num", size);
return j;
}
/**
* 发送聊天内容(手机端)
*/
@ResponseBody
@RequestMapping(value = "sendChats")
public AjaxJson sendChats(ChatHistory chatHistory, HttpServletRequest request, HttpServletResponse response, Model model) {
AjaxJson j = new AjaxJson();
j.setMsg("消息发送成功!");
chatHistory.setStatus("0");//标记未读
chatHistoryService.save(chatHistory);
return j;
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.jeespring.common.config.Global;
import com.jeespring.common.utils.IdGen;
import com.jeespring.common.web.AbstractBaseController;
import com.jeespring.modules.iim.entity.Friend;
import com.jeespring.modules.iim.entity.Group;
import com.jeespring.modules.iim.entity.LayJson;
import com.jeespring.modules.sys.dao.UserDao;
import com.jeespring.modules.sys.entity.Office;
import com.jeespring.modules.sys.entity.User;
import com.jeespring.modules.sys.service.OfficeService;
import com.jeespring.modules.sys.service.SystemService;
import com.jeespring.modules.sys.utils.UserUtils;
/**
* 心电图实时显示查看Controller
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-09
*/
@Controller
@RequestMapping(value = "${adminPath}/iim/contact")
public class ContactController extends AbstractBaseController {
@Autowired
private SystemService systemService;
@Autowired
private UserDao userDao;
@Autowired
private OfficeService officeService;
/**
* 打开通讯录
* @param user
* @param request
* @param response
* @param model
* @return
*/
@RequestMapping(value = {"index", ""})
public String index(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
List<User> list = systemService.findUser(user);
model.addAttribute("list", list);
return "modules/iim/contacts";
}
/**
* 查找医生
* @param user
* @param request
* @param response
* @param model
* @return
*/
@RequestMapping(value = "searchUsers")
public String searchUsers(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
List<User> friends = userDao.searchUsers(user);
model.addAttribute("list", friends);
return "modules/iim/search_user";
}
/**
* 添加好友--->常用联系人
*/
@RequestMapping(value = "addFriend")
public String addFriend(String ids, RedirectAttributes redirectAttributes) {
String idArray[] =ids.split(",");
User currentUser = UserUtils.getUser();
for(String id : idArray){
if(userDao.findFriend(currentUser.getId(), id) == null){
userDao.insertFriend(IdGen.uuid(), currentUser.getId(), id);//添加对方为好友
// userDao.insertFriend(IdGen.uuid(), id, currentUser.getId());//同时把自己添加为对方的好友
}
}
addMessage(redirectAttributes, "添加好友成功");
return "redirect:"+Global.getAdminPath()+"/iim/contact/myFriends/?repage";
}
/**
* 删除好友
*/
@RequestMapping(value = "delFriend")
public String delFriend(String id, RedirectAttributes redirectAttributes) {
User friend = UserUtils.get(id);
User currentUser = UserUtils.getUser();
if(friend != null && userDao.findFriend(currentUser.getId(), friend.getId()) != null){
userDao.deleteFriend(currentUser.getId(), friend.getId());//删除好友
// userDao.deleteFriend(friend.getId(), currentUser.getId());//同时把自己从对方的好友列表删除
}
return "redirect:"+Global.getAdminPath()+"/iim/contact/myFriends/?repage";
}
/**
* 打开我的好友列表--->常用联系人列表
* @param user
* @param request
* @param response
* @param model
* @return
*/
@RequestMapping(value = "myFriends")
public String myFriends(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
User currentUser = UserUtils.getUser();
List<User> friends = userDao.findFriends(currentUser);
model.addAttribute("list", friends);
return "modules/iim/myFriends";
}
/**
* 打开聊天窗口
* @param user
* @param request
* @param response
* @param model
* @return
*/
@RequestMapping(value = "layerIM")
public String layerIM(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
List<User> list = systemService.findUser(user);
model.addAttribute("list", list);
return "modules/iim/layerIM";
}
@RequestMapping(value="friend")
@ResponseBody
public LayJson getFriend(User user, HttpServletRequest request, HttpServletResponse response, Model model){
LayJson j = new LayJson();
j.setStatus(1);
//我的好友--->常用联系人
User currentUser = UserUtils.getUser();
List<User> friends = userDao.findFriends(currentUser);
Group friendGroup = new Group();
friendGroup.setName("我的好友");
friendGroup.setId(1);
friendGroup.setNums(friends.size());
for(User u : friends){
Friend friend = new Friend();
friend.setId(u.getLoginName());
friend.setName(u.getName());
friend.setFace(u.getPhoto());
friendGroup.getItem().add(friend);
}
j.getData().add(friendGroup);
List<Office> officeList = officeService.findList(true);
int index=1;
for(Office office : officeList){
user.setOffice(office);
List<User> users = userDao.findListByOffice(user);
Group group = new Group();
group.setName(office.getName());
group.setNums(users.size());
group.setId(++index);
for(User u : users){
Friend friend = new Friend();
friend.setId(u.getLoginName());
friend.setName(u.getName());
friend.setFace(u.getPhoto());
group.getItem().add(friend);
}
j.getData().add(group);
}
user.setOffice(null);
List<User> users = userDao.findListByOffice(user);
Group group = new Group();
group.setName("未分组");
group.setNums(users.size());
group.setId(++index);
for(User u : users){
Friend friend = new Friend();
friend.setId(u.getLoginName());
friend.setName(u.getName());
friend.setFace(u.getPhoto());
group.getItem().add(friend);
}
j.getData().add(group);
return j;
}
/**
* 群组列表接口 预留待开发
* @return
*/
@RequestMapping(value="group")
@ResponseBody
public LayJson getGroup(){
LayJson j = new LayJson();
j.setStatus(1);
return j;
}
/**
* 最近联系人接口 预留
* @return
*/
@RequestMapping(value="chatLog")
@ResponseBody
public LayJson getChatLog(){
LayJson j = new LayJson();
j.setStatus(1);
return j;
}
/**
* 群组成员接口 预留
* @return
*/
@RequestMapping(value="groups")
@ResponseBody
public LayJson getGroups(){
LayJson j = new LayJson();
j.setStatus(1);
return j;
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.web;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.jeespring.common.config.Global;
import com.jeespring.common.utils.StringUtils;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.web.AbstractBaseController;
import com.jeespring.modules.iim.entity.MailBox;
import com.jeespring.modules.iim.entity.MailCompose;
import com.jeespring.modules.iim.entity.MailPage;
import com.jeespring.modules.iim.service.MailBoxService;
import com.jeespring.modules.iim.service.MailComposeService;
import com.jeespring.modules.sys.utils.UserUtils;
/**
* 收件箱Controller
* * * * @author 黄炳桂 516821420@qq.com
* @version 2015-11-13
*/
@Controller
@RequestMapping(value = "${adminPath}/iim/mailBox")
public class MailBoxController extends AbstractBaseController {
@Autowired
private MailComposeService mailComposeService;
@Autowired
private MailBoxService mailBoxService;
@ModelAttribute
public MailBox get(@RequestParam(required=false) String id) {
MailBox entity = null;
if (StringUtils.isNotBlank(id)){
entity = mailBoxService.get(id);
}
if (entity == null){
entity = new MailBox();
}
return entity;
}
@RequestMapping(value = {"list", ""})
public String list(MailBox mailBox, HttpServletRequest request, HttpServletResponse response, Model model) {
mailBox.setReceiver(UserUtils.getUser());
Page<MailBox> page = mailBoxService.findPage(new MailPage<MailBox>(request, response), mailBox);
model.addAttribute("page", page);
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
return "modules/iim/mailBoxList";
}
@RequestMapping(value = "detail")
public String detail(MailBox mailBox, Model model) {
if(mailBox.getReadstatus().equals("0")){//更改未读状态为已读状态
mailBox.setReadstatus("1");//1表示已读
mailBoxService.save(mailBox);
}
model.addAttribute("mailBox", mailBox);
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
return "modules/iim/mailBoxDetail";
}
@RequestMapping(value = "save")
public String save(MailBox mailBox, Model model, RedirectAttributes redirectAttributes) {
if (!beanValidator(model, mailBox)){
return detail(mailBox, model);
}
Date date = new Date(System.currentTimeMillis());
mailBox.setSender( UserUtils.getUser());
mailBox.setSendtime(date);
mailBoxService.save(mailBox);
addMessage(redirectAttributes, "保存站内信成功");
return "redirect:"+Global.getAdminPath()+"/iim/mailBox/?repage";
}
@RequestMapping(value = "delete")
public String delete(MailBox mailBox, RedirectAttributes redirectAttributes) {
mailBoxService.delete(mailBox);
addMessage(redirectAttributes, "删除站内信成功");
return "redirect:"+Global.getAdminPath()+"/iim/mailBox/?repage";
}
/**
* 批量删除
*/
@RequestMapping(value = "deleteAll")
public String deleteAll(String ids, RedirectAttributes redirectAttributes) {
String idArray[] =ids.split(",");
for(String id : idArray){
mailBoxService.delete(mailBoxService.get(id));
}
addMessage(redirectAttributes, "删除站内信成功");
return "redirect:"+Global.getAdminPath()+"/iim/mailBox/?repage";
}
}
\ No newline at end of file
/**
* * Copyright &copy; 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved..
*/
package com.jeespring.modules.iim.web;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.jeespring.common.config.Global;
import com.jeespring.common.utils.StringUtils;
import com.jeespring.common.persistence.Page;
import com.jeespring.common.web.AbstractBaseController;
import com.jeespring.modules.iim.entity.MailBox;
import com.jeespring.modules.iim.entity.MailCompose;
import com.jeespring.modules.iim.entity.MailPage;
import com.jeespring.modules.iim.service.MailBoxService;
import com.jeespring.modules.iim.service.MailComposeService;
import com.jeespring.modules.iim.service.MailService;
import com.jeespring.modules.sys.entity.User;
import com.jeespring.modules.sys.service.SystemService;
import com.jeespring.modules.sys.utils.UserUtils;
/**
* 发件箱Controller
* @author 黄炳桂 516821420@qq.com
* @version 2015-11-13
*/
@Controller
@RequestMapping(value = "${adminPath}/iim/mailCompose")
public class MailComposeController extends AbstractBaseController {
@Autowired
private MailComposeService mailComposeService;
@Autowired
private MailBoxService mailBoxService;
@Autowired
private SystemService systemService;
@Autowired
private MailService mailService;
@ModelAttribute
public MailCompose get(@RequestParam(required=false) String id) {
MailCompose entity = null;
if (StringUtils.isNotBlank(id)){
entity = mailComposeService.get(id);
}
if (entity == null){
entity = new MailCompose();
}
return entity;
}
/*
* 写站内信
*/
@RequestMapping(value = {"sendLetter"})
public String sendLetter(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
user = systemService.getUser(user.getId());
model.addAttribute("receiver", user);
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
return "modules/iim/mail_send";
}
/*
* 回复站内信
*/
@RequestMapping(value = {"replyLetter"})
public String replyLetter(MailBox mailBox, HttpServletRequest request, HttpServletResponse response, Model model) {
model.addAttribute("mailBox", mailBoxService.get(mailBox.getId()));
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
return "modules/iim/mail_reply";
}
@RequestMapping(value = {"list", ""})
public String list(MailCompose mailCompose, HttpServletRequest request, HttpServletResponse response, Model model) {
Page<MailCompose> page = mailComposeService.findPage(new MailPage<MailCompose>(request, response), mailCompose);
model.addAttribute("page", page);
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
if(mailCompose.getStatus()== null || mailCompose.getStatus().equals("0")){
return "modules/iim/mailDraftList";//草稿箱
}
return "modules/iim/mailComposeList";//已发送
}
@RequestMapping(value = "detail")//打开已发送信件
public String detail(MailCompose mailCompose, Model model) {
model.addAttribute("mailCompose", mailCompose);
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
return "modules/iim/mailComposeDetail";
}
@RequestMapping(value = "draftDetail")//打开草稿
public String draftDetail(MailCompose mailCompose, Model model) {
//查询未读的条数
MailBox serachBox = new MailBox();
serachBox.setReadstatus("0");
serachBox.setReceiver(UserUtils.getUser());
model.addAttribute("noReadCount", mailBoxService.getCount(serachBox));
//查询总条数
MailBox serachBox2 = new MailBox();
serachBox2.setReceiver(UserUtils.getUser());
model.addAttribute("mailBoxCount", mailBoxService.getCount(serachBox2));
//查询已发送条数
MailCompose serachBox3 = new MailCompose();
serachBox3.setSender(UserUtils.getUser());
serachBox3.setStatus("1");//已发送
model.addAttribute("mailComposeCount", mailComposeService.getCount(serachBox3));
//查询草稿箱条数
MailCompose serachBox4 = new MailCompose();
serachBox4.setSender(UserUtils.getUser());
serachBox4.setStatus("0");//草稿
model.addAttribute("mailDraftCount", mailComposeService.getCount(serachBox4));
mailCompose = mailComposeService.get(mailCompose.getId());
model.addAttribute("mailCompose", mailCompose);
return "modules/iim/mailDraftDetail";
}
@RequestMapping(value = "save")
public String save(MailCompose mailCompose, Model model, HttpServletRequest request, HttpServletResponse response) {
if (!beanValidator(model, mailCompose.getMail())){
return detail(mailCompose, model);
}
mailService.saveOnlyMain(mailCompose.getMail());
Date date = new Date(System.currentTimeMillis());
mailCompose.setSender(UserUtils.getUser());
mailCompose.setSendtime(date);
for(User receiver : mailCompose.getReceiverList()){
mailCompose.setReceiver(receiver);
mailCompose.setId(null);//标记为新纪录,每次往发件箱插入一条记录
mailComposeService.save(mailCompose);//0 显示在草稿箱,1 显示在已发送需同时保存到收信人的收件箱。
if(mailCompose.getStatus().equals("1"))//已发送,同时保存到收信人的收件箱
{
MailBox mailBox = new MailBox();
mailBox.setReadstatus("0");
mailBox.setReceiver(receiver);
mailBox.setSender(UserUtils.getUser());
mailBox.setMail(mailCompose.getMail());
mailBox.setSendtime(date);
mailBoxService.save(mailBox);
}
}
request.setAttribute("mailCompose", mailCompose);
return "modules/iim/mail_compose_success";
}
@RequestMapping(value = "delete")
public String delete(MailCompose mailCompose, RedirectAttributes redirectAttributes) {
mailComposeService.delete(mailCompose);
addMessage(redirectAttributes, "删除站内信成功");
return "redirect:"+Global.getAdminPath()+"/iim/mailCompose/?repage&orderBy=sendtime desc&status="+mailCompose.getStatus();
}
/**
* 批量删除已发送
*/
@RequestMapping(value = "deleteAllCompose")
public String deleteAllCompose(String ids, Model model, RedirectAttributes redirectAttributes) {
String idArray[] =ids.split(",");
for(String id : idArray){
mailComposeService.delete(mailComposeService.get(id));
}
addMessage(redirectAttributes, "删除邮件成功");
return "redirect:"+Global.getAdminPath()+"/iim/mailCompose/?repage&status=1&orderBy=sendtime desc";
}
/**
* 批量删除草稿箱
*/
@RequestMapping(value = "deleteAllDraft")
public String deleteAllDraft(String ids, RedirectAttributes redirectAttributes) {
String idArray[] =ids.split(",");
for(String id : idArray){
mailComposeService.delete(mailComposeService.get(id));
}
addMessage(redirectAttributes, "删除邮件成功");
return "redirect:"+Global.getAdminPath()+"/iim/mailCompose/?repage&status=0&orderBy=sendtime desc";
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment