club_delivery/src/main/java/com/ljsd/controller/Rebate9kController.java

86 lines
3.4 KiB
Java

package com.ljsd.controller;
import com.google.gson.Gson;
import com.ljsd.pojo.ResultVo;
import com.ljsd.redis.RedisKey;
import com.ljsd.util.BaseGlobal;
import com.ljsd.util.HttpUtil;
import com.ljsd.util.MyMD5Util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
/**
* @author gaojie
* @version V1.0
* @className RechargeController
* @packageName com.ljsd.controller
* @description bt 充值返利
* @date 2022-02-21 14:10
* copyright(c) 2020-2030 蓝鲸时代技术有限公司
**/
public class Rebate9kController extends HttpServlet {
private static final Logger LOGGER = LoggerFactory.getLogger(Rebate9kController.class);
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("application/json; charset=utf-8");
PrintWriter out = resp.getWriter();
HashMap<String, String> parameterMap = HttpUtil.getParameterMap(req);
String rebateType = parameterMap.get("rebate_type");
String rebate_no = parameterMap.get("rebate_no");
String gameOrderNo = parameterMap.get("game_order_no");
String accountid = parameterMap.get("user_id");
String payMoney = parameterMap.get("pay_money");
String gold = parameterMap.get("gold");
String gameId = parameterMap.get("game_id");
String serviceId = parameterMap.get("service_id");
String roleId = parameterMap.get("role_id");
String roleName = parameterMap.get("role_name");
String payTime = parameterMap.get("time");
String payStatus = parameterMap.get("pay_status");
String sign = parameterMap.get("sign");
boolean isSignSuccess = false;
for (String value : BaseGlobal.PAY_KEY.values()) {
String info =rebateType + rebate_no + HttpUtil.getUrlEncoder(gameOrderNo) + HttpUtil.getUrlEncoder(accountid) + payMoney + gold + gameId + HttpUtil.getUrlEncoder(serviceId)
+ HttpUtil.getUrlEncoder(roleId) +payTime + value;
String sig = MyMD5Util.encrypByMd5(info);
if (sig.equals(sign)){
isSignSuccess = true;
break;
}
LOGGER.info("rebate()info={}, 9k_md5Sign={},sig" + "={} sin derify fail !!!",info,sign,sig);
}
if (!isSignSuccess) {
ResultVo resultVo = new ResultVo(100,"sign fail");
out.print(HttpUtil.getResult(resultVo));
out.flush();
return;
}
try {
Gson gson = new Gson();
BaseGlobal.redisApp.hset( serviceId + ":" + RedisKey.BT_REBATE_KEY,"",rebate_no,gson.toJson(parameterMap),-1);
} catch (Exception e) {
e.printStackTrace();
}
String result = HttpUtil.getResult(new ResultVo(200, "success"));
LOGGER.info("Rebate9kController==>url:{},result={}",req.getRequestURI(),result);
out.print(result);
out.flush();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}