Эх сурвалжийг харах

添加云存套餐转移功能_修改数据添加事务,查询stscrd表有该uid才删除

locky 4 жил өмнө
parent
commit
eb78859ea2
1 өөрчлөгдсөн 10 нэмэгдсэн , 7 устгасан
  1. 10 7
      Controller/CloudTest.py

+ 10 - 7
Controller/CloudTest.py

@@ -6,7 +6,7 @@
 @IDE :PyCharm
 """
 import time
-
+from django.db import transaction
 from django.views.generic.base import View
 
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, Store_Meal, StsCrdModel
@@ -114,12 +114,15 @@ class cloudTestView(View):
             old_uidBucket_qs = UID_Bucket.objects.filter(id=old_uid_bucket_id).values('bucket_id','endTime')
             old_bucket_id = old_uidBucket_qs[0]['bucket_id']
             old_endTime = old_uidBucket_qs[0]['endTime']
-            UID_Bucket.objects.filter(id=old_uid_bucket_id).update(endTime=0)
-
-            # 更新转入设备套餐类型和过期时间
-            new_UIDbucket_qs.update(bucket_id=old_bucket_id,endTime=old_endTime)
-            # 删除转出设备stscrd表关联数据
-            StsCrdModel.objects.filter(uid=old_uid).delete()
+            with transaction.atomic():
+                UID_Bucket.objects.filter(id=old_uid_bucket_id).update(endTime=0)
+
+                # 更新转入设备套餐类型和过期时间
+                new_UIDbucket_qs.update(bucket_id=old_bucket_id,endTime=old_endTime)
+                # 删除转出设备stscrd表关联数据
+                stscrdModel_qs = StsCrdModel.objects.filter(uid=old_uid)
+                if stscrdModel_qs:
+                    stscrdModel_qs.delete()
 
         except Exception as e:
             print(e)