예제 #1
0
class Update(StaffAuthorizedApi):
    """修改店铺信息"""
    request = with_metaclass(RequestFieldSet)
    request.shop_id = RequestField(IntField, desc = '店铺id')
    request.shop_info = RequestField(DictField, desc = "店铺详情", conf = {
        'name': CharField(desc = "店铺名称"),
        'freight': IntField(desc = "运费/分", is_required = False),
        'channel_id': IntField(desc = "店铺渠道id", is_required = False),
        'single_repair_money': CharField(desc = "单次补单金额/分", is_required = False),
        'single_point_money': CharField(desc = "单次扣点金额/分", is_required = False),
        'is_distribution': BooleanField(desc = "是否为分销店铺(0否,1是)", is_required = False),
        'remark': CharField(desc = "备注", is_required = False),

    })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "修改店铺接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        shop = ShopServer.get(request.shop_id)
        ShopServer.is_name_exist(request.shop_info["name"], shop)

        if 'channel_id' in request.shop_info:
            channel = ChannelServer.get(request.shop_info['channel_id'])
            request.shop_info.update({'channel': channel})
        ShopServer.update(shop, **request.shop_info)
    def fill(self, response):
        return response
예제 #2
0
class Add(StaffAuthorizedApi):
    """添加员工绩效"""
    request = with_metaclass(RequestFieldSet)
    request.measure_staff_info = RequestField(DictField, desc = "员工绩效", conf = {
        'staff_id': IntField(desc = "客服id"),
        'new_number': IntField(desc = "当日新分数据,", is_required = False),
        'exhale_number': IntField(desc = "当日呼出数", is_required = False),
        'call_number': IntField(desc = "当日接通数", is_required = False),
        'wechat_number': IntField(desc = "添加微信数", is_required = False),
        'report_date': DateField(desc = "报表日期"),
        'remark': CharField(desc = "备注", is_required = False),
    })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "员工绩效添加接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        record_staff = self.auth_user
        staff = StaffServer.get(request.measure_staff_info["staff_id"])
        request.measure_staff_info.update({'record': record_staff, 'staff':staff})
        MeasureStaffServer.generate(**request.measure_staff_info)

    def fill(self, response):
        return response
예제 #3
0
class Update(StaffAuthorizedApi):
    """修改员工绩效信息"""
    request = with_metaclass(RequestFieldSet)
    request.measure_staff_id = RequestField(IntField, desc = '员工绩效id')
    request.measure_staff_info = RequestField(DictField, desc = "员工绩效详情", conf = {
        'staff_id': IntField(desc = "客服id"),
        'new_number': IntField(desc = "当日新分数据,", is_required = False),
        'exhale_number': IntField(desc = "当日呼出数", is_required = False),
        'call_number': IntField(desc = "当日接通数", is_required = False),
        'wechat_number': IntField(desc = "添加微信数", is_required = False),
        'report_date': DateField(desc = "报表日期"),
        'remark': CharField(desc = "备注", is_required = False),
    })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "修改员工绩效接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
       MeasureStaffServer.update(request.measure_staff_id, **request.measure_staff_info)

    def fill(self, response):
        return response
예제 #4
0
class Update(StaffAuthorizedApi):
    """修改手机设备信息"""
    request = with_metaclass(RequestFieldSet)
    request.mobile_devices_id = RequestField(IntField, desc = 'id')
    request.mobile_devices_info = RequestField(DictField, desc = "手机设备详情", conf = {
        'code': CharField(desc = "手机设备编码"),
        'brand': CharField(desc = "手机品牌", is_required = False),
        'model': CharField(desc = "手机型号", is_required = False),
        'price': IntField(desc = "购买价格/分", is_required = False),
        'imei': IntField(desc = "手机imei号", is_required = False),
        'status': CharField(desc = "手机设备状态(normal:正常,scrap:报废,idle:闲置,other:其它)", is_required = False),
        'remark': CharField(desc = "备注", is_required = False),
    })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "修改手机设备接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        mobile_devices = MobileDevicesServer.get(request.mobile_devices_id)
        MobileDevicesServer.is_code_exist(request.mobile_devices_info["code"], mobile_devices)
        MobileDevicesServer.update(mobile_devices, **request.mobile_devices_info)

    def fill(self, response):
        return response
예제 #5
0
class Update(StaffAuthorizedApi):
    """设备入库数据修改"""
    request = with_metaclass(RequestFieldSet)
    request.equipment_in_id = RequestField(IntField, desc='设备入库信息id')
    request.equipment_in_info = RequestField(DictField,
                                             desc="设备入库信息详情",
                                             conf={
                                                 'min_number':
                                                 IntField(desc="起始号段",
                                                          is_required=False),
                                                 'max_number':
                                                 IntField(desc="终止号段",
                                                          is_required=False),
                                             })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "设备入库数据修改接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        import_equipment_in_middleware.update(request.equipment_in_id,
                                              **request.equipment_in_info)

    def fill(self, response):
        return response
예제 #6
0
class Add(StaffAuthorizedApi):
    """添加店铺"""
    request = with_metaclass(RequestFieldSet)
    request.shop_info = RequestField(DictField, desc = "店铺详情", conf = {
        'name': CharField(desc = "店铺名称"),
        'freight': IntField(desc = "运费/分", is_required = False),
        'single_repair_money': IntField(desc = "单次补单金额/分", is_required = False),
        'single_point_money': IntField(desc = "单次扣点金额/分", is_required = False),
        'is_distribution': BooleanField(desc = "是否为分销店铺(0否,1是)", is_required = False, choices = [(0, "是"), (1, "否")]),
        'channel_id': IntField(desc = "店铺渠道id", is_required = False),
        'remark': CharField(desc = "备注", is_required = False),
    })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "店铺添加接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        ShopServer.is_name_exist(request.shop_info['name'])
        channel = ChannelServer.get(request.shop_info['channel_id'])
        request.shop_info.update({'channel': channel})
        ShopServer.generate(**request.shop_info)

    def fill(self, response):
        return response
예제 #7
0
class Update(StaffAuthorizedApi):
    """修改产品详情"""
    request = with_metaclass(RequestFieldSet)
    request.product_info = RequestField(DictField,
                                        desc="用户详情",
                                        conf={
                                            'id':
                                            IntField(desc="商品ID"),
                                            'name':
                                            CharField(desc="商品名称",
                                                      is_required=False),
                                            'alias':
                                            CharField(desc="商品别名",
                                                      is_required=False),
                                            'introduction':
                                            CharField(desc="商品简介",
                                                      is_required=False),
                                            'details':
                                            CharField(desc="商品详情",
                                                      is_required=False),
                                            'thumbnail':
                                            CharField(desc="商品缩略图",
                                                      is_required=False),
                                            'images':
                                            CharField(desc="商品banner图",
                                                      is_required=False),
                                            'postage':
                                            IntField(desc="商品邮费/分",
                                                     is_required=False),
                                            'rebate_money':
                                            IntField(desc="返利金额/分",
                                                     is_required=False),
                                            'p_type':
                                            CharField(desc="类型",
                                                      is_required=False),
                                            'code':
                                            CharField(desc="编号",
                                                      is_required=False),
                                            'provider':
                                            CharField(desc="供应商",
                                                      is_required=False),
                                        })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "产品修改接口"

    @classmethod
    def get_author(cls):
        return "djd"

    def execute(self, request):
        ProductOperateServer.update(**request.product_info)

    def fill(self, response):
        return response
예제 #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
예제 #9
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
예제 #10
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
예제 #11
0
 def get_fields(self):
     check_list = [
         ['add_time', ExcelDateTimeField(desc="添加时间")],
         ['agent_name', CharField(desc="代理商名称")],
         ['product_type', CharField(desc="产品类型")],
         ['product_model', CharField(desc="产品型号")],
         ['min_number', IntField(desc="起始号段")],
         ['max_number', IntField(desc="终止号段")],
         ['quantity', IntField(desc="入库数量")],
         ['remark', CharField(desc="到货备注")],
     ]
     return check_list
예제 #12
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
예제 #13
0
class Get(StaffAuthorizedApi):
    """获取店铺渠道详情"""
    request = with_metaclass(RequestFieldSet)
    request.channel_id = RequestField(IntField, desc='店铺渠道id')

    response = with_metaclass(ResponseFieldSet)
    response.channel_info = ResponseField(DictField,
                                          desc="店铺渠道详情",
                                          conf={
                                              'id':
                                              IntField(desc="店铺渠道id"),
                                              'name':
                                              CharField(desc="店铺渠道名称"),
                                              'freight':
                                              IntField(desc="运费/分"),
                                              'single_repair_money':
                                              IntField(desc="单次补单金额/分"),
                                              'single_point_money':
                                              IntField(desc="单次扣点金额/分"),
                                              'remark':
                                              CharField(desc="备注"),
                                              'update_time':
                                              DatetimeField(desc="更新时间"),
                                              'create_time':
                                              DatetimeField(desc="创建时间"),
                                          })

    @classmethod
    def get_desc(cls):
        return "店铺渠道详情接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        channel = ChannelServer.get(request.channel_id)
        return channel

    def fill(self, response, channel):
        response.channel_info = {
            'id': channel.id,
            'name': channel.name,
            'single_repair_money': channel.single_repair_money,
            'single_point_money': channel.single_point_money,
            'remark': channel.remark,
            'update_time': channel.update_time,
            'create_time': channel.create_time,
        }
        return response
예제 #14
0
class Get(StaffAuthorizedApi):
    """角色详情"""
    request = with_metaclass(RequestFieldSet)
    request.role_id = RequestField(IntField, desc='角色id')

    response = with_metaclass(ResponseFieldSet)
    response.role_info = ResponseField(DictField,
                                       desc="角色信息",
                                       conf={
                                           'id':
                                           IntField(desc="角色id"),
                                           'name':
                                           CharField(desc="角色名称"),
                                           'parent_id':
                                           IntField(desc="上级角色id"),
                                           'describe':
                                           CharField(desc="角色描述"),
                                           'status':
                                           BooleanField(desc="角色状态(0, 1)"),
                                           'is_show_data':
                                           BooleanField(desc="是否显示下级数据(0, 1)"),
                                           'rules':
                                           CharField(desc="权限")
                                       })

    @classmethod
    def get_desc(cls):
        return "角色详情接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        role = role_middleware.get_self(request.role_id)
        return role

    def fill(self, response, role):
        response.role_info = {
            'id': role.id,
            'name': role.name,
            'parent_id': role.parent_id,
            'describe': role.describe,
            'status': role.status,
            'is_show_data': role.is_show_data,
            'rules': role.rules
        }
        return response
예제 #15
0
 def get_fields(self):
     check_list = [
         ['name', CharField(desc="姓名")],
         ['position', CharField(desc="职位")],
         ['department', CharField(desc="部门")],
         ['phone', ExcelDeletePointField(desc="手机号")],
         ['gender', CharField(desc="性别")],
         ['identity', CharField(desc="身份证号")],
         ['birthday', ExcelDateTimeField(desc="生日")],
         ['age', IntField(desc="年龄")],
         ['emergency_contact', CharField(desc="紧急联系人")],
         ['emergency_phone',
          ExcelDeletePointField(desc="紧急联系人电话")],
         ['address', CharField(desc="详细地址")],
         ['entry_time', ExcelDateTimeField(desc="入职时间")],
         ['education', CharField(desc="学历")],
         ['bank_number', CharField(desc="招行卡号")],
         ['contract_b', CharField(desc="合同编号(必)")],
         ['contract_l', CharField(desc="合同编号(立)")],
         ['expire_time', ExcelDateTimeField(desc="到期时间")],
         ['is_on_job', CharField(desc="是否离职")],
         ['quit_time', ExcelDateTimeField(desc="离职时间")],
         ['remark', CharField(desc="备注")],
     ]
     return check_list
예제 #16
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
예제 #17
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
예제 #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 = "店铺名称"),
    }))

    @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
예제 #19
0
class Add(StaffAuthorizedApi):
    """添加部门"""
    request = with_metaclass(RequestFieldSet)
    request.department_info = RequestField(DictField,
                                           desc="部门详情",
                                           conf={
                                               'name':
                                               CharField(desc="部门名称"),
                                               'parent_id':
                                               IntField(desc="上级部门id"),
                                               'describe':
                                               CharField(desc="部门描述",
                                                         is_required=False),
                                           })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "添加部门接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        DepartmentServer.is_name_exist(request.department_info['name'])
        DepartmentServer.add(**request.department_info)

    def fill(self, response):
        return response
