|
@@ -1,16 +1,17 @@
|
|
package com.zanxiang.sdk.service.Impl;
|
|
package com.zanxiang.sdk.service.Impl;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+
|
|
import com.alipay.easysdk.kernel.util.Signer;
|
|
import com.alipay.easysdk.kernel.util.Signer;
|
|
import com.zanxiang.common.enums.CpStatusEnum;
|
|
import com.zanxiang.common.enums.CpStatusEnum;
|
|
|
|
+import com.zanxiang.common.enums.PayDeviceEnum;
|
|
import com.zanxiang.common.enums.ResEnum;
|
|
import com.zanxiang.common.enums.ResEnum;
|
|
-import com.zanxiang.mybatis.entity.LogPayCp;
|
|
|
|
-import com.zanxiang.mybatis.entity.Order;
|
|
|
|
|
|
+import com.zanxiang.common.utils.StringUtils;
|
|
|
|
+import com.zanxiang.mybatis.entity.*;
|
|
import com.zanxiang.sdk.common.util.HttpUtil;
|
|
import com.zanxiang.sdk.common.util.HttpUtil;
|
|
import com.zanxiang.sdk.common.util.MD5Util;
|
|
import com.zanxiang.sdk.common.util.MD5Util;
|
|
import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
|
|
import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
|
|
-import com.zanxiang.sdk.service.LogPayCpService;
|
|
|
|
-import com.zanxiang.sdk.service.PerformOrderService;
|
|
|
|
-import com.zanxiang.sdk.service.PlatformOrderService;
|
|
|
|
|
|
+import com.zanxiang.sdk.service.*;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -19,10 +20,7 @@ import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.Locale;
|
|
|
|
-import java.util.TreeMap;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 订单履约逻辑
|
|
* 订单履约逻辑
|
|
@@ -43,28 +41,33 @@ public class PerformOrderServiceImpl implements PerformOrderService {
|
|
@Autowired
|
|
@Autowired
|
|
private LogPayCpService logPayCpService;
|
|
private LogPayCpService logPayCpService;
|
|
|
|
|
|
- public Boolean pushCp(String orderId) {
|
|
|
|
- PlatformOrderDTO info = platformOrderService.info(orderId);
|
|
|
|
- if (info == null) {
|
|
|
|
- logger.error("orderId:{} 订单不存在", orderId);
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- if (info.getCpStatus() == CpStatusEnum.SUCCESS.getCode()) {
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private UserService userService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private GamePayWayService gamePayWayService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PayMer
|
|
|
|
+
|
|
|
|
+ public Boolean pushCp(PlatformOrderDTO orderInfo) {
|
|
|
|
+ if (orderInfo.getCpStatus() == CpStatusEnum.SUCCESS.getCode()) {
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
+ String orderId = orderInfo.getId();
|
|
//todo 待完善
|
|
//todo 待完善
|
|
String app_key = "111";
|
|
String app_key = "111";
|
|
String cpPaybackUrl = "https://baidu.com";
|
|
String cpPaybackUrl = "https://baidu.com";
|
|
|
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
HashMap<String, String> map = new HashMap<>();
|
|
- map.put("app_id", info.getGameId());
|
|
|
|
- map.put("cp_order_id", info.getCpOrderId());
|
|
|
|
- map.put("mem_id", info.getMgUserId());
|
|
|
|
- map.put("order_status", String.valueOf(info.getStatus()));
|
|
|
|
- map.put("pay_time", String.valueOf(info.getPayTime()));
|
|
|
|
- map.put("product_id", info.getProductId());
|
|
|
|
- map.put("product_price", String.valueOf(info.getAmount()));
|
|
|
|
- map.put("ext", info.getExt());
|
|
|
|
|
|
+ map.put("app_id", 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", app_key);
|
|
map.put("app_key", app_key);
|
|
TreeMap<String, String> keySort = new TreeMap<>(map);
|
|
TreeMap<String, String> keySort = new TreeMap<>(map);
|
|
//拼接字符串
|
|
//拼接字符串
|
|
@@ -78,7 +81,7 @@ public class PerformOrderServiceImpl implements PerformOrderService {
|
|
//拼接sign请求
|
|
//拼接sign请求
|
|
param += "&sign=" + sign;
|
|
param += "&sign=" + sign;
|
|
try {
|
|
try {
|
|
- Integer i = info.getCpNotifyCnt() + 1;
|
|
|
|
|
|
+ Integer i = orderInfo.getCpNotifyCnt() + 1;
|
|
String s = HttpUtil.postData(cpPaybackUrl, param);
|
|
String s = HttpUtil.postData(cpPaybackUrl, param);
|
|
Boolean pushSuccess = false;
|
|
Boolean pushSuccess = false;
|
|
if (s.trim().toLowerCase(Locale.ROOT).equals(ResEnum.SUCCESS.getMsg())) {
|
|
if (s.trim().toLowerCase(Locale.ROOT).equals(ResEnum.SUCCESS.getMsg())) {
|
|
@@ -93,12 +96,12 @@ public class PerformOrderServiceImpl implements PerformOrderService {
|
|
}
|
|
}
|
|
LogPayCp logPayCp = new LogPayCp();
|
|
LogPayCp logPayCp = new LogPayCp();
|
|
logPayCp.setOrderId(orderId);
|
|
logPayCp.setOrderId(orderId);
|
|
- logPayCp.setCpOrderId(info.getCpOrderId());
|
|
|
|
- logPayCp.setStatus(info.getStatus());
|
|
|
|
|
|
+ logPayCp.setCpOrderId(orderInfo.getCpOrderId());
|
|
|
|
+ logPayCp.setStatus(orderInfo.getStatus());
|
|
logPayCp.setCpStatus(pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode());
|
|
logPayCp.setCpStatus(pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode());
|
|
logPayCp.setCpPaybackUrl(cpPaybackUrl);
|
|
logPayCp.setCpPaybackUrl(cpPaybackUrl);
|
|
logPayCp.setParams(param);
|
|
logPayCp.setParams(param);
|
|
- logPayCp.setExt(info.getExt());
|
|
|
|
|
|
+ logPayCp.setExt(orderInfo.getExt());
|
|
logPayCp.setNotifyCnt(i);
|
|
logPayCp.setNotifyCnt(i);
|
|
logPayCpService.save(logPayCp);
|
|
logPayCpService.save(logPayCp);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -109,7 +112,85 @@ public class PerformOrderServiceImpl implements PerformOrderService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Boolean createOrderComplete(String orderId) {
|
|
|
|
|
|
+ public Boolean createOrderComplete(PlatformOrderDTO orderInfo) {
|
|
|
|
+ OrderComplete orderComplete = new OrderComplete();
|
|
|
|
+ orderComplete.setOrderId(Long.valueOf(orderInfo.getId()));
|
|
|
|
+ orderComplete.setGameId(StringUtils.isNotEmpty(orderInfo.getGameId()) ? Long.valueOf(orderInfo.getGameId()) : null);
|
|
|
|
+ orderComplete.setOrderDate(orderInfo.getCreateTime());
|
|
|
|
+ orderComplete.setCpOrderId(StringUtils.isNotEmpty(orderInfo.getCpOrderId()) ? orderInfo.getCpOrderId() : "");
|
|
|
|
+ orderComplete.setMerchantOrderNo(orderInfo.getMerchantOrderNo());
|
|
|
|
+ orderComplete.setUserId(StringUtils.isNotEmpty(orderInfo.getUserId()) ? Long.valueOf(orderInfo.getUserId()) : null);
|
|
|
|
+ orderComplete.setCpId(StringUtils.isNotEmpty(orderInfo.getCpId()) ? Long.valueOf(orderInfo.getCpId()) : null);
|
|
|
|
+ orderComplete.setProductId(orderInfo.getProductId());
|
|
|
|
+ orderComplete.setProductName(orderInfo.getProductName());
|
|
|
|
+ orderComplete.setOrderAmount(orderInfo.getAmount());
|
|
|
|
+ orderComplete.setRealAmount(orderInfo.getRealAmount());
|
|
|
|
+ orderComplete.setIsSwitch(orderInfo.getIsSwitch());
|
|
|
|
+ orderComplete.setPayTime(orderInfo.getPayTime());
|
|
|
|
+ orderComplete.setLastCpNotifyTime(orderInfo.getLastCpNotifyTime());
|
|
|
|
+ orderComplete.setStatus(orderInfo.getStatus());
|
|
|
|
+ orderComplete.setCpStatus(orderInfo.getCpStatus());
|
|
|
|
+ orderComplete.setIsDelete(orderInfo.getIsDelete());
|
|
|
|
+ orderComplete.setChannel(orderInfo.getChannel());
|
|
|
|
+ orderComplete.setCreateTime(orderInfo.getCreateTime());
|
|
|
|
+ orderComplete.setEndTime(orderInfo.getEndTime());
|
|
|
|
+ orderComplete.setPayDevice(orderInfo.getPayDevice());
|
|
|
|
+
|
|
|
|
+ /*-------支付那一刻系统------*/
|
|
|
|
+ orderComplete.setFromDevice(orderInfo.getFromDevice());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //todo 获取游戏信息
|
|
|
|
+ orderComplete.setGameName("");
|
|
|
|
+ orderComplete.setGameCategory("");
|
|
|
|
+ orderComplete.setGameRegional("");
|
|
|
|
+ orderComplete.setGameRole("");
|
|
|
|
+ orderComplete.setGameLevel("");
|
|
|
|
+ orderComplete.setGameVip("");
|
|
|
|
+
|
|
|
|
+ //todo 获取玩家账号信息
|
|
|
|
+ orderComplete.setUserAccount("");
|
|
|
|
+ orderComplete.setUserRegisterTime(new Date());
|
|
|
|
+ orderComplete.setUserRegisterGameId(0L);
|
|
|
|
+ orderComplete.setUserRegisterGame("");
|
|
|
|
+ orderComplete.setUserRegisterGameCategory("");
|
|
|
|
+ orderComplete.setUserRegisterChannel("");
|
|
|
|
+
|
|
|
|
+ if (StringUtils.isNotEmpty(orderInfo.getUserId())) {
|
|
|
|
+ User userInfo = userService.getById(orderInfo.getUserId());
|
|
|
|
+ if (!Objects.isNull(userInfo)) {
|
|
|
|
+ orderComplete.setUserAccount(userInfo.getUsername());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //todo 推广相关信息
|
|
|
|
+ orderComplete.setAgentId("");
|
|
|
|
+ orderComplete.setAgentAccount("");
|
|
|
|
+ orderComplete.setAgentMedia("");
|
|
|
|
+ orderComplete.setAgentAdvert("");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //todo 支付相关信息
|
|
|
|
+ orderComplete.setPayWayId("");
|
|
|
|
+ orderComplete.setPayWay("");
|
|
|
|
+ orderComplete.setMerchantNo("");
|
|
|
|
+ orderComplete.setMerchantName("");
|
|
|
|
+ if (StringUtils.isNotEmpty(orderInfo.getGamePaywayId())) {
|
|
|
|
+ GamePayWay gamePayWay = gamePayWayService.getInfo(orderInfo.getGamePaywayId());
|
|
|
|
+ if (!Objects.isNull(gamePayWay)) {
|
|
|
|
+ orderComplete.setPayWayId(gamePayWay.getPayWayId() > 0 ? String.valueOf(gamePayWay.getPayWayId()) : null);
|
|
|
|
+ orderComplete.setPayWay(gamePayWay.getPayWayName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //todo 是否首充单独更新
|
|
|
|
+ orderComplete.setIsFirstRecharge(0);
|
|
|
|
+
|
|
|
|
+ //todo 广告通知状态
|
|
|
|
+ orderComplete.setAdvertNotifyStatus(0);
|
|
|
|
+ orderComplete.setAdvertNotifyType(0);
|
|
|
|
+
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|