update 卖家实收金额 减去手续费
This commit is contained in:
@@ -147,4 +147,17 @@ public class LeasePayRecordMessage implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Long sellerId;
|
private Long sellerId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 卖家实收金额 = 店铺手续费比例 * 买家实际支付金额
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal receivedAmount;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 卖家手续费比例
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal feeRate;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1045,6 +1045,7 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
|
|||||||
@Transactional
|
@Transactional
|
||||||
public Result<UserWalletDataDto> bindWallet(ChainAndCoinVo chainAndCoinVo) {
|
public Result<UserWalletDataDto> bindWallet(ChainAndCoinVo chainAndCoinVo) {
|
||||||
Long authId = SecurityUtils.getUserId();
|
Long authId = SecurityUtils.getUserId();
|
||||||
|
String username = SecurityUtils.getUsername();
|
||||||
//同一用户同一个链只会存在一个钱包
|
//同一用户同一个链只会存在一个钱包
|
||||||
List<UserWalletDataDto> userWalletDataDtoList = leaseUserWalletDataMapper.getWalletInfoByChain(chainAndCoinVo.getChain(),authId);
|
List<UserWalletDataDto> userWalletDataDtoList = leaseUserWalletDataMapper.getWalletInfoByChain(chainAndCoinVo.getChain(),authId);
|
||||||
UserWalletDataDto result;
|
UserWalletDataDto result;
|
||||||
@@ -1054,7 +1055,6 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
|
|||||||
if (bindAddress != null){
|
if (bindAddress != null){
|
||||||
String address = bindAddress.getAddress();
|
String address = bindAddress.getAddress();
|
||||||
String qrcode = QrCodeUtils.creatRrCode(bindAddress.getAddress(), 200, 200);
|
String qrcode = QrCodeUtils.creatRrCode(bindAddress.getAddress(), 200, 200);
|
||||||
String username = SecurityUtils.getUsername();
|
|
||||||
String queueId = UuidGeneratorUtil.generateUuidWithoutHyphen();
|
String queueId = UuidGeneratorUtil.generateUuidWithoutHyphen();
|
||||||
result = UserWalletDataDto.builder()
|
result = UserWalletDataDto.builder()
|
||||||
.queueId(queueId)
|
.queueId(queueId)
|
||||||
@@ -1080,12 +1080,23 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
|
|||||||
leaseAutoAddressMapper.updateById(bindAddress);
|
leaseAutoAddressMapper.updateById(bindAddress);
|
||||||
//监听钱包
|
//监听钱包
|
||||||
sendMessage(result,username,authId);
|
sendMessage(result,username,authId);
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
return Result.fail("没有可用的地址,请联系管理员生成可用的钱包地址");
|
return Result.fail("没有可用的地址,请联系管理员生成可用的钱包地址");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
for (UserWalletDataDto userWalletDataDto : userWalletDataDtoList) {
|
for (UserWalletDataDto userWalletDataDto : userWalletDataDtoList) {
|
||||||
if (userWalletDataDto.getFromSymbol().equals(chainAndCoinVo.getCoin())){
|
if (userWalletDataDto.getFromSymbol().equals(chainAndCoinVo.getCoin())){
|
||||||
|
//开发环境
|
||||||
|
sendMessage(UserWalletDataDto.builder()
|
||||||
|
.queueId(userWalletDataDto.getQueueId())
|
||||||
|
.fromAddress(userWalletDataDto.getFromAddress())
|
||||||
|
.fromChain(chainAndCoinVo.getChain())
|
||||||
|
.fromSymbol(chainAndCoinVo.getCoin())
|
||||||
|
.balance(BigDecimal.ZERO)
|
||||||
|
.userId(userWalletDataDto.getUserId())
|
||||||
|
.qrcode(userWalletDataDto.getQrcode())
|
||||||
|
.build(),username,authId);
|
||||||
return Result.success(userWalletDataDto);
|
return Result.success(userWalletDataDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1169,7 +1180,7 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
|
|||||||
*/
|
*/
|
||||||
public void sendMessage(UserWalletDataDto userWalletDataDto,String username,Long authId){
|
public void sendMessage(UserWalletDataDto userWalletDataDto,String username,Long authId){
|
||||||
try {
|
try {
|
||||||
System.out.println("发送mq消息");
|
String userKey = username+"--"+authId;
|
||||||
long l = System.currentTimeMillis()/1000;
|
long l = System.currentTimeMillis()/1000;
|
||||||
RabbitmqPayRechargeMessage build = RabbitmqPayRechargeMessage.builder()
|
RabbitmqPayRechargeMessage build = RabbitmqPayRechargeMessage.builder()
|
||||||
.queue_id(userWalletDataDto.getQueueId())
|
.queue_id(userWalletDataDto.getQueueId())
|
||||||
@@ -1178,11 +1189,11 @@ public class LeaseUserServiceImpl extends ServiceImpl<LeaseUserMapper, LeaseUser
|
|||||||
.symbol(userWalletDataDto.getFromSymbol())
|
.symbol(userWalletDataDto.getFromSymbol())
|
||||||
.timestamp(l)
|
.timestamp(l)
|
||||||
.sign(HashUtils.sha256(l))
|
.sign(HashUtils.sha256(l))
|
||||||
.user_email(username)
|
.user_email(userKey)
|
||||||
.build();
|
.build();
|
||||||
rabbitTemplate.convertAndSend(PAY_RECHARGE_QUEUE,build);
|
rabbitTemplate.convertAndSend(PAY_RECHARGE_QUEUE,build);
|
||||||
//记录监听钱包开始时间
|
//记录监听钱包开始时间
|
||||||
ledgerLogService.logOperation(userWalletDataDto.getFromAddress()+"--"+username+"--"+authId, "-----监听钱包开始------","");
|
ledgerLogService.logOperation(userWalletDataDto.getFromAddress()+"--"+userKey, "-----监听钱包开始------","");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
throw new PaymentException("获取钱包信息失败,请刷新重试");
|
throw new PaymentException("获取钱包信息失败,请刷新重试");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -830,6 +830,7 @@ public class OrderAndPayTask {
|
|||||||
.status(1)
|
.status(1)
|
||||||
.sellerEmail(leaseShop.getUserEmail())
|
.sellerEmail(leaseShop.getUserEmail())
|
||||||
.receivedAmount(totalRealAmount.subtract(totalRealAmount.multiply(leaseShop.getFeeRate())))
|
.receivedAmount(totalRealAmount.subtract(totalRealAmount.multiply(leaseShop.getFeeRate())))
|
||||||
|
.feeRate(leaseShop.getFeeRate())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
reocrdList.add(build);
|
reocrdList.add(build);
|
||||||
@@ -863,7 +864,8 @@ public class OrderAndPayTask {
|
|||||||
"支付币种" + item.getFromSymbol();
|
"支付币种" + item.getFromSymbol();
|
||||||
|
|
||||||
String sellerInfo = "订单号:" + item.getOrderNumber() +
|
String sellerInfo = "订单号:" + item.getOrderNumber() +
|
||||||
"收款金额:" + item.getRealAmount()+
|
"收款金额:" + item.getReceivedAmount()+
|
||||||
|
"手续费率:" + item.getFeeRate()+
|
||||||
"支付地址:" + item.getFromAddress()+
|
"支付地址:" + item.getFromAddress()+
|
||||||
"支付链:" + item.getFromChain()+
|
"支付链:" + item.getFromChain()+
|
||||||
"支付币种" + item.getFromSymbol() ;
|
"支付币种" + item.getFromSymbol() ;
|
||||||
|
|||||||
Reference in New Issue
Block a user