"""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'])
Exemple #2
0
            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,
Exemple #4
0
        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'),
Exemple #5
0
        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),
Exemple #6
0
                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(