Skip to content

Commit 09cdd61

Browse files
authored
Merge pull request #84 from osamhack2021/api수정및오타수정
unit brr 수정
2 parents 989be4f + c41af95 commit 09cdd61

2 files changed

Lines changed: 9 additions & 286 deletions

File tree

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

Lines changed: 1 addition & 232 deletions
Original file line numberDiff line numberDiff line change
@@ -224,235 +224,4 @@ def Unit_books_list_ret(Unit_name, isbn, user_id):
224224
else :
225225
jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
226226
resultJson = json.dumps(jsl, ensure_ascii=False)
227-
return Response(resultJson,mimetype="application/json",status=201)
228-
229-
230-
#-------------------------------------------------------------------------------------------------------------------------------------------------
231-
# #Unit blueprint
232-
# from flask import Blueprint, json, Response
233-
# from main.models import database
234-
235-
# unit_page=Blueprint('unit',__name__)
236-
237-
# @unit_page.route('/',methods=['GET'])
238-
# def unit_name():
239-
# u = []
240-
# for i in range(0,len(database.Unit.objects())):
241-
# u.append(database.Unit.objects[i].name)
242-
# jsl = {'Unit_name': u }
243-
# resultJson = json.dumps(jsl, ensure_ascii=False)
244-
# return Response(resultJson,mimetype="application/json",status=200)
245-
246-
# @unit_page.route('/<Unit_name>&<page>', methods=['GET'])
247-
# def Unit_books_list(Unit_name, page):
248-
# page = int(page)
249-
# if page <= 0:
250-
# page = 1
251-
# p1 = (page-1)*18
252-
# p2 = page*18
253-
# c = 0
254-
# for i in range(0,len(database.Unit.objects())):
255-
# if database.Unit.objects[i].name == '{}'.format(Unit_name):
256-
# c += 1
257-
# if c == 1 :
258-
# if (len(database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list'])/18)+1 == page:
259-
# p1 = page*18
260-
# p2 = page*18+len(database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list'])%18
261-
# if (len(database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list'])/18)+1 < page:
262-
# p1 = 0
263-
# p2 = 0
264-
# q = []
265-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list'][p1:p2]:
266-
# q.append(i.to_json())
267-
# result = {'name': '{}'.format(Unit_name), 'books_list': q}
268-
# resultJson = json.dumps(result, ensure_ascii=False)
269-
# return Response(resultJson,mimetype="application/json",status=200)
270-
# else :
271-
# if c == 0 :
272-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
273-
# resultJson = json.dumps(jsl, ensure_ascii=False)
274-
# return Response(resultJson,mimetype="application/json",status=201)
275-
# else :
276-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
277-
# resultJson = json.dumps(jsl, ensure_ascii=False)
278-
# return Response(resultJson,mimetype="application/json",status=201)
279-
280-
# @unit_page.route('/best/Unit_name=<Unit_name>', methods=['GET'])
281-
# def Unit_books_best(Unit_name):
282-
# c = 0
283-
# for i in range(0,len(database.Unit.objects())):
284-
# if database.Unit.objects[i].name == '{0}'.format(Unit_name):
285-
# c += 1
286-
# if c == 1 :
287-
# q = []
288-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
289-
# q.append(i.to_json())
290-
# jsl = sorted(q, key=(lambda x: x['score']) , reverse=True)
291-
# result = {'name': '{}'.format(Unit_name), 'books_list': jsl[0:10]}
292-
# resultJson = json.dumps(result, ensure_ascii=False)
293-
# return Response(resultJson,mimetype="application/json",status=200)
294-
# else :
295-
# if c == 0 :
296-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
297-
# resultJson = json.dumps(jsl, ensure_ascii=False)
298-
# return Response(resultJson,mimetype="application/json",status=201)
299-
# else :
300-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
301-
# resultJson = json.dumps(jsl, ensure_ascii=False)
302-
# return Response(resultJson,mimetype="application/json",status=201)
303-
304-
# @unit_page.route('/new/Unit_name=<Unit_name>', methods=['GET'])
305-
# def Unit_books_new(Unit_name):
306-
# c = 0
307-
# for i in range(0,len(database.Unit.objects())):
308-
# if database.Unit.objects[i].name == '{0}'.format(Unit_name):
309-
# c += 1
310-
# if c == 1 :
311-
# q = []
312-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
313-
# q.append(i.to_json())
314-
# jsl = sorted(q, key=(lambda x: x['score']))
315-
# result = {'name': '{}'.format(Unit_name), 'books_list': jsl[0:10]}
316-
# resultJson = json.dumps(result, ensure_ascii=False)
317-
# return Response(resultJson,mimetype="application/json",status=200)
318-
# else :
319-
# if c == 0 :
320-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
321-
# resultJson = json.dumps(jsl, ensure_ascii=False)
322-
# return Response(resultJson,mimetype="application/json",status=201)
323-
# else :
324-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
325-
# resultJson = json.dumps(jsl, ensure_ascii=False)
326-
# return Response(resultJson,mimetype="application/json",status=201)
327-
328-
# @unit_page.route('/chk/Unit_name=<Unit_name>&isbn=<isbn>', methods=['GET'])
329-
# def Unit_books_list_chk_isbn(Unit_name, isbn):
330-
# c = 0
331-
# for i in range(0,len(database.Unit.objects())):
332-
# if database.Unit.objects[i].name == '{}'.format(Unit_name):
333-
# c += 1
334-
# if c == 1 :
335-
# q = []
336-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
337-
# if i['isbn'] == '{}'.format(isbn):
338-
# 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'})
339-
# if q == []:
340-
# result = {'Error': 'isbn를 다시 한번 확인해주세요.'}
341-
# resultJson = json.dumps(result, ensure_ascii=False)
342-
# return Response(resultJson,mimetype="application/json",status=201)
343-
# else :
344-
# result = {'name': '{}'.format(Unit_name), 'books_list': q}
345-
# resultJson = json.dumps(result, ensure_ascii=False)
346-
# return Response(resultJson,mimetype="application/json",status=200)
347-
# else :
348-
# if c == 0 :
349-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
350-
# resultJson = json.dumps(jsl, ensure_ascii=False)
351-
# return Response(resultJson,mimetype="application/json",status=201)
352-
# else :
353-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
354-
# resultJson = json.dumps(jsl, ensure_ascii=False)
355-
# return Response(resultJson,mimetype="application/json",status=201)
356-
357-
# @unit_page.route('/chk/Unit_name=<Unit_name>&user_id=<user_id>', methods=['GET'])
358-
# def Unit_books_list_chk_user_id(Unit_name, user_id):
359-
# c = 0
360-
# for i in range(0,len(database.Unit.objects())):
361-
# if database.Unit.objects[i].name == '{}'.format(Unit_name):
362-
# c += 1
363-
# if c == 1 :
364-
# q = []
365-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
366-
# if i['user_id'] == '{}'.format(user_id):
367-
# 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'})
368-
# if q == []:
369-
# result = {'Error': '해당 사용자는 대여중인 도서가 없습니다. 또는 user_id를 다시 한번 확인해주세요.'}
370-
# resultJson = json.dumps(result, ensure_ascii=False)
371-
# return Response(resultJson,mimetype="application/json",status=201)
372-
# else :
373-
# result = {'name': '{}'.format(Unit_name), 'books_list': q}
374-
# resultJson = json.dumps(result, ensure_ascii=False)
375-
# return Response(resultJson,mimetype="application/json",status=200)
376-
# else :
377-
# if c == 0 :
378-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
379-
# resultJson = json.dumps(jsl, ensure_ascii=False)
380-
# return Response(resultJson,mimetype="application/json",status=201)
381-
# else :
382-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
383-
# resultJson = json.dumps(jsl, ensure_ascii=False)
384-
# return Response(resultJson,mimetype="application/json",status=201)
385-
386-
# @unit_page.route('/brr/Unit_name=<Unit_name>&isbn=<isbn>&user_id=<user_id>', methods=['POST'])
387-
# def Unit_books_list_brr(Unit_name, isbn, user_id):
388-
# c = 0
389-
# for i in range(0,len(database.Unit.objects())):
390-
# if database.Unit.objects[i].name == '{}'.format(Unit_name):
391-
# c += 1
392-
# if c == 1 :
393-
# q = []
394-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
395-
# if i['isbn'] == '{}'.format(isbn):
396-
# if i['state'] == 0:
397-
# 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'}
398-
# else :
399-
# result = {'Error': '대여된 책입니다.'}
400-
# resultJson = json.dumps(result, ensure_ascii=False)
401-
# return Response(resultJson,mimetype="application/json",status=201)
402-
# if q == []:
403-
# result = {'Error': 'Unit_name, isbn, user_id를 다시 한번 확인해주세요.'}
404-
# resultJson = json.dumps(result, ensure_ascii=False)
405-
# return Response(resultJson,mimetype="application/json",status=201)
406-
# else :
407-
# database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$pull': {'books_list': {'isbn':'{}'.format(isbn)}}})
408-
# database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$push': {'books_list': q}})
409-
# result = {'name': '{}'.format(Unit_name), 'books_list': q}
410-
# resultJson = json.dumps(result, ensure_ascii=False)
411-
# return Response(resultJson,mimetype="application/json",status=200)
412-
# else :
413-
# if c == 0 :
414-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
415-
# resultJson = json.dumps(jsl, ensure_ascii=False)
416-
# return Response(resultJson,mimetype="application/json",status=201)
417-
# else :
418-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
419-
# resultJson = json.dumps(jsl, ensure_ascii=False)
420-
# return Response(resultJson,mimetype="application/json",status=201)
421-
422-
423-
# @unit_page.route('/ret/Unit_name=<Unit_name>&isbn=<isbn>&user_id=<user_id>', methods=['POST'])
424-
# def Unit_books_list_ret(Unit_name, isbn, user_id):
425-
# c = 0
426-
# for i in range(0,len(database.Unit.objects())):
427-
# if database.Unit.objects[i].name == '{}'.format(Unit_name):
428-
# c += 1
429-
# if c == 1 :
430-
# q = []
431-
# for i in database.Unit.objects(name='{}'.format(Unit_name))[0]['books_list']:
432-
# if i['isbn'] == '{}'.format(isbn):
433-
# if i['user_id'] == '{}'.format(user_id):
434-
# if i['state'] == 1:
435-
# 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'}
436-
# else :
437-
# result = {'Error': '반납된 책입니다.'}
438-
# resultJson = json.dumps(result, ensure_ascii=False)
439-
# return Response(resultJson,mimetype="application/json",status=201)
440-
# if q == []:
441-
# result = {'Error': 'Unit_name, isbn, user_id를 다시 한번 확인해주세요.'}
442-
# resultJson = json.dumps(result, ensure_ascii=False)
443-
# return Response(resultJson,mimetype="application/json",status=201)
444-
# else :
445-
# database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$pull': {'books_list': {'isbn':'{}'.format(isbn)}}})
446-
# database.client.API_test.unit.update({'name':'{}'.format(Unit_name)}, {'$push': {'books_list': q}})
447-
# result = {'name': '{}'.format(Unit_name), 'books_list': q}
448-
# resultJson = json.dumps(result, ensure_ascii=False)
449-
# return Response(resultJson,mimetype="application/json",status=200)
450-
# else :
451-
# if c == 0 :
452-
# jsl = {'Error': '부대가 없거나 올바른 부대를 입력해주세요.'}
453-
# resultJson = json.dumps(jsl, ensure_ascii=False)
454-
# return Response(resultJson,mimetype="application/json",status=201)
455-
# else :
456-
# jsl = {'Error': '동일한 부대 데이터가 2개이상 존재합니다.'}
457-
# resultJson = json.dumps(jsl, ensure_ascii=False)
458-
# return Response(resultJson,mimetype="application/json",status=201)
227+
return Response(resultJson,mimetype="application/json",status=201)

