123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629 |
- // 模块控制接口-基站参数
- // 秒寻科技
- // zt 2024-02-16
- package bparamhandler
- import (
- "fmt"
- "ipsomc/core/dao/mysql/mysqlmodel"
- "ipsomc/core/gin/bind"
- "ipsomc/core/gin/resp"
- "ipsomc/module/bparam/bparamapi"
- "ipsomc/module/bparam/bparamlogic"
- "ipsomc/module/bparam/bparammodel"
- "ipsomc/module/bparam/bparamoam"
- "ipsomc/public"
- "time"
- "github.com/gin-gonic/gin"
- )
- type BparamHan struct {
- bindApi bind.BindApi
- bparamApi bparamapi.BparamApi
- bparamLgc bparamlogic.BparamLgc
- bparamOamApi bparamoam.BparamOam
- }
- // 新增基站基本参数
- func (obj *BparamHan) AddBtsBaseParamHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //保存数据
- if err := obj.bparamApi.AddBtsBaseParam(dataModel); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回数据
- resp.RespId(c, dataModel.ID)
- }
- // 修改
- func (obj *BparamHan) UpdateBtsBaseParamHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- dataMap := make(map[string]interface{})
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //保存数据
- if err := obj.bparamApi.UpdateBtsBaseParam(dataModel, dataMap); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回数据
- resp.RespOk(c)
- }
- // 删除
- func (obj *BparamHan) DeleteBtsBaseParamHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据解析错误")
- return
- }
- if err := obj.bparamApi.DeleteBtsBaseParam(dataModel); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回数据
- resp.RespOk(c)
- }
- // 查询单条记录
- func (obj *BparamHan) GetBtsBaseParamByIdHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据解析错误")
- return
- }
- if err := obj.bparamApi.GetBtsBaseParamById(dataModel); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回数据
- resp.RespData(c, dataModel)
- }
- // 查询满足条件的所有记录
- func (obj *BparamHan) GetBtsBaseParamListHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- listParam := new(mysqlmodel.ListParam)
- dataList := []bparammodel.BtsBaseParam{}
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2Query(c, listParam); err != nil {
- resp.RespFail(c, "数据解析错误")
- return
- }
- //查询满足条件的记录
- err := obj.bparamApi.GetBtsBaseParamList(dataModel, listParam, &dataList)
- if err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回记录
- resp.RespList(c, dataList)
- }
- // 分页查询
- func (obj *BparamHan) GetBtsBaseParamPageListHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- pageListParam := new(mysqlmodel.PageListParam)
- dataList := []bparammodel.BtsBaseParam{}
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil {
- resp.RespFail(c, "数据解析错误")
- return
- }
- pageListData, err := obj.bparamApi.GetBtsBaseParamPageList(dataModel, pageListParam, &dataList)
- if err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- resp.RespList(c, pageListData)
- }
- // 移动端查询基站参数
- func (obj *BparamHan) GetMobileBtsParamListHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据解析错误")
- return
- }
- //查询满足条件的
- dataList, err := obj.bparamApi.GetMobileBtsParamList(dataModel)
- if err != nil {
- resp.RespFail(c, "查询数据错误")
- return
- }
- println(dataList)
- //返回记录
- resp.RespList(c, dataList)
- }
- // 本地网管新增基站基本参数
- func (obj *BparamHan) GuiUploadBtsBaseParamAddHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //保存数据
- if err := obj.bparamApi.AddBtsBaseParam(dataModel); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回数据
- resp.RespId(c, dataModel.ID)
- }
- // 本地网管修改基站基本参数
- func (obj *BparamHan) GuiUploadBtsBaseParamUpdateHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- dataMap := make(map[string]interface{})
- //把前端数据绑定到模型
- if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //保存数据
- if err := obj.bparamLgc.UploadBparamLgc(dataModel, dataMap); err != nil {
- resp.RespFail(c, err.Error())
- return
- }
- //返回数据
- resp.RespOk(c)
- }
- //***********************************以上是http命令**********************************************
- //**********************************************************************************************
- //***********************************下面是socket命令********************************************
- // 保存http请求通道
- func (obj *BparamHan) SaveRequestChan(httpReqChan chan interface{}, ProjectID int, BtsID int, mcpCmdType uint8) {
- requestIdStr := fmt.Sprintf("%08X", ProjectID) + "-" + fmt.Sprintf("%08X", BtsID) + "-" + fmt.Sprintf("%d", mcpCmdType)
- public.Gpub_mutex.Lock()
- public.Gpub_mapChan[requestIdStr] = httpReqChan //保存通道
- public.Gpub_mutex.Unlock()
- }
- // 返回数据并删除http请求通道
- func (obj *BparamHan) RespDataWithChan(c *gin.Context, httpReqChan chan interface{}, ProjectID int, BtsID int, mcpCmdType uint8) {
- requestIdStr := fmt.Sprintf("%08X", ProjectID) + "-" + fmt.Sprintf("%08X", BtsID) + "-" + fmt.Sprintf("%d", mcpCmdType)
- //把数据返回给客户端
- select {
- case v := <-httpReqChan:
- resp.RespData(c, v) //数据返回前端
- case <-time.After(10 * time.Second): // 10秒超时
- resp.RespFail(c, "查询超时")
- }
- public.Gpub_mutex.Lock()
- delete(public.Gpub_mapChan, requestIdStr)
- public.Gpub_mutex.Unlock()
- }
- // 查询基站设备参数
- func (obj *BparamHan) GetBtsOamParamDeviceHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryDeviceParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 查询基站网管参数
- func (obj *BparamHan) GetBtsOamParamNetworkHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryNetworkParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 设置基站网管参数
- func (obj *BparamHan) SetBtsOamParamNetworkHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetNetworkParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 查询基站同步参数
- func (obj *BparamHan) GetBtsOamParamSyncHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQuerySyncParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 设置基站同步参数
- func (obj *BparamHan) SetBtsOamParamSyncHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetSyncParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 查询基站增益参数
- func (obj *BparamHan) GetBtsOamParamGainHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsDeviceParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryGainParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 设置基站增益参数
- func (obj *BparamHan) SetBtsOamParamGainHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetGainParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 查询安装参数
- func (obj *BparamHan) GetBtsOamParamInstallHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsDeviceParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryInstallParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 配置基站参数
- func (obj *BparamHan) SetBtsOamParamInstallHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetInstallParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 查询基站参数
- func (obj *BparamHan) GetBtsOamParamBtsHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsDeviceParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryBtsParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 配置基站参数
- func (obj *BparamHan) SetBtsOamParamBtsHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetBtsParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 查询定位类型参数
- func (obj *BparamHan) GetBtsOamParamLocationTypeHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsDeviceParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryLocationTypeParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 配置定位类型参数
- func (obj *BparamHan) SetBtsOamParamLocationTypeHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetLocationTypeParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 查询rtc参数
- func (obj *BparamHan) GetBtsOamParamRtcHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- //查询基站参数
- if err := obj.bparamOamApi.OamQueryRtcParam(dataModel); err != nil {
- resp.RespFail(c, "查询数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_QUERY)
- }
- // 配置rtc参数
- func (obj *BparamHan) SetBtsOamParamRtcHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSetRtcParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 保存参数
- func (obj *BparamHan) SaveOamParamHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //生成并保存http请求通道
- httpReqChan := make(chan interface{})
- obj.SaveRequestChan(httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- //设置基站参数
- if err := obj.bparamOamApi.OamSaveParam(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- //返回数据并删除http请求通道
- obj.RespDataWithChan(c, httpReqChan, dataModel.ProjectID, dataModel.BtsID, public.BTS_MCP_SET)
- }
- // 复位基站
- func (obj *BparamHan) ResetBtsHan(c *gin.Context) {
- dataModel := new(bparammodel.BtsBaseParam)
- //把前端数据绑定到模型上
- if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
- resp.RespFail(c, "数据错误")
- return
- }
- //设置基站参数
- if err := obj.bparamOamApi.OamResetBts(dataModel); err != nil {
- resp.RespFail(c, "设置数据错误")
- }
- resp.RespOk(c)
- }
|