需要加入:com.springsource.org.apache.commons.logging-1.1.1.jar、org.json.jar和jquery-1.10.0.min.js包
form class="form-inline">
掃碼: input id="txtQRCode" type="text">
button id="btnReceive">確定/button>
/form>
script type="text/javascript">
//掃描二維碼
$('#btnReceive').click(function(){
$.ajax({
type:"GET",
url:"%=basePath%>asynchronous/receive.do",
data:{qrCode:$('#txtQRCode').val()},
dataType:"json",
cache:false,
success:function(msg){
//var json = eval('('+msg+')');//拼接的json串
var flag = msg.flag;
var info = msg.info;
if(flag){
alert(info);
$('#txtQRCode').val("");
}
else{
alert(info);
}
},
error:function(error){alert(error);}
});
});
});
/script>
package com.utcsoft.pcapps.selfservice.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.UnknownHostException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.utcsoft.common.attributes.YesNoEnum;
import com.utcsoft.common.util.DateOperate;
import com.utcsoft.pcapps.selfservice.attributes.KeyRequestAttr;
import com.utcsoft.pcapps.selfservice.dao.FlowDao;
import com.utcsoft.pcapps.selfservice.dao.KeyRequestDao;
import com.utcsoft.pcapps.selfservice.entity.Flow;
import com.utcsoft.pcapps.selfservice.entity.KeyRequest;
import com.utcsoft.pcapps.selfservice.entity.UtcUsers;
@Controller
@RequestMapping(value = "/asynchronous")
public class AsynchronousController {
private final static Log logger = LogFactory.getLog(AsynchronousController.class);
/**
* 掃描二維碼 將訂單改為UTC審核
* @param request
* @param response
* @throws IOException
* @throws JSONException
*/
@RequestMapping(value="/receive")
public void receive(HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException{
String rets = "";
boolean b = false;
try{
String qrcode = request.getParameter("qrCode")==null?"":request.getParameter("qrCode").toString().trim();
logger.info(qrcode);
if(!"".equals(qrcode)){
JSONObject obj = new JSONObject(qrcode);
String orderid = obj.getString("orderid").trim();
if(!"".equals(orderid)){
KeyRequestDao keyDao = new KeyRequestDao();
KeyRequest k = new KeyRequest();//綜合信息
k = keyDao.findOneByOrderId(orderid);
if(k!=null){
//修改訂單狀態(tài)為審核
int n = keyDao.updateState(orderid, String.valueOf(KeyRequestAttr.KqStateEnum.verify.getStep()));
Flow flow = new Flow();
FlowDao flowDao = new FlowDao();
UtcUsers users = (UtcUsers)request.getSession().getAttribute("utcUsers");
//將記錄插入Flwo表中
flow.setKq_id(orderid);
flow.setKq_state(String.valueOf(KeyRequestAttr.KqStateEnum.cus_send.getStep()));
flow.setKq_state_to(String.valueOf(KeyRequestAttr.KqStateEnum.verify.getStep()));
flow.setIs_Pass(YesNoEnum.Y.getCode());
flow.setUser_id(users.getUser_id());
flow.setUser_id_from(users.getUser_id());
flow.setOpTimer(DateOperate.getDateTime());
int flowNum = flowDao.save(flow);
logger.info("掃描二維碼提交結(jié)果:n="+n+";flowNum="+flowNum);
if(n>0){
b = true;
rets = "UTC接收訂單成功";
logger.info("UTC接收訂單成功");
}
else{
rets = "UTC接收訂單失敗";
logger.info("UTC接收訂單失敗");
}
}
else{
rets = "訂單查詢失敗";
logger.info("訂單查詢失敗");
}
}
else{
rets = "二維碼中訂單號為空";
logger.error("二維碼中訂單號為空");
}
}
else{
rets = "二維碼內(nèi)容為空";
logger.error("二維碼內(nèi)容為空");
}
}
catch(Exception e){
e.printStackTrace();
rets = e.getMessage();
logger.error(e.getMessage());
}
JSONObject ret = new JSONObject();
ret.put("flag", b);
ret.put("info", rets);
PrintWriter write = response.getWriter();
write.write(ret.toString());
write.flush();
}
}