1、增加接口
This commit is contained in:
@ -106,5 +106,17 @@ func (e *MemberApi) CreateApi(userId int, user *models.MemberApi, retryCount int
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apiKey := fmt.Sprintf(rediskey.MemberApiKey, apiEntity.ApiKey)
|
||||||
|
val, err := sonic.MarshalString(apiEntity)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
e.Log.Errorf("用户api 初始化失败")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := redishelper.DefaultRedis.SetString(apiKey, val); err != nil {
|
||||||
|
e.Log.Errorf("用户api 初始化失败")
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -494,31 +494,48 @@ func (e SmsServices) AutoRenewal() error {
|
|||||||
startTime := time.Now().Add(-24 * time.Hour)
|
startTime := time.Now().Add(-24 * time.Hour)
|
||||||
endTime := time.Now().Add(24 * time.Hour)
|
endTime := time.Now().Add(24 * time.Hour)
|
||||||
|
|
||||||
|
smsServices := SmsServices{Service: e.Service}
|
||||||
|
serviceMap := smsServices.GetMapAll()
|
||||||
|
|
||||||
configService := SysConfig{Service: e.Service}
|
configService := SysConfig{Service: e.Service}
|
||||||
configResp := dto.GetSysConfigByKEYForServiceResp{}
|
mapDatas, _ := configService.GetMapByKeys([]string{"renew_number_premium_daisysms", "renew_number_premium_textverified"})
|
||||||
configService.GetWithKey(&dto.SysConfigByKeyReq{ConfigKey: "long_number_renew_deduction_standard"}, &configResp)
|
|
||||||
|
|
||||||
if configResp.ConfigValue == "" {
|
|
||||||
e.Log.Errorf("获取续费价格失败")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
price, _ := decimal.NewFromString(configResp.ConfigValue)
|
|
||||||
if price.IsZero() {
|
|
||||||
e.Log.Errorf("获取续费价格失败")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := e.Orm.Model(&models.SmsPhone{}).Where("auto_renewal =1 and type =1 and actived =2 and expire_time >=? and expire_time <?", startTime, endTime).Find(&datas).Error; err != nil {
|
if err := e.Orm.Model(&models.SmsPhone{}).Where("auto_renewal =1 and type =1 and actived =2 and expire_time >=? and expire_time <?", startTime, endTime).Find(&datas).Error; err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, item := range datas {
|
for _, item := range datas {
|
||||||
|
percent := decimal.NewFromInt(1)
|
||||||
|
price := decimal.Zero
|
||||||
|
|
||||||
|
if service, ok := serviceMap[item.PlatformCode+"_"+item.ServiceCode]; !ok {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
price = service.LongPrice
|
||||||
|
switch {
|
||||||
|
case item.PlatformCode == global.SmsPlatformDaisysms:
|
||||||
|
p, ok := mapDatas["renew_number_premium_daisysms"]
|
||||||
|
val, _ := decimal.NewFromString(p.ConfigValue)
|
||||||
|
|
||||||
|
if ok && val.Cmp(decimal.Zero) > 0 {
|
||||||
|
per := decimal.NewFromInt(100).Add(val)
|
||||||
|
percent = per.Div(decimal.NewFromInt(100)).Truncate(2)
|
||||||
|
}
|
||||||
|
case item.PlatformCode == global.SmsPlatformTextVerified:
|
||||||
|
p, ok := mapDatas["renew_number_premium_textverified"]
|
||||||
|
val, _ := decimal.NewFromString(p.ConfigValue)
|
||||||
|
|
||||||
|
if ok && val.Cmp(decimal.Zero) > 0 {
|
||||||
|
per := decimal.NewFromInt(100).Add(val)
|
||||||
|
percent = per.Div(decimal.NewFromInt(100)).Truncate(2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
renewLog := models.SmsRenewalLog{}
|
renewLog := models.SmsRenewalLog{}
|
||||||
renewLog.UserId = item.UserId
|
renewLog.UserId = item.UserId
|
||||||
renewLog.PhoneId = item.Id
|
renewLog.PhoneId = item.Id
|
||||||
renewLog.Type = item.Type
|
renewLog.Type = item.Type
|
||||||
renewLog.Amount = price
|
renewLog.Amount = price.Mul(percent).Truncate(2)
|
||||||
renewLog.BeforeTime = *item.ExpireTime
|
renewLog.BeforeTime = *item.ExpireTime
|
||||||
renewLog.Period = 30
|
renewLog.Period = 30
|
||||||
|
|
||||||
@ -547,6 +564,7 @@ func (e SmsServices) AutoRenewal() error {
|
|||||||
e.Log.Errorf("自动续期失败:%s", err.Error())
|
e.Log.Errorf("自动续期失败:%s", err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -306,3 +306,21 @@ func (e *SmsServices) SyncPrices() error {
|
|||||||
textVerifiedService.SyncPrices()
|
textVerifiedService.SyncPrices()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取服务map
|
||||||
|
// map key ={platformCode}_{serviceCode}
|
||||||
|
func (e *SmsServices) GetMapAll() map[string]models.SmsServices {
|
||||||
|
var datas []models.SmsServices
|
||||||
|
|
||||||
|
if err := e.Orm.Model(&models.SmsServices{}).Find(&datas).Error; err != nil {
|
||||||
|
e.Log.Errorf("SmsServicesService GetMapAll error:%s \r\n", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
mapServices := make(map[string]models.SmsServices)
|
||||||
|
for _, item := range datas {
|
||||||
|
mapServices[item.PlatformCode+"_"+item.Code] = item
|
||||||
|
}
|
||||||
|
|
||||||
|
return mapServices
|
||||||
|
}
|
||||||
|
|||||||
@ -162,6 +162,22 @@ func (e *SysConfig) Remove(d *dto.SysConfigDeleteReq) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (e *SysConfig) GetMapByKeys(keys []string) (map[string]dto.GetSysConfigByKEYForServiceResp, error) {
|
||||||
|
listData := make([]dto.GetSysConfigByKEYForServiceResp, 0)
|
||||||
|
err := e.GetWithKeyForList(keys, &listData)
|
||||||
|
result := make(map[string]dto.GetSysConfigByKEYForServiceResp)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range listData {
|
||||||
|
result[v.ConfigKey] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
// GetWithKey 根据Key获取SysConfig
|
// GetWithKey 根据Key获取SysConfig
|
||||||
func (e *SysConfig) GetWithKey(c *dto.SysConfigByKeyReq, resp *dto.GetSysConfigByKEYForServiceResp) error {
|
func (e *SysConfig) GetWithKey(c *dto.SysConfigByKeyReq, resp *dto.GetSysConfigByKEYForServiceResp) error {
|
||||||
var err error
|
var err error
|
||||||
|
|||||||
Reference in New Issue
Block a user