Ver código fonte

Merge branch 'dev' of GameCenter/game-center into master

zhimo 1 ano atrás
pai
commit
c828093ce6
13 arquivos alterados com 208 adições e 15 exclusões
  1. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/util/DateUtils.java
  2. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java
  3. 56 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/MiPaySumController.java
  4. 31 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/MiPaySumListParam.java
  5. 13 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/MiPaySumListVO.java
  6. 31 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/IMiPaySumService.java
  7. 70 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/MiPaySumServiceImpl.java
  8. 2 0
      game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/mapper/MiPaySumMapper.java
  9. 1 1
      game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/SDKApplication.java
  10. 0 5
      game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/constant/RedisKeyConstant.java
  11. 0 5
      game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/constant/RegexConstant.java
  12. 1 1
      game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/PerformOrderServiceImpl.java
  13. 1 1
      game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/UserTokenServiceImpl.java

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/util/DateUtils.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/util/DateUtils.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.sdk.util;
+package com.zanxiang.game.module.base.util;
 
 import com.zanxiang.module.util.DateUtil;
 

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -21,7 +21,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功001 ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功002 ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 56 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/MiPaySumController.java

@@ -0,0 +1,56 @@
+package com.zanxiang.game.module.manage.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.erp.security.annotation.PreAuthorize;
+import com.zanxiang.game.module.manage.pojo.params.MiPaySumListParam;
+import com.zanxiang.game.module.manage.pojo.vo.MiPaySumListVO;
+import com.zanxiang.game.module.manage.service.IMiPaySumService;
+import com.zanxiang.module.util.pojo.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+
+/**
+ * @Description 米大师支付统计
+ * @Author tianhua
+ * @Date 2023/6/27  11:10
+ **/
+@Api(tags = "米大师支付管理")
+@RestController
+@RequestMapping("/miPay/sum")
+public class MiPaySumController {
+
+    @Autowired
+    private IMiPaySumService miPaySumService;
+
+    @ApiOperation(value = "米大师支付统计列表查询")
+    @PostMapping("/list")
+    @PreAuthorize(permissionKey = "manage:miPaySum:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = MiPaySumListVO.class)})
+    public ResultVO<IPage<MiPaySumListVO>> list(@RequestBody MiPaySumListParam param) {
+        return ResultVO.ok(miPaySumService.pageList(param));
+    }
+
+    @ApiOperation(value = "米大师支付状态变更")
+    @PatchMapping("/status/update")
+    @PreAuthorize(permissionKey = "manage:miPaySum:statusUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
+        return ResultVO.ok(miPaySumService.statusUpdate(id, status));
+    }
+
+    @ApiOperation(value = "米大师支付最大支付额度修改")
+    @PatchMapping("/maxPayCount/update")
+    @PreAuthorize(permissionKey = "manage:miPaySum:maxPayCountUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> maxPayCountUpdate(@RequestParam Long id, @RequestParam BigDecimal maxPayCount) {
+        return ResultVO.ok(miPaySumService.maxPayCountUpdate(id, maxPayCount));
+    }
+
+
+}

+ 31 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/MiPaySumListParam.java

@@ -0,0 +1,31 @@
+package com.zanxiang.game.module.manage.pojo.params;
+
+import com.zanxiang.game.module.mybatis.entity.MiPaySum;
+import com.zanxiang.module.web.pojo.BaseListDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @ClassName MiPaySumListParam
+ * @Description 米大师支付统计前端查询参数实体
+ * @Author tianhua
+ * @Date 2023/6/27  11:18
+ **/
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class MiPaySumListParam extends BaseListDTO<MiPaySum> {
+
+    /**
+     * 游戏id
+     */
+    @ApiModelProperty(notes = "游戏id")
+    private Long gameId;
+
+    /**
+     * 状态, 0 : 正常, 1 : 不可用
+     */
+    @ApiModelProperty(notes = "状态, 0 : 正常, 1 : 不可用")
+    private Integer status;
+
+}

+ 13 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/MiPaySumListVO.java

@@ -29,65 +29,78 @@ public class MiPaySumListVO {
     /**
      * 游戏id
      */
+    @ApiModelProperty(notes = "游戏id")
     private Long gameId;
 
     /**
      * 游戏名称
      */
+    @ApiModelProperty(notes = "游戏名称")
     private String gameName;
 
     /**
      * 小游戏应用id
      */
+    @ApiModelProperty(notes = "小游戏应用id")
     private String appId;
 
     /**
      * 米大师应用id
      */
+    @ApiModelProperty(notes = "米大师应用id")
     private String miPayAppId;
 
     /**
      * 最大支付额度锁 0 正常 1 锁定
      */
+    @ApiModelProperty(notes = "最大支付额度锁 0 正常 1 锁定")
     private Integer maxPayLock;
 
     /**
      * 最大支付额度
      */
+    @ApiModelProperty(notes = "最大支付额度")
     private BigDecimal maxPayAmount;
 
     /**
      * 总支付金额
      */
+    @ApiModelProperty(notes = "总支付金额")
     private BigDecimal totalPayAmount;
 
     /**
      * 月已用支付额度
      */
+    @ApiModelProperty(notes = "月已用支付额度")
     private BigDecimal mouthPayAmount;
 
     /**
      * 周已用额度
      */
+    @ApiModelProperty(notes = "周已用额度")
     private BigDecimal weakerPayAmount;
 
     /**
      * 日已用额度
      */
+    @ApiModelProperty(notes = "日已用额度")
     private BigDecimal dayPayAmount;
 
     /**
      * 状态 1 不可用 0 正常
      */
+    @ApiModelProperty(notes = "状态 1 不可用 0 正常")
     private Integer status;
 
     /**
      * 创建时间
      */
+    @ApiModelProperty(notes = "创建时间")
     private LocalDateTime createTime;
 
     /**
      * 更新时间
      */
+    @ApiModelProperty(notes = "更新时间")
     private LocalDateTime updateTime;
 }

+ 31 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/IMiPaySumService.java

@@ -1,8 +1,13 @@
 package com.zanxiang.game.module.manage.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.module.manage.pojo.params.MiPaySumListParam;
+import com.zanxiang.game.module.manage.pojo.vo.MiPaySumListVO;
 import com.zanxiang.game.module.mybatis.entity.MiPaySum;
 
+import java.math.BigDecimal;
+
 /**
  * @author : lingfeng
  * @time : 2023-06-21
@@ -18,4 +23,30 @@ public interface IMiPaySumService extends IService<MiPaySum> {
      * @param miPayAppId mi支付应用程序id
      */
     void add(Long gameId, String appId, String miPayAppId);
+
+    /**
+     * 页面列表
+     *
+     * @param param 前端传递的查询参数实体
+     * @return {@link IPage}<{@link MiPaySumListVO}>
+     */
+    IPage<MiPaySumListVO> pageList(MiPaySumListParam param);
+
+    /**
+     * 状态更新
+     *
+     * @param id     主键id
+     * @param status 状态
+     * @return boolean
+     */
+    boolean statusUpdate(Long id, Integer status);
+
+    /**
+     * 米大师最大支付额度修改
+     *
+     * @param id          id
+     * @param maxPayCount 马克斯支付数
+     * @return boolean
+     */
+    boolean maxPayCountUpdate(Long id, BigDecimal maxPayCount);
 }

+ 70 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/MiPaySumServiceImpl.java

@@ -1,15 +1,26 @@
 package com.zanxiang.game.module.manage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.game.module.base.pojo.enums.DeleteEnum;
 import com.zanxiang.game.module.base.pojo.enums.StatusEnum;
+import com.zanxiang.game.module.base.util.DateUtils;
+import com.zanxiang.game.module.manage.pojo.dto.GameDTO;
+import com.zanxiang.game.module.manage.pojo.params.MiPaySumListParam;
+import com.zanxiang.game.module.manage.pojo.vo.MiPaySumListVO;
+import com.zanxiang.game.module.manage.service.IGameService;
 import com.zanxiang.game.module.manage.service.IMiPaySumService;
 import com.zanxiang.game.module.mybatis.entity.MiPaySum;
 import com.zanxiang.game.module.mybatis.mapper.MiPaySumMapper;
+import com.zanxiang.module.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -21,6 +32,9 @@ import java.time.LocalDateTime;
 @Service
 public class MiPaySumServiceImpl extends ServiceImpl<MiPaySumMapper, MiPaySum> implements IMiPaySumService {
 
+    @Autowired
+    private IGameService gameService;
+
     @Override
     public void add(Long gameId, String appId, String miPayAppId) {
         int count = super.count(new LambdaQueryWrapper<MiPaySum>()
@@ -41,4 +55,60 @@ public class MiPaySumServiceImpl extends ServiceImpl<MiPaySumMapper, MiPaySum> i
                 .updateTime(LocalDateTime.now())
                 .build());
     }
+
+    @Override
+    public IPage<MiPaySumListVO> pageList(MiPaySumListParam param) {
+        //返回查询结果
+        return page(param.toPage(), new LambdaQueryWrapper<MiPaySum>()
+                .eq(param.getGameId() != null, MiPaySum::getGameId, param.getGameId())
+                .eq(param.getStatus() != null, MiPaySum::getStatus, param.getStatus())
+                .orderByDesc(MiPaySum::getCreateTime)
+        ).convert(this::toVO);
+    }
+
+    private MiPaySumListVO toVO(MiPaySum miPaySum) {
+        MiPaySumListVO miPaySumListVO = BeanUtil.copy(miPaySum, MiPaySumListVO.class);
+        if (miPaySumListVO == null) {
+            return null;
+        }
+        //判断日更新日期是否为今天
+        if (!DateUtils.isToday(miPaySum.getDayUpdateDate())) {
+            //日已用额度归零
+            miPaySumListVO.setDayPayAmount(BigDecimal.ZERO);
+        }
+        //判断周更新日期是否为本周
+        if (!DateUtils.isThisWeek(miPaySum.getMouthUpdateDate())) {
+            //周已用额度归零
+            miPaySumListVO.setWeakerPayAmount(BigDecimal.ZERO);
+        }
+        //判断月更新日期是否为本月
+        if (!DateUtils.isThisMonth(miPaySum.getMouthUpdateDate())) {
+            //月已用额度归零
+            miPaySumListVO.setMouthPayAmount(BigDecimal.ZERO);
+        }
+        //获取游戏名字
+        GameDTO gameDTO = gameService.getById(miPaySumListVO.getGameId());
+        if (gameDTO != null) {
+            miPaySumListVO.setGameName(gameDTO.getName());
+        }
+        return miPaySumListVO;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean statusUpdate(Long id, Integer status) {
+        return super.update(new LambdaUpdateWrapper<MiPaySum>()
+                .set(MiPaySum::getStatus, status)
+                .set(MiPaySum::getUpdateTime, LocalDateTime.now())
+                .eq(MiPaySum::getId, id));
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean maxPayCountUpdate(Long id, BigDecimal maxPayCount) {
+        return super.update(new LambdaUpdateWrapper<MiPaySum>()
+                .set(MiPaySum::getMaxPayAmount, maxPayCount)
+                .set(MiPaySum::getUpdateTime, LocalDateTime.now())
+                .eq(MiPaySum::getId, id));
+    }
 }

+ 2 - 0
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/mapper/MiPaySumMapper.java

@@ -2,11 +2,13 @@ package com.zanxiang.game.module.mybatis.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zanxiang.game.module.mybatis.entity.MiPaySum;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * @author : lingfeng
  * @time : 2023-06-21
  * @description : 米大师支付统计
  */
+@Mapper
 public interface MiPaySumMapper extends BaseMapper<MiPaySum> {
 }

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

@@ -23,7 +23,7 @@ public class SDKApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(SDKApplication.class, args);
-        System.out.println("赞象SDK服务启动成功001 ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象SDK服务启动成功002 ( ´・・)ノ(._.`) \n" +
                 " ___________ _   __\n" +
                 "/  ___|  _  \\ | / /\n" +
                 "\\ `--.| | | | |/ / \n" +

+ 0 - 5
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/constant/RedisKeyConstant.java

@@ -12,11 +12,6 @@ public class RedisKeyConstant {
      */
     private static final String REDIS_PREFIX = "game_sdk_";
 
-    /**
-     * 游戏密钥缓存
-     */
-    public static final String GAME_SECRET_KEY = RedisKeyConstant.REDIS_PREFIX + "game_secret_key";
-
     /**
      * 用户token缓存key
      */

+ 0 - 5
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/constant/RegexConstant.java

@@ -52,11 +52,6 @@ public class RegexConstant {
      */
     public static final String REGEX_ZH = "^[\\u4e00-\\u9fa5]+$";
 
-    /**
-     * 正则:QQ号
-     */
-    public static final String REGEX_TENCENT_NUM = "[1-9][0-9]{4,}";
-
     /**
      * 正则:中国邮政编码
      */

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/PerformOrderServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.zanxiang.game.module.base.pojo.enums.CpStatusEnum;
+import com.zanxiang.game.module.base.util.DateUtils;
 import com.zanxiang.game.module.mybatis.entity.*;
 import com.zanxiang.game.module.sdk.enums.OrderStateEnum;
 import com.zanxiang.game.module.sdk.pojo.dto.GameAppletDTO;
@@ -11,7 +12,6 @@ import com.zanxiang.game.module.sdk.pojo.dto.PayMerchantDTO;
 import com.zanxiang.game.module.sdk.pojo.dto.PlatformOrderDTO;
 import com.zanxiang.game.module.sdk.pojo.result.PushCpResult;
 import com.zanxiang.game.module.sdk.service.*;
-import com.zanxiang.game.module.sdk.util.DateUtils;
 import com.zanxiang.game.module.sdk.util.SignUtil;
 import com.zanxiang.module.util.JsonUtil;
 import com.zanxiang.module.util.URIUtil;

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/UserTokenServiceImpl.java

@@ -3,6 +3,7 @@ package com.zanxiang.game.module.sdk.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.game.module.base.pojo.enums.BanStatusEnum;
+import com.zanxiang.game.module.base.util.DateUtils;
 import com.zanxiang.game.module.mybatis.entity.GameExt;
 import com.zanxiang.game.module.mybatis.entity.User;
 import com.zanxiang.game.module.mybatis.entity.UserToken;
@@ -16,7 +17,6 @@ import com.zanxiang.game.module.sdk.service.IGameExtService;
 import com.zanxiang.game.module.sdk.service.IIpBanService;
 import com.zanxiang.game.module.sdk.service.IUserService;
 import com.zanxiang.game.module.sdk.service.IUserTokenService;
-import com.zanxiang.game.module.sdk.util.DateUtils;
 import com.zanxiang.game.module.sdk.util.RedisUtil;
 import com.zanxiang.game.module.sdk.util.SignUtil;
 import com.zanxiang.module.util.bean.BeanUtil;