Kaynağa Gözat

后台部分逻辑

xufeng 2 yıl önce
ebeveyn
işleme
c0599c956e
35 değiştirilmiş dosya ile 2120 ekleme ve 0 silme
  1. 51 0
      game-module/game-common/src/main/java/com/zanxiang/common/enums/Pay/AlipayPayConfigEnum.java
  2. 60 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayApplicationController.java
  3. 18 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayBoxController.java
  4. 66 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayMerchantController.java
  5. 42 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayWayController.java
  6. 81 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/bo/PayApplicationBO.java
  7. 127 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/bo/PayMerchantBO.java
  8. 91 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayApplicationDTO.java
  9. 145 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayMerchantDTO.java
  10. 82 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayApplicationParam.java
  11. 50 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayMerchantBoxParam.java
  12. 38 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayMerchantListParam.java
  13. 126 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayMerchantParam.java
  14. 92 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayApplicationVO.java
  15. 131 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayMerchantVO.java
  16. 47 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayWayVO.java
  17. 42 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayApplicationServiceImpl.java
  18. 18 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayBoxServiceImpl.java
  19. 74 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayMerchantServiceImpl.java
  20. 18 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayWayServiceImpl.java
  21. 28 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayApplicationService.java
  22. 14 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayBoxService.java
  23. 25 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayMerchantService.java
  24. 14 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayWayService.java
  25. 92 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayApplication.java
  26. 67 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayBox.java
  27. 146 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayMerchant.java
  28. 15 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/HPayBoxMapper.java
  29. 15 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/PayApplicationMapper.java
  30. 16 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/PayMerchantMapper.java
  31. 24 0
      game-module/game-mybatis/src/main/resources/mapper/PayApplicationMapper.xml
  32. 20 0
      game-module/game-mybatis/src/main/resources/mapper/PayBoxMapper.xml
  33. 43 0
      game-module/game-mybatis/src/main/resources/mapper/PayMerchantMapper.xml
  34. 34 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/OrderController.java
  35. 168 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/PlatformOrderParam.java

+ 51 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/Pay/AlipayPayConfigEnum.java

