fanli/src/main/java/com/yeshi/fanli/dao/mybatis/redpack/RedPackExchangeMapper.java
@@ -38,5 +38,12 @@ * @return */ BigDecimal countMoneyByUidAndState(@Param("uid") Long uid, @Param("state") Integer state); /** * 统计当日提现次数 * @param uid * @return */ long countTodayByUid(@Param("uid") Long uid); } fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackExchangeMapper.xml
@@ -87,4 +87,8 @@ WHERE d.rpe_uid = #{uid} AND d.`rpe_state` = #{state} </select> <select id="countTodayByUid" resultType="Long"> SELECT IFNULL(COUNT(d.rpe_id),0) FROM yeshi_ec_red_pack_exchange d WHERE d.rpe_uid = #{uid} AND TO_DAYS(d.`rpe_create_time`) = TO_DAYS(NOW()) </select> </mapper> fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackExchangeServiceImpl.java
@@ -108,8 +108,14 @@ if (amount.compareTo(new BigDecimal(moneyMin)) < 0 || amount.compareTo(new BigDecimal(moneyMax)) > 0) throw new RedPackExchangeException(1, "提现金额至少" + moneyMin + "元至多" + moneyMax + "元"); Date nowDate = new Date(); long countToday = redPackExchangeMapper.countTodayByUid(uid); String extractDayMax = redPackConfigService.getValueByKey("extract_day_max"); if (!StringUtil.isNullOrEmpty(extractDayMax) && countToday >= Long.parseLong(extractDayMax)) throw new RedPackExchangeException(1, "今日红包提现次数超限"); Date nowDate = new Date(); // 提现申请 RedPackExchange exchange = new RedPackExchange(); exchange.setUid(uid);