需要加入:com.springsource.org.apache.commons.logging-1.1.1.jar、org.json.jar和jquery-1.10.0.min.js包
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);
@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){
//修改订单状态为审核
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("扫描二维码提交结果: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 = "二维码内容为空";
logger.error("二维码内容为空");
}
}
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();
}
}


