1、续费和购买号码记录
This commit is contained in:
@ -43,7 +43,7 @@ func (e SmsRenewalLog) GetPage(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p := actions.GetPermissionFromContext(c)
|
p := actions.GetPermissionFromContext(c)
|
||||||
list := make([]models.SmsRenewalLog, 0)
|
list := make([]dto.SmsRenewalLogResp, 0)
|
||||||
var count int64
|
var count int64
|
||||||
|
|
||||||
err = s.GetPage(&req, p, &list, &count)
|
err = s.GetPage(&req, p, &list, &count)
|
||||||
|
|||||||
@ -12,11 +12,14 @@ type SmsRenewalLog struct {
|
|||||||
models.Model
|
models.Model
|
||||||
|
|
||||||
PhoneId int `json:"phoneId" gorm:"type:bigint;comment:号码id"`
|
PhoneId int `json:"phoneId" gorm:"type:bigint;comment:号码id"`
|
||||||
|
Phone string `json:"phone" gorm:"type:varchar(50);comment:号码"`
|
||||||
Type int `json:"type" gorm:"type:tinyint;comment:类型 0-长效 1-短效"`
|
Type int `json:"type" gorm:"type:tinyint;comment:类型 0-长效 1-短效"`
|
||||||
|
Category int `json:"category" gorm:"type:tinyint;comment:类别 1-购买号码 2-续费号码"`
|
||||||
UserId int `json:"userId" gorm:"type:bigint;comment:用户id"`
|
UserId int `json:"userId" gorm:"type:bigint;comment:用户id"`
|
||||||
Amount decimal.Decimal `json:"amount" gorm:"type:decimal(10,2);comment:扣费金额"`
|
Amount decimal.Decimal `json:"amount" gorm:"type:decimal(10,2);comment:扣费金额"`
|
||||||
BeforeTime time.Time `json:"beforeTime" gorm:"type:datetime;comment:续费前过期时间"`
|
BeforeTime time.Time `json:"beforeTime" gorm:"type:datetime;comment:续费前过期时间"`
|
||||||
Period int `json:"period" gorm:"type:int;comment:时间段"`
|
Period int `json:"period" gorm:"type:int;comment:时间段"`
|
||||||
|
Username string `json:"username" gorm:"->"`
|
||||||
models.ModelTime
|
models.ModelTime
|
||||||
models.ControlBy
|
models.ControlBy
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,6 +13,8 @@ import (
|
|||||||
type SmsRenewalLogGetPageReq struct {
|
type SmsRenewalLogGetPageReq struct {
|
||||||
dto.Pagination `search:"-"`
|
dto.Pagination `search:"-"`
|
||||||
Type int64 `form:"type" search:"type:exact;column:type;table:sms_renewal_log" comment:"类型 0-长效 1-短效"`
|
Type int64 `form:"type" search:"type:exact;column:type;table:sms_renewal_log" comment:"类型 0-长效 1-短效"`
|
||||||
|
Category int `form:"category" search:"type:exact;column:category;table:sms_renewal_log" comment:"类别 0-普通续费 1-号码补偿"`
|
||||||
|
UserName string `form:"userName" search:"-"`
|
||||||
SmsRenewalLogOrder
|
SmsRenewalLogOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,3 +110,19 @@ type SmsRenewalLogDeleteReq struct {
|
|||||||
func (s *SmsRenewalLogDeleteReq) GetId() interface{} {
|
func (s *SmsRenewalLogDeleteReq) GetId() interface{} {
|
||||||
return s.Ids
|
return s.Ids
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SmsRenewalLogResp struct {
|
||||||
|
Id int `json:"id" comment:"主键id"` // 主键id
|
||||||
|
PhoneId int `json:"phoneId" comment:"号码id"`
|
||||||
|
Phone string `json:"phone" comment:"电话号码"`
|
||||||
|
Type int `json:"type" comment:"类型 0-长效 1-短效"`
|
||||||
|
Category int `json:"category" comment:"类别 1-购买 2-续期"`
|
||||||
|
UserId int `json:"userId" comment:"用户id"`
|
||||||
|
Amount decimal.Decimal `json:"amount" comment:"扣费金额"`
|
||||||
|
BeforeTime time.Time `json:"beforeTime" comment:"续费前过期时间"`
|
||||||
|
Period int `json:"period" comment:"时间(天)"`
|
||||||
|
CreatedAt time.Time `json:"createdAt" comment:"创建时间"`
|
||||||
|
// UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"`
|
||||||
|
// DeletedAt time.Time `json:"deletedAt" comment:"删除时间"`
|
||||||
|
UserName string `json:"username" comment:"用户名"`
|
||||||
|
}
|
||||||
|
|||||||
@ -83,6 +83,11 @@ func (e *SmsPhone) CancelNumber(req *dto.SmsPhoneCancelNumberReq, userId int) in
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
e.Log.Errorf("取消租赁后修改失败, %s", err)
|
e.Log.Errorf("取消租赁后修改失败, %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err1 := e.Orm.
|
||||||
|
Where("phone_id = ?", data.Id).Delete(&models.SmsRenewalLog{}).Error; err1 != nil {
|
||||||
|
e.Log.Errorf("更新短信号码续费日志失败, %s", err1)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
e.Log.Errorf("取消租赁失败, %s", code)
|
e.Log.Errorf("取消租赁失败, %s", code)
|
||||||
return code
|
return code
|
||||||
@ -393,6 +398,20 @@ func (e *SmsPhone) DoGetNumber(balanceService *MemberBalance, req *dto.GetNumber
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log := models.SmsRenewalLog{}
|
||||||
|
log.PhoneId = smsPhone.Id
|
||||||
|
log.Phone = smsPhone.Phone
|
||||||
|
log.Type = smsPhone.Type
|
||||||
|
log.Category = 1
|
||||||
|
log.UserId = userId
|
||||||
|
log.Amount = price
|
||||||
|
log.BeforeTime = time.Now()
|
||||||
|
log.Period = req.Period * 30
|
||||||
|
|
||||||
|
if err := e.Orm.Save(&log).Error; err != nil {
|
||||||
|
e.Log.Errorf("保存短信续费日志失败,phone_id:%d, %s", smsPhone.Id, err)
|
||||||
|
}
|
||||||
|
|
||||||
return balance, smsPhone, statuscode.Success
|
return balance, smsPhone, statuscode.Success
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,6 +719,8 @@ func (e *SmsPhone) calculateRenewalPrice(basePrice decimal.Decimal, platformCode
|
|||||||
func (e *SmsPhone) createRenewalLog(phone models.SmsPhone, amount decimal.Decimal) models.SmsRenewalLog {
|
func (e *SmsPhone) createRenewalLog(phone models.SmsPhone, amount decimal.Decimal) models.SmsRenewalLog {
|
||||||
return models.SmsRenewalLog{
|
return models.SmsRenewalLog{
|
||||||
UserId: phone.UserId,
|
UserId: phone.UserId,
|
||||||
|
Phone: phone.Phone,
|
||||||
|
Category: 2,
|
||||||
PhoneId: phone.Id,
|
PhoneId: phone.Id,
|
||||||
Type: phone.Type,
|
Type: phone.Type,
|
||||||
Amount: amount,
|
Amount: amount,
|
||||||
|
|||||||
@ -17,22 +17,42 @@ type SmsRenewalLog struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetPage 获取SmsRenewalLog列表
|
// GetPage 获取SmsRenewalLog列表
|
||||||
func (e *SmsRenewalLog) GetPage(c *dto.SmsRenewalLogGetPageReq, p *actions.DataPermission, list *[]models.SmsRenewalLog, count *int64) error {
|
func (e *SmsRenewalLog) GetPage(c *dto.SmsRenewalLogGetPageReq, p *actions.DataPermission, list *[]dto.SmsRenewalLogResp, count *int64) error {
|
||||||
var err error
|
var err error
|
||||||
var data models.SmsRenewalLog
|
var data models.SmsRenewalLog
|
||||||
|
var datas []models.SmsRenewalLog
|
||||||
err = e.Orm.Model(&data).
|
query := e.Orm.Model(&data).
|
||||||
|
Joins("left join sys_user on sys_user.user_id = sms_renewal_log.user_id").
|
||||||
Scopes(
|
Scopes(
|
||||||
cDto.MakeCondition(c.GetNeedSearch()),
|
cDto.MakeCondition(c.GetNeedSearch()),
|
||||||
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
|
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
|
||||||
actions.Permission(data.TableName(), p),
|
actions.Permission(data.TableName(), p),
|
||||||
).
|
)
|
||||||
Find(list).Limit(-1).Offset(-1).
|
|
||||||
|
if c.UserName != "" {
|
||||||
|
query = query.Where("sys_user.username LIKE ?", "%"+c.UserName+"%")
|
||||||
|
}
|
||||||
|
err = query.Select("sms_renewal_log.*, sys_user.username").Find(&datas).Limit(-1).Offset(-1).
|
||||||
Count(count).Error
|
Count(count).Error
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Log.Errorf("SmsRenewalLogService GetPage error:%s \r\n", err)
|
e.Log.Errorf("SmsRenewalLogService GetPage error:%s \r\n", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, v := range datas {
|
||||||
|
*list = append(*list, dto.SmsRenewalLogResp{
|
||||||
|
Id: v.Id,
|
||||||
|
UserId: v.UserId,
|
||||||
|
Category: v.Category,
|
||||||
|
Phone: v.Phone,
|
||||||
|
Amount: v.Amount,
|
||||||
|
BeforeTime: v.BeforeTime,
|
||||||
|
Period: v.Period,
|
||||||
|
CreatedAt: v.CreatedAt,
|
||||||
|
UserName: v.Username,
|
||||||
|
})
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user