فهرست منبع

feat : 推广渠道接口调试修改

bilingfeng 2 سال پیش
والد
کامیت
60f52bd7cf

+ 44 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/ApplicationTypeEnum.java

@@ -0,0 +1,44 @@
+package com.zanxiang.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-25
+ * @description : 应用类型枚举
+ */
+@Getter
+@AllArgsConstructor
+public enum ApplicationTypeEnum {
+
+    /**
+     * 支付宝应用
+     */
+    NORMAL_STATUS(1, "支付宝应用"),
+
+    /**
+     * 微信商城小程序
+     */
+    BAN_STATUS(2, "微信商城小程序");
+
+    /**
+     * 应用类型
+     */
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    private String describe;
+
+    public static String getDescByType(Integer type) {
+        ApplicationTypeEnum[] values = ApplicationTypeEnum.values();
+        for (ApplicationTypeEnum value : values) {
+            if (value.getType().equals(type)) {
+                return value.getDescribe();
+            }
+        }
+        return null;
+    }
+}

+ 8 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChoiceController.java

@@ -196,4 +196,12 @@ public class ChoiceController {
         return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PromoProviderEnum.values()), PromoProviderChoiceVO.class));
     }
 
+    @ApiOperation(value = "支付应用类型选择列表")
+    @GetMapping(value = "/application/type/list")
+    @PreAuthorize(permissionKey = "sdk:applicationTypeChoice:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = ApplicationTypeChoiceVO.class, responseContainer = "list")})
+    public ResultVO<List<ApplicationTypeChoiceVO>> applicationTypeChoiceList() {
+        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(ApplicationTypeEnum.values()), ApplicationTypeChoiceVO.class));
+    }
+
 }

+ 4 - 29
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayApplicationController.java

@@ -1,13 +1,8 @@
 package com.zanxiang.manage.controller;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.common.domain.ResultVO;
-import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.manage.domain.bo.PayApplicationBO;
 import com.zanxiang.manage.domain.params.PayApplicationListNoPageParam;
-import com.zanxiang.manage.domain.params.PayApplicationListParam;
-import com.zanxiang.manage.domain.params.PayApplicationParam;
 import com.zanxiang.manage.domain.vo.PayApplicationVO;
 import com.zanxiang.manage.service.PayApplicationService;
 import io.swagger.annotations.Api;
@@ -16,7 +11,10 @@ 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.*;
+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;
 
@@ -34,21 +32,6 @@ public class PayApplicationController {
     @Autowired
     private PayApplicationService payApplicationService;
 
-    @ApiOperation(value = "新增/编辑/删除")
-    @PostMapping(value = "/save")
-    @PreAuthorize(permissionKey = "sdk:payApplication:save")
-    public ResultVO<Boolean> save(@Validated @RequestBody PayApplicationParam param) {
-        Boolean result = payApplicationService.saveOrUpdate(BeanUtils.copy(param, PayApplicationBO.class));
-        return ResultVO.ok(result);
-    }
-
-    @ApiOperation(value = "列表")
-    @PostMapping(value = "/list")
-    @PreAuthorize(permissionKey = "sdk:payApplication:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayApplicationVO.class, responseContainer = "list")})
-    public ResultVO<IPage<PayApplicationVO>> list(@Validated @RequestBody PayApplicationListParam param) {
-        return ResultVO.ok(payApplicationService.list(param));
-    }
 
     @ApiOperation(value = "列表(无分页)")
     @PostMapping(value = "/listNoPage")
@@ -57,12 +40,4 @@ public class PayApplicationController {
     public ResultVO<List<PayApplicationVO>> listNoPage(@Validated @RequestBody PayApplicationListNoPageParam param) {
         return ResultVO.ok(payApplicationService.listNoPage(param));
     }
-
-    @ApiOperation(value = "获取小程序二维码")
-    @GetMapping(value = "/qr/code")
-    @PreAuthorize(permissionKey = "sdk:payApplication:qrCode")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = String.class)})
-    public ResultVO<String> getQrCode(@RequestParam Long id) {
-        return new ResultVO<>(payApplicationService.getQrCode(id));
-    }
 }