예제 #20
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
예제 #21
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
예제 #22
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
예제 #23
0
 def get_fields(self):
     check_list = [
         ['add_time', ExcelDateTimeField(desc="添加时间")],
         ['agent_name', CharField(desc="代理商名称")],
         ['agent_phone', ExcelDeletePointField(desc="代理商电话")],
         ['product_type', CharField(desc="产品类型")],
         ['product_model', CharField(desc="产品型号")],
         ['min_number', IntField(desc="起始号段")],
         ['max_number', IntField(desc="终止号段")],
         ['quantity', IntField(desc="入库数量")],
         ['price', ExcelDeletePointField(desc="单价")],
         ['salesman', CharField(desc="业务员")],
         ['address', CharField(desc="发货地址")],
         ['rate', CharField(desc="签约费率")],
         ['remark', CharField(desc="到货备注")],
     ]
     return check_list
예제 #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),
        '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
예제 #25
0
class Get(StaffAuthorizedApi):
    """获取店铺详情"""
    request = with_metaclass(RequestFieldSet)
    request.shop_id = RequestField(IntField, desc = '店铺id')

    response = with_metaclass(ResponseFieldSet)
    response.shop_info = ResponseField(DictField, desc = "店铺详情", conf = {
        'id': IntField(desc = "店铺id"),
        'name': CharField(desc = "店铺名称"),
        'freight': IntField(desc = "运费/分"),
        'single_repair_money': IntField(desc = "单次补单金额/分"),
        'single_point_money': IntField(desc = "单次扣点金额/分"),
        'is_distribution': IntField(desc = "是否为分销店铺(0否,1是)"),
        'channel_name': CharField(desc = "渠道名称"),
        'remark': CharField(desc = "备注"),
        'update_time': DatetimeField(desc = "更新时间"),
        'create_time': DatetimeField(desc = "创建时间"),
    })

    @classmethod
    def get_desc(cls):
        return "店铺详情接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        shop = ShopServer.get(request.shop_id)
        return shop

    def fill(self, response, shop):
        response.shop_info = {
            'id': shop.id,
            'name': shop.name,
            'single_repair_money': shop.single_repair_money,
            'single_point_money': shop.single_point_money,
            'is_distribution': shop.is_distribution,
            'channel_name': shop.channel.name,
            'remark': shop.remark,
            'update_time': shop.update_time,
            'create_time': shop.create_time,
        }
        return response
예제 #26
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
예제 #27
0
class Update(StaffAuthorizedApi):
    """手机号导入数据修改"""
    request = with_metaclass(RequestFieldSet)
    request.mobile_phone_id = RequestField(IntField, desc='手机号导入数据id')
    request.mobile_phone_info = RequestField(DictField,
                                             desc="手机号信息详情",
                                             conf={
                                                 'name':
                                                 CharField(desc="姓名",
                                                           is_required=False),
                                                 'identity':
                                                 CharField(desc="身份证号",
                                                           is_required=False),
                                                 'phone_number':
                                                 CharField(desc="手机号",
                                                           is_required=False),
                                                 'department':
                                                 CharField(desc="部门",
                                                           is_required=False),
                                                 'is_working':
                                                 CharField(desc="在职情况",
                                                           is_required=False),
                                                 'card_password':
                                                 CharField(desc="手机卡密码",
                                                           is_required=False),
                                                 'operator':
                                                 CharField(desc="运营商",
                                                           is_required=False),
                                                 'rent':
                                                 IntField(desc="月租",
                                                          is_required=False),
                                                 'phone_status':
                                                 CharField(desc="手机号状态",
                                                           is_required=False),
                                                 'phone_remark':
                                                 CharField(desc="手机号备注",
                                                           is_required=False),
                                             })

    response = with_metaclass(ResponseFieldSet)

    @classmethod
    def get_desc(cls):
        return "手机号导入数据修改接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        import_mobile_phone_middleware.update(request.mobile_phone_id,
                                              **request.mobile_phone_info)

    def fill(self, response):
        return response
예제 #28
0
class Get(StaffAuthorizedApi):
    """获取手机设备详情"""
    request = with_metaclass(RequestFieldSet)
    request.mobile_devices_id = RequestField(IntField, desc = '手机id')

    response = with_metaclass(ResponseFieldSet)
    response.mobile_devices_info = ResponseField(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 = "备注"),
    })

    @classmethod
    def get_desc(cls):
        return "手机设备详情接口"

    @classmethod
    def get_author(cls):
        return "fsy"

    def execute(self, request):
        mobile_devices = MobileDevicesServer.get(request.mobile_devices_id)

        return mobile_devices

    def fill(self, response, mobile_devices):
        response.mobile_devices_info = {
            '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,
        }
        return response
예제 #29
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
예제 #30
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