Browse Source

主次用户。

chenshibin 4 years ago
parent
commit
823c4411d5

+ 41 - 5
Controller/CloudStorage.py

@@ -868,7 +868,10 @@ class CloudStorageView(View):
             print("trade succeed")
             order_qs = Order_Model.objects.filter(orderID=orderID)
             nowTime = int(time.time())
-            order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
+            order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
+                                         "userID__userID", "userID__username")
+            userid = order_list['userID__userID']
+            username = order_list['userID__username']
             UID = order_list[0]['UID']
             channel = order_list[0]['channel']
             rank = order_list[0]['rank']
@@ -896,6 +899,14 @@ class CloudStorageView(View):
                     (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
                 uid_bucket_id = ub_cqs.id
 
+            dvq = Device_Info.objects.filter(uid=UID, primaryUserID='', primaryMaster='')
+            if dvq.exists():
+                dvq_set_update_dict = {
+                    'primaryUserID': userid,
+                    'primaryMaster': username
+                }
+                dvq.update(**dvq_set_update_dict)
+
             order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
             red_url = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
             return HttpResponseRedirect(red_url)
@@ -919,7 +930,10 @@ class CloudStorageView(View):
         print("Payment execute successfully")
         order_qs = Order_Model.objects.filter(orderID=orderID)
         nowTime = int(time.time())
-        order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
+        order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts", "userID__userID",
+                                     "userID__username")
+        userid = order_list['userID__userID']
+        username = order_list['userID__username']
         UID = order_list[0]['UID']
         channel = order_list[0]['channel']
         rank = order_list[0]['rank']
@@ -946,13 +960,20 @@ class CloudStorageView(View):
             ub_cqs = UID_Bucket.objects.create \
                 (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
             uid_bucket_id = ub_cqs.id
+
+        dvq = Device_Info.objects.filter(uid=UID, primaryUserID='', primaryMaster='')
+        if dvq.exists():
+            dvq_set_update_dict = {
+                'primaryUserID': userid,
+                'primaryMaster': username
+            }
+            dvq.update(**dvq_set_update_dict)
         order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
 
         # return response.json(0)
         red_url = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
         return HttpResponseRedirect(red_url)
 
-
     def do_pay_by_wechat_callback(self, request_dict, response):
         result_code = request_dict.get('result_code', None)
         if result_code == 'SUCCESS':
@@ -963,7 +984,10 @@ class CloudStorageView(View):
             orderID = request_dict.get('out_trade_no',None)
             order_qs = Order_Model.objects.filter(orderID=orderID)
             nowTime = int(time.time())
-            order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
+            order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
+                                         "userID__userID", "userID__username")
+            userid = order_list['userID__userID']
+            username = order_list['userID__username']
             UID = order_list[0]['UID']
             channel = order_list[0]['channel']
             rank = order_list[0]['rank']
@@ -990,6 +1014,14 @@ class CloudStorageView(View):
                 ub_cqs = UID_Bucket.objects.create \
                     (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
                 uid_bucket_id = ub_cqs.id
+
+            dvq = Device_Info.objects.filter(uid=UID, primaryUserID='', primaryMaster='')
+            if dvq.exists():
+                dvq_set_update_dict = {
+                    'primaryUserID': userid,
+                    'primaryMaster': username
+                }
+                dvq.update(**dvq_set_update_dict)
             order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
             return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'SUCCESS', 'return_msg':'OK'}))
         return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'FAIL', 'return_msg':'参数格式校验错误'}))
@@ -1002,9 +1034,13 @@ class CloudStorageView(View):
         is_select_discount = request_dict.get('is_select_discount', 0)
         if not uid or not channel or not pay_type or not rank:
             return response.json(444)
-        dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1)
+        dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1).values('primaryUserID',
+                                                                                                       'primaryMaster')
         if not dv_qs.exists():
             return response.json(12)