+ 71 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayApplicationNewController.java

@@ -0,0 +1,71 @@
+package com.zanxiang.manage.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.common.domain.ResultVO;
+import com.zanxiang.erp.security.annotation.PreAuthorize;
+import com.zanxiang.manage.domain.params.PayApplicationAddUpdateParam;
+import com.zanxiang.manage.domain.params.PayApplicationListParam;
+import com.zanxiang.manage.domain.vo.PayApplicationVO;
+import com.zanxiang.manage.service.PayApplicationService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-25
+ * @description : 应用管理
+ */
+@Api(tags = "应用管理")
+@RestController
+@RequestMapping("/pay/application")
+public class PayApplicationNewController {
+
+    @Autowired
+    private PayApplicationService payApplicationService;
+
+    @ApiOperation(value = "应用新增或者更新")
+    @PostMapping(value = "/add/or/update")
+    @PreAuthorize(permissionKey = "manage:payApplication:addOrUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PayApplicationAddUpdateParam param) {
+        return new ResultVO<>(payApplicationService.addOrUpdate(param));
+    }
+
+    @ApiOperation(value = "应用列表查询")
+    @PostMapping(value = "/list")
+    @PreAuthorize(permissionKey = "manage:payApplication:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayApplicationVO.class)})
+    public ResultVO<IPage<PayApplicationVO>> list(@Validated @RequestBody PayApplicationListParam param) {
+        return new ResultVO<>(payApplicationService.list(param));
+    }
+
+    @ApiOperation(value = "应用删除")
+    @DeleteMapping(value = "/delete")
+    @PreAuthorize(permissionKey = "manage:payApplication:delete")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> deleteById(@RequestParam Long id) {
+        return new ResultVO<>(payApplicationService.deleteById(id));
+    }
+
+    @ApiOperation(value = "应用状态变更")
+    @PatchMapping(value = "/status/update")
+    @PreAuthorize(permissionKey = "manage:payApplication:statusUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
+        return new ResultVO<>(payApplicationService.statusUpdate(id, status));
+    }
+
+    @ApiOperation(value = "获取小程序二维码")
+    @GetMapping(value = "/qr/code")
+    @PreAuthorize(permissionKey = "manage:payApplication:qrCode")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = String.class)})
+    public ResultVO<String> getQrCode(@RequestParam Long id) {
+        return new ResultVO<>(payApplicationService.getQrCode(id));
+    }
+
+}

+ 109 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayApplicationAddUpdateParam.java

@@ -0,0 +1,109 @@
+package com.zanxiang.manage.domain.params;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-28
+ * @description : 应用添加更新
+ */
+@Data
+public class PayApplicationAddUpdateParam {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty(notes = "主键, 不传是新建, 传是更新")
+    private Long id;
+
+    /**
+     * 应用名称
+     */
+    @ApiModelProperty(notes = "应用名称")
+    private String name;
+
+    /**
+     * 类型 1 微信小程序
+     */
+    @ApiModelProperty(notes = "类型 1 微信小程序")
+    private Integer type;
+
+    /**
+     * 应用appid
+     */
+    @ApiModelProperty(notes = "应用appid")
+    private String appId;
+
+    /**
+     * 应用AppSecret
+     */
+    @ApiModelProperty(notes = "应用AppSecret")
+    private String appSecret;
+
+    /**
+     * 应用原始id
+     */
+    @ApiModelProperty(notes = "应用原始id")
+    private String primevalId;
+
+    /**
+     * 应用主体
+     */
+    @ApiModelProperty(notes = "应用主体")
+    private String company;
+
+    /**
+     * 登录账号
+     */
+    @ApiModelProperty(notes = "登录账号")
+    private String loginName;
+
+    /**
+     * 登录密码
+     */
+    @ApiModelProperty(notes = "登录密码")
+    private String loginPassword;
+
+    /**
+     * 管理员
+     */
+    @ApiModelProperty(notes = "管理员")
+    private String managePerson;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty(notes = "备注")
+    private String remark;
+
+    /**
+     * 应用介绍
+     */
+    @ApiModelProperty(notes = "应用介绍")
+    private String appDesc;
+
+    /**
+     * 版本
+     */
+    @ApiModelProperty(notes = "版本")
+    private String version;
+
+    /**
+     * 应用地址
+     */
+    @ApiModelProperty(notes = "应用地址")
+    private String appUrl;
+
+    /**
+     * 应用头像
+     */
+    @ApiModelProperty(notes = "应用头像")
+    private String appLogo;
+
+    /**
+     * 小程序码
+     */
+    @ApiModelProperty(notes = "小程序码")
+    private String miniCode;
+}

