1、增加接口

This commit is contained in:
2025-08-28 14:11:09 +08:00
parent 82d5acc873
commit f73639a96c
4 changed files with 100 additions and 36 deletions

View File

@ -106,5 +106,17 @@ func (e *MemberApi) CreateApi(userId int, user *models.MemberApi, retryCount int
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
}

View File

@ -494,31 +494,48 @@ func (e SmsServices) AutoRenewal() error {
startTime := 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}
configResp := dto.GetSysConfigByKEYForServiceResp{}
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
}
mapDatas, _ := configService.GetMapByKeys([]string{"renew_number_premium_daisysms", "renew_number_premium_textverified"})
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
}
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.UserId = item.UserId
renewLog.PhoneId = item.Id
renewLog.Type = item.Type
renewLog.Amount = price
renewLog.Amount = price.Mul(percent).Truncate(2)
renewLog.BeforeTime = *item.ExpireTime
renewLog.Period = 30
@ -547,6 +564,7 @@ func (e SmsServices) AutoRenewal() error {
e.Log.Errorf("自动续期失败:%s", err.Error())
}
}
}
return nil
}

View File

@ -306,3 +306,21 @@ func (e *SmsServices) SyncPrices() error {
textVerifiedService.SyncPrices()
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
}

View File

@ -162,6 +162,22 @@ func (e *SysConfig) Remove(d *dto.SysConfigDeleteReq) error {
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
func (e *SysConfig) GetWithKey(c *dto.SysConfigByKeyReq, resp *dto.GetSysConfigByKEYForServiceResp) error {
var err error