class Test(NoAuthrizedApi): request = with_metaclass(RequestFieldSet) request.yrk = RequestField(CharField, desc = "hahahah110", choices = [('a',"account"), ('b', 'bass')]) request.test = RequestField(CharField, desc = "hahahah110", choices = [('a',1), ('b', 2)]) request.data = RequestField(DictField, desc = "hahahah110", conf = { 'c1': CharField(desc="天天"), 'c2': IntField(desc="数据"), 'c3': DictField(desc="test", conf = { 'test': IntField(desc="test") }), }) request.data_list = RequestField(ListField, desc ='data_list110', fmt = IntField(desc = 'char list 2')) request.data_list_1 = RequestField(ListField, desc ='data_list110', fmt = DictField(desc = "hahahah110", conf = { 'c1': CharField(desc="天天"), 'c2': IntField(desc="数据") })) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc ='data_list110', fmt = IntField(desc = 'char list 2')) response.data2_list = ResponseField(ListField, desc ='data_list110', fmt = DictField(desc = "", conf ={ 'c1':IntField(desc = 'char list 2'), 'c2':IntField(desc = 'char list 2') })) def execute(self, request): from tuoen.sys.log.base import logger logger.info(request.yrk) print(request.yrk) print(request.yrk___desc) print(request.data) print(request.data.c2) print(request.data_list) print(request.data_list_1) print(request.data_list_1[1].c2) data_list = ['1','2','3'] data2_list = [ { 'c1':'123', 'c2':'234', }, { 'c1':'51231', 'c2':13412.12, } ] return data_list, data2_list def fill(self, response, data_list, data2_list): response.data_list = data_list response.data2_list = data2_list print(response.data_list) print(response.data2_list) print(response.data2_list[0].c1) return response
class Match(StaffAuthorizedApi): request = with_metaclass(RequestFieldSet) request.keyword = RequestField(CharField, desc = "匹配信息(商品名称)") request.size = RequestField(IntField, desc = "返回数量") response = with_metaclass(ResponseFieldSet) response.match_list = ResponseField(ListField, desc = '商品列表', fmt = DictField(desc = "商品列表", conf = { 'id': IntField(desc = "商品id"), 'name': CharField(desc = "商品名称"), })) @classmethod def get_desc(cls): return "通过商品名称匹配商品基础信息" @classmethod def get_author(cls): return "Fsy" def execute(self, request): goods_list = GoodsServer.match(request.keyword, request.size) return goods_list def fill(self, response, goods_list): response.match_list = [{ 'id': goods.id, 'name': goods.name, } for goods in goods_list] return response
class Match(StaffAuthorizedApi): request = with_metaclass(RequestFieldSet) request.keyword = RequestField(CharField, desc = "匹配信息(店铺名称)") request.size = RequestField(IntField, desc = "返回数量") response = with_metaclass(ResponseFieldSet) response.match_list = ResponseField(ListField, desc = '店铺列表', fmt = DictField(desc = "店铺列表", conf = { 'id': IntField(desc = "店铺id"), 'name': CharField(desc = "店铺名称"), })) @classmethod def get_desc(cls): return "通过店铺渠道名称匹配渠道基础信息" @classmethod def get_author(cls): return "Fsy" def execute(self, request): shop_list = ShopServer.match(request.keyword, request.size) return shop_list def fill(self, response, shop_list): response.match_list = [{ 'id': shop.id, 'name': shop.name, } for shop in shop_list] return response
class Searchall(StaffAuthorizedApi): """手机设备列表""" request = with_metaclass(RequestFieldSet) request.search_info = RequestField(DictField, desc = '搜索条件', conf = { }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '手机设备列表', fmt = DictField(desc = "手机列表", conf = { 'id': IntField(desc = "id"), 'code': CharField(desc = "手机设备编码"), })) @classmethod def get_desc(cls): return "手机设备全部列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): mobile_devices_list = MobileDevicesServer.searchall(**request.search_info) return mobile_devices_list def fill(self, response, mobile_devices_list): response.data_list = [{ 'id': mobile_devices.id, 'code': mobile_devices.code, } for mobile_devices in mobile_devices_list] return response
class List(StaffAuthorizedApi): """获取权限列表""" request = with_metaclass(RequestFieldSet) response = with_metaclass(ResponseFieldSet) response.rule_list = ResponseField(ListField, desc = '权限列表', fmt = DictField(desc = "权限", conf = { 'flag': CharField(desc = "权限标示"), 'desc': CharField(desc = "权限描述"), })) @classmethod def get_desc(cls): return "获取权限列表" @classmethod def get_author(cls): return "Roy" def execute(self, request): rule_mapping = rule_register.get_rule_mapping() return rule_mapping def fill(self, response, rule_mapping): keys = list(rule_mapping.keys()) keys.sort() data_list = [{ 'flag': rule_mapping[key].all_key, 'desc': rule_mapping[key].desc, } for key in keys] response.rule_list = data_list return response
class Search(StaffAuthorizedApi): """产品搜索列表""" request = with_metaclass(RequestFieldSet) #request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc='搜索条件', conf={ 'id': CharField(desc="产品id", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField( ListField, desc='产品列表', fmt=DictField(desc="产品列表", conf={ 'id': IntField(desc="产品型号Id"), 'name': CharField(desc="型号名称"), 'rate': CharField(desc="默认费率表", is_required=False), 'remark': CharField(desc="备注", is_required=False), 'stock': CharField(desc="商品库存", is_required=False), 'create_time': DatetimeField(desc="创建时间", is_required=False), })) #response.total = ResponseField(IntField, desc = "数据总数") #response.total_page = ResponseField(IntField, desc = "总页码数") @classmethod def get_desc(cls): return "产品列表接口" @classmethod def get_author(cls): return "djd" def execute(self, request): #product_model_pages = ProductModelServer.search(request.current_page, **request.search_info) product_model_list = ProductModelServer.search(**request.search_info) return product_model_list def fill(self, response, product_model_list): response.data_list = [{ 'id': product.id, 'name': product.name, 'rate': product.rate, 'remark': product.remark, 'stock': product.stock, 'create_time': product.create_time, } for product in product_model_list] #response.total = product_model_pages.total #response.total_page = product_model_pages.total_page return response
class Search(StaffAuthorizedApi): """客户注册数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc = '搜索条件', conf = { 'code': CharField(desc = "客户编码", is_required = False), 'device_code': CharField(desc = "设备编码", is_required = False), 'status': CharField(desc = "执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required = False), 'create_time_start': DatetimeField(desc = "上传开始时间", is_required = False), 'create_time_end': DatetimeField(desc = "上传终止时间", is_required = False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '客户注册数据列表', fmt = DictField(desc = "客户注册数据列表", conf = { 'id': IntField(desc = "id"), 'agent_name': CharField(desc = "代理商名称"), 'code': CharField(desc = "客户编码"), 'phone': CharField(desc = "注册手机号"), 'name': CharField(desc = "客户姓名"), 'register_time': DatetimeField(desc = "注册时间"), 'bind_time': DatetimeField(desc = "绑定时间"), 'device_code': CharField(desc = "设备编码"), 'status': CharField(desc = "执行状态"), 'create_time': DatetimeField(desc = "创建时间"), 'error_text': CharField(desc = "错误提示"), })) response.total = ResponseField(IntField, desc = "数据总数") response.total_page = ResponseField(IntField, desc = "总页码数") @classmethod def get_desc(cls): return "客户注册数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_register_middleware.search(request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': register.id, 'agent_name': register.agent_name, 'code': register.code, 'phone': register.phone, 'name': register.name, 'register_time': register.register_time, 'bind_time': register.bind_time, 'device_code': register.device_code, 'status': register.status, 'create_time': register.create_time, 'error_text': register.error_text } for register in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Search(StaffAuthorizedApi): """商品列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc = '搜索条件', conf = { 'name': CharField(desc = "商品名称", is_required = False) }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '商品列表', fmt = DictField(desc = "商品列表", conf = { 'id': IntField(desc = "商品id"), 'name': CharField(desc = "商品名称"), 'alias': CharField(desc = "商品别名"), 'code': CharField(desc = "商品编码"), 'price': IntField(desc = "商品价格/分"), 'rate': CharField(desc = "商品费率"), 'introduction': CharField(desc = "商品简介"), 'thumbnail': CharField(desc = "商品缩略图"), 're_num': IntField(desc = "商品限购数量"), 'shop_id': IntField(desc = "店铺id"), 'shop_name': CharField(desc = "店铺名称"), 'create_time': DatetimeField(desc = "创建时间"), })) response.total = ResponseField(IntField, desc = "数据总数") response.total_page = ResponseField(IntField, desc = "总页码数") @classmethod def get_desc(cls): return "商品列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): goods_page = GoodsServer.search(request.current_page, **request.search_info) return goods_page def fill(self, response, goods_page): response.data_list = [{ 'id': goods.id, 'name': goods.name, 'alias': goods.alias, 'code': goods.code, 'price': goods.price, 'rate': goods.rate, 'introduction': goods.introduction, 'thumbnail': goods.thumbnail, 're_num': goods.re_num, 'shop_id': goods.shop.id if goods.shop else "", 'shop_name': goods.shop.name if goods.shop else "", 'create_time': goods.create_time, } for goods in goods_page.data] response.total = goods_page.total response.total_page = goods_page.total_page return response
class Search(StaffAuthorizedApi): """店铺列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc = '搜索条件', conf = { 'name': CharField(desc = "关键字", is_required = False), 'channel_id': IntField(desc = "店铺渠道id", is_required = False) }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '店铺列表', fmt = DictField(desc = "店铺列表", conf = { 'id': IntField(desc = "店铺id"), 'name': CharField(desc = "店铺名称"), 'freight': IntField(desc = "运费/分", is_required = False), 'single_repair_money': IntField(desc = "单次补单金额/分"), 'single_point_money': IntField(desc = "单次扣点金额/分"), 'is_distribution': IntField(desc = "是否为分销店铺(0否,1是)"), 'channel_id': CharField(desc = "渠道id"), 'channel_name': CharField(desc = "渠道名称"), 'remark': CharField(desc = "备注"), 'update_time': DatetimeField(desc = "更新时间"), 'create_time': DatetimeField(desc = "创建时间"), })) response.total = ResponseField(IntField, desc = "数据总数") response.total_page = ResponseField(IntField, desc = "总页码数") @classmethod def get_desc(cls): return "店铺列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): shop_page = ShopServer.search(request.current_page, **request.search_info) return shop_page def fill(self, response, shop_page): response.data_list = [{ 'id': shop.id, 'name': shop.name, 'freight': shop.freight, 'single_repair_money': shop.single_repair_money, 'single_point_money': shop.single_point_money, 'is_distribution': shop.is_distribution, 'channel_id': shop.channel.id if shop.channel else "", 'channel_name': shop.channel.name if shop.channel else "", 'remark': shop.remark, 'update_time': shop.update_time, 'create_time': shop.create_time, } for shop in shop_page.data] response.total = shop_page.total response.total_page = shop_page.total_page return response
class Search(StaffAuthorizedApi): """跟踪列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={'customer_id': IntField(desc="客户id", is_required=False)}) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='跟踪列表', fmt=DictField( desc="跟踪列表", conf={ 'id': IntField(desc="id"), 'staff_id': IntField(desc="客服id"), 'staff_name': CharField(desc="客服姓名"), 'remark': CharField(desc="备注"), 'create_time': DatetimeField(desc="记录时间"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "跟踪列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = TrackEventServer.search(request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': track_event.id, 'staff_id': track_event.staff.id, 'staff_name': track_event.staff.name, 'remark': track_event.remark, 'create_time': track_event.create_time, } for track_event in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Statistics(StaffAuthorizedApi): """员工绩效统计""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc = '搜索条件', conf = { }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '员工绩效统计列表', fmt = DictField(desc = "员工绩效统计列表", conf = { 'calculation_date': CharField(desc = "计算日期"), 'new_number': IntField(desc = "当日新分数据"), 'exhale_number': IntField(desc = "当日呼出数"), 'call_number': IntField(desc = "当日接通数"), 'call_rate': CharField(desc = "当日接通率"), 'wechat_number': IntField(desc = "当日添加微信数"), 'volume': IntField(desc = "当日成交量"), 'conversion_rate': CharField(desc = "当日转化率"), 'open_number': IntField(desc = "当日开通人数"), 'open_rate': CharField(desc = "当日开通率"), 'activation_number': IntField(desc = "当日激活人数"), 'activation_rate': CharField(desc = "当日激活率"), })) @classmethod def get_desc(cls): return "员工绩效统计列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): staff = self.auth_user staff_list = StaffPermiseServer.get_all_children_staff(staff) staff_list.append(staff) def fill(self, response, statistics_list): response.data_list = [{ 'calculation_date':item["calculation_date"], 'new_number':item["new_number"], 'exhale_number': item["exhale_number"], 'call_number': item["call_number"], 'call_rate': item["call_rate"], 'wechat_number': item["wechat_number"], 'volume': item["volume"], 'conversion_rate': item["conversion_rate"], 'open_number': item["open_number"], 'open_rate': item["open_rate"], 'activation_number': item["activation_number"], 'activation_rate': item["activation_rate"] } for item in statistics_list] return response
class SearchAll(StaffAuthorizedApi): """商品列表""" request = with_metaclass(RequestFieldSet) request.search_info = RequestField(DictField, desc = '搜索条件', conf = { }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '商品列表', fmt = DictField(desc = "商品列表", conf = { 'id': IntField(desc = "商品id"), 'name': CharField(desc = "商品名称"), 'alias': CharField(desc = "商品别名"), 'code': CharField(desc = "商品编码"), 'price': IntField(desc = "商品价格/分"), 'rate': CharField(desc = "商品费率"), 'introduction': CharField(desc = "商品简介"), 'thumbnail': CharField(desc = "商品缩略图"), 're_num': IntField(desc = "商品限购数量"), 'shop_id': IntField(desc = "店铺id"), 'shop_name': CharField(desc = "店铺名称"), 'create_time': DatetimeField(desc = "创建时间"), })) @classmethod def get_desc(cls): return "搜索全部商品列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): goods_list = GoodsServer.search_all() return goods_list def fill(self, response, goods_list): response.data_list = [{ 'id': goods.id, 'name': goods.name, 'alias': goods.alias, 'code': goods.code, 'price': goods.price, 'rate': goods.rate, 'introduction': goods.introduction, 'thumbnail': goods.thumbnail, 're_num': goods.re_num, 'shop_id': goods.shop.id if goods.shop else "", 'shop_name': goods.shop.name if goods.shop else "", 'create_time': goods.create_time, } for goods in goods_list] return response
class Search(StaffAuthorizedApi): """手机设备列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc = '搜索条件', conf = { 'code': CharField(desc = "手机设备编码", is_required = False) }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '手机设备列表', fmt = DictField(desc = "手机列表", conf = { 'id': IntField(desc = "id"), 'code': CharField(desc = "手机设备编码"), 'brand': CharField(desc = "手机品牌"), 'model': CharField(desc = "手机型号"), 'price': IntField(desc = "购买价格/分"), 'status': CharField(desc = "手机设备状态"), 'imei': CharField(desc = "手机imei号"), 'remark': CharField(desc = "备注"), 'create_time': DatetimeField(desc = "添加时间"), })) response.total = ResponseField(IntField, desc = "数据总数") response.total_page = ResponseField(IntField, desc = "总页码数") @classmethod def get_desc(cls): return "手机设备列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): mobile_devices_page = MobileDevicesServer.search(request.current_page, **request.search_info) return mobile_devices_page def fill(self, response, mobile_devices_page): response.data_list = [{ 'id': mobile_devices.id, 'code': mobile_devices.code, 'brand': mobile_devices.brand, 'model': mobile_devices.model, 'price': mobile_devices.price, 'status': mobile_devices.status, 'imei': mobile_devices.imei, 'remark': mobile_devices.remark, 'create_time': mobile_devices.create_time, } for mobile_devices in mobile_devices_page.data] response.total = mobile_devices_page.total response.total_page = mobile_devices_page.total_page return response
class SearchAllFaker(StaffAuthorizedApi): """员工列表""" request = with_metaclass(RequestFieldSet) request.search_info = RequestField(DictField, desc='搜索条件', conf={ 'keyword': CharField(desc="关键词", is_required=False), 'is_working': CharField(desc="是否在职", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField( ListField, desc='账号列表', fmt=DictField(desc="账号列表", conf={ 'id': IntField(desc="员工id"), 'name': CharField(desc="姓名"), 'number': CharField(desc="员工工号"), })) @classmethod def get_desc(cls): return "员工列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): cur_user = self.auth_user user_pro = UserRightServer(cur_user) request.search_info.update({"id__in": user_pro._staff_id_list}) staff_list = StaffServer.search_all(**request.search_info) return staff_list def fill(self, response, staff_list): response.data_list = [{ 'id': staff.id, 'name': staff.name, 'number': staff.number, } for staff in staff_list] return response
class SearchAll(StaffAuthorizedApi): """店铺渠道列表""" request = with_metaclass(RequestFieldSet) request.search_info = RequestField(DictField, desc='搜索条件', conf={}) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='店铺渠道列表', fmt=DictField( desc="店铺渠道列表", conf={ 'id': IntField(desc="店铺渠道id"), 'name': CharField(desc="店铺渠道名称"), 'freight': IntField(desc="运费/分"), 'single_repair_money': IntField(desc="单次补单金额/分"), 'single_point_money': IntField(desc="单次扣点金额/分"), })) @classmethod def get_desc(cls): return "搜索全部店铺渠道列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): channel_list = ChannelServer.search_all(**request.search_info) return channel_list def fill(self, response, channel_list): response.data_list = [{ 'id': channel.id, 'name': channel.name, 'freight': channel.freight, 'single_repair_money': channel.single_repair_money, 'single_point_money': channel.single_point_money, } for channel in channel_list] return response
class SearchByTrack(StaffAuthorizedApi): """根据销售机会查询跟踪列表""" request = with_metaclass(RequestFieldSet) request.sale_chance_id = RequestField(IntField, desc="销售机会id") response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='跟踪列表', fmt=DictField( desc="跟踪列表", conf={ 'id': IntField(desc="id"), 'staff_id': IntField(desc="客服id"), 'staff_name': CharField(desc="客服姓名"), 'remark': CharField(desc="备注"), 'create_time': DatetimeField(desc="记录时间"), })) @classmethod def get_desc(cls): return "根据销售机会查询跟踪列表" @classmethod def get_author(cls): return "fsy" def execute(self, request): sale_chance = SaleChanceServer.get(request.sale_chance_id) track_list = TrackEventServer.search_by_sale_chance(sale_chance) return track_list def fill(self, response, track_list): response.data_list = [{ 'id': track_event.id, 'staff_id': track_event.staff.id, 'staff_name': track_event.staff.name, 'remark': track_event.remark, 'create_time': track_event.create_time, } for track_event in track_list] return response
class List(StaffAuthorizedApi): """获取部门列表""" request = with_metaclass(RequestFieldSet) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField( ListField, desc='部门列表', fmt=DictField(desc="部门列表", conf={ 'id': IntField(desc="部门id"), 'name': CharField(desc="部门名称"), 'parent_id': IntField(desc="上级部门id"), 'parent_name': CharField(desc="上级部门名称"), 'describe': CharField(desc="部门描述"), 'status': BooleanField(desc="部门状态(0, 1)"), 'update_time': DatetimeField(desc="部门最后一次编辑时间"), })) @classmethod def get_desc(cls): return "部门列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): department_list = department_middleware.get_all_list() return department_list def fill(self, response, department_list): data_list = [{ 'id': department.id, 'name': department.name, 'parent_id': department.parent_id, 'parent_name': department.parent_id, 'describe': department.describe, 'status': department.status, 'update_time': department.update_time, } for department in department_list] response.data_list = data_list return response
class Match(StaffAuthorizedApi): request = with_metaclass(RequestFieldSet) request.keyword = RequestField(CharField, desc="匹配信息(店铺渠道名称)") request.size = RequestField(IntField, desc="返回数量") response = with_metaclass(ResponseFieldSet) response.match_list = ResponseField(ListField, desc='店铺渠道列表', fmt=DictField( desc="店铺渠道列表", conf={ 'id': IntField(desc="店铺渠道id"), 'name': CharField(desc="店铺渠道名称"), 'single_repair_money': IntField(desc="单次补单金额/分"), 'single_point_money': IntField(desc="单次扣点金额/分"), })) @classmethod def get_desc(cls): return "通过店铺渠道名称匹配渠道基础信息" @classmethod def get_author(cls): return "Fsy" def execute(self, request): channel_list = ChannelServer.match(request.keyword, request.size) return channel_list def fill(self, response, channel_list): response.match_list = [{ 'id': channel.id, 'name': channel.name, 'single_repair_money': channel.name, 'single_point_money': channel.name, } for channel in channel_list] return response
class List(StaffAuthorizedApi): """获取角色列表""" request = with_metaclass(RequestFieldSet) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField( ListField, desc='角色列表', fmt=DictField(desc="角色列表", conf={ 'id': IntField(desc="角色id"), 'name': CharField(desc="角色名称"), 'parent_id': IntField(desc="上级角色id"), 'describe': CharField(desc="角色描述"), 'status': BooleanField(desc="角色状态(0, 1)"), 'update_time': DatetimeField(desc="角色最后一次编辑时间"), })) @classmethod def get_desc(cls): return "角色列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): role_list = role_middleware.get_all_list() return role_list def fill(self, response, role_list): data_list = [{ 'id': role.id, 'name': role.name, 'parent_id': role.parent_id, 'describe': role.describe, 'status': role.status, 'update_time': role.update_time, } for role in role_list] response.data_list = data_list return response
class Match(StaffAuthorizedApi): request = with_metaclass(RequestFieldSet) request.keyword = RequestField(CharField, desc="匹配信息") request.size = RequestField(IntField, desc="返回数量", is_required=False) response = with_metaclass(ResponseFieldSet) response.match_list = ResponseField(ListField, desc='账号列表', fmt=DictField( desc="账号列表", conf={ 'id': IntField(desc="员工id"), 'name': CharField(desc="姓名"), 'gender': CharField(desc="性别"), 'number': CharField(desc="工号"), 'phone': CharField(desc="手机号"), })) @classmethod def get_desc(cls): return "通过员工部分姓名匹配员工基础信息" @classmethod def get_author(cls): return "Roy" def execute(self, request): staff_list = StaffServer.match(request.keyword, request.size) return staff_list def fill(self, response, staff_list): response.match_list = [{ 'id': staff.id, 'name': staff.name, 'gender': staff.gender, 'number': staff.number, 'phone': staff.phone, 'email': staff.email, } for staff in staff_list] return response
class SearchAll(StaffAuthorizedApi): """店铺列表""" request = with_metaclass(RequestFieldSet) request.search_info = RequestField(DictField, desc = '搜索条件', conf = { 'channel_id': IntField(desc = "店铺渠道id", is_required = False) }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '店铺列表', fmt = DictField(desc = "店铺列表", conf = { 'id': IntField(desc = "店铺id"), 'name': CharField(desc = "店铺名称"), })) @classmethod def get_desc(cls): return "搜索全部店铺列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): if "channel_id" in request.search_info: channel = ChannelServer.get(request.search_info["channel_id"]) request.search_info.update({"channel":channel}) shop_list = ShopServer.search_all(**request.search_info) return shop_list def fill(self, response, shop_list): response.data_list = [{ 'id': shop.id, 'name': shop.name, } for shop in shop_list] return response
class Search(StaffAuthorizedApi): """客户列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={'name': CharField(desc="客户姓名", is_required=False)}) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='客户列表', fmt=DictField( desc="客户列表", conf={ 'id': IntField(desc="id"), 'name': CharField(desc="姓名"), 'gender': CharField(desc="性别"), 'birthday': CharField(desc="出身年月"), 'email': CharField(desc="邮箱"), 'phone': CharField(desc="手机号"), 'wechat': CharField(desc="微信号"), 'city': CharField(desc="城市"), 'address': CharField(desc="详细地址"), 'mobilephone': CharField(desc="设备编码"), 'create_time': DatetimeField(desc="进入时间"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "客户列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = CustomerServer.search(request.current_page, **request.search_info) # MobileDevicesServer.hung_devices_byphone(page_list.data) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': customer.id, 'name': customer.name, 'gender': customer.gender, 'birthday': customer.birthday, 'email': customer.email, 'phone': customer.phone, 'wechat': customer.wechat, 'city': customer.city, 'address': customer.address, 'mobilephone': customer.mobiledevices.code if customer.mobiledevices else "", 'create_time': customer.create_time, } for customer in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Search(StaffAuthorizedApi): """员工导入数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={ 'name': CharField(desc="员工姓名", is_required=False), 'status': CharField(desc="执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required=False), 'create_time_start': DatetimeField(desc="上传开始时间", is_required=False), 'create_time_end': DatetimeField(desc="上传终止时间", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='员工数据列表', fmt=DictField( desc="员工数据列表", conf={ 'id': IntField(desc="id"), 'name': CharField(desc="姓名"), 'position': CharField(desc="职位"), 'department': CharField(desc="部门"), 'phone': CharField(desc="手机号"), 'gender': CharField(desc="性别"), 'identity': CharField(desc="身份证号"), 'birthday': DateField(desc="生日"), 'age': IntField(desc="年龄"), 'emergency_contact': CharField(desc="紧急联系人"), 'emergency_phone': CharField(desc="紧急联系人电话"), 'address': CharField(desc="详细地址"), 'entry_time': DateField(desc="入职时间"), 'education': CharField(desc="学历"), 'bank_number': CharField(desc="招行卡号"), 'contract_b': CharField(desc="合同编号(必)"), 'contract_l': CharField(desc="合同编号(立)"), 'expire_time': DateField(desc="到期时间"), 'is_on_job': CharField(desc="是否在职"), 'quit_time': DateField(desc="离职时间"), 'status': CharField(desc="状态"), 'remark': CharField(desc="备注"), 'create_time': DatetimeField(desc="创建时间"), 'error_text': CharField(desc="错误提示"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "员工导入数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_staff_middleware.search(request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': staff.id, 'name': staff.name, 'position': staff.position, 'department': staff.department, 'phone': staff.phone, 'gender': staff.gender, 'identity': staff.identity, 'birthday': staff.birthday, 'age': staff.age, 'emergency_contact': staff.emergency_contact, 'emergency_phone': staff.emergency_phone, 'address': staff.address, 'entry_time': staff.entry_time, 'education': staff.education, 'bank_number': staff.bank_number, 'contract_b': staff.contract_b, 'contract_l': staff.contract_l, 'expire_time': staff.expire_time, 'is_on_job': staff.is_on_job, 'quit_time': staff.quit_time, 'status': staff.status, 'remark': staff.remark, 'create_time': staff.create_time, 'error_text': staff.error_text, } for staff in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Search(StaffAuthorizedApi): """客户流水数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={ 'code': CharField(desc="客户编码", is_required=False), 'status': CharField(desc="执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required=False), 'create_time_start': DatetimeField(desc="上传开始时间", is_required=False), 'create_time_end': DatetimeField(desc="上传终止时间", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='客户流水数据列表', fmt=DictField( desc="客户流水数据列表", conf={ 'id': IntField(desc="id"), 'agent_name': CharField(desc="代理商名称"), 'service_code': CharField(desc="服务编码"), 'code': CharField(desc="客户编码"), 'phone': CharField(desc="手机号"), 'transaction_year': DateField(desc="交易日期"), 'transaction_day': CharField(desc="交易时间"), 'transaction_code': CharField(desc="流水编号"), 'transaction_money': IntField(desc="交易金额"), 'fee': IntField(desc="手续费/分"), 'rate': IntField(desc="客户费率"), 'other_fee': IntField(desc="其他手续费/分"), 'transaction_status': CharField(desc="交易状态"), 'type': CharField(desc="号段类型"), 'status': CharField(desc="状态"), 'create_time': DatetimeField(desc="创建时间"), 'error_text': CharField(desc="错误提示"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "客户流水数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_transaction_middleware.search( request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': transaction.id, 'agent_name': transaction.agent_name, 'service_code': transaction.service_code, 'code': transaction.code, 'phone': transaction.phone, 'transaction_year': transaction.transaction_year, 'transaction_day': transaction.transaction_day, 'transaction_code': transaction.transaction_code, 'transaction_money': transaction.transaction_money, 'fee': transaction.fee, 'rate': transaction.rate, 'other_fee': transaction.other_fee, 'transaction_status': transaction.transaction_status, 'type': transaction.type, 'status': transaction.status, 'create_time': transaction.create_time, 'error_text': transaction.error_text, } for transaction in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Search(StaffAuthorizedApi): """设备入库数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={ 'add_time': DateField(desc="添加日期", is_required=False), 'status': CharField(desc="执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required=False), 'create_time_start': DatetimeField(desc="上传开始时间", is_required=False), 'create_time_end': DatetimeField(desc="上传终止时间", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='客户返利数据列表', fmt=DictField( desc="客户返利数据列表", conf={ 'id': IntField(desc="id"), 'add_time': CharField(desc="添加时间"), 'agent_name': CharField(desc="代理商名称"), 'product_type': CharField(desc="产品类型"), 'product_model': CharField(desc="产品型号"), 'min_number': CharField(desc="起始号段"), 'max_number': CharField(desc="终止号段"), 'quantity': CharField(desc="入库数量"), 'status': CharField(desc="状态"), 'remark': CharField(desc="备注"), 'create_time': DatetimeField(desc="创建时间"), 'error_text': CharField(desc="错误提示"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "设备入库数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_equipment_in_middleware.search( request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': equipmentin.id, 'add_time': equipmentin.add_time, 'agent_name': equipmentin.agent_name, 'product_type': equipmentin.product_type, 'product_model': equipmentin.product_model, 'min_number': equipmentin.min_number, 'max_number': equipmentin.max_number, 'quantity': equipmentin.quantity, 'status': equipmentin.status, 'remark': equipmentin.remark, 'create_time': equipmentin.create_time, 'error_text': equipmentin.error_text } for equipmentin in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Search(StaffAuthorizedApi): """手机设备导入数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc = "当前查询页码") request.search_info = RequestField(DictField, desc = '搜索条件', conf = { 'mobile_code': CharField(desc = "手机编号", is_required = False), 'status': CharField(desc = "执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required = False), 'create_time_start': DatetimeField(desc = "上传开始时间", is_required = False), 'create_time_end': DatetimeField(desc = "上传终止时间", is_required = False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc = '手机设备导入数据列表', fmt = DictField(desc = "手机设备导入数据列表", conf = { 'id': IntField(desc = "id"), 'group_leader': CharField(desc = "组长姓名"), 'mobile_code': CharField(desc = "手机编号"), 'group_member': CharField(desc = "组员姓名"), 'wechat_nick': CharField(desc = "微信昵称"), 'wechat_number': CharField(desc = "微信号"), 'wechat_password': CharField(desc = "微信密码"), 'pay_password': CharField(desc = "微信支付密码"), 'wechat_remark': CharField(desc = "微信号备注"), 'department': CharField(desc = "部门"), 'phone_number': CharField(desc = "手机号"), 'operator': CharField(desc = "运营商"), 'real_name': CharField(desc = "实名人姓名"), 'phone_remark': CharField(desc = "手机号备注"), 'flow_card_number': CharField(desc = "流量卡号"), 'imei': CharField(desc = "手机imei号"), 'brand': CharField(desc = "手机品牌"), 'model': CharField(desc = "手机型号"), 'price': IntField(desc = "购买价格/分"), 'mobile_status': CharField(desc = "手机设备状态"), 'mobile_remark': CharField(desc = "手机设备备注"), 'phone_change': CharField(desc = "手机变更信息"), 'status': CharField(desc = "状态"), 'create_time': DatetimeField(desc = "创建时间"), 'error_text': CharField(desc = "错误提示"), })) response.total = ResponseField(IntField, desc = "数据总数") response.total_page = ResponseField(IntField, desc = "总页码数") @classmethod def get_desc(cls): return "手机设备导入数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_mobile_devices_middleware.search(request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': mobile_devices.id, 'group_leader': mobile_devices.group_leader, 'mobile_code': mobile_devices.mobile_code, 'group_member': mobile_devices.group_member, 'wechat_nick': mobile_devices.wechat_nick, 'wechat_number': mobile_devices.wechat_number, 'wechat_password': mobile_devices.wechat_password, 'pay_password': mobile_devices.pay_password, 'wechat_remark': mobile_devices.wechat_remark, 'department': mobile_devices.department, 'phone_number': mobile_devices.phone_number, 'operator': mobile_devices.operator, 'real_name': mobile_devices.real_name, 'phone_remark': mobile_devices.phone_remark, 'flow_card_number': mobile_devices.flow_card_number, 'imei': mobile_devices.imei, 'brand': mobile_devices.brand, 'model': mobile_devices.model, 'price': mobile_devices.price, 'mobile_status': mobile_devices.mobile_status, 'mobile_remark': mobile_devices.mobile_remark, 'phone_change': mobile_devices.phone_change, 'status': mobile_devices.status, 'create_time': mobile_devices.create_time, 'error_text': mobile_devices.error_text, } for mobile_devices in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class GetByadmin(StaffAuthorizedApi): """获取员工账号及个人信息""" request = with_metaclass(RequestFieldSet) request.user_id = RequestField(IntField, desc='员工id') response = with_metaclass(ResponseFieldSet) response.user_info = ResponseField( DictField, desc='员工详情', conf={ 'id': IntField(desc="员工id"), 'name': CharField(desc="姓名"), 'gender': CharField(desc="性别"), 'number': CharField(desc="工号"), 'phone': CharField(desc="手机号"), 'email': CharField(desc="邮箱"), 'birthday': DateField(desc="生日"), 'identity': CharField(desc="身份证"), 'emergency_contact': CharField(desc="紧急联系人"), 'emergency_phone': CharField(desc="紧急联系人电话"), 'address': CharField(desc="家庭住址"), 'entry_time': DateField(desc="入职时间"), 'education': CharField(desc="学历"), 'bank_number': CharField(desc="招行卡号"), 'contract_b': CharField(desc="合同编号(必)"), 'contract_l': CharField(desc="合同编号(立)"), 'expire_time': DateField(desc="到期时间"), 'quit_time': DateField(desc="离职时间"), 'is_working': IntField(desc="是否在职(0离职,1在职)"), 'role_list': ListField(desc='所属角色', fmt=DictField(desc="角色信息", conf={ 'role_id': IntField(desc="角色id"), 'role_name': CharField(desc="角色名称"), })), 'department_list': ListField(desc='所属部门', fmt=DictField(desc="部门信息", conf={ 'department_id': IntField(desc="部门id"), 'department_name': CharField(desc="部门名称"), })), }) @classmethod def get_desc(cls): return "账号员工详情接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): staff_admin = self.auth_user StaffServer.judge_staff_role(staff_admin) staff = StaffServer.get(request.user_id) staff = StaffPermiseServer.hung_permise_bystaff(staff) # staff_list = StaffAccountServer.hung_account_forstaffs(staff_list) return staff def fill(self, response, staff): response.user_info = { 'id': staff.id, 'name': staff.name, 'gender': staff.gender, 'number': staff.number, 'phone': staff.phone, 'email': staff.email, 'birthday': staff.birthday, 'identity': staff.identity, 'emergency_contact': staff.emergency_contact, 'emergency_phone': staff.emergency_phone, 'address': staff.address, 'entry_time': staff.entry_time, 'education': staff.education, 'bank_number': staff.bank_number, 'contract_b': staff.contract_b, 'contract_l': staff.contract_l, 'expire_time': staff.expire_time, 'is_working': staff.is_working, 'role_list': [{ 'role_id': role.id, 'role_name': role.name } for role in staff.role_list], 'department_list': [{ 'department_id': department.id, 'department_name': department.name } for department in staff.department_list] } return response
class Search(StaffAuthorizedApi): """员工搜索列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField(DictField, desc='搜索条件', conf={ 'keyword': CharField(desc="关键词", is_required=False), 'department': IntField(desc="部门查询", is_required=False), 'role': IntField(desc="角色查询", is_required=False), 'is_working': BooleanField(desc="是否在职", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField( ListField, desc='员工列表', fmt=DictField(desc="员工列表", conf={ 'id': IntField(desc="员工id"), 'username': CharField(desc="账号"), 'name': CharField(desc="姓名"), 'gender': CharField(desc="性别"), 'number': CharField(desc="工号"), 'phone': CharField(desc="手机号"), 'email': CharField(desc="邮箱"), 'status': CharField(desc="账号状态"), 'birthday': DateField(desc="生日"), 'identity': CharField(desc="身份证"), 'address': CharField(desc="家庭住址"), 'emergency_contact': CharField(desc="紧急联系人"), 'emergency_phone': CharField(desc="紧急联系人电话"), 'entry_time': DateField(desc="入职时间"), 'education': CharField(desc="学历"), 'bank_number': CharField(desc="招行卡号"), 'contract_b': CharField(desc="合同编号(必)"), 'contract_l': CharField(desc="合同编号(立)"), 'expire_time': DateField(desc="到期时间"), 'quit_time': DateField(desc="离职时间"), 'is_working': IntField(desc="是否在职(0离职,1在职)"), 'last_login_time': DatetimeField(desc="最后登陆时间"), 'last_login_ip': CharField(desc="最后登陆ip"), 'role_list': ListField(desc='所属角色', fmt=DictField(desc="角色信息", conf={ 'role_id': IntField(desc="角色id"), 'role_name': CharField(desc="角色名称"), })), 'department_list': ListField(desc='所属部门', fmt=DictField(desc="部门信息", conf={ 'department_id': IntField(desc="部门id"), 'department_name': CharField(desc="部门名称"), })), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "员工列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): cur_user = self.auth_user user_pro = UserRightServer(cur_user) request.search_info['cur_user'] = user_pro staff_pages = StaffServer.search(request.current_page, **request.search_info) staff_list = StaffPermiseServer.hung_permise_forstaffs( staff_pages.data) staff_list = StaffAccountServer.hung_account_forstaffs(staff_list) staff_pages.data = staff_list return staff_pages def fill(self, response, staff_pages): response.data_list = [{ 'id': staff.id, 'username': staff.account.username if staff.account else "", 'name': staff.name, 'gender': staff.gender, 'number': staff.number, 'phone': staff.phone, 'email': staff.email, 'status': staff.account.status if staff.account else "", 'birthday': staff.birthday if staff.birthday else "", 'identity': staff.identity, 'emergency_contact': staff.emergency_contact, 'emergency_phone': staff.emergency_phone, 'address': staff.address, 'entry_time': staff.entry_time if staff.entry_time else "", 'education': staff.education, 'bank_number': staff.bank_number, 'contract_b': staff.contract_b, 'contract_l': staff.contract_l, 'expire_time': staff.expire_time if staff.expire_time else "", 'quit_time': staff.quit_time if staff.quit_time else "", 'is_working': staff.is_working, 'last_login_time': staff.account.last_login_time if staff.account and staff.account.last_login_time else "", 'last_login_ip': staff.account.last_login_ip if staff.account else "", 'role_list': [{ 'role_id': role.id, 'role_name': role.name } for role in staff.role_list], 'department_list': [{ 'department_id': department.id, 'department_name': department.name } for department in staff.department_list] } for staff in staff_pages.data] response.total = staff_pages.total response.total_page = staff_pages.total_page return response
class Search(StaffAuthorizedApi): """客户返利数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={ 'code': CharField(desc="客户编码", is_required=False), 'status': CharField(desc="执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required=False), 'create_time_start': DatetimeField(desc="上传开始时间", is_required=False), 'create_time_end': DatetimeField(desc="上传终止时间", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='客户返利数据列表', fmt=DictField( desc="客户返利数据列表", conf={ 'id': IntField(desc="id"), 'agent_id': CharField(desc="代理商ID"), 'agent_name': CharField(desc="代理商名称"), 'code': CharField(desc="客户编码"), 'name': CharField(desc="客户名称"), 'phone': CharField(desc="注册手机号"), 'activity_type': CharField(desc="活动类型"), 'device_code': CharField(desc="设备编码"), 'register_time': DatetimeField(desc="注册时间"), 'bind_time': DatetimeField(desc="绑定时间"), 'month': DateField(desc="交易月份"), 'transaction_amount': IntField(desc="交易金额/分"), 'effective_amount': IntField(desc="有效金额/分"), 'accumulate_amount': IntField(desc="当月累计交易金额/分"), 'history_amount': IntField(desc="历史累计交易金额/分"), 'type': CharField(desc="号段类型"), 'is_rebate': CharField(desc="是否返利"), 'status': CharField(desc="状态"), 'remark': CharField(desc="备注"), 'create_time': DatetimeField(desc="创建时间"), 'error_text': CharField(desc="错误提示"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "客户返利数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_rebate_middleware.search(request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': rebate.id, 'agent_id': rebate.agent_id, 'agent_name': rebate.agent_name, 'code': rebate.code, 'name': rebate.name, 'phone': rebate.phone, 'activity_type': rebate.activity_type, 'device_code': rebate.device_code, 'register_time': rebate.register_time, 'bind_time': rebate.bind_time, 'month': rebate.month, 'transaction_amount': rebate.transaction_amount, 'effective_amount': rebate.effective_amount, 'accumulate_amount': rebate.accumulate_amount, 'history_amount': rebate.history_amount, 'type': rebate.type, 'is_rebate': rebate.is_rebate, 'status': rebate.status, 'remark': rebate.remark, 'create_time': rebate.create_time, 'error_text': rebate.error_text, } for rebate in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response
class Search(StaffAuthorizedApi): """手机号导入数据列表""" request = with_metaclass(RequestFieldSet) request.current_page = RequestField(IntField, desc="当前查询页码") request.search_info = RequestField( DictField, desc='搜索条件', conf={ 'phone_number': CharField(desc="手机号", is_required=False), 'status': CharField(desc="执行状态(初始化:init,执行中:excutting,已完成:finish,失败:failed)", is_required=False), 'create_time_start': DatetimeField(desc="上传开始时间", is_required=False), 'create_time_end': DatetimeField(desc="上传终止时间", is_required=False), }) response = with_metaclass(ResponseFieldSet) response.data_list = ResponseField(ListField, desc='手机设备导入数据列表', fmt=DictField( desc="手机设备导入数据列表", conf={ 'id': IntField(desc="id"), 'name': CharField(desc="姓名"), 'identity': CharField(desc="身份证号"), 'phone_number': CharField(desc="手机号"), 'department': CharField(desc="部门"), 'is_working': CharField(desc="在职情况"), 'card_password': CharField(desc="手机卡密码"), 'operator': CharField(desc="运营商"), 'rent': IntField(desc="月租"), 'phone_status': CharField(desc="手机号状态"), 'phone_remark': CharField(desc="手机号备注"), 'status': CharField(desc="状态"), 'create_time': DatetimeField(desc="创建时间"), 'error_text': CharField(desc="错误提示"), })) response.total = ResponseField(IntField, desc="数据总数") response.total_page = ResponseField(IntField, desc="总页码数") @classmethod def get_desc(cls): return "手机号导入数据列表接口" @classmethod def get_author(cls): return "fsy" def execute(self, request): page_list = import_mobile_phone_middleware.search( request.current_page, **request.search_info) return page_list def fill(self, response, page_list): response.data_list = [{ 'id': mobile_phone.id, 'name': mobile_phone.name, 'identity': mobile_phone.identity, 'phone_number': mobile_phone.phone_number, 'department': mobile_phone.department, 'is_working': mobile_phone.is_working, 'card_password': mobile_phone.card_password, 'operator': mobile_phone.operator, 'rent': mobile_phone.rent, 'phone_status': mobile_phone.phone_status, 'phone_remark': mobile_phone.phone_remark, 'status': mobile_phone.status, 'create_time': mobile_phone.create_time, 'error_text': mobile_phone.error_text, } for mobile_phone in page_list.data] response.total = page_list.total response.total_page = page_list.total_page return response