Prechádzať zdrojové kódy

feat : sdk后台接口修改提交

bilingfeng 2 rokov pred
rodič
commit
797d485d81

+ 24 - 4
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/GamePayWayController.java

@@ -2,8 +2,10 @@ package com.zanxiang.manage.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.manage.domain.params.GameAnalogPayParam;
 import com.zanxiang.manage.domain.params.GamePayWayListParam;
 import com.zanxiang.manage.domain.params.GamePayWayParam;
+import com.zanxiang.manage.domain.vo.GameAnalogPayVO;
 import com.zanxiang.manage.domain.vo.GamePayWayListVO;
 import com.zanxiang.manage.service.GamePayWayService;
 import io.swagger.annotations.Api;
@@ -12,10 +14,7 @@ import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 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 org.springframework.web.bind.annotation.*;
 
 /**
  * 游戏支付配置表 前端控制器
@@ -43,4 +42,25 @@ public class GamePayWayController {
     public ResultVo<IPage<GamePayWayListVO>> list(@Validated @RequestBody GamePayWayListParam param) {
         return ResultVo.ok(gamePayWayService.list(param));
     }
+
+//    @ApiOperation(value = "游戏详情支付配置展示")
+//    @GetMapping(value = "/info")
+//    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Void.class)})
+//    public ResultVo<Void> getInfo(@RequestParam Long id) {
+//        return new ResultVo<>();
+//    }
+
+    @ApiOperation(value = "获取游戏虚拟支付配置")
+    @GetMapping(value = "/analog/pay/info")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameAnalogPayVO.class)})
+    public ResultVo<GameAnalogPayVO> getGameAnalogPay(@RequestParam Long id) {
+        return new ResultVo<>(gamePayWayService.getGameAnalogPay(id));
+    }
+
+    @ApiOperation(value = "游戏虚拟支付配置添加或者更新")
+    @PostMapping(value = "/analog/pay/add/or/update")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVo<Boolean> gameAnalogPayAddOrUpdate(@Validated @RequestBody GameAnalogPayParam param) {
+        return new ResultVo<>(gamePayWayService.gameAnalogPayAddOrUpdate(param));
+    }
 }

+ 10 - 4
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/GamePictureController.java

@@ -1,6 +1,7 @@
 package com.zanxiang.manage.controller;
 
 import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.manage.domain.params.GamePictureParam;
 import com.zanxiang.manage.domain.vo.GamePictureVO;
 import com.zanxiang.manage.service.GamePictureService;
 import io.swagger.annotations.Api;
@@ -9,10 +10,8 @@ import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author : lingfeng
@@ -35,4 +34,11 @@ public class GamePictureController {
         return new ResultVo<>(gamePictureService.getByGameId(id));
     }
 
+    @ApiOperation(value = "游戏图片配置添加或者更新")
+    @PostMapping(value = "/add/or/update")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVo<Boolean> addOrUpdate(@Validated @RequestBody GamePictureParam param) {
+        return new ResultVo<>(gamePictureService.addOrUpdate(param));
+    }
+
 }

+ 68 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/GameAnalogPayParam.java

@@ -0,0 +1,68 @@
+package com.zanxiang.manage.domain.params;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-07-12
+ * @description : 游戏虚拟支付提交参数
+ */
+@Data
+public class GameAnalogPayParam {
+
+    /**
+     * 主键id
+     */
+    @ApiModelProperty(notes = "主键id, 获取接口拿到的id是啥就传啥")
+    private Long id;
+
+    /**
+     * 游戏id
+     */
+    @NotNull(message = "游戏id不可为空")
+    @ApiModelProperty(notes = "游戏id, 任何时候都能拿到, 不可为空")
+    private Long gameId;
+
+    /**
+     * 配置信息
+     */
+    @ApiModelProperty(notes = "游戏id")
+    private PayConfigBean payConfig;
+
+    @Data
+    public static class PayConfigBean {
+
+        /**
+         * 米大师支付应用id
+         */
+        @ApiModelProperty(notes = "米大师支付应用id")
+        private String appId;
+
+        /**
+         * 米大师现网AppKey
+         */
+        @ApiModelProperty(notes = "米大师现网AppKey")
+        private String appKey;
+
+        /**
+         * 米大师沙箱AppKey
+         */
+        @ApiModelProperty(notes = "米大师沙箱AppKey")
+        private String appKeyDev;
+
+        /**
+         * 人民币元宝比例
+         */
+        @ApiModelProperty(notes = "人民币元宝比例")
+        private String exchangeRate;
+
+        /**
+         * IOS充值提示
+         */
+        @ApiModelProperty(notes = "IOS充值提示")
+        private String iosTips;
+    }
+}

+ 74 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/GameAnalogPayVO.java

