فهرست منبع

feat : 去掉订单宽表, 接入用户回传和订单回传

bilingfeng 2 سال پیش
والد
کامیت
1ac4e76865
30فایلهای تغییر یافته به همراه381 افزوده شده و 668 حذف شده
  1. 0 3
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/CpController.java
  2. 4 3
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/GameController.java
  3. 0 165
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/OrderCompleteParam.java
  4. 5 13
      game-module/game-manage/src/main/resources/bootstrap.yml
  5. 0 261
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/OrderComplete.java
  6. 0 1
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayMerchant.java
  7. 0 15
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/OrderCompleteMapper.java
  8. 0 4
      game-module/game-mybatis/src/main/resources/mapper/OrderCompleteMapper.xml
  9. 15 0
      game-module/game-sdk/pom.xml
  10. 2 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/SDKApplication.java
  11. 1 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/PayController.java
  12. 70 10
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/dto/PlatformOrderDTO.java
  13. 0 55
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/mapper/OrderCompleteCreateMapper.java
  14. 67 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/enums/OsTypeEnum.java
  15. 20 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/enums/PayTypeEnum.java
  16. 10 16
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/listener/OrderPaySuccessListener.java
  17. 26 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/CallBackService.java
  18. 129 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/CallBackServiceImpl.java
  19. 5 4
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/GamePayWayServiceImpl.java
  20. 4 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/LoginServiceImpl.java
  21. 0 20
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/OrderCompleteServiceImpl.java
  22. 3 3
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/OrderPayServiceImpl.java
  23. 3 7
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/OrderServiceImpl.java
  24. 4 45
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/PerformOrderServiceImpl.java
  25. 0 13
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/OrderCompleteService.java
  26. 1 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/OrderService.java
  27. 0 8
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/PerformOrderService.java
  28. 3 3
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/MiPayService.java
  29. 4 4
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/PayBaseService.java
  30. 5 13
      game-module/game-sdk/src/main/resources/bootstrap.yml

+ 0 - 3
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/CpController.java

@@ -5,7 +5,6 @@ import com.zanxiang.common.domain.ResultVO;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.manage.domain.params.CpAddUpdateParam;
 import com.zanxiang.manage.domain.params.CpListParam;
-import com.zanxiang.manage.domain.vo.CpChoiceVO;
 import com.zanxiang.manage.domain.vo.CpVO;
 import com.zanxiang.manage.service.CpService;
 import io.swagger.annotations.Api;
@@ -17,8 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * @author : lingfeng
  * @time : 2022-06-22

+ 4 - 3
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/GameController.java

@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.common.domain.ResultVO;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.manage.domain.params.*;
-import com.zanxiang.manage.domain.vo.*;
+import com.zanxiang.manage.domain.vo.GameDockVO;
+import com.zanxiang.manage.domain.vo.GameInfoVO;
+import com.zanxiang.manage.domain.vo.GameListVO;
+import com.zanxiang.manage.domain.vo.GameRelationVO;
 import com.zanxiang.manage.service.GameService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -15,8 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * @author : lingfeng
  * @time : 2022-06-30

+ 0 - 165
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/OrderCompleteParam.java

@@ -1,165 +0,0 @@
-package com.zanxiang.manage.domain.params;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.zanxiang.common.base.BasePage;
-import com.zanxiang.mybatis.entity.OrderComplete;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Date;
-
-/**
- * 注释游戏订单全量宽表
- *
- * @author xufeng
- * @date 2022-07-04 11:45
- */
-@Data
-public class OrderCompleteParam extends BasePage<OrderComplete> implements Serializable {
-
-    @ApiModelProperty(notes = "订单ID:订单号")
-    private String orderId;
-
-    @ApiModelProperty(notes = "cp订单号")
-    private String cpOrderId;
-
-    @ApiModelProperty(notes = "第三方支付订单号")
-    private String merchantOrderNo;
-
-    @ApiModelProperty(notes = "玩家id")
-    private String userId;
-
-    @ApiModelProperty(notes = "玩家账号")
-    private String userAccount;
-
-    @ApiModelProperty(notes = "充值游戏id")
-    private String gameId;
-
-    @ApiModelProperty(notes = "是否删除:0正常 1删除")
-    private Integer isDelete;
-
-    @ApiModelProperty(notes = "订单下单日期(不含时分秒)")
-    private Date orderDate;
-
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(notes = "玩家注册时间-起")
-    private LocalDate userRegisterTimeStart;
-
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(notes = "玩家注册时间-止")
-    private LocalDate userRegisterTimeEnd;
-
-    @ApiModelProperty(notes = "cp id")
-    private String cpId;
-
-    @ApiModelProperty(notes = "注册游戏id")
-    private String userRegisterGameId;
-
-    @ApiModelProperty(notes = "注册游戏")
-    private String userRegisterGame;
-
-    @ApiModelProperty(notes = "注册游戏分类")
-    private String userRegisterGameCategory;
-
-    @ApiModelProperty(notes = "玩家注册渠道")
-    private String userRegisterChannel;
-
-
-    @ApiModelProperty(notes = "投放人")
-    private String agentId;
-
-    @ApiModelProperty(notes = "推广账号")
-    private String agentAccount;
-
-    @ApiModelProperty(notes = "推广媒体")
-    private String agentMedia;
-
-    @ApiModelProperty(notes = "推广广告")
-    private String agentAdvert;
-
-    @ApiModelProperty(notes = "产品名称")
-    private String productName;
-
-    @ApiModelProperty(notes = "订单金额")
-    private BigDecimal orderAmount;
-
-    @ApiModelProperty(notes = "订单实付金额")
-    private BigDecimal realAmount;
-
-    @ApiModelProperty(notes = "支付方式Id")
-    private String payWayId;
-
-    @ApiModelProperty(notes = "支付方式")
-    private String payWay;
-
-    @ApiModelProperty(notes = "支付场景")
-    private String payDevice;
-
-    @ApiModelProperty(notes = "收款商户号")
-    private String merchantNo;
-
-    @ApiModelProperty(notes = "收款商户名称")
-    private String merchantName;
-
-    @ApiModelProperty(notes = "游戏区服")
-    private String gameRegional;
-
-    @ApiModelProperty(notes = "游戏角色")
-    private String gameRole;
-
-    @ApiModelProperty(notes = "游戏等级")
-    private String gameLevel;
-
-    @ApiModelProperty(notes = "游戏角色vip")
-    private String gameVip;
-
-    @ApiModelProperty(notes = "操作系统")
-    private String fromDevice;
-
-    @ApiModelProperty(notes = "是否切量  0 否 1 是")
-    private Integer isSwitch;
-
-    @ApiModelProperty(notes = "支付时间")
-    private Date payTime;
-
-    @ApiModelProperty(notes = "结束时间")
-    private String endTime;
-
-    @ApiModelProperty(notes = "cp最后通知时间")
-    private Date lastCpNotifyTime;
-
-    @ApiModelProperty(notes = "支付状态,1待支付,2 支付成功,-1 已取消")
-    private Integer status;
-
-    @ApiModelProperty(notes = "CP通知状态,1为待处理,2为成功,-1为失败")
-    private Integer cpStatus;
-
-    @ApiModelProperty(notes = "是否首充 0 否 1 是")
-    private Integer isFirstRecharge;
-
-
-    @ApiModelProperty(notes = "广告上报状态")
-    private Integer advertNotifyStatus;
-
-    @ApiModelProperty(notes = "广告上报方式 0 系统 1 人工")
-    private Integer advertNotifyType;
-
-    @ApiModelProperty(notes = "渠道")
-    private Long channel;
-
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(notes = "创建时间-开始")
-    private LocalDate createTimeStart;
-
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(notes = "创建时间-结束")
-    private LocalDate createTimeEnd;
-}

