@@ -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() |