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