@@ -0,0 +1,51 @@
+package com.zanxiang.common.enums.Pay;
+
+import lombok.Getter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author xufeng
+ * @date 2022/6/9 15:29
+ */
+@Getter
+public enum AlipayPayConfigEnum {
+    APPID("appId", "商户支付appId", false),
+    ALIPAYPUBLICKEY("alipayPublicKey", "支付宝公钥key", false),
+    MERCHANTPRIVATEKEY("merchantPrivateKey", "商户私钥key", false),
+    SIGNTYPE("signType", "加密方式", false),
+    MERCHANTCERTPATH("merchantCertPath", "商户证书", true),
+    ALIPAYCERTPATH("alipayCertPath", "支付宝证书", true),
+    ALIPAYROOTCERTPATH("alipayRootCertPath", "支付宝根证书", true);
+
+    private final String code;
+    private final String msg;
+    private Boolean isFile; //是否为文件
+
+    AlipayPayConfigEnum(String code, String msg, Boolean isFile) {
+        this.code = code;
+        this.msg = msg;
+        this.isFile = isFile;
+    }
+
+    public static List<String> getCodeList() {
+        List<String> arr = new ArrayList<>(20);
+        AlipayPayConfigEnum[] data = AlipayPayConfigEnum.values();
+        if (data.length == 0) {
+            return arr;
+        }
+        for (int i = 0; i < data.length; i++) {
+            arr.add(data[i].getCode());
+        }
+        return arr;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}

+ 60 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayApplicationController.java

@@ -0,0 +1,60 @@
+package com.zanxiang.manage.controller;
+
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.common.enums.HttpStatusEnum;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.bo.PayApplicationBO;
+import com.zanxiang.manage.domain.bo.PayMerchantBO;
+import com.zanxiang.manage.domain.dto.PayApplicationDTO;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
+import com.zanxiang.manage.domain.params.PayApplicationParam;
+import com.zanxiang.manage.domain.params.PayMerchantParam;
+import com.zanxiang.manage.domain.vo.PayApplicationVO;
+import com.zanxiang.manage.domain.vo.PayMerchantVO;
+import com.zanxiang.manage.service.PayApplicationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 游戏应用
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Api(tags = "游戏应用管理")
+@RestController
+@RequestMapping("/pay-application")
+public class PayApplicationController {
+
+    @Autowired
+    private PayApplicationService payApplicationService;
+
+    @ApiOperation(value = "新增/编辑/删除")
+    @PostMapping(value = "/save")
+    public ResultVo<Boolean> save(@Validated @RequestBody PayApplicationParam param) {
+        Boolean result = payApplicationService.saveOrUpdate(BeanUtils.copy(param, PayApplicationBO.class));
+        if (result) {
+            return new ResultVo<>(HttpStatusEnum.SUCCESS, true);
+        }
+        return new ResultVo<>(HttpStatusEnum.FAIL, false);
+    }
+
+    @ApiOperation(value = "列表")
+    @PostMapping(value = "/list")
+    public ResultVo<List<PayApplicationVO>> list(@Validated @RequestBody PayApplicationParam param) {
+        List<PayApplicationDTO> result = payApplicationService.list(BeanUtils.copy(param, PayApplicationBO.class));
+        if (!result.isEmpty()) {
+            List<PayApplicationVO> list = BeanUtils.copyList(result, PayApplicationVO.class);
+            return new ResultVo<>(HttpStatusEnum.SUCCESS, list);
+        }
+        return new ResultVo<>(HttpStatusEnum.FAIL);
+    }
+}

+ 18 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayBoxController.java

@@ -0,0 +1,18 @@
+package com.zanxiang.manage.controller;
+
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 支付盒子
+ *
+ * @author xufeng
+ * @date 2022-06-22 15:26
+ */
+@Api(tags = "支付盒子")
+@RestController
+@RequestMapping("/pay-box")
+public class PayBoxController {
+
+}

+ 66 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayMerchantController.java

@@ -0,0 +1,66 @@
+package com.zanxiang.manage.controller;
+
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.common.enums.HttpStatusEnum;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.bo.PayMerchantBO;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
+import com.zanxiang.manage.domain.params.PayMerchantParam;
+import com.zanxiang.manage.domain.vo.PayMerchantVO;
+import com.zanxiang.manage.service.PayMerchantService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 游戏支付商户配置表 前端控制器
+ *
+ * @author xufeng
+ * @date 2022-06-16 19:04
+ */
+@Api(tags = "商户号管理")
+@RestController
+@RequestMapping("/pay-merchant")
+public class PayMerchantController {
+
+    @Autowired
+    private PayMerchantService payMerchantService;
+
+    @ApiOperation(value = "商户号-新增/编辑/删除(payWayId/merchantNo/merchantName 必传)")
+    @PostMapping(value = "/save")
+    public ResultVo<String> create(@Validated @RequestBody PayMerchantParam param) {
+        Boolean result = payMerchantService.saveOrUpdate(BeanUtils.copy(param, PayMerchantBO.class));
+        if (result) {
+            return new ResultVo(HttpStatusEnum.SUCCESS, result);
+        }
+        return new ResultVo(HttpStatusEnum.FAIL, result);
+    }
+
+    @ApiOperation(value = "商户号-列表")
+    @PostMapping(value = "/list")
+    public ResultVo<PayMerchantVO> list(@Validated @RequestBody PayMerchantParam param) {
+        List<PayMerchantDTO> result = payMerchantService.list(BeanUtils.copy(param, PayMerchantBO.class));
+        if (!result.isEmpty()) {
+            return new ResultVo(HttpStatusEnum.SUCCESS, result);
+        }
+        return new ResultVo(HttpStatusEnum.FAIL);
+    }
+
+    @ApiOperation(value = "盒子-列表")
+    @PostMapping(value = "/box-list")
+    public ResultVo<PayMerchantVO> boxList(@Validated @RequestBody PayMerchantParam param) {
+        List<PayMerchantDTO> result = payMerchantService.list(BeanUtils.copy(param, PayMerchantBO.class));
+        if (!result.isEmpty()) {
+            return new ResultVo(HttpStatusEnum.SUCCESS, result);
+        }
+        return new ResultVo(HttpStatusEnum.FAIL);
+    }
+
+}

+ 42 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayWayController.java

@@ -0,0 +1,42 @@
+package com.zanxiang.manage.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.common.enums.HttpStatusEnum;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.vo.PayWayVO;
+import com.zanxiang.manage.service.PayWayService;
+import com.zanxiang.mybatis.entity.PayWay;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 支付方式管理
+ *
+ * @author xufeng
+ * @date 2022-06-17 16:05
+ */
+@Api(tags = "支付方式管理")
+@RestController
+@RequestMapping("/pay-way")
+public class PayWayController {
+
+    @Autowired
+    private PayWayService payWayService;
+
+    @ApiOperation(value = "支付方式列表")
+    @PostMapping(value = "/list")
+    public ResultVo<List<PayWayVO>> list() {
+        List<PayWay> list = payWayService.list(new LambdaQueryWrapper<PayWay>().eq(PayWay::getParentId, 0));
+        if (list.isEmpty()) {
+            return new ResultVo<>(HttpStatusEnum.SUCCESS);
+        }
+        return new ResultVo<>(HttpStatusEnum.SUCCESS, BeanUtils.copyList(list, PayWayVO.class));
+    }
+}

+ 81 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/bo/PayApplicationBO.java

@@ -0,0 +1,81 @@
+package com.zanxiang.manage.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 注释游戏应用表
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PayApplicationBO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 应用名称
+     */
+    private String name;
+
+    /**
+     * 类型 1 微信小程序
+     */
+    private Integer type;
+
+    /**
+     * 应用appid
+     */
+    private String appId;
+
+    /**
+     * 应用原始id
+     */
+    private String primevalId;
+
+    /**
+     * 应用主体
+     */
+    private String company;
+
+    /**
+     * 登录账号
+     */
+    private String loginName;
+
+    /**
+     * 登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+    
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+}

+ 127 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/bo/PayMerchantBO.java

@@ -0,0 +1,127 @@
+package com.zanxiang.manage.domain.bo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author xufeng
+ * @date 2022/6/16 19:14
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchantBO {
+
+    private Long id;
+
+    /**
+     * 支付方式id
+     */
+    private Integer payWayId;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 支持支付方式(pc/h5/app/)
+     */
+    private String payDevice;
+
+    /**
+     * 商户号登录账号
+     */
+    private String loginName;
+
+    /**
+     * 商户号登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 绑定手机号
+     */
+    private String mobile;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 支付配置json (存储根据payway设置后,配置的具体商户号信息)
+     */
+    private String payConfig;
+
+    /**
+     * 最大支付额度锁 0 正常 1 锁定
+     */
+    private Integer maxPayLock;
+
+    /**
+     * 最大支付额度
+     */
+    private BigDecimal maxPayAmount;
+
+    /**
+     * 月已用支付额度
+     */
+    private BigDecimal mouthPayAmount;
+
+    /**
+     * 月更新日期
+     */
+    private Date mouthUpdateDate;
+
+    /**
+     * 周已用额度
+     */
+    private BigDecimal weakerPayAmount;
+
+    /**
+     * 周更新日期
+     */
+    private Date weakerUpdateDate;
+
+    /**
+     * 日已用额度
+     */
+    private BigDecimal dayPayAmount;
+
+    /**
+     * 日更新日期
+     */
+    private Date dayUpdateDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+}