@@ -0,0 +1,74 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-07-12
+ * @description : 游戏虚拟支付展示
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameAnalogPayVO {
+
+    /**
+     * 主键id
+     */
+    @ApiModelProperty(notes = "主键id")
+    private String id;
+
+    /**
+     * 游戏id
+     */
+    @ApiModelProperty(notes = "游戏id")
+    private Long gameId;
+
+    /**
+     * 配置信息
+     */
+    @ApiModelProperty(notes = "游戏id")
+    private PayConfigBean payConfig;
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Builder
+    public static class PayConfigBean {
+
+        /**
+         * 米大师支付应用id
+         */
+        @ApiModelProperty(notes = "米大师支付应用id")
+        private String appId;
+
+        /**
+         * 米大师现网AppKey
+         */
+        @ApiModelProperty(notes = "米大师现网AppKey")
+        private String appKey;
+
+        /**
+         * 米大师沙箱AppKey
+         */
+        @ApiModelProperty(notes = "米大师沙箱AppKey")
+        private String appKeyDev;
+
+        /**
+         * 人民币元宝比例
+         */
+        @ApiModelProperty(notes = "人民币元宝比例")
+        private String exchangeRate;
+
+        /**
+         * IOS充值提示
+         */
+        @ApiModelProperty(notes = "IOS充值提示")
+        private String iosTips;
+    }
+}

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

@@ -2,8 +2,10 @@ package com.zanxiang.manage.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.params.GameAnalogPayParam;
 import com.zanxiang.manage.domain.params.GamePayWayListParam;
 import com.zanxiang.manage.domain.params.GamePayWayParam;
+import com.zanxiang.manage.domain.vo.GameAnalogPayVO;
 import com.zanxiang.manage.domain.vo.GamePayWayListVO;
 import com.zanxiang.manage.domain.vo.GamePayWayVO;
 import com.zanxiang.mybatis.entity.GamePayWay;
@@ -41,4 +43,20 @@ public interface GamePayWayService extends IService<GamePayWay> {
      * @return
      */
     IPage<GamePayWayListVO> list(GamePayWayListParam param);
+
+    /**
+     * 根据游戏id获取虚拟支付配置
+     *
+     * @param id : 游戏id
+     * @return : 返回游戏虚拟支付配置
+     */
+    GameAnalogPayVO getGameAnalogPay(Long id);
+
+    /**
+     * 虚拟支付更新或者新增
+     *
+     * @param payParam : 新增或者更新参数
+     * @return : 返回新增或者更新的结果
+     */
+    Boolean gameAnalogPayAddOrUpdate(GameAnalogPayParam payParam);
 }

+ 9 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/GamePictureService.java

@@ -1,6 +1,7 @@
 package com.zanxiang.manage.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.params.GamePictureParam;
 import com.zanxiang.manage.domain.vo.GamePictureVO;
 import com.zanxiang.mybatis.entity.GamePicture;
 
@@ -18,4 +19,12 @@ public interface GamePictureService extends IService<GamePicture> {
      * @return 返回游戏图片信息
      */
     GamePictureVO getByGameId(Long gameId);
+
+    /**
+     * 游戏图片添加或更新
+     *
+     * @param param : 游戏图片参数
+     * @return : 返回更新结果
+     */
+    Boolean addOrUpdate(GamePictureParam param);
 }

+ 55 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GamePayWayServiceImpl.java

@@ -5,19 +5,25 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.common.enums.DeleteEnum;
+import com.zanxiang.common.enums.PayWayEnum;
 import com.zanxiang.common.exception.ParamNullException;
+import com.zanxiang.common.utils.JsonUtil;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.manage.domain.mapper.GamePayWayListMapper;
+import com.zanxiang.manage.domain.params.GameAnalogPayParam;
 import com.zanxiang.manage.domain.params.GamePayWayListParam;
 import com.zanxiang.manage.domain.params.GamePayWayParam;
+import com.zanxiang.manage.domain.vo.GameAnalogPayVO;
 import com.zanxiang.manage.domain.vo.GamePayWayListVO;
 import com.zanxiang.manage.domain.vo.GamePayWayVO;
 import com.zanxiang.manage.service.GamePayWayService;
 import com.zanxiang.mybatis.entity.GamePayWay;
 import com.zanxiang.mybatis.mapper.GamePayWayMapper;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -58,4 +64,53 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
         String status = param.getStatus() == null ? null : String.valueOf(param.getStatus());
         return gamePayWayListMapper.List(page, param.getGameName(), payWayId, status);
     }
