Browse Source

feat : sdk后台修改

bilingfeng 2 years ago
parent
commit
5ca4a98eb8
17 changed files with 239 additions and 266 deletions
  1. 0 39
      game-module/game-common/src/main/java/com/zanxiang/common/enums/AppletTypeEnum.java
  2. 1 1
      game-module/game-common/src/main/java/com/zanxiang/common/enums/PayApplicationTypeEnum.java
  3. 2 2
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChoiceController.java
  4. 4 13
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayBoxController.java
  5. 30 30
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayApplicationDTO.java
  6. 23 45
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayMerchantDTO.java
  7. 17 16
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayBoxListParam.java
  8. 4 4
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayApplicationChoiceVO.java
  9. 24 25
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayBoxListVO.java
  10. 5 6
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/IPayApplicationService.java
  11. 7 17
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/IPayBoxService.java
  12. 18 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/IPayMerchantService.java
  13. 1 1
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/GameStrategyServiceImpl.java
  14. 9 11
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/PayApplicationServiceImpl.java
  15. 63 53
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/PayBoxServiceImpl.java
  16. 28 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/PayMerchantServiceImpl.java
  17. 3 3
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/api/WxApiService.java

+ 0 - 39
game-module/game-common/src/main/java/com/zanxiang/common/enums/AppletTypeEnum.java

@@ -1,39 +0,0 @@
-package com.zanxiang.common.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author : lingfeng
- * @time : 2023-01-13
- * @description : 微信应用类型
- */
-@Getter
-@AllArgsConstructor
-public enum AppletTypeEnum {
-
-    /**
-     * 小程序
-     */
-    APPLET_APPLET(1, "小程序"),
-
-    /**
-     * 公众号
-     */
-    APPLET_MP(2, "公众号"),
-
-    /**
-     * 支付宝应用
-     */
-    APPLET_APP(3, "支付宝应用");
-
-    /**
-     * 状态
-     */
-    private Integer type;
-
-    /**
-     * 描述
-     */
-    private String describe;
-}

+ 1 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/enums/PayApplicationTypeEnum.java → game-module/game-common/src/main/java/com/zanxiang/common/enums/PayApplicationTypeEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.manage.domain.enums;
+package com.zanxiang.common.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

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

@@ -4,7 +4,7 @@ import com.zanxiang.common.domain.ResultVO;
 import com.zanxiang.common.enums.*;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.manage.domain.enums.PayApplicationTypeEnum;
+import com.zanxiang.common.enums.PayApplicationTypeEnum;
 import com.zanxiang.manage.domain.vo.*;
 import com.zanxiang.manage.service.*;
 import io.swagger.annotations.Api;
@@ -213,7 +213,7 @@ public class ChoiceController {
 
     @ApiOperation(value = "支付应用类型选择列表")
     @GetMapping(value = "/application/type/list")
-    @PreAuthorize(permissionKey = "sdk:applicationTypeChoice:list")
+    @PreAuthorize(permissionKey = "sdk:payApplicationTypeChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = ApplicationTypeChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<ApplicationTypeChoiceVO>> applicationTypeChoiceList() {
         return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PayApplicationTypeEnum.values()), ApplicationTypeChoiceVO.class));

+ 4 - 13
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PayBoxController.java

@@ -4,7 +4,6 @@ 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.PayBoxListParam;
-import com.zanxiang.manage.domain.params.PayBoxParam;
 import com.zanxiang.manage.domain.vo.PayBoxListVO;
 import com.zanxiang.manage.service.IPayBoxService;
 import io.swagger.annotations.Api;