+ 91 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayApplicationDTO.java

@@ -0,0 +1,91 @@
+package com.zanxiang.manage.domain.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 注释游戏应用表
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PayApplicationDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 应用名称
+     */
+    private String name;
+
+    /**
+     * 类型 1 微信小程序
+     */
+    private Integer type;
+
+    /**
+     * 应用appid
+     */
+    private String appId;
+
+    /**
+     * 应用原始id
+     */
+    private String primevalId;
+
+    /**
+     * 应用主体
+     */
+    private String company;
+
+    /**
+     * 登录账号
+     */
+    private String loginName;
+
+    /**
+     * 登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

+ 145 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayMerchantDTO.java

@@ -0,0 +1,145 @@
+package com.zanxiang.manage.domain.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 注释游戏支付商户配置表
+ *
+ * @author xufeng
+ * @date 2022-06-16 18:56
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchantDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 支付方式id
+     */
+    private Integer payWayId;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 支持支付方式(pc/h5/app/)
+     */
+    private String payDevice;
+
+    /**
+     * 商户号登录账号
+     */
+    private String loginName;
+
+    /**
+     * 商户号登录密码
+     */
+    //private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 绑定手机号
+     */
+    private String mobile;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 支付配置json (存储根据payway设置后,配置的具体商户号信息)
+     */
+    private String payConfig;
+
+    /**
+     * 最大支付额度锁 0 正常 1 锁定
+     */
+    private Integer maxPayLock;
+
+    /**
+     * 最大支付额度
+     */
+    private BigDecimal maxPayAmount;
+
+    /**
+     * 月已用支付额度
+     */
+    private BigDecimal mouthPayAmount;
+
+    /**
+     * 月更新日期
+     */
+    private Date mouthUpdateDate;
+
+    /**
+     * 周已用额度
+     */
+    private BigDecimal weakerPayAmount;
+
+    /**
+     * 周更新日期
+     */
+    private Date weakerUpdateDate;
+
+    /**
+     * 日已用额度
+     */
+    private BigDecimal dayPayAmount;
+
+    /**
+     * 日更新日期
+     */
+    private Date dayUpdateDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

+ 82 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayApplicationParam.java

@@ -0,0 +1,82 @@
+package com.zanxiang.manage.domain.params;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 注释游戏应用表
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PayApplicationParam implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 应用名称
+     */
+    private String name;
+
+    /**
+     * 类型 1 微信小程序
+     */
+    private Integer type;
+
+    /**
+     * 应用appid
+     */
+    private String appId;
+
+    /**
+     * 应用原始id
+     */
+    private String primevalId;
+
+    /**
+     * 应用主体
+     */
+    private String company;
+
+    /**
+     * 登录账号
+     */
+    private String loginName;
+
+    /**
+     * 登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+
+}

+ 50 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayMerchantBoxParam.java

@@ -0,0 +1,50 @@
+package com.zanxiang.manage.domain.params;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.NonNull;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author xufeng
+ * @date 2022/6/16 19:14
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchantBoxParam implements Serializable {
+
+    private Integer id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 支付名称
+     */
+    private String payName;
+
+    /**
+     * 应用id
+     */
+    private Integer payApplicationId;
+
+    /**
+     * 商户号id(多个逗号分割,id,)
+     */
+    private String payMerchantId;
+
+    /**
+     * 盒子类型 1、金币 2、红包
+     */
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    private String desc;
+}

+ 38 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayMerchantListParam.java

