"""get current user's completed items.""" page = request.args.get('page', 1, type=int) pagination = Item.query.with_parent(g.current_user).filter_by(done=True).paginate( page=page, per_page=current_app.config["TODOLIST_ITEM_PER_PAGE"]) items = pagination.items current = url_for(".items", page=page, _external=True) prev = None if pagination.has_prev: prev = url_for(".completed_items", page=page-1, _external=True) next = None if pagination.has_next: next = url_for(".completed_items", page=page+1, _external=True) return jsonify(items_schema(items, current, prev, next, pagination)) def delete(self): """clear all items of user""" Item.query.with_parent(g.current_user).filter_by(done=True).delete() db.session.commit() return '', 204 api_v1.add_url_rule('/', view_func=IndexAPI.as_view('index'), methods=['GET']) api_v1.add_url_rule('/oauth/token', view_func=AuthTokenAPI.as_view('token'), methods=['POST']) api_v1.add_url_rule('/user', view_func=UserAPI.as_view('user'), methods=['GET']) api_v1.add_url_rule('/user/items', view_func=ItemsAPI.as_view('items'), methods=['GET', 'POST']) api_v1.add_url_rule('/user/items/<int:item_id>', view_func=ItemAPI.as_view('item'), methods=['GET', 'PUT', 'PATCH', 'DELETE']) api_v1.add_url_rule('/user/items/active', view_func=ActiveItemsAPI.as_view('active_items'), methods=['GET']) api_v1.add_url_rule('/user/items/completed', view_func=CompletedItemsAPI.as_view('completed_items'), methods=['GET', 'DELETE'])
db.session.commit() return { "code": 200, "message": f"修改{buyitem_id}成功!" } elif buyitem.get("submitState") == "Del": buyitem_id = buyitem.get("id") Buyitem.query.filter(Buyitem.id == buyitem_id).delete() db.session.commit() return { "code": 200, "message": f"删除{buyitem.get('title')}成功!" } api_v1.add_url_rule('/getBuyitems', view_func=GetBuyitemsAPI.as_view('api_getbuyitems'), methods=["GET", "POST"]) api_v1.add_url_rule('/flashBuyitemsDuInfo', view_func=FlashBuyitemsDuInfoAPI.as_view('api_flashbuyitemsduinfo'), methods=["GET", "POST"]) api_v1.add_url_rule('/duproducts', view_func=DuProductsAPI.as_view('api_duproducts'), methods=["GET", "POST"]) api_v1.add_url_rule('/alterBuyitem', view_func=AlterBuyitemAPI.as_view('api_alterbuyitem'), methods=["POST"]) api_v1.add_url_rule('/soldBuyitem', view_func=SoldBuyitemAPI.as_view('api_soldbuyitem'), methods=["POST"]) api_v1.add_url_rule('/getBuyitemsOverview', view_func=GetBuyitemsOverview.as_view('api_getbuyitemoverview'), methods=["GET", "POST"]) # 计算预计利润 def profit_expect(data: dict): """ data需提供:soldTypeId soldPrice buyCost // 出售平台 毒 // 寄存 // 费用明细:
class GetForecastActivitiesAPI(MethodView): """ 获取活动列表 """ def get(self): activities = Activities.query.all() totalCount = Activities.query.count() return jsonify(activities_schema(totalCount, activities)) api_v1.add_url_rule('/JDForecast/getActivityForecastProducts', view_func=GetForecastActivityProductsAPI.as_view('api_getactivityforecastproducts'), methods=["GET", "POST"]) api_v1.add_url_rule('/JDForecast/getForecastActivities', view_func=GetForecastActivitiesAPI.as_view('api_getforecastactivities'), methods=["GET", "POST"]) def product_schema(item): return { "id": item.id, "activityId": item.activityId, "productId": item.productId, "vendorId": item.vendorId, "articleNumber": item.articleNumber, "title": item.title, "price": round(float(item.price if item.price else 0.0), 2), "finalPrice": round(float(item.finalPrice if item.finalPrice else 0.0), 2), "size": item.size,
token, expiration = generate_token(user) response = jsonify({ 'token': token, 'token_type': 'Bearer', 'username': username, 'id': user.id, 'expires_in': expiration }) response.headers['Cache-Control'] = 'no-store' response.headers['Pragma'] = 'no-cache' return response api_v1.add_url_rule('/oauth/token', view_func=AuthTokenAPI.as_view('token'), methods=['POST']) api_v1.add_url_rule('/user', view_func=UserAPI.as_view('user'), methods=['GET']) api_v1.add_url_rule('/user/register', view_func=RegisterAPI.as_view('register'), methods=['POST']) api_v1.add_url_rule('/item', view_func=ItemAPI.as_view('item'), methods=['GET', 'POST', 'PUT']) api_v1.add_url_rule('/items/daily', view_func=DailyItemAPI.as_view('daily'), methods=['POST']) api_v1.add_url_rule('/items/period', view_func=PeriodItemAPI.as_view('period'),
return jsonify(products_schema(totalCount, products)) class GetForecastShopsAPI(MethodView): """ 获取店铺列表 """ def get(self): shops = Shops.query.all() totalCount = Shops.query.count() return jsonify(shops_schema(totalCount, shops)) api_v1.add_url_rule('/JDForecast/getForecastProducts', view_func=GetForecastProductsAPI.as_view('api_getforecastproducts'), methods=["GET", "POST"]) api_v1.add_url_rule('/JDForecast/getVIPForecastProducts', view_func=GetVIPForecastProductsAPI.as_view('api_getvipforecastproducts'), methods=["GET", "POST"]) api_v1.add_url_rule('/JDForecast/getForecastShops', view_func=GetForecastShopsAPI.as_view('api_getforecastshops'), methods=["GET", "POST"]) def product_schema(item): return { "id": item.id, "productId": item.productId, "vendorId": item.vendorId, "articleNumber": item.articleNumber, "title": item.title, "price": round(float(item.price if item.price else 0.0), 2), "finalPrice": round(float(item.finalPrice if item.finalPrice else 0.0), 2),
newer["pid"] = str(item.get("skuId")) newer["tip"] = item.get("尺码", "None") + " " + item.get( "颜色", "None") ret["pid_tip_map"].append(newer) else: # 没有colorsize 则为单品 newer = {} newer["pid"] = skuid newer["tip"] = "单品" ret["pid_tip_map"].append(newer) return ret api_v1.add_url_rule( '/JDtask/manageStocks', view_func=ManageStocksAPI.as_view('api_JDtaskManageStocks'), methods=["POST"]) api_v1.add_url_rule( '/JDtask/manageEntries', view_func=ManageEntriesAPI.as_view('api_JDtaskManageEntries'), methods=["POST"]) api_v1.add_url_rule( '/JDtask/manageSolutions', view_func=ManageSolutionsAPI.as_view('api_JDtaskManageSolutions'), methods=["POST"]) api_v1.add_url_rule('/JDtask/managePresaleSolutions', view_func=ManagePresaleSolutionsAPI.as_view( 'api_JDtaskManagePresaleSolutions'), methods=["POST"]) api_v1.add_url_rule('/JDtask/managePresaleEntries', view_func=ManagePresaleEntriesAPI.as_view(