@@ -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') |
@@ -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,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) |
@@ -1 +1,3 @@ |
||
1 | 1 |
# -*- coding: utf-8 -*- |
2 |
+ |
|
3 |
+JDJOS_STOCK_CHANGED_SET = 'jdjos:stock:changed:set' |
@@ -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() |