process
This commit is contained in:
parent
4735b65cd3
commit
17e2f347cb
|
@ -17,15 +17,39 @@ func (d *ExternalCorpOrder) TableName() string {
|
|||
return "cp_order"
|
||||
}
|
||||
|
||||
func (d *ExternalCorpOrder) QueryOwnerData(owner string, startTime, endTime int64, status int) ([]*model.ExternalCorpOrder, error) {
|
||||
func (d *ExternalCorpOrder) QueryOwnerOrder(owner string, startTime, endTime int64) ([]*model.ExternalCorpOrder, error) {
|
||||
orderTable := d.TableName()
|
||||
tx := corpDB.Table(orderTable)
|
||||
|
||||
var o []*model.ExternalCorpOrder
|
||||
|
||||
if status != 0 {
|
||||
tx.Where(orderTable+".status = ?", status)
|
||||
}
|
||||
tx.Where(orderTable+".status = ?", 2)
|
||||
|
||||
tx.Where("cp_user.username = ?", owner)
|
||||
tx.Where(orderTable+".pay_time >= ?", startTime)
|
||||
tx.Where(orderTable+".pay_time <= ?", endTime)
|
||||
|
||||
tx.Joins(fmt.Sprintf("LEFT JOIN cp_user ON %s.admin_id=cp_user.id", orderTable))
|
||||
tx.Where("cp_user.username = ?", owner)
|
||||
tx = tx.Find(&o)
|
||||
if tx.Error == gorm.ErrRecordNotFound {
|
||||
return o, nil
|
||||
}
|
||||
|
||||
if tx.Error != nil {
|
||||
return nil, tx.Error
|
||||
}
|
||||
return o, nil
|
||||
}
|
||||
|
||||
func (d *ExternalCorpOrder) QueryProcessOrder(owner string, startTime, endTime int64) ([]*model.ExternalCorpOrder, error) {
|
||||
orderTable := d.TableName()
|
||||
tx := corpDB.Table(orderTable)
|
||||
|
||||
var o []*model.ExternalCorpOrder
|
||||
|
||||
tx.Where(orderTable+".process_status = ?", 2)
|
||||
|
||||
tx.Where("cp_user.username = ?", owner)
|
||||
tx.Where(orderTable+".pay_time >= ?", startTime)
|
||||
tx.Where(orderTable+".pay_time <= ?", endTime)
|
||||
|
|
|
@ -35,13 +35,22 @@ func (s *SalaryCalculator1002) Calculate(salary *model.StaffSalary) {
|
|||
monthTime, _ := time.ParseInLocation("200601", salary.Month, time.Local)
|
||||
startTime := monthTime.Unix()
|
||||
endTime := monthTime.AddDate(0, 1, 0).Unix() - 1
|
||||
orders, err := dao.NewExternalCorpOrder().QueryOwnerData(s.user.Username, startTime, endTime, 2)
|
||||
orders, err := dao.NewExternalCorpOrder().QueryOwnerOrder(s.user.Username, startTime, endTime)
|
||||
if err != nil {
|
||||
log.Errorf("db error:%s", err.Error())
|
||||
return
|
||||
}
|
||||
orderNum := len(orders)
|
||||
salary.SetExtra("corp_order_num", cast.ToString(len(orders)))
|
||||
salary.SetExtra("corp_order_num", cast.ToString(orderNum))
|
||||
|
||||
processOrders, err := dao.NewExternalCorpOrder().QueryProcessOrder(s.user.Username, startTime, endTime)
|
||||
if err != nil {
|
||||
log.Errorf("db error:%s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
processOrderNum := len(processOrders)
|
||||
salary.SetExtra("corp_process_order_num", cast.ToString(processOrderNum))
|
||||
|
||||
if orderNum >= 40 {
|
||||
salary.TargetSalary = cast.ToFloat64(userSlary.Target)
|
||||
|
@ -55,4 +64,5 @@ func (s *SalaryCalculator1002) Calculate(salary *model.StaffSalary) {
|
|||
} else {
|
||||
salary.TargetSalary = float64(60 * orderNum)
|
||||
}
|
||||
salary.AwardSalary += float64(processOrderNum * 5)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue