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