Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
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
Ejemplo n.º 13
0
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
Ejemplo n.º 14
0
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
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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
Ejemplo n.º 17
0
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
Ejemplo n.º 18
0
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
Ejemplo n.º 19
0
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
Ejemplo n.º 20
0
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
Ejemplo n.º 21
0
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
Ejemplo n.º 22
0
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
Ejemplo n.º 23
0
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
Ejemplo n.º 24
0
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
Ejemplo n.º 25
0
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
Ejemplo n.º 26
0
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
Ejemplo n.º 27
0
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
Ejemplo n.º 28
0
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
Ejemplo n.º 29
0
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
Ejemplo n.º 30
0
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