fix: ne type PSAP to MF

This commit is contained in:
zhangsz
2025-04-15 16:41:01 +08:00
parent df62f887ac
commit 29831600a0
12 changed files with 71 additions and 71 deletions

View File

@@ -2,9 +2,9 @@ SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for cdr_event_psap
-- Table structure for cdr_event_mf
-- ----------------------------
DROP TABLE IF EXISTS `cdr_event_psap`;
DROP TABLE IF EXISTS `cdr_event_mf`;
CREATE TABLE `cdr_event_ims` (
`id` int NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,

View File

@@ -701,6 +701,6 @@ INSERT INTO `sys_dict_data` VALUES (2190, 2190, 'menu.dashboard.overview.smfUeNu
INSERT INTO `sys_dict_data` VALUES (2191, 2191, 'menu.dashboard.overview.imsUeNum', '展示语音会话数', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2192, 2192, 'menu.dashboard.overview.gnbBase', '展示5G基站在线信息', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2193, 2193, 'menu.dashboard.overview.enbBase', '展示4G基站在线信息', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2194, 2194, 'log.operate.title.psapCDR', 'PSAP话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2194, 2194, 'log.operate.title.mfCDR', 'MF话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -701,6 +701,6 @@ INSERT INTO `sys_dict_data` VALUES (4190, 4190, 'menu.dashboard.overview.smfUeNu
INSERT INTO `sys_dict_data` VALUES (4191, 4191, 'menu.dashboard.overview.imsUeNum', 'Display the number of voice sessions', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4192, 4192, 'menu.dashboard.overview.gnbBase', 'Display 5G base station online information', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4193, 4193, 'menu.dashboard.overview.enbBase', 'Display 4G base station online information', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4194, 4194, 'log.operate.title.psapCDR', 'PSAP call detail record', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4194, 4194, 'log.operate.title.mfCDR', 'MF call detail record', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -18,9 +18,9 @@ SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for cdr_event_psap
-- Table structure for cdr_event_mf
-- ----------------------------
CREATE TABLE IF NOT EXISTS `cdr_event_psap` (
CREATE TABLE IF NOT EXISTS `cdr_event_mf` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,

View File

@@ -708,6 +708,6 @@ REPLACE INTO `sys_dict_data` VALUES (2190, 2190, 'menu.dashboard.overview.smfUeN
REPLACE INTO `sys_dict_data` VALUES (2191, 2191, 'menu.dashboard.overview.imsUeNum', '展示语音会话数', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2192, 2192, 'menu.dashboard.overview.gnbBase', '展示5G基站在线信息', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2193, 2193, 'menu.dashboard.overview.enbBase', '展示4G基站在线信息', 'i18n_zh', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2194, 2194, 'log.operate.title.psapCDR', 'PSAP话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2194, 2194, 'log.operate.title.mfCDR', 'MF话单', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -707,6 +707,6 @@ REPLACE INTO `sys_dict_data` VALUES (4190, 4190, 'menu.dashboard.overview.smfUeN
REPLACE INTO `sys_dict_data` VALUES (4191, 4191, 'menu.dashboard.overview.imsUeNum', 'Display the number of voice sessions', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4192, 4192, 'menu.dashboard.overview.gnbBase', 'Display 5G base station online information', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4193, 4193, 'menu.dashboard.overview.enbBase', 'Display 4G base station online information', 'i18n_en', '', '', '1', 'supervisor', 1721902269805, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4194, 4194, 'log.operate.title.psapCDR', 'PSAP call detail record', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4194, 4194, 'log.operate.title.mfCDR', 'MF call detail record', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -16,28 +16,28 @@ import (
"github.com/gin-gonic/gin"
)
// 实例化控制层 PSAPController 结构体
var NewPSAP = &PSAPController{
// 实例化控制层 MFController 结构体
var NewMF = &MFController{
neInfoService: neService.NewNeInfo,
cdrEventService: neDataService.NewCDREventPSAP,
cdrEventService: neDataService.NewCDREventMF,
}
// 网元PSAP
// 网元MF
//
// PATH /psap
type PSAPController struct {
neInfoService *neService.NeInfo // 网元信息服务
cdrEventService *neDataService.CDREventPSAP // CDR会话事件服务
// PATH /mf
type MFController struct {
neInfoService *neService.NeInfo // 网元信息服务
cdrEventService *neDataService.CDREventMF // CDR会话事件服务
}
// CDR会话列表
//
// GET /cdr/list
//
// @Tags network_data/psap
// @Tags network_data/mf
// @Accept json
// @Produce json
// @Param neType query string true "NE Type only PSAP" Enums(PSAP)
// @Param neType query string true "NE Type only MF" Enums(MF)
// @Param neId query string true "NE ID" default(001)
// @Param callerParty query string false "callerParty"
// @Param calledParty query string false "calledParty"
@@ -47,10 +47,10 @@ type PSAPController struct {
// @Security TokenAuth
// @Summary CDR Session List
// @Description CDR Session List
// @Router /neData/psap/cdr/list [get]
func (s *PSAPController) CDRList(c *gin.Context) {
// @Router /neData/mf/cdr/list [get]
func (s *MFController) CDRList(c *gin.Context) {
language := ctx.AcceptLanguage(c)
var querys model.CDREventPSAPQuery
var querys model.CDREventMFQuery
if err := c.ShouldBindQuery(&querys); err != nil {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
@@ -73,7 +73,7 @@ func (s *PSAPController) CDRList(c *gin.Context) {
//
// DELETE /cdr/:cdrIds
//
// @Tags network_data/psap
// @Tags network_data/mf
// @Accept json
// @Produce json
// @Param cdrIds path string true "list data id, multiple separated by a , sign"
@@ -81,8 +81,8 @@ func (s *PSAPController) CDRList(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session Delete
// @Description CDR Session Delete
// @Router /neData/psap/cdr/{cdrIds} [delete]
func (s *PSAPController) CDRRemove(c *gin.Context) {
// @Router /neData/mf/cdr/{cdrIds} [delete]
func (s *MFController) CDRRemove(c *gin.Context) {
language := ctx.AcceptLanguage(c)
cdrIds := c.Param("cdrIds")
if cdrIds == "" {
@@ -109,7 +109,7 @@ func (s *PSAPController) CDRRemove(c *gin.Context) {
//
// POST /cdr/export
//
// @Tags network_data/psap
// @Tags network_data/mf
// @Accept json
// @Produce json
// @Param data body object true "Request Param"
@@ -117,11 +117,11 @@ func (s *PSAPController) CDRRemove(c *gin.Context) {
// @Security TokenAuth
// @Summary CDR Session List Export
// @Description CDR Session List Export
// @Router /neData/psap/cdr/export [post]
func (s *PSAPController) CDRExport(c *gin.Context) {
// @Router /neData/mf/cdr/export [post]
func (s *MFController) CDRExport(c *gin.Context) {
language := ctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
var querys model.CDREventPSAPQuery
var querys model.CDREventMFQuery
if err := c.ShouldBindBodyWithJSON(&querys); err != nil {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
@@ -145,7 +145,7 @@ func (s *PSAPController) CDRExport(c *gin.Context) {
}
// 导出文件名称
fileName := fmt.Sprintf("psap_cdr_event_export_%d_%d.xlsx", len(rows), time.Now().UnixMilli())
fileName := fmt.Sprintf("mf_cdr_event_export_%d_%d.xlsx", len(rows), time.Now().UnixMilli())
// 导出数据表格
saveFilePath, err := s.cdrEventService.ExportXlsx(rows, fileName, language)
if err != nil {

View File

@@ -2,8 +2,8 @@ package model
import "time"
// CDREventPSAP CDR会话对象PSAP cdr_event_psap
type CDREventPSAP struct {
// CDREventMF CDR会话对象MF cdr_event_mf
type CDREventMF struct {
ID string `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
NeType string `json:"neType" gorm:"column:ne_type"`
NeName string `json:"neName" gorm:"column:ne_name"`
@@ -14,13 +14,13 @@ type CDREventPSAP struct {
}
// TableName 表名称
func (*CDREventPSAP) TableName() string {
return "cdr_event_psap"
func (*CDREventMF) TableName() string {
return "cdr_event_mf"
}
// CDREventPSAPQuery CDR会话对象PSAP查询参数结构体
type CDREventPSAPQuery struct {
NeType string `json:"neType" form:"neType" binding:"required,oneof=PSAP"` // 网元类型PSAP
// CDREventMFQuery CDR会话对象MF查询参数结构体
type CDREventMFQuery struct {
NeType string `json:"neType" form:"neType" binding:"required,oneof=MF"` // 网元类型MF
NeID string `json:"neId" form:"neId" binding:"required"`
RmUID string `json:"rmUID" form:"rmUID"`
RecordType string `json:"recordType" form:"recordType"` // 记录行为 MOC MTC

View File

@@ -59,22 +59,22 @@ func Setup(router *gin.Engine) {
)
}
// 网元PSAP
psapGroup := neDataGroup.Group("/psap")
// 网元MF
mfGroup := neDataGroup.Group("/mf")
{
psapGroup.GET("/cdr/list",
mfGroup.GET("/cdr/list",
middleware.PreAuthorize(nil),
controller.NewPSAP.CDRList,
controller.NewMF.CDRList,
)
psapGroup.DELETE("/cdr/:cdrIds",
mfGroup.DELETE("/cdr/:cdrIds",
middleware.PreAuthorize(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.psapCDR", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewPSAP.CDRRemove,
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mfCDR", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewMF.CDRRemove,
)
psapGroup.POST("/cdr/export",
mfGroup.POST("/cdr/export",
middleware.PreAuthorize(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.psapCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
controller.NewPSAP.CDRExport,
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.mfCDR", collectlogs.BUSINESS_TYPE_EXPORT)),
controller.NewMF.CDRExport,
)
}

View File

@@ -9,15 +9,15 @@ import (
"be.ems/src/modules/network_data/model"
)
// 实例化数据层 CDREventPSAP 结构体
var NewCDREventPSAP = &CDREventPSAP{}
// 实例化数据层 CDREventMF 结构体
var NewCDREventMF = &CDREventMF{}
// CDREventPSAP CDR会话事件 数据层处理
type CDREventPSAP struct{}
// CDREventMF CDR会话事件 数据层处理
type CDREventMF struct{}
// SelectByPage 分页查询集合
func (r CDREventPSAP) SelectByPage(querys model.CDREventPSAPQuery) ([]model.CDREventPSAP, int64) {
tx := datasource.DB("").Model(&model.CDREventPSAP{})
func (r CDREventMF) SelectByPage(querys model.CDREventMFQuery) ([]model.CDREventMF, int64) {
tx := datasource.DB("").Model(&model.CDREventMF{})
// 查询条件拼接
if querys.NeType != "" {
tx = tx.Where("ne_type = ?", querys.NeType)
@@ -57,7 +57,7 @@ func (r CDREventPSAP) SelectByPage(querys model.CDREventPSAPQuery) ([]model.CDRE
// 查询结果
var total int64 = 0
rows := []model.CDREventPSAP{}
rows := []model.CDREventMF{}
// 查询数量为0直接返回
if err := tx.Count(&total).Error; err != nil || total <= 0 {
@@ -85,12 +85,12 @@ func (r CDREventPSAP) SelectByPage(querys model.CDREventPSAPQuery) ([]model.CDRE
}
// SelectByIds 通过ID查询
func (r *CDREventPSAP) SelectByIds(ids []string) []model.CDREventPSAP {
rows := []model.CDREventPSAP{}
func (r *CDREventMF) SelectByIds(ids []string) []model.CDREventMF {
rows := []model.CDREventMF{}
if len(ids) <= 0 {
return rows
}
tx := datasource.DB("").Model(&model.CDREventPSAP{})
tx := datasource.DB("").Model(&model.CDREventMF{})
// 构建查询条件
tx = tx.Where("id in ?", ids)
// 查询数据
@@ -102,12 +102,12 @@ func (r *CDREventPSAP) SelectByIds(ids []string) []model.CDREventPSAP {
}
// DeleteByIds 批量删除信息
func (r *CDREventPSAP) DeleteByIds(ids []string) int64 {
func (r *CDREventMF) DeleteByIds(ids []string) int64 {
if len(ids) <= 0 {
return 0
}
tx := datasource.DB("").Where("id in ?", ids)
if err := tx.Delete(&model.CDREventPSAP{}).Error; err != nil {
if err := tx.Delete(&model.CDREventMF{}).Error; err != nil {
logger.Errorf("delete err => %v", err.Error())
return 0
}

View File

@@ -15,31 +15,31 @@ import (
sysService "be.ems/src/modules/system/service"
)
// 实例化数据层 CDREventPSAP 结构体
var NewCDREventPSAP = &CDREventPSAP{
cdrEventPSAPRepository: repository.NewCDREventPSAP,
// 实例化数据层 CDREventMF 结构体
var NewCDREventMF = &CDREventMF{
cdrEventMFRepository: repository.NewCDREventMF,
}
// CDREventImpl CDR会话事件PSAP 服务层处理
type CDREventPSAP struct {
cdrEventPSAPRepository *repository.CDREventPSAP // CDR会话事件数据信息
// CDREventImpl CDR会话事件MF 服务层处理
type CDREventMF struct {
cdrEventMFRepository *repository.CDREventMF // CDR会话事件数据信息
}
// SelectPage 根据条件分页查询
func (r *CDREventPSAP) SelectPage(querys model.CDREventPSAPQuery) ([]model.CDREventPSAP, int64) {
return r.cdrEventPSAPRepository.SelectByPage(querys)
func (r *CDREventMF) SelectPage(querys model.CDREventMFQuery) ([]model.CDREventMF, int64) {
return r.cdrEventMFRepository.SelectByPage(querys)
}
// DeleteByIds 批量删除信息
func (r *CDREventPSAP) DeleteByIds(cdrIds []string) (int64, error) {
func (r *CDREventMF) DeleteByIds(cdrIds []string) (int64, error) {
// 检查是否存在
ids := r.cdrEventPSAPRepository.SelectByIds(cdrIds)
ids := r.cdrEventMFRepository.SelectByIds(cdrIds)
if len(ids) <= 0 {
return 0, fmt.Errorf("not data")
}
if len(ids) == len(cdrIds) {
rows := r.cdrEventPSAPRepository.DeleteByIds(cdrIds)
rows := r.cdrEventMFRepository.DeleteByIds(cdrIds)
return rows, nil
}
// 删除信息失败!
@@ -47,7 +47,7 @@ func (r *CDREventPSAP) DeleteByIds(cdrIds []string) (int64, error) {
}
// ExportXlsx 导出数据到 xlsx 文件
func (r CDREventPSAP) ExportXlsx(rows []model.CDREventPSAP, fileName, language string) (string, error) {
func (r CDREventMF) ExportXlsx(rows []model.CDREventMF, fileName, language string) (string, error) {
// 第一行表头标题
headerCells := map[string]string{
"A1": "ID",

View File

@@ -19,7 +19,7 @@ func (r NeInfo) neListSort(arr []model.NeInfo) []model.NeInfo {
// neListSort 网元列表预设排序
var list = []string{
"OMC",
"PSAP",
"MF",
}
// 创建优先级映射