admin
2019-06-21 7f943e54f259c7ff69c7591dbd6803171126b01e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.yeshi.fanli.service.inter.user;
 
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, Date maxTime);
 
    /**
     * 客户端查询用户的资金记录的条数(计算月统计)
     * 
     * @param uid
     * @param userMoneyDetailId
     * @param maxTime
     * @return
     */
    public long countUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, 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);
 
}