## Feat - 新零售-支付

This commit is contained in:
sangelxiu1 2025-07-09 10:59:32 +08:00
parent 2044185ae3
commit 613c8a8002
17 changed files with 307 additions and 20 deletions

View File

@ -146,4 +146,13 @@ public interface ISaOrderServiceApi {
*/ */
R<BigDecimal> getRetailPayOrder(Long pkMember, String orderCode); R<BigDecimal> getRetailPayOrder(Long pkMember, String orderCode);
/**
* 根据订单编号查询订单信息
*
* @param orderCode 订单编号
* @param pkMember 会员主键
* @return
*/
R<SaOrderExt> queryOrderByCode(String orderCode, Long pkMember);
} }

View File

@ -0,0 +1,9 @@
package com.hzs.third.pay;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.third.pay.TOnlinePayment;
public interface ITOnlinePaymentServiceApi {
R<TOnlinePayment> getOnlinePayment(String orderNo);
R<String> refund(String orderNo, Long userId);
}

View File

@ -2,6 +2,7 @@ package com.hzs.member.base.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.constant.*; import com.hzs.common.core.constant.*;
@ -31,6 +32,7 @@ import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.system.config.BdAccount; import com.hzs.common.domain.system.config.BdAccount;
import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.third.pay.TOnlinePayment;
import com.hzs.common.util.TransactionUtils; import com.hzs.common.util.TransactionUtils;
import com.hzs.member.account.dto.BusinessCommissionDTO; import com.hzs.member.account.dto.BusinessCommissionDTO;
import com.hzs.member.account.service.ICuMemberAccountService; import com.hzs.member.account.service.ICuMemberAccountService;
@ -51,6 +53,7 @@ import com.hzs.system.config.IAccountServiceApi;
import com.hzs.system.config.IAreaCurrencyServiceApi; import com.hzs.system.config.IAreaCurrencyServiceApi;
import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.dto.AreaCurrencyDTO; import com.hzs.system.config.dto.AreaCurrencyDTO;
import com.hzs.third.pay.ITOnlinePaymentServiceApi;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
@ -80,6 +83,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
@DubboReference @DubboReference
ISaOrderServiceApi iSaOrderServiceApi; ISaOrderServiceApi iSaOrderServiceApi;
@DubboReference
ITOnlinePaymentServiceApi itOnlinePaymentServiceApi;
@Autowired @Autowired
private MemberToolsHandler memberToolsHandler; private MemberToolsHandler memberToolsHandler;
@Autowired @Autowired
@ -92,6 +98,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
private ICuMemberService cuMemberService; private ICuMemberService cuMemberService;
private ICuMemberRegisterService cuMemberRegisterService; private ICuMemberRegisterService cuMemberRegisterService;
@Autowired
private ICuMemberAccountService iCuMemberAccountService;
private ICuMemberAccountService cuMemberAccountService; private ICuMemberAccountService cuMemberAccountService;
@ -617,7 +625,14 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
cuMemberRegisterService.updateCuMemberRegister(cuMemberRegister); cuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
} }
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount); if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
// 钱包支付则需要回退金额
// 默认回退给创建人
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
} else {
// 在线支付处理退款
this.handleOnlineRefund(saOrder);
}
return true; return true;
} }
@ -648,8 +663,13 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId()); updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
cuMemberRegisterService.update(updateWrapperRegister); cuMemberRegisterService.update(updateWrapperRegister);
} }
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount); // 钱包支付则需要回退金额
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
} else {
// 在线支付处理退款
this.handleOnlineRefund(saOrder);
}
return true; return true;
} }
@ -878,8 +898,20 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
cuMemberRegister.setPkCountry(saOrder.getPkCountry()); cuMemberRegister.setPkCountry(saOrder.getPkCountry());
cuMemberRegister.setPkModified(saOrder.getPkCreator()); cuMemberRegister.setPkModified(saOrder.getPkCreator());
cuMemberRegisterService.updateCuMemberRegister(cuMemberRegister); cuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
CuMemberAccount payMemberAccount = cuMemberAccountMap.get(saOrder.getPkCreator()); if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount); // 钱包支付则需要回退金额
CuMemberAccount payMemberAccount = cuMemberAccountMap.get(saOrder.getPkCreator());
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
}
}
for (int i = memberList.size() - 1; i >= 0; i--) {
Long pkMember = memberList.get(i);
SaOrderExt saOrder = saOrderMap.get(pkMember);
if (saOrder.getPayType().equals(EOrderPayType.ONLINE.getValue())) {
// 在线支付处理退款
this.handleOnlineRefund(saOrder);
}
} }
return Boolean.TRUE; return Boolean.TRUE;
} }
@ -941,12 +973,19 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
} }
// 部分撤单 todo 发货后邮费不退未发货退邮费 // 部分撤单 todo 发货后邮费不退未发货退邮费
if (saOrder.getBackOrderAmount() != null && ComputeUtil.compareValue(saOrder.getBackOrderAmount())) { if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
cancelPartOrderBackAmount(pkApprove, saOrder); // 钱包支付则需要回退金额
// 部分撤单
if (saOrder.getBackOrderAmount() != null && ComputeUtil.compareValue(saOrder.getBackOrderAmount())) {
cancelPartOrderBackAmount(pkApprove, saOrder);
} else {
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
// 回退账号余额
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
}
} else { } else {
CuMemberAccount payMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator()); // 在线支付处理退款
// 回退账号余额 this.handleOnlineRefund(saOrder);
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
} }
return Boolean.TRUE; return Boolean.TRUE;
} }
@ -1577,4 +1616,22 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
} }
} }
/**
* 在线支付退款
*
* @param saOrder
*/
private void handleOnlineRefund(SaOrderExt saOrder) {
R<TOnlinePayment> onlinePaymentR = itOnlinePaymentServiceApi.getOnlinePayment(saOrder.getOrderCode());
if (ObjectUtil.isNotEmpty(onlinePaymentR)) {
TOnlinePayment onlinePayment = onlinePaymentR.getData();
if (ObjectUtil.isNotEmpty(onlinePayment)) {
R<String> result = itOnlinePaymentServiceApi.refund(saOrder.getOrderCode(), saOrder.getPkCreator());
if (!result.isSuccess()) {
throw new ServiceException(result.getMsg());
}
}
}
}
} }

