UnsubscribeAction.java
4.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package com.espeed.action;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.espeed.reading.util.DBUtil;
import com.opensymphony.xwork2.ActionSupport;
/**
* 程序名称: EspeedMail_时速邮箱
* 程序版本: V1.0
* 作 者: 深圳市科飞时速网络技术有限公司(0755-88843776)
* 版权所有: 深圳市科飞时速网络技术有限公司
* 技术支持: Tech@21gmail.com
* 单元名称: 退订(营销邮)
* 开始时间: 2013.10.22
* 程 序 员: 谢勇
* 最后修改:
* 备 注: 如需修改请通知程序员
*/
public class UnsubscribeAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private PreparedStatement ps=null;
private Connection con=null;
private ResultSet rs;
/**客户退订*/
public String userUnsubscribe(){
try {
HttpServletRequest request = ServletActionContext.getRequest();
String clientIP = request.getHeader("x-forwarded-for");
if(clientIP == null || clientIP.length() == 0) {
clientIP = request.getHeader("Proxy-Client-IP");
}
if(clientIP == null || clientIP.length() == 0) {
clientIP = request.getHeader("WL-Proxy-Client-IP");
}
if(clientIP == null || clientIP.length() == 0) {
clientIP = request.getRemoteAddr();
}
if(clientIP == null || clientIP.length() == 0) {
clientIP = "unknown";
}
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowdate=df.format(new Date());
con=DBUtil.getConnection();
//判断是否退订过
String findsql="select * from yxy_unsubscribe_info where yxy_unsubscribe_loginid=? and yxy_unsubscribe_domain=? and yxy_unsubscribe_email=?";
ps=con.prepareStatement(findsql);
ps.setString(1, unsubscribeUserID);
ps.setString(2, unsubscribeUserDomain);
ps.setString(3, unsubscribeaddress);
rs=ps.executeQuery();
int isHave=0;
while(rs.next()){
isHave++;
break;
}
if(isHave>=1){
result="已退订过,无需在次退订!/has been canceled!";
return SUCCESS;
}
//插入退订信息
String insertSql="insert into yxy_unsubscribe_info (yxy_unsubscribe_loginid,yxy_unsubscribe_domain,yxy_unsubscribe_mail_uid,yxy_unsubscribe_date,yxy_unsubscribe_body,yxy_unsubscribe_email,yxy_unsubscribe_ip,yxy_unsubscribe_agent) values(?,?,?,?,?,?,?,?)";
try {
ps=con.prepareStatement(insertSql);
ps.setString(1, unsubscribeUserID);
ps.setString(2, unsubscribeUserDomain);
ps.setString(3, unsubscribeMailUID);
ps.setString(4, nowdate);
ps.setString(5, unsubscribeBody);
ps.setString(6, unsubscribeaddress);
ps.setString(7, clientIP);
ps.setString(8, request.getHeader("User-Agent"));
ps.executeUpdate();
con.commit();
result="已退订!/has been canceled!";
} catch (Exception e) {
result="退订失败,请重试!/To unsubscribe from failed please try again!";
e.printStackTrace();
}
} catch (Exception e) {
result="退订失败,请重试!/To unsubscribe from failed please try again!";
e.printStackTrace();
}finally{
try {
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return SUCCESS;
}
private String unsubscribeaddress;//退订地址
private String unsubscribeUserID;//退订用户账号
private String unsubscribeUserDomain;//退订所属域名
private String unsubscribeMailUID;//退订邮件ID
private String unsubscribeBody;//退订内容
private String result;//返回信息
public String getUnsubscribeaddress() {
return unsubscribeaddress;
}
public void setUnsubscribeaddress(String unsubscribeaddress) {
this.unsubscribeaddress = unsubscribeaddress;
}
public String getUnsubscribeUserID() {
return unsubscribeUserID;
}
public void setUnsubscribeUserID(String unsubscribeUserID) {
this.unsubscribeUserID = unsubscribeUserID;
}
public String getUnsubscribeMailUID() {
return unsubscribeMailUID;
}
public void setUnsubscribeMailUID(String unsubscribeMailUID) {
this.unsubscribeMailUID = unsubscribeMailUID;
}
public String getUnsubscribeBody() {
return unsubscribeBody;
}
public void setUnsubscribeBody(String unsubscribeBody) {
this.unsubscribeBody = unsubscribeBody;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getUnsubscribeUserDomain() {
return unsubscribeUserDomain;
}
public void setUnsubscribeUserDomain(String unsubscribeUserDomain) {
this.unsubscribeUserDomain = unsubscribeUserDomain;
}
}