liuchaojie 4 лет назад
Родитель
Сommit
91dfccb4b6

+ 1 - 1
src/main/java/com/xc/pojo/Stock.java

@@ -28,7 +28,7 @@ public class Stock {
     private String transElseBegin;//其他开始交易时间
     private String transElseEnd;//其他结束交易时间
 
-    private Integer spread;//点差
+    private BigDecimal spread;//点差
     private Integer demurrage;//延期费
     private BigDecimal entryOrdersAgio;//挂单价差范围
     private Integer entryOrdersDate;//挂单有效期

+ 1 - 1
src/main/java/com/xc/service/impl/StockServiceImpl.java

@@ -107,7 +107,7 @@ public class StockServiceImpl implements IStockService {
         for (Stock stock : stockList) {
             StockListVO stockListVO = dbStockService.getStockListVO(stock.getStockGid());
             stockListVO.setName(stock.getStockName());
-//            stockListVO.setId(stock.getId());
+            stockListVO.setId(stock.getId());
             stockListVO.setCode(stock.getStockCode());
             stockListVO.setSpell(stock.getStockSpell());
             stockListVO.setGid(stock.getStockGid());

+ 8 - 9
src/main/java/com/xc/service/impl/UserPositionServiceImpl.java

@@ -96,13 +96,13 @@ public class UserPositionServiceImpl implements IUserPositionService {
             if("做多".equals(userPosition.getOrderDirection())){
                 // 现价小于等于委托价
                 if (buyOrderPrice.compareTo(userPosition.getBuyOrderPrice()) < 1){
-                    buyOrderPrice = buyOrderPrice.add(new BigDecimal(stock.getSpread()));
+                    buyOrderPrice = buyOrderPrice.add(stock.getSpread());
                     toFulfill(userPosition, buyOrderPrice);
                 }
             }else{
                 // 现价大于等于委托价
                 if (buyOrderPrice.compareTo(userPosition.getBuyOrderPrice()) > -1){
-                    buyOrderPrice = buyOrderPrice.subtract(new BigDecimal(stock.getSpread()));
+                    buyOrderPrice = buyOrderPrice.subtract(stock.getSpread());
                     toFulfill(userPosition, buyOrderPrice);
                 }
             }
@@ -630,7 +630,7 @@ public class UserPositionServiceImpl implements IUserPositionService {
             userPosition.setProfitAndLose(profit_and_lose);
             userPosition.setOrderStayDays(0);
             userPosition.setOrderStayFee(new BigDecimal("0"));
-            userPosition.setOrderSpread(new BigDecimal(stock.getSpread()*buyNum));
+            userPosition.setOrderSpread(stock.getSpread().multiply(new BigDecimal(buyNum)));
             userPosition.setDepositFreezeAmt(depositFreezeAmt);
             userPosition.setEntryOrders(1);
             int insertPositionCount = this.userPositionMapper.insertSelective(userPosition);
@@ -713,9 +713,9 @@ public class UserPositionServiceImpl implements IUserPositionService {
         }
         if(buyType == 0){
             // 做多
-            nowPrice = nowPrice.add(new BigDecimal(stock.getSpread()));
+            nowPrice = nowPrice.add(stock.getSpread());
         }else{
-            nowPrice = nowPrice.subtract(new BigDecimal(stock.getSpread()));
+            nowPrice = nowPrice.subtract(stock.getSpread());
         }
         log.info("用户 {} 下单,货币id = {} ,数量 = {} , 方向 = {}", user.getId(), stockId, buyNum, buyType);
         // 用户可用金
@@ -765,8 +765,7 @@ public class UserPositionServiceImpl implements IUserPositionService {
             userCapitalDetail.setIsRead(Integer.valueOf(0));
             userCapitalDetail.setOrderNum(buyNum);
             userCapitalDetail.setBuyFeeAmt(position_freez);
-            BigDecimal spread = new BigDecimal(finalStock.getSpread());
-            userCapitalDetail.setOrderSpread(spread.multiply(new BigDecimal(buyNum)));
+            userCapitalDetail.setOrderSpread(finalStock.getSpread().multiply(new BigDecimal(buyNum)));
             userCapitalDetail.setOrderStayFee(new BigDecimal(0));
             userCapitalDetail.setAllProfit(new BigDecimal(0));
             userCapitalDetail.setStockName(finalStock.getStockName());
@@ -810,8 +809,8 @@ public class UserPositionServiceImpl implements IUserPositionService {
 //        userPosition.setAllProfitAndLose(all_profit_and_lose);
         userPosition.setOrderStayDays(0);
         userPosition.setOrderStayFee(new BigDecimal("0"));
-        userPosition.setOrderSpread(new BigDecimal(stock.getSpread() * buyNum));
-        log.info("点差"+(stock.getSpread() * buyNum));
+        userPosition.setOrderSpread(stock.getSpread().multiply(new BigDecimal(buyNum)));
+        log.info("点差"+(stock.getSpread().multiply(new BigDecimal(buyNum))));
         //冻结保证金
         userPosition.setDepositFreezeAmt(depositFreezeAmt);
         //是否挂单

Разница между файлами не показана из-за своего большого размера
+ 2 - 74
src/main/java/com/xc/vo/stock/StockListVO.java


+ 3 - 3
src/main/java/mappers/StockMapper.xml

@@ -135,7 +135,7 @@
        	  	      	#{transAmEnd,jdbcType=VARCHAR},
        	  	      	#{transPmBegin,jdbcType=VARCHAR},
        	  	      	#{transPmEnd,jdbcType=VARCHAR},
-       	  	      	#{spread,jdbcType=INTEGER},
+       	  	      	#{spread,jdbcType=DECIMAL},
        	  	      	#{demurrage,jdbcType=INTEGER},
        	  	      	#{entryOrdersAgio,jdbcType=DECIMAL},
        	  	      	#{entryOrdersDate,jdbcType=VARCHAR},
@@ -315,7 +315,7 @@
                 #{transPmEnd,jdbcType=VARCHAR},
             </if>
             <if test="spread != null">
-                #{spread,jdbcType=INTEGER},
+                #{spread,jdbcType=DECIMAL},
             </if>
             <if test="demurrage != null">
                 #{demurrage,jdbcType=INTEGER},
@@ -420,7 +420,7 @@
                 transPmEnd = #{transPmEnd,jdbcType=VARCHAR},
             </if>
             <if test="spread != null">
-                spread = #{spread,jdbcType=INTEGER},
+                spread = #{spread,jdbcType=DECIMAL},
             </if>
             <if test="demurrage != null">
                 demurrage = #{demurrage,jdbcType=INTEGER},