1
0
forked from erp-dev/erp

feat: added print_count api, added merchant setting model, added manual mode setting for purchase order

This commit is contained in:
2025-11-28 15:01:11 +08:00
parent 53f2a24b20
commit 0c62398120
36 changed files with 1634 additions and 478 deletions

View File

@@ -4,6 +4,7 @@ from typing import List, Dict, Any
from stock import models as stock_models
from basic_info import models as basic_info_models
from . import models as api_models
from .enums import PrintCountObjectType
class ProductStockChangeSerializer(serializers.Serializer):
@@ -193,4 +194,25 @@ class FileUploadSerializer(serializers.Serializer):
if value.size > max_size:
raise serializers.ValidationError(f'文件大小不能超过 {max_size // (1024*1024)}MB')
return value
return value
class PrintCountDeltaSerializer(serializers.Serializer):
"""打印次数增量请求"""
object_type = serializers.ChoiceField(choices=PrintCountObjectType.choices)
object_id = serializers.IntegerField(min_value=1)
delta = serializers.CharField(required=False, allow_null=True, allow_blank=True)
def validate(self, attrs: Dict[str, Any]) -> Dict[str, Any]:
raw_delta = attrs.get('delta')
try:
delta_value = int(raw_delta)
except (TypeError, ValueError):
delta_value = 1
if delta_value < 1:
delta_value = 1
attrs['delta'] = delta_value
return attrs