| @@ -205,6 +205,59 @@ public class JinMaoController extends BaseController { | |||||
| } | } | ||||
| /** | |||||
| * 心跳 | |||||
| * @param request | |||||
| * @param response | |||||
| * @throws Exception | |||||
| */ | |||||
| @RequestMapping(value = "/dfh/heartBeat") | |||||
| public void heartBeat(HttpServletRequest request,HttpServletResponse response) throws Exception { | |||||
| long currentTime = System.currentTimeMillis(); | |||||
| InputStream inputStream = null; | |||||
| try { | |||||
| inputStream = request.getInputStream(); | |||||
| String paramStr = IOUtils.toString(inputStream, "utf-8"); | |||||
| logger.info("dfh heartBeat: {}",paramStr); | |||||
| if (StringUtils.isBlank(paramStr)) { | |||||
| generateHeartBeatResult(response,"unvalid param", "参数不能为空paramStr",currentTime); | |||||
| return ; | |||||
| } | |||||
| Map param = JSON.parseObject(paramStr, Map.class); | |||||
| String keyStr = param.get("Key")==null?"":param.get("Key").toString(); | |||||
| if (StringUtils.isBlank(keyStr)) { | |||||
| generateHeartBeatResult(response,"unvalid param", "参数非法Key"+keyStr,currentTime); | |||||
| return ; | |||||
| } | |||||
| generateHeartBeatResult(response,keyStr, null,currentTime); | |||||
| }catch(Exception e){ | |||||
| logger.error("JinMaoController --heartBeat",e); | |||||
| generateHeartBeatResult(response,"error", "心跳错误"+e.getMessage(),currentTime); | |||||
| return ; | |||||
| }finally { | |||||
| if (null != inputStream ) { | |||||
| inputStream.close(); | |||||
| } | |||||
| } | |||||
| } | |||||
| private void generateHeartBeatResult(HttpServletResponse response,String key,String msg,long startSeconds) { | |||||
| PrintWriter out; | |||||
| try { | |||||
| Map retMap = new HashMap(); | |||||
| retMap.put("Key",key); | |||||
| retMap.put("Note","timecost:"+(System.currentTimeMillis()-startSeconds)+"; msg:"+msg); | |||||
| response.setContentType("application/json"); | |||||
| response.setCharacterEncoding("GB2312"); | |||||
| out = response.getWriter(); | |||||
| out.print("DATA="+JSON.toJSONString(retMap)); | |||||
| out.close(); | |||||
| } catch (IOException e) { | |||||
| logger.error(" jinmao writeResponse error.",e); | |||||
| } | |||||
| } | |||||
| /** | /** | ||||
| * Request: | * Request: | ||||
| @@ -257,25 +310,26 @@ public class JinMaoController extends BaseController { | |||||
| @RequestMapping(value = "/dfh/verify") | @RequestMapping(value = "/dfh/verify") | ||||
| public void dfhVerify(HttpServletRequest request,HttpServletResponse response) throws Exception { | public void dfhVerify(HttpServletRequest request,HttpServletResponse response) throws Exception { | ||||
| long currentTime = System.currentTimeMillis(); | |||||
| InputStream inputStream = null; | InputStream inputStream = null; | ||||
| try { | try { | ||||
| inputStream = request.getInputStream(); | inputStream = request.getInputStream(); | ||||
| String paramStr = IOUtils.toString(inputStream, "utf-8"); | String paramStr = IOUtils.toString(inputStream, "utf-8"); | ||||
| logger.info("dfh verify: {}",paramStr); | logger.info("dfh verify: {}",paramStr); | ||||
| if (StringUtils.isBlank(paramStr)) { | if (StringUtils.isBlank(paramStr)) { | ||||
| generateResult(response,true,false, null, "参数不能为空paramStr", null, "参数非法"); | |||||
| generateResult(response,true,false, null, "参数不能为空paramStr", null, "参数非法",currentTime); | |||||
| return ; | return ; | ||||
| } | } | ||||
| Map param = JSON.parseObject(paramStr, Map.class); | Map param = JSON.parseObject(paramStr, Map.class); | ||||
| String typeStr = param.get("type")==null?"":param.get("type").toString(); | String typeStr = param.get("type")==null?"":param.get("type").toString(); | ||||
| if (StringUtils.isBlank(typeStr) || (!"9".equals(typeStr))) { | if (StringUtils.isBlank(typeStr) || (!"9".equals(typeStr))) { | ||||
| generateResult(response,true,false, null, "参数非法type"+typeStr, null, "参数非法"); | |||||
| generateResult(response,true,false, null, "参数非法type"+typeStr, null, "参数非法",currentTime); | |||||
| return ; | return ; | ||||
| } | } | ||||
| String couponOrderIdStr = param.get("Card")==null?"":param.get("Card").toString(); | String couponOrderIdStr = param.get("Card")==null?"":param.get("Card").toString(); | ||||
| if (StringUtils.isBlank(couponOrderIdStr)) { | if (StringUtils.isBlank(couponOrderIdStr)) { | ||||
| generateResult(response,true,false, null, "参数不能为空Card", null, "参数非法"); | |||||
| generateResult(response,true,false, null, "参数不能为空Card", null, "参数非法",currentTime); | |||||
| return ; | return ; | ||||
| } | } | ||||
| String mac = (String)param.get("MAC"); | String mac = (String)param.get("MAC"); | ||||
| @@ -288,7 +342,7 @@ public class JinMaoController extends BaseController { | |||||
| String expiredtimeStr = decodeids[1]; | String expiredtimeStr = decodeids[1]; | ||||
| Date expiredtime = DateUtils.string2Date(expiredtimeStr).getTime(); | Date expiredtime = DateUtils.string2Date(expiredtimeStr).getTime(); | ||||
| if (expiredtime.before(new Date())) { | if (expiredtime.before(new Date())) { | ||||
| generateResult(response,true,false, null, "码已失效,请刷新", null, "码已失效"); | |||||
| generateResult(response,true,false, null, "码已失效,请刷新", null, "码已失效",currentTime); | |||||
| return ; | return ; | ||||
| } | } | ||||
| } | } | ||||
| @@ -299,24 +353,24 @@ public class JinMaoController extends BaseController { | |||||
| } catch (NumberFormatException e) { | } catch (NumberFormatException e) { | ||||
| couponOrderId = 0L; | couponOrderId = 0L; | ||||
| logger.error("couponOrderId参数不正确: " + param.toString()); | logger.error("couponOrderId参数不正确: " + param.toString()); | ||||
| generateResult(response,true,false, null, "参数非法Card"+couponOrderIdStr, null, "参数非法"); | |||||
| generateResult(response,true,false, null, "参数非法Card"+couponOrderIdStr, null, "参数非法",currentTime); | |||||
| return ; | return ; | ||||
| } | } | ||||
| try { | try { | ||||
| long currentTime = System.currentTimeMillis(); | |||||
| WxCouponOrder couponOrder = wxCouponOrderService.verifyByEquiment(couponOrderId, "789", "null", "闸机扫码核销[Serial:"+serial+",MAC:"+mac+"]"); | WxCouponOrder couponOrder = wxCouponOrderService.verifyByEquiment(couponOrderId, "789", "null", "闸机扫码核销[Serial:"+serial+",MAC:"+mac+"]"); | ||||
| generateResult(response,false,true, couponOrder.getCouponName(), "核销成功:"+(System.currentTimeMillis()-currentTime), String.valueOf(couponOrder.getId()), "核销成功"); | |||||
| generateResult(response,false,true, couponOrder.getCouponName(), "核销成功", String.valueOf(couponOrder.getId()), "核销成功",currentTime); | |||||
| return ; | return ; | ||||
| }catch(Exception e) { | }catch(Exception e) { | ||||
| logger.error("JinMaoController --dfhOrder",e); | logger.error("JinMaoController --dfhOrder",e); | ||||
| generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误"); | |||||
| generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误",currentTime); | |||||
| return ; | return ; | ||||
| } | } | ||||
| }catch(Exception e){ | }catch(Exception e){ | ||||
| logger.error("JinMaoController --dfhOrder",e); | logger.error("JinMaoController --dfhOrder",e); | ||||
| generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误"); | |||||
| generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误",currentTime); | |||||
| return ; | return ; | ||||
| }finally { | }finally { | ||||
| if (null != inputStream ) { | if (null != inputStream ) { | ||||
| @@ -341,7 +395,7 @@ public class JinMaoController extends BaseController { | |||||
| return new String(Base64Util.decode(secureUrlBase64)); | return new String(Base64Util.decode(secureUrlBase64)); | ||||
| } | } | ||||
| private void generateResult(HttpServletResponse response,boolean alerm,boolean open,String name, String msg,String card,String voice) { | |||||
| private void generateResult(HttpServletResponse response,boolean alerm,boolean open,String name, String msg,String card,String voice,long startTime) { | |||||
| Map<String,String> retMap = new HashMap<String,String>(); | Map<String,String> retMap = new HashMap<String,String>(); | ||||
| if (alerm) { | if (alerm) { | ||||
| //报警 | //报警 | ||||
| @@ -367,9 +421,11 @@ public class JinMaoController extends BaseController { | |||||
| } | } | ||||
| if (null != msg) { | if (null != msg) { | ||||
| try { | try { | ||||
| retMap.put("Note", new String(msg.getBytes(),"utf-8")); | |||||
| retMap.put("Note", "costtimes:"+(System.currentTimeMillis()-startTime)+";msg:"+new String(msg.getBytes(),"utf-8")); | |||||
| } catch (UnsupportedEncodingException e) { | } catch (UnsupportedEncodingException e) { | ||||
| } | } | ||||
| }else { | |||||
| retMap.put("Note", "costtimes:"+(System.currentTimeMillis()-startTime)); | |||||
| } | } | ||||
| if (null != card) { | if (null != card) { | ||||
| retMap.put("Card", card); | retMap.put("Card", card); | ||||