Просмотр исходного кода

Merge branch 'release_toaliyun_real_2022_01' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_2022_01

release_toaliyun_real
xhxu 4 лет назад
Родитель
Сommit
e135c2d48c
1 измененных файлов: 67 добавлений и 11 удалений
  1. +67
    -11
      mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java

+ 67
- 11
mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java Просмотреть файл

@@ -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:
@@ -257,25 +310,26 @@ public class JinMaoController extends BaseController {
@RequestMapping(value = "/dfh/verify")
public void dfhVerify(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 verify: {}",paramStr);
if (StringUtils.isBlank(paramStr)) {
generateResult(response,true,false, null, "参数不能为空paramStr", null, "参数非法");
generateResult(response,true,false, null, "参数不能为空paramStr", null, "参数非法",currentTime);
return ;
}
Map param = JSON.parseObject(paramStr, Map.class);
String typeStr = param.get("type")==null?"":param.get("type").toString();
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 ;
}
String couponOrderIdStr = param.get("Card")==null?"":param.get("Card").toString();
if (StringUtils.isBlank(couponOrderIdStr)) {
generateResult(response,true,false, null, "参数不能为空Card", null, "参数非法");
generateResult(response,true,false, null, "参数不能为空Card", null, "参数非法",currentTime);
return ;
}
String mac = (String)param.get("MAC");
@@ -288,7 +342,7 @@ public class JinMaoController extends BaseController {
String expiredtimeStr = decodeids[1];
Date expiredtime = DateUtils.string2Date(expiredtimeStr).getTime();
if (expiredtime.before(new Date())) {
generateResult(response,true,false, null, "码已失效,请刷新", null, "码已失效");
generateResult(response,true,false, null, "码已失效,请刷新", null, "码已失效",currentTime);
return ;
}
}
@@ -299,24 +353,24 @@ public class JinMaoController extends BaseController {
} catch (NumberFormatException e) {
couponOrderId = 0L;
logger.error("couponOrderId参数不正确: " + param.toString());
generateResult(response,true,false, null, "参数非法Card"+couponOrderIdStr, null, "参数非法");
generateResult(response,true,false, null, "参数非法Card"+couponOrderIdStr, null, "参数非法",currentTime);
return ;
}

try {
long currentTime = System.currentTimeMillis();
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 ;
}catch(Exception e) {
logger.error("JinMaoController --dfhOrder",e);
generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误");
generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误",currentTime);
return ;
}
}catch(Exception e){
logger.error("JinMaoController --dfhOrder",e);
generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误");
generateResult(response,true,false, null, "核销错误"+e.getMessage(), null, "核销错误",currentTime);
return ;
}finally {
if (null != inputStream ) {
@@ -341,7 +395,7 @@ public class JinMaoController extends BaseController {
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>();
if (alerm) {
//报警
@@ -367,9 +421,11 @@ public class JinMaoController extends BaseController {
}
if (null != msg) {
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) {
}
}else {
retMap.put("Note", "costtimes:"+(System.currentTimeMillis()-startTime));
}
if (null != card) {
retMap.put("Card", card);


Загрузка…
Отмена
Сохранить