You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.0 KiB
37 lines
1.0 KiB
package service |
|
|
|
import ( |
|
"context" |
|
"time" |
|
|
|
"go-common/app/job/main/vip/model" |
|
v1 "go-common/app/service/main/vip/api" |
|
vipmol "go-common/app/service/main/vip/model" |
|
"go-common/library/log" |
|
) |
|
|
|
func (s *Service) eleEompensateJob() { |
|
log.Info("ele grant eompensate job start..................") |
|
if succeed := s.dao.AddTransferLock(context.TODO(), "lock:elegrant"); succeed { |
|
if err := s.EleGrantCompensate(context.TODO()); err != nil { |
|
log.Error("error(%+v)", err) |
|
} |
|
} |
|
log.Info("ele grant eompensate job end..................") |
|
} |
|
|
|
// EleGrantCompensate ele frant compensate. |
|
func (s *Service) EleGrantCompensate(c context.Context) (err error) { |
|
var res []*model.VipOrderActivityRecord |
|
if res, err = s.dao.NotGrantActOrders(c, vipmol.PanelTypeEle, s.c.Property.NotGrantLimit); err != nil { |
|
return |
|
} |
|
for _, v := range res { |
|
if _, err = s.vipgRPC.EleVipGrant(c, &v1.EleVipGrantReq{OrderNo: v.OrderNo}); err != nil { |
|
log.Error("EleVipGrant a(%s) err(%+v)", v.OrderNo, err) |
|
continue |
|
} |
|
time.Sleep(time.Second) |
|
} |
|
return |
|
}
|
|
|