View File

@ -18,6 +18,7 @@ import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt; import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems; import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.common.domain.third.pay.ext.TOnlineRefundExt;
import com.hzs.common.security.auth.AuthMemberUtil; import com.hzs.common.security.auth.AuthMemberUtil;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils; import com.hzs.common.util.TransactionUtils;
@ -124,6 +125,16 @@ public class ApiOrderController extends BaseController {
return tableDataInfo; return tableDataInfo;
} }
@GetMapping("/refund-list")
public TableDataInfo refundList() {
// 返回结果
startPage();
List<TOnlineRefundExt> list = iSaOrderService.queryRefundList();
TableDataInfo tableDataInfo = getDataTable(list);
tableDataInfo.setRows(list);
return tableDataInfo;
}
/** /**
* 订单详情 * 订单详情
* *

View File

@ -5,6 +5,7 @@ import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt; import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.third.pay.ext.TOnlineRefundExt;
import com.hzs.sale.index.vo.CuMemberMyMarketDetailVO; import com.hzs.sale.index.vo.CuMemberMyMarketDetailVO;
import com.hzs.sale.index.vo.CuMemberMyMarketVO; import com.hzs.sale.index.vo.CuMemberMyMarketVO;
import com.hzs.sale.order.param.*; import com.hzs.sale.order.param.*;
@ -111,6 +112,8 @@ public interface SaOrderMapper extends BaseMapper<SaOrder> {
@Param("memberId") Long memberId, @Param("memberId") Long memberId,
@Param("pkCountry") Integer pkCountry); @Param("pkCountry") Integer pkCountry);
List<TOnlineRefundExt> queryRefundList(@Param("userId") Long userId);
/** /**
* 自助撤单列表 * 自助撤单列表
**/ **/

View File

@ -166,4 +166,13 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi {
return R.ok(ComputeUtil.computeAdd(saOrder.getOrderAmount(), saOrder.getPostage())); return R.ok(ComputeUtil.computeAdd(saOrder.getOrderAmount(), saOrder.getPostage()));
} }
@Override
public R<SaOrderExt> queryOrderByCode(String orderCode, Long pkMember) {
SaOrderExt saOrder = redisService.getCacheObject(CacheConstants.TEMP_ORDER + pkMember + orderCode);
if (null == saOrder) {
// 直销订单
saOrder = iSaOrderService.queryOrderByCode(orderCode, null);
}
return R.ok(saOrder);
}
} }

View File

