xjc 5 years ago
parent
commit
d7cb5584ef
3 changed files with 31 additions and 17 deletions
  1. 2 2
      src/common/models.py
  2. 3 2
      src/manage/controls.py
  3. 26 13
      src/weixin/controls.py

+ 2 - 2
src/common/models.py

@@ -94,7 +94,7 @@ class SignupOrders(models.Model):
     exam_time = models.DateTimeField(u"考试时间",blank=True,null=True)
     train_time_start = models.DateTimeField(u"培训开始时间",blank=True,null=True)
     train_time_end = models.DateTimeField(u"培训结束时间",blank=True,null=True)
-    update_time = models.DateField(u"复审时间",blank=True,null=True)
+    update_time = models.DateTimeField(u"复审时间",null=True,blank=True,auto_now_add=True)
     change_time = models.DateField(u"换证时间",blank=True,null=True)
     send_update_notice = models.IntegerField(u"已完成学时",blank=True,null=True,default=0)
     send_change_notice = models.IntegerField(u"已完成学时",blank=True,null=True,default=0)
@@ -160,7 +160,7 @@ class UserInfo(models.Model):
     avatar = models.CharField(u"手机号", max_length=64, blank=True,null=True)
     nickname = models.CharField(u"手机号", max_length=64, blank=True,null=True)
     vcard = models.TextField(u"电子名片", blank=True,null=True)
-    utype = models.SmallIntegerField(u"用户类型", blank=True,null=True,default=1)
+    utype = models.SmallIntegerField(u"用户类型", blank=True,null=True,default=2)
     status = models.SmallIntegerField(u"状态(0删除)",default=1)
     verify = models.SmallIntegerField(u"是否实名认证(0/1)",default=0,blank=True,null=True)
     permissions = models.TextField(u"权限", blank=True,null=True)

+ 3 - 2
src/manage/controls.py

@@ -709,7 +709,7 @@ def update_signup(request):
     ids = str(_id).split(",")
     need_params.extend(["name","sex","idno","education","phone","train_type",
         "receive_card","area","price","company","class_id","remark","idnoimg_face",
-        "idnoimg_back","halfbody_img","education_img","oldcard_img",
+        "idnoimg_back","halfbody_img","education_img","oldcard_img","admin_remark",
         "subject_item","subject_id","address","exam_time","classhour_cert_status"])
     vals = ccf.get_need_params(*need_params,**qdata)
     if vals.get("classhour_cert_status"):
@@ -734,6 +734,7 @@ def update_signup(request):
                 send_training_notice(phone,subject_item,begin_time,end_time)
                 cn.send_training_notice(user_id,subject_item,begin_time,end_time)
     vals["cid"] = uid
+    vals["update_time"] = datetime.datetime.now()
     obj = cm.SignupOrders.objects.filter(id__in=ids).update(**vals)
     if qdata.get("exam_time"):
         #发送培训通知
@@ -946,7 +947,7 @@ def get_signup_list(request):
     """
     uid = request.user.id
     qdata = request.json
-    qset = cm.SignupOrders.objects.filter(status=1).order_by("-id")
+    qset = cm.SignupOrders.objects.filter(status=1).order_by("-update_time")
     if qdata.get("train_type"):
         qset = qset.filter(train_type=qdata.get("train_type"))
     if qdata.get("subject_item"):

+ 26 - 13
src/weixin/controls.py

@@ -2,7 +2,7 @@
 '''
 '''
 import os
-import json,time
+import json,time,datetime
 from django.db import transaction
 from django.db.models import Q
 import common.models as cm
@@ -240,7 +240,18 @@ def update_signup(request):
     vals["cid"] = uid
     if vals.get("idnoimg_face") and vals.get("idnoimg_back") and vals.get("halfbody_img"):
         vals["order_status"] = 0
+    vals["update_time"] = datetime.datetime.now()
+    subject_id = vals.get("subject_id")
+    train_type = vals.get("train_type")
+    subject_obj = cm.Subject.objects.filter(id=subject_id).first()
+    if train_type == u"新办":
+        vals["price"] = subject_obj.price_new
+    if train_type == u"复审":
+        vals["price"] = subject_obj.price_re
+    if train_type == u"换证":
+        vals["price"] = subject_obj.price_change
     obj = cm.SignupOrders.objects.filter(id=id).update(**vals)
+    vals.pop("update_time")
     #更新用户信息
     userinfo = cm.UserInfo.objects.filter(id=uid).first().userinfo
     userinfo = json.loads(userinfo) if userinfo else {}
@@ -413,19 +424,21 @@ def do_wxpay_notify(request):
         out_trade_no = res.get("out_trade_no")
         transaction_id = res.get("transaction_id")
         pay_time = res.get("time_end")
-        cm.SignupOrders.objects.filter(out_trade_no=out_trade_no)\
-        .update(order_status=2,pay_status=1,pay_time=pay_time,transaction_id=transaction_id)
-        #发送支付成功通知
-        from utils.aliyun_sms import send_pay_notice
-        import common.common_notice as cn
         sorder = cm.SignupOrders.objects.filter(out_trade_no=out_trade_no).first()
-        phone = sorder.phone if sorder else None
-        transaction_id = sorder.transaction_id
-        user_id = sorder.user_id
-        if phone and user_id and not transaction_id:
-            send_pay_notice(phone)
-            cn.send_pay_notice(user_id)
-        return True
+        if sorder and not sorder.transaction_id:
+            now = datetime.datetime.now()
+            cm.SignupOrders.objects.filter(out_trade_no=out_trade_no)\
+            .update(order_status=2,update_time=now,pay_status=1,pay_time=pay_time,transaction_id=transaction_id)
+            #发送支付成功通知
+            from utils.aliyun_sms import send_pay_notice
+            import common.common_notice as cn
+            phone = sorder.phone if sorder else None
+            transaction_id = sorder.transaction_id
+            user_id = sorder.user_id
+            if phone and user_id and not transaction_id:
+                send_pay_notice(phone)
+                cn.send_pay_notice(user_id)
+            return True
     return False
 
 def addText(img,orgpath,string,path,point=(100,100),size=32):