@@ -0,0 +1,38 @@
+package com.zanxiang.manage.domain.params;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author xufeng
+ * @date 2022/6/16 19:14
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchantListParam implements Serializable {
+
+    /**
+     * 支付方式id
+     */
+    private Integer payWayId;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+}

+ 126 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayMerchantParam.java

@@ -0,0 +1,126 @@
+package com.zanxiang.manage.domain.params;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.NonNull;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author xufeng
+ * @date 2022/6/16 19:14
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchantParam implements Serializable {
+
+    private Long id;
+
+    /**
+     * 支付方式id
+     */
+    private Integer payWayId;
+
+    /**
+     * 商户号
+     */
+    @NonNull
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 支持支付方式(pc/h5/app/)
+     */
+    private String payDevice;
+
+    /**
+     * 商户号登录账号
+     */
+    private String loginName;
+
+    /**
+     * 商户号登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 绑定手机号
+     */
+    private String mobile;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 支付配置json (存储根据payway设置后,配置的具体商户号信息)
+     */
+    private String payConfig;
+
+    /**
+     * 最大支付额度锁 0 正常 1 锁定
+     */
+    private Integer maxPayLock;
+
+    /**
+     * 最大支付额度
+     */
+    private BigDecimal maxPayAmount;
+
+    /**
+     * 月已用支付额度
+     */
+    private BigDecimal mouthPayAmount;
+
+    /**
+     * 月更新日期
+     */
+    private Date mouthUpdateDate;
+
+    /**
+     * 周已用额度
+     */
+    private BigDecimal weakerPayAmount;
+
+    /**
+     * 周更新日期
+     */
+    private Date weakerUpdateDate;
+
+    /**
+     * 日已用额度
+     */
+    private BigDecimal dayPayAmount;
+
+    /**
+     * 日更新日期
+     */
+    private Date dayUpdateDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+}

+ 92 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayApplicationVO.java

@@ -0,0 +1,92 @@
+package com.zanxiang.manage.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 注释游戏应用表
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PayApplicationVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 应用名称
+     */
+    private String name;
+
+    /**
+     * 类型 1 微信小程序
+     */
+    private Integer type;
+
+    /**
+     * 应用appid
+     */
+    private String appId;
+
+    /**
+     * 应用原始id
+     */
+    private String primevalId;
+
+    /**
+     * 应用主体
+     */
+    private String company;
+
+    /**
+     * 登录账号
+     */
+    private String loginName;
+
+    /**
+     * 登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

+ 131 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayMerchantVO.java

@@ -0,0 +1,131 @@
+package com.zanxiang.manage.domain.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author xufeng
+ * @date 2022/6/16 19:14
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchantVO implements Serializable {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+
+    private Long id;
+    /**
+     * 支付方式id
+     */
+    private Integer payWayId;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 支持支付方式(pc/h5/app/)
+     */
+    private String payDevice;
+
+    /**
+     * 商户号登录账号
+     */
+    private String loginName;
+
+    /**
+     * 商户号登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 绑定手机号
+     */
+    private String mobile;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 支付配置json (存储根据payway设置后,配置的具体商户号信息)
+     */
+    private String payConfig;
+
+    /**
+     * 最大支付额度锁 0 正常 1 锁定
+     */
+    private Integer maxPayLock;
+
+    /**
+     * 最大支付额度
+     */
+    private BigDecimal maxPayAmount;
+
+    /**
+     * 月已用支付额度
+     */
+    private BigDecimal mouthPayAmount;
+
+    /**
+     * 月更新日期
+     */
+    private Date mouthUpdateDate;
+
+    /**
+     * 周已用额度
+     */
+    private BigDecimal weakerPayAmount;
+
+    /**
+     * 周更新日期
+     */
+    private Date weakerUpdateDate;
+
+    /**
+     * 日已用额度
+     */
+    private BigDecimal dayPayAmount;
+
+    /**
+     * 日更新日期
+     */
+    private Date dayUpdateDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+}

+ 47 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayWayVO.java

@@ -0,0 +1,47 @@
+package com.zanxiang.manage.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-06
+ * @description : 支付方式
+ */
+@Data
+public class PayWayVO {
+
+    /**
+     * 支付方式
+     */
+    private Integer id;
+
+    /**
+     * 支付通道
+     */
+    private String code;
+
+    /**
+     * 支付名称
+     */
+    private String payName;
+
+    /**
+     * 父ID
+     */
+    private Integer parentId;
+
+    /**
+     * 支付配置(存储需要配置的信息json)
+     */
+    private String payExt;
+
+    /**
+     * 描述
+     */
+    private String desc;
+}

+ 42 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayApplicationServiceImpl.java

