Helius
2020-09-03 3409aa6a1bbe29933c5f9e45982223aa6b62eb35
modify
3 files modified
12 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/CalculateUtil.java 3 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/contract/ContractHoldOrderDao.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java
@@ -6,6 +6,7 @@
import org.apache.ibatis.annotations.Param;
import org.web3j.abi.datatypes.Int;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
@@ -56,4 +57,6 @@
    public List<String> selectWholeHoldOrderSymbolsByMemberId(@Param("memberId") Long memberId);
    public int updateForcePriceBySymbolAndMemberId(@Param("forcePrice") BigDecimal forcePrice, @Param("memberId") Long memberId, @Param("symbol") String symbol);
}
src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -128,7 +128,7 @@
                    profitOrLoss = profitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
                }
                log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolFeeAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio);
                log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolBondAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio);
                BigDecimal sub = walletContract.getTotalBalance().add(profitOrLoss).subtract(symbolFeeAmount).subtract(totalBondAmount);
                log.info("sub -- {}", sub);
                BigDecimal divide = sub.divide(symbolBondAmount, 8, BigDecimal.ROUND_DOWN);
@@ -138,6 +138,7 @@
                BigDecimal forcePrice = openPrice.subtract(divide.multiply(divide2));
                log.info("forcePrice -- {}", forcePrice);
                holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol);
            }
        }
    }
src/main/resources/mapper/contract/ContractHoldOrderDao.xml
@@ -82,4 +82,10 @@
        from contract_hold_order
        where position_type=2 and member_id=#{memberId}
    </select>
    <update id="updateForcePriceBySymbolAndMemberId">
        update contract_hold_order
        set force_closing_price=#{forcePrice}, is_can_closing=1
        where member_id=#{memberId} and symbol=#{symbol}
    </update>
</mapper>