|
@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.zanxiang.common.enums.DeleteEnum;
|
|
import com.zanxiang.common.enums.DeleteEnum;
|
|
|
|
+import com.zanxiang.common.enums.PayDeviceEnum;
|
|
import com.zanxiang.common.enums.PayWayEnum;
|
|
import com.zanxiang.common.enums.PayWayEnum;
|
|
import com.zanxiang.common.enums.StatusEnum;
|
|
import com.zanxiang.common.enums.StatusEnum;
|
|
import com.zanxiang.common.exception.BaseException;
|
|
import com.zanxiang.common.exception.BaseException;
|
|
|
|
+import com.zanxiang.common.utils.StringUtils;
|
|
import com.zanxiang.common.utils.bean.BeanUtils;
|
|
import com.zanxiang.common.utils.bean.BeanUtils;
|
|
import com.zanxiang.manage.domain.dto.*;
|
|
import com.zanxiang.manage.domain.dto.*;
|
|
import com.zanxiang.manage.domain.params.GamePayWayAddUpdateParam;
|
|
import com.zanxiang.manage.domain.params.GamePayWayAddUpdateParam;
|
|
@@ -19,6 +21,7 @@ import com.zanxiang.mybatis.entity.GameApplet;
|
|
import com.zanxiang.mybatis.entity.GamePayWay;
|
|
import com.zanxiang.mybatis.entity.GamePayWay;
|
|
import com.zanxiang.mybatis.mapper.GamePayWayMapper;
|
|
import com.zanxiang.mybatis.mapper.GamePayWayMapper;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.apache.logging.log4j.util.Strings;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -72,7 +75,9 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
gamePayWay = new GamePayWay();
|
|
gamePayWay = new GamePayWay();
|
|
|
|
+ gamePayWay.setGameId(param.getGameId());
|
|
gamePayWay.setPayWayId(param.getPayWayId());
|
|
gamePayWay.setPayWayId(param.getPayWayId());
|
|
|
|
+ gamePayWay.setPayDeviceId(param.getPayDeviceId());
|
|
gamePayWay.setStatus(StatusEnum.YES.getCode());
|
|
gamePayWay.setStatus(StatusEnum.YES.getCode());
|
|
gamePayWay.setIsDelete(DeleteEnum.NO.getCode());
|
|
gamePayWay.setIsDelete(DeleteEnum.NO.getCode());
|
|
gamePayWay.setCreateTime(LocalDateTime.now());
|
|
gamePayWay.setCreateTime(LocalDateTime.now());
|
|
@@ -85,6 +90,9 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
|
|
Long payWayId = gamePayWay.getPayWayId();
|
|
Long payWayId = gamePayWay.getPayWayId();
|
|
if (Objects.equals(PayWayEnum.ALI_PAY.getPayWayId(), payWayId.intValue())) {
|
|
if (Objects.equals(PayWayEnum.ALI_PAY.getPayWayId(), payWayId.intValue())) {
|
|
GamePayWayAddUpdateParam.AliPayConfigBean aliPayConfig = param.getAliPayConfig();
|
|
GamePayWayAddUpdateParam.AliPayConfigBean aliPayConfig = param.getAliPayConfig();
|
|
|
|
+ if (aliPayConfig == null || Strings.isBlank(aliPayConfig.getAppId())) {
|
|
|
|
+ throw new BaseException("参数错误, 支付宝支付配置为空");
|
|
|
|
+ }
|
|
if (!Objects.equals(aliPayConfig.getAppId(), gamePayWay.getAppId())) {
|
|
if (!Objects.equals(aliPayConfig.getAppId(), gamePayWay.getAppId())) {
|
|
PayApplicationDTO payApplicationDTO = payApplicationService.getByAppId(aliPayConfig.getAppId());
|
|
PayApplicationDTO payApplicationDTO = payApplicationService.getByAppId(aliPayConfig.getAppId());
|
|
gamePayWay.setAppId(payApplicationDTO.getAppId());
|
|
gamePayWay.setAppId(payApplicationDTO.getAppId());
|
|
@@ -94,7 +102,26 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
|
|
}
|
|
}
|
|
if (Objects.equals(PayWayEnum.WX_PAY.getPayWayId(), payWayId.intValue())) {
|
|
if (Objects.equals(PayWayEnum.WX_PAY.getPayWayId(), payWayId.intValue())) {
|
|
GamePayWayAddUpdateParam.WxPayConfigBean wxPayConfig = param.getWxPayConfig();
|
|
GamePayWayAddUpdateParam.WxPayConfigBean wxPayConfig = param.getWxPayConfig();
|
|
- if (gamePayWay.getAppId() == null || !Objects.equals(wxPayConfig.getAppId(), gamePayWay.getAppId())) {
|
|
|
|
|
|
+ if (wxPayConfig == null) {
|
|
|
|
+ throw new BaseException("参数错误, 微信支付参数配置为空");
|
|
|
|
+ }
|
|
|
|
+ Long payDeviceId = gamePayWay.getPayDeviceId();
|
|
|
|
+ if (Objects.equals(payDeviceId, PayDeviceEnum.PC_PAY.getPayDeviceId())
|
|
|
|
+ || Objects.equals(payDeviceId, PayDeviceEnum.H5_PAY.getPayDeviceId())) {
|
|
|
|
+ if (StringUtils.isAnyEmpty(wxPayConfig.getAppId(), wxPayConfig.getMerchantNo())) {
|
|
|
|
+ throw new BaseException("参数错误, PC二维码和H5支付, 缺少商户号");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (Objects.equals(payDeviceId, PayDeviceEnum.APPLET_PAY.getPayDeviceId())
|
|
|
|
+ || Objects.equals(payDeviceId, PayDeviceEnum.CUSTOM_PAY.getPayDeviceId())) {
|
|
|
|
+ if (wxPayConfig.getPayBoxId() == null) {
|
|
|
|
+ throw new BaseException("参数错误, 小程序支付和客服支付缺少盒子id");
|
|
|
|
+ }
|
|
|
|
+ if (Objects.equals(payDeviceId, PayDeviceEnum.CUSTOM_PAY.getPayDeviceId()) && Strings.isBlank(wxPayConfig.getThumbUrl())) {
|
|
|
|
+ throw new BaseException("参数错误, 客服支付缺少消息图片地址");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (!Objects.equals(wxPayConfig.getAppId(), gamePayWay.getAppId())) {
|
|
PayApplicationDTO payApplicationDTO = payApplicationService.getByAppId(wxPayConfig.getAppId());
|
|
PayApplicationDTO payApplicationDTO = payApplicationService.getByAppId(wxPayConfig.getAppId());
|
|
gamePayWay.setAppId(payApplicationDTO.getAppId());
|
|
gamePayWay.setAppId(payApplicationDTO.getAppId());
|
|
gamePayWay.setAppName(payApplicationDTO.getAppName());
|
|
gamePayWay.setAppName(payApplicationDTO.getAppName());
|
|
@@ -105,6 +132,9 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
|
|
}
|
|
}
|
|
if (Objects.equals(PayWayEnum.MI_PAY.getPayWayId(), payWayId.intValue())) {
|
|
if (Objects.equals(PayWayEnum.MI_PAY.getPayWayId(), payWayId.intValue())) {
|
|
GamePayWayAddUpdateParam.MiPayConfigBean miPayConfig = param.getMiPayConfig();
|
|
GamePayWayAddUpdateParam.MiPayConfigBean miPayConfig = param.getMiPayConfig();
|
|
|
|
+ if (miPayConfig == null || StringUtils.isAnyEmpty(miPayConfig.getAppId(), miPayConfig.getAppKey(), miPayConfig.getAppKeyDev())) {
|
|
|
|
+ throw new BaseException("参数错误, 米大师支付参数配置不全");
|
|
|
|
+ }
|
|
gameAppletService.update(new LambdaUpdateWrapper<GameApplet>()
|
|
gameAppletService.update(new LambdaUpdateWrapper<GameApplet>()
|
|
.set(GameApplet::getMiPayAppId, miPayConfig.getAppId())
|
|
.set(GameApplet::getMiPayAppId, miPayConfig.getAppId())
|
|
.set(GameApplet::getMiPayAppKey, miPayConfig.getAppKey())
|
|
.set(GameApplet::getMiPayAppKey, miPayConfig.getAppKey())
|