admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/inter/money/UserMoneyDetailService.java
@@ -1,90 +1,113 @@
package com.yeshi.fanli.service.inter.money;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
/**
 * 用户账目明细记录
 *
 * @author Administrator
 *
 */
public interface UserMoneyDetailService {
   /**
    * 添加用户资金记录
    *
    * @param detail
    * @throws UserMoneyDetailException
    */
   public void addUserMoneyDetail(UserMoneyDetail detail) throws UserMoneyDetailException;
   /**
    * 客户端查询用户的资金记录
    *
    * @param uid
    * @param userMoneyDetailId
    * @param maxTime
    * @return
    */
   public List<UserMoneyDetailHistoryVO> listUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, Integer type, Date maxTime);
   /**
    * 客户端查询用户的资金记录的条数(计算月统计)
    *
    * @param uid
    * @param userMoneyDetailId
    * @param maxTime
    * @return
    */
   public long countUserMoneyDetailForClient(Long uid, Long userMoneyDetailId,Integer type, Date maxTime);
   /**
    * 资金明细详情列表(老版本)
    *
    * @param uid
    * @param page
    * @param pageSize
    * @return
    */
   public List<UserMoneyDetail> listByUidWithState(Long uid, int page, int pageSize);
   /**
    * 资金明细详情总数(老版本)
    *
    * @param uid
    * @return
    */
   public long countByUidWithState(Long uid);
   /**
    * 分类型与时间统计用户的资金总和
    *
    * @param uid
    * @param typeList
    * @param minDate
    * @param maxDate
    * @return
    */
   public BigDecimal statisticUserTypeMoneyWithDate(Long uid, List<UserMoneyDetailTypeEnum> typeList, Date minDate,
         Date maxDate);
   /**
    * 根据类型,用户ID与唯一标识符查询
    *
    * @param type
    * @param uid
    * @param sourceIdentifyId
    * @return
    */
   public UserMoneyDetail selectByTypeAndUidAndIdentifyCode(UserMoneyDetailTypeEnum type, Long uid,
         Long sourceIdentifyId);
}
package com.yeshi.fanli.service.inter.money;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
/**
 * 用户账目明细记录
 *
 * @author Administrator
 *
 */
public interface UserMoneyDetailService {
   /**
    * 添加用户资金记录
    *
    * @param detail
    * @throws UserMoneyDetailException
    */
   public void addUserMoneyDetail(UserMoneyDetail detail) throws UserMoneyDetailException;
   /**
    * 客户端查询用户的资金记录
    *
    * @param uid
    * @param userMoneyDetailId
    * @param maxTime
    * @return
    */
   public List<UserMoneyDetailHistoryVO> listUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, Integer type, Date maxTime);
   /**
    * 客户端查询用户的资金记录的条数(计算月统计)
    *
    * @param uid
    * @param userMoneyDetailId
    * @param maxTime
    * @return
    */
   public long countUserMoneyDetailForClient(Long uid, Long userMoneyDetailId,Integer type, Date maxTime);
   /**
    * 资金明细详情列表(老版本)
    *
    * @param uid
    * @param page
    * @param pageSize
    * @return
    */
   public List<UserMoneyDetail> listByUidWithState(Long uid, int page, int pageSize);
   /**
    * 资金明细详情总数(老版本)
    *
    * @param uid
    * @return
    */
   public long countByUidWithState(Long uid);
   /**
    * 分类型与时间统计用户的资金总和
    *
    * @param uid
    * @param typeList
    * @param minDate
    * @param maxDate
    * @return
    */
   public BigDecimal statisticUserTypeMoneyWithDate(Long uid, List<UserMoneyDetailTypeEnum> typeList, Date minDate,
         Date maxDate);
   /**
    * 分类型与时间统计用户的资金总和
    *
    * @param uid
    * @param typeList
    * @param minDate
    * @param maxDate
    * @return
    */
   public BigDecimal statisticUserTypeMoneyWithDate(Long uid, List<UserMoneyDetailTypeEnum> typeList, Date minDate,
         Date maxDate, Integer show);
   /**
    * 根据类型,用户ID与唯一标识符查询
    *
    * @param type
    * @param uid
    * @param sourceIdentifyId
    * @return
    */
   public UserMoneyDetail selectByTypeAndUidAndIdentifyCode(UserMoneyDetailTypeEnum type, Long uid,
         Long sourceIdentifyId);
   /**
    * 查询明细统计
    * @param page
    * @param pageSize
    * @param key
    * @return
    */
   public List<UserMoneyDetail> listQuery(int page, int pageSize, String key, Integer keyType);
   public long countQuery(String key, Integer keyType);
}