package plugin import ( "enterprise/common/dao" "enterprise/common/global" "enterprise/common/model" "enterprise/common/registry" "fmt" log "github.com/sirupsen/logrus" "strings" "time" ) type Staff1002 struct { Staff corp *model.Corp } func NewStaff1002(corp *model.Corp) registry.Staff { return &Staff1002{ corp: corp, } } func (s *Staff1002) Monitor(user *model.StaffUser) { s.MonitorWorkAge(user) nowDate := time.Now() entryDate, _ := time.ParseInLocation("2006-01-02", user.EntryDate, time.Local) entryDay := (nowDate.Unix() - entryDate.Unix()) / 86400 if entryDay != 20 && entryDay != 40 { return } // 1.订单 orders, err := dao.NewExternalCorpOrder().QueryOwnerOrder(user.Username, 0, 0) if err != nil { log.Errorf("db error:%s", err.Error()) return } message := make([]string, 0) message = append(message, fmt.Sprintf("【员工试用期提醒】[%s]", user.Realname)) message = append(message, fmt.Sprintf("入职时间:%s", user.EntryDate)) message = append(message, fmt.Sprintf("入职天数:%d", entryDay)) message = append(message, fmt.Sprintf("订单总数:%d", len(orders))) message = append(message, fmt.Sprintf("预期订单:%d", entryDay/20*15)) global.SendCorpMessage(user.CorpId, []string{"jiangyong", "zhangping"}, strings.Join(message, "\n")) }