Browse Source

优化修改

hujingpei 4 năm trước cách đây
mục cha
commit
0b5615cba9
3 tập tin đã thay đổi với 42 bổ sung2 xóa
  1. 2 0
      apps/admin/tenant/urls.py
  2. 39 1
      apps/admin/tenant/views.py
  3. 1 1
      apps/tenant/notices/models.py

+ 2 - 0
apps/admin/tenant/urls.py

@@ -2,8 +2,10 @@
 
 from rest_framework.routers import SimpleRouter
 from .views import *
+from django.conf.urls import url
 
 urlpatterns = [
+    url(r'member/$', MemberRemindViewSet.as_view()),
 ]
 
 router = SimpleRouter()

+ 39 - 1
apps/admin/tenant/views.py

@@ -1,11 +1,15 @@
 # coding=utf-8
 from django.conf import settings
+import time
 import datetime
 import traceback
 
 from django.utils import timezone
+from rest_framework.views import APIView
+
+
 from utils.custom_modelviewset import CustomModelViewSet
-from utils.permission import IsAdministratorUser
+from utils.permission import IsAdministratorUser,IsTenantUser
 from apps.tenant.models import Tenant
 from apps.tenant.employee.models import Employee
 from apps.admin import admin_log
@@ -23,6 +27,7 @@ from apps.tenant.notices.models import Notices, NoticesToUser
 from apps.WechatApplet.models import WechatApplet
 from apps.tenant.config.models import Config
 
+
 class TenantViewSet(CustomModelViewSet):
     permission_classes = [IsAdministratorUser, ]
     queryset = Tenant.objects.all()
@@ -131,3 +136,36 @@ class TenantViewSet(CustomModelViewSet):
         except Exception as e:
             return response_error(str(e))
         return response_ok('审核完成!')
+
+class MemberRemindViewSet(APIView):
+    permission_classes = [IsTenantUser, ]
+
+    def get(self, request):
+        tenant = request.user.employee.tenant
+        today = datetime.datetime.now().strftime('%Y-%m-%d')
+        today_stamp = time.mktime(time.strptime(today, "%Y-%m-%d"))
+
+        end_date = time.mktime(time.strptime(tenant.end_date.strftime('%Y-%m-%d'), '%Y-%m-%d'))
+        diff = (int(end_date) - int(today_stamp))/86400
+
+        employee = Employee.objects.filter(tenant=tenant,type=1).first()
+        user = User.objects.filter(username=employee.tel).first()
+        notice_data = {
+            'title': "",
+            'content': "",
+            'tenant': tenant,
+            'type': Notices.MESSAGE,
+            'range': Notices.ADMIN,
+        }
+        if diff <= 40:
+            notice_data = {
+                'title': '会员到期提醒,请点击查看!',
+                'content': '您的会员还有{0}天到期!请及时续费,以免影响您的正常使用!'.format(diff),
+                'tenant': tenant,
+                'type': Notices.MESSAGE,
+                'range': Notices.ADMIN,
+                # 'end_time': (timezone.now() + datetime.timedelta(days=int(diff))).strftime('%Y-%m-%d'),
+            }
+            notice = Notices.objects.create(**notice_data)
+            NoticesToUser.objects.create(notice=notice, user=user)
+        return response_ok()

+ 1 - 1
apps/tenant/notices/models.py

@@ -30,7 +30,7 @@ class Notices(models.Model):
     title = models.CharField(max_length=50, verbose_name=u'标题')
     create_time = models.DateTimeField(verbose_name='发布时间', auto_now_add=True)
     create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建者", on_delete=models.PROTECT,
-                                    editable=False)
+                                    editable=False,blank=True),
     tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, blank=True)
     type = models.PositiveSmallIntegerField(verbose_name=u'通知类型', choices=TYPE_CHOICES, default=NOTICE)
     range = models.PositiveSmallIntegerField(verbose_name=u'通知范围', choices=RANGE_CHOICES, default=ALL)