1、续费和购买号码记录
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
package apis
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"fmt"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||
@ -29,27 +29,27 @@ type SmsRenewalLog struct {
|
||||
// @Router /api/v1/sms-renewal-log [get]
|
||||
// @Security Bearer
|
||||
func (e SmsRenewalLog) GetPage(c *gin.Context) {
|
||||
req := dto.SmsRenewalLogGetPageReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
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
|
||||
}
|
||||
req := dto.SmsRenewalLogGetPageReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
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
|
||||
}
|
||||
|
||||
p := actions.GetPermissionFromContext(c)
|
||||
list := make([]models.SmsRenewalLog, 0)
|
||||
list := make([]dto.SmsRenewalLogResp, 0)
|
||||
var count int64
|
||||
|
||||
err = s.GetPage(&req, p, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(500, err, fmt.Sprintf("获取短信续期记录失败,\r\n失败信息 %s", err.Error()))
|
||||
return
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
@ -66,7 +66,7 @@ func (e SmsRenewalLog) GetPage(c *gin.Context) {
|
||||
func (e SmsRenewalLog) Get(c *gin.Context) {
|
||||
req := dto.SmsRenewalLogGetReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
err := e.MakeContext(c).
|
||||
err := e.MakeContext(c).
|
||||
MakeOrm().
|
||||
Bind(&req).
|
||||
MakeService(&s.Service).
|
||||
@ -82,10 +82,10 @@ func (e SmsRenewalLog) Get(c *gin.Context) {
|
||||
err = s.Get(&req, p, &object)
|
||||
if err != nil {
|
||||
e.Error(500, err, fmt.Sprintf("获取短信续期记录失败,\r\n失败信息 %s", err.Error()))
|
||||
return
|
||||
return
|
||||
}
|
||||
|
||||
e.OK( object, "查询成功")
|
||||
e.OK(object, "查询成功")
|
||||
}
|
||||
|
||||
// Insert 创建短信续期记录
|
||||
@ -99,25 +99,25 @@ func (e SmsRenewalLog) Get(c *gin.Context) {
|
||||
// @Router /api/v1/sms-renewal-log [post]
|
||||
// @Security Bearer
|
||||
func (e SmsRenewalLog) Insert(c *gin.Context) {
|
||||
req := dto.SmsRenewalLogInsertReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
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
|
||||
}
|
||||
req := dto.SmsRenewalLogInsertReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
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
|
||||
}
|
||||
// 设置创建人
|
||||
req.SetCreateBy(user.GetUserId(c))
|
||||
|
||||
err = s.Insert(&req)
|
||||
if err != nil {
|
||||
e.Error(500, err, fmt.Sprintf("创建短信续期记录失败,\r\n失败信息 %s", err.Error()))
|
||||
return
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(req.GetId(), "创建成功")
|
||||
@ -135,27 +135,27 @@ func (e SmsRenewalLog) Insert(c *gin.Context) {
|
||||
// @Router /api/v1/sms-renewal-log/{id} [put]
|
||||
// @Security Bearer
|
||||
func (e SmsRenewalLog) Update(c *gin.Context) {
|
||||
req := dto.SmsRenewalLogUpdateReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
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
|
||||
}
|
||||
req := dto.SmsRenewalLogUpdateReq{}
|
||||
s := service.SmsRenewalLog{}
|
||||
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
|
||||
}
|
||||
req.SetUpdateBy(user.GetUserId(c))
|
||||
p := actions.GetPermissionFromContext(c)
|
||||
|
||||
err = s.Update(&req, p)
|
||||
if err != nil {
|
||||
e.Error(500, err, fmt.Sprintf("修改短信续期记录失败,\r\n失败信息 %s", err.Error()))
|
||||
return
|
||||
return
|
||||
}
|
||||
e.OK( req.GetId(), "修改成功")
|
||||
e.OK(req.GetId(), "修改成功")
|
||||
}
|
||||
|
||||
// Delete 删除短信续期记录
|
||||
@ -167,18 +167,18 @@ func (e SmsRenewalLog) Update(c *gin.Context) {
|
||||
// @Router /api/v1/sms-renewal-log [delete]
|
||||
// @Security Bearer
|
||||
func (e SmsRenewalLog) Delete(c *gin.Context) {
|
||||
s := service.SmsRenewalLog{}
|
||||
req := dto.SmsRenewalLogDeleteReq{}
|
||||
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
|
||||
}
|
||||
s := service.SmsRenewalLog{}
|
||||
req := dto.SmsRenewalLogDeleteReq{}
|
||||
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
|
||||
}
|
||||
|
||||
// req.SetUpdateBy(user.GetUserId(c))
|
||||
p := actions.GetPermissionFromContext(c)
|
||||
@ -186,7 +186,7 @@ func (e SmsRenewalLog) Delete(c *gin.Context) {
|
||||
err = s.Remove(&req, p)
|
||||
if err != nil {
|
||||
e.Error(500, err, fmt.Sprintf("删除短信续期记录失败,\r\n失败信息 %s", err.Error()))
|
||||
return
|
||||
return
|
||||
}
|
||||
e.OK( req.GetId(), "删除成功")
|
||||
e.OK(req.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
@ -12,11 +12,14 @@ type SmsRenewalLog struct {
|
||||
models.Model
|
||||
|
||||
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-短效"`
|
||||
Category int `json:"category" gorm:"type:tinyint;comment:类别 1-购买号码 2-续费号码"`
|
||||
UserId int `json:"userId" gorm:"type:bigint;comment:用户id"`
|
||||
Amount decimal.Decimal `json:"amount" gorm:"type:decimal(10,2);comment:扣费金额"`
|
||||
BeforeTime time.Time `json:"beforeTime" gorm:"type:datetime;comment:续费前过期时间"`
|
||||
Period int `json:"period" gorm:"type:int;comment:时间段"`
|
||||
Username string `json:"username" gorm:"->"`
|
||||
models.ModelTime
|
||||
models.ControlBy
|
||||
}
|
||||
|
||||
@ -12,7 +12,9 @@ import (
|
||||
|
||||
type SmsRenewalLogGetPageReq struct {
|
||||
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
|
||||
}
|
||||
|
||||
@ -108,3 +110,19 @@ type SmsRenewalLogDeleteReq struct {
|
||||
func (s *SmsRenewalLogDeleteReq) GetId() interface{} {
|
||||
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 {
|
||||
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 {
|
||||
e.Log.Errorf("取消租赁失败, %s", 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
|
||||
}
|
||||
|
||||
@ -700,6 +719,8 @@ func (e *SmsPhone) calculateRenewalPrice(basePrice decimal.Decimal, platformCode
|
||||
func (e *SmsPhone) createRenewalLog(phone models.SmsPhone, amount decimal.Decimal) models.SmsRenewalLog {
|
||||
return models.SmsRenewalLog{
|
||||
UserId: phone.UserId,
|
||||
Phone: phone.Phone,
|
||||
Category: 2,
|
||||
PhoneId: phone.Id,
|
||||
Type: phone.Type,
|
||||
Amount: amount,
|
||||
|
||||
@ -3,7 +3,7 @@ package service
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/go-admin-team/go-admin-core/sdk/service"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/service"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
@ -17,22 +17,42 @@ type SmsRenewalLog struct {
|
||||
}
|
||||
|
||||
// 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 data models.SmsRenewalLog
|
||||
|
||||
err = e.Orm.Model(&data).
|
||||
var datas []models.SmsRenewalLog
|
||||
query := e.Orm.Model(&data).
|
||||
Joins("left join sys_user on sys_user.user_id = sms_renewal_log.user_id").
|
||||
Scopes(
|
||||
cDto.MakeCondition(c.GetNeedSearch()),
|
||||
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
|
||||
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
|
||||
|
||||
if err != nil {
|
||||
e.Log.Errorf("SmsRenewalLogService GetPage error:%s \r\n", 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
|
||||
}
|
||||
|
||||
@ -59,9 +79,9 @@ func (e *SmsRenewalLog) Get(d *dto.SmsRenewalLogGetReq, p *actions.DataPermissio
|
||||
|
||||
// Insert 创建SmsRenewalLog对象
|
||||
func (e *SmsRenewalLog) Insert(c *dto.SmsRenewalLogInsertReq) error {
|
||||
var err error
|
||||
var data models.SmsRenewalLog
|
||||
c.Generate(&data)
|
||||
var err error
|
||||
var data models.SmsRenewalLog
|
||||
c.Generate(&data)
|
||||
err = e.Orm.Create(&data).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("SmsRenewalLogService Insert error:%s \r\n", err)
|
||||
@ -72,22 +92,22 @@ func (e *SmsRenewalLog) Insert(c *dto.SmsRenewalLogInsertReq) error {
|
||||
|
||||
// Update 修改SmsRenewalLog对象
|
||||
func (e *SmsRenewalLog) Update(c *dto.SmsRenewalLogUpdateReq, p *actions.DataPermission) error {
|
||||
var err error
|
||||
var data = models.SmsRenewalLog{}
|
||||
e.Orm.Scopes(
|
||||
actions.Permission(data.TableName(), p),
|
||||
).First(&data, c.GetId())
|
||||
c.Generate(&data)
|
||||
var err error
|
||||
var data = models.SmsRenewalLog{}
|
||||
e.Orm.Scopes(
|
||||
actions.Permission(data.TableName(), p),
|
||||
).First(&data, c.GetId())
|
||||
c.Generate(&data)
|
||||
|
||||
db := e.Orm.Save(&data)
|
||||
if err = db.Error; err != nil {
|
||||
e.Log.Errorf("SmsRenewalLogService Save error:%s \r\n", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
return errors.New("无权更新该数据")
|
||||
}
|
||||
return nil
|
||||
db := e.Orm.Save(&data)
|
||||
if err = db.Error; err != nil {
|
||||
e.Log.Errorf("SmsRenewalLogService Save error:%s \r\n", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
return errors.New("无权更新该数据")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Remove 删除SmsRenewalLog
|
||||
@ -99,11 +119,11 @@ func (e *SmsRenewalLog) Remove(d *dto.SmsRenewalLogDeleteReq, p *actions.DataPer
|
||||
actions.Permission(data.TableName(), p),
|
||||
).Delete(&data, d.GetId())
|
||||
if err := db.Error; err != nil {
|
||||
e.Log.Errorf("Service RemoveSmsRenewalLog error:%s \r\n", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
return errors.New("无权删除该数据")
|
||||
}
|
||||
e.Log.Errorf("Service RemoveSmsRenewalLog error:%s \r\n", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
return errors.New("无权删除该数据")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user