@@ -0,0 +1,42 @@
+package com.zanxiang.manage.service.Impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.common.enums.DeleteEnum;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.bo.PayApplicationBO;
+import com.zanxiang.manage.domain.dto.PayApplicationDTO;
+import com.zanxiang.manage.service.PayApplicationService;
+import com.zanxiang.mybatis.entity.PayApplication;
+import com.zanxiang.mybatis.mapper.PayApplicationMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 游戏应用表 服务实现类
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Service
+public class PayApplicationServiceImpl extends ServiceImpl<PayApplicationMapper, PayApplication> implements PayApplicationService {
+
+    @Override
+    public Boolean saveOrUpdate(PayApplicationBO bo) {
+        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
+        return saveOrUpdate(app);
+    }
+
+    @Override
+    public List<PayApplicationDTO> list(PayApplicationBO bo) {
+        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
+        app.setIsDelete(DeleteEnum.NO.getCode());
+        List<PayApplication> result = list(new LambdaQueryWrapper<PayApplication>().setEntity(app));
+        if (result.isEmpty()) {
+            return null;
+        }
+        return BeanUtils.copyList(result, PayApplicationDTO.class);
+    }
+
+}

+ 18 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayBoxServiceImpl.java

@@ -0,0 +1,18 @@
+package com.zanxiang.manage.service.Impl;
+
+import com.zanxiang.manage.service.PayBoxService;
+import com.zanxiang.mybatis.entity.PayBox;
+import com.zanxiang.mybatis.mapper.HPayBoxMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 支付盒子 服务实现类
+ *
+ * @author xufeng
+ * @date 2022-06-22 15:26
+ */
+@Service
+public class PayBoxServiceImpl extends ServiceImpl<HPayBoxMapper, PayBox> implements PayBoxService {
+
+}

+ 74 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayMerchantServiceImpl.java

@@ -0,0 +1,74 @@
+package com.zanxiang.manage.service.Impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.common.enums.DeleteEnum;
+import com.zanxiang.common.utils.StringUtils;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.bo.PayMerchantBO;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
+import com.zanxiang.manage.service.PayMerchantService;
+import com.zanxiang.mybatis.entity.PayMerchant;
+import com.zanxiang.mybatis.mapper.PayMerchantMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 游戏支付商户配置表 服务实现类
+ *
+ * @author xufeng
+ * @date 2022-06-16 19:04
+ */
+@Service
+public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMerchant> implements PayMerchantService {
+
+
+    @Override
+    public PayMerchantDTO info(Long id) {
+        PayMerchant data = getOne(new LambdaQueryWrapper<PayMerchant>().eq(PayMerchant::getId, id).eq(PayMerchant::getIsDelete, DeleteEnum.NO.getCode()));
+        if (data == null) {
+            return null;
+        }
+        return BeanUtils.copy(data, PayMerchantDTO.class);
+    }
+
+    public Boolean saveOrUpdate(PayMerchantBO bo) {
+        PayMerchant data = BeanUtils.copy(bo, PayMerchant.class);
+        //删除时候增加删除时间
+        if (data.getIsDelete() == DeleteEnum.YES.getCode()) {
+            data.setDeleteTime(new Date());
+        }
+        if (!StringUtils.isEmpty(data.getPayDevice())) {
+            data.setPayDevice("," + data.getPayDevice().trim() + ",");
+        }
+        return saveOrUpdate(BeanUtils.copy(data, PayMerchant.class));
+    }
+
+    @Override
+    public List<PayMerchantDTO> list(PayMerchantBO bo) {
+//        LambdaQueryWrapper<PayMerchant> wrapper = new LambdaQueryWrapper<>();
+//        wrapper.eq(PayMerchant::getMerchantNo, bo.getMerchantNo());
+//        wrapper.eq(PayMerchant::getMerchantName, bo.getMerchantName());
+//        wrapper.eq(PayMerchant::getStatus, bo.getStatus());
+//        wrapper.eq(PayMerchant::getIsDelete, DeleteEnum.NO.getCode());
+        PayMerchant app = BeanUtils.copy(bo, PayMerchant.class);
+        app.setIsDelete(DeleteEnum.NO.getCode());
+        List<PayMerchant> result = list(new QueryWrapper<PayMerchant>().setEntity(app));
+        if (result.isEmpty()) {
+            return null;
+        }
+        return BeanUtils.copyList(result, PayMerchantDTO.class);
+    }
+
+//    @Override
+//    public Boolean config(PayMerchantBO bo) {
+//        PayMerchantDTO info = info(bo.getId());
+//        if (info == null) {
+//            return null;
+//        }
+//        return null;
+//    }
+}

+ 18 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayWayServiceImpl.java

@@ -0,0 +1,18 @@
+package com.zanxiang.manage.service.Impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.manage.service.PayWayService;
+import com.zanxiang.mybatis.entity.PayWay;
+import com.zanxiang.mybatis.mapper.PayWayMapper;
+import org.springframework.stereotype.Service;
+
+/**
+ * 支付方式 服务实现类
+ *
+ * @author xufeng
+ * @date 2022-06-17 16:05
+ */
+@Service
+public class PayWayServiceImpl extends ServiceImpl<PayWayMapper, PayWay> implements PayWayService {
+
+}

+ 28 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayApplicationService.java