+ 5 - 13
game-module/game-manage/src/main/resources/bootstrap.yml

@@ -1,27 +1,18 @@
-# Spring
 spring:
   application:
-    # 应用名称
     name: game-manage
   profiles:
-    # 环境配置
     active: dev
   cloud:
     nacos:
       discovery:
         namespace: LOCAL_game
-        # 服务注册地址
         server-addr: 118.178.187.109:8848
       config:
         namespace: LOCAL_game
-        # 配置中心地址
         server-addr: 118.178.187.109:8848
-        # 配置文件格式
         file-extension: yml
-        # 配置文件分组
         group: GAME
-        # 共享配置
-        shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
         max-retry: 10
 
 dubbo:
@@ -30,10 +21,13 @@ dubbo:
     register-mode: instance
     qos-enable: false
     qos-accept-foreign-ip: false
+    qos-port: -1
+    metadata-type: local
     metadata-service-protocol: dubbo
-    metadata-service-port: 20881
+    metadata-service-port: -1
+    logger: slf4j
   registry:
-    address: nacos://118.178.187.109:8848
+    address: nacos://118.178.187.109:8848?registry-type=service
     timeout: 3000
     parameters:
       namespace: LOCAL_game
@@ -45,7 +39,5 @@ dubbo:
     port: -1
   consumer:
     check: false
-  scan:
-    base-packages:
 
 

+ 0 - 261
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/OrderComplete.java

@@ -1,261 +0,0 @@
-package com.zanxiang.mybatis.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-/**
- * 注释游戏订单全量宽表
- *
- * @author xufeng
- * @date 2022-07-04 11:45
- */
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@TableName("t_order_complete")
-public class OrderComplete implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 订单ID
-     */
-    private Long orderId;
-
-    /**
-     * 充值游戏id
-     */
-    private Long gameId;
-
-    /**
-     * 充值游戏名称
-     */
-    private String gameName;
-
-    /**
-     * 充值游戏类型
-     */
-    private String gameCategory;
-
-    /**
-     * 0正常 1删除
-     */
-    private Integer isDelete;
-
-    /**
-     * 订单下单日期(不含时分秒)
-     */
-    private LocalDateTime orderDate;
-
-    /**
-     * cp订单号
-     */
-    private String cpOrderId;
-
-    /**
-     * 第三方支付订单号
-     */
-    private String merchantOrderNo;
-
-    /**
-     * 玩家id
-     */
-    private Long userId;
-
-    /**
-     * 玩家账号
-     */
-    private String userAccount;
-
-    /**
-     * 玩家注册时间
-     */
-    private Date userRegisterTime;
-
-    /**
-     * 注册游戏id
-     */
-    private Long userRegisterGameId;
-
-    /**
-     * 注册游戏
-     */
-    private String userRegisterGame;
-
-    /**
-     * 注册游戏分类
-     */
-    private String userRegisterGameCategory;
-
-    /**
-     * 玩家注册渠道
-     */
-    private String userRegisterChannel;
-
-    /**
-     * cp
-     */
-    private Long cpId;
-
-    /**
-     * 投放人
-     */
-    private String agentId;
-
-    /**
-     * 推广账号
-     */
-    private String agentAccount;
-
-    /**
-     * 推广媒体
-     */
-    private String agentMedia;
-
-    /**
-     * 推广广告
-     */
-    private String agentAdvert;
-
-    /**
-     * 产品名称
-     */
-    private String productId;
-
-    /**
-     * 产品名称
-     */
-    private String productName;
-
-    /**
-     * 订单金额
-     */
-    private BigDecimal orderAmount;
-
-    /**
-     * 订单实付金额
-     */
-    private BigDecimal realAmount;
-
-    /**
-     * 支付方式 id
-     */
-    private String payWayId;
-
-    /**
-     * 支付方式
-     */
-    private String payWay;
-
-    /**
-     * 支付场景
-     */
-    private String payDevice;
-
-    /**
-     * 收款商户号
-     */
-    private String merchantNo;
-
-    /**
-     * 收款商户名称
-     */
-    private String merchantName;
-
-    /**
-     * 游戏区服
-     */
-    private String gameRegional;
-
-    /**
-     * 游戏角色id
-     */
-    private String gameRoleId;
-
-    /**
-     * 游戏角色
-     */
-    private String gameRole;
-
-    /**
-     * 游戏等级
-     */
-    private String gameLevel;
-
-    /**
-     * 游戏角色vip
-     */
-    private String gameVip;
-
-    /**
-     * 操作系统
-     */
-    private String fromDevice;
-
-    /**
-     * 是否切量  0 否 1 是
-     */
-    private Integer isSwitch;
-
-    /**
-     * 支付时间
-     */
-    private Date payTime;
-
-    /**
-     * 结束时间
-     */
-    private String endTime;
-
-    /**
-     * cp最后通知时间
-     */
-    private Date lastCpNotifyTime;
-
-    /**
-     * 支付状态,1待支付,2 支付成功,-1 已取消
-     */
-    private Integer status;
-
-    /**
-     * CP通知状态,1为待处理,2为成功,-1为失败
-     */
-    private Integer cpStatus;
-
-    /**
-     * 是否首充 0 否 1 是
-     */
-    private Integer isFirstRecharge;
-
-    /**
-     * 广告上报状态
-     */
-    private Integer advertNotifyStatus;
-
-    /**
-     * 广告上报方式 0 系统 1 人工
-     */
-    private Integer advertNotifyType;
-
-    /**
-     * 渠道
-     */
-    private String channel;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-
-    /**
-     * 更新时间
-     */
-    private Date updateTime;
-}

+ 0 - 1
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayMerchant.java

@@ -10,7 +10,6 @@ import lombok.NoArgsConstructor;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
  * 游戏支付商户配置表

+ 0 - 15
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/OrderCompleteMapper.java

@@ -1,15 +0,0 @@
-package com.zanxiang.mybatis.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zanxiang.mybatis.entity.OrderComplete;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
-* 注释游戏订单全量宽表 Mapper
-*
-* @author xufeng
-* @date 2022-07-04 11:45
-*/
-@Mapper
-public interface OrderCompleteMapper extends BaseMapper<OrderComplete> {
-}

+ 0 - 4
game-module/game-mybatis/src/main/resources/mapper/OrderCompleteMapper.xml

@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.zanxiang.mybatis.mapper.OrderCompleteMapper">
-</mapper>

+ 15 - 0
game-module/game-sdk/pom.xml

@@ -104,6 +104,21 @@
             <artifactId>hutool-all</artifactId>
             <version>5.8.0.M1</version>
         </dependency>
+        <!-- dubbo -->
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-spring-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-metadata-definition-protobuf</artifactId>
+        </dependency>
+        <!-- 头条回传api -->
+        <dependency>
+            <groupId>com.zanxiang.advertising.oceanengine</groupId>
+            <artifactId>advertising-oceanengine-track-base</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 2 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/SDKApplication.java

@@ -1,6 +1,7 @@
 package com.zanxiang.sdk;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@@ -10,6 +11,7 @@ import org.springframework.context.annotation.Configuration;
 @EnableDiscoveryClient
 @SpringBootApplication
 @Configuration
+@EnableDubbo
 public class SDKApplication {
 
     public static void main(String[] args) {

+ 1 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/PayController.java

@@ -50,7 +50,7 @@ public class PayController {
     }
 
     @UnSignCheck
-    @ApiOperation(value = "微信支付")
+    @ApiOperation(value = "微信支付回调")
     @RequestMapping(value = "/wxPayNotify", method = RequestMethod.POST)
     public String wxPayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
         return orderPayService.notify(request, response, PayWayEnum.WXPAY.getNum());

+ 70 - 10
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/dto/PlatformOrderDTO.java

@@ -2,18 +2,28 @@ package com.zanxiang.sdk.domain.dto;
 
 import lombok.Data;
 
-import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
+/**
+ * 平台订单dto
+ *
+ * @author bilingfeng
+ * @date 2022/11/10
+ */
 @Data
-public class PlatformOrderDTO implements Serializable {
+public class PlatformOrderDTO {
 
     /**
-     * id
+     * 自增ID
      */
     private String id;
 
+    /**
+     * 充值渠道id
+     */
+    private Long agentId;
+
     /**
      * cpId
      */
@@ -125,7 +135,7 @@ public class PlatformOrderDTO implements Serializable {
     private Integer status;
 
     /**
-     * 支付方式
+     * 支付配置id
      */
     private String gamePaywayId;
 
@@ -184,15 +194,10 @@ public class PlatformOrderDTO implements Serializable {
      */
     private String remark;
 
-    /**
-     * 渠道
-     */
-    private String channel;
-
     /**
      * 结束时间
      */
-    private String endTime;
+    private LocalDateTime endTime;
 
     /**
      * 0正常 1删除
@@ -223,4 +228,59 @@ public class PlatformOrderDTO implements Serializable {
      * 更新时间
      */
     private LocalDateTime updateTime;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 用户注册时间
+     */
+    private LocalDateTime regTime;
+
+    /**
+     * 客户端操作系统, android, ios, windows, mac
+     */
+    private String deviceSystem;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 支付方式id
+     */
+    private Long payWayId;
+
+    /**
+     * 注册游戏id
+     */
+    private Long regGameId;
+
+    /**
+     * 广告上报状态
+     */
+    private Integer callBackStatus;
+
+    /**
+     * 归因广告id
+     */
+    private String adId;
+
+    /**
+     * 角色等级
+     */
+    private Long roleLevel;
+
+    /**
+     * 角色VIP
+     */
+    private Long roleVipLevel;
 }

+ 0 - 55
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/mapper/OrderCompleteCreateMapper.java

@@ -1,55 +0,0 @@
-package com.zanxiang.sdk.domain.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zanxiang.mybatis.entity.OrderComplete;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-/**
- * @author xufeng
- * @date 2022/7/6 11:34
- */
-public interface OrderCompleteCreateMapper extends BaseMapper<OrderComplete> {
-
-    @Select("<script> " +
-            "SELECT o.*,o.id as orderId,o.amount as orderAmount,u.username AS agentAccount,u.create_time AS regTime,ux.reg_game_id AS regGameId,ux.reg_from AS regFrom,gur.regional_name AS regionalName,gur.role_id AS gameRoleId,gur.role_level AS gameLevel,gur.role_name AS gameRole,gur.role_vip_level AS gameVip,g.`name` AS gameName,gc1.`name` AS gameCategory,g2.`name` AS regGameName,gc2.`name` AS regGameCategory,gpw.pay_way_id AS payWayId,pw.pay_name AS payWayName,pm.merchant_name AS merchantName,pm.merchant_no AS merchantNo FROM t_order o LEFT JOIN t_user u ON o.user_id=u.id LEFT JOIN t_user_ext ux ON u.id=ux.user_id LEFT JOIN t_game_user_role gur ON gur.role_id=o.role_id LEFT JOIN t_game g ON g.id=o.game_id LEFT JOIN t_game_category gc1 ON gc1.id=g.category LEFT JOIN t_game g2 ON g2.id=ux.reg_game_id=g2.id LEFT JOIN t_game_category gc2 ON gc2.id=g2.category LEFT JOIN t_game_pay_way gpw ON gpw.id=o.game_payway_id LEFT JOIN t_pay_way pw ON gpw.pay_way_id=pw.id LEFT JOIN t_pay_merchant pm ON pm.id=gpw.pay_merchant_id " +
-            "WHERE o.id=#{orderId};" +
-            " </script>")
-    OrderComplete info(@Param("orderId") String orderId);
-
-
-//    SELECT
-//    o.*,
-//    o.id as orderId,
-//    o.amount as orderAmount,
-//    u.username as agentAccount,
-//    u.create_time as regTime,
-//    ux.reg_game_id as regGameId,
-//    ux.reg_from as regFrom,
-//    gur.regional_name as regionalName,
-//    gur.role_id as gameRoleId,
-//    gur.role_level as gameLevel,
-//    gur.role_name as gameRole,
-//    gur.role_vip_level as gameVip,
-//    g.`name` as gameName,
-//    gc1.`name` as gameCategory,
-//    g2.`name`as regGameName,
-//    gc2.`name` as regGameCategory,
-//    gpw.pay_way_id as payWayId,
-//    pw.pay_name as payWayName,
-//    pm.merchant_name as merchantName,
-//    pm.merchant_no as merchantNo
-//            FROM
-//    h_order o
-//    LEFT JOIN h_user u ON o.user_id = u.id
-//    LEFT JOIN h_user_ext ux ON u.id = ux.user_id
-//    LEFT JOIN h_game_user_role gur ON gur.role_id = o.role_id
-//    LEFT JOIN h_game g ON g.id = o.game_id
-//    LEFT JOIN h_game_category gc1 ON gc1.id = g.category
-//    LEFT JOIN h_game g2 ON g2.id = ux.reg_game_id = g2.id
-//    LEFT JOIN h_game_category gc2 ON gc2.id = g2.category
-//    LEFT JOIN h_game_pay_way gpw on gpw.id = o.game_payway_id
-//    LEFT JOIN h_pay_way pw ON gpw.pay_way_id = pw.id
-//    LEFT JOIN h_pay_merchant pm ON pm.id = gpw.pay_merchant_id
-//    WHERE o.id = 1;
-}

+ 67 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/enums/OsTypeEnum.java

@@ -0,0 +1,67 @@
+package com.zanxiang.sdk.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-10
+ * @description : 回传系统类型
+ */
+@Getter
+@AllArgsConstructor
+public enum OsTypeEnum {
+
+    /**
+     * android
+     */
+    OS_ANDROID(1, "android"),
+
+    /**
+     * ios
+     */
+    OS_IOS(2, "ios"),
+
+    /**
+     * windows
+     */
+    OS_WINDOWS(3, "windows"),
+
+    /**
+     * mac
+     */
+    OS_MAC(4, "mac"),
+
+    /**
+     * 其他
+     */
+    OS_OTHER(0, "其他");
+
+    /**
+     * 数据类型
+     */
+    private Integer osType;
+
+    /**
+     * 描述
+     */
+    private String name;
+
+    /**
+     * 得到名字
+     *
+     * @param name 操作系统类型
+     * @return {@link OsTypeEnum}
+     */
+    public static Integer getByName(String name) {
+        for (OsTypeEnum osTypeEnum : OsTypeEnum.values()) {
+            if (Objects.equals(name, osTypeEnum.getName())) {
+                return osTypeEnum.getOsType();
+            }
+        }
+        return null;
+    }
+
+}

+ 20 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/enums/PayTypeEnum.java

@@ -7,6 +7,8 @@ import com.zanxiang.sdk.service.pay.WxPayService;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.Objects;
+
 /**
  * @author : lingfeng
  * @time : 2022-09-28
@@ -60,4 +62,22 @@ public enum PayTypeEnum {
         }
         return null;
     }
+
+    /**
+     * 根据书城key获取名称
+     *
+     * @param payType : 支付类型
+     * @return : 支付类型枚举
+     */
+    public static String getByPayType(Long payType) {
+        if (payType == null) {
+            return null;
+        }
+        for (PayTypeEnum payTypeEnum : PayTypeEnum.values()) {
+            if (Objects.equals(payType.intValue(), payTypeEnum.getPayType())) {
+                return payTypeEnum.getName();
+            }
+        }
+        return null;
+    }
 }

+ 10 - 16
game-module/game-sdk/src/main/java/com/zanxiang/sdk/listener/OrderPaySuccessListener.java

@@ -1,11 +1,12 @@
 package com.zanxiang.sdk.listener;
 
-import com.zanxiang.common.enums.OrderStateEnum;
 import com.zanxiang.common.utils.StringUtils;
 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
+import com.zanxiang.sdk.service.CallBackService;
+import com.zanxiang.sdk.service.OrderService;
 import com.zanxiang.sdk.service.PerformOrderService;
-import com.zanxiang.sdk.service.PlatformOrderService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Async;
@@ -26,11 +27,14 @@ import java.util.Objects;
 public class OrderPaySuccessListener {
 
     @Resource
-    private PlatformOrderService platformOrderService;
+    private OrderService orderService;
 
     @Resource
     private PerformOrderService performOrderService;
 
+    @Autowired
+    private CallBackService callBackService;
+
     @EventListener
     @Async
     public void onApplicationEvent(OrderPaySuccessEvent event) {
@@ -39,31 +43,21 @@ public class OrderPaySuccessListener {
             return;
         }
         log.info("订单:{} 支付成功履约监听逻辑 ------start---------", event.getOrderId());
-        PlatformOrderDTO orderInfo = platformOrderService.info(event.getOrderId());
+        PlatformOrderDTO orderInfo = orderService.info(event.getOrderId());
         if (Objects.isNull(orderInfo)) {
             log.error("订单:{} 获取详情失败", event.getOrderId());
             return;
         }
-        //--------非成功支付状态,仅操作宽表信息----------------
-        if (!orderInfo.getStatus().equals(OrderStateEnum.SUCCESS.getCode())) {
-            //生成宽表数据
-            performOrderService.createOrderComplete(orderInfo);
-            log.info("订单:{} 支付成功履约监听逻辑 ------end---------", event.getOrderId());
-            return;
-        }
-        //--------成功支付操作----------------
-
         //检查是否为首充(账号首充)
         Boolean isFirstRecharge = performOrderService.checkIsFirstRecharge(orderInfo);
         //cp推送
         performOrderService.pushCp(orderInfo);
-        //生成宽表数据
-        performOrderService.createOrderComplete(orderInfo);
         //用户充值统计更新
         performOrderService.userRechargeTotal(orderInfo);
         //商户号额度统计更新
         performOrderService.payMerchantTotal(orderInfo);
-        
+        //订单回传
+        callBackService.orderCallBack(orderInfo);
 
         log.info("订单:{} 支付成功履约监听逻辑 ------end---------", event.getOrderId());
     }

+ 26 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/CallBackService.java

@@ -0,0 +1,26 @@
+package com.zanxiang.sdk.service;
+
+import com.zanxiang.mybatis.entity.User;
+import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-10
+ * @description : 回传
+ */
+public interface CallBackService {
+
+    /**
+     * 用户回传
+     *
+     * @param user 用户
+     */
+    void userCallBack(User user);
+
+    /**
+     * 订单回传
+     *
+     * @param orderInfo 订单信息
+     */
+    void orderCallBack(PlatformOrderDTO orderInfo);
+}

+ 129 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/CallBackServiceImpl.java

@@ -0,0 +1,129 @@
+package com.zanxiang.sdk.service.Impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.zanxiang.advertising.oceanengine.track.base.pojo.PlatformServer;
+import com.zanxiang.advertising.oceanengine.track.base.pojo.dto.AppOrderRpcDTO;
+import com.zanxiang.advertising.oceanengine.track.base.pojo.dto.UserRegisterRpcDTO;
+import com.zanxiang.advertising.oceanengine.track.base.pojo.rpc.IAppOrderRpc;
+import com.zanxiang.advertising.oceanengine.track.base.pojo.rpc.IAppUserRpc;
+import com.zanxiang.advertising.oceanengine.track.base.pojo.vo.AppReportLogRpcVO;
+import com.zanxiang.module.util.JsonUtil;
+import com.zanxiang.module.util.pojo.ResultVO;
+import com.zanxiang.mybatis.entity.Order;
+import com.zanxiang.mybatis.entity.User;
+import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
+import com.zanxiang.sdk.enums.OsTypeEnum;
+import com.zanxiang.sdk.enums.PayTypeEnum;
+import com.zanxiang.sdk.service.CallBackService;
+import com.zanxiang.sdk.service.OrderService;
+import com.zanxiang.sdk.service.UserService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-10
+ * @description : 回传
+ */
+@Slf4j
+@Service
+public class CallBackServiceImpl implements CallBackService {
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private OrderService orderService;
+
+    @DubboReference(providedBy = PlatformServer.SERVER_DUBBO_NAME)
+    private IAppUserRpc appUserRpc;
+
+    @DubboReference(providedBy = PlatformServer.SERVER_DUBBO_NAME)
+    private IAppOrderRpc appOrderRpc;
+
+    /**
+     * 用户回传
+     *
+     * @param user 用户
+     */
+    @Override
+    public void userCallBack(User user) {
+        if (user == null) {
+            return;
+        }
+        log.error("用户注册回传, userId : {}", user.getId());
+        UserRegisterRpcDTO dto = UserRegisterRpcDTO.builder()
+                .appKey(String.valueOf(user.getGameId()))
+                .userId(String.valueOf(user.getId()))
+                .username(user.getUsername())
+                .mac(user.getMac())
+                .imei(user.getImei())
+                .androidId(user.getAndroidId())
+                .ip(user.getIp())
+                .osType(OsTypeEnum.getByName(user.getDeviceSystem()))
+                .registerTime(user.getCreateTime())
+                .build();
+        //调接口
+        ResultVO<AppReportLogRpcVO> result;
+        try {
+            result = appUserRpc.register(dto);
+        } catch (Exception e) {
+            log.error("用户注册回传上报异常, user : {}, e : {}", JsonUtil.toString(user), e.getMessage());
+            return;
+        }
+        log.error("用户注册回传结果, userId : {}, result : {}", user.getId(), JsonUtil.toString(result));
+        String adId = "AD_ID";
+        //成功
+        if (result.isSuccess() && result.getData() != null && result.getData().getAid() != null) {
+            adId = result.getData().getAid().toString();
+        }
+        //更新数据库
+        userService.update(new LambdaUpdateWrapper<User>().set(User::getAdId, adId).eq(User::getId, user.getId()));
+    }
+
+    /**
+     * 订单回传
+     *
+     * @param orderInfo 订单信息
+     */
+    @Override
+    public void orderCallBack(PlatformOrderDTO orderInfo) {
+        if (orderInfo == null) {
+            return;
+        }
+        log.error("用户注册回传, orderId : {}", orderInfo.getId());
+        AppOrderRpcDTO dto = AppOrderRpcDTO.builder()
+                .appKey(String.valueOf(orderInfo.getGameId()))
+                .orderId(orderInfo.getId())
+                .userId(String.valueOf(orderInfo.getUserId()))
+                .amount(orderInfo.getAmount().multiply(new BigDecimal("100")).longValue())
+                .realAmount(orderInfo.getRealAmount().multiply(new BigDecimal("100")).longValue())
+                .tranNo(orderInfo.getMerchantOrderNo())
+                .orderStatus(orderInfo.getStatus())
+                .payType(PayTypeEnum.getByPayType(orderInfo.getPayWayId()))
+                .payTime(orderInfo.getPayTime())
+                .createTime(orderInfo.getCreateTime())
+                .build();
+        //调接口
+        ResultVO<AppReportLogRpcVO> result;
+        try {
+            result = appOrderRpc.order(dto);
+        } catch (Exception e) {
+            log.error("订单回传上报异常, orderInfo : {}, e : {}", JsonUtil.toString(orderInfo), e.getMessage());
+            return;
+        }
+        log.error("订单回传结果, orderId : {}, result : {}", orderInfo.getId(), JsonUtil.toString(result));
+        String adId = "AD_ID";
+        //成功
+        if (result.isSuccess() && result.getData() != null && result.getData().getAid() != null) {
+            adId = result.getData().getAid().toString();
+        }
+        //更新数据库
+        orderService.update(new LambdaUpdateWrapper<Order>().set(Order::getAdId, adId).eq(Order::getId, orderInfo.getId()));
+    }
+
+}

+ 5 - 4
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/GamePayWayServiceImpl.java

@@ -34,12 +34,13 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
                 .eq(GamePayWay::getStatus, StatusEnum.YES.getCode())
                 .eq(GamePayWay::getMaxPayLock, MaxPayLock.UNLOCK.getCode())
                 .last("limit 1")
-                .orderBy(true, true, GamePayWay::getCreateTime));
-        if (payInfo == null)
+                .orderByDesc(GamePayWay::getCreateTime));
+        if (payInfo == null) {
             throw new RuntimeException("暂无该游戏支付方式 gameId:" + gameId + " payType:" + payType);
-
-        if (StringUtils.isEmpty(payInfo.getPayConfig()))
+        }
+        if (StringUtils.isEmpty(payInfo.getPayConfig())) {
             throw new RuntimeException("游戏支付方式为空 gameId:" + gameId + " payType:" + payType);
+        }
         return payInfo;
     }
 }

+ 4 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/LoginServiceImpl.java

@@ -91,6 +91,9 @@ public class LoginServiceImpl implements RegisterLoginService {
     @Autowired
     private IpBanService ipBanService;
 
+    @Autowired
+    private CallBackService callBackService;
+
     /**
      * QQ开发者应用id
      */
@@ -257,6 +260,7 @@ public class LoginServiceImpl implements RegisterLoginService {
                 .checkSwitch(gameExt.getCheckSwitch())
                 .build();
         log.error("用户登录返回登录信息, userLoginVO : {}", JsonUtil.toString(userLoginVO));
+        callBackService.userCallBack(user);
         return userLoginVO;
     }
 

+ 0 - 20
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/OrderCompleteServiceImpl.java

@@ -1,20 +0,0 @@
-package com.zanxiang.sdk.service.Impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zanxiang.mybatis.entity.OrderComplete;
-import com.zanxiang.mybatis.mapper.OrderCompleteMapper;
-import com.zanxiang.sdk.service.OrderCompleteService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-/**
- * 游戏订单全量宽表 服务实现类
- *
- * @author xufeng
- * @date 2022-07-04 11:45
- */
-@Slf4j
-@Service
-public class OrderCompleteServiceImpl extends ServiceImpl<OrderCompleteMapper, OrderComplete> implements OrderCompleteService {
-
-}

+ 3 - 3
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/OrderPayServiceImpl.java

@@ -35,7 +35,7 @@ import java.util.Objects;
 public class OrderPayServiceImpl implements OrderPayService {
 
     @Autowired
-    public PlatformOrderService platformOrderService;
+    public OrderService orderService;
 
     @Autowired
     public GamePayWayService gamePayWayService;
@@ -80,7 +80,7 @@ public class OrderPayServiceImpl implements OrderPayService {
         orderBO.setPayDevice(userData.getDeviceType());
         orderBO.setExt(product.getExtension());
         orderBO.setPayTime(LocalDateTime.now());
-        String orderId = platformOrderService.create(orderBO);
+        String orderId = orderService.create(orderBO);
         product.setOrderId(orderId);
         //创建支付参数
         ProductPayParamBO bo = new ProductPayParamBO();
@@ -114,7 +114,7 @@ public class OrderPayServiceImpl implements OrderPayService {
 
     @Override
     public Boolean payResult(String orderId) {
-        Order order = platformOrderService.getById(orderId);
+        Order order = orderService.getById(orderId);
         if (order == null) {
             throw new BaseException("参数错误, 订单信息不存在");
         }

+ 3 - 7
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/PlatformOrderServiceImpl.java → game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/OrderServiceImpl.java

@@ -10,7 +10,7 @@ import com.zanxiang.mybatis.mapper.OrderMapper;
 import com.zanxiang.sdk.domain.bo.PlatformOrderBO;
 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
 import com.zanxiang.sdk.listener.OrderPaySuccessEvent;
-import com.zanxiang.sdk.service.PlatformOrderService;
+import com.zanxiang.sdk.service.OrderService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
@@ -28,7 +28,7 @@ import java.time.LocalDateTime;
 @Slf4j
 @Service
 @Transactional(rollbackFor = {Exception.class, RuntimeException.class})
-public class PlatformOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements PlatformOrderService {
+public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
 
     @Autowired
     private ApplicationContext applicationContext;
@@ -39,11 +39,7 @@ public class PlatformOrderServiceImpl extends ServiceImpl<OrderMapper, Order> im
         try {
             log.info("生成订单请求参数 platformOrderBO:{}", platformOrderBO);
             Order data = BeanUtils.copy(platformOrderBO, Order.class);
-            if (save(data)) {
-                OrderPaySuccessEvent orderPaySuccessEvent = new OrderPaySuccessEvent(this, data.getId());
-                applicationContext.publishEvent(orderPaySuccessEvent);
-                return data.getId();
-            }
+            super.save(data);
         } catch (Exception e) {
             log.error("生成订单失败 platformOrderBO:{}, error:{}", platformOrderBO, e);
         }

+ 4 - 45
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/PerformOrderServiceImpl.java

@@ -1,6 +1,5 @@
 package com.zanxiang.sdk.service.Impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -13,7 +12,6 @@ import com.zanxiang.module.util.JsonUtil;
 import com.zanxiang.module.web.util.URIUtil;
 import com.zanxiang.mybatis.entity.*;
 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
-import com.zanxiang.sdk.domain.mapper.OrderCompleteCreateMapper;
 import com.zanxiang.sdk.service.*;
 import com.zanxiang.sdk.util.SignUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -42,14 +40,11 @@ import java.util.Objects;
 public class PerformOrderServiceImpl implements PerformOrderService {
 
     @Autowired
-    private PlatformOrderService platformOrderService;
+    private OrderService orderService;
 
     @Autowired
     private LogPayCpService logPayCpService;
 
-    @Autowired
-    private OrderCompleteCreateMapper orderCompleteMapper;
-
     @Autowired
     private GameUserRoleService gameUserRoleService;
 
@@ -59,9 +54,6 @@ public class PerformOrderServiceImpl implements PerformOrderService {
     @Autowired
     private UserService userService;
 
-    @Autowired
-    private OrderCompleteService orderCompleteService;
-
     @Autowired
     private GamePayWayService gamePayWayService;
 
@@ -105,7 +97,7 @@ public class PerformOrderServiceImpl implements PerformOrderService {
         Map<String, String> resultMap = JsonUtil.toMap(resultStr, Map.class, String.class, String.class);
         boolean pushSuccess = Objects.equals(resultMap.get("result"), "200");
         //更新订单信息
-        platformOrderService.update(new LambdaUpdateWrapper<Order>()
+        orderService.update(new LambdaUpdateWrapper<Order>()
                 .set(Order::getCpNotifyCnt, orderInfo.getCpNotifyCnt() + 1)
                 .set(Order::getLastCpNotifyTime, LocalDateTime.now())
                 .set(Order::getCpStatus, pushSuccess ? CpStatusEnum.SUCCESS.getCode() : CpStatusEnum.FAILLE.getCode())
@@ -151,44 +143,11 @@ public class PerformOrderServiceImpl implements PerformOrderService {
         return sign;
     }
 
-    @Override
-    public Boolean createOrderComplete(PlatformOrderDTO orderInfo) {
-        log.info("订单:{} 创建订单宽表 ----------start---------", orderInfo.getId());
-        try {
-            OrderComplete orderComplete = orderCompleteMapper.info(orderInfo.getId());
-            orderComplete.setOrderDate(orderInfo.getCreateTime());
-            //todo 推广相关信息
-            orderComplete.setAgentId("");
-            orderComplete.setAgentAccount("");
-            orderComplete.setAgentMedia("");
-            orderComplete.setAgentAdvert("");
-
-            //todo 广告通知状态
-            orderComplete.setAdvertNotifyStatus(0);
-            orderComplete.setAdvertNotifyType(0);
-
-            OrderComplete complete = orderCompleteService.getOne(new LambdaQueryWrapper<OrderComplete>().eq(OrderComplete::getOrderId, orderInfo.getId()));
-            if (Objects.isNull(complete)) {
-                orderCompleteMapper.insert(orderComplete);
-                log.info("订单:{} 生成宽表数据成功", orderInfo.getId());
-            } else {
-                OrderComplete pa = new OrderComplete();
-                pa.setOrderId(complete.getOrderId());
-                orderCompleteService.update(pa, new UpdateWrapper<OrderComplete>().setEntity(orderComplete));
-                log.info("订单:{} 宽表数据更新成功", orderInfo.getId());
-            }
-            return true;
-        } catch (Exception e) {
-            log.error("订单:{} 生成宽表数据失败 e:{}", orderInfo.getId(), e);
-        }
-        return false;
-    }
-
     @Override
     public Boolean checkIsFirstRecharge(PlatformOrderDTO orderInfo) {
         log.info("订单:{} 检查更新用户是否为首充 ----------start---------", orderInfo.getId());
         try {
-            Order one = platformOrderService.getOne(new QueryWrapper<Order>().lambda()
+            Order one = orderService.getOne(new QueryWrapper<Order>().lambda()
                     .eq(Order::getUserId, orderInfo.getUserId())
                     .eq(Order::getStatus, OrderStateEnum.SUCCESS.getCode())
                     .ne(Order::getId, orderInfo.getId()).last("limit 1"));
@@ -196,7 +155,7 @@ public class PerformOrderServiceImpl implements PerformOrderService {
                 Order order = new Order();
                 order.setId(order.getId());
                 order.setIsFirstRecharge(1);
-                platformOrderService.updateById(order);
+                orderService.updateById(order);
                 log.info("订单:{} 验证订单是否为首充成功", orderInfo.getId());
                 return true;
             }

+ 0 - 13
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/OrderCompleteService.java

@@ -1,13 +0,0 @@
-package com.zanxiang.sdk.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.zanxiang.mybatis.entity.OrderComplete;
-
-/**
- * 游戏订单全量宽表 服务类接口
- *
- * @author xufeng
- * @date 2022-07-04 11:45
- */
-public interface OrderCompleteService extends IService<OrderComplete> {
-}

+ 1 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/PlatformOrderService.java → game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/OrderService.java

@@ -12,7 +12,7 @@ import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
  * @date 2022-06-06 17:06
  */
 
-public interface PlatformOrderService extends IService<Order> {
+public interface OrderService extends IService<Order> {
 
     /**
      * 订单创建

+ 0 - 8
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/PerformOrderService.java

@@ -17,14 +17,6 @@ public interface PerformOrderService {
      */
     Boolean pushCp(PlatformOrderDTO orderInfo);
 
-    /**
-     * 生成订单宽表
-     *
-     * @param orderInfo
-     * @return
-     */
-    Boolean createOrderComplete(PlatformOrderDTO orderInfo);
-
     /**
      * 检查订单是否为首单(账号首充)
      *

+ 3 - 3
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/MiPayService.java

@@ -16,7 +16,7 @@ import com.zanxiang.sdk.constant.MiPayConstants;
 import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
 import com.zanxiang.sdk.service.GamePayWayService;
-import com.zanxiang.sdk.service.PlatformOrderService;
+import com.zanxiang.sdk.service.OrderService;
 import com.zanxiang.sdk.util.WxPayUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.logging.log4j.util.Strings;
@@ -42,7 +42,7 @@ import java.util.Objects;
 public class MiPayService extends PayBaseService {
 
     @Autowired
-    private PlatformOrderService platformOrderService;
+    private OrderService orderService;
 
     @Autowired
     private GamePayWayService gamePayWayService;
@@ -61,7 +61,7 @@ public class MiPayService extends PayBaseService {
     public ResultMap create(ProductPayParamBO product) {
         this.code = product.getCode();
         //查询订单
-        PlatformOrderDTO orderInfo = platformOrderService.info(product.getOutTradeNo());
+        PlatformOrderDTO orderInfo = orderService.info(product.getOutTradeNo());
         if (Objects.isNull(orderInfo)) {
             throw new CustomException(HttpStatusEnum.ORDER_NO_FIND);
         }

+ 4 - 4
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/PayBaseService.java

@@ -8,7 +8,7 @@ import com.zanxiang.sdk.domain.bo.ProductPayAttachParamBO;
 import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
 import com.zanxiang.sdk.service.GamePayWayService;
-import com.zanxiang.sdk.service.PlatformOrderService;
+import com.zanxiang.sdk.service.OrderService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -29,7 +29,7 @@ public abstract class PayBaseService {
 
     @Lazy
     @Autowired
-    public PlatformOrderService platformOrderService;
+    public OrderService orderService;
 
     @Lazy
     @Autowired
@@ -48,7 +48,7 @@ public abstract class PayBaseService {
     public ResultMap payCreate(ProductPayParamBO product) {
         try {
             //获取订单信息
-            PlatformOrderDTO info = platformOrderService.info(product.getOutTradeNo());
+            PlatformOrderDTO info = orderService.info(product.getOutTradeNo());
             if (info == null) {
                 throw new RuntimeException("订单不存在");
             }
@@ -95,7 +95,7 @@ public abstract class PayBaseService {
         bo.setStatus(OrderStateEnum.SUCCESS.getCode());
         bo.setGamePaywayId(gamePayWayId);
         bo.setPayTime(LocalDateTime.now());
-        return platformOrderService.pay(bo);
+        return orderService.pay(bo);
     }
 
     /**

+ 5 - 13
game-module/game-sdk/src/main/resources/bootstrap.yml

@@ -1,27 +1,18 @@
-# Spring
 spring:
   application:
-    # 应用名称
     name: game-sdk
   profiles:
-    # 环境配置
     active: dev
   cloud:
     nacos:
       discovery:
         namespace: LOCAL_game
-        # 服务注册地址
         server-addr: 118.178.187.109:8848
       config:
         namespace: LOCAL_game
-        # 配置中心地址
         server-addr: 118.178.187.109:8848
-        # 配置文件格式
         file-extension: yml
-        # 配置文件分组
         group: GAME
-        # 共享配置
-        shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
         max-retry: 10
 
 dubbo:
@@ -30,10 +21,13 @@ dubbo:
     register-mode: instance
     qos-enable: false
     qos-accept-foreign-ip: false
+    qos-port: -1
+    metadata-type: local
     metadata-service-protocol: dubbo
-    metadata-service-port: 20881
+    metadata-service-port: -1
+    logger: slf4j
   registry:
-    address: nacos://118.178.187.109:8848
+    address: nacos://118.178.187.109:8848?registry-type=service
     timeout: 3000
     parameters:
       namespace: LOCAL_game
@@ -45,8 +39,6 @@ dubbo:
     port: -1
   consumer:
     check: false
-  scan:
-    base-packages: