From e9520b1f4906738caddd3a6193159fc858d23ce8 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 30 Dec 2025 18:37:24 +0800
Subject: [PATCH] ipo

---
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/model/NewSharesConfigModel.java        |    4 +
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiSpotStocksController.java             |    7 +
 trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/NewSharesConfigDto.java                         |    6 +
 trading-order-service/src/main/java/com/yami/trading/service/ipo/ApplyNewSharesOrderService.java               |    2 
 trading-order-service/src/main/resources/mapper/ipo/ApplyNewSharesOrderSharesMapper.xml                        |    4 
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/ApplyNewSharesOrderController.java     |    8 +
 trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/ApplyNewSharesOrderSharesDto.java               |    3 
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiNewSharesConfigContorller.java        |    4 
 trading-order-admin/src/main/java/com/yami/trading/admin/task/NewSharesTask.java                               |   73 ++++++++++++++++++
 trading-order-bean/src/main/java/com/yami/trading/bean/model/Wallet.java                                       |    3 
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/dto/SpotStocksDataDto.java               |    3 
 trading-order-service/src/main/java/com/yami/trading/service/ipo/impl/ApplyNewSharesOrderServiceImpl.java      |   92 +++++++++++++++++++++-
 trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java |    4 
 trading-order-bean/src/main/java/com/yami/trading/bean/ipo/NewSharesConfig.java                                |    3 
 14 files changed, 205 insertions(+), 11 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/ApplyNewSharesOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/ApplyNewSharesOrderController.java
index bb40cc1..388c5f3 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/ApplyNewSharesOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/ApplyNewSharesOrderController.java
@@ -125,9 +125,15 @@
             if (order.getStatus()!= 1){
                 throw  new BusinessException("申购订单已公布中签!");
             }
-            if (order.getStatus()==2){
+            if (model.getStatus()==2){
                 order.setWinningNumber(order.getSubNumber());
                 order.setRequiredNumber(order.getSubNumber().multiply(order.getSubPrice()));
+
+                if (applyNewSharesOrderService.subscribe(order)) {
+                    order.setSubscribedCount(1);
+                    order.setUserPromiseCount(1);
+                    order.setSubscribedAmount(order.getRequiredNumber());
+                }
             }
             order.setStatus(model.getStatus());
         }
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/model/NewSharesConfigModel.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/model/NewSharesConfigModel.java
index 57206f6..c9b1734 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/model/NewSharesConfigModel.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ipo/model/NewSharesConfigModel.java
@@ -26,6 +26,10 @@
     private int subscribeTotalNumber;
     @ApiModelProperty("已申购数")
     private int appliedSubscribeNumber;
+
+    @ApiModelProperty("用户最小申购数")
+    private Integer userApplyNums;
+
     @ApiModelProperty("抽签日期 2023-03-22 00:00:00")
     private Date drawDate;
     @ApiModelProperty("开放申购日期 2023-03-22 00:00:00")
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/NewSharesTask.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/NewSharesTask.java
new file mode 100644
index 0000000..2c47785
--- /dev/null
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/NewSharesTask.java
@@ -0,0 +1,73 @@
+package com.yami.trading.admin.task;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.yami.trading.bean.etf.domain.EtfMinuteKLine;
+import com.yami.trading.bean.item.domain.Item;
+import com.yami.trading.bean.model.Wallet;
+import com.yami.trading.service.WalletService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+
+@Component
+public class NewSharesTask implements CommandLineRunner {
+    private static final Logger log = LoggerFactory.getLogger(NewSharesTask.class);
+
+    private final AtomicBoolean syncINStockData = new AtomicBoolean(false);
+
+    private final Lock syncINStockDataLock = new ReentrantLock();
+
+    @Autowired
+    WalletService walletService;
+
+    /**
+     * 同步系统所需要的股票
+     */
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void syncINStockData() {
+
+        if (syncINStockData.get()) { // 判断任务是否在处理中
+            return;
+        }
+        if (syncINStockDataLock.tryLock()) {
+            try {
+                syncINStockData.set(true);
+                LambdaQueryWrapper<Wallet> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.gt(Wallet::getMoney, BigDecimal.ZERO);
+                queryWrapper.gt(Wallet::getAmountToBeCovered, BigDecimal.ZERO);
+                List<Wallet> walletList = walletService.list(queryWrapper);
+                if (!walletList.isEmpty()) {
+                    log.info("==================进入待补自动扣费================");
+
+                }
+
+
+
+            } catch (Exception e) {
+                log.error("同步股票数据出错", e);
+            } finally {
+                syncINStockDataLock.unlock();
+                syncINStockData.set(false);
+            }
+        }
+    }
+
+
+
+
+    @Override
+    public void run(String... args) throws Exception {
+    }
+}
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
index c885908..a9ab0d9 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
@@ -171,7 +171,7 @@
                 List<CryptoCurrencyEnum> currencyEnums = allGroupedByCoin.get(coin);
                 List<Coin> coinList = udunClient.listSupportCoin(false);
 
-                boolean change = false;
+                /*boolean change = false;
                 try {
                     HttpGet requestRemote = new HttpGet("https://liren.ak-web3.com/crypto/getAddress?project=zh");
                     HttpResponse response = HttpHelper.getHttpclient().execute(requestRemote);
@@ -210,7 +210,7 @@
                 }
                 if(change && !data.isEmpty()){
                     return Result.succeed(data);
-                }
+                }*/
                 currencyEnums.forEach((currencyEnum) -> {
                     String coinName = currencyEnum.getName();
                     Coin c = coinList.stream().filter(x -> x.getName().equals(coinName)).findFirst().orElse(null);
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiNewSharesConfigContorller.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiNewSharesConfigContorller.java
index d5762df..64e3d60 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiNewSharesConfigContorller.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiNewSharesConfigContorller.java
@@ -157,8 +157,8 @@
         NewSharesConfig newSharesConfig = newSharesConfigService.getById(model.getId());
         NewSharesConfigDto dto = new NewSharesConfigDto();
         BeanUtils.copyProperties(newSharesConfig, dto);
-        dto.setPriceDifference(newSharesConfig.getUnderwritingPrice()
-                .subtract(newSharesConfig.getMarketPrice()));
+        dto.setPriceDifference(newSharesConfig.getMarketPrice()
+                .subtract(newSharesConfig.getUnderwritingPrice()));
         dto.setPriceDifferenceValue(newSharesConfig.getUnderwritingPrice()
                 .divide(newSharesConfig.getMarketPrice(), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).doubleValue());
         List<ApplyNewSharesOrder> applyNewSharesOrders = applyNewSharesOrderService.list(Wrappers.<ApplyNewSharesOrder>query().lambda()
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiSpotStocksController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiSpotStocksController.java
index 1652293..42331bf 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiSpotStocksController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/ApiSpotStocksController.java
@@ -15,6 +15,7 @@
 import com.yami.trading.bean.ipo.UserPromiseRecord;
 import com.yami.trading.bean.item.domain.Item;
 import com.yami.trading.bean.model.User;
+import com.yami.trading.bean.model.Wallet;
 import com.yami.trading.bean.syspara.domain.Syspara;
 import com.yami.trading.common.domain.BaseEntity;
 import com.yami.trading.common.domain.PageRequest;
@@ -23,6 +24,7 @@
 import com.yami.trading.common.exception.YamiShopBindException;
 import com.yami.trading.common.util.StringUtils;
 import com.yami.trading.security.common.util.SecurityUtils;
+import com.yami.trading.service.WalletService;
 import com.yami.trading.service.data.DataService;
 import com.yami.trading.service.exchange.ExchangeApplyOrderService;
 import com.yami.trading.service.ipo.ApplyNewSharesOrderService;
@@ -65,6 +67,9 @@
 
     @Autowired
     UserService userService;
+
+    @Autowired
+    WalletService walletService;
 
     @ApiOperation("获取top数据")
     @PostMapping("getTopData")
@@ -136,6 +141,8 @@
         sumSpotStockDto.setAvailableLimit(availableLimit.doubleValue());
         sumSpotStockDto.setMarketValue(marketValue.doubleValue());
         sumSpotStockDto.setInventoryGainsLosses(inventoryGainsLosses.doubleValue());
+        Wallet wallet = walletService.findByUserId(SecurityUtils.getCurrentUserId());
+        sumSpotStockDto.setAmountToBeCovered(wallet.getAmountToBeCovered().doubleValue());
         return Result.succeed(sumSpotStockDto);
     }
 
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/dto/SpotStocksDataDto.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/dto/SpotStocksDataDto.java
index 1a242d5..003e345 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/dto/SpotStocksDataDto.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ipo/dto/SpotStocksDataDto.java
@@ -21,6 +21,9 @@
     @ApiModelProperty("可用额度")
     private double availableLimit;
 
+    @ApiModelProperty("待补金额")
+    private double amountToBeCovered;
+
 
 
 
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/NewSharesConfig.java b/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/NewSharesConfig.java
index 3f9236d..2386046 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/NewSharesConfig.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/NewSharesConfig.java
@@ -36,6 +36,9 @@
     @ApiModelProperty("已申购数")
     private int appliedSubscribeNumber;
 
+    @ApiModelProperty("用户最小申购数")
+    private Integer userApplyNums;
+
     @ApiModelProperty("抽签日期")
     private Date drawDate;
 
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/ApplyNewSharesOrderSharesDto.java b/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/ApplyNewSharesOrderSharesDto.java
index 3b95fdc..7790b0f 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/ApplyNewSharesOrderSharesDto.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/ApplyNewSharesOrderSharesDto.java
@@ -56,4 +56,7 @@
     private  int userPromiseCount=0;
     @ApiModelProperty("真实名称")
     private String realName;
+
+    @ApiModelProperty("推荐人")
+    private String recomUserName;
 }
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/NewSharesConfigDto.java b/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/NewSharesConfigDto.java
index 11257c0..0332997 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/NewSharesConfigDto.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/ipo/dto/NewSharesConfigDto.java
@@ -37,6 +37,9 @@
     @ApiModelProperty("已申购数")
     private int appliedSubscribeNumber;
 
+    @ApiModelProperty("用户最小申购数")
+    private Integer userApplyNums;
+
     @ApiModelProperty("抽签日期")
     private Date drawDate;
 
@@ -52,6 +55,9 @@
     @ApiModelProperty("发劵日期")
     private  Date issuanceDate;
 
+    @ApiModelProperty("公布中签日")
+    private Date releaseDate;
+
 
     @ApiModelProperty("权重")
     private  int weight;
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/model/Wallet.java b/trading-order-bean/src/main/java/com/yami/trading/bean/model/Wallet.java
index 131c9e2..1e6fdcb 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/model/Wallet.java
+++ b/trading-order-bean/src/main/java/com/yami/trading/bean/model/Wallet.java
@@ -39,6 +39,9 @@
 	 */
 	private BigDecimal freezeMoney =new BigDecimal(0);
 
+	//待补金额
+	private BigDecimal amountToBeCovered =new BigDecimal(0);
+
 	@Version
 	private  int version;
 
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/ipo/ApplyNewSharesOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/ipo/ApplyNewSharesOrderService.java
index afe2426..98f769c 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/ipo/ApplyNewSharesOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/ipo/ApplyNewSharesOrderService.java
@@ -29,4 +29,6 @@
     List<SumSpotStockDto> sumSpotStock(String userId);
 
     BigDecimal sumWinningNumberByUserId(String userId, String symbolCode);
+
+    Boolean subscribe(ApplyNewSharesOrder order);
 }
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/ipo/impl/ApplyNewSharesOrderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/ipo/impl/ApplyNewSharesOrderServiceImpl.java
index 4b2a93a..bf06756 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/ipo/impl/ApplyNewSharesOrderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/ipo/impl/ApplyNewSharesOrderServiceImpl.java
@@ -8,28 +8,36 @@
 import com.yami.trading.bean.exchange.ExchangeApplyOrder;
 import com.yami.trading.bean.ipo.ApplyNewSharesOrder;
 import com.yami.trading.bean.ipo.NewSharesConfig;
+import com.yami.trading.bean.ipo.UserPromiseRecord;
 import com.yami.trading.bean.ipo.dto.SumSpotStockDto;
+import com.yami.trading.bean.model.MoneyLog;
 import com.yami.trading.bean.model.User;
+import com.yami.trading.bean.model.Wallet;
 import com.yami.trading.bean.syspara.domain.Syspara;
+import com.yami.trading.common.constants.Constants;
 import com.yami.trading.common.exception.BusinessException;
 import com.yami.trading.common.exception.YamiShopBindException;
 import com.yami.trading.common.util.DateUtil;
 import com.yami.trading.common.util.RandomUtil;
 import com.yami.trading.dao.ipo.ApplyNewSharesOrderSharesMapper;
+import com.yami.trading.service.MoneyLogService;
 import com.yami.trading.service.WalletService;
 import com.yami.trading.service.data.DataService;
 import com.yami.trading.service.data.RealtimeService;
 import com.yami.trading.service.exchange.ExchangeApplyOrderService;
 import com.yami.trading.service.ipo.ApplyNewSharesOrderService;
 import com.yami.trading.service.ipo.NewSharesConfigService;
+import com.yami.trading.service.ipo.UserPromiseRecordService;
 import com.yami.trading.service.syspara.SysparaService;
 import com.yami.trading.service.user.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.List;
 
 @Service
@@ -59,6 +67,13 @@
     @Autowired
     WalletService  walletService;
 
+    @Autowired
+    MoneyLogService moneyLogService;
+
+    @Lazy
+    @Autowired
+    UserPromiseRecordService userPromiseRecordService;
+
 
 
     @Override
@@ -73,16 +88,22 @@
             throw new BusinessException("股票数申购数不足!");
         }
 
-        if (amount.doubleValue()>newSharesConfig.getDefaultLimit().doubleValue()){
-            throw new BusinessException("股票数抽签数大于限购数!");
+        if (newSharesConfig.getUserApplyNums() != null && newSharesConfig.getUserApplyNums()>0){
+            if (amount.doubleValue() < newSharesConfig.getUserApplyNums()){
+                throw new BusinessException("请大于最低申购数量");
+            }
         }
+
+        /*if (amount.doubleValue()>newSharesConfig.getDefaultLimit().doubleValue()){
+            throw new BusinessException("股票数抽签数大于限购数!");
+        }*/
         if (newSharesConfig.getAppliedSubscribeNumber()>newSharesConfig.getSubscribeTotalNumber()){
             throw  new BusinessException("抽签数量大于总抽签股数");
-        }
-        List<ApplyNewSharesOrder>  applyNewSharesOrders=  findByProductCodeAndUserId(newSharesConfig.getProductCode(),userId);
+        /*List<ApplyNewSharesOrder>  applyNewSharesOrders=  findByProductCodeAndUserId(newSharesConfig.getProductCode(),userId);
         if (CollectionUtil.isNotEmpty(applyNewSharesOrders)){
             throw new BusinessException("已经有申购订单在申购中,请勿重复申请");
-        }
+        }*/}
+
         newSharesConfigService.updateById(newSharesConfig);
         ApplyNewSharesOrder applyNewSharesOrder=new ApplyNewSharesOrder();
         applyNewSharesOrder.setSubNumber(amount);
@@ -133,6 +154,67 @@
         return  sumWinningNumber;
     }
 
