Skip to content

Commit 459ab7b

Browse files
authored
unit chk brr ret 수정
1 parent 12a3112 commit 459ab7b

1 file changed

Lines changed: 114 additions & 57 deletions

File tree

App(BE)/main/api/unit.py

Lines changed: 114 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -97,75 +97,132 @@ def Unit_books_new(Unit_name):
9797

9898
@unit_page.route('/chk/Unit_name=<Unit_name>&isbn=<isbn>', methods=['GET'])
9999
def Unit_books_list_chk_isbn(Unit_name, isbn):
100-
c = []
101-
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
102-
if i['isbn'] == '{}'.format(isbn):
103-
c.append({'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': i['state'],'user_id': i['user_id'],'score': i['score'],'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'})
104-
if c == []:
105-
result = {'Error': 'Unit_name, isbn를 다시 한번 확인해주세요.'}
106-
resultJson = json.dumps(result, ensure_ascii=False)
107-
return Response(resultJson,mimetype="application/json",status=201)
100+
c = 0
101+
for i in range(0,len(database.Unit.objects())):
102+
if database.Unit.objects[i].name == '{}'.format(Unit_name):
103+
c += 1
104+
if c == 1 :
105+
q = []
106+
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
107+
if i['isbn'] == '{}'.format(isbn):
108+
q.append({'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': i['state'],'user_id': i['user_id'],'score': i['score'],'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'})
109+
if q == []:
110+
result = {'Error': 'isbn를 다시 한번 확인해주세요.'}
111+
resultJson = json.dumps(result, ensure_ascii=False)
112+
return Response(resultJson,mimetype="application/json",status=201)
113+
else :
114+
result = {'name': '{}'.format(Unit_name), 'books_list': q}
115+
resultJson = json.dumps(result, ensure_ascii=False)
116+
return Response(resultJson,mimetype="application/json",status=200)
108117
else :
109-
result = {'name': '{}'.format(Unit_name), 'books_list': c}
110-
resultJson = json.dumps(result, ensure_ascii=False)
111-
return Response(resultJson,mimetype="application/json",status=200)
118+
if c == 0 :
119+
jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
120+
resultJson = json.dumps(jsl, ensure_ascii=False)
121+
return Response(resultJson,mimetype="application/json",status=201)
122+
else :
123+
jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
124+
resultJson = json.dumps(jsl, ensure_ascii=False)
125+
return Response(resultJson,mimetype="application/json",status=201)
112126

113127
@unit_page.route('/chk/Unit_name=<Unit_name>&user_id=<user_id>', methods=['GET'])
114128
def Unit_books_list_chk_user_id(Unit_name, user_id):
115-
c = []
116-
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
117-
if i['user_id'] == '{}'.format(user_id):
118-
c.append({'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': i['state'],'user_id': i['user_id'],'score': i['score'],'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'})
119-
if c == []:
120-
result = {'Error': '해당 사용자는 대여중인 도서가 없습니다. 또는 Unit_name, user_id를 다시 한번 확인해주세요.'}
121-
resultJson = json.dumps(result, ensure_ascii=False)
122-
return Response(resultJson,mimetype="application/json",status=201)
129+
c = 0
130+
for i in range(0,len(database.Unit.objects())):
131+
if database.Unit.objects[i].name == '{}'.format(Unit_name):
132+
c += 1
133+
if c == 1 :
134+
q = []
135+
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
136+
if i['user_id'] == '{}'.format(user_id):
137+
q.append({'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': i['state'],'user_id': i['user_id'],'score': i['score'],'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'})
138+
if q == []:
139+
result = {'Error': '해당 사용자는 대여중인 도서가 없습니다. 또는 user_id를 다시 한번 확인해주세요.'}
140+
resultJson = json.dumps(result, ensure_ascii=False)
141+
return Response(resultJson,mimetype="application/json",status=201)
142+
else :
143+
result = {'name': '{}'.format(Unit_name), 'books_list': q}
144+
resultJson = json.dumps(result, ensure_ascii=False)
145+
return Response(resultJson,mimetype="application/json",status=200)
123146
else :
124-
result = {'name': '{}'.format(Unit_name), 'books_list': c}
125-
resultJson = json.dumps(result, ensure_ascii=False)
126-
return Response(resultJson,mimetype="application/json",status=200)
147+
if c == 0 :
148+
jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
149+
resultJson = json.dumps(jsl, ensure_ascii=False)
150+
return Response(resultJson,mimetype="application/json",status=201)
151+
else :
152+
jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
153+
resultJson = json.dumps(jsl, ensure_ascii=False)
154+
return Response(resultJson,mimetype="application/json",status=201)
127155

