def index(): return Success()
def get_order(id): '''查询订单详情''' order = Order.query.get_or_404(id).hide('prepay_id') return Success(order)
def test_auth(): return Success()
def create_client(): form = ClientValidator().validate_for_api() # 参数校验,直接在此抛出异常,并中指代码 promise = {ClientTypeEnum.USER_EMAIL: __register_user_by_email} promise[form.type.data]() return Success(error_code=1)
def place_order(): '''提交订单''' products = OrderPlaceValidator().validate_for_api().products.data status = OrderService().palce(uid=g.user.id, o_products=products) return Success(status)
def get_banner_list(): '''查询订单列表''' page, size = paginate() banner_list = BannerDao.get_list(page=page, size=size) return Success(banner_list)
def get_recent(): count = Count().validate_for_api().count.data products = Product.get_most_recent(count=count) return Success(products)
def download_file(file_name): '''文件下载(从数据库)''' print('file_name', file_name) return Success(file_name)
def super_get_user(uid): # user = User.query.get_or_404(uid) # 会查询到已经被删除的数据 user = User.query.filter_by(id=uid).first_or_404() return Success(user)
def delete_one(id): '''删除某商品''' Product.delete_by_id(id) return Success(error_code=2)
def get_banner(id): '''获取「首页轮播图」''' id = IDMustBePositiveInt().validate_for_api().id.data banner = Banner.get_banner_by_id(id=id) # banner.hide('description') # 临时隐藏 return Success(banner)
def update_one(id): '''更新商品信息''' return Success(error_code=1)
def logout(): logout_user() raise Success('登出成功')
def super_active_user(): form = UserIdForm().validate_for_api() with db.auto_commit(): User.query.filter_original(id=form.user_id.data).update( {User.status: 1}) return Success(msg='用户已恢复!')
def get_user(): '''用户获取自身信息''' uid = g.user.uid # g变量是「线程隔离」的,是全局变量(方便在各处调用);「g.user」是当前用户 user = User.query.filter_by(id=uid).first_or_404() return Success(user)
def super_delete_user(uid): with db.auto_commit(): # 取代user = User.query.get_or_404(uid),即使删除了还是能查到 user = User.query.filter_by(id=uid).first_or_404() user.delete() return Success(error_code=2)
def update_user(): '''用户更改自身信息''' return Success(error_code=1)
def delete(nf_id): nf = Notifications.get_by_id(nf_id) if nf is None: raise NotFound('找不到这个通知') nf.delete() raise Success('已删除')
def get_banner(id): '''查询轮播图''' banner = Banner.query.filter_by(id=id).first_or_404(e=BannerException) return Success(banner)
def append(): form = AppendNotificationForm().validate_for_api().data_ Notifications.create(confirm_count=0, total=User.count(), creator=current_user.username, **form) raise Success()
def get_all_in_category(): id = IDMustBePositiveInt().validate_for_api().id.data products = Product.get_product_by_category_id(id=id) return Success(products)
def upload(): file = request.files.get('file').read() filename = QiniuUpload.upload(file) img_url = current_app.config['QINIU_URL'] + filename return Success(msg=img_url)
def create_client(): form = ClientForm().validate_for_api() promise = {ClientTypeEnum.USER_EMAIL: __register_user_by_email} promise[form.type.data]() return Success()
def get_one(id): '''订单详情''' order = OrderModel.query.get_or_404(id).hide('prepay_id') return Success(order)
def get_order_list(): '''查询订单列表''' page, size = paginate() paged_orders = OrderDao.get_summary_by_user(uid=g.user.id, page=page, size=size) return Success(paged_orders)
def getmessages(): messages = [] jsonData = request.get_json() if int(jsonData['votetype']) == 2: # a = db.session.query(Excellentresult.s_id,Excellentresult.agreenum, # Excellentresult.disagreenum,Excellentresult.abstained, # Masterstudents.s_id,Masterstudents.account, # Masterstudents.major,Masterstudents.title, # Masterstudents.tutor,Masterstudents.college, # Masterstudents.thesisurl,Masterstudents.name).join(Excellentresult,Excellentresult.s_id==Masterstudents.s_id).filter(Excellentresult.vl_id == jsonData['vl_id']).limit(jsonData['limit']).offset(jsonData['offset']).all() # b= db.session.query(Excellentresult.s_id,Excellentresult.agreenum,Excellentresult.disagreenum,Excellentresult.abstained,Voterin.voterinstatus,Voter.nickname,Voter.teacher_account,Voter.auth,Votelist.votestatus,Votelist.votenum).join(Voterin,Voterin.voter_id == Voter.id).filter(Voterin.vl_id == jsonData['vl_id'],Votelist.vl_id==jsonData['vl_id'],Excellentresult.vl_id==jsonData['vl_id']).all() a = db.session.query( Excellentresult.s_id, Excellentresult.agreenum, Excellentresult.disagreenum, Excellentresult.abstained, Masterstudents.s_id, Masterstudents.account, Masterstudents.major, Masterstudents.title, Masterstudents.tutor, Masterstudents.college, Masterstudents.thesisurl, Masterstudents.name, Excellentresult.er_id).filter( Excellentresult.vl_id == jsonData['vl_id'], Masterstudents.s_id == Excellentresult.s_id).all() # .limit(jsonData['limit'])\ for t in a: d = {} d['s_id'] = t[0] d['agreenum'] = 0 d['disagreenum'] = 0 d['abstained'] = 0 d['student_account'] = t[5] d['student_major'] = t[6] d['student_title'] = t[7] d['student_tutor'] = t[8] d['student_college'] = t[9] # d['team_name'] = t[9] d['thesisurl'] = t[10] d['student_name'] = t[11] d['student_status'] = 3 d['gr_id'] = t[12] messages.append(d) if int(jsonData['votetype']) == 1: a = db.session.query( Graduateresult.s_id, Graduateresult.g_agreenum, Graduateresult.g_disagreenum, Graduateresult.g_abstained, Graduateresult.d_agreenum, Graduateresult.d_disagreenum, Graduateresult.d_abstained, Masterstudents.s_id, Masterstudents.account, Masterstudents.major, Masterstudents.title, Masterstudents.tutor, Masterstudents.college, Masterstudents.thesisurl, Masterstudents.name, Graduateresult.gr_id).filter( Graduateresult.vl_id == jsonData['vl_id'], Masterstudents.s_id == Graduateresult.s_id).all() # b= db.session.query(Excellentresult.s_id,Excellentresult.agreenum,Excellentresult.disagreenum,Excellentresult.abstained,Voterin.voterinstatus,Voter.nickname,Voter.teacher_account,Voter.auth,Votelist.votestatus,Votelist.votenum).join(Voterin,Voterin.voter_id == Voter.id).filter(Voterin.vl_id == jsonData['vl_id'],Votelist.vl_id==jsonData['vl_id'],Excellentresult.vl_id==jsonData['vl_id']).all() # messages = [] for t in a: d = {} d['s_id'] = t[0] if int(t[1]) == -1: d['g_agreenum'] = -1 d['g_disagreenum'] = -1 d['g_abstained'] = -1 else: d['g_agreenum'] = 0 d['g_disagreenum'] = 0 d['g_abstained'] = 0 d['d_agreenum'] = 0 d['d_disagreenum'] = 0 d['d_abstained'] = 0 d['student_account'] = t[8] d['student_major'] = t[9] d['student_title'] = t[10] d['student_tutor'] = t[11] d['student_college'] = t[12] # d['team_name'] = t[12] d['thesisurl'] = t[13] d['student_name'] = t[14] d['g_student_status'] = 3 d['d_student_status'] = 3 d['gr_id'] = t[15] messages.append(d) return Success(msg='投票详情查询成功', data=messages)
def get_token_info(): """解析「令牌」""" token = TokenValidator().validate_for_api().token.data result = Token.decrypt(token) return Success(data=result)
def get_seek_help(sid): """返回 id=sid 的 SeekHelp""" obj_seek_help = SeekHelp.query.filter_by(id=sid, cancel=False).first_or_404() return Success(data=obj_seek_help)
def line_job(): """ 每条线路的计划分配情况 :return: "data": [ { "choice_plan": "5e71dd0d3ae156497e114364", "device_id": "7WIZya2wsIKGuitNpHyIWjCq", "id": "5e6ee2ddc1094a4d94ed0264", "limit": 100.0, "line": 1, "line_name": "线路一", "off": [ { "hour": "12", "minute": "05" } ], "on": [ { "hour": "17", "minute": "01" } ], "plan_name": "测试计划1", "plan_status": false, "standard": 78 }, { "choice_plan": null, "device_id": "7WIZya2wsIKGuitNpHyIWjCq", "id": "5e6ee2e8c1094a4d94ed0265", "limit": 160.0, "line": 2, "line_name": "线路二", "plan_status": null, "standard": 78 }, { "choice_plan": null, "device_id": "7WIZya2wsIKGuitNpHyIWjCq", "id": "5e6ee2f7c1094a4d94ed0266", "limit": 250.0, "line": 3, "line_name": "线路三", "plan_status": null, "standard": 78 } ] """ device_id = request.args.get("device_id") lines = jsonify(list( Line.objects.filter(device_id=device_id).get_or_404())) result = [] for line in lines: if line["choice_plan"]: plan = Plan.objects.filter(id=line["choice_plan"]).first() if plan: line["plan_name"] = plan["plan_name"] line["on"] = plan["on"] line["off"] = plan["off"] result.append(line) else: if line["line"] != 0: result.append(line) return Success(result)
def get_user(uid): '''获取用户信息''' # user = User.query.get_or_404(uid) # 会查询到已经被删除的数据 user = User.query.filter_by(id=uid).first_or_404() return Success(user)