|
@@ -17,6 +17,7 @@ from apps.customer.filters import *
|
|
from apps.vehicle_order.filters import *
|
|
from apps.vehicle_order.filters import *
|
|
from apps.product_order.filters import *
|
|
from apps.product_order.filters import *
|
|
from apps.maint_order.filters import *
|
|
from apps.maint_order.filters import *
|
|
|
|
+from .xgj import XGJ
|
|
|
|
|
|
|
|
|
|
class VehicleDriveReserveViewSet(generics.ListCreateAPIView):
|
|
class VehicleDriveReserveViewSet(generics.ListCreateAPIView):
|
|
@@ -43,6 +44,13 @@ class VehicleDriveReserveViewSet(generics.ListCreateAPIView):
|
|
serializer.save()
|
|
serializer.save()
|
|
instance = serializer.instance
|
|
instance = serializer.instance
|
|
validated_data = serializer.validated_data
|
|
validated_data = serializer.validated_data
|
|
|
|
+ # 同步销管佳
|
|
|
|
+ abutment_xgj = Config.getConfigValue(Config.KEY_ABUTMENT_XGJ) or ''
|
|
|
|
+ if abutment_xgj and abutment_xgj == 'true':
|
|
|
|
+ try:
|
|
|
|
+ XGJ.drive_reserve(instance)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ tenant_log(instance.customer.user, BizLog.INSERT, u'试驾预约同步销管佳失败[%s],id=%d' % (str(e), instance.id))
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户添加预约试驾,id=%d' % instance.id, validated_data)
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户添加预约试驾,id=%d' % instance.id, validated_data)
|
|
|
|
|
|
return response_ok()
|
|
return response_ok()
|
|
@@ -72,6 +80,15 @@ class VehicleInquiryViewSet(generics.ListCreateAPIView):
|
|
serializer.save()
|
|
serializer.save()
|
|
instance = serializer.instance
|
|
instance = serializer.instance
|
|
validated_data = serializer.validated_data
|
|
validated_data = serializer.validated_data
|
|
|
|
+
|
|
|
|
+ #同步销管佳
|
|
|
|
+ abutment_xgj = Config.getConfigValue(Config.KEY_ABUTMENT_XGJ) or ''
|
|
|
|
+ if abutment_xgj and abutment_xgj == 'true':
|
|
|
|
+ try:
|
|
|
|
+ XGJ.vehicle_inquiry(instance)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ tenant_log(instance.customer.user, BizLog.INSERT, u'新车询价同步销管佳失败[%s],id=%d' % (str(e), instance.id))
|
|
|
|
+
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户添加新车询价,id=%d' % instance.id, validated_data)
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户添加新车询价,id=%d' % instance.id, validated_data)
|
|
|
|
|
|
return response_ok()
|
|
return response_ok()
|
|
@@ -128,6 +145,14 @@ class UsedVehicleEstimateViewSet(generics.ListCreateAPIView):
|
|
serializer.save()
|
|
serializer.save()
|
|
instance = serializer.instance
|
|
instance = serializer.instance
|
|
validated_data = serializer.validated_data
|
|
validated_data = serializer.validated_data
|
|
|
|
+
|
|
|
|
+ # 同步销管佳
|
|
|
|
+ abutment_xgj = Config.getConfigValue(Config.KEY_ABUTMENT_XGJ) or ''
|
|
|
|
+ if abutment_xgj and abutment_xgj == 'true':
|
|
|
|
+ try:
|
|
|
|
+ XGJ.vehicle_estimate(instance)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ tenant_log(instance.customer.user, BizLog.INSERT, u'置换咨询同步销管佳失败[%s],id=%d' % (str(e), instance.id))
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户添加二手车预估,id=%d' % instance.id, validated_data)
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户添加二手车预估,id=%d' % instance.id, validated_data)
|
|
|
|
|
|
return response_ok()
|
|
return response_ok()
|
|
@@ -273,11 +298,73 @@ class CustomerAddressViewSet(CustomModelViewSet):
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户删除收货地址,id=%d' % instance.id)
|
|
tenant_log(instance.customer.user, BizLog.INSERT, u'客户删除收货地址,id=%d' % instance.id)
|
|
return response_ok()
|
|
return response_ok()
|
|
|
|
|
|
|
|
+ @action(methods=['get'], detail=True)
|
|
|
|
+ def set_default(self, request, *args, **kwargs):
|
|
|
|
+ with transaction.atomic():
|
|
|
|
+ status = request.GET.get('status')
|
|
|
|
+ instance = self.get_object()
|
|
|
|
+ if status == 'true':
|
|
|
|
+ self.get_queryset().filter(customer=self.request.customer, default=True).update(default=False)
|
|
|
|
+ instance.default = True
|
|
|
|
+ tenant_log(instance.customer.user, BizLog.UPDATE, u'客户设置默认收货地址,id=%d' % instance.id)
|
|
|
|
+ else:
|
|
|
|
+ instance.default = False
|
|
|
|
+ tenant_log(instance.customer.user, BizLog.UPDATE, u'客户取消默认收货地址,id=%d' % instance.id)
|
|
|
|
+ instance.save()
|
|
|
|
+ return response_ok()
|
|
|
|
+
|
|
|
|
|
|
class MaintReserveOptionsView(APIView):
|
|
class MaintReserveOptionsView(APIView):
|
|
|
|
+ permission_classes = [IsCustomerUser, ]
|
|
def get(self, request):
|
|
def get(self, request):
|
|
data = {
|
|
data = {
|
|
'maint_types': Option.objects.filter(type=Option.MAINT_TYPE, delete=False, enable=True).values('id', 'name'), #品牌
|
|
'maint_types': Option.objects.filter(type=Option.MAINT_TYPE, delete=False, enable=True).values('id', 'name'), #品牌
|
|
'vehicles': CustomerVehicle.objects.filter(customer=request.customer, delete=False).values('id', 'number') #车辆
|
|
'vehicles': CustomerVehicle.objects.filter(customer=request.customer, delete=False).values('id', 'number') #车辆
|
|
}
|
|
}
|
|
|
|
+ return response_ok(data)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class UsedVehicleBrandsView(APIView):
|
|
|
|
+ def get(self, request):
|
|
|
|
+ rows = Option.objects.filter(delete=False, enable=True, type=Option.USED_VEHICLE_BRAND)
|
|
|
|
+ data = rows.values('id', 'name')
|
|
|
|
+ return response_ok(data)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class PlanProductOrderView(APIView):
|
|
|
|
+ permission_classes = [IsCustomerUser, ]
|
|
|
|
+
|
|
|
|
+ def get(self, request):
|
|
|
|
+ product_id = request.GET.get('id')
|
|
|
|
+
|
|
|
|
+ product_order = Product.objects.filter(id=product_id).first()
|
|
|
|
+
|
|
|
|
+ address_order = CustomerAddress.objects.filter(customer=request.customer, default=True, delete=False).first()
|
|
|
|
+ if not address_order:
|
|
|
|
+ address_order = CustomerAddress.objects.filter(customer=request.customer, delete=False).first()
|
|
|
|
+
|
|
|
|
+ product_item = {}
|
|
|
|
+ if product_order:
|
|
|
|
+ product_item = {
|
|
|
|
+ 'name': product_order.name,
|
|
|
|
+ 'describe': product_order.describe,
|
|
|
|
+ 'notes': product_order.notes,
|
|
|
|
+ 'cover': product_order.cover_id and '{}{}'.format(settings.MEDIA_URL, product_order.cover.picture) or '',
|
|
|
|
+ 'price': Formater.formatPriceShow(product_order.price),
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ address_item = {}
|
|
|
|
+ if address_order:
|
|
|
|
+ address_item = {
|
|
|
|
+ 'name': address_order.name,
|
|
|
|
+ 'tel': address_order.tel,
|
|
|
|
+ 'area': address_order.area,
|
|
|
|
+ 'addr': address_order.addr,
|
|
|
|
+ 'default': address_order.default,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ data = {
|
|
|
|
+ 'product': product_item,
|
|
|
|
+ 'address': address_item,
|
|
|
|
+ }
|
|
return response_ok(data)
|
|
return response_ok(data)
|