package com.service.before;
import java.io.File;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.Model;
import com.dao.EmailDao;
import com.po.Buser;
import com.po.Email;
import com.po.Rsrecordtable;
import com.util.MyUtil;
@Service("emailService")
@Transactional
public class EmailServiceImpl implements EmailService{
@Autowired
private EmailDao emailDao;
/**
* 写信
*/
@Override
public String write(Email myemail, Model model, HttpServletRequest request, HttpSession session) {
if("submit".equals(myemail.getAct())) {//提交按钮
emailDao.writeEmail(myemail);//添加邮件,添加成功后,Email的ID自动回填到myemail对象中
String ids = myemail.getBemailsid();//接收人id以分号;分隔
System.out.println(ids + "ids");
String rid[] = ids.split(";");
String emails = myemail.getBemails();//接收人email以分号;分隔
String remail[] = emails.split(";");
int s_id = MyUtil.getUserId(session);
String s_email = MyUtil.getUserEmail(session);
//添加邮件记录
for (int i = 0; i < rid.length; i++) {
Rsrecordtable rt = new Rsrecordtable();
rt.setId_s(s_id);//发送人id
rt.setEmail_s(s_email);
rt.setId_r(Integer.parseInt(rid[i]));//接收人id
rt.setEmail_r(remail[i]);//接收人email
rt.setId_email(myemail.getId());//邮件id
emailDao.writeEmailRecord(rt);
}
return "before/writeSuccess";
}else {//上传附件
String attachfile = myemail.getAttachfile();
String attachfilename = myemail.getAttachfilename();
/*文件上传到服务器的位置"/uploadfiles",该位置是指
workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps,
发布后使用*/
String realpath = request.getServletContext().getRealPath("uploadfiles");
String fileName = myemail.getAttachments().getOriginalFilename();
//原文件名
if(attachfilename.length() > 0) {
attachfilename = attachfilename + "|" + fileName;
}else {
attachfilename = fileName;
}
//新文件名
String newfilename = MyUtil.getRandom() + MyUtil.getFileExtendsName(fileName);
if(attachfile.length() > 0) {
attachfile = attachfile + "|" + newfilename;
}else {
attachfile = newfilename;
}
File targetFile = new File(realpath, newfilename);
if(!targetFile.exists()){
targetFile.mkdirs();
}
//上传
try {
myemail.getAttachments().transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
myemail.setAttachfilename(attachfilename);
myemail.setAttachfile(attachfile);
//邮件备选项
List<Buser> bemailsoption = emailDao.selectBuserEmail();
model.addAttribute("bemailsoption", bemailsoption);
model.addAttribute("myemail", myemail);
return "before/write";
}
}
/**
* 收信
*/
@Override
public String recieve(Model model, HttpSession session) {
List<Map<String, Object>> lm = emailDao.recieve(MyUtil.getUserId(session));
model.addAttribute("emailList", lm);
return "before/receive";
}
/***
* 详情
*/
@Override
public String detail(Model model, Integer id) {
//更新打开标记
emailDao.updateOpen(id);
//查看邮件详情
List<Map<String, Object>> le = emailDao.detail(id);
model.addAttribute("detail", le.get(0));
return "before/detail";
}
/**
* 删除一个
*/
@Override
public String deleteOne(Integer id) {
emailDao.deleteOne(id);
//删除后到收件箱
return "forward:/email/recieve";
}
/***
* 删除多个
*/
@Override
public String deleteMore(Integer[] ids) {
for (int i = 0; i < ids.length; i++) {
emailDao.deleteOne(ids[i]);
}
return "forward:/email/recieve";
}
/**
* 回复初始化
*/
@Override
public String reEmailInit(Integer id, Model model) {
List<Map<String, Object>> le = emailDao.detail(id);
Email em = new Email();
Map<String, Object> mp = le.get(0);
Integer id_s = (Integer)mp.get("id_s");
em.setBemailsid(id_s+"");
String email_s = (String)mp.get("email_s");
em.setBemails(email_s);
String title = (String)mp.get("title");
em.setTitle("Re:" + title);
String content = (String)mp.get("content");
content = "At " + mp.get("sendtime") + " " + email_s + " write:"
+ " "
+ " " + content;
em.setContent(content);
//邮件备选项
List<Buser> bemailsoption = emailDao.selectBuserEmail();
model.addAttribute("bemailsoption", bemailsoption);
model.addAttribute("myemail", em);
return "before/write";
}
/**
* 已发送
*/
@Override
public String send(Model model, HttpSession session) {
List<Map<String, Object>> lm = emailDao.send(MyUtil.getUserId(session));
model.addAttribute("emailList", lm);
return "before/send";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
邮件收发管理系统.zip (138个子文件)
EmailServiceImpl.class 7KB
EmailController.class 4KB
ValidateCodeController.class 4KB
UserServiceImpl.class 3KB
MyUtil.class 3KB
Email.class 2KB
AdminEmailAndUserServiceImpl.class 2KB
UserController.class 2KB
MyExceptionHandler.class 2KB
NavigateController.class 2KB
Rsrecordtable.class 2KB
AdminEmailAndUserController.class 2KB
AdminServiceImpl.class 1KB
AdminController.class 1KB
NavigateServiceImpl.class 1KB
Buser.class 1KB
BaseBeforeController.class 1KB
BaseController.class 1010B
EmailDao.class 894B
EmailService.class 705B
Auser.class 689B
UserService.class 486B
AdminLoginNoException.class 447B
UserLoginNoException.class 444B
UserDao.class 435B
AdminDao.class 382B
AdminEmailAndUserService.class 343B
AdminService.class 238B
NavigateService.class 201B
.classpath 665B
org.eclipse.wst.common.component 482B
org.eclipse.wst.jsdt.ui.superType.container 49B
common.css 296B
login.gif 1KB
input.gif 1KB
my_bj5.gif 801B
cancel.gif 451B
submit.gif 324B
ok.gif 323B
ant-1.9.6.jar 1.94MB
aspectjweaver-1.8.13.jar 1.84MB
mybatis-3.4.5.jar 1.55MB
spring-web-5.0.2.RELEASE.jar 1.18MB
spring-core-5.0.2.RELEASE.jar 1.16MB
spring-context-5.0.2.RELEASE.jar 1.03MB
mysql-connector-java-5.1.45-bin.jar 976KB
log4j-core-2.3.jar 808KB
spring-webmvc-5.0.2.RELEASE.jar 764KB
javassist-3.22.0-CR2.jar 721KB
spring-beans-5.0.2.RELEASE.jar 640KB
log4j-1.2.17.jar 478KB
spring-jdbc-5.0.2.RELEASE.jar 382KB
spring-aop-5.0.2.RELEASE.jar 352KB
cglib-3.2.5.jar 295KB
spring-expression-5.0.2.RELEASE.jar 257KB
spring-tx-5.0.2.RELEASE.jar 243KB
ognl-3.1.15.jar 230KB
taglibs-standard-impl-1.2.5.jar 202KB
commons-dbcp2-2.2.0.jar 182KB
commons-io-2.4.jar 181KB
log4j-api-2.3.jar 133KB
commons-pool2-2.5.0.jar 125KB
commons-fileupload-1.3.1.jar 67KB
commons-logging-1.2.jar 60KB
mybatis-spring-1.3.1.jar 52KB
asm-5.2.jar 52KB
slf4j-api-1.7.25.jar 40KB
spring-aspects-5.0.2.RELEASE.jar 40KB
taglibs-standard-spec-1.2.5.jar 39KB
ant-launcher-1.9.6.jar 18KB
slf4j-log4j12-1.7.25.jar 12KB
aopalliance-1.0.jar 4KB
EmailServiceImpl.java 5KB
EmailController.java 3KB
ValidateCodeController.java 3KB
UserServiceImpl.java 2KB
MyUtil.java 2KB
Email.java 2KB
AdminEmailAndUserServiceImpl.java 1KB
UserController.java 1KB
MyExceptionHandler.java 1KB
NavigateController.java 1KB
AdminEmailAndUserController.java 1KB
Rsrecordtable.java 1011B
EmailDao.java 838B
AdminController.java 810B
AdminServiceImpl.java 798B
NavigateServiceImpl.java 742B
BaseBeforeController.java 702B
BaseController.java 687B
EmailService.java 621B
Buser.java 596B
UserService.java 494B
UserDao.java 344B
Auser.java 317B
AdminEmailAndUserService.java 316B
AdminDao.java 274B
AdminService.java 242B
AdminLoginNoException.java 204B
UserLoginNoException.java 202B
共 138 条
- 1
- 2
资源评论
实施攻城狮
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功