yujian
2020-05-23 28cf328a098334b51a3e9d2d56f983fb8c862211
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/redpack/RedPackDetailMapper.java
@@ -1,97 +1,154 @@
package com.yeshi.fanli.dao.mybatis.redpack;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.redpack.RedPackDetail;
import com.yeshi.fanli.vo.redpack.RedPackMonthVO;
public interface RedPackDetailMapper extends BaseMapper<RedPackDetail> {
   /**
    * 查询明细
    * @param identifyCode
    * @return
    */
   RedPackDetail getByIdentifyCode(@Param("identifyCode")String identifyCode);
   /**
    * 根据日期类型统计获得金额
    * @param uid
    * @param dateType 1今日 、2昨日、3本月、4上月
    * @return
    */
   BigDecimal countAddMoneyByDate(@Param("uid")long uid, @Param("dateType")int dateType);
   /**
    * 根据日期类型统计消耗金额
    * @param uid
    * @param dateType 1今日 、2昨日、3本月、4上月
    * @return
    */
   BigDecimal countUseMoneyByDate(@Param("uid")long uid, @Param("dateType")int dateType);
   /**
    * 按最大的创建时间和用户ID检索列表
    *
    * @param uid
    * @param date
    * @return
    */
   List<RedPackDetail> selectByMaxCreateTime(@Param("uid") Long uid, @Param("date") Date date, @Param("count") int count);
   /**
    * 通过用户ID和返回的最大时间的详情ID来获取下一页的数据
    *
    * @param uid
    * @param id
    * @param count
    * @return
    */
   List<RedPackDetail> selectByUidWithIndexId(@Param("uid") Long uid, @Param("id") Long id, @Param("count") int count);
   /**
    * 统计某个月份的收入与支出
    *
    * @param uid
    * @param dateFormat
    * @return
    */
   List<RedPackMonthVO> selectMonthMoneyByUid(@Param("uid") Long uid, @Param("dateFormat") List<String> dateFormat);
   /**
    * 获取用户总共有多少记录数据
    *
    * @param uid
    * @return
    */
   Long selectCountByUid(@Param("uid") Long uid);
   /**
    * 按用户ID和最大时间检索月份的数量
    *
    * @param uid
    * @param maxDate
    * @return
    */
   int selectMonthCountByUid(@Param("uid") Long uid, @Param("date") Date maxDate);
   /**
    * 按最大的创建时间和用户ID检索数量
    *
    * @param uid
    * @param date
    * @return
    */
   Long selectCountByUidAndMaxCreateTime(@Param("uid") Long uid, @Param("date") Date date);
package com.yeshi.fanli.dao.mybatis.redpack;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.redpack.RedPackDetail;
import com.yeshi.fanli.vo.redpack.RedPackMonthVO;
public interface RedPackDetailMapper extends BaseMapper<RedPackDetail> {
   /**
    * 查询明细
    * @param identifyCode
    * @return
    */
   RedPackDetail getByIdentifyCode(@Param("identifyCode")String identifyCode);
   /**
    * 根据日期类型统计获得金额
    * @param uid
    * @param dateType 1今日 、2昨日、3本月、4上月
    * @return
    */
   BigDecimal countAddMoneyByDate(@Param("uid")long uid, @Param("dateType")int dateType);
   /**
    * 根据日期类型统计消耗金额
    * @param uid
    * @param dateType 1今日 、2昨日、3本月、4上月
    * @return
    */
   BigDecimal countUseMoneyByDate(@Param("uid")long uid, @Param("dateType")int dateType);
   /**
    * 按最大的创建时间和用户ID检索列表
    *
    * @param uid
    * @param date
    * @return
    */
   List<RedPackDetail> selectByMaxCreateTime(@Param("uid") Long uid, @Param("date") Date date, @Param("count") int count);
   /**
    * 通过用户ID和返回的最大时间的详情ID来获取下一页的数据
    *
    * @param uid
    * @param id
    * @param count
    * @return
    */
   List<RedPackDetail> selectByUidWithIndexId(@Param("uid") Long uid, @Param("id") Long id, @Param("count") int count);
   /**
    * 统计某个月份的收入与支出
    *
    * @param uid
    * @param dateFormat
    * @return
    */
   List<RedPackMonthVO> selectMonthMoneyByUid(@Param("uid") Long uid, @Param("dateFormat") List<String> dateFormat);
   /**
    * 获取用户总共有多少记录数据
    *
    * @param uid
    * @return
    */
   Long selectCountByUid(@Param("uid") Long uid);
   /**
    * 按用户ID和最大时间检索月份的数量
    *
    * @param uid
    * @param maxDate
    * @return
    */
   int selectMonthCountByUid(@Param("uid") Long uid, @Param("date") Date maxDate);
   /**
    * 按最大的创建时间和用户ID检索数量
    *
    * @param uid
    * @param date
    * @return
    */
   Long selectCountByUidAndMaxCreateTime(@Param("uid") Long uid, @Param("date") Date date);
   /**
    * 根据日期类型统计获得金额
    * @param uid
    * @param dateType 1今日 、2昨日、3本月、4上月
    * @return
    */
   BigDecimal countWinMoneyByDate(@Param("uid")long uid, @Param("dateType")int dateType);
   /**
    * 根据日期类型统计消耗金额
    * @param uid
    * @param dateType 1今日 、2昨日、3本月、4上月
    * @return
    */
   BigDecimal countReduceMoneyByDate(@Param("uid")long uid, @Param("dateType")int dateType);
   /**
    * 列表查询
    *
    * @param key
    * @param state
    * @param start
    * @param count
    * @return
    */
   List<RedPackDetail> query(@Param("start") long start,@Param("count") int count,@Param("key") String key, @Param("uid") Long uid,
         @Param("type") Integer type);
   /**
    * 计数
    *
    * @param key
    * @param state
    * @return
    */
   long count(@Param("key") String key, @Param("uid") Long uid, @Param("type") Integer type);
   /**
    *  统计每日新增红包
    * @param preDay
    * @return
    */
   Long countNumByDay(@Param("preDay") String preDay);
   /**
    *  统计每日新增红包
    * @param preDay
    * @return
    */
   BigDecimal countMoneyByDay(@Param("preDay") String preDay);
}