Преглед изворни кода

Merge branch 'lang' into dev

lang пре 3 година
родитељ
комит
c9b69fa593
2 измењених фајлова са 26 додато и 1 уклоњено
  1. 1 0
      Ansjer/urls.py
  2. 25 1
      Controller/AiController.py

+ 1 - 0
Ansjer/urls.py

@@ -244,6 +244,7 @@ urlpatterns = [
 
 
     #AI服务
     #AI服务
     url(r'^AiService/(?P<operation>.*)$', AiController.AiView.as_view()),
     url(r'^AiService/(?P<operation>.*)$', AiController.AiView.as_view()),
+    url('^ai/updateUnusedAi', AiController.updateUnusedAi),
 
 
     #新增解密的接口
     #新增解密的接口
     url(r'^v3/account/changePwd$', UserController.v3ChangePwdView.as_view()),
     url(r'^v3/account/changePwd$', UserController.v3ChangePwdView.as_view()),

+ 25 - 1
Controller/AiController.py

@@ -117,6 +117,8 @@ class AiView(View):
                 return self.do_querylist(userID, request_dict, response)
                 return self.do_querylist(userID, request_dict, response)
             elif operation == 'updateJpushTime':  # 查询订单
             elif operation == 'updateJpushTime':  # 查询订单
                 return self.update_jpush_time(userID, request_dict, response)
                 return self.update_jpush_time(userID, request_dict, response)
+            elif operation == 'updateJpushTime':  # 查询订单
+                return self.update_jpush_time(userID, request_dict, response)
             else:
             else:
                 return response.json(414)
                 return response.json(414)
 
 
@@ -452,11 +454,13 @@ class AiView(View):
             has = AiService.objects.filter(uid=uid, channel=channel, use_status=1)
             has = AiService.objects.filter(uid=uid, channel=channel, use_status=1)
             if has.exists():
             if has.exists():
                 use_status = 0
                 use_status = 0
+                endTime = 0
             else:
             else:
                 use_status = 1
                 use_status = 1
+                endTime = nowTime+(day*86400)
             # return response.json(0)
             # return response.json(0)
             AiService.objects.create(orders_id=orderID, uid=uid, channel=channel, detect_status=1,
             AiService.objects.create(orders_id=orderID, uid=uid, channel=channel, detect_status=1,
-                                       endTime=nowTime+(day*86400), addTime=nowTime, updTime=nowTime,
+                                       endTime=endTime, addTime=nowTime, updTime=nowTime,
                                      use_status=use_status, detect_group='1')
                                      use_status=use_status, detect_group='1')
             return response.json(0, {"orderID": orderID})
             return response.json(0, {"orderID": orderID})
         return response.json(10, 'generate_order_false')
         return response.json(10, 'generate_order_false')
@@ -991,3 +995,23 @@ class AiView(View):
         except Exception as e:
         except Exception as e:
             print(e)
             print(e)
             return response.json(500, repr(e))
             return response.json(500, repr(e))
+
+# 如果ai套餐过期,更新未使用的关联套餐
+def updateUnusedAi(request):
+    response = ResponseObject()
+    now_time = int(time.time())
+    expired_ai_services = AiService.objects.filter(endTime__lte=now_time,use_status=1).values("id","uid")[0:200]
+    for expired_ai_service in expired_ai_services:
+        try:
+            with transaction.atomic():
+                AiService.objects.filter(id=expired_ai_service['id']).update(use_status=2)
+                hasUnUse = AiService.objects.filter(uid=expired_ai_service['uid'],use_status=0).order_by('addTime')[0:1]
+                if hasUnUse.exists():
+                    hasUnUse = hasUnUse.values('id','orders__ai_rank__effective_day')
+                    endTime = now_time + (hasUnUse[0]['orders__ai_rank__effective_day'] * 86400)
+                    AiService.objects.filter(id=hasUnUse[0]['id']).update(use_status=1, endTime=endTime)
+        except Exception as e:
+            # return HttpResponse("line={line},error={error}".format(line=e.__traceback__.tb_lineno, error=repr(e)))
+            continue
+    # UID_Bucket.objects.filter(id__in=list(id_list)).update(use_status=2)  # 更新过期云存关联套餐状态
+    return response.json(0)