feat: 添加企业资格审核字段和企业信息查询接口
This commit is contained in:
parent
f142718cd5
commit
54571ee801
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Generated by Django 4.2.27 on 2026-03-09 06:21
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('system', '0007_alter_dept_create_by_alter_dept_update_by_and_more'),
|
||||||
|
('carbon', '0003_enterprise'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='is_qualified',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='资格审核通过'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='belong_dept',
|
||||||
|
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_belong_dept', to='system.dept', verbose_name='所属部门'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -68,6 +68,10 @@ class Enterprise(CommonBDModel):
|
||||||
industry = models.CharField("所属行业", max_length=100, blank=True, null=True)
|
industry = models.CharField("所属行业", max_length=100, blank=True, null=True)
|
||||||
business_status = models.CharField("经营状态", max_length=50, blank=True, null=True)
|
business_status = models.CharField("经营状态", max_length=50, blank=True, null=True)
|
||||||
registration_authority = models.CharField("登记机关", max_length=200, blank=True, null=True)
|
registration_authority = models.CharField("登记机关", max_length=200, blank=True, null=True)
|
||||||
|
is_qualified = models.BooleanField("资格审核通过", default=False)
|
||||||
|
belong_dept = models.OneToOneField(
|
||||||
|
'system.dept', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
|
verbose_name='所属部门', related_name='enterprise_belong_dept')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = "企业信息"
|
verbose_name = "企业信息"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
from apps.utils.serializers import CustomModelSerializer
|
from apps.utils.serializers import CustomModelSerializer
|
||||||
from .models import Work
|
from .models import Work, Enterprise
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from apps.system.serializers import FileSerializer
|
from apps.system.serializers import FileSerializer
|
||||||
|
|
||||||
|
|
@ -38,3 +38,9 @@ class WorkDhCalSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Work
|
model = Work
|
||||||
fields = ["dh_file1", "dh_file2", "dh_file3", "dh_file4", "dh_file5", "dh_file6"]
|
fields = ["dh_file1", "dh_file2", "dh_file3", "dh_file4", "dh_file5", "dh_file6"]
|
||||||
|
|
||||||
|
|
||||||
|
class EnterpriseSerializer(CustomModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Enterprise
|
||||||
|
fields = "__all__"
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
from .views import WorkViewSet
|
from .views import WorkViewSet, EnterpriseViewSet
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
|
|
||||||
|
|
@ -7,6 +7,7 @@ HTML_BASE_URL = 'carbon/'
|
||||||
|
|
||||||
router = DefaultRouter()
|
router = DefaultRouter()
|
||||||
router.register('work', WorkViewSet, basename='carbon_work')
|
router.register('work', WorkViewSet, basename='carbon_work')
|
||||||
|
router.register('enterprise', EnterpriseViewSet, basename='carbon_enterprise')
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path(API_BASE_URL, include(router.urls)),
|
path(API_BASE_URL, include(router.urls)),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from .models import Work, Fingerprint
|
from .models import Work, Fingerprint, Enterprise
|
||||||
from .serializers import WorkSerializer, WorkCreateSerializer, WorkDqCalSerializer, WorkDhCalSerializer
|
from .serializers import WorkSerializer, WorkCreateSerializer, WorkDqCalSerializer, WorkDhCalSerializer, EnterpriseSerializer
|
||||||
from apps.utils.viewsets import CustomModelViewSet
|
from apps.utils.viewsets import CustomModelViewSet
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
import os
|
import os
|
||||||
|
|
@ -326,5 +326,23 @@ class WorkViewSet(CustomModelViewSet):
|
||||||
return Response({"total_score": score})
|
return Response({"total_score": score})
|
||||||
|
|
||||||
|
|
||||||
|
class EnterpriseViewSet(CustomModelViewSet):
|
||||||
|
queryset = Enterprise.objects.all()
|
||||||
|
serializer_class = EnterpriseSerializer
|
||||||
|
|
||||||
|
@action(methods=['get'], detail=False, perms_map={'get': '*'})
|
||||||
|
def my(self, request, *args, **kwargs):
|
||||||
|
user = self.request.user
|
||||||
|
if not user.belong_dept:
|
||||||
|
raise ParseError("用户未关联部门")
|
||||||
|
|
||||||
|
try:
|
||||||
|
enterprise = Enterprise.objects.get(belong_dept=user.belong_dept)
|
||||||
|
serializer = self.get_serializer(enterprise)
|
||||||
|
return Response(serializer.data)
|
||||||
|
except Enterprise.DoesNotExist:
|
||||||
|
raise ParseError("未找到关联的企业信息")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue