文档服务地址:http://47.92.0.57:3000/ 周报索引地址:http://47.92.0.57:3000/s/NruNXRYmV

Commit b32ee10d by 李景熙

任务大厅后端分类搜索

parent 2ee9c358
......@@ -67,10 +67,24 @@ def find_task_by_name(task_name, start, num):
# 查找所有任务(用于任务大厅界面)
# 什么任务会出现在任务大厅中?未被选择完全的任务、未被发布者终止的任务
def find_task(start, num):
def find_task(start, num, keyword, creatorName, taskType):
try:
find = Task.select(Task.task_id, Task.task_name, Task.publish_id, Task.publish_time, Task.task_state).where(
Task.task_state <= 1).order_by(Task.task_id.desc())
if creatorName:
uid = User.get_userid(creatorName)
if keyword:
if creatorName:
find = Task.select(Task.task_id, Task.task_name, Task.publish_id, Task.publish_time, Task.task_state).where(
Task.task_state <= 1, Task.task_name.contains(keyword), Task.publish_id == uid).order_by(Task.task_id.desc())
else:
find = Task.select(Task.task_id, Task.task_name, Task.publish_id, Task.publish_time,Task.task_state).where(
Task.task_state <= 1, Task.task_name.contains(keyword)).order_by(Task.task_id.desc())
else:
if creatorName:
find = Task.select(Task.task_id, Task.task_name, Task.publish_id, Task.publish_time,Task.task_state).where(
Task.task_state <= 1, Task.publish_id == uid).order_by(Task.task_id.desc())
else:
find = Task.select(Task.task_id, Task.task_name, Task.publish_id, Task.publish_time, Task.task_state).where(
Task.task_state <= 1).order_by(Task.task_id.desc())
index = 0
list = []
while index + start < len(find) and index < num:
......@@ -151,7 +165,7 @@ def find_task_completed(executor, start, num):
while index + start < len(find) and index < num:
user = User.get_username(find[index + start].publish_id)
if judge_completed(find[index + start].task_id, executor):
if find[index + start].task_state == 4:
if find[index + start].task_state == '4':
state = "已完成"
else:
state = "待审核"
......
......@@ -153,6 +153,15 @@ def get_username(id):
return tmp.userName
def get_userid(name):
try:
tmp = User.get(User.userName == name)
except:
return tmp
else:
return tmp.usrId
if __name__ == '__main__':
User.drop_table()
User.create_table()
......
......@@ -14,11 +14,11 @@ def get_tasks():
keyword = request.args.get('keyword') # 搜索任务时的搜索关键词
executor = request.args.get('executor') # 任务标注者id
creator = request.args.get('creator') # 任务发布者id
creatorName = request.args.get('creatorName')
taskType = request.args.getlist('taskType[]')
state = request.args.get('state') # 任务状态:已完成、待审核等
# get函数用于可选参数,在未接收到参数时返回空值
if keyword:
ret = Task.find_task_by_name(keyword, pagesize * (currentpage - 1), pagesize)
elif creator:
if creator:
if state:
ret = Task.find_task_by_creator(creator, pagesize * (currentpage - 1), pagesize, state)
elif executor:
......@@ -27,7 +27,7 @@ def get_tasks():
else:
ret = Task.find_task_my_task(executor, pagesize * (currentpage - 1), pagesize)
else:
ret = Task.find_task(pagesize * (currentpage - 1), pagesize)
ret = Task.find_task(pagesize * (currentpage - 1), pagesize, keyword, creatorName, taskType)
res = {
'code': ret.code,
'message': ret.message,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment