Пример #1
0
class PageMixin(object):
    PAGE_SIZE_MAX = 200
    param_fields = (
        ('page', fields.IntegerField(help_text='页码', required=False, omit=1)),
        ('page_size',
         fields.IntegerField(help_text='每页条数', required=False, omit=100)),
    )

    def get_page_context(self, request, queryset, serializer_cls):
        page_size = request.params.page_size
        if page_size <= 0 or page_size > self.PAGE_SIZE_MAX:
            raise CustomError(ErrCode.ERR_PAGE_SIZE_ERROR)
        total_data = queryset.count()
        total_page = (total_data + page_size - 1) // page_size
        page = request.params.page
        if page < 1:
            page = 1
        elif page > total_page:
            page = total_page
        start = (page - 1) * page_size
        data = []
        if total_data > 0:
            data = serializer_cls(queryset[start:start + page_size],
                                  request=request,
                                  many=True).data

        return {
            'page_size': page_size,
            'list': data,
            'page': page,
            'total_page': total_page,
            'total_data': total_data
        }
Пример #2
0
 class Meta:
     param_fields = (
         ('room_id', fields.IntegerField(help_text='会议室ID')),
         ('name', fields.CharField(help_text='名称', max_length=64)),
         ('description', fields.CharField(help_text='描述', max_length=255, required=False, default="", omit="")),
         ('date', fields.DateField(help_text='预定日期')),
         ('start_time', fields.TimeField(help_text='开始时间')),
         ('end_time', fields.TimeField(help_text='结束时间')),
     )
Пример #3
0
 class Meta:
     param_fields = (
         ('room_id', fields.IntegerField(help_text='会议室ID')),
         ('name', fields.CharField(help_text='名称', max_length=64)),
         ('description', fields.CharField(help_text='描述', max_length=255, required=False, default="", omit="")),
         ('create_user_manager', fields.NullBooleanField(
             help_text='创建人管理权限', required=False, default=None, omit=None
         )),
     )
Пример #4
0
 class Meta:
     param_fields = (
         ('meeting_id', fields.IntegerField(help_text='会议ID')),
         ('name', fields.CharField(help_text='名称', max_length=64)),
         ('description',
          fields.CharField(help_text='描述',
                           max_length=255,
                           required=False,
                           default="",
                           omit="")),
     )
Пример #5
0
 class Meta:
     param_fields = (
         ('room_ids',
          fields.SplitCharField(help_text='会议室ID列表',
                                sep=',',
                                field=fields.IntegerField())),
         ('date',
          fields.DateField(help_text='日期',
                           required=False,
                           default=None,
                           omit=None)),
     )
Пример #6
0
class CorpAgentMixin(object):

    param_fields = (
        ('corp_id', fields.CharField(help_text='corp_id', required=True)),
        ('app_id', fields.IntegerField(help_text='app_id', required=True)),
    )

    @classmethod
    def get_corp_agent_info(cls, request):
        corp_agent_id = cache.CorpAgentCache.get(
            "%s|||%s" % (request.params.app_id, request.params.corp_id))
        if corp_agent_id is not None:
            corp_agent = models.CorpAgent.get_obj_by_pk_from_cache(
                corp_agent_id)
            if corp_agent is not None and corp_agent.delete_status == core_constants.DELETE_CODE.NORMAL.code:
                return corp_agent
            cache.CorpAgentCache.delete(
                "%s|||%s" % (request.params.app_id, request.params.corp_id))
        agent = models.Agent.get_obj_by_unique_key_from_cache(
            appid=request.params.app_id)
        if agent is None:
            raise CustomError(ErrCode.ERR_COMMON_BAD_PARAM)
        suite = agent.suite
        corp = models.Corp.objects.filter(corpid=request.params.corp_id,
                                          suite_id=suite.suite_key).first()
        if corp is None:
            raise CustomError(ErrCode.ERR_COMMON_BAD_PARAM)

        corp_agent = models.CorpAgent.objects.filter(agent_id=agent.appid,
                                                     corp_id=corp.pk).first()
        if corp_agent is None:
            raise CustomError(ErrCode.ERR_COMMON_BAD_PARAM)
        cache.CorpAgentCache.set(
            "%s|||%s" % (request.params.app_id, request.params.corp_id),
            corp_agent.pk)
        return corp_agent
Пример #7
0
 class Meta:
     param_fields = (('meeting_id',
                      fields.IntegerField(help_text='会议ID')), )
Пример #8
0
 class Meta:
     param_fields = (('room_id', fields.IntegerField(help_text='会议室ID')), )
Пример #9
0
 class Meta:
     param_fields = (('room_id',
                      fields.SplitCharField(help_text='会议室ID列表',
                                            sep=',',
                                            field=fields.IntegerField())), )
Пример #10
0
 class Meta:
     param_fields = (('corp_pk',
                      fields.IntegerField(help_text='corp_pk',
                                          required=True)), )
 class Meta:
     param_fields = (('userid',
                      fields.IntegerField(help_text='userid',
                                          required=True)), )