Beispiel #1
0
 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
Beispiel #2
0
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
Beispiel #3
0
    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
Beispiel #4
0
 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
Beispiel #5
0
 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)
Beispiel #6
0
 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&copyright=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)
Beispiel #7
0
def Problem_list():
    """问题分类--列表
    :param:parent_id:父级id,非必填
    """
    url = host + "/api/company/patrol-issues"
    r = requests.get(url=url, headers=header).json()
    out_format("问题分类-列表:", r)
Beispiel #8
0
    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
Beispiel #9
0
 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)
Beispiel #10
0
 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
Beispiel #11
0
 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)
Beispiel #12
0
 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
Beispiel #13
0
 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)
Beispiel #14
0
 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)
Beispiel #15
0
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)
Beispiel #16
0
 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)
Beispiel #17
0
 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)
Beispiel #18
0
 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
Beispiel #19
0
 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)
Beispiel #20
0
 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)
Beispiel #21
0
 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)
Beispiel #22
0
 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)
Beispiel #23
0
 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)
Beispiel #24
0
 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)
Beispiel #25
0
 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)
Beispiel #26
0
 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)
Beispiel #27
0
 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)
Beispiel #28
0
 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
Beispiel #29
0
 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)
Beispiel #30
0
 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)