feat: 网元数据CDR和UE事件接口新增查询删除
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
"ems.agt/src/framework/i18n"
|
"ems.agt/src/framework/i18n"
|
||||||
"ems.agt/src/framework/utils/ctx"
|
"ems.agt/src/framework/utils/ctx"
|
||||||
|
"ems.agt/src/framework/utils/parse"
|
||||||
"ems.agt/src/framework/vo/result"
|
"ems.agt/src/framework/vo/result"
|
||||||
"ems.agt/src/modules/network_data/model"
|
"ems.agt/src/modules/network_data/model"
|
||||||
neDataService "ems.agt/src/modules/network_data/service"
|
neDataService "ems.agt/src/modules/network_data/service"
|
||||||
@@ -28,8 +31,8 @@ type AMFController struct {
|
|||||||
|
|
||||||
// UE会话列表
|
// UE会话列表
|
||||||
//
|
//
|
||||||
// GET /ues
|
// GET /ue/list
|
||||||
func (s *AMFController) UEs(c *gin.Context) {
|
func (s *AMFController) UEList(c *gin.Context) {
|
||||||
language := ctx.AcceptLanguage(c)
|
language := ctx.AcceptLanguage(c)
|
||||||
var querys model.UEEventQuery
|
var querys model.UEEventQuery
|
||||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
@@ -49,3 +52,29 @@ func (s *AMFController) UEs(c *gin.Context) {
|
|||||||
data := s.ueEventService.SelectPage(querys)
|
data := s.ueEventService.SelectPage(querys)
|
||||||
c.JSON(200, result.Ok(data))
|
c.JSON(200, result.Ok(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UE会话删除
|
||||||
|
//
|
||||||
|
// DELETE /ue/:ueIds
|
||||||
|
func (s *AMFController) UERemove(c *gin.Context) {
|
||||||
|
language := ctx.AcceptLanguage(c)
|
||||||
|
ueIds := c.Param("ueIds")
|
||||||
|
if ueIds == "" {
|
||||||
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 处理字符转id数组后去重
|
||||||
|
ids := strings.Split(ueIds, ",")
|
||||||
|
uniqueIDs := parse.RemoveDuplicates(ids)
|
||||||
|
if len(uniqueIDs) <= 0 {
|
||||||
|
c.JSON(200, result.Err(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rows, err := s.ueEventService.DeleteByIds(uniqueIDs)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, err.Error())))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
msg := i18n.TTemplate(language, "app.common.deleteSuccess", map[string]any{"num": rows})
|
||||||
|
c.JSON(200, result.OkMsg(msg))
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
"ems.agt/src/framework/i18n"
|
"ems.agt/src/framework/i18n"
|
||||||
"ems.agt/src/framework/utils/ctx"
|
"ems.agt/src/framework/utils/ctx"
|
||||||
|
"ems.agt/src/framework/utils/parse"
|
||||||
"ems.agt/src/framework/vo/result"
|
"ems.agt/src/framework/vo/result"
|
||||||
"ems.agt/src/modules/network_data/model"
|
"ems.agt/src/modules/network_data/model"
|
||||||
neDataService "ems.agt/src/modules/network_data/service"
|
neDataService "ems.agt/src/modules/network_data/service"
|
||||||
@@ -28,8 +31,8 @@ type IMSController struct {
|
|||||||
|
|
||||||
// CDR会话列表
|
// CDR会话列表
|
||||||
//
|
//
|
||||||
// GET /cdrs
|
// GET /cdr/list
|
||||||
func (s *IMSController) CDRs(c *gin.Context) {
|
func (s *IMSController) CDRList(c *gin.Context) {
|
||||||
language := ctx.AcceptLanguage(c)
|
language := ctx.AcceptLanguage(c)
|
||||||
var querys model.CDREventQuery
|
var querys model.CDREventQuery
|
||||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
@@ -49,3 +52,29 @@ func (s *IMSController) CDRs(c *gin.Context) {
|
|||||||
data := s.cdrEventService.SelectPage(querys)
|
data := s.cdrEventService.SelectPage(querys)
|
||||||
c.JSON(200, result.Ok(data))
|
c.JSON(200, result.Ok(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CDR会话删除
|
||||||
|
//
|
||||||
|
// DELETE /cdr/:cdrIds
|
||||||
|
func (s *IMSController) CDRRemove(c *gin.Context) {
|
||||||
|
language := ctx.AcceptLanguage(c)
|
||||||
|
cdrIds := c.Param("cdrIds")
|
||||||
|
if cdrIds == "" {
|
||||||
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 处理字符转id数组后去重
|
||||||
|
ids := strings.Split(cdrIds, ",")
|
||||||
|
uniqueIDs := parse.RemoveDuplicates(ids)
|
||||||
|
if len(uniqueIDs) <= 0 {
|
||||||
|
c.JSON(200, result.Err(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rows, err := s.cdrEventService.DeleteByIds(uniqueIDs)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, err.Error())))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
msg := i18n.TTemplate(language, "app.common.deleteSuccess", map[string]any{"num": rows})
|
||||||
|
c.JSON(200, result.OkMsg(msg))
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,14 +15,14 @@ type CDREvent struct {
|
|||||||
|
|
||||||
// CDREventQuery CDR会话对象查询参数结构体
|
// CDREventQuery CDR会话对象查询参数结构体
|
||||||
type CDREventQuery struct {
|
type CDREventQuery struct {
|
||||||
NeType string `json:"neType" form:"neType" binding:"required"`
|
NeType string `json:"neType" form:"neType" binding:"required"` // 网元类型, 暂时支持IMS
|
||||||
NeID string `json:"neId" form:"neId" binding:"required"`
|
NeID string `json:"neId" form:"neId" binding:"required"`
|
||||||
RmUID string `json:"rmUID" form:"rmUID"`
|
RmUID string `json:"rmUID" form:"rmUID"`
|
||||||
RecordType string `json:"recordType" form:"recordType"`
|
RecordType string `json:"recordType" form:"recordType"` // 记录行为 MOC MTC MOSM MTSM
|
||||||
StartTime string `json:"startTime" form:"startTime"`
|
StartTime string `json:"startTime" form:"startTime"`
|
||||||
EndTime string `json:"endTime" form:"endTime"`
|
EndTime string `json:"endTime" form:"endTime"`
|
||||||
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"`
|
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
|
||||||
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"`
|
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序,asc desc
|
||||||
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`
|
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`
|
||||||
PageSize int64 `json:"pageSize" form:"pageSize" binding:"required"`
|
PageSize int64 `json:"pageSize" form:"pageSize" binding:"required"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,13 +16,14 @@ type UEEvent struct {
|
|||||||
|
|
||||||
// UEEventQuery UE会话对象查询参数结构体
|
// UEEventQuery UE会话对象查询参数结构体
|
||||||
type UEEventQuery struct {
|
type UEEventQuery struct {
|
||||||
NeType string `json:"neType" form:"neType" binding:"required"`
|
NeType string `json:"neType" form:"neType" binding:"required"` // 网元类型, 暂时支持AMF
|
||||||
NeID string `json:"neId" form:"neId" binding:"required"`
|
NeID string `json:"neId" form:"neId" binding:"required"`
|
||||||
RmUID string `json:"rmUID" form:"rmUID"`
|
RmUID string `json:"rmUID" form:"rmUID"`
|
||||||
|
EventType string `json:"eventType" form:"eventType"` // 事件类型 auth-result detach cm-state
|
||||||
StartTime string `json:"startTime" form:"startTime"`
|
StartTime string `json:"startTime" form:"startTime"`
|
||||||
EndTime string `json:"endTime" form:"endTime"`
|
EndTime string `json:"endTime" form:"endTime"`
|
||||||
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"`
|
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
|
||||||
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"`
|
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序,asc desc
|
||||||
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`
|
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`
|
||||||
PageSize int64 `json:"pageSize" form:"pageSize" binding:"required"`
|
PageSize int64 `json:"pageSize" form:"pageSize" binding:"required"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package networkdata
|
|||||||
import (
|
import (
|
||||||
"ems.agt/src/framework/logger"
|
"ems.agt/src/framework/logger"
|
||||||
"ems.agt/src/framework/middleware"
|
"ems.agt/src/framework/middleware"
|
||||||
|
"ems.agt/src/framework/middleware/collectlogs"
|
||||||
"ems.agt/src/modules/network_data/controller"
|
"ems.agt/src/modules/network_data/controller"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@@ -30,19 +31,32 @@ func Setup(router *gin.Engine) {
|
|||||||
// 网元IMS
|
// 网元IMS
|
||||||
imsGroup := neDataGroup.Group("/ims")
|
imsGroup := neDataGroup.Group("/ims")
|
||||||
{
|
{
|
||||||
// CDR会话事件信息
|
// CDR会话事件列表
|
||||||
imsGroup.GET("/cdrs",
|
imsGroup.GET("/cdr/list",
|
||||||
middleware.PreAuthorize(nil),
|
middleware.PreAuthorize(nil),
|
||||||
controller.NewIMSController.CDRs,
|
controller.NewIMSController.CDRList,
|
||||||
|
)
|
||||||
|
// CDR会话删除
|
||||||
|
imsGroup.DELETE("/cdr/:cdrIds",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.imsCDR", collectlogs.BUSINESS_TYPE_DELETE)),
|
||||||
|
controller.NewIMSController.CDRRemove,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 网元AMF
|
// 网元AMF
|
||||||
amfGroup := neDataGroup.Group("/amf")
|
amfGroup := neDataGroup.Group("/amf")
|
||||||
{
|
{
|
||||||
amfGroup.GET("/ues",
|
// UE会话事件
|
||||||
|
amfGroup.GET("/ue/list",
|
||||||
middleware.PreAuthorize(nil),
|
middleware.PreAuthorize(nil),
|
||||||
controller.NewAMFController.UEs,
|
controller.NewAMFController.UEList,
|
||||||
|
)
|
||||||
|
// UE会话删除
|
||||||
|
amfGroup.DELETE("/ue/:ueIds",
|
||||||
|
middleware.PreAuthorize(nil),
|
||||||
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.amfUE", collectlogs.BUSINESS_TYPE_DELETE)),
|
||||||
|
controller.NewAMFController.UERemove,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,4 +6,10 @@ import "ems.agt/src/modules/network_data/model"
|
|||||||
type ICDREvent interface {
|
type ICDREvent interface {
|
||||||
// SelectPage 根据条件分页查询
|
// SelectPage 根据条件分页查询
|
||||||
SelectPage(querys model.CDREventQuery) map[string]any
|
SelectPage(querys model.CDREventQuery) map[string]any
|
||||||
|
|
||||||
|
// SelectByIds 通过ID查询
|
||||||
|
SelectByIds(cdrIds []string) []model.CDREvent
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
DeleteByIds(cdrIds []string) int64
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,10 @@ func (r *CDREventImpl) SelectPage(querys model.CDREventQuery) map[string]any {
|
|||||||
conditions = append(conditions, "rm_uid = ?")
|
conditions = append(conditions, "rm_uid = ?")
|
||||||
params = append(params, querys.RmUID)
|
params = append(params, querys.RmUID)
|
||||||
}
|
}
|
||||||
|
if querys.RmUID != "" {
|
||||||
|
conditions = append(conditions, "rm_uid = ?")
|
||||||
|
params = append(params, querys.RmUID)
|
||||||
|
}
|
||||||
if querys.StartTime != "" {
|
if querys.StartTime != "" {
|
||||||
conditions = append(conditions, "timestamp >= ?")
|
conditions = append(conditions, "timestamp >= ?")
|
||||||
beginDate := date.ParseStrToDate(querys.StartTime, date.YYYY_MM_DD_HH_MM_SS)
|
beginDate := date.ParseStrToDate(querys.StartTime, date.YYYY_MM_DD_HH_MM_SS)
|
||||||
@@ -74,8 +78,12 @@ func (r *CDREventImpl) SelectPage(querys model.CDREventQuery) map[string]any {
|
|||||||
params = append(params, endDate.Unix())
|
params = append(params, endDate.Unix())
|
||||||
}
|
}
|
||||||
if querys.RecordType != "" {
|
if querys.RecordType != "" {
|
||||||
conditions = append(conditions, "JSON_EXTRACT(cdr_json, '$.recordType') = ?")
|
recordTypes := strings.Split(querys.RecordType, ",")
|
||||||
params = append(params, querys.RecordType)
|
placeholder := repo.KeyPlaceholderByQuery(len(recordTypes))
|
||||||
|
conditions = append(conditions, fmt.Sprintf("JSON_EXTRACT(cdr_json, '$.recordType') in (%s)", placeholder))
|
||||||
|
for _, recordType := range recordTypes {
|
||||||
|
params = append(params, recordType)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
@@ -120,7 +128,7 @@ func (r *CDREventImpl) SelectPage(querys model.CDREventQuery) map[string]any {
|
|||||||
sortSql += " asc "
|
sortSql += " asc "
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orderSql = fmt.Sprintf(" order by %s ", sortSql)
|
orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
@@ -134,3 +142,30 @@ func (r *CDREventImpl) SelectPage(querys model.CDREventQuery) map[string]any {
|
|||||||
result["rows"] = r.convertResultRows(results)
|
result["rows"] = r.convertResultRows(results)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SelectByIds 通过ID查询
|
||||||
|
func (r *CDREventImpl) SelectByIds(cdrIds []string) []model.CDREvent {
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(cdrIds))
|
||||||
|
querySql := r.selectSql + " where id in (" + placeholder + ")"
|
||||||
|
parameters := repo.ConvertIdsSlice(cdrIds)
|
||||||
|
results, err := datasource.RawDB("", querySql, parameters)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("query err => %v", err)
|
||||||
|
return []model.CDREvent{}
|
||||||
|
}
|
||||||
|
// 转换实体
|
||||||
|
return r.convertResultRows(results)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
func (r *CDREventImpl) DeleteByIds(cdrIds []string) int64 {
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(cdrIds))
|
||||||
|
sql := "delete from cdr_event where id in (" + placeholder + ")"
|
||||||
|
parameters := repo.ConvertIdsSlice(cdrIds)
|
||||||
|
results, err := datasource.ExecDB("", sql, parameters)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("delete err => %v", err)
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,4 +6,10 @@ import "ems.agt/src/modules/network_data/model"
|
|||||||
type IUEEvent interface {
|
type IUEEvent interface {
|
||||||
// SelectPage 根据条件分页查询
|
// SelectPage 根据条件分页查询
|
||||||
SelectPage(querys model.UEEventQuery) map[string]any
|
SelectPage(querys model.UEEventQuery) map[string]any
|
||||||
|
|
||||||
|
// SelectByIds 通过ID查询
|
||||||
|
SelectByIds(ueIds []string) []model.UEEvent
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
DeleteByIds(ueIds []string) int64
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,14 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any {
|
|||||||
endDate := date.ParseStrToDate(querys.EndTime, date.YYYY_MM_DD_HH_MM_SS)
|
endDate := date.ParseStrToDate(querys.EndTime, date.YYYY_MM_DD_HH_MM_SS)
|
||||||
params = append(params, endDate.Unix())
|
params = append(params, endDate.Unix())
|
||||||
}
|
}
|
||||||
|
if querys.EventType != "" {
|
||||||
|
eventTypes := strings.Split(querys.EventType, ",")
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(eventTypes))
|
||||||
|
conditions = append(conditions, fmt.Sprintf("event_type in (%s)", placeholder))
|
||||||
|
for _, eventType := range eventTypes {
|
||||||
|
params = append(params, eventType)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
whereSql := ""
|
whereSql := ""
|
||||||
@@ -117,7 +125,7 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any {
|
|||||||
sortSql += " asc "
|
sortSql += " asc "
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orderSql = fmt.Sprintf(" order by %s ", sortSql)
|
orderSql = fmt.Sprintf(" order by id desc, %s ", sortSql)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
@@ -131,3 +139,30 @@ func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any {
|
|||||||
result["rows"] = r.convertResultRows(results)
|
result["rows"] = r.convertResultRows(results)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SelectByIds 通过ID查询
|
||||||
|
func (r *UEEventImpl) SelectByIds(ueIds []string) []model.UEEvent {
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(ueIds))
|
||||||
|
querySql := r.selectSql + " where id in (" + placeholder + ")"
|
||||||
|
parameters := repo.ConvertIdsSlice(ueIds)
|
||||||
|
results, err := datasource.RawDB("", querySql, parameters)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("query err => %v", err)
|
||||||
|
return []model.UEEvent{}
|
||||||
|
}
|
||||||
|
// 转换实体
|
||||||
|
return r.convertResultRows(results)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
func (r *UEEventImpl) DeleteByIds(ueIds []string) int64 {
|
||||||
|
placeholder := repo.KeyPlaceholderByQuery(len(ueIds))
|
||||||
|
sql := "delete from ue_event where id in (" + placeholder + ")"
|
||||||
|
parameters := repo.ConvertIdsSlice(ueIds)
|
||||||
|
results, err := datasource.ExecDB("", sql, parameters)
|
||||||
|
if err != nil {
|
||||||
|
logger.Errorf("delete err => %v", err)
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return results
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,4 +6,7 @@ import "ems.agt/src/modules/network_data/model"
|
|||||||
type ICDREvent interface {
|
type ICDREvent interface {
|
||||||
// SelectPage 根据条件分页查询
|
// SelectPage 根据条件分页查询
|
||||||
SelectPage(querys model.CDREventQuery) map[string]any
|
SelectPage(querys model.CDREventQuery) map[string]any
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
DeleteByIds(cdrIds []string) (int64, error)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"ems.agt/src/modules/network_data/model"
|
"ems.agt/src/modules/network_data/model"
|
||||||
"ems.agt/src/modules/network_data/repository"
|
"ems.agt/src/modules/network_data/repository"
|
||||||
)
|
)
|
||||||
@@ -20,3 +22,19 @@ type CDREventImpl struct {
|
|||||||
func (r *CDREventImpl) SelectPage(querys model.CDREventQuery) map[string]any {
|
func (r *CDREventImpl) SelectPage(querys model.CDREventQuery) map[string]any {
|
||||||
return r.cdrEventRepository.SelectPage(querys)
|
return r.cdrEventRepository.SelectPage(querys)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
func (r *CDREventImpl) DeleteByIds(cdrIds []string) (int64, error) {
|
||||||
|
// 检查是否存在
|
||||||
|
ids := r.cdrEventRepository.SelectByIds(cdrIds)
|
||||||
|
if len(ids) <= 0 {
|
||||||
|
return 0, fmt.Errorf("not data")
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(ids) == len(cdrIds) {
|
||||||
|
rows := r.cdrEventRepository.DeleteByIds(cdrIds)
|
||||||
|
return rows, nil
|
||||||
|
}
|
||||||
|
// 删除信息失败!
|
||||||
|
return 0, fmt.Errorf("delete fail")
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,4 +6,7 @@ import "ems.agt/src/modules/network_data/model"
|
|||||||
type IUEEvent interface {
|
type IUEEvent interface {
|
||||||
// SelectPage 根据条件分页查询
|
// SelectPage 根据条件分页查询
|
||||||
SelectPage(querys model.UEEventQuery) map[string]any
|
SelectPage(querys model.UEEventQuery) map[string]any
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
DeleteByIds(ueIds []string) (int64, error)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"ems.agt/src/modules/network_data/model"
|
"ems.agt/src/modules/network_data/model"
|
||||||
"ems.agt/src/modules/network_data/repository"
|
"ems.agt/src/modules/network_data/repository"
|
||||||
)
|
)
|
||||||
@@ -20,3 +22,19 @@ type UEEventImpl struct {
|
|||||||
func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any {
|
func (r *UEEventImpl) SelectPage(querys model.UEEventQuery) map[string]any {
|
||||||
return r.ueEventRepository.SelectPage(querys)
|
return r.ueEventRepository.SelectPage(querys)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteByIds 批量删除信息
|
||||||
|
func (r *UEEventImpl) DeleteByIds(ueIds []string) (int64, error) {
|
||||||
|
// 检查是否存在
|
||||||
|
ids := r.ueEventRepository.SelectByIds(ueIds)
|
||||||
|
if len(ids) <= 0 {
|
||||||
|
return 0, fmt.Errorf("no data")
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(ids) == len(ueIds) {
|
||||||
|
rows := r.ueEventRepository.DeleteByIds(ueIds)
|
||||||
|
return rows, nil
|
||||||
|
}
|
||||||
|
// 删除信息失败!
|
||||||
|
return 0, fmt.Errorf("delete fail")
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user