@@ -0,0 +1,28 @@
+package com.zanxiang.manage.service;
+
+import com.zanxiang.manage.domain.bo.PayApplicationBO;
+import com.zanxiang.manage.domain.bo.PayMerchantBO;
+import com.zanxiang.manage.domain.dto.PayApplicationDTO;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
+import com.zanxiang.mybatis.entity.PayApplication;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 游戏应用表 服务类接口
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+public interface PayApplicationService extends IService<PayApplication> {
+    /**
+     * 根据id新增与更新操作
+     *
+     * @param bo
+     * @return
+     */
+    Boolean saveOrUpdate(PayApplicationBO bo);
+
+    List<PayApplicationDTO> list(PayApplicationBO bo);
+}

+ 14 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayBoxService.java

@@ -0,0 +1,14 @@
+package com.zanxiang.manage.service;
+
+import com.zanxiang.mybatis.entity.PayBox;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 支付盒子 服务类接口
+ *
+ * @author xufeng
+ * @date 2022-06-22 15:26
+ */
+public interface PayBoxService extends IService<PayBox> {
+
+}

+ 25 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayMerchantService.java

@@ -0,0 +1,25 @@
+package com.zanxiang.manage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.bo.PayMerchantBO;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
+import com.zanxiang.mybatis.entity.PayMerchant;
+
+import java.util.List;
+
+/**
+ * 游戏支付商户配置表 服务类接口
+ *
+ * @author xufeng
+ * @date 2022-06-16 19:04
+ */
+public interface PayMerchantService extends IService<PayMerchant> {
+
+    PayMerchantDTO info(Long id);
+
+    Boolean saveOrUpdate(PayMerchantBO bo);
+
+    List<PayMerchantDTO> list(PayMerchantBO bo);
+
+//    Boolean config(PayMerchantBO bo);
+}

+ 14 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PayWayService.java

@@ -0,0 +1,14 @@
+package com.zanxiang.manage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.mybatis.entity.PayWay;
+
+/**
+ * 支付方式 服务类接口
+ *
+ * @author xufeng
+ * @date 2022-06-17 16:05
+ */
+public interface PayWayService extends IService<PayWay> {
+
+}

+ 92 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayApplication.java

@@ -0,0 +1,92 @@
+package com.zanxiang.mybatis.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 游戏应用表
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PayApplication implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 应用名称
+     */
+    private String name;
+
+    /**
+     * 类型 1 微信小程序
+     */
+    private Integer type;
+
+    /**
+     * 应用appid
+     */
+    private String appId;
+
+    /**
+     * 应用原始id
+     */
+    private String primevalId;
+
+    /**
+     * 应用主体
+     */
+    private String company;
+
+    /**
+     * 登录账号
+     */
+    private String loginName;
+
+    /**
+     * 登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

+ 67 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayBox.java

@@ -0,0 +1,67 @@
+package com.zanxiang.mybatis.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 支付盒子
+ *
+ * @author xufeng
+ * @date 2022-06-22 15:26
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PayBox implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 支付名称
+     */
+    private String payName;
+
+    /**
+     * 应用id
+     */
+    private Integer payApplicationId;
+
+    /**
+     * 商户号id(多个逗号分割,id,)
+     */
+    private String payMerchantId;
+
+    /**
+     * 盒子类型 1、金币 2、红包
+     */
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    private String desc;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

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

@@ -0,0 +1,146 @@
+package com.zanxiang.mybatis.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ * 游戏支付商户配置表
+ *
+ * @author xufeng
+ * @date 2022-06-16 18:56
+ */
+@Data
+@NoArgsConstructor
+public class PayMerchant implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 支付方式id
+     */
+    private Integer payWayId;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 支持支付方式(pc/h5/app/)
+     */
+    private String payDevice;
+
+    /**
+     * 商户号登录账号
+     */
+    private String loginName;
+
+    /**
+     * 商户号登录密码
+     */
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    private String managePerson;
+
+    /**
+     * 绑定手机号
+     */
+    private String mobile;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 状态 1 不可用 2 可用
+     */
+    private Integer status;
+
+    /**
+     * 支付配置json (存储根据payway设置后,配置的具体商户号信息)
+     */
+    private String payConfig;
+
+    /**
+     * 最大支付额度锁 0 正常 1 锁定
+     */
+    private Integer maxPayLock;
+
+    /**
+     * 最大支付额度
+     */
+    private BigDecimal maxPayAmount;
+
+    /**
+     * 月已用支付额度
+     */
+    private BigDecimal mouthPayAmount;
+
+    /**
+     * 月更新日期
+     */
+    private Date mouthUpdateDate;
+
+    /**
+     * 周已用额度
+     */
+    private BigDecimal weakerPayAmount;
+
+    /**
+     * 周更新日期
+     */
+    private Date weakerUpdateDate;
+
+    /**
+     * 日已用额度
+     */
+    private BigDecimal dayPayAmount;
+
+    /**
+     * 日更新日期
+     */
+    private Date dayUpdateDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 是否已删除 1 已删除 2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 删除时间
+     */
+    private Date deleteTime;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+}

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

