xjc 3 سال پیش
والد
کامیت
ffa3b5c271
10فایلهای تغییر یافته به همراه98 افزوده شده و 32 حذف شده
  1. 3 3
      src/api/views.py
  2. 1 1
      src/manage.py
  3. 17 4
      src/manage/controls.py
  4. 1 0
      src/manage/urls_backstage.py
  5. 26 0
      src/manage/views.py
  6. 1 1
      src/settings/base.py
  7. 16 7
      src/tools/sync_mpanalyse_data.py
  8. 16 9
      src/transdata.py
  9. 16 6
      src/utils/aliyun_sms.py
  10. 1 1
      templates/index.html

+ 3 - 3
src/api/views.py

@@ -19,8 +19,8 @@ from utils.cloopen_sms import cloopensms
 import control_auth as ca
 from utils.aliyun_sms import *
 
-APPID = "wx2938132b773c7b5a" 
-APPSECRET = "1707d86ef4d9894775ebac21d87390e6"
+APPID = "wx8d8b8144327166d8" 
+APPSECRET = "222a830dc94b75ded3310a4cf987f059"
 
 class OpenidView(cv.BaseView):
     def get(self,request):
@@ -926,7 +926,7 @@ class CASCIList(cv.BaseView):
         if mse:
             raise ce.TipException(mse)
         try:
-            need_params.extend(["signup_id","keyword"])
+            need_params.extend(["signup_id","keyword","page","page_size"])
             vals = ccf.get_need_params(*need_params,**qdata)
             rst = ctl.get_casci_list(**vals)
             return cv.to_suc(rst)

+ 1 - 1
src/manage.py

@@ -3,7 +3,7 @@ import os
 import sys
 
 if __name__ == "__main__":
-    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings_dev")
+    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
     try:
         from django.core.management import execute_from_command_line
     except ImportError:

+ 17 - 4
src/manage/controls.py

@@ -2887,6 +2887,7 @@ def get_days30_analyse_habit(**kwargs):
 def get_days30_analyse_publish(**kwargs):
     """近30日期刊发布习惯
     """
+    cid = kwargs.get("cid")
     journal_id = kwargs.get("journal_id")
     timerange = kwargs.get("timerange")
     name = kwargs.get("name")
@@ -2895,7 +2896,10 @@ def get_days30_analyse_publish(**kwargs):
     sdate = timerange.split(",")[0].strip() + " 00:00:00"
     edate = timerange.split(",")[1].strip() + " 23:59:59"
 
-    qset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,ctime__gte=sdate,ctime__lte=edate)
+    article_ids = list(cm.Article.objects.filter(cid=cid).values_list("id",flat=True))
+    #qset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,ctime__gte=sdate,ctime__lte=edate)
+    qset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,ctime__gte=sdate,ctime__lte=edate,article_id__in=article_ids)
+
     analyses = qset.values("article_id").annotate(Sum("read_num"))\
         .annotate(Sum("read_num_mp")).annotate(Sum("read_num_xcx"))\
         .annotate(Sum("zhuanfa_num")).annotate(Sum("zhuanfa_num_mp"))\
@@ -2926,7 +2930,7 @@ def get_days30_analyse_publish(**kwargs):
             traceback.print_exc()
             continue
     #
-    exdata = list(cm.Article.objects.filter(ctime__gte=sdate,ctime__lte=edate).exclude(id__in=exclude).values())
+    exdata = list(cm.Article.objects.filter(ctime__gte=sdate,ctime__lte=edate,cid=cid).exclude(id__in=exclude).values())
     for item in exdata:
         item["article_name"] = item["name"]
         item["article_id"] = item["id"]
@@ -2952,12 +2956,14 @@ def get_days30_analyse_publish_article(**kwargs):
     journal_id = kwargs.get("journal_id")
     article_name = kwargs.get("article_name")
     timerange = kwargs.get("timerange")
+    cid = kwargs.get("cid")
 
     data = []
     sdate = timerange.split(",")[0].strip() + " 00:00:00"
     edate = timerange.split(",")[1].strip() + " 23:59:59"
-
-    qset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,article_name=article_name,date__gte=sdate,date__lte=edate)
+    article_ids = list(cm.Article.objects.filter(cid=cid).values_list("id",flat=True))
+    #qset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,article_name=article_name,date__gte=sdate,date__lte=edate)
+    qset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,article_id__in=article_ids,date__gte=sdate,date__lte=edate)
     data = list(qset.values())
     return data
 
@@ -3077,3 +3083,10 @@ def upload_subjects(data):
         )
         obj.desc = item[1]
         obj.save()
