1、暂存
This commit is contained in:
@ -12,6 +12,8 @@ import (
|
|||||||
"go-admin/app/admin/service"
|
"go-admin/app/admin/service"
|
||||||
"go-admin/app/admin/service/dto"
|
"go-admin/app/admin/service/dto"
|
||||||
"go-admin/common/actions"
|
"go-admin/common/actions"
|
||||||
|
"go-admin/common/middleware"
|
||||||
|
"go-admin/common/statuscode"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SmsRenewalLog struct {
|
type SmsRenewalLog struct {
|
||||||
@ -190,3 +192,37 @@ func (e SmsRenewalLog) Delete(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
e.OK(req.GetId(), "删除成功")
|
e.OK(req.GetId(), "删除成功")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 手动扣费
|
||||||
|
func (e SmsPhone) ManualDeduct(c *gin.Context) {
|
||||||
|
req := dto.ManualDeductReq{}
|
||||||
|
s := service.SmsPhone{}
|
||||||
|
|
||||||
|
err := e.MakeContext(c).
|
||||||
|
MakeOrm().
|
||||||
|
Bind(&req).
|
||||||
|
MakeService(&s.Service).
|
||||||
|
Errors
|
||||||
|
if err != nil {
|
||||||
|
e.Logger.Error(err)
|
||||||
|
e.Error(500, err, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
userId, err := middleware.GetUserIdByApiKey(c)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
e.Logger.Error("获取用户id失败", err)
|
||||||
|
e.Error(statuscode.Unauthorized, nil, statuscode.GetMsg(statuscode.Unauthorized, "en"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = s.ManualDeduct(&req, userId)
|
||||||
|
if err != nil {
|
||||||
|
e.Logger.Error(err)
|
||||||
|
e.Error(500, err, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
e.OK(nil, "success")
|
||||||
|
}
|
||||||
|
|||||||
@ -126,3 +126,8 @@ type SmsRenewalLogResp struct {
|
|||||||
// DeletedAt time.Time `json:"deletedAt" comment:"删除时间"`
|
// DeletedAt time.Time `json:"deletedAt" comment:"删除时间"`
|
||||||
UserName string `json:"username" comment:"用户名"`
|
UserName string `json:"username" comment:"用户名"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 手动扣费
|
||||||
|
type ManualDeductReq struct {
|
||||||
|
ActivationId string `json:"activationId" comment:"激活id"`
|
||||||
|
}
|
||||||
|
|||||||
@ -23,8 +23,26 @@ type SmsPhone struct {
|
|||||||
service.Service
|
service.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 手动扣费
|
||||||
|
func (e *SmsPhone) ManualDeduct(req *dto.ManualDeductReq, userId int) (any, int) {
|
||||||
|
//TODO
|
||||||
|
var entity models.SmsPhone
|
||||||
|
|
||||||
|
if err := e.Orm.Model(&entity).Where("activation_id =?", req.ActivationId).First(&entity).Error; err != nil {
|
||||||
|
e.Log.Errorf("获取短信号码失败, %s", err)
|
||||||
|
return nil, statuscode.SmsNotExisted
|
||||||
|
}
|
||||||
|
|
||||||
|
var serviceMap map[string]models.SmsServices
|
||||||
|
var permiumMap map[string]dto.GetSysConfigByKEYForServiceResp
|
||||||
|
|
||||||
|
e.processPhoneRenewal(entity, serviceMap, permiumMap)
|
||||||
|
|
||||||
|
return nil, statuscode.Success
|
||||||
|
}
|
||||||
|
|
||||||
// open-API 获取电话号码
|
// open-API 获取电话号码
|
||||||
func (e SmsPhone) OpenGetNumber(req *dto.GetNumberReq, userId int) (dto.OpenGetNumberResp, int) {
|
func (e *SmsPhone) OpenGetNumber(req *dto.GetNumberReq, userId int) (dto.OpenGetNumberResp, int) {
|
||||||
resp := dto.OpenGetNumberResp{}
|
resp := dto.OpenGetNumberResp{}
|
||||||
balanceService := MemberBalance{Service: e.Service}
|
balanceService := MemberBalance{Service: e.Service}
|
||||||
balance, smsPhone, i := e.DoGetNumber(&balanceService, req, userId)
|
balance, smsPhone, i := e.DoGetNumber(&balanceService, req, userId)
|
||||||
@ -613,7 +631,7 @@ func (e *SmsPhone) AutoRenewal() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 手动续费
|
// 手动续费(处理到期号码)
|
||||||
func (e *SmsPhone) ManualRenewal(activationIds []string) ([]string, error) {
|
func (e *SmsPhone) ManualRenewal(activationIds []string) ([]string, error) {
|
||||||
if len(activationIds) == 0 {
|
if len(activationIds) == 0 {
|
||||||
return nil, errors.New("activationIds 不能为空")
|
return nil, errors.New("activationIds 不能为空")
|
||||||
@ -761,7 +779,7 @@ func (e *SmsPhone) executeRenewalTransaction(phone models.SmsPhone, price decima
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil && err.Error() == "余额不足" {
|
if err != nil && err.Error() == "余额不足" && phone.ExpireTime.Before(time.Now()) {
|
||||||
return e.handleInsufficientBalance(phone)
|
return e.handleInsufficientBalance(phone)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user