@@ -80,7 +80,6 @@ func CreateUserPaylist(c *gin.Context) {
80
80
return
81
81
}
82
82
username := tk .Username
83
-
84
83
// Decrease user balance
85
84
amount , _ := strconv .Atoi (c .PostForm ("amount" ))
86
85
err = config .DB .Model (& users ).Where ("username = ?" , username ).First (& users ).Error
@@ -162,7 +161,6 @@ func UpdateUserPaylist(c *gin.Context) {
162
161
163
162
// UpdateUserPaylistStatus is a function to mark the paylist completed or not
164
163
func UpdateUserPaylistStatus (c * gin.Context ) {
165
- status := c .PostForm ("status" )
166
164
paylist := model.Paylist {}
167
165
user := model.User {}
168
166
tk := User {}
@@ -179,14 +177,6 @@ func UpdateUserPaylistStatus(c *gin.Context) {
179
177
username := tk .Username
180
178
181
179
// Check User balance
182
- if err = config .DB .Model (& paylist ).Where ("username = ?" , username ).First (& paylist ).Error ; err != nil {
183
- util .CallErrorNotFound (c , "no paylist found" , nil )
184
- return
185
- }
186
- if tk .Username != paylist .Username {
187
- util .CallServerError (c , "not authorized" , nil )
188
- return
189
- }
190
180
id , _ := strconv .Atoi (c .Param ("id" ))
191
181
if err := config .DB .Model (& paylist ).Where ("ID = ? AND username = ?" , id , username ).First (& paylist ).Error ; err != nil || err == gorm .ErrRecordNotFound {
192
182
util .CallErrorNotFound (c , "no paylist found" , nil )
@@ -198,24 +188,21 @@ func UpdateUserPaylistStatus(c *gin.Context) {
198
188
}
199
189
200
190
// Update the paylist status
201
- s , _ := strconv .ParseBool (status )
202
- if err = config .DB .Model (& paylist ).Where ("username = ?" , tk .Username ).Update ("completed" , s ).Error ; err != nil {
203
- fmt .Println (err )
204
- util .CallServerError (c , "fail to update paylist status" , err )
205
- return
191
+ if user .Balance >= 0 && paylist .Completed == false {
192
+ paylist .Completed = true
193
+ config .DB .Model (& paylist ).Where ("ID = ? and username = ?" , id , username ).Update (& paylist )
194
+ } else if user .Balance < 0 && paylist .Completed == false {
195
+ paylist .Completed = false
196
+ config .DB .Model (& paylist ).Where ("ID = ? and username = ?" , id , username ).Update (& paylist )
206
197
}
207
- if ! s {
208
- util .CallSuccessOK (c , "paylist uncompleted!" , paylist )
209
- return
210
- }
211
- util .CallSuccessOK (c , "paylist completed!" , paylist )
198
+ util .CallSuccessOK (c , "successfully update user paylist" , paylist .Completed )
212
199
}
213
200
214
201
//DeleteUserPaylist handle deleted user paylist
215
202
func DeleteUserPaylist (c * gin.Context ) {
216
203
paylistID , _ := strconv .Atoi (c .Param ("id" ))
217
- paylist := model.Paylist {}
218
- user := model.User {}
204
+ paylist := & model.Paylist {}
205
+ user := & model.User {}
219
206
tk := User {}
220
207
221
208
if paylistID == 0 {
@@ -232,15 +219,15 @@ func DeleteUserPaylist(c *gin.Context) {
232
219
util .CallUserError (c , "fail to parse the token, make sure the token is valid" , err )
233
220
}
234
221
username := tk .Username
235
- config .DB .Model (& paylist ).Where ("username = ?" , username ).First (& paylist )
236
- if tk .Username != paylist .Username {
237
- util .CallServerError (c , "user not authorized" , nil )
222
+ if err = config .DB .Where ("ID = ?" , paylistID ).Find (& paylist ).Error ; err != nil {
223
+ util .CallErrorNotFound (c , "no paylist found!" , err )
238
224
c .Abort ()
239
225
return
240
226
}
241
227
242
- if err = config .DB .Where ("id = ?" , paylistID ).First (& paylist ).Error ; err != nil {
243
- util .CallErrorNotFound (c , "no paylist found!" , nil )
228
+ config .DB .Model (& paylist ).Where ("username = ?" , username ).First (& paylist )
229
+ if tk .Username != paylist .Username {
230
+ util .CallServerError (c , "user not authorized" , nil )
244
231
c .Abort ()
245
232
return
246
233
}
0 commit comments