128156
@unit_page.route('/brr/Unit_name=<Unit_name>&isbn=<isbn>&user_id=<user_id>', methods=['POST'])
129157
def Unit_books_list_brr(Unit_name, isbn, user_id):
130-
c = []
131-
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
132-
if i['isbn'] == '{}'.format(isbn):
133-
if i['state'] == 0:
134-
c = {'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': 1,'user_id': '{}'.format(user_id),'score': i['score'] + 1,'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'}
135-
else :
136-
result = {'Error': '대여된 책입니다.'}
137-
resultJson = json.dumps(result, ensure_ascii=False)
138-
return Response(resultJson,mimetype="application/json",status=201)
139-
if c == []:
140-
result = {'Error': 'Unit_name, isbn, user_id를 다시 한번 확인해주세요.'}
158+
c = 0
159+
for i in range(0,len(database.Unit.objects())):
160+
if database.Unit.objects[i].name == '{}'.format(Unit_name):
161+
c += 1
162+
if c == 1 :
163+
q = []
164+
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
165+
if i['isbn'] == '{}'.format(isbn):
166+
if i['state'] == 0:
167+
q = {'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': 1,'user_id': '{}'.format(user_id),'score': i['score'] + 1,'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'}
168+
else :
169+
result = {'Error': '대여된 책입니다.'}
170+
resultJson = json.dumps(result, ensure_ascii=False)
171+
return Response(resultJson,mimetype="application/json",status=201)
172+
if q == []:
173+
result = {'Error': 'Unit_name, isbn, user_id를 다시 한번 확인해주세요.'}
174+
resultJson = json.dumps(result, ensure_ascii=False)
175+
return Response(resultJson,mimetype="application/json",status=201)
176+
else :
177+
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$pull': {'books_list': {'isbn':'{}'.format(isbn)}}})
178+
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$push': {'books_list': q}})
179+
result = {'name': '{}'.format(Unit_name), 'books_list': q}
141180
resultJson = json.dumps(result, ensure_ascii=False)
142-
return Response(resultJson,mimetype="application/json",status=201)
181+
return Response(resultJson,mimetype="application/json",status=200)
143182
else :
144-
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$pull': {'books_list': {'isbn':'{}'.format(isbn)}}})
145-
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$push': {'books_list': c}})
146-
result = {'name': '{}'.format(Unit_name), 'books_list': c}
147-
resultJson = json.dumps(result, ensure_ascii=False)
148-
return Response(resultJson,mimetype="application/json",status=200)
183+
if c == 0 :
184+
jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
185+
resultJson = json.dumps(jsl, ensure_ascii=False)
186+
return Response(resultJson,mimetype="application/json",status=201)
187+
else :
188+
jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
189+
resultJson = json.dumps(jsl, ensure_ascii=False)
190+
return Response(resultJson,mimetype="application/json",status=201)
191+
149192

150193
@unit_page.route('/ret/Unit_name=<Unit_name>&isbn=<isbn>&user_id=<user_id>', methods=['POST'])
151194
def Unit_books_list_ret(Unit_name, isbn, user_id):
152-
c = []
153-
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
154-
if i['isbn'] == '{}'.format(isbn):
155-
if i['user_id'] == '{}'.format(user_id):
156-
if i['state'] == 1:
157-
c = {'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': 0,'user_id': '','score': i['score'],'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'}
158-
else :
159-
result = {'Error': '반납된 책입니다.'}
160-
resultJson = json.dumps(result, ensure_ascii=False)
161-
return Response(resultJson,mimetype="application/json",status=201)
162-
if c == []:
163-
result = {'Error': 'Unit_name, isbn, user_id를 다시 한번 확인해주세요.'}
195+
c = 0
196+
for i in range(0,len(database.Unit.objects())):
197+
if database.Unit.objects[i].name == '{}'.format(Unit_name):
198+
c += 1
199+
if c == 1 :
200+
q = []
201+
for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
202+
if i['isbn'] == '{}'.format(isbn):
203+
if i['user_id'] == '{}'.format(user_id):
204+
if i['state'] == 1:
205+
q = {'title': i['title'],'isbn': i['isbn'],'isbn13': i['isbn13'],'state': 0,'user_id': '','score': i['score'],'link': i['link'],'author': i['author'],'pubDate': i['pubDate'],'description': i['description'],'creator': i['creator'],'cover': i['cover'],'categoryId': i['categoryId'],'categoryName': i['categoryName'],'publisher': i['publisher'],'customerReviewRank': i['customerReviewRank'],'_cls': 'Embook'}
206+
else :
207+
result = {'Error': '반납된 책입니다.'}
208+
resultJson = json.dumps(result, ensure_ascii=False)
209+
return Response(resultJson,mimetype="application/json",status=201)
210+
if q == []:
211+
result = {'Error': 'Unit_name, isbn, user_id를 다시 한번 확인해주세요.'}
212+
resultJson = json.dumps(result, ensure_ascii=False)
213+
return Response(resultJson,mimetype="application/json",status=201)
214+
else :
215+
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$pull': {'books_list': {'isbn':'{}'.format(isbn)}}})
216+
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$push': {'books_list': q}})
217+
result = {'name': '{}'.format(Unit_name), 'books_list': q}
164218
resultJson = json.dumps(result, ensure_ascii=False)
165-
return Response(resultJson,mimetype="application/json",status=201)
219+
return Response(resultJson,mimetype="application/json",status=200)
166220
else :
167-
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$pull': {'books_list': {'isbn':'{}'.format(isbn)}}})
168-
database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$push': {'books_list': c}})
169-
result = {'name': '{}'.format(Unit_name), 'books_list': c}
170-
resultJson = json.dumps(result, ensure_ascii=False)
171-
return Response(resultJson,mimetype="application/json",status=200)
221+
if c == 0 :
222+
jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
223+
resultJson = json.dumps(jsl, ensure_ascii=False)
224+
return Response(resultJson,mimetype="application/json",status=201)
225+
else :
226+
jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
227+
resultJson = json.dumps(jsl, ensure_ascii=False)
228+
return Response(resultJson,mimetype="application/json",status=201)

0 commit comments

Comments
 (0)