+ 3 - 62
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayApplicationListParam.java

@@ -5,10 +5,9 @@ import com.zanxiang.mybatis.entity.PayApplication;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
-import java.io.Serializable;
-
 /**
  * 注释游戏应用表
  *
@@ -18,11 +17,8 @@ import java.io.Serializable;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-public class PayApplicationListParam extends BasePage<PayApplication> implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private Long id;
+@EqualsAndHashCode(callSuper = true)
+public class PayApplicationListParam extends BasePage<PayApplication> {
 
     /**
      * 应用名称
@@ -42,64 +38,9 @@ public class PayApplicationListParam extends BasePage<PayApplication> implements
     @ApiModelProperty(notes = "应用appid")
     private String appId;
 
-    /**
-     * 应用原始id
-     */
-    @ApiModelProperty(notes = "应用原始id")
-    private String primevalId;
-
     /**
      * 应用主体
      */
     @ApiModelProperty(notes = "应用主体")
     private String company;
-
-    /**
-     * 登录账号
-     */
-    @ApiModelProperty(notes = "登录账号")
-    private String loginName;
-
-    /**
-     * 登录密码
-     */
-    @ApiModelProperty(notes = "登录密码")
-    private String loginPassword;
-
-    /**
-     * 管理员
-     */
-    @ApiModelProperty(notes = "管理员")
-    private String managePerson;
-
-    /**
-     * 备注
-     */
-    @ApiModelProperty(notes = "备注")
-    private String remark;
-
-    /**
-     * 状态 1 不可用 2 可用
-     */
-    @ApiModelProperty(notes = "状态 1 不可用 0正常")
-    private Integer status;
-
-    /**
-     * 是否已删除 1 已删除 2 正常
-     */
-    @ApiModelProperty(notes = "删除状态 1 已删除 0 正常")
-    private Integer isDelete;
-
-    @ApiModelProperty(notes = "应用AppSecret")
-    private String appSecret;
-
-    @ApiModelProperty(notes = "版本")
-    private String version;
-
-    @ApiModelProperty(notes = "应用描述")
-    private String appDesc;
-
-    @ApiModelProperty(notes = "应用地址")
-    private String appUrl;
-
 }

+ 25 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/ApplicationTypeChoiceVO.java

@@ -0,0 +1,25 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-29
+ * @description : 应用类型
+ */
+@Data
+public class ApplicationTypeChoiceVO {
+
+    /**
+     * 应用类型
+     */
+    @ApiModelProperty(notes = "应用类型")
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    @ApiModelProperty(notes = "描述")
+    private String describe;
+}

+ 28 - 22
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayApplicationVO.java

@@ -5,9 +5,6 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.io.Serializable;
-import java.util.Date;
-
 /**
  * 注释游戏应用表
  *
@@ -17,10 +14,12 @@ import java.util.Date;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-public class PayApplicationVO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
+public class PayApplicationVO {
 
+    /**
+     * 应用id
+     */
+    @ApiModelProperty(notes = "应用id")
     private Long id;
 
     /**
@@ -35,6 +34,12 @@ public class PayApplicationVO implements Serializable {
     @ApiModelProperty(notes = "类型 1 微信小程序")
     private Integer type;
 
+    /**
+     * 类型名称
+     */
+    @ApiModelProperty(notes = "类型名称")
+    private String typeName;
+
     /**
      * 应用appid
      */
