1、暂存
This commit is contained in:
@ -12,6 +12,8 @@ import (
|
||||
"go-admin/app/admin/service"
|
||||
"go-admin/app/admin/service/dto"
|
||||
"go-admin/common/actions"
|
||||
"go-admin/common/middleware"
|
||||
"go-admin/common/statuscode"
|
||||
)
|
||||
|
||||
type SmsRenewalLog struct {
|
||||
@ -190,3 +192,37 @@ func (e SmsRenewalLog) Delete(c *gin.Context) {
|
||||
}
|
||||
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:"删除时间"`
|
||||
UserName string `json:"username" comment:"用户名"`
|
||||
}
|
||||
|
||||
// 手动扣费
|
||||
type ManualDeductReq struct {
|
||||
ActivationId string `json:"activationId" comment:"激活id"`
|
||||
}
|
||||
|
||||
@ -23,8 +23,26 @@ type SmsPhone struct {
|
||||
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 获取电话号码
|
||||
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{}
|
||||
balanceService := MemberBalance{Service: e.Service}
|
||||
balance, smsPhone, i := e.DoGetNumber(&balanceService, req, userId)
|
||||
@ -613,7 +631,7 @@ func (e *SmsPhone) AutoRenewal() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 手动续费
|
||||
// 手动续费(处理到期号码)
|
||||
func (e *SmsPhone) ManualRenewal(activationIds []string) ([]string, error) {
|
||||
if len(activationIds) == 0 {
|
||||
return nil, errors.New("activationIds 不能为空")
|
||||
@ -761,7 +779,7 @@ func (e *SmsPhone) executeRenewalTransaction(phone models.SmsPhone, price decima
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil && err.Error() == "余额不足" {
|
||||
if err != nil && err.Error() == "余额不足" && phone.ExpireTime.Before(time.Now()) {
|
||||
return e.handleInsufficientBalance(phone)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user