def app_buyer_subscribe_add(self, city_ids=None, farm_type=None, min_price=None, max_price=None, min_area=None, max_area=None): """ 添加订阅规则 :param city_ids: :param farm_type: :param min_price: :param max_price: :param min_area: :param max_area: :return: """ data = self.data_trade.get('http://dev.trade.worldfarm.com').get( '/mobile/buyer/subscribe/add') data['cityIds'] = city_ids data['farmType'] = farm_type data['minPrice'] = min_price data['maxPrice'] = max_price data['minArea'] = min_area data['maxArea'] = max_area data['_tk_'] = self.buyer.token data['_deviceId_'] = self.buyer.device_id data['_language_'] = self.buyer.language response = Request().post( url="http://dev.trade.worldfarm.com/mobile/buyer/subscribe/add", data=data) response = json.loads(response) query_subscribe_role = self.tool.query_subscribe_role_by_user_id( self.buyer.user_id) if response.get('status') == 'OK': if query_subscribe_role == (): raise Exception("Error: 添加订阅规则失败") else: assert query_subscribe_role[0].get('city_ids') == city_ids assert query_subscribe_role[0].get('farm_type') == farm_type assert query_subscribe_role[0].get('min_price') == min_price assert query_subscribe_role[0].get('max_price') == max_price assert query_subscribe_role[0].get('min_area') == min_area assert query_subscribe_role[0].get('max_area') == max_area return response elif response.get('status') != 'ERROR': assert response.get('errorMsg') == "该用户已经添加过订阅规则" else: raise Exception("Error: %s" % response["errorMsg"])
class TranslatorAction(object): def __init__(self, translator): self.log = Log('TranslatorAction') self.translator = translator self.data_sso = Config('sso').data self.data_trade = Config('trade').data self.data_sms = Config('sms').data self.data_base = DataBaseOperate() self.request = Request() self.tool = Tool() def translator_query_translate_list(self, farm_type=None, key_word=None): """ 已发布农场-待翻译农场列表 :param farm_type: 详见farm_types字典 :param key_word: 农场名称或农场地址 :return: 返回与关键字匹配的已发布待翻译农场里列表 """ farm_types = { '休闲': 1, '畜牧': 2, '养殖': 2, '酒庄': 3, '葡萄园': 3, '林木': 4, '狩猎': 4, '综合': 5, '种植': 6 } search_data = { "search": key_word, "_tk_": self.translator.token, "_deviceId_": self.translator.device_id } if farm_type: search_data["type"] = farm_types[farm_type] else: search_data["type"] = "" response = self.request.post( url='http://dev.trade.worldfarm.com/admin/farm/translate-list', data=search_data) json_response = json.loads(response) if json_response["status"] == "OK": to_translate_list = json_response["content"]["datas"] farm_id_set = set([farm["id"] for farm in to_translate_list]) translate_list_data = self.data_base.operate( '39.104.28.40', 'farm-trade', 'SELECT id FROM t_farm WHERE language_type != 3') data_base_id = [farm["id"] for farm in translate_list_data] assert farm_id_set.issubset(data_base_id) return to_translate_list else: raise Exception("Error: %s" % json_response["errorMsg"]) def translator_query_translate_farm_detail(self, farm_id): """ 已发布农场-待翻译农场详情 :param farm_id: 已发布待翻译农场id :return: 返回对应id农场详情 """ response = self.request.get( url='http://dev.trade.worldfarm.com' '/admin/farm/translate-detail/%s?_tk_=%s&_deviceId_=%s' % (str(farm_id), self.translator.token, self.translator.device_id)) json_response = json.loads(response) if json_response["status"] == "OK": farm_json = json_response["content"] farm_data_base = self.tool.query_farm_detail_by_farm_id(farm_id)[0] assert farm_json["address"] == farm_data_base["address"] assert farm_json["addressEn"] == farm_data_base["address_en"] assert farm_json["area"] == farm_data_base["area"] assert farm_json["areaCode"] == farm_data_base["area_code"] assert farm_json["farmName"] == farm_data_base["farm_name"] assert farm_json["farmNameEn"] == farm_data_base["farm_name_en"] assert farm_json["id"] == farm_data_base["id"] assert farm_json["languageType"] == farm_data_base["language_type"] assert farm_json["lat"] == farm_data_base["lat"] assert farm_json["lng"] == farm_data_base["lng"] assert farm_json["totalPrice"] == farm_data_base["total_price"] assert farm_json["type"] == farm_data_base["type"] assert farm_json["unitCode"] == farm_data_base["unit_code"] assert farm_json["content"].replace( '\\', '') == farm_data_base["content"].replace('\\', '') return farm_json else: raise Exception("Error: %s" % json_response["errorMsg"]) def translator_query_published_farm_detail(self): """ :return: """ data = { "_tk_": self.translator.token, "_deviceId_": self.translator.device_id } response = self.request.post( url='http://dev.trade.worldfarm.com/admin/farm/published-detail', data=data) json_response = json.loads(response) if json_response["status"] == "OK": pass else: raise Exception("Error: %s" % json_response["errorMsg"]) def translator_query_published_farm_list(self): """ :return: """ data = { "_tk_": self.translator.token, "_deviceId_": self.translator.device_id } response = self.request.post( url='http://dev.trade.worldfarm.com/admin/farm/published-detail', data=data) json_response = json.loads(response) if json_response["status"] == "OK": pass else: raise Exception("Error: %s" % json_response["errorMsg"])