@@ -84,37 +89,38 @@ public class PayApplicationVO implements Serializable {
     private Integer status;
 
     /**
-     * 是否已删除 1 已删除 0 正常
-     */
-    @ApiModelProperty(notes = "是否已删除 1 已删除 0 正常")
-    private Integer isDelete;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-
-    /**
-     * 更新时间
+     * 应用AppSecret
      */
-    private Date updateTime;
-
-
     @ApiModelProperty(notes = "应用AppSecret")
     private String appSecret;
 
+    /**
+     * 版本
+     */
     @ApiModelProperty(notes = "版本")
     private String version;
 
+    /**
+     * 应用描述
+     */
     @ApiModelProperty(notes = "应用描述")
     private String appDesc;
 
+    /**
+     * 应用地址
+     */
     @ApiModelProperty(notes = "应用地址")
     private String appUrl;
 
+    /**
+     * 应用头像
+     */
     @ApiModelProperty(notes = "应用头像")
     private String appLogo;
-    
+
+    /**
+     * 小程序码
+     */
     @ApiModelProperty(notes = "小程序码")
     private String miniCode;
 }

+ 150 - 25
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PayApplicationServiceImpl.java

@@ -1,13 +1,16 @@
 package com.zanxiang.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.common.enums.ApplicationTypeEnum;
 import com.zanxiang.common.enums.DeleteEnum;
 import com.zanxiang.common.enums.StatusEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.manage.domain.bo.PayApplicationBO;
+import com.zanxiang.manage.domain.params.PayApplicationAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayApplicationListNoPageParam;
 import com.zanxiang.manage.domain.params.PayApplicationListParam;
 import com.zanxiang.manage.domain.vo.PayApplicationVO;
@@ -15,14 +18,17 @@ import com.zanxiang.manage.service.PayApplicationService;
 import com.zanxiang.manage.service.api.MiniAppletApiService;
 import com.zanxiang.mybatis.entity.PayApplication;
 import com.zanxiang.mybatis.mapper.PayApplicationMapper;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Objects;
 
 /**
- * 游戏应用表 服务实现类
+ * 支付应用管理
  *
  * @author xufeng
  * @date 2022-06-20 15:16
@@ -33,37 +39,106 @@ public class PayApplicationServiceImpl extends ServiceImpl<PayApplicationMapper,
     @Autowired
     private MiniAppletApiService miniAppletApiService;
 
+    /**
+     * 分页获取应用列表
+     *
+     * @param param : 查询参数
+     * @return : 返回列表
+     */
     @Override