@@ -0,0 +1,15 @@
+package com.zanxiang.mybatis.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import com.zanxiang.mybatis.entity.PayBox;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 注释支付盒子 Mapper
+ *
+ * @author xufeng
+ * @date 2022-06-22 15:26
+ */
+@Mapper
+public interface HPayBoxMapper extends BaseMapper<PayBox> {
+}

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

@@ -0,0 +1,15 @@
+package com.zanxiang.mybatis.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import com.zanxiang.mybatis.entity.PayApplication;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 注释游戏应用表 Mapper
+ *
+ * @author xufeng
+ * @date 2022-06-20 15:16
+ */
+@Mapper
+public interface PayApplicationMapper extends BaseMapper<PayApplication> {
+}

+ 16 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/PayMerchantMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.mybatis.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import com.zanxiang.mybatis.entity.PayMerchant;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 注释游戏支付商户配置表 Mapper
+ *
+ * @author xufeng
+ * @date 2022-06-16 18:57
+ */
+@Mapper
+public interface PayMerchantMapper extends BaseMapper<PayMerchant> {
+
+}

+ 24 - 0
game-module/game-mybatis/src/main/resources/mapper/PayApplicationMapper.xml

@@ -0,0 +1,24 @@
+<?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.PayApplicationMapper">
+  <resultMap id="BaseResultMap" type="com.zanxiang.mybatis.entity.PayApplication">
+    <id column="id" jdbcType="BIGINT" property="id"/>
+    <result column="name" jdbcType="VARCHAR" property="name"/>
+    <result column="type" jdbcType="TINYINT" property="type"/>
+    <result column="app_id" jdbcType="VARCHAR" property="appId"/>
+    <result column="primeval_id" jdbcType="VARCHAR" property="primevalId"/>
+    <result column="company" jdbcType="VARCHAR" property="company"/>
+    <result column="login_name" jdbcType="VARCHAR" property="loginName"/>
+    <result column="login_password" jdbcType="VARCHAR" property="loginPassword"/>
+    <result column="manage_person" jdbcType="VARCHAR" property="managePerson"/>
+    <result column="remark" jdbcType="VARCHAR" property="remark"/>
+    <result column="status" jdbcType="TINYINT" property="status"/>
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+  </resultMap>
+  <sql id="Base_Column_List">
+    id
+    , name, type, app_id, primeval_id, company, login_name,
+	login_password, manage_person, remark, status, create_time, update_time
+  </sql>
+</mapper>

+ 20 - 0
game-module/game-mybatis/src/main/resources/mapper/PayBoxMapper.xml

@@ -0,0 +1,20 @@
+<?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.PayBoxMapper">
+    <resultMap id="BaseResultMap" type="com.zanxiang.mybatis.entity.PayBox">
+        <id column="id" jdbcType="INTEGER" property="id"/>
+        <result column="name" jdbcType="VARCHAR" property="name"/>
+        <result column="pay_name" jdbcType="VARCHAR" property="payName"/>
+        <result column="pay_application_id" jdbcType="INTEGER" property="payApplicationId"/>
+        <result column="pay_merchant_id" jdbcType="VARCHAR" property="payMerchantId"/>
+        <result column="type" jdbcType="TINYINT" property="type"/>
+        <result column="desc" jdbcType="VARCHAR" property="desc"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        id
+        , name, pay_name, pay_application_id, pay_merchant_id, type, desc,
+	create_time, update_time
+    </sql>
+</mapper>

+ 43 - 0
game-module/game-mybatis/src/main/resources/mapper/PayMerchantMapper.xml

@@ -0,0 +1,43 @@
+<?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.PayMerchantMapper">
+  <resultMap id="BaseResultMap" type="com.zanxiang.mybatis.entity.PayMerchant">
+    <id column="id" jdbcType="BIGINT" property="id"/>
+    <result column="pay_way_id" jdbcType="INTEGER" property="payWayId"/>
+    <result column="merchant_no" jdbcType="VARCHAR" property="merchantNo"/>
+    <result column="merchant_name" jdbcType="VARCHAR" property="merchantName"/>
+    <result column="pay_device" jdbcType="VARCHAR" property="payDevice"/>
+    <result column="login_name" jdbcType="VARCHAR" property="loginName"/>
+    <result column="login_password" jdbcType="VARCHAR" property="loginPassword"/>
+    <result column="manage_person" jdbcType="VARCHAR" property="managePerson"/>
+    <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
+    <result column="email" jdbcType="VARCHAR" property="email"/>
+    <result column="status" jdbcType="TINYINT" property="status"/>
+    <result column="max_pay_lock" jdbcType="TINYINT" property="maxPayLock"/>
+    <result column="max_pay_amount" jdbcType="DECIMAL" property="maxPayAmount"/>
+    <result column="mouth_pay_amount" jdbcType="DECIMAL" property="mouthPayAmount"/>
+    <result column="mouth_update_date" jdbcType="DATE" property="mouthUpdateDate"/>
+    <result column="weaker_pay_amount" jdbcType="DECIMAL" property="weakerPayAmount"/>
+    <result column="weaker_update_date" jdbcType="DATE" property="weakerUpdateDate"/>
+    <result column="day_pay_amount" jdbcType="DECIMAL" property="dayPayAmount"/>
+    <result column="day_update_date" jdbcType="DATE" property="dayUpdateDate"/>
+    <result column="remark" jdbcType="VARCHAR" property="remark"/>
+    <result column="pay_config" jdbcType="LONGVARCHAR" property="payConfig"/>
+    <result column="is_delete" jdbcType="TINYINT" property="isDelete"/>
+    <result column="delete_time" jdbcType="TIMESTAMP" property="deleteTime"/>
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+  </resultMap>
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.zanxiang.mybatis.entity.PayMerchant">
+  </resultMap>
+  <sql id="Base_Column_List">
+    id
+    , pay_way_id, merchant_no, merchant_name, pay_device, login_name, login_password,
+	manage_person, mobile, email, status, max_pay_lock, max_pay_amount, mouth_pay_amount, 
+	mouth_update_date, weaker_pay_amount, weaker_update_date, day_pay_amount, day_update_date, remark, is_delete, 
+	delete_time, create_time, update_time
+  </sql>
+  <sql id="Blob_Column_List">
+    pay_config
+  </sql>
+</mapper>