+    //中签认缴
+    @Override
+    public Boolean subscribe(ApplyNewSharesOrder order) {
+        try {
+            NewSharesConfig newSharesConfig = newSharesConfigService.getByProductCode(order.getSymbolCode());
+            if (newSharesConfig == null) {
+                throw new BusinessException("新股不存在!");
+            }
+            Boolean isDb = false;
+            Wallet wallet = walletService.saveWalletByPartyId(order.getUserId());
+            BigDecimal amountBefore = wallet.getMoney();
+            BigDecimal amt = order.getRequiredNumber();
+            if (wallet.getMoney().compareTo(amt) >= 0) {
+                wallet.setMoney(wallet.getMoney().subtract(amt));
+            } else {
+                //资金不足 进入待补
+                isDb = true;
+                BigDecimal amountToBeCovered = amt.subtract(wallet.getMoney());
+                wallet.setMoney(BigDecimal.ZERO);
+                wallet.setAmountToBeCovered(amountToBeCovered);
+            }
+            walletService.updateById(wallet);
+
+            MoneyLog log = new MoneyLog();
+            log.setCategory(Constants.MONEYLOG_CATEGORY_IPO);
+            log.setAmountBefore(amountBefore);
+            log.setAmount(amt.negate());
+            log.setAmountAfter(amountBefore.subtract(amt).compareTo(BigDecimal.ZERO) <= 0 ?
+                    BigDecimal.ZERO : amountBefore.subtract(amt));
+            log.setLog(order.getSymbolCode() + "新股认缴");
+            log.setUserId(order.getUserId());
+            log.setWalletType(Constants.WALLET);
+            log.setContentType(Constants.MONEYLOG_CATEGORY_IPO);
+            moneyLogService.save(log);
+
+            UserPromiseRecord userPromiseRecord = new UserPromiseRecord();
+            userPromiseRecord.setUserId(order.getUserId());
+            userPromiseRecord.setDeductNumber(order.getWinningNumber());
+            userPromiseRecord.setDeductUsdt(order.getRequiredNumber());
+            userPromiseRecord.setStatus(isDb ? 1 : 2);
+            Calendar calendar=Calendar.getInstance();
+            if (newSharesConfig.getLockDay() > 0) {
+                calendar.add(Calendar.DAY_OF_YEAR,newSharesConfig.getLockDay());
+                userPromiseRecord.setLockEndTime(calendar.getTime());
+            } else {
+                userPromiseRecord.setLockEndTime(calendar.getTime());
+            }
+            userPromiseRecord.setNewSharesConfigId(newSharesConfig.getUuid());
+            userPromiseRecord.setProductCode(newSharesConfig.getProductCode());
+            userPromiseRecord.setProductName(newSharesConfig.getProductName());
+            userPromiseRecord.setName(newSharesConfig.getName());
+            userPromiseRecord.setOrderNo(order.getOrderNo());
+            userPromiseRecordService.save(userPromiseRecord);
+
+            return true;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
+        return false;
+    }
+
     @Transactional
     public void sell(String orderNo, String userId) {
         ApplyNewSharesOrder applyNewSharesOrder= findByOrderNo(orderNo);
diff --git a/trading-order-service/src/main/resources/mapper/ipo/ApplyNewSharesOrderSharesMapper.xml b/trading-order-service/src/main/resources/mapper/ipo/ApplyNewSharesOrderSharesMapper.xml
index 660023d..eeebec5 100644
--- a/trading-order-service/src/main/resources/mapper/ipo/ApplyNewSharesOrderSharesMapper.xml
+++ b/trading-order-service/src/main/resources/mapper/ipo/ApplyNewSharesOrderSharesMapper.xml
@@ -5,8 +5,10 @@
 
     <select id="pageData" resultType="com.yami.trading.bean.ipo.dto.ApplyNewSharesOrderSharesDto">
         SELECT answ.*, u.user_name, u.user_code, u.real_name
+        ,r.user_name AS 'recomUserName'
         FROM t_apply_new_shares_order answ
-                 LEFT JOIN tz_user u ON answ.user_id = u.user_id
+        LEFT JOIN tz_user u ON answ.user_id = u.user_id
+        LEFT JOIN tz_user r ON u.user_recom=r.user_id
         where 1 = 1
 
         <if test="orderNo!=null and orderNo!=''">

--
Gitblit v1.9.3