Ver Fonte

no message

xingzai há 1 ano atrás
pai
commit
ea9e748015
4 ficheiros alterados com 44 adições e 69 exclusões
  1. 9 8
      models/activity.go
  2. 0 31
      models/product_interior.go
  3. 27 22
      services/activity.go
  4. 8 8
      utils/email.go

+ 9 - 8
models/activity.go

@@ -730,6 +730,7 @@ func GetActivityIdToSendFile(endDate string) (items []*ActivityIdRep, err error)
 type SignupExportRep struct {
 	Mobile         string `description:"手机号"`
 	CompanyName    string `description:"公司名称"`
+	CompanyId      int    `description:"公司Id"`
 	RealName       string `description:"姓名"`
 	CountryCode    string `description:"区号"`
 	OutboundMobile string `description:"外呼手机号"`
@@ -748,17 +749,17 @@ type ActivityMsgExportRep struct {
 
 func GetSignupExport(activityId int) (item []*SignupExportRep, err error) {
 	o := orm.NewOrm()
-	sql := ` SELECT  s.outbound_mobile,
+	sql := `SELECT
+			s.outbound_mobile,
 			s.country_code,
 			a.is_limit_people,
-			u.real_name,
-			( SELECT p.seller_name FROM company_product AS p WHERE p.company_id = u.company_id AND p.product_id = 2 ) AS seller_name,
-			( SELECT c.company_name FROM company AS c WHERE c.company_id = u.company_id  ) AS company_name
-			FROM
+			s.real_name,
+			s.seller_name,
+			s.company_id,
+			s.company_name 
+		FROM
 			cygx_activity_signup AS s
-			LEFT JOIN wx_user AS u ON u.user_id = s.user_id
-			LEFT JOIN cygx_activity AS a ON a.activity_id = s.activity_id
-			LEFT JOIN company_product AS p ON p.company_id = u.company_id 
+			JOIN cygx_activity AS a ON a.activity_id = s.activity_id 
 			WHERE a.activity_id = ?  AND s.do_fail_type = 0 AND s.signup_type = 1  GROUP BY s.id `
 	_, err = o.Raw(sql, activityId).QueryRows(&item)
 	return

+ 0 - 31
models/product_interior.go

@@ -36,37 +36,6 @@ type ProductInteriorIdReq struct {
 	ProductInteriorId int `description:"ID"`
 }
 
-// 添加
-func AddProductInterior(item *CygxProductInterior) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Insert(item)
-	return
-}
-
-// 修改
-func UpdateProductInterior(item *CygxProductInterior) (err error) {
-	to := orm.NewOrm()
-	updateParams := make(map[string]interface{})
-	updateParams["PublishTime"] = item.PublishTime
-	updateParams["ModifyTime"] = item.ModifyTime
-	updateParams["ColumnName"] = item.ColumnName
-	updateParams["Title"] = item.Title
-	updateParams["Status"] = item.Status
-	updateParams["Body"] = item.Body
-	updateParams["IsCancel"] = item.IsCancel
-	updateParams["VisibleRange"] = item.VisibleRange
-	updateParams["Abstract"] = item.Abstract
-	updateParams["Department"] = item.Department
-	ptrStructOrTableName := "cygx_product_interior"
-	whereParam := map[string]interface{}{"product_interior_id": item.ProductInteriorId}
-	qs := to.QueryTable(ptrStructOrTableName)
-	for expr, exprV := range whereParam {
-		qs = qs.Filter(expr, exprV)
-	}
-	_, err = qs.Update(updateParams)
-	return
-}
-
 type GetCygxProductInteriorResp struct {
 	Paging *paging.PagingItem `description:"分页数据"`
 	List   []*CygxProductInteriorResp

+ 27 - 22
services/activity.go

@@ -172,23 +172,26 @@ func SendEmailFileToExpert(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println("err:", err)
-			go utils.SendAlarmMsg("预约外呼名单,会前1小时自动发送邮件给专家组失败"+msg, 2)
+			go utils.SendAlarmMsg("预约外呼名单,会前1小时自动发送邮件给专家组失败"+err.Error()+msg, 2)
 		}
 	}()
 	endDate := time.Now().Add(+time.Minute * 60).Format(utils.FormatDateTime)
-	total, err := models.GetCountActivityIdToSendFile(endDate)
-
+	total, e := models.GetCountActivityIdToSendFile(endDate)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCountActivityIdToSendFile" + e.Error())
+		return
+	}
 	if total == 0 {
 		fmt.Println("发送附件完成0")
 		return nil
 	}
-	if err != nil {
-		msg = "发送附件模版消息失败 Err:" + err.Error()
+
+	listActivity, e := models.GetActivityIdToSendFile(endDate)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetActivityIdToSendFile" + e.Error())
 		return
 	}
-	listActivity, err := models.GetActivityIdToSendFile(endDate)
-	if err != nil {
-		msg = "发送附件模版消息失败 Err:" + err.Error()
+	if len(listActivity) == 0 {
 		return
 	}
 	var activityIds []int
@@ -196,22 +199,23 @@ func SendEmailFileToExpert(cont context.Context) (err error) {
 		activityIds = append(activityIds, v.ActivityId)
 	}
 
-	//{
-	//	utils.SendAlarmMsg("预约外呼名单,会前1小时自动发送邮件给专家组 监控日志,监控使用无需处理,活动ID:"+fmt.Sprint(activityIds), 2)
-	//}
-
 	for _, v := range listActivity {
 		//time.Sleep(30 * time.Second) //延时30秒,避免邮件发送不成功
-		activityInfo, _ := models.GetAddActivityInfoById(v.ActivityId)
-		if activityInfo == nil {
-			msg = "活动不存在,Err:activityId:" + strconv.Itoa(v.ActivityId)
+		activityInfo, e := models.GetAddActivityInfoById(v.ActivityId)
+		if e != nil {
+			err = errors.New("GetAddActivityInfoById" + e.Error())
 			return
 		}
-		list, errFile := models.GetSignupExport(v.ActivityId)
-		if errFile != nil {
-			msg = "获取失败,Err:" + errFile.Error()
+		list, e := models.GetSignupExport(v.ActivityId)
+		if e != nil {
+			err = errors.New("GetSignupExport" + e.Error())
 			return
 		}
+		var companyIds []int
+		for _, vSin := range list {
+			companyIds = append(companyIds, vSin.CompanyId)
+		}
+		sellNameMap := GetSellNameMapByCompanyIds(companyIds)
 		//创建excel
 		dir, errFile := os.Executable()
 		exPath := filepath.Dir(dir)
@@ -265,8 +269,9 @@ func SendEmailFileToExpert(cont context.Context) (err error) {
 			cellD := row.AddCell()
 			cellD.Value = item.CompanyName
 			cellE := row.AddCell()
-			cellE.Value = item.SellerName
+			cellE.Value = sellNameMap[item.CompanyId]
 		}
+
 		errFile = xlsxFile.Save(downLoadnFilePath)
 		if errFile != nil {
 			msg = "保存文件失败Err:" + errFile.Error()
@@ -297,9 +302,9 @@ func SendEmailFileToExpert(cont context.Context) (err error) {
 			}
 		}
 		os.Remove(downLoadnFilePath)
-		err = models.UPdateActivityIdToSendFile(v.ActivityId)
-		if err != nil {
-			go utils.SendAlarmMsg("UPdateActivityIdToSendFile err"+msg, 2)
+		e = models.UPdateActivityIdToSendFile(v.ActivityId)
+		if e != nil {
+			go utils.SendAlarmMsg("UPdateActivityIdToSendFile err"+e.Error(), 2)
 		}
 
 		//sendResult := utils.SendEmailByHongze(title, content, touser, fileName, title+".xlsx")

+ 8 - 8
utils/email.go

@@ -13,7 +13,7 @@ var (
 	AlarmMsgUrl = "http://127.0.0.1:8606/api/alarm/send"
 )
 
-//发送邮件
+// 发送邮件
 func SendEmail(title, content string, touser string) bool {
 	if RunMode == "debug" {
 		return false
@@ -40,10 +40,10 @@ func SendEmail(title, content string, touser string) bool {
 	return true
 }
 
-//projectName-项目名称
-//runMode-运行模式
-//msgBody-消息内容
-//level:消息基本,1:提示消息,2:警告消息,3:严重错误信息,默认为1 提示消息
+// projectName-项目名称
+// runMode-运行模式
+// msgBody-消息内容
+// level:消息基本,1:提示消息,2:警告消息,3:严重错误信息,默认为1 提示消息
 func SendAlarmMsg(msgBody string, level int) {
 	params := make(map[string]interface{})
 	params["ProjectName"] = APPNAME
@@ -58,7 +58,7 @@ func SendAlarmMsg(msgBody string, level int) {
 	http.Post(AlarmMsgUrl, string(param))
 }
 
-//发送邮件
+// 发送邮件
 func SendEmailByHz(title, content string, touser string) (result bool, err error) {
 	//if RunMode == "debug" {
 	//	result = false
@@ -88,7 +88,7 @@ func SendEmailByHz(title, content string, touser string) (result bool, err error
 	return
 }
 
-//发送带有文件的邮件
+// 发送带有文件的邮件
 func SendEmailHaveFile(title, content string, fileName, touser string) bool {
 	var arr []string
 	sub := strings.Index(touser, ";")
@@ -113,7 +113,7 @@ func SendEmailHaveFile(title, content string, fileName, touser string) bool {
 	return true
 }
 
-//发送邮件
+// 发送邮件
 func SendEmailByHongze(title, content string, touser, attachPath, attachName string) bool {
 	var arr []string
 	sub := strings.Index(touser, ";")