Exemple #1
0
    def mod_winfo_bid(self, params):
        """
        mod_winfo_bid:
        service: /WordModAPIProxy
        method: modWordBid
        修改bid
        【params】:
        (userid, (winfoid1, winfoid2, ...,winfoidN), bid)  
        (bid为double类型, 范围(0, 999.99])

        【必传参数】:
        userid, winfoids, bid
        【选填参数】:
        无
        【备注】:
        """
        ret = utils.check_params_length(params, 3, "mod_winfo_bid")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modWinfoBid, params)

        self.print_res_info(res)

        return res
Exemple #2
0
    def mod_winfo_pause(self, params):
        """
        mod_winfo_pause:
        service: /WordModAPIProxy
        method: modWordPausestat 
        修改启动暂停状态
        【params】:
        (userid, (winfoid1, winfoid2, ...,winfoidN), pausestat)  
        (pausestat取值: True暂停; False启动)

        【必传参数】:
        userid, winfoids, pausestat
        【选填参数】:
        无
        【备注】:
        """
        ret = utils.check_params_length(params, 3, "mod_winfo_pause")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        valid_pausestat = [True, False]
        pausestat = params[2]
        # 判断pausestat是否符合预期
        if pausestat not in valid_pausestat:
            res = utils.set_default_res("pausestat", pausestat,
                                        valid_pausestat)
            self.print_res_info(res)
            return res

        res = self.process(self.service_mod, self.method_modWinfoPause, params)

        self.print_res_info(res)

        return res
Exemple #3
0
    def mod_winfo_wmatch(self, params):
        """
        mod_winfo_wmatch:
        service: /WordModAPIProxy
        method: modWordWmatch
        修改wmatch
        【params】:
        (userid, (winfoid1, winfoid2, ...,winfoidN), wmatch) 
        (wmatch取值: 63:精确, 31:短语, 15:广泛)

        【必传参数】:
        userid, winfoids, wmatch
        【选填参数】:
        无
        【备注】:
        """
        ret = utils.check_params_length(params, 3, "mod_winfo_wmatch")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        valid_wmatch = [63, 31, 15]
        wmatch = params[2]
        # 判断wmatch是否符合预期
        if wmatch not in valid_wmatch:
            res = utils.set_default_res("wmatch", wmatch, valid_wmatch)
            self.print_res_info(res)
            return res

        res = self.process(self.service_mod, self.method_modWinfoWmatch,
                           params)

        self.print_res_info(res)

        return res
Exemple #4
0
    def mod_winfo(self, params):
        """
        mod_winfo:
        service: /WordModAPIProxy
        method: modWord
        修改winfo
        【params】:
        (userid, [{"winfoid":654321, "items":{"bid":1.0, "wmatch":31, "pausestat":true}},
        ...,{"winfoid":7654321, "items":{"bid":1.1, "wmatch":15, "pausestat":false}}])
        【必传参数】:
        userid, winfoid, items(可以为空)
        【选填参数】:
        无
        【备注】:
        可以改bid, wmatch, pausestat
        pausestat=False/True
        showword只能添加,不能修改。
        """
        ret = utils.check_params_length(params, 2, "mod_winfo")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]
        # 检查showword是否在修改请求中
        ret = utils.check_mod_keys_valid(params, "mod_winfo", "showword")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modWinfo, params)

        self.print_res_info(res)

        return res
Exemple #5
0
    def add_winfo(self, params):
        """
        add_winfo:
        service: /WinfoModAPIProxy
        method: addWord
        新增winfo
        【params】:
        (userid,[{"unitid":1234567, "showword":"美索不达米亚", "bid":777.7, "wmatch":31,
        "wurl":"http://www.tyrannosaur.com", "pausestat":0}, ...])
        【必传参数】:
        userid, unitid, showword
        【选填参数】:
        bid, wmatch, wurl, pausestat等
        【备注】:
        不建议在添加winfo时设置pausestat参数,因为启动暂停状态不完全取决于客户自己的设置。pausestat=0,1
        showword只能添加,不能修改
        """
        ret = utils.check_params_length(params, 2, "add_winfo")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_addWinfo, params)
        self.print_res_info(res)

        return res
    def add_idea(self, params):
        """
        add_idea:
        service: /IdeaModAPIProxy
        method: addIdea
        新增idea
        【params】:
        (userid,[{"unitid":1234567, "title":"your title", "desc1":"描述1", "desc2":"描述2", "url":"http://www.tyrannosaur.com", "showurl":"http://www.tyrannosaur.com", "miurl":"http://mobile.tyrannosaur.com", "mshowurl":"http://mobile.tyrannosaur.com"}, ...])

        【必传参数】:
        userid, unitid, title, desc1, desc2, url, showurl
        其中,title, desc1, desc2都必须是9-50个字符
        url, showurl必须的域名必须与注册网站一致
        (如测试用户630152是http://www.china356.com/)
        【选填参数】
        miurl, mshowurl等
        【备注】:
        url即landingpage,还有miurl,mshowurl可以设置,为移动的url
        title中不能含有"le10"字样,否则会被aka过滤。如"title10"即不合法
        """
        ret = utils.check_params_length(params, 2, "add_idea")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_addIdea, params)
        self.print_res_info(res)

        return res
    def query_idea(self, params):
        """
        query_idea:
        service: /IdeaQueryAPIProxy
        method: getIdea
        查询idea
        【params】:
        (userid, {"planid":(planid1, planid2, ..., planidN), "unitid":(unitid1, unitid2, ..., unitidN),"ideaid":(ideaid1, ideaid2, ..., ideaidN), "fields":["title", "desc1", "desc2", "url", "showurl",...]})

        【必传参数】:
        userid必填。planid, unitid, ideaid为或的关系,至少要填一个
        【选填参数】:  
        fields中的字段
        【备注】:
        返回时,非查询的field会返回null
        若填了多个层级的id,adcore只按最下层的id去查询(忽略掉高层级的id)
         (如填了planid, unitid, ideaid, 只看ideaid)
        """
        ret = utils.check_params_length(params, 2, "query_idea")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_query, self.method_queryIdea, params)

        self.print_res_info(res)

        return res
    def add_unit(self, params):
        """
        add_unit:
        service: /UnitModAPIProxy
        method: addUnit
        新增unit
        【params】:
        (userid,[{"planid":  planid, "unitname":"xxxx", "unitbid":1.22},...])

        【必传参数】:
        userid, planid, unitname, unitbid
        unitbid范围:(0,1000)
        【选填参数】:
        无 
        【备注】:
        【还可以指定mpricefactor,但express项目并无此需求】
        """
        ret = utils.check_params_length(params, 2, "add_unit")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_addUnit, params)
        self.print_res_info(res)

        return res
Exemple #9
0
    def add_plan(self, params):
        """
        add_plan:
        service: /PlanModAPIProxy
        method: addPlan
        新增plan
        【params】:
        (userid,[{"planname":"name1", "deviceprefer":0}, {"planname":"name2",
        "deviceprefer":1},...,{"planname":"nameN", "deviceprefer":2}])

        【必传参数】:
        userid, planname
        【选填参数】:
        deviceprefer(0:All,1:PC,2:移动)
        【备注】:
        deviceprefer为选填,【但只有在添加时可以设置】
        """
        ret = utils.check_params_length(params, 2, "add_plan")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_addPlan, params)

        self.print_res_info(res)

        return res
    def mod_idea(self, params):
        """
        mod_idea:
        service: /IdeaModAPIProxy
        method: modIdea
        修改idea
        【params】:
        (userid, [{"ideaid":123456, "title":"title1","desc1":"cygnus","showurl":"http://www.cygnus.org","url":"http://www.cygnus.org"},...,{"ideaid":1234567, "title":"title2", "desc1":"pegasus","showurl":"http://www.pegasus.org"}])

        【必传参数】:
        userid, unitid, title, desc1, desc2, url, showurl
        同add_idea
        【选填参数】
        miurl, mshowurl等
        【备注】:
        修改字段里如果没有title,那么其它的那4个字段就算修改,也无效(如果只修改desc1,结果会返回200,但desc1的值还是原来的)
        如果修改title,你就要保证其它4个字段都是你想要的最新的值,否则报错
        故,如果只想修改某一两个字段而保持其他的不变,必须先通过queryIdea获得不修改的其他字段
        """
        ret = utils.check_params_length(params, 2, "mod_idea")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modIdea, params)
        self.print_res_info(res)

        return res
Exemple #11
0
    def mod_plan_cyc(self, params):
        """
        mod_plan_cyc:
        service: /PlanModAPIProxy
        method: modPlancyc
        将所有planid的cyc都设为同一个
        【params】:
        (userid,(planid1, planid2 , ...,planidN), [8*25数组])  

        【必传参数】:
        userid, planids, cyc
        【选填参数】:
        无 
        【备注】:
        cyc的定义见附件cyc.txt
        """
        ret = utils.check_params_length(params, 3, "mod_plan_cyc")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]
        res = self.process(self.service_mod, self.method_modPlanCyc, params)

        self.print_res_info(res)

        return res
Exemple #12
0
    def query_plan(self, params):
        """
        query_plan:
        service: /PlanQueryAPIProxy
        method: getPlan
        查询plan
        【params】:
        (userid, {"planid":(planid1, planid2, ..., planidN), "fields":["wbudget", "wregion", "plancyc",
...]})

        【必传参数】:
        userid, planid
        fields数组不空
        【选填参数】:
        无 
        【备注】:
        """
        ret = utils.check_params_length(params, 2, "query_plan")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_query, self.method_queryPlan, params)

        self.print_res_info(res)

        return res
Exemple #13
0
    def mod_plan_wbudget(self, params):
        """
        mod_plan_wbudget:
        service: /PlanModAPIProxy
        method: modPlanWbudget
        修改plan的wbudget
        【params】:
        (userid,(planid1, planid2 , ...,planidN), wbudget) 
        【必传参数】:
        userid, planids, wbudget
        【选填参数】:
        无 
        【备注】:
        planids是集合,如有重复,返回的是去重后的结果
        wbudget可以是double或者int,范围[50,1000000]
        """
        ret = utils.check_params_length(params, 3, "mod_plan_wbudget")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modPlanWbudget,
                           params)

        self.print_res_info(res)

        return res
