def __init__(self, mobile): self.log = Log('User') self.tool = Tool() self.request = Request() # self.user_info = self.tool.miaoshu_query_user_info_by_mobile(mobile, 1) # if self.user_info != (): # self.user_info = self.user_info[0] # if self.user_info['channel_status'] is not None: # self.tool.ms_delete_user_by_mobile(mobile) us = UserSession(mobile) self.encryptedPwd = us.encrypted_password self.token, self.device_id = us.token, us.deviceId self.user_info = self.tool.miaoshu_query_user_info_by_mobile(mobile, 1) if self.user_info != (): self.user_info = self.user_info[0] self.user_id = self.user_info["id"] self.real_name = self.user_info["real_name"] self.nickname = self.user_info["nickname"] self.sex = self.user_info["sex"] self.mobile = self.user_info["mobile"] self.email = self.user_info["email"] self.account_status = self.user_info["account_status"] self.account_type = self.user_info["account_type"] self.head_img = self.user_info["head_img"] self.register_time = self.user_info["create_time"] self.edit_time = self.user_info["edit_time"] self.channel_shop_id = None self.supplier_shop_id = None
def __init__(self, real_name, mobile, email, region, *roles): self.log = Log('User') self.log.logger.debug(type(roles)) self.tool = Tool() self.request = Request() self.mobile = mobile self.user_info = self.tool.query_user_info_by_mobile(self.mobile) self.role_list = self.tool.get_role_code(*roles) self.real_name = real_name self.email = email self.region = region data_uc = Config('uc').data employee_data = data_uc['http://dev.uc.worldfarm.com'][ '/admin/emp/add'] employee_data["mobile"] = self.mobile employee_data["realName"] = self.real_name employee_data["email"] = self.email employee_data["mobileRegion"] = self.region employee_data["roles"] = self.role_list admin = EmployeeSession('007', '123456') employee_data["_tk_"] = admin.token employee_data["_deviceId_"] = admin.deviceId add_employee = self.request.post( url="http://dev.uc.worldfarm.com/admin/emp/add", data=employee_data) self.log.logger.debug(add_employee)
def get_user_session(self, mobile, password, login_type=1, mobile_region=86): if login_type == 1: data = self.dataSSO['http://dev.sso.worldfarm.com'][ '/mobile/sso/login'] data["mobileRegion"] = mobile_region data["mobile"] = mobile data["password"] = password session = Request().post( url="http://dev.sso.worldfarm.com/mobile/sso/login", data=data) return session elif login_type == 2: data = self.dataSSO['http://dev.sso.worldfarm.com'][ '/web/sso/login'] data["mobileRegion"] = mobile_region data["mobile"] = mobile data["password"] = password session = Request().post( url="http://dev.sso.worldfarm.com/web/sso/login", data=data) return session else: return "login_type参数错误;1:app,2:web"
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 __init__(self, promoter): self.log = Log('PromoterAction') self.promoter = promoter self.data_sso = Config('sso').data self.data_trade = Config('trade').data self.data_sms = Config('sms').data self.request = Request() self.tool = Tool() self.ps = 10
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 __init__(self, seller_agent): self.log = Log('sellerAgent') self.sellerAgent = seller_agent self.data_sso = Config('sso').data self.data_trade = Config('trade').data self.data_sms = Config('sms').data self.request = Request() self.tool = Tool() self.ps = 10
def __init__(self, buyer): """ 初始化方法的一个常用数据 :param buyer: 传的是一个用户对象 """ self.log = Log('buyer') self.buyer = buyer self.data_sso = Config('sso').data self.data_trade = Config('trade').data self.data_sms = Config('sms').data self.request = Request() self.tool = Tool() self.ps = 10
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"])
def app_buyer_subscribe_detail(self): """ 查看订阅规则 :return: """ data = self.data_trade.get('http://dev.trade.worldfarm.com').get( '/mobile/buyer/subscribe/detail') if data is None: data = {} 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/detail", data=data) response_json = json.loads(response) if response_json.get('status') == 'OK': response_json_content = response_json.get('content') query_subscribe_role = self.tool.query_subscribe_role_by_user_id( self.buyer.user_id) assert query_subscribe_role[0].get( 'city_ids') == response_json_content.get('city_ids') assert query_subscribe_role[0].get( 'farm_type') == response_json_content.get('farm_type') assert query_subscribe_role[0].get( 'min_price') == response_json_content.get('min_price') assert query_subscribe_role[0].get( 'max_price') == response_json_content.get('max_price') assert query_subscribe_role[0].get( 'min_area') == response_json_content.get('min_area') assert query_subscribe_role[0].get( 'max_area') == response_json_content.get('max_area') return response_json_content else: raise Exception("Error: %s" % response_json.get("errorMsg"))
def app_get_farm_detail(self, farm_id): """ 获取农场详情 :return: """ data = self.data_trade['http://dev.trade.worldfarm.com'][ '/mobile/buyer/farm/detail'] data['farmId'] = farm_id data['_language_'] = self.buyer.language farm_detail = Request().post( url="http://dev.trade.worldfarm.com/mobile/buyer/farm/detail", data=data) json_response = json.loads(farm_detail) 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"] return farm_json else: raise Exception("Error: %s" % json_response["errorMsg"])
def web_seller_agency_close_farm(self, farmId, type, language): # 卖家中介关闭农场 data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/web/seller-agency/farm/close'] data['_language_'] = language data['_tk_'] = self.sellerAgent.token data['_deviceId_'] = self.sellerAgent.device_id data['farmId'] = farmId data['type'] = type # 30已售出50暂不销售 r = Request().post( url='http://dev.trade.worldfarm.com/web/seller-agency/farm/close', data=data) r_close = json.loads(r) query_close_farm = self.tool.query_close_farm_by_farm_id( self.sellerAgent.user_id) if r_close == { 'errorCode': '00030003', 'errorMsg': '农场已售出或者已关闭', 'status': 'ERROR' }: assert r_close['errorMsg'] == str('农场已售出或者已关闭') assert r_close['status'] == 'ERROR' else: assert r_close.get['farm_id'] == query_close_farm['id'] assert r_close['status'] == query_close_farm['status']
def __init__(self, account, password, Etype=1): self.log = Log('Employee') self.tool = Tool() self.request = Request() emp = EmployeeSession(account, password) self.password = emp.password self.token, self.deviceId = emp.token, emp.deviceId if Etype == 1: self.employee_info = self.tool.miaoshu_query_user_info_by_mobile( account, 2) # self.log.logger.debug("员工信息:%s" % self.employee_info) elif Etype == 2: self.employee_info = self.tool.miaoshu_query_user_info_by_email( account, 2) else: return if self.employee_info != (): self.employee_info = self.employee_info[0] self.employee_id = self.employee_info["id"] self.employee_real_name = self.employee_info["real_name"] self.employee_nickname = self.employee_info["nickname"] self.employee_sex = self.employee_info["sex"] self.employee_mobile = self.employee_info["mobile"] self.employee_email = self.employee_info["email"] self.employee_account_status = self.employee_info["account_status"] self.employee_account_type = self.employee_info["account_type"] self.employee_head_img = self.employee_info["head_img"] self.employee_register_time = self.employee_info["create_time"] self.employee_edit_time = self.employee_info["edit_time"] self.employee_channel_shop_id = None
def web_get_farm_list(self, city_id=None, farm_type=None, min_price=None, max_price=None, min_area=None, max_area=None, sort_code=2): """ 获取农场列表 :return: """ data = self.data_trade['http://dev.trade.worldfarm.com']['/web/buyer/farm/list'] data['ps'] = self.ps data['provinceId'] = city_id data['farmTypeList'] = farm_type data['minPrice'] = min_price data['maxPrice'] = max_price data['minArea'] = min_area data['maxArea'] = max_area data['sortCode'] = sort_code data['_language_'] = self.buyer.language farm_list = Request().post(url="http://dev.trade.worldfarm.com/web/buyer/farm/list", data=data) farm_list_json = json.loads(farm_list).get('content').get('datas') query_farm_list = self.tool.query_farm_list() for i in range(len(farm_list_json)): assert farm_list_json[i].get('id') == query_farm_list[i].get('farm_id') assert farm_list_json[i].get('type') == query_farm_list[i].get('type') assert farm_list_json[i].get('lng') == query_farm_list[i].get('lng') assert farm_list_json[i].get('lat') == query_farm_list[i].get('lat') # assert farm_list_json[i].get('imgLisst') == "[" + query_farm_list[i].get('url') + "]" return farm_list_json
def operator_approve_seller_agent(self, mobile, status=False): operator = EmployeeSession('100031', '123456') data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/cs/seller-agency/list'] data['status'] = 1 data['_tk_'] = operator.token data['_deviceId_'] = operator.deviceId wait = Request().post( url='http://dev.trade.worldfarm.com/admin/cs/seller-agency/list', data=data) wait_list = json.loads(wait)['content']['datas'] for i in wait_list: if i['mobile'] == mobile: Request().post( url= 'http://dev.trade.worldfarm.com/admin/cs/seller-agency/detail-resource-list', data={ '_tk_': operator.token, '_deviceId_': operator.deviceId, 'id': i['id'] }) audit_data = Config( 'trade').data['http://dev.trade.worldfarm.com'][ '/admin/cs/seller-agency/audit'] audit_data['_tk_'] = operator.token audit_data['_deviceId_'] = operator.deviceId audit_data['id'] = i['id'] if status: # type=1表示通过 audit_data['type'] = 1 Request().post( url= 'http://dev.trade.worldfarm.com/admin/cs/seller-agency/audit', data=audit_data) self.L.logger.debug('手机号 %s 的用户上传的中介资料审核通过' % str(mobile)) else: # type=2表示审核不通过 audit_data['type'] = 2 Request().post( url= 'http://dev.trade.worldfarm.com/admin/cs/seller-agency/audit', data=audit_data) self.L.logger.debug('手机号 %s 的用户上传的中介资料审核未通过' % str(mobile)) else: pass
def app_buyer_get_map_list(self, left_top_lng, left_top_lat, right_bottom_lng, right_bottom_lat, zoom_level, province_id, sort_code=1, nation_id=25, trigger=None, farm_type_list=None, min_price=None, max_price=None, min_area=None, max_area=None): """ 地图农场列表 :param left_top_lng: 左上角的经度 :param left_top_lat: 左上角的未读 :param right_bottom_lng: 右下角的经度 :param right_bottom_lat: 右下角的未读 :param zoom_level: 聚合等级 :param province_id: 城市ID :param sort_code: 排序的code :param nation_id: 国家的ID :param trigger: :param farm_type_list: 农场类型集合 :param min_price: 最小的价格 :param max_price: 最大的价格 :param min_area: 最小的面积 :param max_area: 最大的面积 :return: """ data = self.data_trade['http://dev.trade.worldfarm.com'][ '/mobile/buyer/farm/map-list'] data['leftTopLng'] = left_top_lng data['leftTopLat'] = left_top_lat data['rightBottomLng'] = right_bottom_lng data['rightBottomLat'] = right_bottom_lat data['zoomLevel'] = zoom_level data['nationId'] = nation_id data['provinceId'] = province_id data['trigger'] = trigger data['farmTypeList'] = farm_type_list data['trigger'] = trigger data['minPrice'] = min_price data['maxPrice'] = max_price data['minArea'] = min_area data['maxArea'] = max_area data['sortCode'] = sort_code data['ps'] = self.ps data['_language_'] = self.buyer.language farm_list = Request().post( url="http://dev.trade.worldfarm.com/mobile/buyer/farm/map-list", data=data) farm_list_json = json.loads(farm_list) return farm_list_json.get('content').get('datas')
def get_employee_session(self, account, password): data = self.dataSSO['http://dev.sso.worldfarm.com'][ '/web/sso/service-emp-login'] data['account'] = account data['password'] = password session = Request().post( url="http://dev.sso.worldfarm.com/web/sso/service-emp-login", data=data) return session
def get_images(self, key='farm'): redis = Redis() # redis.set('get_index', 0) get_index = int(redis.get('get_index')) response = Request().get( 'https://www.pexels.com/search/%s/?page=%s&format=html' % (key, str((get_index / 15) + 1))) soup = BeautifulSoup(response) images = soup.findAll('a', attrs={'href': re.compile("(^https.*)\?")}) # list_start = get_index # list_end = list_start + 15 i = 0 for link in images: image_url = '%s&auto=compress\n' % link.get('href') self.L.logger.debug(image_url) image = Request().get(image_url) i += 1 with open('./Images/banner%s.jpg' % str(i), 'wb') as picture: picture.write(image)
def service_farm_im_list(self, seller_agency_id): # 联系卖家中介-农场列表(通过) data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/farm/im-list'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['sellerAgencyId'] = seller_agency_id farm_im_list = Request().post( url='http://dev.trade.worldfarm.com/admin/farm/im-list', data=data) return farm_im_list
def service_im_account(self): # 登录IM,获取账号IM信息-failed data = Config('ms').data['http://dev.ms.worldfarm.com'][ '/admin/im-auth/get/im-account/service'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id im_auth_account = Request().post( url= 'http://dev.ms.worldfarm.com/admin/im-auth/get/im-account/service', data=data) return im_auth_account
def service_see_buyer_detail(self, buyer_id): # 买家资料信息(通过) data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/im-buyer/buyer-detail'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['buyerId'] = buyer_id see_buyer_detail = Request().post( url='http://dev.trade.worldfarm.com/admin/im-buyer/buyer-detail', data=data) return see_buyer_detail
def service_seller_agency_detail(self, seller_agent_id): # 卖家中介信息(通过 ) data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/seller-agency/detail'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['sellerAgencyId'] = seller_agent_id seller_agency_detail = Request().post( url='http://dev.trade.worldfarm.com/admin/seller-agency/detail', data=data) return seller_agency_detail
def delete_order_by_user_id(self, ip, admin_st, admin_sid, tg, user_id): orders = self.query_order_by_user_id(ip, user_id) if len(orders) > 0: for n in range(len(orders)): Request().post(url=tg + "/web/admin/manager/delOrder", data="st=%s&sid=%s&orderNo=%s" % (admin_st, admin_sid, orders[n]["order_no"])) self.L.logger.debug("用户ID %s 订单 %s 删除成功" % (str(user_id), orders[n]["order_no"])) else: self.L.logger.debug("用户ID %s 无订单可删除" % str(user_id))
def service_get_acc_id(self, user_id): # 客服通过聊天获取对方IM账号-failed data = Config('ms').data['http://dev.ms.worldfarm.com'][ '/admin/im-auth/service-get/accid'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['userId'] = user_id get_acc_id = Request().post( url='http://dev.ms.worldfarm.com/admin/im-auth/service-get/accid', data=data) return get_acc_id
def get_short_massage_code(mobile): data_sso = Config('Sso').data data = data_sso['http://192.168.62.253:31007'][ '/mobile/sso/verify-code-get'] data["mobile"] = mobile code = Request().post( url="http://192.168.62.253:31007/mobile/sso/verify-code-get", data=data) Tool.L.logger.debug("手机号 %s 发送验证码成功" % str(mobile)) return Redis().get('VerifyCodeMobile: SmsVerifyCode:9_REGISTER_%s' % str(mobile))
def service_buyer_detail_resource_list(self, resource_id): # 买家资料详情资源列表() data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/cs/buyer-resource/detail-resource-list'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['id'] = resource_id detail_resource_list = Request().post( url='http://dev.trade.worldfarm.com' '/admin/cs/buyer-resource/detail-resource-list', data=data) return detail_resource_list
def service_send_auth_url(self, order_id): # 邀请上传资质(通过) data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/im-buyer/before-send-auth-url'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['orderId'] = order_id send_auth_url = Request().post( url= 'http://dev.trade.worldfarm.com/admin/im-buyer/before-send-auth-url', data=data) return send_auth_url
def service_get_order_list(self, buyer_id): # 进入对话窗口调用-买家农场列表(返回为空) data_trade = Config('trade').data order_list_param = data_trade['http://dev.trade.worldfarm.com'][ '/admin/im-buyer/order-list'] order_list_param['_tk_'] = self.service.token order_list_param['_deviceId_'] = self.service.device_id order_list_param['buyerId'] = buyer_id order_list = Request().post( url='http://dev.trade.worldfarm.com/admin/im-buyer/order-list', data=order_list_param) return order_list
def service_remark_user_list(self, user_id): # 用户备注列表(通过) data = Config('trade').data['http://dev.trade.worldfarm.com'][ '/admin/customer-service-remark/user-list'] data['_tk_'] = self.service.token data['_deviceId_'] = self.service.device_id data['userId'] = user_id remark_farm_list = Request().post( url= 'http://dev.trade.worldfarm.com/admin/customer-service-remark/user-list', data=data) return remark_farm_list
def web_seller_agency_update_farm(self, farm_id, update_data, language): data = { "_tk_": self.sellerAgent.token, "_deviceId_": self.sellerAgent.device_id, "farmId": farm_id } r = Request().post( url='http://dev.trade.worldfarm.com/web/seller-agency/farm/detail', data=data) r_farm_detail = json.loads(r).get('content') for k, v in update_data.items(): r_farm_detail[k] = v r_farm_detail['_tk_'] = self.sellerAgent.token r_farm_detail['_deviceId_'] = self.sellerAgent.device_id r_farm_detail['language'] = language R = Request().post( url= 'http://dev.trade.worldfarm.com/web/seller-agency/farm/update-farm', data=r_farm_detail) r_update_farm = json.loads(R) assert r_update_farm['status'] == 'OK'