App(BE)/main/models/database.py

Lines changed: 8 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import pymongo
21
from pymongo import MongoClient
32
from flask_mongoengine import MongoEngine
4-
from mongoengine import StringField,ListField,EmailField,IntField,ImageField,DateField
3+
from mongoengine import StringField,ListField,EmailField,IntField,DateField
54
from ..app import app
65
database_name = "API_test"
76
uri = "mongodb+srv://DevLib_Backend1:OSAMHackathonDevLibBackend1@cluster0.5ublg.mongodb.net/{}?retryWrites=true&w=majority".format(database_name) # 몽고db커넥트url 넣으면 되요
@@ -91,51 +90,6 @@ def to_json(self):
9190
"board_number":self.board_number,
9291
"tag":self.tag
9392
}
94-
class Unit(db.Document):
95-
# objectid(고유번호) = auto_create or insert
96-
name = StringField()
97-
books_list = ListField()
98-
def to_json(self):
99-
return {
100-
"name":self.name,
101-
"books_list":self.books_list,
102-
}
103-
class Embook(db.EmbeddedDocument):
104-
title = StringField()
105-
isbn = StringField()
106-
isbn13 = StringField()
107-
link = StringField()
108-
author = StringField()
109-
pubDate = StringField() # publication_date
110-
description = StringField()
111-
creator = StringField()
112-
cover = StringField()
113-
categoryId = IntField()
114-
categoryName = StringField() # tag
115-
publisher = StringField()
116-
customerReviewRank = IntField()
117-
state = IntField()
118-
user_id = StringField()
119-
score = IntField()
120-
def to_json(self):
121-
return {
122-
"title":self.title,
123-
"isbn":self.isbn,
124-
"isbn13":self.isbn13,
125-
"link": self.link,
126-
"author": self.author,
127-
"pubDate": self.pubDate,
128-
"description": self.description,
129-
"creator": self.creator,
130-
"cover": self.cover,
131-
"categoryId": self.categoryId,
132-
"categoryName": self.categoryName,
133-
"publisher": self.publisher,
134-
"customerReviewRank": self.customerReviewRank,
135-
"state":self.state,
136-
"user_id":self.user_id,
137-
"score":self.score,
138-
}
13993
class Searchlog(db.Document):
14094
# objectid(고유번호) = auto_create or insert
14195
user_id = StringField()
@@ -146,13 +100,13 @@ def to_json(self):
146100
"log": self.log,
147101
}
148102
class Unittest(db.Document):
149-
name = db.StringField()
150-
title = db.StringField()
151-
isbn = db.StringField()
152-
isbn13 = db.StringField()
153-
state = db.IntField()
154-
user_id = db.StringField()
155-
score = db.IntField()
103+
name = StringField()
104+
title = StringField()
105+
isbn = StringField()
106+
isbn13 = StringField()
107+
state = IntField()
108+
user_id = StringField()
109+
score = IntField()
156110
def to_json(self):
157111
return {
158112
"name":self.name,

0 commit comments

Comments
 (0)