generated from root/miduo_server
Merge branch 'master_jieling' of http://60.1.1.230/mashiyu/delivery-server into master_jieling
commit
4e94dd8f37
|
@ -0,0 +1,86 @@
|
||||||
|
package com.jmfy.controller;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.jmfy.dto.CUserDao;
|
||||||
|
import com.jmfy.paramBean.PaySdkEnum;
|
||||||
|
import com.jmfy.util.JsonUtil;
|
||||||
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 浩凡游戏
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
public class HaoFanRechargeController {
|
||||||
|
|
||||||
|
private static final String PAYKEY = "AA594A9028E147D2AD28C9C1A156F9A1";
|
||||||
|
private static final String PAYKEY_IOS = "5A98DACA26C446EDB481AE3E617AFBB5";
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(HaoFanRechargeController.class);
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PayLogic payLogic;
|
||||||
|
|
||||||
|
private static boolean verifySign(Map<String, String> map, String sign) {
|
||||||
|
if (map == null || map.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append(map.get("orderNo")).append(map.get("userNo")).append(map.get("orderMoney"))
|
||||||
|
.append(map.get("pKey"));
|
||||||
|
String substring =builder.toString();
|
||||||
|
LOGGER.info("hao fan 参数拼装sign(未加密):" + substring);
|
||||||
|
String md5Hex = DigestUtils.md5Hex(substring).toUpperCase();
|
||||||
|
return md5Hex.equals(sign);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/Web/hanFanCallback")
|
||||||
|
public String youguCallback(HttpServletRequest request) throws Exception {
|
||||||
|
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap2(request);
|
||||||
|
if (parameterMap.isEmpty()) {
|
||||||
|
LOGGER.info("hao fan GameCallback data is null");
|
||||||
|
//return "FAIL";
|
||||||
|
}
|
||||||
|
|
||||||
|
String orderNo = request.getParameter("orderNo"); //此订单号由开发者生成,可用于对账、客服支持等。
|
||||||
|
String userNo = request.getParameter("userNo"); //玩家登录成功客户端回传的用户名
|
||||||
|
String orderMoney = request.getParameter("orderMoney"); //订单充值的金额,单位元(只接收 >=1 的整数位金额)
|
||||||
|
String flag = request.getParameter("flag"); //MD5(orderNo+userNo+orderMoney+PKEY).toUpperCase();
|
||||||
|
String companyOrderNo = request.getParameter("companyOrderNo"); //游戏传入外部订单号
|
||||||
|
String gamePid = request.getParameter("gamePid"); //游戏PID
|
||||||
|
String productId = request.getParameter("productId"); //物品id
|
||||||
|
String productName = request.getParameter("productName"); //物品名称
|
||||||
|
String remark = request.getParameter("remark"); //透传参数
|
||||||
|
String pKey = request.getParameter("pKey");
|
||||||
|
LOGGER.info("hao fan======》{}", parameterMap);
|
||||||
|
SortedMap<String, String> map = new TreeMap<>();
|
||||||
|
map.put("orderNo", orderNo);
|
||||||
|
map.put("userNo", userNo);
|
||||||
|
map.put("orderMoney", orderMoney);
|
||||||
|
map.put("pKey", pKey);
|
||||||
|
|
||||||
|
boolean valid = verifySign(map, flag);
|
||||||
|
if (!valid) {
|
||||||
|
LOGGER.info("callback==>extra={},sin verify fail");
|
||||||
|
return "FAIL";
|
||||||
|
}
|
||||||
|
int rmb = (int)Float.parseFloat(orderMoney)*100;
|
||||||
|
JsonObject jsonObject = new JsonObject();
|
||||||
|
|
||||||
|
if ("SUCCESS".equals(payLogic.initOrder(remark, orderNo, String.valueOf(rmb), new Date(), userNo, PaySdkEnum.HANFAN))) {
|
||||||
|
jsonObject.addProperty("code", "100");
|
||||||
|
jsonObject.addProperty("msg", "");
|
||||||
|
return jsonObject.toString();
|
||||||
|
} else {
|
||||||
|
jsonObject.addProperty("code", "-1");
|
||||||
|
jsonObject.addProperty("msg", "");
|
||||||
|
return jsonObject.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,6 +16,7 @@ public enum PaySdkEnum {
|
||||||
DY(6,"DY"),
|
DY(6,"DY"),
|
||||||
DUOYOU(7,"DUOYOU"),
|
DUOYOU(7,"DUOYOU"),
|
||||||
AIWAN(8,"AIWAN"),
|
AIWAN(8,"AIWAN"),
|
||||||
|
HANFAN(9,"HAOFAN"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
|
|
Loading…
Reference in New Issue