access list bug
This commit is contained in:
parent
90d42d4ad5
commit
c9a147f27c
|
@ -55,18 +55,10 @@ class AccessCreateSerializer(CustomModelSerializer):
|
|||
|
||||
|
||||
class AccessSerializer(CustomModelSerializer):
|
||||
obj_ = serializers.SerializerMethodField()
|
||||
employee_name = serializers.CharField(source='employee.name', read_only=True)
|
||||
post_name = serializers.CharField(source='post.name', read_only=True)
|
||||
dept_name = serializers.CharField(source='dept.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Access
|
||||
fields = '__all__'
|
||||
|
||||
def get_obj_(self, obj):
|
||||
if obj.obj_cate == 'employee':
|
||||
ep = Employee.objects.filter(id=obj.obj).first()
|
||||
if ep:
|
||||
return {'id': ep.id, 'name': ep.name}
|
||||
elif obj.obj_cate == 'post':
|
||||
pt = Post.objects.filter(id=obj.obj).first()
|
||||
if pt:
|
||||
return {'id': pt.id, 'name': pt.name}
|
||||
|
|
|
@ -48,4 +48,5 @@ class AccessViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, CustomG
|
|||
queryset = Access.objects.all()
|
||||
create_serializer_class = AccessCreateSerializer
|
||||
serializer_class = AccessSerializer
|
||||
filterset_fields = ['area', 'type', 'obj_cate', 'post', 'dept']
|
||||
filterset_fields = ['area', 'type', 'obj_cate', 'post', 'dept', 'employee']
|
||||
select_related_fields = ['area', 'post', 'dept', 'employee']
|
||||
|
|
|
@ -24,7 +24,9 @@ class EcmService:
|
|||
"""事件处理服务
|
||||
"""
|
||||
|
||||
ep_default_dict = {
|
||||
@classmethod
|
||||
def get_ep_default(cls):
|
||||
return {
|
||||
'area_fix_id': None, # 当前所在固定区域ID
|
||||
'time0': None, # 定位首次出现时间戳
|
||||
"time1": None, # 首次在该区域时间戳
|
||||
|
@ -91,7 +93,7 @@ class EcmService:
|
|||
# 更新人员位置信息缓存
|
||||
key_str = 'ep_{}'.format(blts.employee.id)
|
||||
ep_loc_dict = cache.get_or_set(
|
||||
key_str, cls.ep_default_dict, timeout=None
|
||||
key_str, cls.get_ep_default(), timeout=None
|
||||
)
|
||||
if ep_loc_dict['area_fix_id'] != area.id: # 如果区域未变化则不动
|
||||
ep_loc_dict['time1'] = ep_loc_dict['time2']
|
||||
|
@ -166,7 +168,7 @@ class EcmService:
|
|||
time2 = int(time.time())
|
||||
key_str = 'ep_{}'.format(blts.employee.id)
|
||||
ep_loc_dict = cache.get_or_set(
|
||||
key_str, cls.ep_default_dict, timeout=None
|
||||
key_str, cls.get_ep_default(), timeout=None
|
||||
)
|
||||
ep_loc_dict['time2'] = time2
|
||||
# 从缓存里获取固定区域列表信息
|
||||
|
|
Loading…
Reference in New Issue