CoinMapper.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package top.lvzhiqiang.mapper;
  2. import org.apache.ibatis.annotations.Insert;
  3. import org.apache.ibatis.annotations.MapKey;
  4. import org.apache.ibatis.annotations.Select;
  5. import org.apache.ibatis.annotations.Update;
  6. import top.lvzhiqiang.entity.*;
  7. import java.util.List;
  8. import java.util.Map;
  9. /**
  10. * coin-Mapper
  11. *
  12. * @author lvzhiqiang
  13. * 2023/9/9 17:37
  14. */
  15. public interface CoinMapper {
  16. @Insert({"<script>" +
  17. "INSERT ignore INTO coin_order_history(symbol,size,orderId,clientOid,filledQty,fee,price,priceAvg,state,side" +
  18. ",timeInForce,totalProfits,posSide,marginCoin,leverage,marginMode,orderType,reduceOnly,enterPointSource,tradeSide" +
  19. ",holdMode,orderSource,cTime,uTime)" +
  20. " VALUES " +
  21. "<foreach collection='list' item='p' index=\"index\" separator=\",\">" +
  22. " ( #{p.symbol}, #{p.size}, #{p.orderId}, #{p.clientOid}, #{p.filledQty}, #{p.fee}, #{p.price}, #{p.priceAvg}, #{p.state}" +
  23. ", #{p.side}, #{p.timeInForce}, #{p.totalProfits}, #{p.posSide}, #{p.marginCoin}, #{p.leverage}, #{p.marginMode}, #{p.orderType}" +
  24. ", #{p.reduceOnly}, #{p.enterPointSource}, #{p.tradeSide}, #{p.holdMode}, #{p.orderSource}, #{p.cTime}, #{p.uTime})" +
  25. "</foreach>" +
  26. "</script>"})
  27. int insertHistoryOrderList(List<CoinHistoryOrder> historyOrderList);
  28. @Select({"<script>" +
  29. "select * from coin_order_history WHERE 1 = 1" +
  30. "<if test=\"keyword != null and keyword != ''\">" +
  31. " and symbol like concat('%',#{keyword},'%')" +
  32. "</if>" +
  33. "<if test=\"side != null and side != ''\">" +
  34. " and side = #{side}" +
  35. "</if>" +
  36. " order by ${sortField} ${sort}" +
  37. "</script>"})
  38. List<CoinHistoryOrder> findHistoryOrderList(Map<String, Object> params);
  39. @Select("select symbol,type,category,sort from coin_monitor_currency where delete_flag = 1 order by sort")
  40. List<CoinMonitorCurrency> findMonitorCurrencyList();
  41. @Select("select * from coin_public_params where 1=1")
  42. @MapKey("codeKey")
  43. List<CoinPubilcParams> findPublicParams();
  44. @Insert({"<script>" +
  45. "INSERT INTO coin_trader(traderUid,traderNickName,maxFollowCount,followCount,totalFollowers,profitOrderCount,lossOrderCount," +
  46. "totalTradeCount,dailyProfitRate,dailyProfit,copyTradeDays,roi,totalProfit,totalFollowersProfit,aum,maxCallbackRate,last3wWinRate," +
  47. "averageWinRate,traderHeadPic,canTrace,tradingPairsAvailable,profile,lastTradeTime,modify_time)" +
  48. " VALUES " +
  49. "<foreach collection='list' item='mt' index=\"index\" separator=\",\">" +
  50. " (#{mt.traderUid},#{mt.traderNickName},#{mt.maxFollowCount},#{mt.followCount},#{mt.totalFollowers},#{mt.profitOrderCount},#{mt.lossOrderCount}," +
  51. "#{mt.totalTradeCount},#{mt.dailyProfitRate},#{mt.dailyProfit},#{mt.copyTradeDays},#{mt.roi},#{mt.totalProfit},#{mt.totalFollowersProfit},#{mt.aum}," +
  52. "#{mt.maxCallbackRate},#{mt.last3wWinRate},#{mt.averageWinRate},#{mt.traderHeadPic},#{mt.canTrace},#{mt.tradingPairsAvailable},#{mt.profile},#{mt.lastTradeTime}, now())" +
  53. " </foreach>" +
  54. " ON DUPLICATE KEY UPDATE traderNickName=values(traderNickName),maxFollowCount=values(maxFollowCount),followCount=values(followCount),totalFollowers=values(totalFollowers)," +
  55. "profitOrderCount=values(profitOrderCount),lossOrderCount=values(lossOrderCount),totalTradeCount=values(totalTradeCount),dailyProfitRate=values(dailyProfitRate)," +
  56. "dailyProfit=values(dailyProfit),copyTradeDays=values(copyTradeDays),roi=values(roi),totalProfit=values(totalProfit),totalFollowersProfit=values(totalFollowersProfit)," +
  57. "aum=values(aum),maxCallbackRate=values(maxCallbackRate),last3wWinRate=values(last3wWinRate),averageWinRate=values(averageWinRate),traderHeadPic=values(traderHeadPic)," +
  58. "canTrace=values(canTrace),tradingPairsAvailable=values(tradingPairsAvailable),profile=values(profile),lastTradeTime=values(lastTradeTime),modify_time=now()" +
  59. "</script>"})
  60. void insertMixTradeList(List<CoinTrader> parseMixTradeList);
  61. @Select({"<script>" +
  62. "select * from coin_trader WHERE 1 = 1" +
  63. "<if test=\"keyword != null and keyword != ''\">" +
  64. " and traderNickName like concat('%',#{keyword},'%')" +
  65. "</if>" +
  66. "<if test=\"canTrace != null and canTrace != ''\">" +
  67. " and canTrace = #{canTrace}" +
  68. "</if>" +
  69. " order by ${sortField} ${sort}" +
  70. "</script>"})
  71. List<CoinTrader> findMixTraderList(Map<String, Object> params);
  72. @Select("select concat(traderUid, '|', traderNickName) from coin_monitor_trader where delete_flag = '1'")
  73. List<String> findMonitorTraderList();
  74. @Select({"<script>" +
  75. "select * from coin_watchlist WHERE delete_flag = 1" +
  76. "<if test=\"keyword != null and keyword != ''\">" +
  77. " and name like concat('%',#{keyword},'%')" +
  78. "</if>" +
  79. "<if test=\"filterField != null and filterField != ''\">" +
  80. " and filter_flag = #{filterField}" +
  81. "</if>" +
  82. "<if test=\"trackCategoryField != null and trackCategoryField != ''\">" +
  83. " and track_category like concat('%',#{trackCategoryField},'%')" +
  84. "</if>" +
  85. " order by ${sortField} ${sort}" +
  86. "</script>"})
  87. List<CoinWatchlist> findWatchlistList(Map<String, Object> params);
  88. @Update("update coin_watchlist set total_market_ranking=#{totalMarketRanking},total_market_value=#{totalMarketValue}," +
  89. "mark_price=#{markPrice},highest_historical_price=#{highestHistoricalPrice},lowest_historical_price=#{lowestHistoricalPrice}," +
  90. "highest_historical_date=#{highestHistoricalDate},lowest_historical_date=#{lowestHistoricalDate},increase_multiple=#{increaseMultiple}," +
  91. "issuing_days=#{issuingDays},modify_time=now() where id = #{id}")
  92. int updateCoinWatchlist(CoinWatchlist coinWatchlist);
  93. @Update("update coin_watchlist set remark=#{remark},modify_time=now() where symbol = #{symbol}")
  94. int updateCoinWatchlistRemark(CoinWatchlist coinWatchlist);
  95. @Select("select * from coin_watchlist where symbol = #{symbol}")
  96. CoinWatchlist findWatchlistBySymbol(String symbol);
  97. }