def customers_ranking(self, start_time, end_time, shop_id=golbal_shopid): """顾客画像Top排名""" url = host + "/api/shops/%s/customers-ranking" % shop_id data = {"start_date": start_time, "end_date": end_time} r = requests.get(url=url, headers=header, params=data).json() out_format("顾客画像Top排名:", r) return r
def role_list(): """角色列表""" url = host + "/api/role" r = requests.get(url=url, headers=header).json() out_format("角色列表:", r) role_id = r["data"]["roles"][-1]["id"] return role_id
def Problem_creat(self): """问题分类--创建 :param:parent_id:父级id :param:content:巡查名称----必填 :param:children:巡查项和问题----若添加巡查项时,会添加巡查问题 ,json中为巡查问题 children为json串,格式如下: [ {"content": "\u684c\u9762\u6bd4\u8f83\u810f"}, {"content": "\u684c\u9762\u6bd4\u8f83\u810f"}, {"content": "\u684c\u9762\u6bd4\u8f83\u810f"} ] 1. 当添加巡查大类时,parent_id参数,请填写 0, children为空 2. 当添加巡查项和巡查问题时,parent_id 为要添加的巡查大类id,children不能为空,格式看“请求参数” """ url = host + "/api/company/patrol-issues" data = {"parent_id": 0, "content": "鸡脚旮旯2"} # 创建巡查大类 r = requests.post(url=url, headers=header, json=data).json() out_format("添加巡查大类:", r) parent_id = r["data"]["issues"]["id"] print("巡查项大类的id:%s:" % parent_id) data2 = { "parent_id": r["data"]["issues"]["id"], "content": "门背后", "children": json.dumps([ { "content": "有垃圾" } ]) } # 创建巡查项,强制转义用json.dumps print(data2) r2 = requests.post(url=url, headers=header, json=data2).json() out_format("添加巡查项和问题:", r2) problem_id = r2["data"]["issues"]["id"] print("巡查项和问题的id:%s" % problem_id) return parent_id, problem_id
def role_creat(self): """角色创建""" url = host + "/api/role" data = {"display_name": "督导%s" % random.randrange(1, 1000000), "menu_ids": [1, 2, 3]} r = requests.post(url=url, headers=header, json=data).json() out_format("角色创建:", r) return r
def set_default(self, shop_id=golbal_shopid): """设置默认门店 :param:shop_id:门店id """ url = host + "/api/shops/%s/set-default" % shop_id r = requests.put(url=url, headers=header).json() out_format("设置默认门店:", r)
def Record_creat(self): """操作巡查记录 - 创建巡查记录 :param:camera_id:摄像头id :param:issue_id:问题id,只需要填第三级问题id即可 :param:comment:评论 :param:corrector_uid:整改人uid :param:img_urls[]:图片列表,数组形式传参 以上参数全部为必填 """ url = host + "/api/company/patrol-tasks" files = { "img_urls": [ "http://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%94%AF%E7%BE%8E%E5%9B%BE%E7%89%87&step_word=&hs=0&pn=56&spn=0&di=200640&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=2928956523%2C103323178&os=97091904%2C1424640616&simid=3108491783%2C3756554590&adpicid=0&lpn=0&ln=1701&fr=&fmq=1553832060056_R&fm=rs1&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=%E5%9B%BE%E7%89%87&objurl=http%3A%2F%2Fimg2.3lian.com%2F2014%2Ff4%2F95%2Fd%2F58.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bnstwg_z%26e3Bv54AzdH3F2tuAzdH3Fda89AzdH3Fab-8cAzdH3Fc00n8_z%26e3Bip4s&gsm=0&rpstart=0&rpnum=0&islist=&querylist=&force=undefined" ], "camera_id": "64", "issue_id": problem_third_id, "comment": "角落里没打扫干净", "corrector_uid": user_id_01, } r = requests.post(url=url, headers=header, json=files).json() out_format("操作巡查记录 - 创建巡查记录:", r)
def Problem_list(): """问题分类--列表 :param:parent_id:父级id,非必填 """ url = host + "/api/company/patrol-issues" r = requests.get(url=url, headers=header).json() out_format("问题分类-列表:", r)
def Problem_update(self): """问题分类-更新 :param:content:待更新的数据 :param:children:--json:修改项,格式如下[ {"id":"39","content":"\u684c\u9762\u6bd4\u8f83\u810f"}] 1. 若修改巡查大类,children无需填写 2. 若修改巡查项,children必填, children 中分为三个字段 第一个是id 代表巡查问题id 第二个是content代表要修改的巡查问题 第三个children 代表无限级 3. 若children中只有一个字段content,代表此数据为新增,若存在id,代表修改该id对应问题 """ list_p = [parent_id, problem_id] form_data = [{ "修改巡查大类": { "content": "沙发底下" } }, { "修改巡查项&问题": { "content": "门背后", "children": json.dumps([{ "id": problem_id, "content": "有垃圾" }]) } }] for index, p_id in enumerate(list_p): url = host + "/api/company/patrol-issues/%s" % p_id print("---", url) for data1 in form_data[index]: print("data1", data1) print("---", form_data[index][data1]) r = requests.put(url=url, headers=header, json=form_data[index][data1]).json() out_format("问题分类-更新%s" % data1, r) return r
def blacklist_add(self, identity, gender, remark, shop_id=golbal_shopid): """黑名单--新增 :param identity:身份 :param gender:性别 :param remark:备注 :param avatar:黑名单头像 """ url = host + "/api/shops/%s/blacklist" % shop_id files = { "avatar": ("%s.jpg" % random.randrange(10, 18), open( r"F:\test\interfaceTest\image\%s.jpg" % random.randrange(10, 18), "rb").read(), "jpg/png"), "identity": identity, "gender": gender, "remark": remark } encode_data = encode_multipart_formdata( files) # encode_multipart_formdata是导入的一个方法,这个方法下面的文件赋值给encode_data data = encode_data[0] # encode的返回结果第一个值是上传的文件 header_data = \ { "Content-Type": encode_data[1], # 指要上传文件的方式,输出encode_data的结果,头部变更为第2个值才能上传 "Authorization": "Bearer "+token, } r = requests.post(url=url, headers=header_data, data=data).json() out_format("黑名单--新增:", r)
def Patrol_add(self, start_date, end_date): """巡查计划--新增 :param:start_date:任务开始时间 :param:end_date:任务结束时间 :param:name:任务名称 :param:snapshot_ats:抓拍时间段,传数组形式 :param:camera_ids:摄像头id 集合,传数组形式----注意,这里填的是camera的id不是code :param:patroller_uid:巡查人id :param:cycle:周期 0、1、2、3、4、5、6分别对应周日至周六, 传数组形式 """ url = host + "/api/company/patrol-schedules" ti = datetime.now() + timedelta(minutes=1) data = { "start_date": start_date, "end_date": end_date, "name": "检查垃圾桶%s" % random.randrange(1, 10000), "snapshot_ats": [ti.strftime("%Y-%m-%d %H:%M")], "camera_ids": ["64"], "patroller_uid": user_id, "cycle": ["1", "2", "3"] } r = requests.post(url=url, headers=header, json=data).json() out_format("巡查计划--新增:", r) scheduleId = r["data"]["schedule"]["id"] # 巡查任务id, 下面的巡查详情需要调用 print("scheduleId:", scheduleId) return scheduleId
def update_info(self, shop_id=golbal_shopid): """顾客详情部分信息保存""" url = host + "/api/shops/%s/customers/%s/update-info" % (shop_id, 1) r = requests.post(url=url, headers=header, json={ "tag_ids": [2, 3] }).json() out_format("顾客详情部分信息保存:", r)
def cus_portrait(self, start_date, end_date, shop_id=golbal_shopid): """客群画像""" url = host + "/api/shops/%s/group-stats?group_id=0" % shop_id data = {"start_date": start_date, "end_date": end_date} r = requests.get(url=url, headers=header, params=data).json() out_format("客群画像:", r) return r
def account_delete(self, user_id): """账号删除 :param:userid:账号id """ url = host + "/api/user/%s" % user_id r = requests.delete(url=url, headers=header).json() out_format("账号删除", r)
def account_read(self, user_id): """账号查看 :param:userid:账号id """ url = host + "/api/user/%s" % user_id r = requests.get(url=url, headers=header).json() out_format("账号查看", r)
def Patrol_creat(): """操作巡查记录 - 创建巡查记录 :param:camera_id:摄像头id :param:issue_id:问题id,只需要填第三级问题id即可 :param:comment:评论 :param:corrector_uid:整改人uid :param:img_urls[]:图片列表,数组形式传参 以上参数全部为必填 """ # problem_third_id = Problem_list() url = host + "/api/company/patrol-tasks" files = { "img_urls": [ "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1552887497680&di=532e46e352d0ef2a08854ea36cfc6e50&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F15%2F68%2F59%2F71X58PICNjx_1024.jpg" ], "camera_id": "64", "issue_id": 292, "comment": "角落里没打扫干净", "corrector_uid": user_id_01, } # with open(r"F:\test\interfaceTest\baby.jpg", "rb") as f r_01 = requests.post(url=url, headers=header, json=files).json() out_format("操作巡查记录 - 创建巡查记录:", r_01)
def Record_detail(self): """操作巡查记录 - 巡查记录详情 :param:taskId:巡查记录id--巡查列表返回的 """ url = host + "/api/company/patrol-tasks/%s" % taskId r = requests.get(url=url, headers=header).json() out_format("操作巡查记录 - 巡查记录详情:", r)
def shop_list(self): """门店列表 :param:shop_id:门店id :param:page_size:每页数量(默认值:20) """ url = host + "/api/corp-shops?keyword={}&page_size={}" r = requests.get(url=url, headers=header).json() out_format("门店列表:", r)
def report_delete(self): """订阅者删除 :param:id:订阅者id """ url = host + "/api/report-subscribers/%s" % report_id r = requests.delete(url=url, headers=header).json() out_format("订阅者删除:", r) return r
def account_chect(self, user_name): """账号唯一检查 :param:user_name:账号 """ url = host + "/api/user-check" data = {"user_name": user_name} r = requests.get(url=url, headers=header, params=data).json() out_format("账号唯一检查:", r)
def guide_delete(self, saleman, shop_id=golbal_shopid): """导购—删除 :param:shop:门店id :param:saleman:导购id """ url = host + "/api/shops/%s/salemans/%s" % (shop_id, saleman) r = requests.delete(url=url, headers=header).json() out_format("导购-删除:", r)
def reception_detail(self, shop_id=golbal_shopid): """接待统计详情 :param:shop_id:门店id :param:date:日期 """ url = host + "/api/shops/%s/reception" % shop_id r = requests.get(url=url, headers=header).json() out_format("接待统计详情:", r)
def accept(self): """操作巡查记录 - 验收 :param:status:验收状态 1:通过 2:驳回 """ url = host + "/api/company/patrol-tasks/%s/accepting" % taskId data = {"status": "1"} r = requests.put(url=url, headers=header_xun, json=data).json() out_format("操作巡查记录 - 验收:", r)
def alter_rectify(self): """操作巡查记录 - 变更整改人 :param:corrector_uid:整改人id """ url = host + "/api/company/patrol-tasks/%s/corrector" % taskId data = {"corrector_uid": "2369"} r = requests.put(url=url, headers=header_zheng, json=data).json() out_format("操作巡查记录 - 变更整改人:", r)
def category_export(self, start_date, end_date, shop_id=golbal_shopid): """品类占比--导出 :param:start_date:开始日期 :param:end_date:结束日期 """ url = host + "/api/shops/%s/export/categories-stats" % golbal_shopid data = {"start_date": start_date, "end_date": end_date} r = requests.get(url=url, headers=header, params=data) out_format("品类占比--导出:", r.text)
def account_update_info(self, user_id, status, password): """账号更新部分信息 :param:status:0 禁用; 1 启用 :param:password:0 不重置; 1 重置 """ url = host + "/api/user-update-info/%s?" % user_id data = {"status": status, "password": password} r = requests.put(url=url, headers=header, json=data).json() out_format("账号更新部分信息", r)
def inspect_problem(self, start_date, end_date): """巡查统计--巡查问题详情 :param:start_date:开始日期 :param:end_date:结束日期 """ url = host + "/api/company/patrol-stats/issue" data = {"start_date": start_date, "end_date": end_date} r = requests.get(url=url, headers=header, params=data).json() out_format("巡查统计--问题详情:", r)
def inspect_statistical(self, start_date, end_date): """巡查统计 :param:start_date:开始日期 :param:end_date:结束日期 """ url = host + "/api/company/patrol-stats/dashboard" data = {"start_date": start_date, "end_date": end_date} r = requests.get(url=url, headers=header, params=data).json() out_format("巡查统计:", r)
def report_read(self): """订阅者查看 :param:id:订阅者id """ url = host + "/api/report-subscribers/%s" % report_id print("url:", url) r = requests.get(url=url, headers=header).json() out_format("订阅者查看:", r) return r
def category_stats(self, start_date, end_date, shop_id=golbal_shopid): """品类占比 :param:start_date:开始日期 :param:end_date:结束日期 """ url = host + "/api/shops/%s/product/categories-stats" % shop_id data = {"start_date": start_date, "end_date": end_date} r = requests.get(url=url, headers=header, params=data).json() out_format("品类占比:", r)
def Problem_delete(self): """问题分类--删除""" parent_id_new, problem_id_new = self.Problem_creat() list_p = [problem_id_new, parent_id_new] # 必须先删除巡查项和问题才能删除巡查大类 print(list_p) for p in list_p: url = host + "/api/company/patrol-issues/%s" % p r = requests.delete(url=url, headers=header).json() out_format("问题分类--删除:", r)