package salary_calculator import ( "enterprise/common/model" "enterprise/common/registry" "github.com/spf13/cast" ) 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) { userSlary := s.user.GetSalary() if s.user.Status == model.StaffUserStatusAttach { //挂靠直接算工资 salary.AttendSalary = cast.ToFloat64(userSlary.Base) salary.TargetSalary = cast.ToFloat64(userSlary.Target) return } salary.AttendSalary = cast.ToFloat64(userSlary.Base) * (salary.AttendDay / float64(salary.ShouldDay)) salary.TargetSalary = cast.ToFloat64(userSlary.Target) }