|
@@ -11,6 +11,7 @@ import com.zanxiang.common.enums.ResEnum;
|
|
import com.zanxiang.common.utils.DateUtils;
|
|
import com.zanxiang.common.utils.DateUtils;
|
|
import com.zanxiang.common.utils.MD5Util;
|
|
import com.zanxiang.common.utils.MD5Util;
|
|
import com.zanxiang.common.utils.StringUtils;
|
|
import com.zanxiang.common.utils.StringUtils;
|
|
|
|
+import com.zanxiang.module.util.JsonUtil;
|
|
import com.zanxiang.mybatis.entity.*;
|
|
import com.zanxiang.mybatis.entity.*;
|
|
import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
|
|
import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
|
|
import com.zanxiang.sdk.domain.mapper.OrderCompleteCreateMapper;
|
|
import com.zanxiang.sdk.domain.mapper.OrderCompleteCreateMapper;
|
|
@@ -75,75 +76,84 @@ public class PerformOrderServiceImpl implements PerformOrderService {
|
|
@Override
|
|
@Override
|
|
public Boolean pushCp(PlatformOrderDTO orderInfo) {
|
|
public Boolean pushCp(PlatformOrderDTO orderInfo) {
|
|
logger.info("订单:{} 充值成功推送cp方回调 ----------start---------", orderInfo.getId());
|
|
logger.info("订单:{} 充值成功推送cp方回调 ----------start---------", orderInfo.getId());
|
|
- if (orderInfo.getCpStatus() == CpStatusEnum.SUCCESS.getCode()) {
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
- if (orderInfo.getGameId() <= 0) {
|
|
|
|
- logger.error("订单:{} 充值成功推送cp方回调失败,订单中GameId不存在", orderInfo.getId());
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- String orderId = orderInfo.getId();
|
|
|
|
|
|
|
|
- //获取游戏中的app_key与app_key信息
|
|
|
|
- Game gameInfo = gameService.getById(orderInfo.getGameId());
|
|
|
|
- if (Objects.isNull(gameInfo)) {
|
|
|
|
- logger.error("订单:{} 充值成功推送cp方回调失败,订单中GameId:{} 的游戏信息未找到", orderInfo.getId(), orderInfo.getGameId());
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- String appKey = gameInfo.getAppKey();
|
|
|
|
- String cpPaybackUrl = gameInfo.getCpPaybackUrl();
|
|
|
|
- if (StringUtils.isEmpty(gameInfo.getAppKey()) || StringUtils.isEmpty(gameInfo.getCpPaybackUrl())) {
|
|
|
|
- logger.error("订单:{} 充值成功推送cp方回调失败,订单中GameId:{} 的游戏信息中,AppKey:{} 或 CpPaybackUrl:{} 为空", orderInfo.getId(), orderInfo.getGameId(), appKey, cpPaybackUrl);
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ logger.error("推送CP方---------------------> " + JsonUtil.toString(orderInfo));
|
|
|
|
+
|
|
|
|
+// if (orderInfo.getCpStatus() == CpStatusEnum.SUCCESS.getCode()) {
|
|
|
|
+// return true;
|
|
|
|
+// }
|
|
|
|
+// //订单id
|
|
|
|
+// String orderId = orderInfo.getCpOrderId();
|
|
|
|
+// //获取游戏中的app_key与app_key信息
|
|
|
|
+// Game gameInfo = gameService.getById(orderInfo.getGameId());
|
|
|
|
+//
|
|
|
|
+// String appKey = gameInfo.getAppKey();
|
|
|
|
+// String cpPaybackUrl = gameInfo.getCpPaybackUrl();
|
|
|
|
+// if (StringUtils.isEmpty(gameInfo.getAppKey()) || StringUtils.isEmpty(gameInfo.getCpPaybackUrl())) {
|
|
|
|
+// logger.error("订单:{} 充值成功推送cp方回调失败,订单中GameId:{} 的游戏信息中,AppKey:{} 或 CpPaybackUrl:{} 为空", orderInfo.getId(), orderInfo.getGameId(), appKey, cpPaybackUrl);
|
|
|
|
+// return false;
|
|
|
|
+// }
|
|
|
|
+// HashMap<String, String> map = new HashMap<>();
|
|
|
|
+// map.put("app_id", String.valueOf(orderInfo.getGameId()));
|
|
|
|
+// map.put("cp_order_id", orderInfo.getCpOrderId());
|
|
|
|
+// map.put("mem_id", orderInfo.getMgUserId());
|
|
|
|
+// map.put("order_status", String.valueOf(orderInfo.getStatus()));
|
|
|
|
+// map.put("pay_time", String.valueOf(orderInfo.getPayTime()));
|
|
|
|
+// map.put("product_id", orderInfo.getProductId());
|
|
|
|
+// map.put("product_price", String.valueOf(orderInfo.getAmount()));
|
|
|
|
+// map.put("ext", orderInfo.getExt());
|
|
|
|
+// map.put("app_key", appKey);
|
|
|
|
+// TreeMap<String, String> keySort = new TreeMap<>(map);
|
|
|
|
+// //拼接字符串
|
|
|
|
+// String param = Signer.getSignCheckContent(keySort);
|
|
|
|
+// //拼接app_key
|
|
|
|
+// param += "&app_key=" + appKey;
|
|
|
|
+// //生成sign
|
|
|
|
+// String sign = MD5Util.MD5Encode(param, Constants.UTF8);
|
|
|
|
+// map.remove("app_key");
|
|
|
|
+// map.put("sign", sign);
|
|
|
|
+// //拼接sign请求
|
|
|
|
+// param += "&sign=" + sign;
|
|
|
|
+// try {
|
|
|
|
+// Integer i = orderInfo.getCpNotifyCnt() + 1;
|
|
|
|
+// String s = HttpUtil.postData(cpPaybackUrl, param);
|
|
|
|
+// boolean pushSuccess = s.trim().toLowerCase(Locale.ROOT).equals(ResEnum.SUCCESS.getMsg());
|
|
|
|
+// //更新订单状态
|
|
|
|
+// Order order = new Order();
|
|
|
|
+// order.setId(orderId);
|
|
|
|
+// order.setCpNotifyCnt(i);
|
|
|
|
+// order.setLastCpNotifyTime(LocalDateTime.now());
|
|
|
|
+// order.setCpStatus(pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode());
|
|
|
|
+// platformOrderService.updateById(order);
|
|
|
|
+// LogPayCp logPayCp = new LogPayCp();
|
|
|
|
+// logPayCp.setOrderId(orderId);
|
|
|
|
+// logPayCp.setCpOrderId(orderInfo.getCpOrderId());
|
|
|
|
+// logPayCp.setStatus(orderInfo.getStatus());
|
|
|
|
+// logPayCp.setCpStatus(pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode());
|
|
|
|
+// logPayCp.setCpPaybackUrl(cpPaybackUrl);
|
|
|
|
+// logPayCp.setParams(param);
|
|
|
|
+// logPayCp.setExt(orderInfo.getExt());
|
|
|
|
+// logPayCp.setNotifyCnt(i);
|
|
|
|
+// logPayCpService.save(logPayCp);
|
|
|
|
+// logger.info("订单:{} 充值成功推送cp方回调 ----------end---------", orderInfo.getId());
|
|
|
|
+// return true;
|
|
|
|
+// } catch (Exception e) {
|
|
|
|
+// logger.error("订单:{} 充值成功推送cp方回调 失败 e:{}", orderId, e);
|
|
|
|
+// }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void test(){
|
|
|
|
+ String url = "https://api.vmicro.cn/pm/notify/ly.php?channel_id=61";
|
|
HashMap<String, String> map = new HashMap<>();
|
|
HashMap<String, String> map = new HashMap<>();
|
|
- map.put("app_id", String.valueOf(orderInfo.getGameId()));
|
|
|
|
- map.put("cp_order_id", orderInfo.getCpOrderId());
|
|
|
|
- map.put("mem_id", orderInfo.getMgUserId());
|
|
|
|
- map.put("order_status", String.valueOf(orderInfo.getStatus()));
|
|
|
|
- map.put("pay_time", String.valueOf(orderInfo.getPayTime()));
|
|
|
|
- map.put("product_id", orderInfo.getProductId());
|
|
|
|
- map.put("product_price", String.valueOf(orderInfo.getAmount()));
|
|
|
|
- map.put("ext", orderInfo.getExt());
|
|
|
|
- map.put("app_key", appKey);
|
|
|
|
- TreeMap<String, String> keySort = new TreeMap<>(map);
|
|
|
|
- //拼接字符串
|
|
|
|
- String param = Signer.getSignCheckContent(keySort);
|
|
|
|
- //拼接app_key
|
|
|
|
- param += "&app_key=" + appKey;
|
|
|
|
- //生成sign
|
|
|
|
- String sign = MD5Util.MD5Encode(param, Constants.UTF8);
|
|
|
|
- map.remove("app_key");
|
|
|
|
- map.put("sign", sign);
|
|
|
|
- //拼接sign请求
|
|
|
|
- param += "&sign=" + sign;
|
|
|
|
- try {
|
|
|
|
- Integer i = orderInfo.getCpNotifyCnt() + 1;
|
|
|
|
- String s = HttpUtil.postData(cpPaybackUrl, param);
|
|
|
|
- boolean pushSuccess = s.trim().toLowerCase(Locale.ROOT).equals(ResEnum.SUCCESS.getMsg());
|
|
|
|
- //更新订单状态
|
|
|
|
- Order order = new Order();
|
|
|
|
- order.setId(orderId);
|
|
|
|
- order.setCpNotifyCnt(i);
|
|
|
|
- order.setLastCpNotifyTime(LocalDateTime.now());
|
|
|
|
- order.setCpStatus(pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode());
|
|
|
|
- platformOrderService.updateById(order);
|
|
|
|
- LogPayCp logPayCp = new LogPayCp();
|
|
|
|
- logPayCp.setOrderId(orderId);
|
|
|
|
- logPayCp.setCpOrderId(orderInfo.getCpOrderId());
|
|
|
|
- logPayCp.setStatus(orderInfo.getStatus());
|
|
|
|
- logPayCp.setCpStatus(pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode());
|
|
|
|
- logPayCp.setCpPaybackUrl(cpPaybackUrl);
|
|
|
|
- logPayCp.setParams(param);
|
|
|
|
- logPayCp.setExt(orderInfo.getExt());
|
|
|
|
- logPayCp.setNotifyCnt(i);
|
|
|
|
- logPayCpService.save(logPayCp);
|
|
|
|
- logger.info("订单:{} 充值成功推送cp方回调 ----------end---------", orderInfo.getId());
|
|
|
|
- return true;
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- logger.error("订单:{} 充值成功推送cp方回调 失败 e:{}", orderId, e);
|
|
|
|
- }
|
|
|
|
- return false;
|
|
|
|
|
|
+ map.put("userId", "83");
|
|
|
|
+ map.put("money", "10");
|
|
|
|
+ map.put("time", String.valueOf(System.currentTimeMillis()));
|
|
|
|
+ map.put("serverId", "60076");
|
|
|
|
+ map.put("roleId", "635788e11100264a56573114");
|
|
|
|
+ map.put("roleName", "付晓亦");
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|