-    public Boolean saveOrUpdate(PayApplicationBO bo) {
-        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
-        if (bo.getIsDelete() != null && bo.getIsDelete() == DeleteEnum.YES.getCode()) {
-            return removeById(bo.getId());
-        }
-        return saveOrUpdate(app);
-    }
-
-    @Override
-    public IPage<PayApplicationVO> list(PayApplicationListParam bo) {
-        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
-        return page(bo.toPage(), new LambdaQueryWrapper<PayApplication>().setEntity(app).orderByDesc(PayApplication::getCreateTime)).convert(this::toVo);
+    public IPage<PayApplicationVO> list(PayApplicationListParam param) {
+        return page(param.toPage(), new LambdaQueryWrapper<PayApplication>()
+                .like(Strings.isNotBlank(param.getName()), PayApplication::getName, param.getName())
+                .eq(param.getType() != null, PayApplication::getType, param.getType())
+                .like(Strings.isNotBlank(param.getAppId()), PayApplication::getAppId, param.getAppId())
+                .like(Strings.isNotBlank(param.getCompany()), PayApplication::getCompany, param.getCompany())
+                .orderByDesc(PayApplication::getCreateTime))
+                .convert(this::toVo);
     }
 
-    @Override
-    public List<PayApplicationVO> listNoPage(PayApplicationListNoPageParam bo) {
-        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
-        app.setStatus(StatusEnum.YES.getCode());
-        List<PayApplication> list = list(new LambdaQueryWrapper<PayApplication>().setEntity(app).orderByDesc(PayApplication::getCreateTime));
-        if (list.size() == 0) {
+    /**
+     * 给签证官
+     *
+     * @param payApplication 支付应用程序
+     * @return {@link PayApplicationVO}
+     */
+    private PayApplicationVO toVo(PayApplication payApplication) {
+        PayApplicationVO applicationVO = BeanUtils.copy(payApplication, PayApplicationVO.class);
+        if (Objects.isNull(applicationVO)) {
             return null;
         }
-        return BeanUtils.copyList(list, PayApplicationVO.class);
+        applicationVO.setTypeName(ApplicationTypeEnum.getDescByType(applicationVO.getType()));
+        return applicationVO;
     }
 
-    private PayApplicationVO toVo(PayApplication payApplication) {
-        if (Objects.isNull(payApplication)) {
-            return null;
+    /**
+     * 支付应用添加或者更新
+     *
+     * @param param : 参数
+     * @return : 返回结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean addOrUpdate(PayApplicationAddUpdateParam param) {
+        Long id = param.getId();
+        //更新
+        if (id != null) {
+            PayApplication payApplication = super.getById(id);
+            if (payApplication == null) {
+                throw new BaseException("参数错误, 支付应用信息不存在");
+            }
+            //更新时, 应用id不可重复
+            if (!Objects.equals(payApplication.getAppId(), param.getAppId())) {
+                //判断应用是否已经存在
+                int count = super.count(new LambdaQueryWrapper<PayApplication>()
+                        .eq(PayApplication::getAppId, param.getAppId()));
+                if (count > 0) {
+                    throw new BaseException("应用id已经存在");
+                }
+            }
+            payApplication.setName(param.getName());
+            payApplication.setType(param.getType());
+            payApplication.setAppSecret(param.getAppSecret());
+            payApplication.setVersion(param.getVersion());
+            payApplication.setAppDesc(param.getAppDesc());
+            payApplication.setAppUrl(param.getAppUrl());
+            payApplication.setAppLogo(param.getAppLogo());
+            payApplication.setMiniCode(param.getMiniCode());
+            payApplication.setAppId(param.getAppId());
+            payApplication.setPrimevalId(param.getPrimevalId());
+            payApplication.setCompany(param.getCompany());
+            payApplication.setLoginName(param.getLoginName());
+            payApplication.setLoginPassword(param.getLoginPassword());
+            payApplication.setManagePerson(param.getManagePerson());
+            payApplication.setRemark(param.getRemark());
+            payApplication.setIsDelete(DeleteEnum.NO.getCode());
+            payApplication.setStatus(StatusEnum.YES.getCode());
+            payApplication.setUpdateTime(LocalDateTime.now());
+            return super.updateById(payApplication);
         }
-        return BeanUtils.copy(payApplication, PayApplicationVO.class);
+        //判断名称是否已经存在
+        int count = super.count(new LambdaQueryWrapper<PayApplication>()
+                .eq(PayApplication::getAppId, param.getAppId()));
+        if (count > 0) {
+            throw new BaseException("应用id已经存在");
+        }
+        //创建
+        return super.save(PayApplication.builder()
+                .name(param.getName())
+                .type(param.getType())
+                .appId(param.getAppId())
+                .appSecret(param.getAppSecret())
+                .primevalId(param.getPrimevalId())
+                .company(param.getCompany())
+                .loginName(param.getLoginName())
+                .loginPassword(param.getLoginPassword())
+                .managePerson(param.getManagePerson())
+                .remark(param.getRemark())
+                .status(StatusEnum.YES.getCode())
+                .isDelete(DeleteEnum.NO.getCode())
+                .createTime(LocalDateTime.now())
+                .updateTime(LocalDateTime.now())
+                .build());
     }
 
     /**
@@ -76,9 +151,59 @@ public class PayApplicationServiceImpl extends ServiceImpl<PayApplicationMapper,
     public String getQrCode(Long id) {
         PayApplication payApplication = super.getById(id);
         if (payApplication == null) {
-            throw new BaseException("应用信息不存在");
+            throw new BaseException("支付应用信息不存在");
         }
         return miniAppletApiService.getQrCode(payApplication.getAppId(), payApplication.getAppSecret(), payApplication.getName());
     }
 
+    /**
+     * 根据主键更新状态
+     *
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean statusUpdate(Long id, Integer status) {
+        return super.update(new LambdaUpdateWrapper<PayApplication>()
+                .set(PayApplication::getStatus, status)
+                .set(PayApplication::getUpdateTime, LocalDateTime.now())
+                .eq(PayApplication::getId, id));
+    }
+
+    /**
+     * 删除
+     *
+     * @param id : 要删除的信息id
+     * @return : 返回删除结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteById(Long id) {
+        return super.removeById(id);
+    }
+
+
+    //------------------------------------------------- 准备删除的旧代码 -------------------------------------------------
+
+    @Override
+    public Boolean saveOrUpdate(PayApplicationBO bo) {
+        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
+        if (bo.getIsDelete() != null && bo.getIsDelete() == DeleteEnum.YES.getCode()) {
+            return removeById(bo.getId());
+        }
+        return saveOrUpdate(app);
+    }
+
+    @Override
+    public List<PayApplicationVO> listNoPage(PayApplicationListNoPageParam bo) {
+        PayApplication app = BeanUtils.copy(bo, PayApplication.class);
+        app.setStatus(StatusEnum.YES.getCode());
+        List<PayApplication> list = list(new LambdaQueryWrapper<PayApplication>().setEntity(app).orderByDesc(PayApplication::getCreateTime));
+        if (list.size() == 0) {
+            return null;
+        }
+        return BeanUtils.copyList(list, PayApplicationVO.class);
+    }
 }

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

@@ -3,6 +3,7 @@ package com.zanxiang.manage.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.manage.domain.bo.PayApplicationBO;
+import com.zanxiang.manage.domain.params.PayApplicationAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayApplicationListNoPageParam;
 import com.zanxiang.manage.domain.params.PayApplicationListParam;
 import com.zanxiang.manage.domain.vo.PayApplicationVO;
@@ -17,6 +18,24 @@ import java.util.List;
  * @date 2022-06-20 15:16
  */
 public interface PayApplicationService extends IService<PayApplication> {
+
+    /**
+     * 支付应用添加或者更新
+     *
+     * @param param : 参数
+     * @return : 返回结果
+     */
+    Boolean addOrUpdate(PayApplicationAddUpdateParam param);
+
+    /**
+     * 根据主键更新状态
+     *
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
+     */
+    Boolean statusUpdate(Long id, Integer status);
+
     /**
      * 根据id新增与更新操作
      *
@@ -48,4 +67,12 @@ public interface PayApplicationService extends IService<PayApplication> {
      * @return : 返回游戏二维码
      */
     String getQrCode(Long id);
+
+    /**
+     * 删除
+     *
+     * @param id : 要删除的信息id
+     * @return : 返回删除结果
+     */
+    boolean deleteById(Long id);
 }

+ 6 - 4
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PayApplication.java

@@ -5,11 +5,12 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.Date;
+import java.time.LocalDateTime;
 
 /**
  * 游戏应用表
@@ -20,6 +21,7 @@ import java.util.Date;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
+@Builder
 @TableName("t_pay_application")
 public class PayApplication implements Serializable {
 
@@ -110,17 +112,17 @@ public class PayApplication implements Serializable {
     private Integer isDelete;
 
     /**
-     * 状态 1 不可用 0 正常
+     * 状态, 0 正常, 1 不可用
      */
     private Integer status;
 
     /**
      * 创建时间
      */
-    private Date createTime;
+    private LocalDateTime createTime;
 
     /**
      * 更新时间
      */
-    private Date updateTime;
+    private LocalDateTime updateTime;
 }