feat: 查询用户列表可返回更详细的定位信息

This commit is contained in:
caoqianming 2023-05-09 09:46:44 +08:00
parent b38e4860ac
commit ef95b3c51f
2 changed files with 7 additions and 5 deletions

View File

@ -66,6 +66,7 @@ def get_ep_default():
"""
return {
'area_fix_id': None, # 当前所在固定区域ID
'area_fix_name': None, # 当前所在固定区域Name
'area_temp_id': None, # 当前所在临时区域ID
'xx_detail': {}, # 寻息定位的详细信息
'time0': None, # 定位首次出现时间戳
@ -440,6 +441,7 @@ def loc_change(data):
else:
ep_loc_dict['time1'] = time2
ep_loc_dict['area_fix_id'] = area_fix['id'] if area_fix else None
ep_loc_dict['area_fix_name'] = area_fix.get('name', None) if area_fix else None
cache.set(key_str, ep_loc_dict, timeout=None)
return ep_loc_dict

View File

@ -23,11 +23,15 @@ from apps.am.models import Area
class EmployeeSimpleSerializer(CustomModelSerializer):
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
post_name = serializers.CharField(source='post.name', read_only=True)
location = serializers.SerializerMethodField()
class Meta:
model = Employee
fields = ['id', 'type', 'name', 'belong_dept', 'belong_dept_name', 'post', 'post_name', 'photo', 'third_info', 'number', 'id_number']
def get_location(self, obj):
key_str = 'ep_{}'.format(obj.id)
return cache.get(key_str, None)
# class EmployeeBaseSerializer(CustomModelSerializer):
# def save(self, **kwargs):
@ -164,11 +168,7 @@ class EmployeeDetailSerializer(EmployeeSerializer):
def get_location(self, obj):
key_str = 'ep_{}'.format(obj.id)
ep_loc_dict = cache.get(key_str, None)
if ep_loc_dict:
area_fix_id = ep_loc_dict.get('area_fix_id', None)
ep_loc_dict['area_fix_name'] = Area.objects.get(id=area_fix_id).name if area_fix_id else None
return ep_loc_dict
return cache.get(key_str, None)
class EmployeeNotWorkRemarkSerializer(ModelSerializer):