|  |  | 
 |  |  |                 List<ContractOrderEntity> orders = contractOrderDao.selectFollowOrderListByMemberId(tradeMemberId); | 
 |  |  |                 traderInfoProfit.setTotalOrderCnt(CollUtil.isNotEmpty(orders) ? orders.size() : 0); | 
 |  |  |                 // 近三周胜率 | 
 |  |  |                 Integer winCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, 1); | 
 |  |  |                 Integer allCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, null); | 
 |  |  |  | 
 |  |  |                 if (winCnt != null && allCnt != null && allCnt!=0) { | 
 |  |  |                     BigDecimal winRate = BigDecimal.valueOf(winCnt).divide(BigDecimal.valueOf(allCnt), 4, BigDecimal.ROUND_DOWN); | 
 |  |  |                     traderInfoProfit.setWinRate(winRate); | 
 |  |  |                 BigDecimal winCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, 1); | 
 |  |  |                 winCnt = (winCnt == null?BigDecimal.ZERO:winCnt.setScale(2, BigDecimal.ROUND_DOWN)); | 
 |  |  |                 BigDecimal allCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, null); | 
 |  |  |                 allCnt = (allCnt == null?BigDecimal.ZERO:allCnt.setScale(2, BigDecimal.ROUND_DOWN)); | 
 |  |  |                 BigDecimal winRate = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_DOWN); | 
 |  |  |                 if (allCnt.compareTo(BigDecimal.ZERO) > 0) { | 
 |  |  |                     winRate = winCnt.divide(allCnt, 2, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN); | 
 |  |  |                 } | 
 |  |  |                 traderInfoProfit.setWinRate(winRate); | 
 |  |  |                 Date date = new Date(); | 
 |  |  |                 DateTime offsetDay = DateUtil.offsetDay(new Date(), -30); | 
 |  |  |                 //30天胜率(30天盈利总单数/30平仓总单数) |