mirror of
https://gitee.com/dromara/dax-pay
synced 2026-08-08 06:05:33 +08:00
feat(code-pay): 公开码牌信息接口返回商户简称供 H5 展示
This commit is contained in:
@@ -18,6 +18,10 @@ public class CodePayInfoResult {
|
||||
@Schema(description = "码牌名称")
|
||||
private String name;
|
||||
|
||||
/// 商户简称(展示用; 简称空时回退商户全称, 不含 mchNo)
|
||||
@Schema(description = "商户简称(展示用)")
|
||||
private String mchShortName;
|
||||
|
||||
/// 金额类型
|
||||
/// @see cn.daxpay.open.payment.device.enums.QrCodeAmountTypeEnum
|
||||
@Schema(description = "金额类型(random-自定义/fixed-固定)")
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package cn.daxpay.open.payment.unipay.client.service;
|
||||
|
||||
import cn.daxpay.open.payment.auth.ChannelAuthFacade;
|
||||
import cn.daxpay.open.payment.common.access.MerchantAccessInfo;
|
||||
import cn.daxpay.open.payment.common.context.MerchantContextLoader;
|
||||
import cn.daxpay.open.payment.device.enums.QrCodeAmountTypeEnum;
|
||||
import cn.daxpay.open.payment.device.enums.QrCodeStatusEnum;
|
||||
import cn.daxpay.open.payment.device.qrcode.dao.DeviceQrCodeManager;
|
||||
import cn.daxpay.open.payment.device.qrcode.entity.DeviceQrCode;
|
||||
import cn.daxpay.open.payment.merchant.dao.info.MerchantInfoManager;
|
||||
import cn.daxpay.open.payment.merchant.entity.info.MerchantInfo;
|
||||
import cn.daxpay.open.payment.merchant.enums.ClientEnvEnum;
|
||||
import cn.daxpay.open.payment.merchant.enums.ClientRuntimeEnum;
|
||||
import cn.daxpay.open.payment.merchant.enums.CodePayFormEnum;
|
||||
import cn.daxpay.open.payment.merchant.service.access.MerchantAccessQueryService;
|
||||
import cn.daxpay.open.payment.merchant.service.gateway.CodePayResolveService;
|
||||
import cn.daxpay.open.payment.route.service.runtime.PayRouteService;
|
||||
import cn.daxpay.open.payment.trade.order.dao.NormalPayOrderManager;
|
||||
@@ -52,7 +52,7 @@ import org.springframework.stereotype.Service;
|
||||
public class CodePayAssistService {
|
||||
|
||||
private final DeviceQrCodeManager deviceQrCodeManager;
|
||||
private final MerchantAccessQueryService merchantAccessQueryService;
|
||||
private final MerchantInfoManager merchantInfoManager;
|
||||
private final MerchantContextLoader merchantContextLoader;
|
||||
private final CodePayResolveService codePayResolveService;
|
||||
private final NormalPayService normalPayService;
|
||||
@@ -65,13 +65,15 @@ public class CodePayAssistService {
|
||||
/// @param clientEnv 可选; 传入时解析策略 method 并填充 needOpenId
|
||||
public CodePayInfoResult getByCode(String code, String clientEnv) {
|
||||
DeviceQrCode entity = this.loadEnabledAssigned(code);
|
||||
MerchantAccessInfo merchant = merchantAccessQueryService.getMerchantByMchNo(entity.getMchNo());
|
||||
if (merchant == null) {
|
||||
throw new DataNotExistException("error.device.qrcode.mchNotFound");
|
||||
}
|
||||
// 忽略租户查商户: 公开 H5 无商户上下文; 仅取展示名, 不回 mchNo
|
||||
MerchantInfo merchant = merchantInfoManager.findByMchNoNotTenant(entity.getMchNo())
|
||||
.orElseThrow(() -> new DataNotExistException("error.device.qrcode.mchNotFound"));
|
||||
// 展示优先简称, 空则回退全称
|
||||
String mchShortName = StrUtil.blankToDefault(merchant.getMchShortName(), merchant.getMchName());
|
||||
CodePayInfoResult result = new CodePayInfoResult()
|
||||
.setCode(entity.getCode())
|
||||
.setName(entity.getName())
|
||||
.setMchShortName(mchShortName)
|
||||
.setAmountType(entity.getAmountType())
|
||||
.setFixedAmount(entity.getFixedAmount())
|
||||
.setProgramType(entity.getProgramType());
|
||||
|
||||
Reference in New Issue
Block a user