package com.opentravelsoft.action.sms;
import java.net.URLDecoder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.opentravelsoft.service.SmsService;
import com.opentravelsoft.webapp.action.PortalAction;
public class ReceiveAction extends PortalAction {
private static final long serialVersionUID = 8042770547344853484L;
protected static final Log logger = LogFactory.getLog(ReceiveAction.class);
@Autowired
private SmsService smsService;
private String seqno;
private String extno;
private String mob;
private String msg;
public String getExtno() {
return extno;
}
public void setExtno(String extno) {
this.extno = extno;
}
public String getMob() {
return mob;
}
public void setMob(String mob) {
this.mob = mob;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getSeqno() {
return seqno;
}
public void setSeqno(String seqno) {
this.seqno = seqno;
}
@Override
public String execute() {
try {
// http://www.opentravelsoft.com/mms/ReceiveMms.action?seqno=4521756345893710&extno=123456&mob=13501683251&msg=%C4%E3%BA%C3
char[] ls = msg.toCharArray();
StringBuilder temp = new StringBuilder();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ls.length; i++) {
if (ls[i] < 127) {
sb.append(URLDecoder.decode(temp.toString()));
sb.append(ls[i]);
temp = new StringBuilder();
} else {
temp.append("%" + Integer.toString(ls[i], 16));
}
}
if (temp.length() > 0)
sb.append(URLDecoder.decode(temp.toString()));
// String sb = URLEncoder.encode(msg, "GB2312");
String srcMsg = msg;
msg = URLDecoder.decode(sb.toString());
int result = smsService.txReceive(seqno, mob, msg, srcMsg);
if (result < 0) {
logger.error("");
}
} catch (Exception e) {
logger.error("", e);
}
return NONE;
}
}