wangkaiyue 6 år sedan
förälder
incheckning
c904bf2bfc

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
src/dataexport.json


+ 2 - 1
src/jfw/front/datareport.go

@@ -210,7 +210,7 @@ func (d *DataReport) PayCallback() {
 		orderdata := public.Mysql.FindOne("jy_datareport_order", map[string]interface{}{
 			"out_trade_no": ret["out_trade_no"],
 			"order_money":  order_money,
-		}, "order_status", "")
+		}, "order_status,report_id,user_mail", "")
 		updateStatus, insertStatus := false, false
 		now := time.Now()
 		if orderdata != nil {
@@ -228,6 +228,7 @@ func (d *DataReport) PayCallback() {
 
 				if updateStatus {
 					//发送数据
+					go public.SendDatareportMailToPayUser(util.IntAll((*orderdata)["report_id"]), util.ObjToString((*orderdata)["user_mail"]), config.GmailAuth)
 				}
 			}
 		} else {

+ 3 - 0
src/jfw/jyutil/sessionkeep.go

@@ -132,6 +132,9 @@ func (sk *SessionKeep) Do(w http.ResponseWriter, r *http.Request) bool {
 				http.Redirect(w, r, "/notin/page", 302)
 				return false
 			} else if strings.HasPrefix(rqu, "/weixin/pay") || strings.HasPrefix(rqu, "/front/dataReport") {
+				if rqu == "/front/dataReport/payCallback" {
+					return true
+				}
 				http.Redirect(w, r, "/", 302)
 				return false
 			}

+ 3 - 1
src/jfw/modules/app/src/app/front/datareport.go

@@ -229,7 +229,7 @@ func DataReportCalBakAfter(order_money, cash_fee int, out_trade_no, transaction_
 	orderdata := public.Mysql.FindOne("jy_datareport_order", map[string]interface{}{
 		"out_trade_no": out_trade_no,
 		"order_money":  order_money,
-	}, "order_status", "")
+	}, "order_status,report_id,user_mail", "")
 
 	now := time.Now()
 	if orderdata != nil {
@@ -251,6 +251,8 @@ func DataReportCalBakAfter(order_money, cash_fee int, out_trade_no, transaction_
 			if updateStatus {
 				//发送数据
 				log.Println("========数据报告支付完成=====")
+				go public.SendDatareportMailToPayUser(util.IntAll((*orderdata)["report_id"]), util.ObjToString((*orderdata)["user_mail"]), config.GmailAuth)
+
 			}
 		}
 	} else {

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 121 - 0
src/jfw/modules/app/src/dataexport.json


+ 17 - 0
src/jfw/modules/app/src/jfw/config/config.go

@@ -2,6 +2,7 @@ package config
 
 import (
 	"qfw/util"
+	"qfw/util/mail"
 )
 
 //seo.josn 配置文件中的版本号,可以动态更新
@@ -11,7 +12,23 @@ var Sysconfig map[string]interface{}
 var Seoconfig map[string]interface{}
 var WeixinConfig map[string]interface{}
 
+var GmailAuth []*mail.GmailAuth
+
 func init() {
 	util.ReadConfig(&Sysconfig)
 	WeixinConfig, _ = Sysconfig["wxJianyu"].(map[string]interface{})
+
+	mails, _ := Sysconfig["mail"].([]interface{})
+	mailConfigArrMap := util.ObjArrToMapArr(mails)
+	for _, v := range mailConfigArrMap {
+		mail := &mail.GmailAuth{
+			SmtpHost: v["addr"].(string),
+			SmtpPort: util.IntAll(v["port"]),
+			User:     v["user"].(string),
+			Pwd:      v["pwd"].(string),
+			//			PoolChan: nil,
+			//			PoolSize: 0,
+		}
+		GmailAuth = append(GmailAuth, mail)
+	}
 }

+ 25 - 0
src/jfw/public/dataexport.go

@@ -42,6 +42,7 @@ type DataexportConfig struct {
 	Mail_order_finance_content   string            `json:"mail_order_finance_content"`   //to北京财务申请发票内容
 	Finance_emails               []string          `json:"finance_emails"`
 	Qmxdomain                    string            `json:"qmxdomain"`
+	DataReportContent            string            `json:"dataReportContent"`
 }
 type Dataexport_Field struct {
 	Names  []string  `json:"names"`
@@ -670,3 +671,27 @@ func (wx *WeixinStruct) GetAppWxPayStr(prepayid string) string {
 	}
 	return string(byteArr)
 }
+
+//数据报告发送邮件
+func SendDatareportMailToPayUser(report_id int, user_mail string, auth []*mail.GmailAuth) {
+	res := Mysql.FindOne("jy_datareport", map[string]interface{}{
+		"report_id": report_id,
+	}, "s_url", "")
+	if res == nil || (*res)["s_url"] == "" {
+		log.Println("%d:未知数据报告\n", report_id)
+		return
+	}
+	mailcontent := fmt.Sprintf(ExConf.DataReportContent, config.Sysconfig["webdomain"].(string)+(*res)["s_url"].(string))
+	if SendRetryMail(ExConf.Mail_retry, user_mail, "数据报告", mailcontent, "", nil, auth) {
+		log.Printf("用户%s:数据报告附件邮件发送成功!数据报告id:%d\n", user_mail, report_id)
+		now := time.Now()
+		Mysql.Update("jy_datareport_order", map[string]interface{}{
+			"report_id": report_id,
+		}, map[string]interface{}{
+			"service_status": 1,
+			"service_time":   util.FormatDate(&now, util.Date_Full_Layout),
+		})
+	} else {
+		log.Printf("%s数据报告发送邮件出错,数据报告id:%d\n", user_mail, report_id)
+	}
+}

+ 1 - 1
src/web/templates/weixin/datareport/dataReport_success.html

@@ -19,7 +19,7 @@
                 <div class="success_hint">我们会尽快将数据报告发送至</div>
                 <div class="success_hint">{{.T.email}}</div>
             </div>
-            <a href="#" class="go_back">我知道了</a>
+            <a onclick="WeixinJSBridge.call('closeWindow');" class="go_back">我知道了</a>
         </div>
     </body>
 </html>

Vissa filer visades inte eftersom för många filer har ändrats