+
+        if dv_qs[0]['primaryUserID'] != '' and dv_qs[0]['primaryUserID'] != userID:
+            return response.json(13, '非设备主用户无法购买')
         smqs = Store_Meal.objects.filter(id=rank, pay_type=pay_type). \
             values('currency', 'price', 'content', 'day',
                    'commodity_type', 'title', 'content',

+ 2 - 60
Controller/CloudVod.py

@@ -1280,67 +1280,9 @@ class CloudVodView(View):
                 response.content = success_pay_content
                 return response
             else:
-                # response.content = falil_pay_content
-                # return response
-                # exit()
-                # 如果未支付则调用查询订单是否支付成功
-                aliPayObj = AliPayObject()
-                alipay = aliPayObj.conf()
-                # check order status
-                print("now sleep 3s")
-                # time.sleep(3)
-                result = alipay.api_alipay_trade_query(out_trade_no=orderID)
-                if result.get("trade_status", "") == "TRADE_SUCCESS":
-                    print('paid')
-                    print("trade succeed")
-                    logger = logging.getLogger('django')
-
-                    order_qs = Order_Model.objects.filter(orderID=orderID, status=0)
-                    if order_qs.exists():
-                        nowTime = int(time.time())
-                        order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
-                        UID = order_list[0]['UID']
-                        channel = order_list[0]['channel']
-                        rank = order_list[0]['rank']
-                        smqs = Store_Meal.objects.filter(id=rank). \
-                            values("day", "bucket_id", "bucket__storeDay", "expire")
-                        bucketId = smqs[0]['bucket_id']
-                        if not smqs.exists():
-                            response.content = falil_pay_content
-                            return response
-                            # ##
-                        ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=UID, channel=channel, endTime__gte=nowTime). \
-                            values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')[:1]
-                        expire = smqs[0]['expire']
-                        if order_list[0]['isSelectDiscounts'] == 1:
-                            expire = smqs[0]['expire'] * 2
-                        if ubqs.exists():
-                            logger.error('————————--------into uid_bucket:')
-                            ubq = ubqs[0]
-                            endTime = CommonService.calcMonthLater(expire,ubq['endTime'])
-                            logger.error(endTime)
-                            ub_cqs = UID_Bucket.objects.filter(id=ubq['id']).update \
-                                (uid=UID, channel=channel, bucket_id=bucketId,
-                                 endTime=endTime)
-                            uid_bucket_id = ubq['id']
-                            logger.error(uid_bucket_id)
 
-                        else:
-                            endTime = CommonService.calcMonthLater(expire)
-                            ub_cqs = UID_Bucket.objects.create \
-                                (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime)
-                            uid_bucket_id = ub_cqs.id
-                        order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
-
-                        response.content = success_pay_content
-                        return response
-                    else:
-                        response.content = falil_pay_content
-                        return response
-                else:
-                    print("not paid...")
-                    response.content = falil_pay_content
-                    return response
+                response.content = falil_pay_content
+                return response
 
         else:
             response.content = falil_pay_content

+ 1 - 1
Controller/EquipmentManager.py

@@ -388,7 +388,7 @@ def addInterface(request):
                 # if is_bind:
                 #     return response.json(15)
 
-                main_exist = Device_Info.objects.filter(UID=UID, primaryUserID='',primaryMaster__isnull='')
+                main_exist = Device_Info.objects.filter(UID=UID, primaryUserID='',primaryMaster='')
                 pk = CommonService.getUserID(getUser=False)
                 primaryMaster = ''
                 primaryUserID = ''

+ 1 - 1
Controller/EquipmentManagerV3.py

@@ -89,7 +89,7 @@ class EquipmentManagerV3(View):
                     # if is_bind:
                     #     return response.json(15)
 
-                    main_exist = Device_Info.objects.filter(UID=UID, primaryUserID='', primaryMaster__isnull='')
+                    main_exist = Device_Info.objects.filter(UID=UID, primaryUserID='', primaryMaster='')
                     pk = CommonService.getUserID(getUser=False)
                     primaryMaster = ''
                     primaryUserID = ''