class SupplierAction(object):
    hosts = Config('config').data['hosts'][Config('config').data['run']]

    def __init__(self, supplier):
        self.log = Log('SupplierAction')
        self.supplier = supplier
        self.request = Request()
        self.tool = Tool()
        self.redis = Redis()
        self.db = DataBaseOperate()
        self.ps = 10

    def supp_upload(self, address, name):
        """
            上传供应商身份证照片
            :return:
            """
        response = self.request.post_file(
            url=self.hosts['MS_USER'] + '/mobile/supplier/upload',
            file_path=address,
            data_dict={
                "_tk_": self.supplier.token,
                "_deviceId_": self.supplier.device_id,
                "identityFile": name
            },
            file_key="identityFile")
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def supp_update(self, positive_img, negative_img):
        """
        提交供应商身份证认证资料
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "userId": self.supplier.user_id,
            "positive": positive_img,
            "negative": negative_img
        }
        rul = self.hosts['MS_USER'] + "/mobile/supplier/update"
        data = bind_data
        response = self.request.post(rul, data)
        json_response = json.loads(response)
        query_re = self.tool.ms_query_supplier_supp_update_by_user_id(
            self.supplier.user_id)
        if query_re is not None:
            query_re = query_re[0]
        if json_response["status"] == "OK":
            assert query_re['positive'] == positive_img
            assert query_re['negative'] == negative_img
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def supp_get_fail(self):
        """
        获取未通过的供应商身份认证资料
        断言需优化
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "userId": self.supplier.user_id
        }
        rul = self.hosts['MS_USER'] + "/mobile/supplier/get-fail"
        data = bind_data
        response = self.request.post(rul, data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def shop_get(self):
        """
        通过当前用户,获取店铺信息
        断言需优化
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     '/mobile/shop/get',
                                     data=bind_data)
        json_response = json.loads(response)
        query_re = self.tool.ms_query_supplier_shop_get_by_user_id(
            self.supplier.user_id)
        if query_re is not None:
            query_re = query_re[0]
        if json_response["status"] == "OK":
            assert query_re['id'] == json_response["content"]["shopId"]
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def upload_avatar(self, address, name):
        """
        上传店铺头像
        :return:
        """
        response = self.request.post_file(
            url=self.hosts['MS_SHOP'] + '/mobile/shop/upload-avatar',
            file_path=address,
            data_dict={
                "_tk_": self.supplier.token,
                "_deviceId_": self.supplier.device_id,
                "avatar": name
            },
            file_key='avatar')
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def shop_send_verify_code(self, shop_mobile):
        """
        发送修改店铺联系电话验证码
        断言需优化
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "mobile": shop_mobile
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/shop/send-verify-code",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def shop_update_mobile(self, shop_mobile):
        """
        提交修改店铺联系电话验证码
        断言需优化
        :return:
        """
        bind_data = {
            "_tk_":
            self.supplier.token,
            "_deviceId_":
            self.supplier.device_id,
            "mobile":
            shop_mobile,
            "verifyCode":
            int(
                self.redis.get('ShopManagerImpl:modify_shop_mobile:%s_%s' %
                               (str(self.supplier.user_id), str(shop_mobile))))
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/shop/update-mobile",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def update_shop_info(self, shop):
        """
        更新店铺信息
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "sellerId": self.supplier.user_id,
            "name": shop.name,
            "shopId": self.supplier.supplier_shop_id,
            # "mobile": shop.mobile,
            "contact": shop.contact,
            "avatar": shop.avatar
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     '/mobile/shop/update-shop-info',
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def update_address(self, province, city, area, address):
        """
        更新供应商店铺地址
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "sellerId": self.supplier.user_id,
            "province": province,
            "city": city,
            "area": area,
            "address": address
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/supplier/update-address",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_update_address_by_shop_id(
                self.shop_get()["shopId"])
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['province'] == province
                assert query_re['city'] == city
                assert query_re['area'] == area
                assert query_re['address'] == address
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def switch_status(self, switch_status):
        """
        更新店铺营业状态(10 营业中 20 休息)
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "status": switch_status,
            "check": "true"
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/shop/switch-status",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_switch_status_by_shop_id(
                self.shop_get()["shopId"])
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['status'] == switch_status
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def category_list(self, category_id):
        """
        查询分类
        :return:
        """
        bind_data = {"categoryId": category_id}
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/category/list",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_category_list_by_category_id(
                category_id)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['count(*)'] == len(json_response['content'])
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def category_list_all(self):
        """
        查询所有分类
        :return:
        """
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/category/list",
                                     data={})
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_category_list_all_by_status(
                10)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['count(*)'] == len(json_response['content'])
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def store_unit_list(self):
        """
        查询库存单位列表
        :return:
        """
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/store-unit/list",
                                     data={})
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_store_unit_list_by_is_delete(
                0)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['count(*)'] == len(json_response['content'])
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"][0]["id"]

    def freight_template_all(self):
        """
        获取运费模板
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/freightTemplate/all",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_freight_template_all_by_shop_id(
                self.shop_get()["shopId"])
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['count(*)'] == len(json_response['content'])
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def freight_template_add(self, title, freigh_per_km, free_price,
                             free_distance, free_price_status,
                             free_distance_status):
        """
        新建运费模板
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "title": title,
            "freighPerKm": freigh_per_km,
            "freePrice": free_price,
            "freeDistance": free_distance,
            "freePriceStatus": free_price_status,
            "freeDistanceStatus": free_distance_status
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/freightTemplate/add",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_freight_template_add_by_freight_id(
                json_response["content"])
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                # assert query_re['shop_id'] == self.shop_get()["shopId"]
                # assert query_re['title'] == title
                # assert query_re['freigh_per_km'] == freigh_per_km
                # assert query_re['free_price'] == free_price
                # assert query_re['free_distance'] == free_distance
                # assert query_re['free_price_status'] == free_price_status
                # assert query_re['free_distance_status'] == free_distance_status
                pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def freight_template_delete(self, freight_id):
        """
        删除运费模板
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "id": freight_id
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/freightTemplate/delete",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_freight_template_delete_by_freight_id(
                freight_id)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['shop_id'] == self.shop_get()["shopId"]
                assert query_re['id'] == freight_id
                assert query_re['is_delete'] == 1
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def freight_template_edit(self,
                              freight_id,
                              title=None,
                              freigh_per_km=None,
                              free_price=None,
                              free_distance=None,
                              free_price_status=None,
                              free_distance_status=None):
        """
        修改运费模板
        :return:
        """
        query_re = self.tool.ms_query_supplier_freight_template_edit_by_freight_id(
            freight_id)[0]
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "id": freight_id
        }
        if title is None:
            bind_data['title'] = query_re['title']
        else:
            bind_data['title'] = title
        if freigh_per_km is None:
            bind_data['freighPerKm'] = query_re['freigh_per_km']
        else:
            bind_data['freighPerKm'] = freigh_per_km
        if free_price is None:
            bind_data['freePrice'] = query_re['free_price']
        else:
            bind_data['freePrice'] = free_price
        if free_price is None:
            bind_data['freeDistance'] = query_re['free_distance']
        else:
            bind_data['freeDistance'] = free_distance
        if free_price is None:
            bind_data['freePriceStatus'] = query_re['free_price_status']
        else:
            bind_data['freePriceStatus'] = free_price_status
        if free_price is None:
            bind_data['freeDistanceStatus'] = query_re['free_distance_status']
        else:
            bind_data['freeDistanceStatus'] = free_price
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/freightTemplate/edit",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_freight_template_edit_by_freight_id(
                freight_id)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                if bind_data['title'] != query_re['title']:
                    assert query_re['title'] == title
                if bind_data['freighPerKm'] != query_re['freigh_per_km']:
                    assert query_re['freigh_per_km'] == freigh_per_km
                if bind_data['freePrice'] != query_re['free_price']:
                    assert query_re['free_price'] == free_price
                if bind_data['freeDistance'] != query_re['free_distance']:
                    assert query_re['free_distance'] == free_distance
                if bind_data['freePriceStatus'] != query_re[
                        'free_price_status']:
                    assert query_re['free_price_status'] == free_price_status
                if bind_data['freeDistanceStatus'] != query_re[
                        'free_distance_status']:
                    assert query_re[
                        'free_distance_status'] == free_distance_status
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def freight_template_get(self, freight_id):
        """
        获取单个运费模板
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "id": freight_id
        }
        url = self.hosts['MS_SHOP'] + "/mobile/freightTemplate/get/%s" % str(
            freight_id)
        response = self.request.post(url=url, data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_freight_template_get_by_freight_id(
                freight_id)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['title'] == json_response["content"]["title"]
                assert query_re['freigh_per_km'] == json_response["content"][
                    "freighPerKm"]
                assert query_re['free_price'] == json_response["content"][
                    "freePrice"]
                assert query_re['free_distance'] == json_response["content"][
                    "freeDistance"]
                assert query_re['free_price_status'] == json_response[
                    "content"]["freePriceStatus"]
                assert query_re['free_distance_status'] == json_response[
                    "content"]["freeDistanceStatus"]
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def upload_img(self, img_address, img_name):
        """
        上传图片
        :return:
        """
        response = self.request.post_file(
            url=self.hosts['MS_PRODUCT'] + '/common/product/upload-img',
            file_path=img_address,
            data_dict={
                "_tk_": self.supplier.token,
                "_deviceId_": self.supplier.device_id,
                "file": img_name
            },
            file_key="file")
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def status_list(self):
        """
        查询商品状态
        :return:
        """
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/status-list",
                                     data={})
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            assert json_response["content"][0]["id"] == 0
            assert json_response["content"][1]["id"] == 10
            assert json_response["content"][2]["id"] == 20
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def product_list(self,
                     parent_id=None,
                     category_id=None,
                     status=None,
                     sort=None,
                     search=None):
        """
        供应商商品列表
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "shopId": self.shop_get()["shopId"],
            "parentId": parent_id,
            "categoryId": category_id,
            "status": status,
            "sort": sort,
            "search": search
        }
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/list",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_product_list_by_shop_id(
                self.shop_get()["shopId"])
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['count(*)'] == json_response["content"]["tc"]
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]["datas"]

    def product_find(self, product_pcode):
        """
        供应商商品详情
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "pcode": product_pcode
        }
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/find",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def status_update(self, product_pcode, product_operation):
        """
        商品上架/下架/删除
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "pcode": product_pcode,
            "operation": product_operation
        }
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/status-update",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_status_update_by_product_pcode(
                product_pcode)
            if query_re is not None:
                query_re = query_re[0]
                if product_operation == 30:
                    assert query_re['is_delete'] == 1
                else:
                    assert query_re['status'] == product_operation
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def product_update(self,
                       pn,
                       parent_id=None,
                       category_id=None,
                       product_name=None,
                       store_unit_id=None,
                       product_content=None,
                       price=None,
                       store=None,
                       freight_id=None,
                       status=None,
                       img=None):
        """
        更新商品信息
        :return:
        """
        query_re = self.tool.ms_query_supplier_product_update_by_pcode(
            self.product_list()[pn]["pcode"])[0]
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "shopId": self.shop_get()["shopId"],
            "pcode": self.product_list()[pn]["pcode"],
            "parentId": parent_id,
            "categoryId": category_id,
            "name": product_name,
            "storeUnitId": store_unit_id,
            "content": product_content,
            "price": price,
            "store": store,
            "freightId": freight_id,
            "status": status,
            "serviceType": 30,
            "imgs": img
        }
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/update",
                                     data=bind_data)
        if parent_id is None:
            bind_data['parentId'] = query_re['parent']
        else:
            bind_data['parentId'] = parent_id
        if category_id is None:
            bind_data['categoryId'] = query_re['category_id']
        else:
            bind_data['categoryId'] = category_id
        if product_name is None:
            bind_data['name'] = query_re['name']
        else:
            bind_data['name'] = product_name
        if store_unit_id is None:
            bind_data['storeUnitId'] = query_re['store_unit_id']
        else:
            bind_data['storeUnitId'] = store_unit_id
        if product_content is None:
            bind_data['content'] = query_re['content']
        else:
            bind_data['content'] = product_content
        if price is None:
            bind_data['price'] = query_re['price']
        else:
            bind_data['price'] = price
        if store is None:
            bind_data['store'] = query_re['store']
        else:
            bind_data['store'] = store
        if freight_id is None:
            bind_data['freightId'] = query_re['freight_id']
        else:
            bind_data['freightId'] = freight_id
        if status is None:
            bind_data['status'] = query_re['STATUS']
        else:
            bind_data['status'] = status
        if img is None:
            bind_data['imgs'] = query_re['url']
        else:
            bind_data['imgs'] = img
        response = self.request.post(
            url="http://192.168.62.253:31005/mobile/product/update",
            data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            if json_response["status"] == "OK":
                query_re = self.tool.ms_query_supplier_product_update_by_pcode(
                    self.product_list()[pn]["pcode"])[0]
                if bind_data['parentId'] != query_re['parent']:
                    assert query_re['parent'] == parent_id
                if bind_data['categoryId'] != query_re['category_id']:
                    assert query_re['category_id'] == category_id
                if bind_data['name'] != query_re['name']:
                    assert query_re['name'] == product_name
                if bind_data['storeUnitId'] != query_re['store_unit_id']:
                    assert query_re['store_unit_id'] == store_unit_id
                if bind_data['content'] != query_re['content']:
                    assert query_re['content'] == product_content
                if bind_data['price'] != query_re['price']:
                    assert query_re['price'] == price
                if bind_data['store'] != query_re['store']:
                    assert query_re['store'] == store
                if bind_data['freightId'] != query_re['freight_id']:
                    assert query_re['freight_id'] == freight_id
                if bind_data['status'] != query_re['STATUS']:
                    assert query_re['STATUS'] == status
                if bind_data['imgs'] != query_re['url']:
                    assert query_re['url'] == img
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def store_list(self):
        """
        库存列表
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "shopId": self.shop_get()["shopId"],
            "pn": 1,
            "ps": 20
        }
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/store-list",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_store_list_by_shop_id(
                self.shop_get()["shopId"])
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['count(*)'] == json_response["content"]["tc"]
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]["datas"]

    def store_update(self, stores):
        """
        库存更新
        断言需优化
        :return:
        """

        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/store-update",
                                     bind_data={
                                         "_tk_": self.supplier.token,
                                         "_deviceId_": self.supplier.device_id,
                                         "shopId": self.shop_get()["shopId"],
                                         "stores": stores
                                     })
        pcode_list = []
        for i in list(stores):
            pcode_list.append(i['pcode'])
        store_list = []
        for j in list(stores):
            store_list.append(j['store'])
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            query_re = self.tool.ms_query_supplier_store_update_by_pcode(
                pcode_list)
            if query_re is not None:
                query_re = query_re[0]
            if json_response["status"] == "OK":
                assert query_re['store'] == store_list
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def supp_order_list(self):
        """
        供应商订单列表
        断言需优化
        :return:
        """
        bind_data = {"shopId": self.shop_get()["shopId"]}
        response = self.request.post(url=self.hosts['MS_ORDER'] +
                                     "/mobile/supply/order/list",
                                     data=bind_data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_supply_channel_order_list(self, orderStatus, pn, ps):
        '''
        baiying:基地查看商品列表
        :param orderStatus:
        :param pn:
        :param ps:
        :return:
        '''
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'orderStatus': orderStatus,
            'pn': pn,
            'ps': ps
        }
        response = self.request.post(
            url='http://dev.ms.order.sjnc.com/mobile/supply/channel/order/list',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _mobile_supply_channel_order_detail(self, orderNo):
        '''
        baiying:基地查看订单详情
        :param orderNo:
        :return:
        '''
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'orderNo': orderNo
        }
        response = self.request.post(
            url=
            'http://dev.ms.order.sjnc.com/mobile/supply/channel/order/detail',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _mobile_supply_channel_order_refuse(self, orderNo):
        '''
        baiying:基地拒绝苗叔的取消订单申请
        :param orderNo:
        :return:
        '''
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'orderNo': orderNo
        }
        response = self.request.post(
            url=
            'http://dev.ms.order.sjnc.com/mobile/supply/channel/order/refuse',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _mobile_supply_channel_order_agree(self, orderNo):
        '''
        baiying:基地同意苗叔的取消订单申请
        :param orderNo:
        :return:
        '''
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'orderNo': orderNo
        }
        response = self.request.post(
            url=
            'http://dev.ms.order.sjnc.com/mobile/supply/channel/order/agree',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _mobile_supply_channel_order_finish_send(self, orderNo):
        '''
        baiying:基地完成配送订单
        :param orderNo:
        :return:
        '''
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'orderNo': orderNo
        }
        response = self.request.post(
            url=
            'http://dev.ms.order.sjnc.com/mobile/supply/channel/order/finish-send',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_supply_channel_order_pending_count(self, shopId):
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'shopId': shopId
        }
        response = self.request.post(
            url=
            'http://dev.ms.order.sjnc.com/mobile/supply/channel/order/pending-count',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def get_shop_id_by_type(self, seller_id, type=30):
        """
        张鹏飞:根据user_id获取店铺信息
        :param seller_id: user_id
        :param type: 店铺类型,20是苗叔,30是基地
        :return: 返回店铺的基本信息
        """
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'sellerId': seller_id,
            'type': type
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     '/mobile/shop/get-by-type',
                                     data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    # def update_shop_info(self, shop):
    #     """
    #     张鹏飞:更新店铺信息
    #     :return:
    #     """
    #     bind_data = {"_tk_": self.supplier.token,
    #                  "_deviceId_": self.supplier.device_id,
    #                  "sellerId": self.supplier.user_id,
    #                  "name": shop.name,
    #                  "shopId": self.supplier.channel_shop_id,
    #                  # "mobile": shop.mobile,
    #                  "contact": shop.contact,
    #                  "avatar": shop.avatar}
    #     response = self.request.post(url=self.hosts['MS_SHOP'] + '/mobile/shop/update-shop-info',
    #                                  data=bind_data)
    #     json_response = json.loads(response)
    #     update_shop_info = self.tool.ms_query_update_shop_info_by_seller_id(self.supplier.user_id)[0]
    #     if json_response["status"] == "OK":
    #         assert update_shop_info["name"] == bind_data['name']
    #         # assert update_shop_info["mobile"] == bind_data['mobile']
    #         assert update_shop_info["contact"] == bind_data['contact']
    #     elif json_response["status"] == "ERROR":
    #         raise Exception("status返回ERROR")
    #     else:
    #         raise Exception("status未返回OK或ERROR")
    #     return json_response["content"]

    def product_save(self, product):
        """
        上架新商品
        :param product: 传入商品对象,Product.py
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "parentId": product.parent_category_id,
            "categoryId": product.category_id,
            "name": product.name,
            "shopId": product.supplier_shop_id,
            "price": product.price,
            "storeUnitId": product.unit_id,
            "content": product.content,
            "store": product.store,
            "freightId": product.freight_id,
            "status": product.status,
            "serviceType": product.product_serviceType,
            "imgs": product.image
        }
        response = self.request.post(url=self.hosts['MS_PRODUCT'] +
                                     "/mobile/product/save",
                                     data=bind_data)
        product_info = self.tool.ms_query_channel_product_info_by_shop_id(
            self.get_shop_id_by_type(
                self.supplier.user_id).get('content').get('shopId'))
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def add_address(self, shop):
        """
        新增地址
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "_language_": 'zh',
            "addressId": shop.addressId,
            "shopId": shop.shopId,
            "lng": shop.lng,
            "lat": shop.lat,
            "province": shop.province,
            "city": shop.city,
            "area": shop.area,
            "address": shop.address
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/address/add",
                                     data=bind_data)
        add_address_info = self.tool.ms_query_latest_address_info_by_shop_id(
            self.get_shop_id_by_type(
                self.supplier.user_id).get('content').get('shopId'))[0]
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def switch_status(self, shop_id, status=10, check="true"):
        """
        更新店铺营业状态(10 营业中 20 休息)
        :return:
        """
        bind_data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "shopId": shop_id,
            "status": status,
            "check": check
        }
        response = self.request.post(url=self.hosts['MS_SHOP'] +
                                     "/mobile/shop/switch-status",
                                     data=bind_data)
        json_response = json.loads(response)
        update_shop_info = self.tool.ms_query_update_shop_info_by_seller_id(
            self.supplier.user_id)[0]
        if json_response["status"] == "OK":
            assert update_shop_info["status"] == status
        elif json_response["status"] == "ERROR":
            raise Exception("status返回ERROR")
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response["content"]

    def _mobile_address_add(self, receiver, contact_number, province, city,
                            address, door_number, lng, lat, is_default):
        """
        陈秀娟:添加收货地址
        :param receiver:
        :param contact_number:
        :param province:
        :param city:
        :param address:
        :param door_number:
        :param lng:
        :param lat:
        :param is_default:
        :return:
        """
        data = {
            '_tk_': self.supplier.token,
            '_deviceId_': self.supplier.device_id,
            'receiver': receiver,
            'contactNumber': contact_number,
            'province': province,
            'city': city,
            'address': address,
            'doorNumber': door_number,
            'lng': lng,
            'lat': lat,
            'isDefault': is_default
        }
        response = self.request.post(url=self.hosts['MS_USER'] +
                                     '/mobile/address/add',
                                     data=data)
        print(response)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def history_address(self, shop_id):
        """
        获取历史地址列表
        :return:
        """
        data = {
            "_tk_": self.supplier.token,
            "_deviceId_": self.supplier.device_id,
            "shopId": shop_id
        }
        response = self.request.post(
            url='http://dev.ms.shop.sjnc.com/mobile/address/history',
            data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response
示例#2
0
class kbmsAction(object):

    def __init__(self, kbms):
        self.log = Log('kbms')
        self.request = Request()
        self.kbms = kbms

    def _admin_config_add(self, code, key, value, description, is_delete, status):
        """
        杨露瑶: 新增配置
        :param code:
        :param key:
        :param value:
        :param description:
        :param isDelete:
        :param status:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'code': code, 'key': key, 'value': value,
                'description': description, 'isDelete': is_delete, 'status': status}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/config/add', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_config_detail(self, id):
        """
        杨露瑶: 获取配置详情
        :param id:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/config/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_config_edit(self, id, code, key, value, description, status):
        """
        杨露瑶: 修改配置
        :param id:
        :param code:
        :param key:
        :param value:
        :param description:
        :param status:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id, 'code': code, 'key': key,
                'value': value, 'description': description, 'status': status}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/config/edit', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_config_list(self, pn, ps, code=None, description=None):
        """
        杨露瑶: 获取配置列表
        :param code:
        :param description:
        :param pn:
        :param ps:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'code': code, 'description': description,
                'pn': pn, 'ps': ps}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/config/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_config_list_config_by_code(self, code):
        """
        杨露瑶: 查询字典值
        :param code:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'code': code}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/config/list-config-by-code', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_plant_disease_detail(self, id):
        """
        杨露瑶: 选中病症名查看详情
        :param id:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/plant-disease/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_plant_disease_import(self):
        """
        杨露瑶: 从Excel导入植物病虫害知识库
        :return:
        """
        response = self.request.post_file(url='http://dev.ms.kbms.sjnc.com/admin/plant-disease/import?'
                                              '_tk_=%s&_deviceId_=%s' % (self.kbms.token, self.kbms.deviceId),
                                          file_key="file",
                                          file_path="./../picture/plantdisease.xls")
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_plant_disease_list_hot(self):
        """
        杨露瑶: 热门病症
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/plant-disease/list-hot', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_plant_disease_name_list(self, search, pn, ps):
        """
        杨露瑶: 关键词模糊联想病症名称列表
        :param search:
        :param pn:
        :param ps:
        :return: 返回病症id
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'search': search, 'pn': pn, 'ps': ps}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/plant-disease/name-list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_plant_import(self):
        """
        杨露瑶: 从Excel导入植物特性知识库
        :param file:
        :return:
        """
        # data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id}
        # response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/plant/import', data=data)
        response = self.request.post_file(url='http://dev.ms.kbms.sjnc.com/admin/plant/import?'
                                              '_tk_=%s&_deviceId_=%s' % (self.kbms.token, self.kbms.deviceId),
                                          file_key="file",
                                          file_path="./../picture/植物特性表.xls")
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_resource_activity_item_add(self, type, sort, img_url, width, height, status, jump_url, start_time_str,
                                          end_time_str, remark):
        """
        杨露瑶: 新增活动
        :param type: 类型(10:我的苗叔 20:我的基地)
        :param sort:
        :param img_url:
        :param width:
        :param height:
        :param status: 状态(10生效20关闭)
        :param jump_url: 跳转路径
        :param start_time_str: 开始时间 yyyy-MM-dd HH:mm:ss
        :param end_time_str: 开始时间 yyyy-MM-dd HH:mm:ss
        :param remark:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'type': type, 'sort': sort,
                'imgUrl': img_url, 'width': width, 'height': height, 'status': status, 'jumpUrl': jump_url,
                'startTimeStr': start_time_str, 'endTimeStr': end_time_str, 'remark': remark}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/resource-activity/item/add', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_resource_activity_item_del(self, id):
        """
        杨露瑶: 删除活动
        :param id:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/resource-activity/item/del', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_resource_activity_item_detail(self, id):
        """
        杨露瑶: 活动详情
        :param id:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/resource-activity/item/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_resource_activity_item_edit(self, id, type, sort, img_url, width, height, status, jump_url,
                                           start_time_str, end_time_str, remark):
        """
        杨露瑶: 编辑活动
        :param id:
        :param type:
        :param sort:
        :param img_url:
        :param width:
        :param height:
        :param status:
        :param jump_url:
        :param start_time_str:
        :param end_time_str:
        :param remark:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id, 'type': type, 'sort': sort,
                'imgUrl': img_url, 'width': width, 'height': height, 'status': status, 'jumpUrl': jump_url,
                'startTimeStr': start_time_str, 'endTimeStr': end_time_str, 'remark': remark}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/resource-activity/item/edit', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_resource_activity_item_list(self, type, pn, ps):
        """
        杨露瑶: 活动列表
        :param type:
        :param pn:
        :param ps:
        :return: 返回活动id
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'type': type, 'pn': pn, 'ps': ps}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/resource-activity/item/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_resource_activity_item_update_status(self, id, status):
        """
        杨露瑶: 开始/结束活动
        :param id:
        :param status: 状态(10生效20关闭)
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id, 'status': status}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/resource-activity/item/update-status', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_upload_log_last(self, type):
        """
        杨露瑶: 文件最后上传记录
        :param type: 上传文件类型(1:植物库;2:病虫害库)
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'type': type}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/admin/upload-log/last', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _common_upload_activity(self):
        """
        杨露瑶: 上传活动图片,并返回宽和高
        :return:
        """
        # data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'file': file}
        # response = self.request.post(url='http://dev.ms.kbms.sjnc.com/common/upload-activity', data=data)
        response = self.request.post_file(url='http://dev.ms.kbms.sjnc.com/common/upload-activity',
                                          file_path='./../picture/1.png', file_key='file', data_dict=None)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _config_common_get_city_list(self, pid):
        """
        杨露瑶: 城市列表(pid为空查询所有省份,否则查询对应区域下的数据)
        :param pid:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'pid': pid}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/config/common/get-city-list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _config_common_get_service_phone(self):
        """
        杨露瑶: 客服电话
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/config/common/get-service-phone', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_app_version_get(self, app_id):
        """
        杨露瑶: 获取版本更新信息
        :param app_id:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'appId': app_id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/mobile/app/version/get', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_plant_detail(self, id):
        """
        杨露瑶: 植物详情
        :param id:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'id': id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/mobile/plant/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_plant_list(self, search, pn, ps):
        """
        杨露瑶: 关键词模糊查询植物列表
        :param search:
        :param pn:
        :param ps:
        :return:
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id, 'search': search, 'pn': pn, 'ps': ps}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/mobile/plant/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_resource_activity_item_ms_list(self):
        """
        杨露瑶: 苗叔页面banner
        :return: 苗叔banner url
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/mobile/resource-activity/item/ms-list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_resource_activity_item_supplier_list(self):
        """
        杨露瑶: 基地页面banner
        :return: 基地banner url
        """
        data = {'_tk_': self.kbms.token, '_deviceId_': self.kbms.device_id}
        response = self.request.post(url='http://dev.ms.kbms.sjnc.com/mobile/resource-activity/item/supplier-list',
                                     data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
示例#3
0
class userAction(object):

    def __init__(self):
        self.log = Log('user')
        self.request = Request()

    def set_user(self, user):
        self.user = User(user)
        return self.user

    def _admin_audit_detail(self, id, user_id):
        """
        杨露瑶:审核详情
        :param id:
        :param user_id:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'id': id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/audit/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_audit_list(self, pn, ps, status, mobile, apply_role, nickname=None):
        """
        杨露瑶:用户待审核列表,返回用户id进行下一步审核
        :param pn:
        :param ps:
        :param status:
        :param mobile:
        :param apply_role:
        :param nickname:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'pn': pn, 'ps': ps, 'status': status,
                'mobile': mobile, 'nickname': nickname, 'applyRole': apply_role}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/audit/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_audit_pass(self, id, user_id, positive, negative, name, gender, birthday, id_num, province, city,
                          district, address):
        """
        杨露瑶:用户审核通过
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'id': id, 'userId': user_id,
                'positive': positive, 'negative': negative, 'name': name, 'gender': gender, 'birthday': birthday,
                'idNum': id_num, 'province': province, 'city': city, 'district': district, 'address': address}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/audit/pass', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_audit_refuse(self, id, user_id, reason):
        """
        杨露瑶:用户审核不通过
        :param id:
        :param user_id:
        :param reason:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'id': id, 'userId': user_id,
                'reason': reason}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/audit/refuse', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_audit_save(self, id, positive, negative, name, gender, birthday, id_num, province, city, district,
                          address):
        """
        审核保存
        :param id:
        :param positive:
        :param negative:
        :param name:
        :param gender:
        :param birthday:
        :param id_num:
        :param province:
        :param city:
        :param district:
        :param address:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'id': id, 'positive': positive,
                'negative': negative, 'name': name, 'gender': gender, 'birthday': birthday, 'idNum': id_num,
                'province': province, 'city': city, 'district': district, 'address': address}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/audit/save', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_audit_upload(self):
        """
        杨露瑶:身份证图片上传,返回图片https地址
        :return:
        """
        # data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'identityFile': identity_file}
        response = self.request.post_file(url='http://dev.ms.user.sjnc.com/admin/audit/upload',
                                          file_path='./../picture/1.png', file_key='identityFile', data_dict=None)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_add(self, mobile, real_name, role, email):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile, 'realName': real_name,
                'role': role, 'email': email}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/add', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_del(self, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/del', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_edit(self, user_id, mobile, real_name, role, email):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'mobile': mobile,
                'realName': real_name, 'role': role, 'email': email}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/edit', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_freeze(self, user_id, reason):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'reason': reason}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/freeze', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_get_basic_info(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/get-basic-info', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_list(self, pn, ps, status, role, real_name, email, mobile):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'pn': pn, 'ps': ps, 'status': status,
                'role': role, 'realName': real_name, 'email': email, 'mobile': mobile}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_reset_password(self, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/reset-password', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_backstage_unfreeze(self, user_id, reason):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'reason': reason}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/backstage/unfreeze', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_log_auth_log(self, pn, ps, operate_role, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'pn': pn, 'ps': ps,
                'operateRole': operate_role, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/log/auth-log', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_log_user_log(self, pn, ps, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'pn': pn, 'ps': ps, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/log/user-log', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_service_get_accid(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/service/get-accid', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_service_update_service_status(self, service_id, service_status):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'serviceId': service_id,
                'serviceStatus': service_status}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/service/update-service-status', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_count(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/count', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_default_head_img(self, head_img, head_img_type):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'headImg': head_img,
                'headImgType': head_img_type}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/default-head-img', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_detail(self, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_freeze(self, user_id, role_type, reason):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'roleType': role_type,
                'reason': reason}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/freeze', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_list(self, pn, ps, status, nickname, role, mobile):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'pn': pn, 'ps': ps, 'status': status,
                'nickname': nickname, 'role': role, 'mobile': mobile}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_unfreeze(self, user_id, role_type, reason):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'roleType': role_type,
                'reason': reason}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/unfreeze', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_user_update_mobile(self, old_mobile, new_mobile):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'oldMobile': old_mobile,
                'newMobile': new_mobile}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/admin/user/update-mobile', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_address_detail(self, address_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'addressId': address_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/address/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_address_get_default(self, user_id, lat, lng):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'lat': lat, 'lng': lng}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/address/get-default', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_address_list(self, user_id, lat, lng):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'lat': lat, 'lng': lng}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/address/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_third_login_or_register(self, mobile, app_type, openid, nickname, access_token):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile, 'appType': app_type,
                'openid': openid, 'nickname': nickname, 'accessToken': access_token}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user-third/login-or-register', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_back_detail(self, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/back-detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_detail(self, user_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/detail', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_get_by_mobile(self, mobile):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/get-by-mobile', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_list_ids(self, user_ids):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userIds': user_ids}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/list-ids', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_login_or_register(self, mobile):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/login-or-register', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_register(self, mobile, verify_code):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile, 'verifyCode': verify_code}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/register', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _api_user_validate_account(self, account, account_type, password):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'account': account,
                'accountType': account_type, 'password': password}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/api/user/validate-account', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_address_add(self, user_id, receiver, contact_number, province, city, address, door_number, lng, lat,
                            is_default):
        """
        买家添加收货地址
        :param user_id:
        :param receiver:
        :param contact_number:
        :param province:
        :param city:
        :param address:
        :param door_number:
        :param lng:
        :param lat:
        :param is_default:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'receiver': receiver,
                'contactNumber': contact_number, 'province': province, 'city': city, 'address': address,
                'doorNumber': door_number, 'lng': lng, 'lat': lat, 'isDefault': is_default}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/address/add', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_address_del(self, address_id):
        """
        买家删除收货地址
        :param address_id:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'addressId': address_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/address/del', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_address_edit(self, id, user_id, receiver, contact_number, province, city, address, door_number, lng,
                             lat,
                             is_default):
        """
        买家编辑地址
        :param id:
        :param user_id:
        :param receiver:
        :param contact_number:
        :param province:
        :param city:
        :param address:
        :param door_number:
        :param lng:
        :param lat:
        :param is_default:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'id': id, 'userId': user_id, 'receiver':
                receiver, 'contactNumber': contact_number, 'province': province, 'city': city, 'address': address,
                'doorNumber': door_number, 'lng': lng, 'lat': lat, 'isDefault': is_default}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/address/edit', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_address_list(self, user_id):
        """
        买家获取地址列表
        :param user_id:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/address/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_address_set_default(self, address_id, user_id):
        """
        买家设置默认地址
        :param address_id:
        :param user_id:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'addressId': address_id, 'userId': user_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/address/set-default', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_apply_channel(self):
        """
        杨露瑶:苗叔申请
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/apply/channel', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_apply_channel_status(self):
        """
        杨露瑶:获取苗叔申请状态
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/apply/channel-status', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_apply_supplier(self):
        """
        杨露瑶:基地申请
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/apply/supplier', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_apply_supplier_status(self):
        """
        杨露瑶:获取基地审核状态
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/apply/supplier-status', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_message_del(self, msg_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'msgId': msg_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/message/del', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_message_list(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/message/list', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_message_read(self, msg_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'msgId': msg_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/message/read', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_message_unread(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/message/unread', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_service_get_accid(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/service/get-accid', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_service_get_seller_accid(self, seller_id):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'sellerId': seller_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/service/get-seller-accid', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_service_get_service_accid(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/service/get-service-accid', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_third_change_payaccount(self, code):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'code': code}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user-third/change-payaccount', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_change_verify_code(self, mobile, biz_type):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile, 'bizType': biz_type}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/change-verify-code', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_get_basic_info(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/get-basic-info', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_get_push_alias(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/get-push-alias', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_modify(self, user_id, head_img, nickname):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'headImg': head_img,
                'nickname': nickname}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/modify', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_register_verify_code(self, mobile):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/register-verify-code', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_update_mobile(self, mobile, verify_code):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'mobile': mobile, 'verifyCode': verify_code}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/update-mobile', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_update_nickname(self, user_id, nickname):
        """
        杨露瑶:修改用户昵称
        :param user_id:
        :param nickname:
        :return:
        """
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'userId': user_id, 'nickname': nickname}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/update-nickname', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_upload_headImg(self, head_img_file):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'headImgFile': head_img_file}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/upload-headImg', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _mobile_user_validate_mobile(self, verify_code):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'verifyCode': verify_code}
        response = self.request.post(url='http://dev.ms.user.sjnc.com/mobile/user/validate-mobile', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")

    def _admin_situation_info(self, startTime, endTime):
        '''
        baiying:平台概况
        :param startTime:
        :param endTime:
        :return:
        '''
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'startTime': startTime, 'endTime': endTime}
        response = self.request.post(url='https://dev.ms.pay.sjnc.com/admin/situation/info', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _admin_situation_service_order_quantity(self, startTime, endTime):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'startTime': startTime, 'endTime': endTime}
        response = self.request.post(url='https://dev.ms.pay.sjnc.com/admin/situation/service-order-quantity', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _admin_situation_service_tansactions(self, startTime, endTime):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'startTime': startTime, 'endTime': endTime}
        response = self.request.post(url='https://dev.ms.pay.sjnc.com/admin/situation/service-tansactions', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _mobile_account_sales_amount(self):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id}
        response = self.request.post(url='https://dev.ms.pay.sjnc.com/mobile/account/sales-amount', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response

    def _mobile_account_sales_bill(self, pageSize, pageNum):
        data = {'_tk_': self.user.token, '_deviceId_': self.user.device_id, 'pageSize': pageSize, 'pageNum': pageNum}
        response = self.request.post(url='https://dev.ms.pay.sjnc.com/mobile/account/sales-bill', data=data)
        json_response = json.loads(response)
        if json_response["status"] == "OK":
            pass
        elif json_response["status"] == "ERROR":
            pass
        else:
            raise Exception("status未返回OK或ERROR")
        return json_response