Parcourir la source

feat : sdk对接修改

bilingfeng il y a 2 ans
Parent
commit
2d5cf16b8c

+ 31 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/GamePayWayServiceImpl.java

@@ -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())