package salary_calculator import ( "enterprise/common/dao" "enterprise/common/model" "enterprise/common/registry" log "github.com/sirupsen/logrus" "time" ) type SalaryCalculator1002 struct { corp *model.Corp user *model.StaffUser } func NewSalaryCalculator1002(corp *model.Corp, user *model.StaffUser) registry.SalaryCalculator { return &SalaryCalculator1002{ corp: corp, user: user, } } func (s *SalaryCalculator1002) Calculate(salary *model.StaffSalary) map[string]interface{} { data := make(map[string]interface{}) // 1.订单 monthTime, _ := time.ParseInLocation("200601", salary.Month, time.Local) startTime := monthTime.Unix() endTime := monthTime.AddDate(0, 1, 0).Unix() - 1 orders, err := dao.NewExternalCorpOrder().QueryOwnerOrder(s.user.Username, startTime, endTime) if err != nil { log.Errorf("db error:%s", err.Error()) } data["orderNum"] = len(orders) //2.处理的订单 processOrders, err := dao.NewExternalCorpOrder().QueryProcessOrder(s.user.Username, startTime, endTime) if err != nil { log.Errorf("db error:%s", err.Error()) } data["processNum"] = len(processOrders) //3.下属订单 corpUser, err := dao.NewExternalCorpUser().Get(s.user.Username) if err != nil { log.Errorf("db error:%s", err.Error()) } if corpUser != nil { childOrders, err := dao.NewExternalCorpOrder().QueryChildOrder(corpUser.Id, startTime, endTime) if err != nil { log.Errorf("db error:%s", err.Error()) } data["childOrderNum"] = len(childOrders) } return data }