+
+def reset_pwd(**kwargs):
+    """
+    """
+    uid = kwargs.get("cid")
+    password = kwargs.get("password")
+    cm.SysUserInfo.objects.filter(id=uid).update(password=ccf.make_password(password))

+ 1 - 0
src/manage/urls_backstage.py

@@ -105,5 +105,6 @@ urlpatterns = [
     url(r'^casci/days30/publish/article$', views.CASCIDays30PublishArticleView.as_view()),
     url(r'^news$', views.NewsView.as_view()),
     url(r'^news/list$', views.NewsListView.as_view()),
+    url(r'^user/resetpwd$', views.UserResetPwdView.as_view()),
 ]
 

+ 26 - 0
src/manage/views.py

@@ -4254,6 +4254,7 @@ class CASCIDays30PublishView(cv.AdminView):
         try:
             qdata = request.json
             qdata["timerange"] = self.get_30days_range()
+            qdata["cid"] = request.user.id
             rst = ctl.get_days30_analyse_publish(**qdata)
             return cv.to_suc(rst)
         except Exception as e:
@@ -4275,6 +4276,7 @@ class CASCIDays30PublishArticleView(cv.AdminView):
         try:
             qdata = request.json
             qdata["timerange"] = self.get_30days_range()
+            qdata["cid"] = request.user.id
             rst = ctl.get_days30_analyse_publish_article(**qdata)
             return cv.to_suc(rst)
         except Exception as e:
@@ -4432,3 +4434,27 @@ class NewsView(cv.AdminView):
         except Exception as e:
             cv.tracefail()
             return cv.to_fail(e)
+
+
+class UserResetPwdView(cv.AdminView):
+    def put(self,request):
+        """#修改文章(平台管理后台)
+        @password:"密码"
+        @rePassword:"确认密码"
+        """
+        qdata = request.json
+        need_params = ["password","rePassword"]
+        mse = ccf.check_params(*need_params,**qdata)
+        if mse:
+            raise ce.TipException(mse)
+        try:
+            vals = ccf.get_need_params(*need_params,**qdata)
+            if vals.get("password") != vals.get("rePassword"):
+                raise ce.TipException(u"密码不一致!")
+
+            vals["cid"] = request.user.id
+            rst = ctl.reset_pwd(**vals)
+            return cv.to_suc(rst)
+        except Exception as e:
+            cv.tracefail()
+            return cv.to_fail(e)

+ 1 - 1
src/settings/base.py

@@ -58,7 +58,7 @@ MIDDLEWARE = [
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
-    'operation_log.OpLogMiddleware.OpLogMiddleware'
+    #'operation_log.OpLogMiddleware.OpLogMiddleware'
 ]
 
 ROOT_URLCONF = 'urls'

+ 16 - 7
src/tools/sync_mpanalyse_data.py

@@ -9,7 +9,7 @@ reload(sys)
 sys.setdefaultencoding('utf8')  
 
 sys.path.append('/mnt/bzyifeng/src')
-os.environ['DJANGO_SETTINGS_MODULE'] = 'settings_dev'
+os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
 django.setup()
 
 import common.models as cm
