enterprise/plugin/staff_1002.go

51 lines
1.3 KiB
Go

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"))
}