@@ -31,19 +30,11 @@ public class PayBoxController {
     @Autowired
     private IPayBoxService payBoxService;
 
-    @ApiOperation(value = "支付盒子-新增/修改/删除")
-    @PostMapping(value = "/save")
-    @PreAuthorize(permissionKey = "sdk:payBox:save")
-    public ResultVO<Boolean> save(@Validated @RequestBody PayBoxParam param) {
-//        return ResultVO.ok(payBoxService.saveOrUpdate(param));
-        return null;
-    }
-
-    @ApiOperation(value = "盒子-列表")
+    @ApiOperation(value = "支付盒子列表查询")
     @PostMapping(value = "/list")
-    @PreAuthorize(permissionKey = "sdk:payBox:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayBoxListVO.class, responseContainer = "list")})
+    @PreAuthorize(permissionKey = "manage:payBox:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayBoxListVO.class)})
     public ResultVO<IPage<PayBoxListVO>> list(@Validated @RequestBody PayBoxListParam param) {
-        return ResultVO.ok(payBoxService.list(param));
+        return new ResultVO<>(payBoxService.pageList(param));
     }
 }

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

@@ -17,77 +17,77 @@ public class PayApplicationDTO {
     private Long id;
 
     /**
-     * 应用名称
+     * 应用appId
      */
-    private String name;
+    private String appId;
 
     /**
-     * 类型 1 微信小程序
+     * 应用原始id
      */
-    private Integer type;
+    private String ghId;
 
     /**
-     * 应用AppSecret
+     * 应用名称
      */
-    private String appSecret;
+    private String appName;
 
     /**
-     * 版本
+     * 类型,1 : 小程序, 2 : 公众号,3 : 支付宝应用
      */
-    private String version;
+    private Integer type;
 
     /**
-     * 应用描述
+     * 应用密钥
      */
-    private String appDesc;
+    private String appSecret;
 
     /**
-     * 应用地址
+     * 应用跳转路径
      */
-    private String appUrl;
+    private String path;
 
     /**
-     * 应用头像
+     * 小程序收款商户
      */
-    private String appLogo;
+    private String merchantNo;
 
     /**
-     * 小程序码
+     * 应用主体
      */
-    private String miniCode;
+    private String company;
 
     /**
-     * 应用appid
+     * 登录账号
      */
-    private String appId;
+    private String account;
 
     /**
-     * 应用原始id
+     * 登录密码
      */
-    private String primevalId;
+    private String password;
 
     /**
-     * 应用主体
+     * 管理员
      */
-    private String company;
+    private String manager;
 
     /**
-     * 登录账号
+     * 管理员微信
      */
-    private String loginName;
+    private String managerVx;
 
     /**
-     * 登录密码
+     * 备注
      */
-    private String loginPassword;
+    private String remark;
 
     /**
-     * 管理员
+     * 应用头像
      */
-    private String managePerson;
+    private String headImg;
 
     /**
-     * 备注
+     * 应用二维码
      */
-    private String remark;
+    private String qrCode;
 }

+ 23 - 45
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PayMerchantDTO.java

@@ -1,11 +1,9 @@
 package com.zanxiang.manage.domain.dto;
 
 import lombok.Data;
-import lombok.NoArgsConstructor;
 
-import java.io.Serializable;
 import java.math.BigDecimal;
-import java.util.Date;
+import java.time.LocalDateTime;
 
 /**
  * 注释游戏支付商户配置表
@@ -14,17 +12,12 @@ import java.util.Date;
  * @date 2022-06-16 18:56
  */
 @Data
-@NoArgsConstructor
-public class PayMerchantDTO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private Long id;
+public class PayMerchantDTO {
 
     /**
-     * 支付方式id
+     * 主键id
      */
-    private Integer payWayId;
+    private Long id;
 
     /**
      * 商户号
@@ -37,24 +30,29 @@ public class PayMerchantDTO implements Serializable {
     private String merchantName;
 
     /**
-     * 支持支付方式(pc/h5/app/)
+     * 支付渠道id
+     */
+    private Long payWayId;
+
+    /**
+     * 支付渠道名称
      */
-    private String payDevice;
+    private String payWayName;
 
     /**
      * 商户号登录账号
      */
-    private String loginName;
+    private String account;
 
     /**
      * 商户号登录密码
      */
-    //private String loginPassword;
+    private String password;
 
     /**
      * 管理员
      */
-    private String managePerson;
+    private String manager;
 
     /**
      * 绑定手机号
@@ -67,12 +65,7 @@ public class PayMerchantDTO implements Serializable {
     private String email;
 
     /**
-     * 状态 1 不可用 2 可用
-     */
-    private Integer status;
-
-    /**
-     * 支付配置json (存储根据payway设置后,配置的具体商户号信息)
+     * 支付配置
      */
     private String payConfig;
 
@@ -86,6 +79,11 @@ public class PayMerchantDTO implements Serializable {
      */
     private BigDecimal maxPayAmount;
 
+    /**
+     * 总支付金额
+     */
+    private BigDecimal totalPayAmount;
+
     /**
      * 月已用支付额度
      */
@@ -94,7 +92,7 @@ public class PayMerchantDTO implements Serializable {
     /**
      * 月更新日期
      */
-    private Date mouthUpdateDate;
+    private LocalDateTime mouthUpdateDate;
 
     /**
      * 周已用额度
@@ -104,7 +102,7 @@ public class PayMerchantDTO implements Serializable {
     /**
      * 周更新日期
      */
-    private Date weakerUpdateDate;
+    private LocalDateTime weakerUpdateDate;
 
     /**
      * 日已用额度
@@ -114,30 +112,10 @@ public class PayMerchantDTO implements Serializable {
     /**
      * 日更新日期
      */
-    private Date dayUpdateDate;
+    private LocalDateTime dayUpdateDate;
 
     /**
      * 备注
      */
     private String remark;
-
-    /**
-     * 是否已删除 1 已删除 2 正常
-     */
-    private Integer isDelete;
-
-    /**
-     * 删除时间
-     */
-    private Date deleteTime;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-
-    /**
-     * 更新时间
-     */
-    private Date updateTime;
 }

+ 17 - 16
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PayBoxListParam.java

@@ -7,24 +7,25 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 /**
- * @author xufeng
- * @date 2022/6/16 19:14
+ * @author : lingfeng
+ * @time : 2022-06-23
+ * @description : 支付盒子参数
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
 public class PayBoxListParam extends BasePage<PayBox> {
 
     /**
-     * 名称
+     * 盒子名称
      */
-    @ApiModelProperty(notes = "名称")
+    @ApiModelProperty(notes = "盒子名称")
     private String name;
 
     /**
-     * 关联应用id
+     * 关联应用appId
      */
-    @ApiModelProperty(notes = "关联应用id")
-    private Integer payApplicationId;
+    @ApiModelProperty(notes = "关联应用appId, 下拉选择关联应用名称得时候传appId过来")
+    private String payApplicationAppId;
 
     /**
      * 关联应用类型
@@ -33,20 +34,20 @@ public class PayBoxListParam extends BasePage<PayBox> {
     private Integer payApplicationType;
 
     /**
-     * 关联应用appId
+     * 关联应用主体
      */
-    @ApiModelProperty(notes = "关联应用appId")
-    private String appId;
+    @ApiModelProperty(notes = "关联应用主体")
+    private String payApplicationCompany;
 
     /**
-     * 关联应用主体
+     * 商户号
      */
-    @ApiModelProperty(notes = "关联应用主体")
-    private String company;
+    @ApiModelProperty(notes = "商户号, 做下拉框选择")
+    private String merchantNo;
 
     /**
-     * 商户号id
+     * 商户名称
      */
-    @ApiModelProperty(notes = "商户号id")
-    private String payMerchantId;
+    @ApiModelProperty(notes = "商户主体")
+    private String merchantName;
 }

+ 4 - 4
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayApplicationChoiceVO.java

@@ -12,14 +12,14 @@ import lombok.Data;
 public class PayApplicationChoiceVO {
 
     /**
-     * 主键id
+     * 应用appId
      */
-    @ApiModelProperty(notes = "主键id")
-    private Long id;
+    @ApiModelProperty(notes = "应用appId")
+    private String appId;
 
     /**
      * 应用名称
      */
     @ApiModelProperty(notes = "应用名称")
-    private String name;
+    private String appName;
 }

+ 24 - 25
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PayBoxListVO.java

@@ -8,10 +8,9 @@ import lombok.NoArgsConstructor;
 import java.util.Map;
 
 /**
- * 支付盒子
- *
- * @author xufeng
- * @date 2022-06-22 15:26
+ * @author : lingfeng
+ * @time : 2022-06-23
+ * @description : 支付盒子
  */
 @Data
 @NoArgsConstructor
@@ -30,12 +29,6 @@ public class PayBoxListVO {
     @ApiModelProperty(notes = "盒子名称")
     private String name;
 
-    /**
-     * 关联应用id
-     */
-    @ApiModelProperty(notes = "关联应用id")
-    private Integer payApplicationId;
-
     /**
      * 关联应用名称
      */
@@ -46,7 +39,7 @@ public class PayBoxListVO {
      * 关联应用类型
      */
     @ApiModelProperty(notes = "关联应用类型")
-    private String payApplicationType;
+    private Integer payApplicationType;
 
     /**
      * 关联应用类型名称
@@ -55,40 +48,46 @@ public class PayBoxListVO {
     private String payApplicationTypeName;
 
     /**
-     * 关联应用appid
+     * 关联应用appId
      */
-    @ApiModelProperty(notes = "关联应用appid")
-    private String appId;
+    @ApiModelProperty(notes = "关联应用appId")
+    private String payApplicationAppId;
 
     /**
-     * 关联应用原始appid
+     * 关联应用原始ghId
      */
-    @ApiModelProperty(notes = "关联应用原始appid")
-    private String primevalId;
+    @ApiModelProperty(notes = "关联应用原始ghId")
+    private String payApplicationGhId;
 
     /**
      * 关联应用主体名称
      */
     @ApiModelProperty(notes = "关联应用主体名称")
-    private String company;
+    private String payApplicationCompany;
 
     /**
      * 商户信息列表
      */
     @ApiModelProperty(notes = "商户信息列表")
-    private Map<Long, String> payMerchantMap;
+    private Map<String, String> payMerchantMap;
+
+    /**
+     * 状态: 0 正常, 1 : 不可用
+     */
+    @ApiModelProperty(notes = "状态: 0 正常, 1 : 不可用")
+    private Integer status;
 
     /**
-     * 盒子类型 1、商城百货 2、商城美妆 2、商城内容
+     * 商城小程序类型 1、商城百货 2、商城美妆 3、商城内容
      */
-    @ApiModelProperty(notes = "盒子类型 1、商城百货 2、商城美妆 2、商城内容")
-    private Integer type;
+    @ApiModelProperty(notes = "商城小程序类型 1、商城百货 2、商城美妆 3、商城内容")
+    private Integer storeType;
 
     /**
-     * 盒子类型名称
+     * 商城小程序类型名称
      */
-    @ApiModelProperty(notes = "盒子类型名称")
-    private String typeName;
+    @ApiModelProperty(notes = "商城小程序类型名称")
+    private String storeTypeName;
 
     /**
      * 描述

+ 5 - 6
game-module/game-manage/src/main/java/com/zanxiang/manage/service/IPayApplicationService.java

@@ -24,18 +24,17 @@ public interface IPayApplicationService extends IService<PayApplication> {
      *
      * @return {@link Map}<{@link Long}, {@link PayApplicationDTO}>
      */
-    Map<Long, PayApplicationDTO> payApplicationMap();
+    Map<String, PayApplicationDTO> payApplicationMap();
 
     /**
      * 支付应用情况
      *
-     * @param payApplicationId   : 支付应用程序id
-     * @param payApplicationType : 支付应用程序类型
-     * @param appId              : 应用程序id
-     * @param company            : 公司
+     * @param payApplicationType    : 支付应用程序类型
+     * @param payApplicationAppId   : 支付应用程序id
+     * @param payApplicationCompany : 支付应用公司
      * @return {@link Map}<{@link Long}, {@link PayApplicationDTO}>
      */
-    Map<Long, PayApplicationDTO> payApplicationCondition(Integer payApplicationId, Integer payApplicationType, String appId, String company);
+    Map<String, PayApplicationDTO> payApplicationCondition(Integer payApplicationType, String payApplicationAppId, String payApplicationCompany);
 
     /**
      * 支付应用选择列表

+ 7 - 17
game-module/game-manage/src/main/java/com/zanxiang/manage/service/IPayBoxService.java

@@ -6,9 +6,6 @@ import com.zanxiang.manage.domain.params.PayBoxAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayBoxListParam;
 import com.zanxiang.manage.domain.vo.PayBoxListVO;
 import com.zanxiang.mybatis.entity.PayBox;
-import com.zanxiang.mybatis.entity.PayMerchant;
-
-import java.util.Map;
 
 /**
  * @author : lingfeng
@@ -17,28 +14,21 @@ import java.util.Map;
  */
 public interface IPayBoxService extends IService<PayBox> {
 
-    /**
-     * 支付应用添加或者更新
-     *
-     * @param param : 参数
-     * @return : 返回结果
-     */
-    Boolean addOrUpdate(PayBoxAddUpdateParam param);
-
     /**
      * 列表
      *
      * @param param 参数
      * @return {@link IPage}<{@link PayBoxListVO}>
      */
-    IPage<PayBoxListVO> list(PayBoxListParam param);
+    IPage<PayBoxListVO> pageList(PayBoxListParam param);
 
     /**
-     * 获得商业细节
+     * 支付应用添加或者更新
      *
-     * @param payMerchant 支付商人
-     * @param ids         id
-     * @return {@link String}
+     * @param param : 参数
+     * @return : 返回结果
      */
-    String getMerchantDetail(Map<String, PayMerchant> payMerchant, String ids);
+    Boolean addOrUpdate(PayBoxAddUpdateParam param);
+
+
 }

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

@@ -2,6 +2,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.dto.PayMerchantDTO;
 import com.zanxiang.manage.domain.params.PayMerchantAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayMerchantListParam;
 import com.zanxiang.manage.domain.vo.PayMerchantChoiceVO;
@@ -9,6 +10,7 @@ import com.zanxiang.manage.domain.vo.PayMerchantListVO;
 import com.zanxiang.mybatis.entity.PayMerchant;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author : lingfeng
@@ -65,4 +67,20 @@ public interface IPayMerchantService extends IService<PayMerchant> {
      * @return boolean
      */
     boolean deleteById(Long id);
+
+    /**
+     * 商户条件查询
+     *
+     * @param merchantNo   商户号
+     * @param merchantName 商户名称
+     * @return {@link Map}<{@link String}, {@link PayMerchantDTO}>
+     */
+    Map<String, PayMerchantDTO> payMerchantCondition(String merchantNo, String merchantName);
+
+    /**
+     * 商户列表
+     *
+     * @return {@link Map}<{@link String}, {@link PayMerchantDTO}>
+     */
+    Map<String, PayMerchantDTO> payMerchantMap();
 }

+ 1 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/GameStrategyServiceImpl.java

@@ -102,7 +102,7 @@ public class GameStrategyServiceImpl extends ServiceImpl<GameStrategyMapper, Gam
                 }
                 gamePayWayMap.put(t.getGameId(), t.getGamePayWay());
                 if (StringUtils.isNotEmpty(t.getPayMerchant())) {
-                    t.setApplicationMerchant(payBoxService.getMerchantDetail(payMerchantData, t.getPayMerchant()));
+//                    t.setApplicationMerchant(payBoxService.getMerchantDetail(payMerchantData, t.getPayMerchant()));
                 }
             }
 

+ 9 - 11
game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/PayApplicationServiceImpl.java

@@ -9,7 +9,7 @@ import com.zanxiang.common.enums.StatusEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.manage.domain.dto.PayApplicationDTO;
-import com.zanxiang.manage.domain.enums.PayApplicationTypeEnum;
+import com.zanxiang.common.enums.PayApplicationTypeEnum;
 import com.zanxiang.manage.domain.params.PayApplicationAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayApplicationListParam;
 import com.zanxiang.manage.domain.vo.PayApplicationChoiceVO;
@@ -46,7 +46,7 @@ public class PayApplicationServiceImpl extends ServiceImpl<PayApplicationMapper,
     @Override
     public List<PayApplicationChoiceVO> payApplicationChoiceList() {
         List<PayApplication> payApplicationList = super.list(new LambdaQueryWrapper<PayApplication>()
-                .select(PayApplication::getId, PayApplication::getAppName)
+                .select(PayApplication::getAppId, PayApplication::getAppName)
         );
         return BeanUtils.copyList(payApplicationList, PayApplicationChoiceVO.class);
     }
@@ -165,31 +165,29 @@ public class PayApplicationServiceImpl extends ServiceImpl<PayApplicationMapper,
     }
 
     @Override
-    public Map<Long, PayApplicationDTO> payApplicationCondition(Integer payApplicationId, Integer payApplicationType,
-                                                                String appId, String company) {
+    public Map<String, PayApplicationDTO> payApplicationCondition(Integer payApplicationType, String payApplicationAppId, String payApplicationCompany) {
         //条件判断
-        if (payApplicationId == null && payApplicationType == null && Strings.isBlank(appId) && Strings.isBlank(company)) {
+        if (payApplicationType == null && Strings.isBlank(payApplicationAppId) && Strings.isBlank(payApplicationCompany)) {
             return null;
         }
         List<PayApplication> payApplicationList = this.list(new LambdaQueryWrapper<PayApplication>()
-                .eq(payApplicationId != null, PayApplication::getId, payApplicationId)
                 .eq(payApplicationType != null, PayApplication::getType, payApplicationType)
-                .like(Strings.isNotBlank(appId), PayApplication::getAppId, appId)
-                .like(Strings.isNotBlank(company), PayApplication::getCompany, company));
+                .eq(Strings.isNotBlank(payApplicationAppId), PayApplication::getAppId, payApplicationAppId)
+                .like(Strings.isNotBlank(payApplicationCompany), PayApplication::getCompany, payApplicationCompany));
         if (CollectionUtils.isEmpty(payApplicationList)) {
             return Collections.emptyMap();
         }
         return BeanUtils.copyList(payApplicationList, PayApplicationDTO.class)
-                .stream().collect(Collectors.toMap(PayApplicationDTO::getId, Function.identity()));
+                .stream().collect(Collectors.toMap(PayApplicationDTO::getAppId, Function.identity()));
     }
 
     @Override
-    public Map<Long, PayApplicationDTO> payApplicationMap() {
+    public Map<String, PayApplicationDTO> payApplicationMap() {
         List<PayApplication> payApplicationList = this.list();
         if (CollectionUtils.isEmpty(payApplicationList)) {
             return Collections.emptyMap();
         }
         return BeanUtils.copyList(payApplicationList, PayApplicationDTO.class)
-                .stream().collect(Collectors.toMap(PayApplicationDTO::getId, Function.identity()));
+                .stream().collect(Collectors.toMap(PayApplicationDTO::getAppId, Function.identity()));
     }
 }

+ 63 - 53
game-module/game-manage/src/main/java/com/zanxiang/manage/service/impl/PayBoxServiceImpl.java

@@ -2,14 +2,16 @@ package com.zanxiang.manage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+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.PayApplicationTypeEnum;
 import com.zanxiang.common.enums.StatusEnum;
 import com.zanxiang.common.exception.BaseException;
-import com.zanxiang.common.utils.StringUtils;
 import com.zanxiang.common.utils.bean.BeanUtils;
-import com.zanxiang.manage.domain.enums.PayApplicationTypeEnum;
-import com.zanxiang.manage.domain.mapper.PayBoxListMapper;
+import com.zanxiang.manage.domain.dto.PayApplicationDTO;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
 import com.zanxiang.manage.domain.params.PayBoxAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayBoxListParam;
 import com.zanxiang.manage.domain.vo.PayBoxListVO;
@@ -17,9 +19,9 @@ import com.zanxiang.manage.service.IPayApplicationService;
 import com.zanxiang.manage.service.IPayBoxService;
 import com.zanxiang.manage.service.IPayMerchantService;
 import com.zanxiang.mybatis.entity.PayBox;
-import com.zanxiang.mybatis.entity.PayMerchant;
 import com.zanxiang.mybatis.mapper.PayBoxMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
@@ -27,10 +29,10 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
-import java.util.stream.Collectors;
+import java.util.Set;
 
 /**
  * @author : lingfeng
@@ -42,9 +44,6 @@ import java.util.stream.Collectors;
 @Service
 public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> implements IPayBoxService {
 
-    @Resource
-    private PayBoxListMapper payBoxListMapper;
-
     @Resource
     private IPayMerchantService payMerchantService;
 
@@ -52,23 +51,66 @@ public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> impleme
     private IPayApplicationService payApplicationService;
 
     @Override
-    public IPage<PayBoxListVO> list(PayBoxListParam param) {
-//        return page(param.toPage(), new LambdaQueryWrapper<PayBox>()
-//                .like(Strings.isNotBlank(param.getName()), PayBox::getName, param.getName())
-//                .eq(param.getPayApplicationType() != null, PayBox::getPayApplicationId, param.getPayApplicationId())
-//                .like(Strings.isNotBlank(param.getAppId()), PayApplication::getAppId, param.getAppId())
-//                .like(Strings.isNotBlank(param.getCompany()), PayApplication::getCompany, param.getCompany())
-//                .orderByDesc(PayApplication::getCreateTime))
-//                .convert(this::toVo);
-        return null;
+    public IPage<PayBoxListVO> pageList(PayBoxListParam param) {
+        //条件查询支付应用列表
+        Map<String, PayApplicationDTO> payApplicationMap = payApplicationService.payApplicationCondition(param.getPayApplicationType(),
+                param.getPayApplicationAppId(), param.getPayApplicationCompany());
+        if (payApplicationMap != null && payApplicationMap.isEmpty()) {
+            return new Page<>();
+        }
+        Set<String> payApplicationAppIdList = null;
+        if (payApplicationMap == null) {
+            payApplicationMap = payApplicationService.payApplicationMap();
+        } else {
+            payApplicationAppIdList = payApplicationMap.keySet();
+        }
+        //查询商户
+        Map<String, PayMerchantDTO> payMerchantMap = payMerchantService.payMerchantCondition(param.getMerchantNo(), param.getMerchantName());
+        if (payMerchantMap != null && payMerchantMap.isEmpty()) {
+            return new Page<>();
+        }
+        String merchantIds = null;
+        if (payMerchantMap == null) {
+            payMerchantMap = payMerchantService.payMerchantMap();
+        } else {
+            merchantIds = String.join(",", payMerchantMap.keySet());
+        }
+        //执行查询
+        Map<String, PayApplicationDTO> finalPayApplicationMap = payApplicationMap;
+        Map<String, PayMerchantDTO> finalPayMerchantMap = payMerchantMap;
+        return page(param.toPage(), new LambdaQueryWrapper<PayBox>()
+                .like(Strings.isNotBlank(param.getName()), PayBox::getName, param.getName())
+                .in(CollectionUtils.isNotEmpty(payApplicationAppIdList), PayBox::getAppId, payApplicationAppIdList)
+                .apply(Strings.isNotBlank(merchantIds), "FIND_IN_SET ('" + merchantIds + "',merchant_ids)")
+                .orderByDesc(PayBox::getCreateTime))
+                .convert(payBox -> this.toVo(payBox, finalPayApplicationMap, finalPayMerchantMap));
     }
 
-    private PayBoxListVO toVo(PayBox payBox) {
+    private PayBoxListVO toVo(PayBox payBox, Map<String, PayApplicationDTO> payApplicationMap, Map<String, PayMerchantDTO> payMerchantMap) {
         PayBoxListVO payBoxListVO = BeanUtils.copy(payBox, PayBoxListVO.class);
-        if (Objects.isNull(payBoxListVO)) {
+        if (payBoxListVO == null) {
             return null;
         }
-        payBoxListVO.setTypeName(PayApplicationTypeEnum.getDescByType(payBoxListVO.getType()));
+        PayApplicationDTO payApplicationDTO = payApplicationMap.get(payBox.getAppId());
+        if (payApplicationDTO != null) {
+            payBoxListVO.setPayApplicationName(payApplicationDTO.getAppName());
+            payBoxListVO.setPayApplicationType(payApplicationDTO.getType());
+            payBoxListVO.setPayApplicationTypeName(PayApplicationTypeEnum.getDescByType(payApplicationDTO.getType()));
+            payBoxListVO.setPayApplicationAppId(payApplicationDTO.getAppId());
+            payBoxListVO.setPayApplicationGhId(payApplicationDTO.getGhId());
+            payBoxListVO.setPayApplicationCompany(payApplicationDTO.getCompany());
+        }
+        Map<String, String> merchantMap = new HashMap<>(payMerchantMap.size());
+        if (Strings.isNotBlank(payBox.getMerchantIds())) {
+            String[] merchantNoArray = payBox.getMerchantIds().split(",");
+            for (String merchantNo : merchantNoArray) {
+                PayMerchantDTO payMerchantDTO = payMerchantMap.get(merchantNo);
+                if (payMerchantDTO != null) {
+                    merchantMap.put(merchantNo, payMerchantDTO.getMerchantName());
+                }
+            }
+        }
+        payBoxListVO.setPayMerchantMap(merchantMap);
         return payBoxListVO;
     }
 
@@ -116,36 +158,4 @@ public class PayBoxServiceImpl extends ServiceImpl<PayBoxMapper, PayBox> impleme
                 .updateTime(LocalDateTime.now())
                 .build());
     }
-
-    //------------------------------------------------- 准备删除的旧代码 -------------------------------------------------
-
-    /**
-     * 通过商户号id获取商户号简介
-     *
-     * @param payMerchant
-     * @param ids
-     * @return
-     */
-    @Override
-    public String getMerchantDetail(Map<String, PayMerchant> payMerchant, String ids) {
-        if (StringUtils.isEmpty(ids) || payMerchant.isEmpty()) {
-            return "";
-        }
-        ArrayList<String> arr = new ArrayList<>();
-        String[] idArr = ids.substring(1, ids.length() - 1).split(",");
-        if (idArr.length == 0) {
-            return "";
-        }
-        for (int i = 0; i < idArr.length; i++) {
-            String id = idArr[i];
-            if (StringUtils.isEmpty(id)) {
-                continue;
-            }
-            if (payMerchant.get(id) == null) {
-                continue;
-            }
-            arr.add(id + "_" + payMerchant.get(id).getMerchantName());
-        }
-        return arr.stream().collect(Collectors.joining(","));
-    }
 }

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

@@ -10,6 +10,7 @@ import com.zanxiang.common.enums.PayWayEnum;
 import com.zanxiang.common.enums.StatusEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.dto.PayMerchantDTO;
 import com.zanxiang.manage.domain.dto.PayWayDTO;
 import com.zanxiang.manage.domain.params.PayMerchantAddUpdateParam;
 import com.zanxiang.manage.domain.params.PayMerchantListParam;
@@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -217,4 +219,30 @@ public class PayMerchantServiceImpl extends ServiceImpl<PayMerchantMapper, PayMe
     public boolean deleteById(Long id) {
         return super.removeById(id);
     }
+
+    @Override
+    public Map<String, PayMerchantDTO> payMerchantCondition(String merchantNo, String merchantName) {
+        //条件判断
+        if (Strings.isBlank(merchantNo) && Strings.isBlank(merchantName)) {
+            return null;
+        }
+        List<PayMerchant> payMerchantList = this.list(new LambdaQueryWrapper<PayMerchant>()
+                .eq(Strings.isNotBlank(merchantNo), PayMerchant::getMerchantNo, merchantNo)
+                .like(Strings.isNotBlank(merchantName), PayMerchant::getMerchantName, merchantName));
+        if (CollectionUtils.isEmpty(payMerchantList)) {
+            return Collections.emptyMap();
+        }
+        return BeanUtils.copyList(payMerchantList, PayMerchantDTO.class)
+                .stream().collect(Collectors.toMap(PayMerchantDTO::getMerchantNo, Function.identity()));
+    }
+
+    @Override
+    public Map<String, PayMerchantDTO> payMerchantMap() {
+        List<PayMerchant> payMerchantList = this.list();
+        if (CollectionUtils.isEmpty(payMerchantList)) {
+            return Collections.emptyMap();
+        }
+        return BeanUtils.copyList(payMerchantList, PayMerchantDTO.class)
+                .stream().collect(Collectors.toMap(PayMerchantDTO::getMerchantNo, Function.identity()));
+    }
 }

+ 3 - 3
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/api/WxApiService.java

@@ -1,7 +1,7 @@
 package com.zanxiang.sdk.service.api;
 
-import com.zanxiang.common.enums.AppletTypeEnum;
 import com.zanxiang.common.enums.ExpireTimeEnum;
+import com.zanxiang.common.enums.PayApplicationTypeEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.URIUtil;
 import com.zanxiang.module.util.JsonUtil;
@@ -42,10 +42,10 @@ public class WxApiService {
      * @return {@link String}
      */
     public String getOpenIdByType(String code, String appId, String secret, Integer type) {
-        if (Objects.equals(type, AppletTypeEnum.APPLET_APPLET.getType())) {
+        if (Objects.equals(type, PayApplicationTypeEnum.WX_MINI_APP.getType())) {
             return this.getAppletOpenId(code, appId, secret);
         }
-        if (Objects.equals(type, AppletTypeEnum.APPLET_MP.getType())) {
+        if (Objects.equals(type, PayApplicationTypeEnum.WX_MP.getType())) {
             return this.getMpOpenId(code, appId, secret);
         }
         log.error("应用类型不存在, 获取应用openId失败");