1
0
forked from erp-dev/erp

feat: big

This commit is contained in:
2026-07-01 11:51:13 +08:00
parent 7c9b77afb0
commit 5170700234
28 changed files with 933 additions and 37 deletions

View File

@@ -108,6 +108,7 @@ class MissionUrgentSerializer(serializers.Serializer):
class MissionCategoryWriteSerializer(serializers.Serializer):
name = serializers.CharField(allow_blank=False, max_length=50)
speech_enabled = serializers.BooleanField(required=False)
payload_processor = serializers.ChoiceField(
choices=mission_models.MissionPayloadProcessorEnum.choices,
required=False,
@@ -257,6 +258,7 @@ class MissionCategorySerializer(serializers.ModelSerializer):
"merchant",
"name",
"payload_processor",
"speech_enabled",
"created_at",
"updated_at",
]
@@ -409,6 +411,7 @@ class MissionCategoryListCreateView(APIView):
merchant=employee.merchant,
name=serializer.validated_data["name"],
payload_processor=serializer.validated_data.get("payload_processor", ""),
speech_enabled=serializer.validated_data.get("speech_enabled", False),
)
except IntegrityError:
return Response({"name": ["分类名称已存在"]}, status=status.HTTP_400_BAD_REQUEST)
@@ -442,6 +445,9 @@ class MissionCategoryDetailView(APIView):
if "payload_processor" in serializer.validated_data:
category.payload_processor = serializer.validated_data["payload_processor"]
update_fields.append("payload_processor")
if "speech_enabled" in serializer.validated_data:
category.speech_enabled = serializer.validated_data["speech_enabled"]
update_fields.append("speech_enabled")
if update_fields:
try:
category.save(update_fields=[*update_fields, "updated_at"])