|
@@ -10,7 +10,7 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-//客户自动冻结->试用两个月结束后,进入冻结
|
|
|
+// 客户自动冻结->试用两个月结束后,进入冻结
|
|
|
func CompanyFreeze(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -56,7 +56,7 @@ func CompanyFreeze(cont context.Context) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//客户自动流失->冻结超3个月未处理
|
|
|
+// 客户自动流失->冻结超3个月未处理
|
|
|
func CompanyLoss(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -96,7 +96,7 @@ func CompanyLoss(cont context.Context) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//正式客户自动试用->合同到期未续约转试用
|
|
|
+// 正式客户自动试用->合同到期未续约转试用
|
|
|
func CompanyTryOut(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -168,7 +168,7 @@ func AddCompanyOperationRecord(companyId, sysUserId, productId, approveAdminId i
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//客户老数据同步
|
|
|
+// 客户老数据同步
|
|
|
func CompanyOldDataSync() {
|
|
|
companyItems, err := models.GetCompanyOldDataSync()
|
|
|
if err != nil {
|
|
@@ -250,7 +250,7 @@ func CompanyOldDataSync() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//正式/试用客户--到期提醒
|
|
|
+// CompanyRemind 正式/试用客户--到期提醒
|
|
|
func CompanyRemind(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -273,7 +273,7 @@ func CompanyRemind(cont context.Context) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//30天后到期客户
|
|
|
+// CompanyRemind30Day 30天后到期客户
|
|
|
func CompanyRemind30Day(seller *models.Sellers) {
|
|
|
var err error
|
|
|
defer func() {
|
|
@@ -281,9 +281,13 @@ func CompanyRemind30Day(seller *models.Sellers) {
|
|
|
go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode, "到期提醒失败:CompanyRemind;Err"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
- remindEndDate := time.Now().AddDate(0, 0, 30).Format(utils.FormatDate)
|
|
|
+
|
|
|
+ companyRemindRecordList := make([]*models.CompanyRemindRecord, 0)
|
|
|
+ remindType := 4
|
|
|
+ uniqueCode := fmt.Sprint(seller.AdminId, time.Now().Format(utils.FormatDateUnSpace), remindType, utils.GetRandString(5))
|
|
|
|
|
|
//remindEndDate := "2020-12-31" //time.Now().AddDate(0, 0, 30).Format(utils.FormatDate)
|
|
|
+ remindEndDate := time.Now().AddDate(0, 0, 30).Format(utils.FormatDate)
|
|
|
companyItems, err := models.GetRemindCompany(seller.AdminId, remindEndDate)
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -300,6 +304,20 @@ func CompanyRemind30Day(seller *models.Sellers) {
|
|
|
emailContents += `<tr><td>` + v.CompanyName + `</td><td>` + endTime + `</td><td>` + seller.RealName + `</td><td>` + v.Status + `</td></tr>`
|
|
|
msgContent += `客户:` + v.CompanyName + ";状态:" + v.Status + "\n"
|
|
|
isSend = true
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ companyRemindRecordList = append(companyRemindRecordList, &models.CompanyRemindRecord{
|
|
|
+ //CompanyRemindRecordId: 0,
|
|
|
+ Type: remindType,
|
|
|
+ SellerId: seller.AdminId,
|
|
|
+ SellerName: seller.RealName,
|
|
|
+ CompanyId: v.CompanyId,
|
|
|
+ CompanyName: v.CompanyName,
|
|
|
+ Status: v.Status,
|
|
|
+ EndDate: endTime,
|
|
|
+ UniqueCode: uniqueCode,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
}
|
|
|
emailContents += "</table></br>"
|
|
|
|
|
@@ -310,7 +328,8 @@ func CompanyRemind30Day(seller *models.Sellers) {
|
|
|
|
|
|
if seller.OpenId != "" {
|
|
|
first := "您有【" + strconv.Itoa(len(companyItems)) + "】 客户将于30天后到期,请注意查看"
|
|
|
- keyword1 := "到期前30天提醒"
|
|
|
+ //keyword1 := "到期前30天提醒"
|
|
|
+ keyword1 := fmt.Sprintf(`【%d】客户到期前30天提醒,点击查看`, len(companyItems))
|
|
|
keyword2 := remindEndDate
|
|
|
remark := msgContent
|
|
|
|
|
@@ -318,12 +337,17 @@ func CompanyRemind30Day(seller *models.Sellers) {
|
|
|
openIdItem := new(models.OpenIdList)
|
|
|
openIdItem.OpenId = seller.OpenId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
- SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, openIdList)
|
|
|
+ SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, uniqueCode, openIdList)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ if len(companyRemindRecordList) > 0 {
|
|
|
+ models.AddMultiCompanyRemindRecord(companyRemindRecordList)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-//15天后到期客户
|
|
|
+// CompanyRemind15Day 15天后到期客户
|
|
|
func CompanyRemind15Day(seller *models.Sellers) {
|
|
|
var err error
|
|
|
defer func() {
|
|
@@ -331,6 +355,10 @@ func CompanyRemind15Day(seller *models.Sellers) {
|
|
|
go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode, "到期提醒失败:CompanyRemind;Err"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
+ companyRemindRecordList := make([]*models.CompanyRemindRecord, 0)
|
|
|
+ remindType := 3
|
|
|
+ uniqueCode := fmt.Sprint(seller.AdminId, time.Now().Format(utils.FormatDateUnSpace), remindType, utils.GetRandString(5))
|
|
|
+
|
|
|
remindEndDate := time.Now().AddDate(0, 0, 15).Format(utils.FormatDate)
|
|
|
companyItems, err := models.GetRemindCompany(seller.AdminId, remindEndDate)
|
|
|
if err != nil {
|
|
@@ -348,6 +376,20 @@ func CompanyRemind15Day(seller *models.Sellers) {
|
|
|
emailContents += `<tr><td>` + v.CompanyName + `</td><td>` + endTime + `</td><td>` + seller.RealName + `</td><td>` + v.Status + `</td></tr>`
|
|
|
msgContent += `客户:` + v.CompanyName + ";状态:" + v.Status + "\n"
|
|
|
isSend = true
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ companyRemindRecordList = append(companyRemindRecordList, &models.CompanyRemindRecord{
|
|
|
+ //CompanyRemindRecordId: 0,
|
|
|
+ Type: remindType,
|
|
|
+ SellerId: seller.AdminId,
|
|
|
+ SellerName: seller.RealName,
|
|
|
+ CompanyId: v.CompanyId,
|
|
|
+ CompanyName: v.CompanyName,
|
|
|
+ Status: v.Status,
|
|
|
+ EndDate: endTime,
|
|
|
+ UniqueCode: uniqueCode,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
}
|
|
|
emailContents += "</table></br>"
|
|
|
|
|
@@ -358,7 +400,8 @@ func CompanyRemind15Day(seller *models.Sellers) {
|
|
|
|
|
|
if seller.OpenId != "" {
|
|
|
first := "您有【" + strconv.Itoa(len(companyItems)) + "】 客户将于15天后到期,请注意查看"
|
|
|
- keyword1 := "到期前15天提醒"
|
|
|
+ //keyword1 := "到期前15天提醒"
|
|
|
+ keyword1 := fmt.Sprintf(`【%d】客户到期前15天提醒,点击查看`, len(companyItems))
|
|
|
keyword2 := remindEndDate
|
|
|
remark := msgContent
|
|
|
|
|
@@ -366,12 +409,17 @@ func CompanyRemind15Day(seller *models.Sellers) {
|
|
|
openIdItem := new(models.OpenIdList)
|
|
|
openIdItem.OpenId = seller.OpenId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
- SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, openIdList)
|
|
|
+ SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, uniqueCode, openIdList)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ if len(companyRemindRecordList) > 0 {
|
|
|
+ models.AddMultiCompanyRemindRecord(companyRemindRecordList)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-//7天后到期客户名称
|
|
|
+// CompanyRemind7Day 7天后到期客户名称
|
|
|
func CompanyRemind7Day(seller *models.Sellers) {
|
|
|
var err error
|
|
|
defer func() {
|
|
@@ -379,6 +427,10 @@ func CompanyRemind7Day(seller *models.Sellers) {
|
|
|
go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode, "到期提醒失败:CompanyRemind;Err"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
+ companyRemindRecordList := make([]*models.CompanyRemindRecord, 0)
|
|
|
+ remindType := 2
|
|
|
+ uniqueCode := fmt.Sprint(seller.AdminId, time.Now().Format(utils.FormatDateUnSpace), remindType, utils.GetRandString(5))
|
|
|
+
|
|
|
remindEndDate := time.Now().AddDate(0, 0, 7).Format(utils.FormatDate)
|
|
|
companyItems, err := models.GetRemindCompany(seller.AdminId, remindEndDate)
|
|
|
if err != nil {
|
|
@@ -396,6 +448,20 @@ func CompanyRemind7Day(seller *models.Sellers) {
|
|
|
emailContents += `<tr><td>` + v.CompanyName + `</td><td>` + endTime + `</td><td>` + seller.RealName + `</td><td>` + v.Status + `</td></tr>`
|
|
|
msgContent += `客户:` + v.CompanyName + ";状态:" + v.Status + "\n"
|
|
|
isSend = true
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ companyRemindRecordList = append(companyRemindRecordList, &models.CompanyRemindRecord{
|
|
|
+ //CompanyRemindRecordId: 0,
|
|
|
+ Type: remindType,
|
|
|
+ SellerId: seller.AdminId,
|
|
|
+ SellerName: seller.RealName,
|
|
|
+ CompanyId: v.CompanyId,
|
|
|
+ CompanyName: v.CompanyName,
|
|
|
+ Status: v.Status,
|
|
|
+ EndDate: endTime,
|
|
|
+ UniqueCode: uniqueCode,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
}
|
|
|
emailContents += "</table></br>"
|
|
|
|
|
@@ -406,7 +472,8 @@ func CompanyRemind7Day(seller *models.Sellers) {
|
|
|
|
|
|
if seller.OpenId != "" {
|
|
|
first := "您有【" + strconv.Itoa(len(companyItems)) + "】 客户将于7天后到期,请注意查看"
|
|
|
- keyword1 := "到期前7天提醒"
|
|
|
+ //keyword1 := "到期前7天提醒"
|
|
|
+ keyword1 := fmt.Sprintf(`【%d】客户到期前7天提醒,点击查看`, len(companyItems))
|
|
|
keyword2 := remindEndDate
|
|
|
remark := msgContent
|
|
|
|
|
@@ -414,12 +481,17 @@ func CompanyRemind7Day(seller *models.Sellers) {
|
|
|
openIdItem := new(models.OpenIdList)
|
|
|
openIdItem.OpenId = seller.OpenId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
- SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, openIdList)
|
|
|
+ SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, uniqueCode, openIdList)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ if len(companyRemindRecordList) > 0 {
|
|
|
+ models.AddMultiCompanyRemindRecord(companyRemindRecordList)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-//到期当天提醒
|
|
|
+// CompanyRemind1Day到期当天提醒
|
|
|
func CompanyRemind1Day(seller *models.Sellers) {
|
|
|
var err error
|
|
|
defer func() {
|
|
@@ -427,6 +499,10 @@ func CompanyRemind1Day(seller *models.Sellers) {
|
|
|
go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode, "到期提醒失败:CompanyRemind;Err"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
+ companyRemindRecordList := make([]*models.CompanyRemindRecord, 0)
|
|
|
+ remindType := 1
|
|
|
+ uniqueCode := fmt.Sprint(seller.AdminId, time.Now().Format(utils.FormatDateUnSpace), remindType, utils.GetRandString(5))
|
|
|
+
|
|
|
remindEndDate := time.Now().AddDate(0, 0, 0).Format(utils.FormatDate)
|
|
|
companyItems, err := models.GetRemindCompany(seller.AdminId, remindEndDate)
|
|
|
if err != nil {
|
|
@@ -444,6 +520,20 @@ func CompanyRemind1Day(seller *models.Sellers) {
|
|
|
emailContents += `<tr><td>` + v.CompanyName + `</td><td>` + endTime + `</td><td>` + seller.RealName + `</td><td>` + v.Status + `</td></tr>`
|
|
|
msgContent += `客户:` + v.CompanyName + ";状态:" + v.Status + "\n"
|
|
|
isSend = true
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ companyRemindRecordList = append(companyRemindRecordList, &models.CompanyRemindRecord{
|
|
|
+ //CompanyRemindRecordId: 0,
|
|
|
+ Type: remindType,
|
|
|
+ SellerId: seller.AdminId,
|
|
|
+ SellerName: seller.RealName,
|
|
|
+ CompanyId: v.CompanyId,
|
|
|
+ CompanyName: v.CompanyName,
|
|
|
+ Status: v.Status,
|
|
|
+ EndDate: endTime,
|
|
|
+ UniqueCode: uniqueCode,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
}
|
|
|
emailContents += "</table></br>"
|
|
|
|
|
@@ -454,7 +544,8 @@ func CompanyRemind1Day(seller *models.Sellers) {
|
|
|
|
|
|
if seller.OpenId != "" {
|
|
|
first := "您有【" + strconv.Itoa(len(companyItems)) + "】 客户将于1天后到期,请注意查看"
|
|
|
- keyword1 := "到期前1天提醒"
|
|
|
+ //keyword1 := "到期前1天提醒"
|
|
|
+ keyword1 := fmt.Sprintf(`【%d】客户到期前1天提醒,点击查看`, len(companyItems))
|
|
|
keyword2 := remindEndDate
|
|
|
remark := msgContent
|
|
|
|
|
@@ -462,9 +553,15 @@ func CompanyRemind1Day(seller *models.Sellers) {
|
|
|
openIdItem := new(models.OpenIdList)
|
|
|
openIdItem.OpenId = seller.OpenId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
- SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, openIdList)
|
|
|
+
|
|
|
+ SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark, uniqueCode, openIdList)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ if len(companyRemindRecordList) > 0 {
|
|
|
+ models.AddMultiCompanyRemindRecord(companyRemindRecordList)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// StaticCompanyTryDay 定时任务每天更新客户试用总天数
|