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