@ -10,6 +10,7 @@ import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems; import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.common.domain.scm.ic.ext.IcAvailableNumExt; import com.hzs.common.domain.scm.ic.ext.IcAvailableNumExt;
import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.third.pay.ext.TOnlineRefundExt;
import com.hzs.sale.index.vo.CuMemberMyMarketVO; import com.hzs.sale.index.vo.CuMemberMyMarketVO;
import com.hzs.sale.order.param.*; import com.hzs.sale.order.param.*;
import com.hzs.sale.order.vo.*; import com.hzs.sale.order.vo.*;
@ -385,6 +386,7 @@ public interface ISaOrderService extends IService<SaOrder> {
*/ */
List<SaOrderExt> myOrderList(MyOrderParam param, Long memberId, Integer pkCountry); List<SaOrderExt> myOrderList(MyOrderParam param, Long memberId, Integer pkCountry);
List<TOnlineRefundExt> queryRefundList();
/** /**
* 自助撤单列表 * 自助撤单列表
**/ **/

View File

@ -37,6 +37,7 @@ import com.hzs.common.domain.system.base.BdCountry;
import com.hzs.common.domain.system.base.ext.BdProductStorehouseExt; import com.hzs.common.domain.system.base.ext.BdProductStorehouseExt;
import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.third.pay.ext.TOnlineRefundExt;
import com.hzs.common.security.service.UserTokenService; import com.hzs.common.security.service.UserTokenService;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils; import com.hzs.common.util.TransactionUtils;
@ -1637,6 +1638,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return baseMapper.myOrderList(param, memberId, pkCountry); return baseMapper.myOrderList(param, memberId, pkCountry);
} }
@Override
public List<TOnlineRefundExt> queryRefundList() {
return baseMapper.queryRefundList(SecurityUtils.getUserId());
}
@Override @Override
public List<SaOrderExt> selfRevokeOrderList(MyOrderParam param, Long memberId, Integer pkCountry) { public List<SaOrderExt> selfRevokeOrderList(MyOrderParam param, Long memberId, Integer pkCountry) {
return baseMapper.selfRevokeOrderList(param, memberId, pkCountry); return baseMapper.selfRevokeOrderList(param, memberId, pkCountry);

View File

@ -2,6 +2,7 @@ package com.hzs.sale.shopping.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
@ -133,7 +134,7 @@ public class ShoppingCartServiceImpl implements IShoppingCartService {
for (String innkey : innerShopMap.keySet()) { for (String innkey : innerShopMap.keySet()) {
String mapValue = innerShopMap.get(innkey); String mapValue = innerShopMap.get(innkey);
ShoppingCartRedis scr = JSONUtil.toBean(mapValue, ShoppingCartRedis.class); ShoppingCartRedis scr = JSONUtil.toBean(mapValue, ShoppingCartRedis.class);
if (scr.getSpecialArea() == value.getValue()) { if (ObjectUtil.isNotEmpty(scr.getSpecialArea()) && scr.getSpecialArea() == value.getValue()) {
scv.setSpecialArea(value.getValue()); scv.setSpecialArea(value.getValue());
scv.setSpecialAreaVal(value.getLabel()); scv.setSpecialAreaVal(value.getLabel());
if (pkCountry.equals(scr.getPkCountry())) { if (pkCountry.equals(scr.getPkCountry())) {

View File

@ -1443,4 +1443,29 @@
and so.box_num != 0 and so.box_num != 0
</select> </select>
<select id="queryRefundList" resultType="com.hzs.common.domain.third.pay.ext.TOnlineRefundExt">
select cm.member_code,
cm.member_name,
top.business_type pay_business_type,
top.business_code pay_business_code,
tor.business_code,
tor.refund_status,
tor.refund_money,
tor.finish_money,
tor.creation_time,
tor.finish_time,
tor.refund_channel,
tor.refund_code,
tor.error_msg
from T_ONLINE_REFUND tor
inner join T_ONLINE_PAYMENT top
on top.pk_id = tor.pk_online_payment
left join cu_member cm
on cm.pk_id = top.pk_creator
where tor.del_flag = 0
<if test="userId != null">
and tor.PK_CREATOR = #{userId}
</if>
order by creation_time desc
</select>
</mapper> </mapper>

View File

@ -386,6 +386,10 @@ public class CacheConstants {
* 新零售缓存参数其它订单 * 新零售缓存参数其它订单
*/ */
public static final String RETAIL_TEMP_OTHER_PARAM = CACHE_PREFIX + "retail:temp_other:param:"; public static final String RETAIL_TEMP_OTHER_PARAM = CACHE_PREFIX + "retail:temp_other:param:";
/**
* 在线支付回调上锁
*/
public final static String ONLINE_PAY_KEY = CACHE_PREFIX + "online:payment:";
/** /**
* 手机每天获取短信缓存 -- Hashsms:count: 年月日, 登录名 * 手机每天获取短信缓存 -- Hashsms:count: 年月日, 登录名

View File

@ -28,6 +28,11 @@ public class SysConstants {
*/ */
public static final String PAY_PASSWORD = "222222"; public static final String PAY_PASSWORD = "222222";
/**
* 特殊处理编号对外开放使用主要用于支付接入审核
*/
public static final String SPECIAL_CODE = "BD68880628";
/** /**
* 血缘累计业绩30万 * 血缘累计业绩30万
*/ */

View File

@ -13,6 +13,11 @@ import lombok.Getter;
@Getter @Getter
public enum EPayChannel { public enum EPayChannel {
/**
* 通联
*/
ALLIN(3, "通联", 0, EnumsPrefixConstants.PAY_CHANNEL + "3"),
/** /**
* 京东 * 京东
*/ */

View File

@ -27,6 +27,13 @@ public enum EPayType {
* 银行卡 * 银行卡
*/ */
BANK_CARD(3, "银行卡", 0, EnumsPrefixConstants.PAY_TYPE + "3"), BANK_CARD(3, "银行卡", 0, EnumsPrefixConstants.PAY_TYPE + "3"),
// , 5=(京东)小金库, 6=(京东)白条, 7=(京东)超级白条, 8=(京东)钱包余额, 9=(京东)云闪付
MINI_TREASURY(5, "小金库", 0, EnumsPrefixConstants.PAY_TYPE + "5"),
CREDIT_LINE(6, "白条", 0, EnumsPrefixConstants.PAY_TYPE + "6"),
SUPER_CREDIT_LINE(7, "超级白条", 0, EnumsPrefixConstants.PAY_TYPE + "7"),
WALLET_BALANCE(8, "钱包余额", 0, EnumsPrefixConstants.PAY_TYPE + "8"),
CLOUD_PAY(9, "云闪付", 0, EnumsPrefixConstants.PAY_TYPE + "9"),
; ;

View File

@ -1,11 +1,6 @@
package com.hzs.common.domain.third.pay; package com.hzs.common.domain.third.pay;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.web.domain.BaseEntity; import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data; import lombok.Data;
@ -13,11 +8,11 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.JdbcType;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* 在线支付信息 * 在线支付信息
*
* @author hzs
* @since 2022-07-28
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ -59,7 +54,7 @@ public class TOnlinePayment extends BaseEntity {
private BigDecimal businessMoney; private BigDecimal businessMoney;
/** /**
* 支付渠道5=宝付,6=汇付,8=汇付 * 支付渠道0=杉德,1=支付宝,2=微信,3=通联,4=京东,5=宝付,6=汇付
*/ */
@TableField("PAY_CHANNEL") @TableField("PAY_CHANNEL")
private Integer payChannel; private Integer payChannel;
@ -125,4 +120,9 @@ public class TOnlinePayment extends BaseEntity {
@TableField("PAY_SOURCE") @TableField("PAY_SOURCE")
private Integer paySource; private Integer paySource;
/**
* 支付-前端回调页面的扩展参数
*/
@TableField(exist = false)
private String extParam;
} }

View File

@ -0,0 +1,75 @@
package com.hzs.common.domain.third.pay;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>
* 支付请求主表
* </p>
*
* @author bd
* @since 2025-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("T_ONLINE_PAYMENT_SEP_ACC")
@KeySequence("T_ONLINE_PAYMENT_SEP_ACC_SEQ")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TOnlinePaymentSepAcc extends BaseEntity {
private static final long serialVersionUID = 1L;
@TableId("PK_ID")
private Long pkId;
/**
* 在线支付信息ID
*/
@TableField("PK_PAYMENT")
private Long pkPayment;
/**
* 版本号
*/
@TableField("VERSION")
private String version;
/**
* 支付请求信息
*/
@TableField("REQ_CONTENT")
private String reqContent;
/**
* 分账请求信息
*/
@TableField("REQ_CONTENT_SEP_ACC")
private String reqContentSepAcc;
/**
* 支付响应信息
*/
@TableField("RESP_CONTENT")
private String respContent;
@TableField("TRADE_AMOUNT")
private BigDecimal tradeAmount;
@TableField("OUT_TRADE_NO")
private String outTradeNo;
@TableField(exist = false)
private List<TOnlinePaymentSepAccD> sepAccDList;
}

View File

@ -0,0 +1,59 @@
package com.hzs.common.domain.third.pay;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* <p>
* 支付请求子表(分账)
* </p>
*
* @author bd
* @since 2025-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("T_ONLINE_PAYMENT_SEP_ACC_D")
@KeySequence("T_ONLINE_PAYMENT_SEP_ACC_D_SEQ")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TOnlinePaymentSepAccD extends BaseEntity {
private static final long serialVersionUID = 1L;
@TableId("PK_ID")
private Long pkId;
/**
* 支付请求主表ID
*/
@TableField("PK_SEP_ACC")
private Long pkSepAcc;
/**
* 分账账号
*/
@TableField("ACCOUNT")
private String account;
/**
* 分账比例
*/
@TableField("PROPORTION")
private BigDecimal proportion;
@TableField("TRADE_AMOUNT")
private BigDecimal tradeAmount;
@TableField("OUT_TRADE_NO")
private String outTradeNo;
}