+ 34 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/OrderController.java

@@ -0,0 +1,34 @@
+package com.zanxiang.sdk.controller;
+
+import com.zanxiang.common.domain.ResultMap;
+import com.zanxiang.sdk.common.annotation.ValidLogin;
+import com.zanxiang.sdk.domain.params.PlatformOrderParam;
+import com.zanxiang.sdk.domain.params.UserData;
+import com.zanxiang.sdk.service.PlatformOrderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author xufeng
+ * @date 2022/6/17 17:07
+ */
+@Api(tags = "支付公共入口")
+@RestController
+@RequestMapping(value = "/order")
+public class OrderController {
+    @Autowired
+    private PlatformOrderService orderService;
+
+    @ApiOperation(value = "支付参数生成")
+    @GetMapping(value = "/create")
+    public ResultMap create(@ValidLogin UserData user, @RequestBody PlatformOrderParam order) {
+//        orderService.create();
+//        return ResultVo.fail("111");
+        return null;
+    }
+}

+ 168 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/PlatformOrderParam.java

@@ -0,0 +1,168 @@
+package com.zanxiang.sdk.domain.params;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class PlatformOrderParam {
+
+    private String id;
+
+    /**
+     * cpId
+     */
+    private String cpId;
+
+    /**
+     * CP订单号
+     */
+    private String cpOrderId;
+
+    /**
+     * 充值用户
+     */
+//    @NonNull
+    private String userId;
+
+    /**
+     * 游戏玩家ID
+     */
+    private String mgUserId;
+
+    /**
+     * 游戏ID
+     */
+//    @NonNull
+    private String gameId;
+
+    /**
+     * 货物总价
+     */
+//    @NonNull
+    private BigDecimal amount;
+
+    /**
+     * 实际支付金额
+     */
+    private BigDecimal realAmount;
+
+    /**
+     * 游戏商品ID
+     */
+    private String productId;
+
+    /**
+     * 游戏商品数量
+     */
+//    @NonNull
+    private Integer productCnt;
+
+    /**
+     * 游戏商品名称
+     */
+//    @NonNull
+    private String productName;
+
+    /**
+     * 优惠券抵扣
+     */
+    private BigDecimal couponAmount;
+
+    /**
+     * 平台币使用金额
+     */
+    private BigDecimal ptbAmount;
+
+    /**
+     * 游戏币使用余额
+     */
+    private BigDecimal gmAmount;
+
+    /**
+     * 使用积分
+     */
+    private Integer integral;
+
+    /**
+     * 使用积分抵多少钱
+     */
+    private BigDecimal integralMoney;
+
+    /**
+     * 返利数量 默认为0
+     */
+    private BigDecimal rebateAmount;
+
+    /**
+     * 支付平台返回交易订单号
+     */
+    private String merchantOrderNo;
+
+    /**
+     * 支付状态,1待支付,2 支付成功,-1 已取消
+     */
+    private Integer status;
+
+    /**
+     * 支付方式
+     */
+    private String gamePaywayId;
+
+    /**
+     * 支付时间
+     */
+    private Date payTime;
+
+    /**
+     * 通知次数
+     */
+    private Integer cpNotifyCnt;
+
+    /**
+     * 最近通知时间
+     */
+    private Long lastCpNotifyTime;
+
+    /**
+     * 客服处理: 2正常; 1纠纷
+     */
+    private Integer isHandle;
+
+    /**
+     * 是否已分成  1未分成 2 已分成
+     */
+    private Integer isDistribute;
+
+    /**
+     * CP通知状态,1为待处理,2为成功,-1为失败
+     */
+    private Integer cpStatus;
+
+    /**
+     * CP附加参数
+     */
+    private String ext;
+
+    /**
+     * 用户备注
+     */
+    private String memNote;
+
+    /**
+     * 管理员备注
+     */
+    private String adminNote;
+
+    /**
+     * 订单成功备注信息
+     */
+    private String remark;
+
+    /**
+     * 渠道
+     */
+    private String channel;
+
+}