@@ -62,7 +62,8 @@ def sync_mpday_data():
     """
     yesterday = datetime.datetime.now().date()+ datetime.timedelta(days=-1)
     begin_date,end_date = yesterday.strftime("%Y-%m-%d"),yesterday.strftime("%Y-%m-%d")
-    jourset = cm.Journal.objects.filter(appid__isnull=False)
+    #jourset = cm.Journal.objects.filter(appid__isnull=False)
+    jourset = cm.Journal.objects.all()
     for obj in jourset:
         appid = obj.appid
         appsecret = obj.appsecret
@@ -71,8 +72,8 @@ def sync_mpday_data():
         journal_img = obj.img
         #小程序端数据
         article_count_xcx = cm.Article.objects.filter(journal_id=journal_id).count()
-        read_num_xcx = cm.Article.objects.filter(journal_id=260).aggregate(count=Sum("read_num")).get("count")
-        zhuanfa_num_xcx = cm.Article.objects.filter(journal_id=260).aggregate(count=Sum("forward_num")).get("count")
+        read_num_xcx = cm.Article.objects.filter(journal_id=journal_id).aggregate(count=Sum("read_num")).get("count")
+        zhuanfa_num_xcx = cm.Article.objects.filter(journal_id=journal_id).aggregate(count=Sum("forward_num")).get("count")
         #
         jaaset = cm.JournalArticleAnalyse.objects.filter(journal_id=journal_id,date__gte=begin_date,date__lte=end_date)
         read_num_xcx = jaaset.aggregate(count=Sum("read_num_xcx")).get("count")
@@ -80,9 +81,17 @@ def sync_mpday_data():
         read_num_xcx = read_num_xcx if read_num_xcx else 0
         zhuanfa_num_xcx = zhuanfa_num_xcx if zhuanfa_num_xcx else 0
         #微信公众号数据
-        wxmp = WXMP(appid,appsecret)
-        flag,mpdata = wxmp.get_news_analyse_day(begin_date,end_date)
-        print mpdata
+        try:
+            if appid and appsecret:
+                wxmp = WXMP(appid,appsecret)
+                flag,mpdata = wxmp.get_news_analyse_day(begin_date,end_date)
+                print mpdata
+            else:
+                flag = False
+                mpdata = []
+        except:
+            flag = False
+            mpdata = []
         if flag:
             article_count_mp = len(mpdata)
             read_num_mp = sum([x["int_page_read_count"] for x in mpdata])

+ 16 - 9
src/transdata.py

@@ -4,17 +4,17 @@ import datetime
 import MySQLdb
 import MySQLdb.cursors
 
-HOST = "127.0.0.1" 
+HOST = "172.17.22.226" 
 PORT = 3306
-NAME = "caos" 
-USER = "root" 
-PASSWORD = "xjc890*()" 
+NAME = "tedcaos" 
+USER = "tedcaos" 
+PASSWORD = "tedcaos123!@#" 
 
-HOST1 = "127.0.0.1" 
+HOST1 = "172.17.22.226" 
 PORT1 = 3306
-NAME1 = "zkyuan" 
-USER1 = "root" 
-PASSWORD1 = "xjc890*()" 
+NAME1 = "caos" 
+USER1 = "caos" 
+PASSWORD1 = "caos" 
 
 
 db = MySQLdb.connect(host=HOST,port=PORT,db=NAME,user=USER,
@@ -357,6 +357,13 @@ def trans_sysuser():
                 while cursor.nextset() is not None: pass
                 db.commit()
                 #break
+            else:
+                up_sql = '''
+                    update ted_sys_users set journal_id = '%s' where ted_sys_users.name = '%s'
+                ''' % (journal_id,name)
+                cursor.execute(up_sql)
+                while cursor.nextset() is not None: pass
+                db.commit()
         except Exception as e:
             print e
 
@@ -393,7 +400,7 @@ def trans_sensitive():
 def main():
     """数据转移
     """
-    trans_sensitive()
+    trans_sysuser()
     print u'数据转移成功!'
 
 

+ 16 - 6
src/utils/aliyun_sms.py

@@ -145,10 +145,15 @@ def send_message_notice(name,url,phone):
     request.add_query_param('RegionId', "cn-hangzhou")
     request.add_query_param('PhoneNumbers', phone)
     request.add_query_param('SignName', "泰德合众")
-    #request.add_query_param('TemplateCode', 'SMS_226995521')
-    request.add_query_param('TemplateCode', 'SMS_228115005')
+
+    #request.add_query_param('TemplateCode', 'SMS_228115005')
+    #request.add_query_param('TemplateParam', 
+    #    json.dumps({"name":name,"url":url}))
+
+    request.add_query_param('TemplateCode', 'SMS_229475201')
     request.add_query_param('TemplateParam', 
-        json.dumps({"name":name,"url":url}))
+        json.dumps({"name":name,"code":url}))
+
     response = client.do_action(request)
     print u"发送通知消息:",response
     return True,u"success"
@@ -168,10 +173,15 @@ def send_survey_notice(name,url,phone):
     request.add_query_param('RegionId', "cn-hangzhou")
     request.add_query_param('PhoneNumbers', phone)
     request.add_query_param('SignName', "泰德合众")
-    #request.add_query_param('TemplateCode', 'SMS_226995521')
-    request.add_query_param('TemplateCode', 'SMS_228115005')
+
+    #request.add_query_param('TemplateCode', 'SMS_228115005')
+    #request.add_query_param('TemplateParam', 
+    #    json.dumps({"name":name,"url":url}))
+
+    request.add_query_param('TemplateCode', 'SMS_229470207')
     request.add_query_param('TemplateParam', 
-        json.dumps({"name":name,"url":url}))
+        json.dumps({"name":name,"code":url}))
+
     response = client.do_action(request)
     print u"发送内部问卷通知消息:",phone,url,response
     return True,u"success"

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 1
templates/index.html