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
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
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
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
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
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
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
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
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
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
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
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
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
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