from handlers.HandlerBase import BaseHandler
from model.log import logger
from data_manage.public_analysis import *
log = logger()


class BookRank(BaseHandler):
    def post(self):
        arg = self.get_args()
        print(arg)
        start=arg.get("start",self.get_n_days(0))
        end=arg.get("end",self.get_n_days(0))
        date_range=arg.get("date_range")
        book=arg.get("book")
        stage=arg.get("stage")
        type=arg.get("type")
        page = arg.get("page",1)
        page_size = arg.get("page_size",30)
        order_by = arg.get("order_by", 'cost')
        order = arg.get("order", 'desc')
        if date_range:
            end=self.get_n_days(0)
            start=self.get_n_days(-int(date_range)+1)
        data,total=book_rank(start,end,book,stage,type,page,page_size,order_by,order)
        self.write_json(data=data,total=total)


class BookTrend(BaseHandler):
    def post(self):
        arg = self.get_args()
        print(arg)
        start=arg.get("start",self.get_n_days(-29))
        end=arg.get("end",)
        date_range=arg.get("date_range")
        book=arg.get("book")
        type=arg.get("type")
        platform=arg.get("platform")
        page = arg.get("page",1)
        page_size = arg.get("page_size",30)
        order_by = arg.get("order_by", 'dt')
        order = arg.get("order", 'desc')
        if date_range:
            end=self.get_n_days(0)
            start=self.get_n_days(-int(date_range)+1)
        data,total,total_data=book_trend(start,end,book,type,platform,page,page_size,order_by,order)
        self.write_json(data=data,total=total,total_data=total_data)