refactor(daxpay): 重构收银台配置相关接口和数据结构

- 修改了 CheckoutAggregateEnum 的描述
- 优化了 CheckoutConfigResult 中的字段命名
- 重构了 CheckoutConfigController 中的接口路径和参数命名
-调整了 CheckoutGroupConfigManager 和 CheckoutItemConfigManager 中的排序字段
- 重命名了 CheckoutAggregateConfig、CheckoutConfig、CheckoutGroupConfig 和 CheckoutItemConfig 中的部分字段
- 更新了相关 Vo 类和 Param 类中的字段和描述
This commit is contained in:
DaxPay
2024-11-28 20:13:38 +08:00
parent d71b3dfeb5
commit ae0e954f51
18 changed files with 151 additions and 52 deletions

View File

@@ -9,6 +9,7 @@ import java.util.Objects;
/**
* 收银台聚合支付类型
* 字典: checkout_aggregate
* @author xxm
* @since 2024/11/27
*/
@@ -16,8 +17,8 @@ import java.util.Objects;
@AllArgsConstructor
public enum CheckoutAggregateEnum {
WECHAT("wechat", "微信聚合支付"),
ALIPAY("alipay", "支付宝聚合支付"),
WECHAT("wechat", "微信支付"),
ALIPAY("alipay", "支付宝"),
;
private final String code;

View File

@@ -21,7 +21,7 @@ public class CheckoutConfigResult {
@Schema(description = "PC收银台是否同时显示聚合收银码")
private boolean aggregateShow;
/** h5收银台自动升级聚合支付 */
@Schema(description = "h5收银台自动升级聚合支付")
/** h5收银台自动升级聚合支付 */
@Schema(description = "h5收银台自动升级聚合支付")
private boolean h5AutoUpgrade;
}

View File

@@ -38,8 +38,8 @@ public class CheckoutConfigController {
@RequestPath("获取收银台配置")
@Operation(summary = "获取收银台配置")
@GetMapping("/get")
public Result<CheckoutConfigVo> getConfig(String appid) {
return Res.ok(checkoutConfigQueryService.getConfig(appid));
public Result<CheckoutConfigVo> getConfig(String appId) {
return Res.ok(checkoutConfigQueryService.getConfig(appId));
}
@RequestPath("保存收银台配置")
@@ -58,12 +58,18 @@ public class CheckoutConfigController {
return Res.ok();
}
@RequestPath("获取分组配置列表")
@Operation(summary = "获取分组配置列表")
@GetMapping("/group/list")
public Result<List<CheckoutGroupConfigVo>> getGroupConfigs(String appId, String checkoutType) {
return Res.ok(checkoutConfigQueryService.getGroupConfigs(appId,checkoutType));
}
@RequestPath("获取分组配置")
@Operation(summary = "获取分组配置")
@GetMapping("/group/get")
public Result<List<CheckoutGroupConfigVo>> getGroupConfigs(String appid, String checkoutType) {
return Res.ok(checkoutConfigQueryService.getGroupConfigs(appid,checkoutType));
public Result<CheckoutGroupConfigVo> getGroupConfig(Long id) {
return Res.ok(checkoutConfigQueryService.getGroupConfig(id));
}
@RequestPath("保存分组配置")
@@ -90,13 +96,21 @@ public class CheckoutConfigController {
return Res.ok();
}
@RequestPath("获取配置项配置")
@Operation(summary = "获取配置项配置")
@GetMapping("/item/get")
@RequestPath("获取配置项列表")
@Operation(summary = "获取配置项列表")
@GetMapping("/item/list")
public Result<List<CheckoutItemConfigVo>> getItemConfigs(Long groupId) {
return Res.ok(checkoutConfigQueryService.getItemConfigs(groupId));
}
@RequestPath("获取配置项")
@Operation(summary = "获取配置项")
@GetMapping("/item/get")
public Result<CheckoutItemConfigVo> getItemConfig(Long id) {
return Res.ok(checkoutConfigQueryService.getItemConfig(id));
}
@RequestPath("保存配置项配置")
@Operation(summary = "保存配置项配置")
@PostMapping("/item/save")
@@ -121,11 +135,18 @@ public class CheckoutConfigController {
return Res.ok();
}
@RequestPath("获取聚合支付配置列表")
@Operation(summary = "获取聚合支付配置列表")
@GetMapping("/aggregate/list")
public Result<List<CheckoutAggregateConfigVo>> getAggregateConfigs(String appId) {
return Res.ok(checkoutConfigQueryService.getAggregateConfigs(appId));
}
@RequestPath("获取聚合支付配置")
@Operation(summary = "获取聚合支付配置")
@GetMapping("/aggregate/get")
public Result<List<CheckoutAggregateConfigVo>> getAggregateConfigs(String appid) {
return Res.ok(checkoutConfigQueryService.getAggregateConfigs(appid));
public Result<CheckoutAggregateConfigVo> getAggregateConfig(Long id) {
return Res.ok(checkoutConfigQueryService.getAggregateConfig(id));
}
@RequestPath("聚合支付配置是否存在")
@@ -135,8 +156,8 @@ public class CheckoutConfigController {
return Res.ok(checkoutConfigQueryService.existsByAppIdAndType(appId,type));
}
@RequestPath("聚合支付配置是否存在")
@Operation(summary = "聚合支付配置是否存在")
@RequestPath("聚合支付配置是否存在(不包含自身)")
@Operation(summary = "聚合支付配置是否存在(不包含自身)")
@GetMapping("/aggregate/existsNotId")
public Result<Boolean> existsAggregateConfig(String appId, String type, Long id) {
return Res.ok(checkoutConfigQueryService.existsByAppIdAndType(appId,type,id));

View File

@@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor;
import org.dromara.daxpay.core.param.cashier.CheckoutParam;
import org.dromara.daxpay.core.param.cashier.CheckoutPayParam;
import org.dromara.daxpay.core.result.DaxResult;
import org.dromara.daxpay.core.result.checkout.CheckoutAggregateResult;
import org.dromara.daxpay.core.result.checkout.CheckoutOrderAndConfigResult;
import org.dromara.daxpay.core.result.checkout.CheckoutUrlResult;
import org.dromara.daxpay.core.util.DaxRes;
@@ -43,9 +44,9 @@ public class CheckoutController {
}
@Operation(summary = "获取聚合支付配置")
@GetMapping("/getOrderAndConfig")
public Result<String> getCheckoutUrl(String orderNo, String checkoutType){
return Res.ok(checkoutService.getCheckoutUrl(orderNo, checkoutType));
@GetMapping("/getAggregateConfig")
public Result<CheckoutAggregateResult> getAggregateConfig(String orderNo, String checkoutType){
return Res.ok(checkoutQueryService.getAggregateConfig(orderNo, checkoutType));
}
@Operation(summary = "发起支付")

View File

@@ -25,7 +25,7 @@ public class CheckoutGroupConfigManager extends BaseManager<CheckoutGroupConfigM
return lambdaQuery()
.eq(CheckoutGroupConfig::getAppId, appId)
.eq(CheckoutGroupConfig::getType, type)
.orderByDesc(CheckoutGroupConfig::getSort)
.orderByDesc(CheckoutGroupConfig::getSortNo)
.list();
}
/**

View File

@@ -43,7 +43,7 @@ public class CheckoutItemConfigManager extends BaseManager<CheckoutItemConfigMap
public List<CheckoutItemConfig> findAllByGroupIds(List<Long> groupIds) {
return lambdaQuery()
.in(CheckoutItemConfig::getGroupId, groupIds)
.orderByDesc(CheckoutItemConfig::getSort)
.orderByDesc(CheckoutItemConfig::getSortNo)
.list();
}

View File

@@ -1,6 +1,7 @@
package org.dromara.daxpay.service.entity.config.checkout;
import cn.bootx.platform.common.mybatisplus.function.ToResult;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -13,17 +14,18 @@ import org.dromara.daxpay.service.param.config.checkout.CheckoutAggregateConfigP
import org.dromara.daxpay.service.result.config.checkout.CheckoutAggregateConfigVo;
/**
* 收银台聚合扫码支付配置
* 收银台聚合支付配置
* @author xxm
* @since 2024/11/27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName(value = "pay_checkout_aggregate_config")
public class CheckoutAggregateConfig extends MchAppBaseEntity implements ToResult<CheckoutAggregateConfigVo> {
/**
* 支付类型
* 聚合支付类型
* @see CheckoutAggregateEnum
*/
private String type;

View File

@@ -1,7 +1,7 @@
package org.dromara.daxpay.service.entity.config.checkout;
import cn.bootx.platform.common.mybatisplus.function.ToResult;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -18,7 +18,7 @@ import org.dromara.daxpay.service.result.config.checkout.CheckoutConfigVo;
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@Schema(title = "收银台配置")
@TableName(value = "pay_checkout_config")
public class CheckoutConfig extends MchAppBaseEntity implements ToResult<CheckoutConfigVo> {
/** 收银台名称 */
@@ -27,7 +27,7 @@ public class CheckoutConfig extends MchAppBaseEntity implements ToResult<Checkou
/** PC收银台是否同时显示聚合收银码 */
private boolean aggregateShow;
/** h5收银台自动升级聚合支付 */
/** h5收银台自动升级聚合支付 */
private boolean h5AutoUpgrade;
public static CheckoutConfig init(CheckoutConfigParam param) {

View File

@@ -1,6 +1,7 @@
package org.dromara.daxpay.service.entity.config.checkout;
import cn.bootx.platform.common.mybatisplus.function.ToResult;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -18,10 +19,11 @@ import org.dromara.daxpay.service.result.config.checkout.CheckoutGroupConfigVo;
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName(value = "pay_checkout_group_config")
public class CheckoutGroupConfig extends MchAppBaseEntity implements ToResult<CheckoutGroupConfigVo> {
/**
* 类型 web/h5/小程序
* 类型 web/h5/小程序 不包含聚合支付
* @see CheckoutTypeEnum
*/
private String type;
@@ -33,7 +35,7 @@ public class CheckoutGroupConfig extends MchAppBaseEntity implements ToResult<Ch
private String icon;
/** 排序 */
private Double sort;
private Double sortNo;
public static CheckoutGroupConfig init(CheckoutGroupConfigParam param){
return CheckoutGroupConfigConvert.CONVERT.toEntity(param);

View File

@@ -1,6 +1,7 @@
package org.dromara.daxpay.service.entity.config.checkout;
import cn.bootx.platform.common.mybatisplus.function.ToResult;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -20,6 +21,7 @@ import org.dromara.daxpay.service.result.config.checkout.CheckoutItemConfigVo;
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
@TableName(value = "pay_checkout_item_config")
public class CheckoutItemConfig extends MchAppBaseEntity implements ToResult<CheckoutItemConfigVo> {
/** 类目配置Id */
@@ -32,7 +34,7 @@ public class CheckoutItemConfig extends MchAppBaseEntity implements ToResult<Che
private String icon;
/** 排序 */
private Double sort;
private Double sortNo;
/**
* 发起调用的类型
@@ -52,9 +54,6 @@ public class CheckoutItemConfig extends MchAppBaseEntity implements ToResult<Che
*/
private String payMethod;
/** 是否开启分账 */
private boolean allocation;
/**
* 构造
*/

View File

@@ -26,8 +26,8 @@ public class CheckoutConfigParam {
@Schema(description = "PC收银台是否同时显示聚合收银码")
private boolean aggregateShow;
/** h5收银台自动升级聚合支付 */
@Schema(description = "h5收银台自动升级聚合支付")
/** h5收银台自动升级聚合支付 */
@Schema(description = "h5收银台自动升级聚合支付")
private boolean h5AutoUpgrade;
/** 应用号 */

View File

@@ -36,7 +36,7 @@ public class CheckoutGroupConfigParam {
/** 排序 */
@Schema(description = "排序")
private Double sort;
private Double sortNo;
/** 应用号 */
@Schema(description = "应用号")

View File

@@ -35,7 +35,7 @@ public class CheckoutItemConfigParam {
/** 排序 */
@Schema(description = "排序")
private Double sort;
private Double sortNo;
/**
* 发起调用的类型
@@ -58,10 +58,6 @@ public class CheckoutItemConfigParam {
@Schema(description = "支付方式")
private String payMethod;
/** 是否开启分账 */
@Schema(description = "是否开启分账")
private boolean allocation;
/** 应用号 */
@Schema(description = "应用号")
private String appId;

View File

@@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.daxpay.core.enums.ChannelEnum;
import org.dromara.daxpay.core.enums.CheckoutAggregateEnum;
import org.dromara.daxpay.core.enums.PayMethodEnum;
import org.dromara.daxpay.core.result.MchAppResult;
/**
@@ -16,4 +19,30 @@ import org.dromara.daxpay.core.result.MchAppResult;
@Accessors(chain = true)
@Schema(title = "收银台聚合支付配置")
public class CheckoutAggregateConfigVo extends MchAppResult {
/**
* 聚合支付类型
* @see CheckoutAggregateEnum
*/
@Schema(description = "聚合支付类型")
private String type;
/**
* 通道
* @see ChannelEnum
*/
@Schema(description = "通道")
private String channel;
/**
* 支付方式
* @see PayMethodEnum
*/
@Schema(description = "支付方式")
private String payMethod;
/** 自动拉起支付 */
@Schema(description = "自动拉起支付")
private boolean autoLaunch;
}

View File

@@ -16,4 +16,16 @@ import org.dromara.daxpay.core.result.MchAppResult;
@Accessors(chain = true)
@Schema(title = "收银台配置")
public class CheckoutConfigVo extends MchAppResult {
/** 收银台名称 */
@Schema(description = "收银台名称")
private String name;
/** PC收银台是否同时显示聚合收银码 */
@Schema(description = "PC收银台是否同时显示聚合收银码")
private boolean aggregateShow;
/** h5收银台自动升级聚合支付 */
@Schema(description = "h5收银台自动升级聚合支付")
private boolean h5AutoUpgrade;
}

View File

@@ -29,7 +29,11 @@ public class CheckoutGroupConfigVo extends MchAppResult {
@Schema(description = "名称")
private String name;
/** 图标 */
@Schema(description = "图标")
private String icon;
/** 排序 */
@Schema(description = "排序")
private Double sort;
private Double sortNo;
}

View File

@@ -26,7 +26,15 @@ public class CheckoutItemConfigVo extends MchAppResult {
/** 排序 */
@Schema(description = "排序")
private Double sort;
private Double sortNo;
/** 名称 */
@Schema(description = "名称")
private String name;
/** 图标 */
@Schema(description = "图标")
private String icon;
/**
* 发起调用的类型
@@ -49,8 +57,4 @@ public class CheckoutItemConfigVo extends MchAppResult {
@Schema(description = "支付方式")
private String payMethod;
/** 是否开启分账 */
@Schema(description = "是否开启分账")
private boolean allocation;
}

View File

@@ -1,13 +1,17 @@
package org.dromara.daxpay.service.service.config.checkout;
import cn.bootx.platform.common.mybatisplus.util.MpUtil;
import cn.bootx.platform.core.exception.DataNotExistException;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.daxpay.service.dao.config.checkout.CheckoutAggregateConfigManager;
import org.dromara.daxpay.service.dao.config.checkout.CheckoutConfigManager;
import org.dromara.daxpay.service.dao.config.checkout.CheckoutGroupConfigManager;
import org.dromara.daxpay.service.dao.config.checkout.CheckoutItemConfigManager;
import org.dromara.daxpay.service.entity.config.checkout.CheckoutAggregateConfig;
import org.dromara.daxpay.service.entity.config.checkout.CheckoutConfig;
import org.dromara.daxpay.service.entity.config.checkout.CheckoutGroupConfig;
import org.dromara.daxpay.service.entity.config.checkout.CheckoutItemConfig;
import org.dromara.daxpay.service.result.config.checkout.CheckoutAggregateConfigVo;
import org.dromara.daxpay.service.result.config.checkout.CheckoutConfigVo;
import org.dromara.daxpay.service.result.config.checkout.CheckoutGroupConfigVo;
@@ -33,30 +37,54 @@ public class CheckoutConfigQueryService {
/**
* 收银台配置
*/
public CheckoutConfigVo getConfig(String appid){
return checkoutConfigManager.findByAppId(appid).map(CheckoutConfig::toResult)
public CheckoutConfigVo getConfig(String appId){
return checkoutConfigManager.findByAppId(appId).map(CheckoutConfig::toResult)
.orElse(new CheckoutConfigVo());
}
/**
* 获取指定类型收银台分组列表
*/
public List<CheckoutGroupConfigVo> getGroupConfigs(String appid, String checkoutType){
return MpUtil.toListResult(checkoutGroupConfigManager.findAllByAppIdAndType(appid, checkoutType));
public List<CheckoutGroupConfigVo> getGroupConfigs(String appId, String checkoutType){
return MpUtil.toListResult(checkoutGroupConfigManager.findAllByAppIdAndType(appId, checkoutType));
}
/**
* 获取明细配置列表
* 获取收银台分组配置
*/
public CheckoutGroupConfigVo getGroupConfig(Long id){
return checkoutGroupConfigManager.findById(id).map(CheckoutGroupConfig::toResult)
.orElseThrow(() -> new DataNotExistException("收银台分组配置不存在"));
}
/**
* 获取配置项列表
*/
public List<CheckoutItemConfigVo> getItemConfigs(Long groupId){
return MpUtil.toListResult(checkoutItemConfigManager.findAllByGroupId(groupId));
}
/**
* 获取配置项列表
*/
public CheckoutItemConfigVo getItemConfig(Long groupId){
return checkoutItemConfigManager.findById(groupId).map(CheckoutItemConfig::toResult)
.orElseThrow(() -> new DataNotExistException("收银台配置项不存在"));
}
/**
* 获取聚合支付配置列表
*/
public List<CheckoutAggregateConfigVo> getAggregateConfigs(String appid){
return MpUtil.toListResult(checkoutAggregateConfigManager.findAllByAppId(appid));
public List<CheckoutAggregateConfigVo> getAggregateConfigs(String appId){
return MpUtil.toListResult(checkoutAggregateConfigManager.findAllByAppId(appId));
}
/**
* 获取聚合支付配置
*/
public CheckoutAggregateConfigVo getAggregateConfig(Long id){
return checkoutAggregateConfigManager.findById(id).map(CheckoutAggregateConfig::toResult)
.orElseThrow(() -> new DataNotExistException("聚合支付配置不存在"));
}
/**