Exemple #14
0
    def mod_plan_wregion(self, params):
        """
        mod_plan_wregion:
        service: /PlanModAPIProxy
        method: modPlanWregion
        将所有planid的wregion都设为同一个地域列表
        【params】:
        (userid,(planid1, planid2 , ...,planidN), [wregion1, wregion2, ...]) 

        【必传参数】:
        userid, planids, wregions
        【选填参数】:
        无 
        【备注】:
        planids是集合,如有重复,返回的是去重后的结果
        默认是null(传参时可以传None或者[]),即选择所有地域。其他的可以传省级/城市级的数据。具体地域编码见附件region.map
        """
        ret = utils.check_params_length(params, 3, "mod_plan_wregion")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modPlanWregion,
                           params)

        self.print_res_info(res)

        return res
Exemple #15
0
    def mod_plan(self, params):
        """
        mod_plan:
        service: /PlanModAPIProxy
        method: modPlan
        修改plan
        【params】:
        (userid, [{"planid":654321, "items":{"planname":"xxx", "wbudget":31.2, "plancyc":[8*25]}},
        ...,{"planid":654321, "items":{"planname":"xxx", "wbudget":31.2, "plancyc":[8*25]}}])
        【必传参数】:
        userid, planid, items(可以为空) 
        【选填参数】:
        无 
        【备注】:
        plancyc定义见mod_plan_cyc
        不能设置deviceprefer。
        """
        ret = utils.check_params_length(params, 2, "mod_plan")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]
        # 检查deviceprefer是否在修改请求中
        ret = utils.check_mod_keys_valid(params, "mod_plan", "deviceprefer")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modPlan, params)

        self.print_res_info(res)

        return res
    def mod_unit(self, params):
        """
        【此接口开放,但express项目并无此需求】
        mod_unit:
        service: /UnitModAPIProxy
        method: modUnit
        修改unit的mpricefactor
        【params】:
        (userid, [{"unitid":654321, "items":{"mpricefactor":2.3 }},
        ...,])

        【必传参数】:
        userid, unitid, mpricefactor
        mpricefactor的范围:[0,10]
        【选填参数】:
        无 
        【备注】:
        专门用于修改mpricefactor
        """
        ret = utils.check_params_length(params, 2, "mod_unit")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_modUnit, params)
        self.print_res_info(res)

        return res
Exemple #17
0
    def query_winfo(self, params):
        """
        query_winfo:
        service: /WordQueryAPIProxy
        method: getWord
        查询winfo
        【params】:
        (userid, {"planid":(planid1, planid2, ..., planidN), "unitid":(unitid1, unitid2, ..., unitidN), "winfoid":(winfoid1, winfoid2, ..., winfoidN), "fields":["showword", "pausestat", "bid", "wurl", "wmatch", "wctrl", ...]})

        【必传参数】:
        userid必填。planid, unitid, winfoid为或的关系,至少要填一个
        【选填参数】:
        fields中的字段 
        【备注】:
        返回时,非查询的field会返回null
        若填了多个层级的id,adcore只按最下层的id去查询(忽略掉高层级的id)(如填了planid, unitid, winfoid, 只看winfoid)
        """
        ret = utils.check_params_length(params, 2, "query_winfo")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_query, self.method_queryWinfo, params)

        self.print_res_info(res)

        return res
Exemple #18
0
    def del_winfo(self, params):
        """
        del_winfo:
        service: /WordModAPIProxy
        method: delWord
        删除winfo
        【params】:
        (userid, (winfoid1, winfoid2, ...,winfoidN))

        【必传参数】:
        userid, winfoids
        【选填参数】:
        无
        【备注】:
        """
        ret = utils.check_params_length(params, 2, "del_winfo")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]

        res = self.process(self.service_mod, self.method_delWinfo, params)

        self.print_res_info(res)

        return res
Exemple #19
0
    def mod_winfo_wctrl(self, params):
        """
        mod_winfo_wctrl:
        service: /WordModAPIProxy
        method: modWordWctrl
        修改wctrl
        【params】:
        (userid, (winfoid1, winfoid2, ...,winfoidN), wctrl) 
        (wctrl取值: 0:同义包含, 1:精确包含, 3:核心包含)

        【必传参数】:
        userid, winfoids, wctrl
        【选填参数】:
        无
        【备注】:
        wctrl=0时,adcore返回true
        wctrl=1,3时,adcore返回false 
        但db中会写入要修改的真实值
        """
        ret = utils.check_params_length(params, 3, "mod_winfo_wctrl")
        if False == ret[0]:
            self.print_res_info(ret[1])
            return ret[1]
        valid_wctrl = [0, 1, 3]
        wctrl = params[2]
        # 判断wctrl是否符合预期
        if wctrl not in valid_wctrl:
            res = utils.set_default_res("wctrl", wctrl, valid_wctrl)
            self.print_res_info(res)
            return res

        res = self.process(self.service_mod, self.method_modWinfoWctrl, params)

        self.print_res_info(res)

        return res