Selaa lähdekoodia

修改内容:基础框架

shishaosong 2 vuotta sitten
vanhempi
commit
d14a18509a
18 muutettua tiedostoa jossa 548 lisäystä ja 0 poistoa
  1. 19 0
      game-data/game-data-base/pom.xml
  2. 115 0
      game-data/game-data-serve/pom.xml
  3. 29 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/GameDataApplication.java
  4. 25 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/MybatisPlusConfig.java
  5. 48 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/SwaggerConfig.java
  6. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameConditionController.java
  7. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameDataController.java
  8. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameLevelController.java
  9. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameOrderController.java
  10. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameOverallController.java
  11. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GamePromoteController.java
  12. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameRankingController.java
  13. 29 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameOverallDTO.java
  14. 21 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameRankingDTO.java
  15. 59 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameRankingRechargeGameVO.java
  16. 47 0
      game-data/game-data-serve/src/main/resources/bootstrap.yml
  17. 24 0
      game-data/pom.xml
  18. 1 0
      pom.xml

+ 19 - 0
game-data/game-data-base/pom.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>game-data</artifactId>
+        <groupId>com.zanxiang.game</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>game-data-base</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+</project>

+ 115 - 0
game-data/game-data-serve/pom.xml

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>game-data</artifactId>
+        <groupId>com.zanxiang.game</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>game-data-serve</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <artifactId>game-data-base</artifactId>
+            <groupId>com.zanxiang.game</groupId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter</artifactId>
+        </dependency>
+        <!-- spring boot默认不去扫描 bootstrap.yml文件了 -->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+        <!-- SpringBoot start -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <!-- nacos配置中心 默认的 nacos-client 2.0.3有 bug -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.alibaba.nacos</groupId>
+                    <artifactId>nacos-client</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- nacos注册中心 -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.alibaba.nacos</groupId>
+                    <artifactId>nacos-client</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+        </dependency>
+        <!--sms集成-->
+        <dependency>
+            <groupId>com.zanxiang.module</groupId>
+            <artifactId>zx-sms</artifactId>
+        </dependency>
+        <!--redis集成-->
+        <dependency>
+            <groupId>com.zanxiang.module</groupId>
+            <artifactId>zx-redis</artifactId>
+        </dependency>
+        <!-- 谷歌http工具类 -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <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>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <!-- Mybatis Plus -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+        <!-- Mysql Connector -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 29 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/GameDataApplication.java

@@ -0,0 +1,29 @@
+package com.zanxiang.game.data.serve;
+
+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;
+import org.springframework.context.annotation.Configuration;
+
+@Slf4j
+@EnableDiscoveryClient
+@SpringBootApplication
+@Configuration
+@EnableDubbo
+public class GameDataApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(GameDataApplication.class, args);
+        System.out.println("游戏数据服务启动成功123 ( ´・・)ノ(._.`) \n" +
+                " ______  __     __     \n" +
+                "/_____/\\/__/\\ /__/\\    \n" +
+                "\\:::__\\/\\ \\::\\\\:.\\ \\   \n" +
+                "   /: /  \\_\\::_\\:_\\/   \n" +
+                "  /::/___  _\\/__\\_\\_/\\ \n" +
+                " /_:/____/\\\\ \\ \\ \\::\\ \\\n" +
+                " \\_______\\/ \\_\\/  \\__\\/\n");
+    }
+
+}

+ 25 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/MybatisPlusConfig.java

@@ -0,0 +1,25 @@
+package com.zanxiang.game.data.serve.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@Configuration
+@EnableTransactionManagement
+@MapperScan("com.zanxiang.game.data.serve.dao.mapper")
+public class MybatisPlusConfig {
+
+    /**
+     * 分页插件
+     */
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        return interceptor;
+    }
+}

+ 48 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/SwaggerConfig.java

