📄 generategreetingcardservlet.java
字号:
package com.igm.ig3.greetingcard.servlet;
import java.io.File;
import java.io.RandomAccessFile;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.apic.ig3.common.CommonResponse;
import com.apic.ig3.common.DataConnect;
import com.apic.ig3.common.ErrorCode;
import com.apic.ig3.common.InitialCheck;
import com.apic.ig3.common.OutboundSMS;
import com.apic.ig3.common.SessionID;
import com.apic.ig3.util.ApicUtil;
import com.igm.ig3.greetingcard.common.IGCConfig;
/**
* A Main HTTP servlet that handle
* Generation of Greeting Cards Session
*
* @author Tung
*
* @version 1.0.0
*/
public class GenerateGreetingCardServlet extends HttpServlet {
/**
* String represent the class name
*/
private final static String CLASSNAME = "GenerateGreetingCardServlet";
/**
* Handles the HTTP GET requests from the download client.
*
* @param request Provides request information for HTTP
* servlets.
* @param response Provides HTTP-specific functionality in
* sending a response.
*
* @throws ServletException Defines a general exception a servlet can
* throw when it encounters difficulty.
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException
{
doPost(request, response);
}
/**
* Handles the HTTP POST requests from the download client.
*
* @param request Provides request information for HTTP
* servlets.
* @param response Provides HTTP-specific functionality in
* sending a response.
*
* @throws ServletException Defines a general exception a servlet can
* throw when it encounters difficulty.
*/
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException
{
String nickname = "";
String password = "";
String mo = "";
String mt = "";
String mccmnc = "";
String uid = "";
String msg = "";
String cburl = "";
String mode = "";
String rspmode = "";
String midletName = "";
String imgID1 = "";
String imgID2 = "";
String imgID3 = "";
String polyID = "";
String svcmsgURL = "";
String svcmsgTitle = "";
String pdu = "";
CommonResponse httpResponse = null;
try
{
nickname = request.getParameter("nick");
password = request.getParameter("pass");
mo = request.getParameter("mo");
mt = request.getParameter("mt");
mccmnc = request.getParameter("mccmnc");
uid = request.getParameter("uid");
msg = request.getParameter("msg");
cburl = request.getParameter("cburl");
mode = request.getParameter("mode");
rspmode = request.getParameter("rspmode");
svcmsgTitle = request.getParameter("title"); //Added by Tung 17/4/2007
/*doLog("[GenerateGreetingCardServlet] - Debug Param");
doLog("[GenerateGreetingCardServlet] - nickname = " + nickname);
doLog("[GenerateGreetingCardServlet] - password = " + password);
doLog("[GenerateGreetingCardServlet] - mo = " + mo);
doLog("[GenerateGreetingCardServlet] - mt = " + mt);
doLog("[GenerateGreetingCardServlet] - mccmnc = " + mccmnc);
doLog("[GenerateGreetingCardServlet] - uid = " + uid);
doLog("[GenerateGreetingCardServlet] - msg = " + msg);
doLog("[GenerateGreetingCardServlet] - cburl = " + cburl);
doLog("[GenerateGreetingCardServlet] - mode = " + mode);
doLog("[GenerateGreetingCardServlet] - rspmode = " + rspmode);*/
doLog("[GenerateGreetingCardServlet] - nickname = " + nickname
+ ", password = " + password
+ ", mo = " + mo
+ ", mt = " + mt
+ ", mccmnc = " + mccmnc
+ ", uid = " + uid
+ ", msg = " + msg
+ ", cburl = " + cburl
+ ", mode = " + mode
+ ", rspmode = " + rspmode);
// setup response method
httpResponse = new CommonResponse(response, rspmode);
if(mo == null || mo.length() == 0)
{
mo = nickname;
}
if(msg == null)
{
msg = "";
}
if(cburl == null)
{
cburl = "";
}
if(rspmode == null)
{
rspmode = "text/html";
}
//doLog("[GenerateGreetingCardServlet] - Verify mandatory param");
if(nickname == null || password == null || mt == null ||
mccmnc == null || uid == null || mode == null)
{
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_PARAM));
doLog("[GenerateGreetingCardServlet] - Error Param");
return;
}
//doLog("[GenerateGreetingCardServlet] - InitialCheck Started");
// this will authenticate user, check is credit is enough
// and validate mobile number
InitialCheck check = new InitialCheck();
int code = check.check(nickname, password, mt, mccmnc, "IGC");
if(code != ErrorCode.ERR_NONE)
{
httpResponse.response(ErrorCode.getHttpErrorMessage(code));
doLog("[GenerateGreetingCardServlet] - InitialCheck Error");
return;
}
//doLog("[GenerateGreetingCardServlet] - InitialCheck Done");
//doLog("[GenerateGreetingCardServlet] - DataConnect GetConnection");
DataConnect dc = new DataConnect();
String[] fields = {"img1_id","img2_id","img3_id","poly_id","midlet_name"};
doLog("[GenerateGreetingCardServlet] - DataConnect Start Query");
String[] result = dc.querySQL("select * from tblgreetingcard where id ="+uid, fields);
doLog("[GenerateGreetingCardServlet] - DataConnect End Query");
dc.close();
/*if(result != null)
{
doLog("[GenerateGreetingCardServlet] - Result Size = "+ result.length);
doLog("[GenerateGreetingCardServlet] - Result Data = "+ result.toString());
}*/
if(result != null && result.length == 5)
{
imgID1 = result[0];
imgID2 = result[1];
imgID3 = result[2];
polyID = result[3];
midletName = result[4];
doLog("[GenerateGreetingCardServlet] - Result imgID1 = "+imgID1
+ ", imgID2 = "+imgID2
+ ", imgID3 = "+imgID3
+ ", polyID = "+polyID
+ ", midletName = "+midletName);
}
else
{
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM));
doLog("[GenerateGreetingCardServlet] - No result");
return;
}
if(midletName==null || midletName.length() == 0)
{
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_CONTENT));
doLog("[GenerateGreetingCardServlet] - Error Content");
return;
}
// create the session file for refrence when phone do getimk
//doLog("[GenerateGreetingCardServlet] - Init Session");
SessionID sessionID = new SessionID(mt);
//doLog("[GenerateGreetingCardServlet] - Init Session Done");
String session = sessionID.next(12);
//doLog("[GenerateGreetingCardServlet] - Session = " + session);
if(!makeSession(session, nickname, mo, mt, uid, msg, cburl, imgID1, imgID2, imgID3, polyID, mccmnc, midletName))
{
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM));
doLog("[GenerateGreetingCardServlet] - Failed to create session");
return;
}
doLog("[GenerateGreetingCardServlet] - Session Created");
// queue sevice message to iguana outbound server
svcmsgURL = IGCConfig.downloadURL + "?S=" + session;
/*if(mo.equals(mt))
{
svcmsgTitle = midletName + " Greeting Card download";
}
else
{
svcmsgTitle = midletName + " Greeting Card dedicated from " + mo;
}*/
doLog("[GenerateGreetingCardServlet] - Create Outbound SMS");
OutboundSMS outsms = new OutboundSMS(nickname, mt, mccmnc);
if(mode.equals("sendsms"))
{
if(outsms.queueServiceMessage(svcmsgTitle, svcmsgURL) != 0)
{
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM));
return;
}
}
else if(mode.equals("getpdu"))
{
doLog("[GenerateGreetingCardServlet] - Get PDU");
pdu = "&PDU=" + outsms.serviceMessagePDU(svcmsgTitle, svcmsgURL);
doLog("[GenerateGreetingCardServlet] - Get PDU Done = "+pdu);
}
else
{
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_PARAM));
doLog("[GenerateGreetingCardServlet] - Error Param");
return;
}
httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_NONE)+pdu);
}
catch (Exception exception)
{
StackTraceElement[] trace = exception.getStackTrace();
for (int i=0; i < trace.length; i++)
{
doLog(trace[i].toString());
}
doLog("Exception : "+exception.getMessage());
httpResponse.response(
ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM) + " : Exception :" +exception.getMessage());
}
}
/**
* Make session file in tmp folder
* @param session
* @param nickname
* @param mo
* @param mt
* @param uid
* @param msg
* @param cburl
* @param imgID1
* @param imgID2
* @param imgID3
* @param polyID
* @param mccmnc
* @param midletname
* @return
*/
private boolean makeSession(String session, String nickname, String mo,
String mt, String uid, String msg, String cburl, String imgID1, String imgID2, String imgID3, String polyID, String mccmnc, String midletname)
{
try
{
String fname = IGCConfig.tmpHome + session + IGCConfig.sessionExt;
RandomAccessFile f = new RandomAccessFile(fname, "rw");
f.writeBytes("nick:" + nickname + "\n");
f.writeBytes("mo:" + mo + "\n");
f.writeBytes("mt:" +mt + "\n");
f.writeBytes("uid:" + uid + "\n");
f.writeBytes("imgid1:" + imgID1 + "\n");
f.writeBytes("imgid2:" + imgID2 + "\n");
f.writeBytes("imgid3:" + imgID3 + "\n");
f.writeBytes("polyid:" + polyID + "\n");
f.writeBytes("midletname:" + midletname + "\n");
f.writeBytes("mccmnc:" + mccmnc + "\n");
f.writeBytes("msg:" + msg + "\n");
f.writeBytes("cburl:" + cburl + "\n");
f.writeBytes("hit:0\n");
f.close();
if(new File(fname).length() > 0)
{
doLog("mo:"+mo+",mt:"+mt+",uid:"+uid+",imgid1:"+imgID1
+",imgid2:"+imgID2+",imgid3:"+imgID3+",polyid:"+polyID
+",midletname:"+midletname+",mccmnc:"+mccmnc+",msg:"+msg
+",cburl:"+cburl);
return true;
}
}
catch(Exception e)
{
doLog("makeSession EXCEPTION:" + e.toString());
}
return false;
}
/**
* Log msg into log file
* @param msg
*/
private void doLog(String msg)
{
try
{
RandomAccessFile f = new RandomAccessFile(IGCConfig.logFile+CLASSNAME+"_"+
ApicUtil.TimeStr("yyyyMMdd")+".log", "rw");
f.seek(f.length());
f.writeBytes(ApicUtil.TimeStr("[HH:mm:ss]") + msg + "\r\n\r\n");
f.close();
}
catch(Exception e)
{}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -