Subversion Repositories SmartDukaan

Rev

Rev 36101 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
34300 ranu 1
package com.spice.profitmandi.dao.entity.fofo;
2
 
3
import javax.persistence.*;
4
import java.time.LocalDateTime;
5
import java.util.Objects;
6
 
7
@Entity
8
@Table(name = "fofo.rbm_rating")
9
@NamedQueries({
10
        @NamedQuery(name = "RbMRatingByMonth", query = "" +
11
                "SELECT r FROM RbmRating r WHERE r.fofoId = :fofoId AND r.rbmId = :rbmId AND r.createTimeStamp BETWEEN :startOfMonth AND :endOfMonth"
12
        ),
36336 ranu 13
        @NamedQuery(name = "RbMRatingByFofoIdAndWeek", query = "" +
14
                "SELECT r FROM RbmRating r WHERE r.fofoId = :fofoId AND r.createTimeStamp BETWEEN :startOfMonth AND :endOfMonth"
15
        ),
34300 ranu 16
        @NamedQuery(
17
                name = "Visit.FindAverageRatingByRbmIds",
18
                query = "SELECT new com.spice.profitmandi.dao.model.RbMRatingModel(v.rbmId, AVG(v.rating)) " +
19
                        "FROM RbmRating v WHERE v.rbmId IN :rbmIds GROUP BY v.rbmId"
34322 ranu 20
        ),
21
        @NamedQuery(
36101 ranu 22
                name = "Visit.FindAverageRatingByRbmIdsAndDateRange",
23
                query = "SELECT new com.spice.profitmandi.dao.model.RbMRatingModel(v.rbmId, AVG(v.rating), COUNT(v.id)) " +
24
                        "FROM RbmRating v WHERE v.rbmId IN :rbmIds " +
25
                        "AND v.createTimeStamp BETWEEN :startDate AND :endDate " +
26
                        "GROUP BY v.rbmId"
27
        ),
28
        @NamedQuery(
34322 ranu 29
                name = "Visit.FindRbmFeedback",
30
                query = "SELECT r FROM RbmRating r" +
31
                        " WHERE r.rbmId IN :rbmIds" +
32
                        " AND r.createTimeStamp BETWEEN :startDate AND :endDate"
34300 ranu 33
        )
34
})
35
public class RbmRating {
36
    @Id
37
    @Column(name = "id", unique = true, updatable = false)
38
    private int id;
39
 
40
    @Column(name = "rating")
41
    private int rating;
42
 
43
    @Column(name = "comment")
44
    private String comment;
45
 
46
    @Column(name = "fofo_id")
47
    private int fofoId;
48
 
49
    @Column(name = "rbm_id")
50
    private int rbmId;
51
 
52
    @Column(name = "create_timestamp")
53
    private LocalDateTime createTimeStamp;
54
 
55
    public int getId() {
56
        return id;
57
    }
58
 
59
    public void setId(int id) {
60
        this.id = id;
61
    }
62
 
63
    public int getRating() {
64
        return rating;
65
    }
66
 
67
    public void setRating(int rating) {
68
        this.rating = rating;
69
    }
70
 
71
    public String getComment() {
72
        return comment;
73
    }
74
 
75
    public void setComment(String comment) {
76
        this.comment = comment;
77
    }
78
 
79
    public int getFofoId() {
80
        return fofoId;
81
    }
82
 
83
    public void setFofoId(int fofoId) {
84
        this.fofoId = fofoId;
85
    }
86
 
87
    public int getRbmId() {
88
        return rbmId;
89
    }
90
 
91
    public void setRbmId(int rbmId) {
92
        this.rbmId = rbmId;
93
    }
94
 
95
    public LocalDateTime getCreateTimeStamp() {
96
        return createTimeStamp;
97
    }
98
 
99
    public void setCreateTimeStamp(LocalDateTime createTimeStamp) {
100
        this.createTimeStamp = createTimeStamp;
101
    }
102
 
103
    @Override
104
    public String toString() {
105
        return "RbmRating{" +
106
                "id=" + id +
107
                ", rating=" + rating +
108
                ", comment='" + comment + '\'' +
109
                ", fofoId=" + fofoId +
110
                ", rbmId=" + rbmId +
111
                ", createTimeStamp=" + createTimeStamp +
112
                '}';
113
    }
114
 
115
    @Override
116
    public boolean equals(Object o) {
117
        if (this == o) return true;
118
        if (o == null || getClass() != o.getClass()) return false;
119
        RbmRating rbmRating = (RbmRating) o;
120
        return id == rbmRating.id && rating == rbmRating.rating && fofoId == rbmRating.fofoId && rbmId == rbmRating.rbmId && Objects.equals(comment, rbmRating.comment) && Objects.equals(createTimeStamp, rbmRating.createTimeStamp);
121
    }
122
 
123
    @Override
124
    public int hashCode() {
125
        return Objects.hash(id, rating, comment, fofoId, rbmId, createTimeStamp);
126
    }
127
}