From a81d07227a9aa1033b70dc488575dad9830d5852 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 23 Oct 2025 15:53:55 +0800
Subject: [PATCH] C2C
---
trading-order-service/src/main/java/com/yami/trading/service/c2c/impl/C2cOrderServiceImpl.java | 126 +++++++++++++++++++++--------------------
1 files changed, 65 insertions(+), 61 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/c2c/impl/C2cOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/c2c/impl/C2cOrderServiceImpl.java
index 193e7ec..74a44ff 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/c2c/impl/C2cOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/c2c/impl/C2cOrderServiceImpl.java
@@ -131,8 +131,8 @@
if (C2cOrder.DIRECTION_BUY.equals(c2cOrder.getDirection())) {
// 买币
// 给用户账户添加相应的币种数量
- double amountBefore = 0d;
- double amountAfter = 0d;
+ double amountBefore;
+ double amountAfter;
if ("usdt".equalsIgnoreCase(c2cOrder.getSymbol())) {
Wallet wallet = this.walletService.saveWalletByPartyId(c2cOrder.getPartyId());
amountBefore = wallet.getMoney().doubleValue();
@@ -147,9 +147,9 @@
// 保存资金日志
MoneyLog moneyLog = new MoneyLog();
moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_C2C);
- moneyLog.setAmount_before(new BigDecimal(amountBefore));
+ moneyLog.setAmountBefore(new BigDecimal(amountBefore));
moneyLog.setAmount(new BigDecimal(c2cOrder.getCoinAmount()));
- moneyLog.setAmount_after(new BigDecimal(amountAfter));
+ moneyLog.setAmountAfter(new BigDecimal(amountAfter));
moneyLog.setLog("c2c订单购买放行,订单号[" + c2cOrder.getOrderNo() + "]");
moneyLog.setUserId(c2cOrder.getPartyId());
moneyLog.setWallet_type(c2cOrder.getSymbol());
@@ -252,7 +252,7 @@
String methodType = String.valueOf(order.getMethodType());
result.put("method_type_name", pmtMap.containsKey(methodType) ? pmtMap.get(methodType) : methodType);
result.put("method_name", order.getMethodName());
- result.put("method_img", awsS3OSSFileService.getUrl(order.getMethodImg()));
+ result.put("method_img", Constants.IMAGES_HTTP+order.getMethodImg());
result.put("real_name", order.getRealName());
result.put("param_name1", order.getParamName1());
result.put("param_value1", order.getParamValue1());
@@ -286,7 +286,7 @@
result.put("param_value15", order.getParamValue15());
result.put("qrcode", order.getQrcode());
result.put("remark", order.getRemark());
- result.put("img", awsS3OSSFileService.getUrl(order.getImg()));
+ result.put("img", Constants.IMAGES_HTTP+order.getImg());
result.put("create_time", DateUtils.format(order.getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
result.put("handle_time", DateUtils.format(order.getHandleTime(), DateUtils.DF_yyyyMMddHHmmss));
@@ -310,9 +310,9 @@
if ("3".equals(c2cOrder.getState())) {
throw new YamiShopBindException("该订单已完成");
}
- if ("recharge".equals(c2cOrder.getDirection())) {
+ if ("buy".equals(c2cOrder.getDirection())) {
// 充值
- } else if ("withdraw".equals(c2cOrder.getDirection())) {
+ } else if ("sell".equals(c2cOrder.getDirection())) {
// 提现
// 用户钱包退还
Wallet wallet = this.walletService.saveWalletByPartyId(c2cOrder.getPartyId());
@@ -321,11 +321,11 @@
this.walletService.update(c2cOrder.getPartyId().toString(), c2cOrder.getCoinAmount());
// 保存 资金日志
MoneyLog moneyLog = new MoneyLog();
- moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_BANK_CARD);
+ moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_C2C);
moneyLog.setAmountBefore(new BigDecimal(amountBefore));
moneyLog.setAmount(new BigDecimal(c2cOrder.getCoinAmount()));
moneyLog.setAmountAfter(new BigDecimal(amountAfter));
- moneyLog.setLog("银行卡订单取消,订单号[" + c2cOrder.getOrderNo() + "]");
+ moneyLog.setLog("C2C订单取消,订单号[" + c2cOrder.getOrderNo() + "]");
moneyLog.setUserId(c2cOrder.getPartyId());
moneyLog.setWalletType(c2cOrder.getSymbol());
moneyLog.setSymbol(c2cOrder.getSymbol());
@@ -333,7 +333,7 @@
this.moneyLogService.save(moneyLog);
// 保存 充提记录
WalletLog walletLog = new WalletLog();
- walletLog.setCategory(Constants.MONEYLOG_CATEGORY_BANK_CARD_WITHDRAW);
+ walletLog.setCategory(Constants.MONEYLOG_CATEGORY_C2C);
walletLog.setPartyId(c2cOrder.getPartyId());
walletLog.setOrderNo(c2cOrder.getOrderNo());
walletLog.setStatus(Integer.valueOf(c2cOrder.getState()).intValue());
@@ -490,7 +490,7 @@
return baseMapper.pagedC2cQuery(page,status,orderNo,userCode,rolename,c2cUserCode,c2cUserType,c2cUserPartyCode,direction);
}
-
+ @Transactional
public void saveOpen(C2cOrder c2cOrder,String remark) {
log.error("saveOpen start:"+remark);
C2cAdvert c2cAdvert = this.c2cAdvertService.getById(c2cOrder.getC2cAdvertId());
@@ -511,19 +511,18 @@
if (null == c2cUser) {
throw new YamiShopBindException("承兑商不存在");
}
- User c2cParty =userService.getById(c2cOrder.getC2cUserPartyId());
+ User c2cParty =userService.getById(c2cUser.getC2cUserPartyId());
if (null == c2cParty) {
throw new YamiShopBindException("承兑商的用户信息不存在");
}
+
C2cPaymentMethod method = this.c2cPaymentMethodService.get(c2cOrder.getPaymentMethodId());
- if (null == method) {
- throw new YamiShopBindException("支付方式不存在");
- }
-
if (C2cAdvert.DIRECTION_SELL.equals(c2cAdvert.getDirection())) {
-
+ if (null == method) {
+ throw new YamiShopBindException("支付方式不存在");
+ }
if (!party.isWithdrawAuthority()) {
throw new YamiShopBindException( "无权限");
}
@@ -536,9 +535,9 @@
}
} else {
- if (!method.getPartyId().equals(c2cUser.getC2cUserPartyId())) {
+ /*if (!method.getPartyId().equals(c2cUser.getC2cUserPartyId())) {
throw new YamiShopBindException("支付方式不匹配该承兑商");
- }
+ }*/
}
c2cOrder.setC2cUserType(c2cUser.getC2cUserType());
@@ -554,41 +553,46 @@
c2cOrder.setPayRate(c2cAdvert.getPayRate());
c2cOrder.setSymbolValue(c2cAdvert.getSymbolValue());
c2cOrder.setExpireTime(c2cAdvert.getExpireTime());
- c2cOrder.setMethodType(method.getMethodType());
- c2cOrder.setMethodName(method.getMethodName());
- c2cOrder.setMethodImg(method.getMethodImg());
- c2cOrder.setRealName(method.getRealName());
- c2cOrder.setParamName1(method.getParamName1());
- c2cOrder.setParamValue1(method.getParamValue1());
- c2cOrder.setParamName2(method.getParamName2());
- c2cOrder.setParamValue2(method.getParamValue2());
- c2cOrder.setParamName3(method.getParamName3());
- c2cOrder.setParamValue3(method.getParamValue3());
- c2cOrder.setParamName4(method.getParamName4());
- c2cOrder.setParamValue4(method.getParamValue4());
- c2cOrder.setParamName5(method.getParamName5());
- c2cOrder.setParamValue5(method.getParamValue5());
- c2cOrder.setParamName6(method.getParamName6());
- c2cOrder.setParamValue6(method.getParamValue6());
- c2cOrder.setParamName7(method.getParamName7());
- c2cOrder.setParamValue7(method.getParamValue7());
- c2cOrder.setParamName8(method.getParamName8());
- c2cOrder.setParamValue8(method.getParamValue8());
- c2cOrder.setParamName9(method.getParamName9());
- c2cOrder.setParamValue9(method.getParamValue9());
- c2cOrder.setParamName10(method.getParamName10());
- c2cOrder.setParamValue10(method.getParamValue10());
- c2cOrder.setParamName11(method.getParamName11());
- c2cOrder.setParamValue11(method.getParamValue11());
- c2cOrder.setParamName12(method.getParamName12());
- c2cOrder.setParamValue12(method.getParamValue12());
- c2cOrder.setParamName13(method.getParamName13());
- c2cOrder.setParamValue13(method.getParamValue13());
- c2cOrder.setParamName14(method.getParamName14());
- c2cOrder.setParamValue14(method.getParamValue14());
- c2cOrder.setParamName15(method.getParamName15());
- c2cOrder.setParamValue15(method.getParamValue15());
- c2cOrder.setQrcode(method.getQrcode());
+
+
+ if (C2cAdvert.DIRECTION_SELL.equals(c2cAdvert.getDirection())) {
+ c2cOrder.setMethodType(method.getMethodType());
+ c2cOrder.setMethodName(method.getMethodName());
+ c2cOrder.setMethodImg(method.getMethodImg());
+ c2cOrder.setRealName(method.getRealName());
+ c2cOrder.setParamName1(method.getParamName1());
+ c2cOrder.setParamValue1(method.getParamValue1());
+ c2cOrder.setParamName2(method.getParamName2());
+ c2cOrder.setParamValue2(method.getParamValue2());
+ c2cOrder.setParamName3(method.getParamName3());
+ c2cOrder.setParamValue3(method.getParamValue3());
+ c2cOrder.setParamName4(method.getParamName4());
+ c2cOrder.setParamValue4(method.getParamValue4());
+ c2cOrder.setParamName5(method.getParamName5());
+ c2cOrder.setParamValue5(method.getParamValue5());
+ c2cOrder.setParamName6(method.getParamName6());
+ c2cOrder.setParamValue6(method.getParamValue6());
+ c2cOrder.setParamName7(method.getParamName7());
+ c2cOrder.setParamValue7(method.getParamValue7());
+ c2cOrder.setParamName8(method.getParamName8());
+ c2cOrder.setParamValue8(method.getParamValue8());
+ c2cOrder.setParamName9(method.getParamName9());
+ c2cOrder.setParamValue9(method.getParamValue9());
+ c2cOrder.setParamName10(method.getParamName10());
+ c2cOrder.setParamValue10(method.getParamValue10());
+ c2cOrder.setParamName11(method.getParamName11());
+ c2cOrder.setParamValue11(method.getParamValue11());
+ c2cOrder.setParamName12(method.getParamName12());
+ c2cOrder.setParamValue12(method.getParamValue12());
+ c2cOrder.setParamName13(method.getParamName13());
+ c2cOrder.setParamValue13(method.getParamValue13());
+ c2cOrder.setParamName14(method.getParamName14());
+ c2cOrder.setParamValue14(method.getParamValue14());
+ c2cOrder.setParamName15(method.getParamName15());
+ c2cOrder.setParamValue15(method.getParamValue15());
+ c2cOrder.setQrcode(method.getQrcode());
+ }
+
c2cOrder.setCreateTime(new Date());
c2cOrder.setHandleTime(null);
c2cOrder.setCloseTime(DateUtils.addMinute(c2cOrder.getCreateTime(), c2cOrder.getExpireTime()));
@@ -638,14 +642,14 @@
RealNameAuthRecord party_kyc = realNameAuthRecordService.getByUserId(partyId);
Object objKyc = this.sysparaService.find("c2c_sell_by_kyc");
if (null != objKyc) {
- if (!(party_kyc.getStatus() == 2) && "true".equals(this.sysparaService.find("c2c_sell_by_kyc").getSvalue())) {
+ if ("true".equals(this.sysparaService.find("c2c_sell_by_kyc").getSvalue()) && !(party_kyc.getStatus() == 2)) {
throw new BusinessException(401, "无权限");
}
}
HighLevelAuthRecord party_kycHighLevel = highLevelAuthRecordService.findByUserId(partyId);
Object objKycHigh = this.sysparaService.find("c2c_sell_by_high_kyc");
if (null != objKycHigh) {
- if (!(party_kycHighLevel.getStatus() == 2) && "true".equals(this.sysparaService.find("c2c_sell_by_high_kyc").getSvalue())) {
+ if ("true".equals(this.sysparaService.find("c2c_sell_by_high_kyc").getSvalue()) && !(party_kycHighLevel.getStatus() == 2)) {
throw new BusinessException(1, "请先通过高级认证");
}
}
@@ -675,8 +679,8 @@
throw new YamiShopBindException("金额不在购买区间");
}
- double amountBefore = 0d;
- double amountAfter = 0d;
+ double amountBefore ;
+ double amountAfter ;
if ("usdt".equalsIgnoreCase(c2cAdvert.getSymbol())) {
@@ -704,9 +708,9 @@
// 保存资金日志
MoneyLog moneylog = new MoneyLog();
moneylog.setCategory(Constants.MONEYLOG_CATEGORY_C2C);
- moneylog.setAmount_before(new BigDecimal(amountBefore));
+ moneylog.setAmountBefore(new BigDecimal(amountBefore));
moneylog.setAmount(new BigDecimal(Arith.sub(0, c2cOrder.getCoinAmount())));
- moneylog.setAmount_after(new BigDecimal(amountAfter));
+ moneylog.setAmountAfter(new BigDecimal(amountAfter));
moneylog.setLog("c2c卖币,币种[" + c2cOrder.getSymbol() + "],订单号[" + c2cOrder.getOrderNo() + "]");
moneylog.setUserId(c2cOrder.getPartyId());
moneylog.setWalletType(c2cOrder.getSymbol());
--
Gitblit v1.9.3