-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRequester.java
177 lines (151 loc) · 5.17 KB
/
Requester.java
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
import java.util.Date;
/**
* @author zheng_zz
*/
public class Requester extends User {
private static volatile RequestInfo requestInfo;
private static volatile Feedback feedback;
private Preference preference;
public Requester(Integer id, String name, String phone, String password){
super(id,name,phone,password);
}
public static RequestInfo getRequestInfo() {
return requestInfo;
}
public static void setRequestInfo(RequestInfo requestInfo) {
Requester.requestInfo = requestInfo;
}
public static Feedback getFeedback() {
return feedback;
}
public static void setFeedback(Feedback feedback) {
Requester.feedback = feedback;
}
public Preference getPreference() {
return this.preference;
}
public void setPreference(Preference preference) {
this.preference = preference;
}
/**
* Create preferences
* @param requesterID
* @param responderID
* @param gender
* @param age
* @param workingAge
* @return
*/
public Preference createPreferences(Integer requesterID,Integer responderID,Integer gender,
Integer age,Integer workingAge,String otherSpecificPreference){
return preference = new Preference(requesterID,responderID,gender,age,workingAge,otherSpecificPreference);
}
/**
* Get requester by id
* @param requesterId
* @return
*/
public static Requester getRequesterById(Integer requesterId){
System.out.println("select from db to find requester where id = requesterId");
Requester requester = new Requester(1,"name","phone","password");
return requester;
}
/**
* Requester create new request
* @param requesterId
* @param content
* @param location
* @param price
* @return
*/
public static RequestInfo createNewRequestInfo(Integer id, Integer requesterId, String content, String location, Double price){
if (requestInfo == null){
synchronized (RequestInfo.class){
if (requestInfo == null){
requestInfo = new RequestInfo(id,requesterId,content,location,price);
}
}
}
return requestInfo;
}
/**
* Get responders information
* @param requestInfoId
* @return
*/
public static Responder [] getResponderInfo(Integer requestInfoId){
RequestInfo requestInfo = RequestInfo.getRequestInfoById(requestInfoId);
Integer [] responderId = MatchSystem.requestInfoMatchResponder(requestInfo);
int length = responderId.length;
Responder [] responders = new Responder [length];
for (int i =0 ;i<length;i++){
Responder temp = Responder.getResponderById(responderId[i]);
responders[i] = temp;
}
return responders;
}
/**
* Requester pay for payment
* @param requestInfoId
*/
public static void payRequesterPayment(Integer requestInfoId,Integer requesterId,Double price,Double perUseFee){
RequesterPayment requesterPayment = RequestInfo.createRequesterPayment(requestInfoId,requesterId,
new Date(),price,perUseFee);
System.out.println("pay for requesterPayment");
System.out.println(requesterPayment);
}
/**
* Show requesterPayment result
* @param requesterPayment
*/
public static void showRequesterPaymentResult(RequesterPayment requesterPayment){
System.out.println(requesterPayment);
}
/**
* Requester create feedback
* @param requestInfoId
* @param category
* @param score
* @param content
* @param time
* @param abuseInfo
* @return feedback
*/
public static Feedback createFeedback(Integer id, Integer requestInfoId, String category, Double score, String content,
Date time, String abuseInfo){
if (feedback == null){
synchronized (Feedback.class){
if (feedback == null){
feedback = new Feedback(id, requestInfoId, category, score, content, time, abuseInfo);
}
}
}
return feedback;
}
/**
* Show feedback Result
* @param feedback
*/
public static void showFeedbackResult(Feedback feedback){
System.out.println(feedback);
}
@Override
public String toString() {
return "Requester{" +
"id=" + this.getId() +
", name='" + this.getName() + '\'' +
", phone='" + this.getPhone() + '\'' +
", password='" + this.getPassword() + '\'' +
'}';
}
public static void main(String[] args) {
RequestInfo temp = createNewRequestInfo(1,1,"content","location",1.2);
System.out.println(temp);
Feedback feedback = createFeedback(1,1,"cate",1.2,"content",new Date(),"abuse");
System.out.println(feedback);
Responder [] responders = getResponderInfo(1);
for (Responder responder : responders){
System.out.println(responder);
}
}
}