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