@@ -0,0 +1,48 @@
+package com.zanxiang.game.data.serve.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-3-31
+ * @description : Swagger2 配置
+ */
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    /**
+     * 包扫描
+     */
+    @Bean
+    public Docket createRestApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .useDefaultResponseMessages(false)
+                .apiInfo(apiInfo())
+                .select()
+                .apis(RequestHandlerSelectors
+                        .basePackage("com.zanxiang.game.data.serve"))
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    /**
+     * api文档构造
+     *
+     * @return : 返回api模板
+     */
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                .title("游戏数据服务")
+                .version("1.0")
+                .build();
+    }
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameConditionController.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/game/condition")
+public class GameConditionController {
+    @PutMapping("/xx")
+    public ResultVO<Boolean> xx() {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameDataController.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/game/data")
+public class GameDataController {
+    @PutMapping("/xx")
+    public ResultVO<Boolean> xx() {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameLevelController.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/game/level")
+public class GameLevelController {
+    @PutMapping("/xx")
+    public ResultVO<Boolean> xx() {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameOrderController.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/game/order")
+public class GameOrderController {
+    @PutMapping("/xx")
+    public ResultVO<Boolean> xx() {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameOverallController.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/game/overall")
+public class GameOverallController {
+    @PutMapping("/xx")
+    public ResultVO<Boolean> xx() {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GamePromoteController.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/game/promote")
+public class GamePromoteController {
+    @PutMapping("/xx")
+    public ResultVO<Boolean> xx() {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameRankingController.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDate;
+
+@RestController
+@RequestMapping("/game/ranking")
+public class GameRankingController {
+    @PutMapping("/recharge/game")
+    public ResultVO<Boolean> game(@RequestBody GameRankingDTO dto) {
+
+        return ResultVO.ok();
+    }
+
+    @PutMapping("/recharge/player")
+    public ResultVO<Boolean> player(@RequestBody GameRankingDTO dto) {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+
+    @PutMapping("/recharge/promote/agent")
+    public ResultVO<Boolean> promoteAgent(@RequestBody GameRankingDTO dto) {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+
+    @PutMapping("/recharge/account/cost")
+    public ResultVO<Boolean> accountConsumption(@RequestBody GameRankingDTO dto) {
+        System.out.println("访问成功");
+        return ResultVO.ok();
+    }
+}

+ 29 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameOverallDTO.java

@@ -0,0 +1,29 @@
+package com.zanxiang.game.data.serve.pojo.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOverallDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String nickName;
+
+    private String promoteAccount;
+
+    private String agent;
+
+    private String promoteGame;
+
+    private LocalDate startDay;
+
+    private LocalDate endDay;
+}

+ 21 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameRankingDTO.java

@@ -0,0 +1,21 @@
+package com.zanxiang.game.data.serve.pojo.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameRankingDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private LocalDate startDay;
+
+    private LocalDate endDay;
+}

+ 59 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameRankingRechargeGameVO.java

@@ -0,0 +1,59 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameRankingRechargeGameVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Long number;
+
+    private String gameId;
+
+    private String gameName;
+
+    private String gameCategory;
+
+    private BigDecimal todayRechargeMoney;
+
+    private BigDecimal todayPurchaseRechargeMoney;
+
+    private BigDecimal todayNatureRechargeMoney;
+
+    /**
+     * 默认排名标准
+     */
+    private BigDecimal totalRechargeMoney;
+
+    private BigDecimal totalPurchaseRechargeMoney;
+
+    private BigDecimal totalNatureRechargeMoney;
+
+    /**
+     * 累计充值金额/累计充值次数
+     */
+    private BigDecimal avgMoney;
+
+    private Long registerPlayer;
+
+    private Long totalRechargePlayer;
+
+    private Long totalRechargeCount;
+
+    private BigDecimal totalCost;
+
+    /**
+     * 累计买量充值金额/累计消耗
+     */
+    private BigDecimal paybackRate;
+}

+ 47 - 0
game-data/game-data-serve/src/main/resources/bootstrap.yml

@@ -0,0 +1,47 @@
+server:
+  port: 10600
+spring:
+  application:
+    name: game-data
+  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
+        max-retry: 10
+
+#dubbo:
+#  application:
+#    name: game-data-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: -1
+#    logger: slf4j
+#  registry:
+#    address: nacos://118.178.187.109:8848?registry-type=service
+#    timeout: 3000
+#    parameters:
+#      namespace: LOCAL_game
+#    group: GAME
+#    use-as-metadata-center: false
+#    use-as-config-center: false
+#  protocol:
+#    name: tri
+#    port: -1
+#  consumer:
+#    check: false
+
+
+
+

+ 24 - 0
game-data/pom.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>game-center</artifactId>
+        <groupId>com.zanxiang.game</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>game-data</artifactId>
+    <packaging>pom</packaging>
+    <modules>
+        <module>game-data-serve</module>
+        <module>game-data-base</module>
+    </modules>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+</project>

+ 1 - 0
pom.xml

@@ -6,6 +6,7 @@
     <packaging>pom</packaging>
     <modules>
         <module>game-module</module>
+        <module>game-data</module>
     </modules>
     <parent>
         <groupId>com.zanxiang</groupId>