feat: 资产套餐历史接口新增 package_type 和 status 筛选条件
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m10s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m10s
GET /api/c/v1/asset/package-history 支持可选参数: - package_type: formal(正式套餐) / addon(加油包) - status: 0(待生效) / 1(生效中) / 2(已用完) / 3(已过期) / 4(已失效) 不传则返回全部,保持向后兼容。
This commit is contained in:
@@ -270,6 +270,13 @@ func (h *ClientAssetHandler) GetPackageHistory(c *fiber.Ctx) error {
|
|||||||
} else {
|
} else {
|
||||||
query = query.Where("device_id = ?", resolved.Asset.AssetID)
|
query = query.Where("device_id = ?", resolved.Asset.AssetID)
|
||||||
}
|
}
|
||||||
|
if req.Status != nil {
|
||||||
|
query = query.Where("status = ?", *req.Status)
|
||||||
|
}
|
||||||
|
if req.PackageType != nil {
|
||||||
|
query = query.Where("package_id IN (?)",
|
||||||
|
h.db.Model(&model.Package{}).Select("id").Where("package_type = ?", *req.PackageType))
|
||||||
|
}
|
||||||
|
|
||||||
var total int64
|
var total int64
|
||||||
if err := query.Count(&total).Error; err != nil {
|
if err := query.Count(&total).Error; err != nil {
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ type AssetPackageListResponse struct {
|
|||||||
// AssetPackageHistoryRequest B3 资产套餐历史请求
|
// AssetPackageHistoryRequest B3 资产套餐历史请求
|
||||||
type AssetPackageHistoryRequest struct {
|
type AssetPackageHistoryRequest struct {
|
||||||
Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
||||||
|
PackageType *string `json:"package_type" query:"package_type" validate:"omitempty,oneof=formal addon" description:"套餐类型 (formal:正式套餐, addon:加油包)"`
|
||||||
|
Status *int `json:"status" query:"status" validate:"omitempty,min=0,max=4" minimum:"0" maximum:"4" description:"套餐状态 (0:待生效, 1:生效中, 2:已用完, 3:已过期, 4:已失效)"`
|
||||||
Page int `json:"page" query:"page" validate:"required,min=1" required:"true" minimum:"1" description:"页码"`
|
Page int `json:"page" query:"page" validate:"required,min=1" required:"true" minimum:"1" description:"页码"`
|
||||||
PageSize int `json:"page_size" query:"page_size" validate:"required,min=1,max=100" required:"true" minimum:"1" maximum:"100" description:"每页数量"`
|
PageSize int `json:"page_size" query:"page_size" validate:"required,min=1,max=100" required:"true" minimum:"1" maximum:"100" description:"每页数量"`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user