Send

Kimi.Huang 6 anni fa
parent
commit
7b9f57adf0
5 ha cambiato i file con 23 aggiunte e 5 eliminazioni
  1. 15 1
      api/stock_views.py
  2. 1 0
      api/urls.py
  3. 4 3
      stock/admin.py
  4. 2 0
      utils/redis/rkeys.py
  5. 1 1
      utils/stock_utils.py

+ 15 - 1
api/stock_views.py

@@ -4,9 +4,23 @@ from __future__ import division
4 4
 
5 5
 from django.shortcuts import HttpResponse
6 6
 
7
-from utils.stock_utils import refresh_stock_info
7
+from stock.models import StockInfo
8
+from utils.redis.connect import r
9
+from utils.redis.rkeys import JDJOS_STOCK_CHANGED_SET
10
+from utils.stock_utils import refresh_stock_info, send_stock_info
8 11
 
9 12
 
10 13
 def refresh_stockinfo(request):
11 14
     refresh_stock_info()
12 15
     return HttpResponse('Refresh Success')
16
+
17
+
18
+def send_stockinfo(request):
19
+    pks = r.smembers(JDJOS_STOCK_CHANGED_SET)
20
+    for pk in pks:
21
+        try:
22
+            stock = StockInfo.objects.get(pk=pk, status=True)
23
+        except StockInfo.DoesNotExist:
24
+            continue
25
+        send_stock_info(stock)
26
+    return HttpResponse('Send Success')

+ 1 - 0
api/urls.py

@@ -15,4 +15,5 @@ urlpatterns += [
15 15
 
16 16
 urlpatterns = [
17 17
     url(r'^refresh$', stock_views.refresh_stockinfo, name='refresh_stockinfo'),
18
+    url(r'^send$', stock_views.send_stockinfo, name='send_stockinfo'),
18 19
 ]

+ 4 - 3
stock/admin.py

@@ -4,7 +4,8 @@ from django.contrib import admin
4 4
 from django_admin import AdvancedExportExcelModelAdmin, ReadOnlyModelAdmin
5 5
 
6 6
 from stock.models import StockInfo
7
-from utils.stock_utils import update_stock_info
7
+from utils.redis.connect import r
8
+from utils.redis.rkeys import JDJOS_STOCK_CHANGED_SET
8 9
 
9 10
 
10 11
 class StockInfoAdmin(AdvancedExportExcelModelAdmin, admin.ModelAdmin):
@@ -14,8 +15,8 @@ class StockInfoAdmin(AdvancedExportExcelModelAdmin, admin.ModelAdmin):
14 15
 
15 16
     def save_model(self, request, obj, form, change):
16 17
         obj.save()
17
-        if obj.inventoryDate and obj.estimateDate:
18
-            update_stock_info(obj)
18
+        if obj.inventoryDate and obj.estimateDate and ('inventoryDate' in form.changed_data or 'totalQuantity' in form.changed_data or 'estimateDate' in form.changed_data or 'totalEstimateQuantity' in form.changed_data or 'costPrice' in form.changed_data):
19
+            r.sadd(JDJOS_STOCK_CHANGED_SET, obj.pk)
19 20
 
20 21
 
21 22
 admin.site.register(StockInfo, StockInfoAdmin)

+ 2 - 0
utils/redis/rkeys.py

@@ -1 +1,3 @@
1 1
 # -*- coding: utf-8 -*-
2
+
3
+JDJOS_STOCK_CHANGED_SET = 'jdjos:stock:changed:set'

+ 1 - 1
utils/stock_utils.py

@@ -67,7 +67,7 @@ def refresh_stock_info():
67 67
             s.save()
68 68
 
69 69
 
70
-def update_stock_info(stock):
70
+def send_stock_info(stock):
71 71
     jd.setDefaultAppInfo(JOS['appkey'], JOS['secret'])
72 72
 
73 73
     a = EdiInventorySendRequest()