+
+    /**
+     * 根据游戏id获取虚拟支付配置
+     *
+     * @param id : 游戏id
+     * @return : 返回游戏虚拟支付配置
+     */
+    @Override
+    public GameAnalogPayVO getGameAnalogPay(Long id) {
+        GamePayWay gamePayWay = super.getOne(new LambdaQueryWrapper<GamePayWay>()
+                .eq(GamePayWay::getPayWayId, PayWayEnum.UNIONPAY.getNum())
+                .eq(GamePayWay::getGameId, id));
+        if (gamePayWay == null || Strings.isBlank(gamePayWay.getPayConfig())) {
+            return GameAnalogPayVO.builder().gameId(id).build();
+        }
+        return GameAnalogPayVO.builder()
+                .id(gamePayWay.getId())
+                .gameId(id)
+                .payConfig(JsonUtil.toObj(gamePayWay.getPayConfig(), GameAnalogPayVO.PayConfigBean.class))
+                .build();
+    }
+
+    /**
+     * 虚拟支付更新或者新增
+     *
+     * @param payParam : 新增或者更新参数
+     * @return : 返回新增或者更新的结果
+     */
+    @Override
+    public Boolean gameAnalogPayAddOrUpdate(GameAnalogPayParam payParam) {
+        GamePayWay gamePayWay = super.getOne(new LambdaQueryWrapper<GamePayWay>()
+                .eq(GamePayWay::getPayWayId, PayWayEnum.UNIONPAY.getNum())
+                .eq(GamePayWay::getGameId, payParam.getGameId()));
+        if (gamePayWay == null) {
+            gamePayWay = GamePayWay.builder()
+                    .gameId(payParam.getGameId())
+                    .payWayId(PayWayEnum.UNIONPAY.getNum())
+                    .payWayCode(PayWayEnum.UNIONPAY.getCode())
+                    .payWayName(PayWayEnum.UNIONPAY.getName())
+                    .payConfig(JsonUtil.toString(payParam.getPayConfig()))
+                    .createTime(LocalDateTime.now())
+                    .updateTime(LocalDateTime.now())
+                    .build();
+        } else {
+            gamePayWay.setPayConfig(JsonUtil.toString(payParam.getPayConfig()));
+            gamePayWay.setUpdateTime(LocalDateTime.now());
+        }
+        return super.saveOrUpdate(gamePayWay);
+    }
 }

+ 49 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GamePictureServiceImpl.java

@@ -3,6 +3,7 @@ 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.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.params.GamePictureParam;
 import com.zanxiang.manage.domain.vo.GamePictureVO;
 import com.zanxiang.manage.service.GamePictureService;
 import com.zanxiang.mybatis.entity.GamePicture;
@@ -10,6 +11,8 @@ import com.zanxiang.mybatis.mapper.GamePictureMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * @author : lingfeng
  * @time : 2022-07-12
@@ -33,4 +36,50 @@ public class GamePictureServiceImpl extends ServiceImpl<GamePictureMapper, GameP
         }
         return BeanUtils.copy(gamePicture, GamePictureVO.class);
     }
+
+    /**
+     * 游戏图片添加或更新
+     *
+     * @param param : 游戏图片参数
+     * @return : 返回更新结果
+     */
+    @Override
+    public Boolean addOrUpdate(GamePictureParam param) {
+        Long gameId = param.getGameId();
+        GamePicture gamePicture = super.getOne(new LambdaQueryWrapper<GamePicture>().eq(GamePicture::getGameId, gameId));
+        if (gamePicture == null) {
+            gamePicture = GamePicture.builder()
+                    .gameId(gameId)
+                    .avatarImg(param.getAvatarImg())
+                    .appletImg(param.getAppletImg())
+                    .cardTitle(param.getCardTitle())
+                    .cardUrl(param.getCardUrl())
+                    .cardImg(param.getCardImg())
+                    .isOpenInlet(param.getIsOpenInlet())
+                    .inletImg(param.getInletImg())
+                    .findImg(param.getFindImg())
+                    .recommendImg(param.getRecommendImg())
+                    .tryPayImg(param.getTryPayImg())
+                    .shareImgName(param.getShareImgName())
+                    .shareImg(param.getShareImg())
+                    .createTime(LocalDateTime.now())
+                    .updateTime(LocalDateTime.now())
+                    .build();
+        } else {
+            gamePicture.setAvatarImg(param.getAvatarImg());
+            gamePicture.setAppletImg(param.getAppletImg());
+            gamePicture.setCardTitle(param.getCardTitle());
+            gamePicture.setCardUrl(param.getCardUrl());
+            gamePicture.setCardImg(param.getCardImg());
+            gamePicture.setIsOpenInlet(param.getIsOpenInlet());
+            gamePicture.setInletImg(param.getInletImg());
+            gamePicture.setFindImg(param.getFindImg());
+            gamePicture.setRecommendImg(param.getRecommendImg());
+            gamePicture.setTryPayImg(param.getTryPayImg());
+            gamePicture.setShareImgName(param.getShareImgName());
+            gamePicture.setShareImg(param.getShareImg());
+            gamePicture.setUpdateTime(LocalDateTime.now());
+        }
+        return super.saveOrUpdate(gamePicture);
+    }
 }

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

@@ -31,7 +31,7 @@ public class GamePayWay {
     /**
      * 游戏id
      */
-    private String gameId;
+    private Long gameId;
 
     /**
      * 支付方式id