package customerApp
import (
"appPlatform/api/version1/customerform"
datacenter "appPlatform/api/version1/dataCenter"
"appPlatform/api/version1/publicapi"
"appPlatform/models/modelAppPlatform"
"appPlatform/models/modelshr"
"appPlatform/models/modelssystempermission"
"appPlatform/overall"
"appPlatform/overall/publicmethod"
"encoding/json"
"fmt"
"sort"
"strconv"
"strings"
"time"
"github.com/gin-gonic/gin"
)
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 23 10 : 13 : 39
@ 功能 : 创建APP
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) CreateApp ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
context , _ := c . Get ( overall . MyContJwt )
var userCont modelshr . ManCont
userCont . GetLoginCont ( context ) //当前操作人
uuid := publicmethod . GetUUid ( 1 )
createrTime := time . Now ( ) . Unix ( )
appKey := fmt . Sprintf ( "app_%v" , uuid )
appName := fmt . Sprintf ( "未命名应用_%v" , uuid )
//应用主体
var formInfo modelAppPlatform . CustomerForm
formInfo . Name = appName //表单名称"`
formInfo . TableNames = appKey //创建表单名称"`
formInfo . Classify = 3 //分类1:表单;2:流程表单; 3: 应用; 4: 应用中的表单'
formInfo . States = 1 //显示状态(1:启用;2:禁用,3:删除)"`
formInfo . CreaterTime = createrTime //创建时间"`
formInfo . EditTime = createrTime //编辑时间"`
groupIdInt , _ := strconv . ParseInt ( requestData . Id , 10 , 64 )
formInfo . Groupid = groupIdInt //分组Id"`
formInfo . Icon = "https://docu.hxgk.group/images/2024_04/482167d1bf2b75a5717bcf68e18235f7.png" //图标"`
formInfo . FlowIsOpen = 2
formInfo . SignCode = uuid //是否开启工作流(1:启用;2:禁用)"`
//应用版本
var appVersion modelAppPlatform . CustomerFormVersion
appVersion . TableKey = appKey //表单标识符"`
appVersion . Version = 1 //版本号"`
appVersion . Status = 1 //显示状态(1:启用;2:禁用,3:删除)"`
appVersion . Creater = userCont . Key //创建人"`
appVersion . CreaterTime = createrTime //创建时间"`
appVersion . EditTime = createrTime //编辑时间"`
appVersion . Visibility = 1 //1、所有人,2、自定义"`
appVersion . SignCode = uuid
//基本菜单
var menuKey [ ] int64
for {
if len ( menuKey ) >= 5 {
break
}
menuUUid := publicmethod . GetUUid ( 2 )
if ! publicmethod . IsInTrue [ int64 ] ( menuUUid , menuKey ) {
menuKey = append ( menuKey , menuUUid )
}
}
var appMenuList [ ] modelAppPlatform . Appmenus
var daiWoChuLi modelAppPlatform . Appmenus
daiWoChuLi . Id = menuKey [ 0 ] //
daiWoChuLi . Label = "代办事宜" //节点名称"`
daiWoChuLi . Types = 2 //节点类型 1:目录;2:菜单"`
daiWoChuLi . Svg = "daiWoCuLi" //图标"`
daiWoChuLi . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
daiWoChuLi . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
daiWoChuLi . Parent = uuid //上级"`
daiWoChuLi . Appkey = uuid //归属哪个应用"`
daiWoChuLi . CreaterTime = createrTime //创建时间"`
daiWoChuLi . EditTime = createrTime //编辑时间"`
daiWoChuLi . Creater = userCont . Key //创建人"`
daiWoChuLi . IsLock = 1 //是否为固定菜单(1:是;2:否)"`
daiWoChuLi . Sort = 1
daiWoChuLi . State = 1
daiWoChuLi . IsMain = 1
appMenuList = append ( appMenuList , daiWoChuLi )
var woYiChuLi modelAppPlatform . Appmenus
woYiChuLi . Id = menuKey [ 1 ] //
woYiChuLi . Label = "已办事宜" //节点名称"`
woYiChuLi . Types = 2 //节点类型 1:目录;2:菜单"`
woYiChuLi . Svg = "woYiChuLi" //图标"`
woYiChuLi . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
woYiChuLi . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
woYiChuLi . Parent = uuid //上级"`
woYiChuLi . Appkey = uuid //归属哪个应用"`
woYiChuLi . CreaterTime = createrTime //创建时间"`
woYiChuLi . EditTime = createrTime //编辑时间"`
woYiChuLi . Creater = userCont . Key //创建人"`
woYiChuLi . IsLock = 1 //是否为固定菜单(1:是;2:否)"`
woYiChuLi . Sort = 2
woYiChuLi . State = 1
woYiChuLi . IsMain = 2
appMenuList = append ( appMenuList , woYiChuLi )
var caoSongWoDe modelAppPlatform . Appmenus
caoSongWoDe . Id = menuKey [ 2 ] //
caoSongWoDe . Label = "抄送我的" //节点名称"`
caoSongWoDe . Types = 2 //节点类型 1:目录;2:菜单"`
caoSongWoDe . Svg = "chaoSongWoDe" //图标"`
caoSongWoDe . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
caoSongWoDe . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
caoSongWoDe . Parent = uuid //上级"`
caoSongWoDe . Appkey = uuid //归属哪个应用"`
caoSongWoDe . CreaterTime = createrTime //创建时间"`
caoSongWoDe . EditTime = createrTime //编辑时间"`
caoSongWoDe . Creater = userCont . Key //创建人"`
caoSongWoDe . IsLock = 1 //是否为固定菜单(1:是;2:否)"`
caoSongWoDe . Sort = 3
caoSongWoDe . State = 1
caoSongWoDe . IsMain = 3
appMenuList = append ( appMenuList , caoSongWoDe )
var woChuangJianDe modelAppPlatform . Appmenus
woChuangJianDe . Id = menuKey [ 3 ] //
woChuangJianDe . Label = "我创建的" //节点名称"`
woChuangJianDe . Types = 2 //节点类型 1:目录;2:菜单"`
woChuangJianDe . Svg = "woChuangJianDe" //图标"`
woChuangJianDe . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
woChuangJianDe . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
woChuangJianDe . Parent = uuid //上级"`
woChuangJianDe . Appkey = uuid //归属哪个应用"`
woChuangJianDe . CreaterTime = createrTime //创建时间"`
woChuangJianDe . EditTime = createrTime //编辑时间"`
woChuangJianDe . Creater = userCont . Key //创建人"`
woChuangJianDe . IsLock = 1 //是否为固定菜单(1:是;2:否)"`
woChuangJianDe . Sort = 4
woChuangJianDe . State = 1
woChuangJianDe . IsMain = 4
appMenuList = append ( appMenuList , woChuangJianDe )
var myDrafts modelAppPlatform . Appmenus
myDrafts . Id = menuKey [ 4 ] //
myDrafts . Label = "草稿箱" //节点名称"`
myDrafts . Types = 2 //节点类型 1:目录;2:菜单"`
myDrafts . Svg = "caogaoxiang(1)" //图标"`
myDrafts . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
myDrafts . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
myDrafts . Parent = uuid //上级"`
myDrafts . Appkey = uuid //归属哪个应用"`
myDrafts . CreaterTime = createrTime //创建时间"`
myDrafts . EditTime = createrTime //编辑时间"`
myDrafts . Creater = userCont . Key //创建人"`
myDrafts . IsLock = 1 //是否为固定菜单(1:是;2:否)"`
myDrafts . Sort = 5
myDrafts . State = 1
myDrafts . IsMain = 5
appMenuList = append ( appMenuList , myDrafts )
menusTreeList := AppTreeMenus ( uuid , appMenuList )
menuTreeJson , _ := json . Marshal ( menusTreeList )
formInfo . ListJson = string ( menuTreeJson )
appErr := overall . CONSTANT_DB_AppPlatform . Create ( & formInfo ) . Error
appVerErr := overall . CONSTANT_DB_AppPlatform . Create ( & appVersion ) . Error
appMenuErr := overall . CONSTANT_DB_AppPlatform . Create ( & appMenuList ) . Error
if appErr != nil || appVerErr != nil || appMenuErr != nil {
formInfo . DelCont ( map [ string ] interface { } { "tablename" : appKey } )
appVersion . DelCont ( map [ string ] interface { } { "tablekey" : appKey } )
var delMenuCont modelAppPlatform . Appmenus
delMenuCont . DelCont ( map [ string ] interface { } { "appkey" : uuid } )
publicmethod . Result ( 104 , err , c )
return
}
sort . Slice ( appMenuList , func ( i , j int ) bool {
return appMenuList [ i ] . Sort < appMenuList [ j ] . Sort
} )
sendInfo := publicmethod . MapOut [ string ] ( )
sendInfo [ "appName" ] = appName
sendInfo [ "appKey" ] = appKey
sendInfo [ "uuid" ] = strconv . FormatInt ( uuid , 10 )
sendInfo [ "state" ] = 1
sendInfo [ "appSvg" ] = "ziJianApp"
sendInfo [ "menuTree" ] = menusTreeList
publicmethod . Result ( 0 , sendInfo , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 23 13 : 42 : 51
@ 功能 : App菜单树处理
* /
func AppTreeMenus ( parentId int64 , menuList [ ] modelAppPlatform . Appmenus ) ( menusTree [ ] AppMenuTree ) {
for _ , v := range menuList {
if v . Parent == parentId {
var menuCont AppMenuTree
menuCont . Id = strconv . FormatInt ( v . Id , 10 ) //
menuCont . Label = v . Label // 节点名称"`
menuCont . Types = v . Types // 节点类型 1:目录;2:菜单"`
menuCont . Svg = v . Svg // 图标"`
menuCont . PcIsShow = v . PcIsShow // pc端显示与隐藏(1:显示;非1:隐藏)"`
menuCont . WapIsShow = v . WapIsShow // 移动端显示与隐藏(1:显示;非1:隐藏)"`
menuCont . Parent = strconv . FormatInt ( v . Parent , 10 ) // 上级"`
menuCont . Appkey = strconv . FormatInt ( v . Appkey , 10 ) // 归属哪个应用"`
// menuCont.CreaterTime = strconv.FormatInt(v.CreaterTime, 10) // 创建时间"`
// menuCont.EditTime = strconv.FormatInt(v.EditTime, 10) // 编辑时间"`
// menuCont.Creater = strconv.FormatInt(v.Creater, 10) // 创建人"`
menuCont . IsLock = v . IsLock // 是否为固定菜单(1:是;2:否)"`
menuCont . Sort = v . Sort // 排序"`
menuCont . State = v . State
menuCont . IsMain = v . IsMain
menuCont . Icon = gainMenuIcon ( v . Id )
menuCont . Children = AppTreeMenus ( v . Id , menuList )
menusTree = append ( menusTree , menuCont )
}
}
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2025 - 02 - 26 11 : 22 : 18
@ 功能 : 获取上传的图片
* /
func gainMenuIcon ( id int64 ) ( img string ) {
fmt . Printf ( "获取上传的图片--->%v\n\n\n" , id )
var custForm modelAppPlatform . CustomerForm
custForm . GetCont ( map [ string ] interface { } { "`signCode`" : id } , "`icon`" )
img = custForm . Icon
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 23 14 : 35 : 27
@ 功能 : 获取应用编辑页面信息
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GainAppEditPsge ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var appCont modelAppPlatform . CustomerFormView
err = appCont . GetCont ( map [ string ] interface { } { "`status`" : 1 , "`signCode`" : requestData . Id } )
if err != nil {
publicmethod . Result ( 105 , err , c )
return
}
sendInfo := publicmethod . MapOut [ string ] ( )
sendInfo [ "appName" ] = appCont . Name
sendInfo [ "appKey" ] = appCont . TableKey
sendInfo [ "uuid" ] = strconv . FormatInt ( appCont . SignCode , 10 )
sendInfo [ "state" ] = appCont . Status
sendInfo [ "appSvg" ] = appCont . Icon
sendInfo [ "describe" ] = appCont . Describe
if appCont . ListJson != "" {
var menuTerr [ ] AppMenuTree
json . Unmarshal ( [ ] byte ( appCont . ListJson ) , & menuTerr )
sendInfo [ "menuTree" ] = menuTerr
} else {
syncSeting . Add ( 1 )
sendInfo [ "menuTree" ] = GainAppMenuTree ( appCont . SignCode )
syncSeting . Wait ( )
}
publicmethod . Result ( 0 , sendInfo , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 23 14 : 53 : 56
@ 功能 : 获取菜单
@ 参数
# key 应用唯一识别符
@ 返回值
# menusTree 应用菜单树
@ 方法原型
#
* /
func GainAppMenuTree ( key int64 ) ( menusTree [ ] AppMenuTree ) {
defer syncSeting . Done ( )
if key == 0 {
return
}
var menuList [ ] modelAppPlatform . Appmenus
err := overall . CONSTANT_DB_AppPlatform . Where ( "`state` = 1 AND `appkey` = ?" , key ) . Find ( & menuList ) . Error
if err != nil {
return
}
sort . Slice ( menuList , func ( i , j int ) bool {
return menuList [ i ] . EditTime < menuList [ j ] . EditTime
} )
sort . Slice ( menuList , func ( i , j int ) bool {
return menuList [ i ] . Sort < menuList [ j ] . Sort
} )
menusTree = AppTreeMenus ( key , menuList )
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 23 16 : 47 : 00
@ 功能 : 获取除固定菜单以外的数据
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GinOthenMenuTree ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var menuTreeMap [ ] AppMenuTree
uuid , _ := strconv . ParseInt ( requestData . Id , 10 , 64 )
syncSeting . Add ( 1 )
menuTreeMap = GainAppMenuOtherTree ( uuid )
syncSeting . Wait ( )
publicmethod . Result ( 0 , menuTreeMap , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 24 0 9 : 07 : 14
@ 功能 : 获取除固定菜单以外的数据
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func GainAppMenuOtherTree ( key int64 ) ( menusTree [ ] AppMenuTree ) {
defer syncSeting . Done ( )
if key == 0 {
return
}
var menuList [ ] modelAppPlatform . Appmenus
err := overall . CONSTANT_DB_AppPlatform . Where ( "`state` = 1 AND `isLock` = 2 AND `appkey` = ?" , key ) . Find ( & menuList ) . Error
if err != nil {
return
}
sort . Slice ( menuList , func ( i , j int ) bool {
return menuList [ i ] . EditTime < menuList [ j ] . EditTime
} )
sort . Slice ( menuList , func ( i , j int ) bool {
return menuList [ i ] . Sort < menuList [ j ] . Sort
} )
menusTree = AppTreeMenus ( key , menuList )
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 24 0 9 : 46 : 0 9
@ 功能 : 新增菜单
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) SaveAppMenu ( c * gin . Context ) {
var requestData AppMenuInfo
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Name == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Group == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Appkey == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Types == 0 {
requestData . Types = 1
}
svgName := "dict_item"
switch requestData . Types {
case 2 :
svgName = "gd"
default :
svgName = "dict_item"
}
var count int64
overall . CONSTANT_DB_AppPlatform . Model ( & modelAppPlatform . Appmenus { } ) . Where ( " `appkey` = ?" , requestData . Appkey ) . Count ( & count )
if count < 1 {
count = 50
}
context , _ := c . Get ( overall . MyContJwt )
var userCont modelshr . ManCont
userCont . GetLoginCont ( context ) //当前操作人
createrTime := time . Now ( ) . Unix ( )
parentId , _ := strconv . ParseInt ( requestData . Group , 10 , 64 )
appKeyId , _ := strconv . ParseInt ( requestData . Appkey , 10 , 64 )
menuUUid := publicmethod . GetUUid ( 2 )
var daiWoChuLi modelAppPlatform . Appmenus
daiWoChuLi . Id = menuUUid //
daiWoChuLi . Label = requestData . Name //节点名称"`
daiWoChuLi . Types = requestData . Types //节点类型 1:目录;2:菜单"`
daiWoChuLi . Svg = svgName //图标"`
daiWoChuLi . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
daiWoChuLi . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
daiWoChuLi . Parent = parentId //上级"`
daiWoChuLi . Appkey = appKeyId //归属哪个应用"`
daiWoChuLi . CreaterTime = createrTime //创建时间"`
daiWoChuLi . EditTime = createrTime //编辑时间"`
daiWoChuLi . Creater = userCont . Key //创建人"`
daiWoChuLi . IsLock = 2 //是否为固定菜单(1:是;2:否)"`
daiWoChuLi . Sort = count
daiWoChuLi . State = 1
err = overall . CONSTANT_DB_AppPlatform . Create ( & daiWoChuLi ) . Error
if err != nil {
publicmethod . Result ( 104 , err , c )
return
}
var newAppMenu [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenu = GainAppMenuTree ( appKeyId )
syncSeting . Wait ( )
saveData := publicmethod . MapOut [ string ] ( )
menuTreeJson , _ := json . Marshal ( newAppMenu )
saveData [ "listjson" ] = string ( menuTreeJson )
saveData [ "edit_time" ] = createrTime
var formInfo modelAppPlatform . CustomerForm
formInfo . EiteCont ( map [ string ] interface { } { "signCode" : appKeyId } , saveData )
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 24 13 : 31 : 0 8
@ 功能 : 获取完整APP菜单树
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GainAllAppMenu ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var appCont modelAppPlatform . CustomerFormView
err = appCont . GetCont ( map [ string ] interface { } { "`status`" : 1 , "`signCode`" : requestData . Id } , "`listjson`" , "`signCode`" )
if err != nil {
publicmethod . Result ( 105 , err , c )
return
}
var menuTreeMap [ ] AppMenuTree
if appCont . ListJson != "" {
json . Unmarshal ( [ ] byte ( appCont . ListJson ) , & menuTreeMap )
} else {
syncSeting . Add ( 1 )
menuTreeMap = GainAppMenuTree ( appCont . SignCode )
syncSeting . Wait ( )
}
// uuid, _ := strconv.ParseInt(requestData.Id, 10, 64)
// syncSeting.Add(1)
// menuTreeMap = GainAppMenuTree(uuid)
// syncSeting.Wait()
publicmethod . Result ( 0 , menuTreeMap , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 24 13 : 54 : 42
@ 功能 : 修改App菜单结构
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) EditAppMenuCont ( c * gin . Context ) {
var requestData AppMenuTreeSave
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var custForm modelAppPlatform . CustomerForm
if len ( requestData . MenuTree ) < 1 {
custForm . EiteCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , map [ string ] interface { } { "`listjson`" : "" , "edit_time" : time . Now ( ) . Unix ( ) } )
publicmethod . Result ( 0 , err , c )
return
}
menuStr , _ := json . Marshal ( requestData . MenuTree )
custForm . EiteCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , map [ string ] interface { } { "`listjson`" : string ( menuStr ) , "edit_time" : time . Now ( ) . Unix ( ) } )
DiGuiAppMenuEdit ( requestData . Id , requestData . MenuTree )
publicmethod . Result ( 0 , err , c )
}
func DiGuiAppMenuEdit ( prientKey string , menuTree [ ] AppMenuTree ) {
if len ( menuTree ) > 0 {
for _ , v := range menuTree {
saveData := publicmethod . MapOut [ string ] ( )
saveData [ "`parent`" ] = prientKey
saveData [ "`edit_time`" ] = time . Now ( ) . Unix ( )
var menuInfo modelAppPlatform . Appmenus
menuInfo . EiteCont ( map [ string ] interface { } { "`id`" : v . Id } , saveData )
if len ( v . Children ) > 0 {
DiGuiAppMenuEdit ( v . Id , v . Children )
}
}
}
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 04 - 25 14 : 00 : 28
@ 功能 : 修改菜单名称
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) EditAppMenuLable ( c * gin . Context ) {
var requestData EditAppMenuNAme
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Label == "" {
publicmethod . Result ( 102 , err , c )
return
}
var oldMenuInfo modelAppPlatform . Appmenus
err = oldMenuInfo . GetCont ( map [ string ] interface { } { "`id`" : requestData . Id } , "`id`" , "`type`" , ` appkey ` )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveMenu := publicmethod . MapOut [ string ] ( )
saveMenu [ "`label`" ] = requestData . Label
saveMenu [ "`edit_time`" ] = time . Now ( ) . Unix ( )
err = oldMenuInfo . EiteCont ( map [ string ] interface { } { "`id`" : requestData . Id } , saveMenu )
if err != nil {
publicmethod . Result ( 106 , err , c )
return
}
editForm := publicmethod . MapOut [ string ] ( )
var cusForm modelAppPlatform . CustomerForm
err = cusForm . GetCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , "`listjson`" )
if oldMenuInfo . Types != 1 {
if err == nil {
// editForm["`name`"] = requestData.Label
EditAppMenuFormName ( oldMenuInfo . Id , requestData . Label )
}
}
var newAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenuJson = GainAppMenuTree ( oldMenuInfo . Appkey )
syncSeting . Wait ( )
menuTreeJson , _ := json . Marshal ( newAppMenuJson )
editForm [ "listjson" ] = string ( menuTreeJson )
editForm [ "edit_time" ] = time . Now ( ) . Unix ( )
cusForm . EiteCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , editForm )
//
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 17 15 : 39 : 28
@ 功能 : 修改表单名称
* /
func EditAppMenuFormName ( signCode int64 , title string ) {
editForm := publicmethod . MapOut [ string ] ( )
editForm [ "`name`" ] = title
editForm [ "edit_time" ] = time . Now ( ) . Unix ( )
var formVersion modelAppPlatform . CustomerForm
formVersion . EiteCont ( map [ string ] interface { } { "`signCode`" : signCode } , editForm )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 07 0 9 : 34 : 27
@ 功能 : 显示和隐藏菜单
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) AppMenuShowOrHide ( c * gin . Context ) {
var requestData HideOrShowAppMenu
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Types == 0 {
requestData . Types = 1
}
if requestData . MenuInfo . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var oldMenuInfo modelAppPlatform . Appmenus
err = oldMenuInfo . GetCont ( map [ string ] interface { } { "`id`" : requestData . MenuInfo . Id } , "`type`" , ` appkey ` , ` pcIsShow ` , ` wapIsShow ` )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveMenu := publicmethod . MapOut [ string ] ( )
if requestData . Types == 1 {
if oldMenuInfo . PcIsShow == 1 {
saveMenu [ "`pcIsShow`" ] = 2
} else {
saveMenu [ "`pcIsShow`" ] = 1
}
} else {
if oldMenuInfo . WapIsShow == 1 {
saveMenu [ "`wapIsShow`" ] = 2
} else {
saveMenu [ "`wapIsShow`" ] = 1
}
}
saveMenu [ "`edit_time`" ] = time . Now ( ) . Unix ( )
err = oldMenuInfo . EiteCont ( map [ string ] interface { } { "`id`" : requestData . MenuInfo . Id } , saveMenu )
if err != nil {
publicmethod . Result ( 106 , err , c )
return
}
editForm := publicmethod . MapOut [ string ] ( )
var cusForm modelAppPlatform . CustomerForm
err = cusForm . GetCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , "`listjson`" )
var newAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenuJson = GainAppMenuTree ( oldMenuInfo . Appkey )
syncSeting . Wait ( )
menuTreeJson , _ := json . Marshal ( newAppMenuJson )
editForm [ "listjson" ] = string ( menuTreeJson )
editForm [ "edit_time" ] = time . Now ( ) . Unix ( )
cusForm . EiteCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , editForm )
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 07 10 : 0 9 : 30
@ 功能 : 删除app菜单
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) DelAppMenu ( c * gin . Context ) {
var requestData publicmethod . PublicStates
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Status == 0 {
requestData . Status = 1
}
var oldMenuInfo modelAppPlatform . Appmenus
err = oldMenuInfo . GetCont ( map [ string ] interface { } { "`id`" : requestData . Id } , "`type`" , ` appkey ` )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveMenu := publicmethod . MapOut [ string ] ( )
saveMenu [ "`state`" ] = requestData . Status
saveMenu [ "`edit_time`" ] = time . Now ( ) . Unix ( )
err = oldMenuInfo . EiteCont ( map [ string ] interface { } { "`id`" : requestData . Id } , saveMenu )
if err != nil {
publicmethod . Result ( 106 , err , c )
return
}
editForm := publicmethod . MapOut [ string ] ( )
var cusForm modelAppPlatform . CustomerForm
err = cusForm . GetCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , "`listjson`" )
var newAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenuJson = GainAppMenuTree ( oldMenuInfo . Appkey )
syncSeting . Wait ( )
menuTreeJson , _ := json . Marshal ( newAppMenuJson )
editForm [ "listjson" ] = string ( menuTreeJson )
editForm [ "edit_time" ] = time . Now ( ) . Unix ( )
cusForm . EiteCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , editForm )
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 15 14 : 27 : 49
@ 功能 : 创建App表单
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) CreateAppForm ( c * gin . Context ) {
var requestData AddAppFormPageInfo
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . AppKey == "" {
publicmethod . Result ( 1 , err , c , "未知应用!不可添加" )
return
}
if requestData . GroupKey == "" {
publicmethod . Result ( 1 , err , c , "未知分组!不可添加!" )
return
}
if requestData . Data == "" {
publicmethod . Result ( 1 , err , c , "自定义表单错误!" )
return
}
if requestData . Name == "" {
publicmethod . Result ( 1 , err , c , "未知表单名称!" )
return
}
if requestData . Classify == 0 {
requestData . Classify = 1
}
if requestData . Types == 0 {
requestData . Types = 4
}
var formJsonCont customerform . CustomerFormMaster
json . Unmarshal ( [ ] byte ( requestData . JsonData ) , & formJsonCont )
if formJsonCont . Form . FormName == "" {
publicmethod . Result ( 1 , err , c , "未知表单名称!" )
return
}
if formJsonCont . Form . Name == "" {
publicmethod . Result ( 1 , err , c , "未知表单标识!" )
return
}
//获取人员信息
context , _ := c . Get ( overall . MyContJwt )
var userCont modelshr . ManCont
userCont . GetLoginCont ( context )
cureeTime := time . Now ( ) . Unix ( )
var customerFormCont modelAppPlatform . CustomerForm
err = customerFormCont . GetCont ( map [ string ] interface { } { "`tablename`" : formJsonCont . Form . Name } , "`id`" )
if err == nil || customerFormCont . Id != 0 {
publicmethod . Result ( 1 , err , c , "已有相同表单标识!请更换后再提交!" )
return
}
customerFormCont . Name = formJsonCont . Form . FormName //表单名称"`
customerFormCont . TableNames = formJsonCont . Form . Name //创建表单名称"`
customerFormCont . Classify = requestData . Types //分类 1表单 2列表 3:app 4:app表单
customerFormCont . Permit = "" //授权范围"`
customerFormCont . States = 1 //显示状态(1:启用;2:禁用,3:删除)"`
customerFormCont . CreaterTime = cureeTime //创建时间"`
customerFormCont . EditTime = cureeTime //编辑时间"`
customerFormCont . Icon = formJsonCont . Config . ImageUrl
groupId , _ := strconv . ParseInt ( requestData . AppKey , 10 , 64 )
customerFormCont . Groupid = groupId
signCode , _ := strconv . ParseInt ( requestData . SignCode , 10 , 64 )
if requestData . SignCode == "" {
signCode = 0
}
customerFormCont . SignCode = signCode
var formVersion modelAppPlatform . CustomerFormVersion
formVersion . TableKey = formJsonCont . Form . Name //default:'';not null;comment:表单标识符"`
varsionNum := customerform . HageFormVersionNum ( formJsonCont . Form . Name )
formVersion . Version = varsionNum //1;not null;comment:版本号"`
if varsionNum > 1 {
formVersion . Status = 2
} else {
formVersion . Status = 1 //not null;comment:显示状态(1:启用;2:禁用,3:删除)"`
}
formVersion . MastesForm = requestData . Data //';comment:表单结构"`
formVersion . MastesFormJson = requestData . JsonData //efault:'';comment:表单结构json"`
formVersion . Creater = userCont . Key //ult:0;not null;comment:创建人"`
formVersion . CreaterTime = cureeTime //not null;comment:创建时间"`
formVersion . EditTime = cureeTime //efault:0;not null;comment:编辑时间"`
formVersion . Dict = requestData . Dict //字表结构"`
// return
fmt . Printf ( "进行数据源操作------------>%v\n" , formJsonCont . Form )
if formJsonCont . Form . DataSource == "yes" { //进行数据源操作
var sqlDb datacenter . DataBastType
sqlDb . Type = formJsonCont . Form . DataSourceConfig . DSN . SqlType
sqlDb . Ip = formJsonCont . Form . DataSourceConfig . DSN . Ip
sqlDb . DataBaseName = formJsonCont . Form . DataSourceConfig . DSN . DataBaseName
sqlDb . Port = formJsonCont . Form . DataSourceConfig . DSN . Port
sqlDb . UserName = formJsonCont . Form . DataSourceConfig . DSN . UserName
sqlDb . Pwd = formJsonCont . Form . DataSourceConfig . DSN . Password
sqlDborm , err := sqlDb . StartDataBast ( )
if err != nil {
sqlDborm , err = datacenter . GainDataStorce ( formJsonCont . Form . DataSourceConfig . Id )
if err != nil {
publicmethod . Result ( 0 , sqlDb , c )
return
}
}
mastSql , _ := formJsonCont . CreateActiveFormTable ( sqlDborm , formJsonCont . Form . DataSourceConfig . TableKey )
formVersion . TableStructure = mastSql //;default:'';comment:字表结构"`
// publicmethod.Result(0, mastSql, c)
} else { //无数据源操作
// mastSql, _ := formJsonCont.CreateFormDatabaseTable()
// mastSql, _ := formJsonCont.DisassembleForm()
mastSql , _ := formJsonCont . CreateFormTable ( )
formVersion . TableStructure = mastSql //;default:'';comment:字表结构"`
}
createDb := overall . CONSTANT_DB_AppPlatform . Begin ( )
errMain := createDb . Create ( & customerFormCont ) . Error
errVer := createDb . Create ( & formVersion ) . Error
sendErr := publicmethod . MapOut [ string ] ( )
if errMain != nil || errVer != nil {
createDb . Rollback ( )
sendErr := publicmethod . MapOut [ string ] ( )
sendErr [ "errMain" ] = errMain
sendErr [ "errVer" ] = errVer
publicmethod . Result ( 104 , sendErr , c )
return
}
err = createDb . Commit ( ) . Error
sendErr [ "err" ] = err
sendErr [ "customerFormCont" ] = customerFormCont
sendErr [ "formVersion" ] = formVersion
// err = createDb.Create(&customerFormCont).Error
// if err != nil {
// publicmethod.Result(104, customerFormCont, c)
// return
// }
parentId , _ := strconv . ParseInt ( requestData . MenuId , 10 , 64 )
if parentId == 0 {
parentId = groupId
}
SaveAppFormMenu ( signCode , groupId , parentId , userCont . Key , cureeTime , 2 , requestData . Name )
publicmethod . Result ( 0 , sendErr , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 20 16 : 31 : 26
@ 功能 : 保存新版本
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) SaveOtherVersion ( c * gin . Context ) {
var requestData AddAppFormPageInfo
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . AppKey == "" {
publicmethod . Result ( 1 , err , c , "未知应用!不可添加" )
return
}
if requestData . GroupKey == "" {
publicmethod . Result ( 1 , err , c , "未知分组!不可添加!" )
return
}
if requestData . Data == "" {
publicmethod . Result ( 1 , err , c , "自定义表单错误!" )
return
}
if requestData . Name == "" {
publicmethod . Result ( 1 , err , c , "未知表单名称!" )
return
}
if requestData . Classify == 0 {
requestData . Classify = 1
}
if requestData . Types == 0 {
requestData . Types = 4
}
var formJsonCont customerform . CustomerFormMaster
json . Unmarshal ( [ ] byte ( requestData . JsonData ) , & formJsonCont )
if formJsonCont . Form . FormName == "" {
publicmethod . Result ( 1 , err , c , "未知表单名称!" )
return
}
if formJsonCont . Form . Name == "" {
publicmethod . Result ( 1 , err , c , "未知表单标识!" )
return
}
context , _ := c . Get ( overall . MyContJwt )
var userCont modelshr . ManCont
userCont . GetLoginCont ( context )
cureeTime := time . Now ( ) . Unix ( )
var customerFormCont modelAppPlatform . CustomerForm
err = customerFormCont . GetCont ( map [ string ] interface { } { "`tablename`" : formJsonCont . Form . Name } )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
mainData := publicmethod . MapOut [ string ] ( )
if formJsonCont . Config . ImageUrl != "" && formJsonCont . Config . ImageUrl != customerFormCont . Icon {
mainData [ "`icon`" ] = formJsonCont . Config . ImageUrl
}
if formJsonCont . Form . FormName != "" && formJsonCont . Form . FormName != customerFormCont . Name {
mainData [ "`name`" ] = formJsonCont . Form . FormName
var appMenuCont modelAppPlatform . Appmenus
appMenuCont . GetCont ( map [ string ] interface { } { "`id`" : customerFormCont . SignCode } , "`parent`" )
SaveAppFormMenu ( customerFormCont . SignCode , customerFormCont . Groupid , appMenuCont . Parent , userCont . Key , cureeTime , 2 , formJsonCont . Form . FormName )
}
groupIdStr := strconv . FormatInt ( customerFormCont . Groupid , 10 )
if formJsonCont . Config . GroupKey != "" && formJsonCont . Config . GroupKey != groupIdStr {
groupId , _ := strconv . ParseInt ( formJsonCont . Config . GroupKey , 10 , 64 )
mainData [ "`groupid`" ] = groupId
}
if len ( mainData ) > 0 {
mainData [ "`edit_time`" ] = cureeTime
customerFormCont . EiteCont ( map [ string ] interface { } { "`id`" : customerFormCont . Id } , mainData )
}
var formVersion modelAppPlatform . CustomerFormVersion
formVersion . TableKey = customerFormCont . TableNames //default:'';not null;comment:表单标识符"`
varsionNum := customerform . HageFormVersionNum ( customerFormCont . TableNames )
formVersion . Version = varsionNum //1;not null;comment:版本号"`
if varsionNum > 1 {
formVersion . Status = 2
} else {
formVersion . Status = 1 //not null;comment:显示状态(1:启用;2:禁用,3:删除)"`
}
formVersion . MastesForm = requestData . Data //';comment:表单结构"`
formVersion . MastesFormJson = requestData . JsonData //efault:'';comment:表单结构json"`
formVersion . Creater = userCont . Key //ult:0;not null;comment:创建人"`
formVersion . CreaterTime = cureeTime //not null;comment:创建时间"`
formVersion . EditTime = cureeTime //efault:0;not null;comment:编辑时间"`
// mastSql, _ := formJsonCont.CreateFormDatabaseTable()
// mastSql, _ := formJsonCont.DisassembleForm()
if formJsonCont . Form . DataSource == "yes" { //进行数据源操作
var sqlDb datacenter . DataBastType
sqlDb . Type = formJsonCont . Form . DataSourceConfig . DSN . SqlType
sqlDb . Ip = formJsonCont . Form . DataSourceConfig . DSN . Ip
sqlDb . DataBaseName = formJsonCont . Form . DataSourceConfig . DSN . DataBaseName
sqlDb . Port = formJsonCont . Form . DataSourceConfig . DSN . Port
sqlDb . UserName = formJsonCont . Form . DataSourceConfig . DSN . UserName
sqlDb . Pwd = formJsonCont . Form . DataSourceConfig . DSN . Password
sqlDborm , err := sqlDb . StartDataBast ( )
if err != nil {
sqlDborm , err = datacenter . GainDataStorce ( formJsonCont . Form . DataSourceConfig . Id )
if err != nil {
publicmethod . Result ( 0 , sqlDb , c )
return
}
}
mastSql , _ := formJsonCont . CreateActiveFormTable ( sqlDborm , formJsonCont . Form . DataSourceConfig . TableKey )
formVersion . TableStructure = mastSql //;default:'';comment:字表结构"`
} else { //无数据源操作
mastSql , _ := formJsonCont . CreateFormTable ( )
formVersion . TableStructure = mastSql //;default:'';comment:字表结构"`
}
// mastSql, _ := formJsonCont.CreateFormTable()
// formVersion.TableStructure = mastSql //;default:'';comment:字表结构"`
formVersion . Dict = requestData . Dict //字表结构"`
errVer := overall . CONSTANT_DB_AppPlatform . Create ( & formVersion ) . Error
if errVer != nil {
publicmethod . Result ( 104 , customerFormCont , c )
return
}
publicmethod . Result ( 0 , formVersion , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 20 15 : 21 : 51
@ 功能 : 编辑App表单数据
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) EditAppPageInfo ( c * gin . Context ) {
var requestData EditAppFormPageInfo
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . AppKey == "" {
publicmethod . Result ( 1 , err , c , "未知应用!不可添加" )
return
}
if requestData . GroupKey == "" {
publicmethod . Result ( 1 , err , c , "未知分组!不可添加!" )
return
}
if requestData . Data == "" {
publicmethod . Result ( 1 , err , c , "自定义表单错误!" )
return
}
if requestData . Name == "" {
publicmethod . Result ( 1 , err , c , "未知表单名称!" )
return
}
if requestData . Id == "" {
publicmethod . Result ( 1 , err , c , "未知表单!" )
return
}
if requestData . Version == "" {
publicmethod . Result ( 1 , err , c , "未知表单!" )
return
}
if requestData . MenuId == "" {
publicmethod . Result ( 1 , err , c , "未知表单!" )
return
}
if requestData . Classify == 0 {
requestData . Classify = 1
}
if requestData . Types == 0 {
requestData . Types = 4
}
var formJsonCont customerform . CustomerFormMaster
json . Unmarshal ( [ ] byte ( requestData . JsonData ) , & formJsonCont )
if formJsonCont . Form . FormName == "" {
publicmethod . Result ( 1 , err , c , "未知表单名称!" )
return
}
if formJsonCont . Form . Name == "" {
publicmethod . Result ( 1 , err , c , "未知表单标识!" )
return
}
var customerFormCont modelAppPlatform . CustomerForm
err = customerFormCont . GetCont ( map [ string ] interface { } { "`id`" : requestData . Id } , "`tablename`" , "`signCode`" , "`classify`" , "`listjson`" )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
context , _ := c . Get ( overall . MyContJwt )
var userCont modelshr . ManCont
userCont . GetLoginCont ( context )
cureeTime := time . Now ( ) . Unix ( )
mainData := publicmethod . MapOut [ string ] ( )
mainData [ "`name`" ] = formJsonCont . Form . FormName
mainData [ "`classify`" ] = requestData . Types
mainData [ "`edit_time`" ] = cureeTime
if formJsonCont . Config . ImageUrl != "" {
mainData [ "`icon`" ] = formJsonCont . Config . ImageUrl
}
groupId , _ := strconv . ParseInt ( formJsonCont . Config . GroupKey , 10 , 64 )
mainData [ "`groupid`" ] = groupId
if customerFormCont . Classify == 4 && customerFormCont . ListJson != "" {
listjson , isTrue := ListFields ( customerFormCont . ListJson , formJsonCont . List )
if isTrue {
mainData [ "`listjson`" ] = listjson
}
// fmt.Printf("searchMap-->%v\n", searchMap)
}
customerFormCont . EiteCont ( map [ string ] interface { } { "`id`" : requestData . Id } , mainData )
versionData := publicmethod . MapOut [ string ] ( )
versionData [ "`mastesform`" ] = requestData . Data
versionData [ "`mastesformjson`" ] = requestData . JsonData
versionData [ "`creater`" ] = userCont . Key
// mastSql, _ := formJsonCont.DisassembleForm()
// mastSql, _ := formJsonCont.CreateFormDatabaseTable()
if formJsonCont . Form . DataSource == "yes" { //进行数据源操作
var sqlDb datacenter . DataBastType
sqlDb . Type = formJsonCont . Form . DataSourceConfig . DSN . SqlType
sqlDb . Ip = formJsonCont . Form . DataSourceConfig . DSN . Ip
sqlDb . DataBaseName = formJsonCont . Form . DataSourceConfig . DSN . DataBaseName
sqlDb . Port = formJsonCont . Form . DataSourceConfig . DSN . Port
sqlDb . UserName = formJsonCont . Form . DataSourceConfig . DSN . UserName
sqlDb . Pwd = formJsonCont . Form . DataSourceConfig . DSN . Password
sqlDborm , err := sqlDb . StartDataBast ( )
if err != nil {
sqlDborm , err = datacenter . GainDataStorce ( formJsonCont . Form . DataSourceConfig . Id )
if err != nil {
publicmethod . Result ( 0 , sqlDb , c )
return
}
}
mastSql , _ := formJsonCont . CreateActiveFormTable ( sqlDborm , formJsonCont . Form . DataSourceConfig . TableKey )
versionData [ "`table_structure`" ] = mastSql
} else { //无数据源操作
mastSql , _ := formJsonCont . CreateFormTable ( )
versionData [ "`table_structure`" ] = mastSql
}
// mastSql, _ := formJsonCont.CreateFormTable()
// versionData["`table_structure`"] = mastSql
versionData [ "`dict`" ] = requestData . Dict
var formVersion modelAppPlatform . CustomerFormVersion
formVersion . EiteCont ( map [ string ] interface { } { "`id`" : requestData . Version } , versionData )
var appMenuCont modelAppPlatform . Appmenus
appMenuCont . GetCont ( map [ string ] interface { } { "`id`" : customerFormCont . SignCode } , "`parent`" )
SaveAppFormMenu ( customerFormCont . SignCode , groupId , appMenuCont . Parent , userCont . Key , cureeTime , 2 , formJsonCont . Form . FormName )
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 0 9 - 14 0 8 : 33 : 50
@ 功能 : 处理列表字段名称变更
* /
func ListFields ( list string , ComponentList [ ] customerform . MasterStruct ) ( listString string , isTrue bool ) {
if list == "" {
isTrue = false
return
}
var searchMap map [ string ] interface { }
json . Unmarshal ( [ ] byte ( list ) , & searchMap )
if searchData , isOk := searchMap [ "searchData" ] ; isOk {
if searchDataAry , isOk := searchData . ( [ ] interface { } ) ; isOk {
var fileAry [ ] interface { }
for _ , v := range searchDataAry {
// fmt.Printf("处理列表字段名称变更:%v\n", v)
fieldKey , isTrue := WordToFile ( v , ComponentList )
// WordToFile(v,ComponentList)
if isTrue {
fileAry = append ( fileAry , fieldKey )
}
}
searchMap [ "searchData" ] = fileAry
}
}
if tableData , isOk := searchMap [ "tableData" ] ; isOk {
if tableMap , isOk := tableData . ( map [ string ] interface { } ) ; isOk {
tableMapInfo := publicmethod . MapOut [ string ] ( )
if columns , isOk := tableMap [ "columns" ] ; isOk {
fmt . Printf ( "搜索列表字段-1->%T-->%v\n" , columns , columns )
if columnsAry , isOk := columns . ( [ ] interface { } ) ; isOk {
var fileTableAry [ ] interface { }
for _ , v := range columnsAry {
fieldKey , isTrue := WordToFile ( v , ComponentList )
if isTrue {
fileTableAry = append ( fileTableAry , fieldKey )
}
}
tableMapInfo [ "columns" ] = fileTableAry
}
}
if config , isOk := tableMap [ "config" ] ; isOk {
tableMapInfo [ "config" ] = config
}
if controlBtn , isOk := tableMap [ "controlBtn" ] ; isOk {
tableMapInfo [ "controlBtn" ] = controlBtn
}
if operateBtn , isOk := tableMap [ "operateBtn" ] ; isOk {
tableMapInfo [ "operateBtn" ] = operateBtn
}
searchMap [ "tableData" ] = tableMapInfo
}
}
fileAryJson , _ := json . Marshal ( searchMap )
fmt . Printf ( "搜索列表字段-7->%T-->%v\n" , fileAryJson , string ( fileAryJson ) )
listString = string ( fileAryJson )
isTrue = true
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 0 9 - 14 0 8 : 46 : 39
@ 功能 : 字段比对
* /
func WordToFile ( filedInfo interface { } , ComponentList [ ] customerform . MasterStruct ) ( interface { } , bool ) {
// var fileName string
// filedMap := publicmethod.MapOut[string]()
isTrue := false
if filedMap , isOk := filedInfo . ( map [ string ] interface { } ) ; isOk {
if fileNames , isok := filedMap [ "id" ] ; isok {
if fliedString , isOk := fileNames . ( string ) ; isOk {
// fileName = fliedString
if publicmethod . IsInTrue [ string ] ( fliedString , [ ] string { "checkbox" , "serialNumber" , "operate" , "id" , "masters_key" , "creater" , "creater_time" , "edit_time" , "flow_id" , "states" , "flowIsOpen" } ) {
isTrue = true
} else {
for _ , v := range ComponentList {
if v . Name == fliedString {
// fmt.Printf("搜索列表字段-5->%T-->%v\n", v.Item.Label, v.Item.Label)
filedMap [ "label" ] = v . Item . Label
isTrue = true
}
}
}
fmt . Printf ( "搜索列表字段-4->%T-->%v\n" , fliedString , fliedString )
// fmt.Printf("搜索列表字段-6->%T-->%v\n", filedMap, filedMap)
return filedMap , isTrue
}
}
}
return filedInfo , isTrue
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 17 0 8 : 44 : 07
@ 功能 : 写入菜单
@ 参数
# menuId 菜单唯一识别符
# appkey 归属应用
# parent 上级
# creater 创建人
# cureeTime 时间
# class 菜单类型
# title 菜单名称
@ 返回值
#
@ 方法原型
# func SaveAppFormMenu ( menuId , appkey , parent , creater , cureeTime int64 , class int , title string )
* /
func SaveAppFormMenu ( menuId , appkey , parent , creater , cureeTime int64 , class int , title string ) ( errEnd error ) {
var appMenuInfo modelAppPlatform . Appmenus
err := appMenuInfo . GetCont ( map [ string ] interface { } { "`id`" : menuId } )
errEnd = nil
if err != nil {
var sortAll int64
overall . CONSTANT_DB_AppPlatform . Model ( & modelAppPlatform . Appmenus { } ) . Where ( map [ string ] interface { } { "`appkey`" : appkey } ) . Count ( & sortAll )
//记录不错在即新建
appMenuInfo . Id = menuId //
appMenuInfo . Label = title //节点名称"`
appMenuInfo . Types = class //节点类型 1:目录;2:菜单"`
appMenuInfo . Svg = "gd" //图标"`
appMenuInfo . PcIsShow = 1 //pc端显示与隐藏(1:显示;非1:隐藏)"`
appMenuInfo . WapIsShow = 1 //移动端显示与隐藏(1:显示;非1:隐藏)"`
if parent != 0 {
appMenuInfo . Parent = parent //上级"`
} else {
appMenuInfo . Parent = appkey //上级"`
}
appMenuInfo . Appkey = appkey //归属哪个应用"`
appMenuInfo . CreaterTime = cureeTime //创建时间"`
appMenuInfo . EditTime = cureeTime //编辑时间"`
appMenuInfo . Creater = creater //创建人"`
appMenuInfo . IsLock = 2 //是否为固定菜单(1:是;2:否)"`
appMenuInfo . Sort = sortAll + 1 //排序"`
appMenuInfo . State = 1 //状态(1:启用;2:禁用;3:删除)"`
errEnd = overall . CONSTANT_DB_AppPlatform . Model ( & modelAppPlatform . Appmenus { } ) . Create ( & appMenuInfo ) . Error
} else {
saveData := publicmethod . MapOut [ string ] ( )
if title != appMenuInfo . Label {
saveData [ "`label`" ] = title
}
if appkey != appMenuInfo . Appkey {
saveData [ "`appkey`" ] = appkey
}
if parent != appMenuInfo . Parent {
saveData [ "`parent`" ] = parent
}
if creater != appMenuInfo . Creater {
saveData [ "`creater`" ] = creater
}
if class != appMenuInfo . Types {
saveData [ "`type`" ] = class
}
if len ( saveData ) > 0 {
saveData [ "`edit_time`" ] = cureeTime
errEnd = appMenuInfo . EiteCont ( map [ string ] interface { } { "`id`" : menuId } , saveData )
}
}
var newAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenuJson = GainAppMenuTree ( appkey )
syncSeting . Wait ( )
editForm := publicmethod . MapOut [ string ] ( )
menuTreeJson , _ := json . Marshal ( newAppMenuJson )
editForm [ "listjson" ] = string ( menuTreeJson )
editForm [ "`edit_time`" ] = cureeTime
var appCont modelAppPlatform . CustomerForm
appCont . EiteCont ( map [ string ] interface { } { "`signCode`" : appkey } , editForm )
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 18 14 : 06 : 55
@ 功能 : 获取app页面综合信息
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GainAppPageInfo ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var appFormPage modelAppPlatform . CustomerFormView
err = appFormPage . GetCont ( map [ string ] interface { } { "`status`" : 1 , "`signCode`" : requestData . Id } )
if err != nil {
publicmethod . Result ( 105 , err , c )
return
}
// publicmethod.Result(105, appFormPage, c)
// return
sendData := publicmethod . MapOut [ string ] ( )
sendData [ "appForm" ] = appFormPage
sendData [ "versionId" ] = strconv . FormatInt ( appFormPage . Id , 10 )
sendData [ "flowkey" ] = strconv . FormatInt ( appFormPage . Flowkey , 10 )
sendData [ "groupid" ] = strconv . FormatInt ( appFormPage . Groupid , 10 )
sendData [ "signCode" ] = strconv . FormatInt ( appFormPage . SignCode , 10 )
if appFormPage . MastesForm == "" && appFormPage . MastesFormJson == "" {
sendData [ "page" ] = false
} else {
sendData [ "page" ] = true
}
if appFormPage . ListJson == "" {
sendData [ "pageList" ] = false
} else {
sendData [ "pageList" ] = true
}
sendData [ "appFlow" ] = false
if appFormPage . FlowIsOpen == 1 {
var appFormFlow modelAppPlatform . FlowVersion
err = appFormFlow . GetCont ( map [ string ] interface { } { "`state`" : 1 , "`key`" : appFormPage . Flowkey } , "`content`" )
if err != nil {
sendData [ "workFlow" ] = ""
} else {
var flowInfor interface { }
err = json . Unmarshal ( [ ] byte ( appFormFlow . Content ) , & flowInfor )
if err != nil {
sendData [ "workFlow" ] = ""
} else {
sendData [ "workFlow" ] = flowInfor
sendData [ "appFlow" ] = true
}
}
} else {
sendData [ "workFlow" ] = ""
}
var fieldList [ ] string
if appFormPage . TableKey != "" {
masterFieldAry , mastErr := customerform . ReadDatabaseForm ( appFormPage . TableKey )
if mastErr == nil {
for _ , v := range masterFieldAry {
if ! publicmethod . IsInTrue [ string ] ( v . Field , fieldList ) {
fieldList = append ( fieldList , v . Field )
}
}
}
}
if appFormPage . TableStructure != "" {
var sunTable map [ string ] string
err = json . Unmarshal ( [ ] byte ( appFormPage . TableStructure ) , & sunTable )
if err == nil {
for _ , v := range sunTable {
sonFieldAry , sunErr := customerform . ReadDatabaseForm ( v )
if sunErr == nil {
for _ , v := range sonFieldAry {
if ! publicmethod . IsInTrue [ string ] ( v . Field , fieldList ) {
fieldList = append ( fieldList , v . Field )
}
}
}
}
}
}
sendData [ "formField" ] = fieldList
publicmethod . Result ( 0 , sendData , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 21 0 8 : 31 : 45
@ 功能 : 预览App多版本表单页面
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) PreviewAppFormVersion ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var appFormSersion LookCustomerFormInfo
err = appFormSersion . GetCont ( map [ string ] interface { } { "`id`" : requestData . Id } )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
appFormSersion . GroupKey = strconv . FormatInt ( appFormSersion . Groupid , 10 )
json . Unmarshal ( [ ] byte ( appFormSersion . Permit ) , & appFormSersion . PermitList )
if appFormSersion . TableKey != "" {
masterFieldAry , mastErr := customerform . ReadDatabaseForm ( appFormSersion . TableKey )
if mastErr == nil {
for _ , v := range masterFieldAry {
if ! publicmethod . IsInTrue [ string ] ( v . Field , appFormSersion . FormField ) {
appFormSersion . FormField = append ( appFormSersion . FormField , v . Field )
}
}
}
}
if appFormSersion . TableStructure != "" {
var sunTable map [ string ] string
err = json . Unmarshal ( [ ] byte ( appFormSersion . TableStructure ) , & sunTable )
if err == nil {
for _ , v := range sunTable {
sonFieldAry , sunErr := customerform . ReadDatabaseForm ( v )
appFormSersion . TableStructureMap = append ( appFormSersion . TableStructureMap , v )
if sunErr == nil {
for _ , v := range sonFieldAry {
if ! publicmethod . IsInTrue [ string ] ( v . Field , appFormSersion . FormField ) {
appFormSersion . FormField = append ( appFormSersion . FormField , v . Field )
}
}
}
}
}
}
publicmethod . Result ( 0 , appFormSersion , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 22 16 : 38 : 17
@ 功能 : 设置App基础
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) AppBasicSettings ( c * gin . Context ) {
var requestData AppSetupInfo
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Title == "" {
publicmethod . Result ( 1 , err , c , "请输入App名称!" )
return
}
if requestData . GroupKey == "" {
publicmethod . Result ( 1 , err , c , "请选择App归属分组!" )
return
}
var appInfo modelAppPlatform . CustomerForm
err = appInfo . GetCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveInfo := publicmethod . MapOut [ string ] ( )
if requestData . Title != appInfo . Name {
saveInfo [ "`name`" ] = requestData . Title
}
if requestData . AppSvg != appInfo . Icon {
saveInfo [ "`icon`" ] = requestData . AppSvg
}
groupKey , _ := strconv . ParseInt ( requestData . GroupKey , 10 , 64 )
if groupKey != appInfo . Groupid {
saveInfo [ "`groupid`" ] = groupKey
}
if requestData . Appdescribe != appInfo . Describe {
saveInfo [ "`describe`" ] = requestData . Appdescribe
}
if len ( saveInfo ) > 0 {
saveInfo [ "`states`" ] = 1
saveInfo [ "`edit_time`" ] = time . Now ( ) . Unix ( )
err = appInfo . EiteCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , saveInfo )
}
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 28 0 8 : 14 : 10
@ 功能 : 设置可见范围
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) SetLookViews ( c * gin . Context ) {
var requestData SetAppLookViews
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var custFormInfo modelAppPlatform . CustomerForm
err = custFormInfo . GetCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , "`id`" , "`userpermit`" , "`postpermit`" , "`orgpermit`" )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveData := publicmethod . MapOut [ string ] ( )
if len ( requestData . OrgRoleUs ) <= 0 {
saveData [ "userpermit" ] = ""
saveData [ "postpermit" ] = ""
saveData [ "orgpermit" ] = ""
} else {
var usAry [ ] string
var orgAry [ ] string
var roleAry [ ] string
for _ , v := range requestData . OrgRoleUs {
switch v . Types {
case 1 :
if ! publicmethod . IsInTrue [ string ] ( v . Id , usAry ) {
usAry = append ( usAry , v . Id )
}
case 2 :
if ! publicmethod . IsInTrue [ string ] ( v . Id , orgAry ) {
orgAry = append ( orgAry , v . Id )
}
case 3 :
if ! publicmethod . IsInTrue [ string ] ( v . Id , roleAry ) {
roleAry = append ( roleAry , v . Id )
}
default :
}
}
saveData [ "userpermit" ] = strings . Join ( usAry , "," )
saveData [ "postpermit" ] = strings . Join ( roleAry , "," )
saveData [ "orgpermit" ] = strings . Join ( orgAry , "," )
}
saveData [ "edit_time" ] = time . Now ( ) . Unix ( )
err = custFormInfo . EiteCont ( map [ string ] interface { } { "`id`" : custFormInfo . Id } , saveData )
if err != nil {
publicmethod . Result ( 104 , err , c )
return
}
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 28 0 8 : 42 : 0 8
@ 功能 : 设置管理使用人员
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) SetAppManagerInfo ( c * gin . Context ) {
var requestData SetAppLookViews
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var custFormInfo modelAppPlatform . CustomerForm
err = custFormInfo . GetCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , "`id`" , "`appManager`" , "`appRoleManager`" , "`appOrgMan`" )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveData := publicmethod . MapOut [ string ] ( )
if len ( requestData . OrgRoleUs ) <= 0 {
saveData [ "appManager" ] = ""
saveData [ "appRoleManager" ] = ""
saveData [ "appOrgMan" ] = ""
} else {
var usAry [ ] string
var orgAry [ ] string
var roleAry [ ] string
for _ , v := range requestData . OrgRoleUs {
switch v . Types {
case 1 :
if ! publicmethod . IsInTrue [ string ] ( v . Id , usAry ) {
usAry = append ( usAry , v . Id )
}
case 2 :
if ! publicmethod . IsInTrue [ string ] ( v . Id , orgAry ) {
orgAry = append ( orgAry , v . Id )
}
case 3 :
if ! publicmethod . IsInTrue [ string ] ( v . Id , roleAry ) {
roleAry = append ( roleAry , v . Id )
}
default :
}
}
saveData [ "appManager" ] = strings . Join ( usAry , "," )
saveData [ "appRoleManager" ] = strings . Join ( roleAry , "," )
saveData [ "appOrgMan" ] = strings . Join ( orgAry , "," )
}
saveData [ "edit_time" ] = time . Now ( ) . Unix ( )
err = custFormInfo . EiteCont ( map [ string ] interface { } { "`id`" : custFormInfo . Id } , saveData )
if err != nil {
publicmethod . Result ( 104 , err , c )
return
}
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 28 10 : 35 : 20
@ 功能 : 获取可见范围数据及应用管理
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GainLookViews ( c * gin . Context ) {
var requestData publicmethod . PublicId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
var custFormInfo modelAppPlatform . CustomerForm
err = custFormInfo . GetCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , "`id`" , "`appManager`" , "`appRoleManager`" , "`appOrgMan`" , "`userpermit`" , "`postpermit`" , "`orgpermit`" )
saveData := make ( map [ string ] [ ] publicapi . UserOrgRole )
if err != nil {
var empty [ ] publicapi . UserOrgRole
saveData [ "appLookView" ] = empty
saveData [ "appManager" ] = empty
publicmethod . Result ( 104 , saveData , c )
return
}
var sendList CallBackAppOrgRoleUs
if custFormInfo . AppManager != "" {
syncSeting . Add ( 1 )
go sendList . GainAppUserList ( custFormInfo . AppManager , 1 )
}
if custFormInfo . AppOrgMan != "" {
syncSeting . Add ( 1 )
go sendList . GainAppOrgList ( custFormInfo . AppOrgMan , 1 )
}
if custFormInfo . AppRoleManager != "" {
syncSeting . Add ( 1 )
go sendList . GainAppRoleList ( custFormInfo . AppRoleManager , 1 )
}
if custFormInfo . UserPermit != "" {
syncSeting . Add ( 1 )
go sendList . GainAppUserList ( custFormInfo . UserPermit , 2 )
}
if custFormInfo . OrgPermit != "" {
syncSeting . Add ( 1 )
go sendList . GainAppOrgList ( custFormInfo . OrgPermit , 2 )
}
if custFormInfo . PostPermit != "" {
syncSeting . Add ( 1 )
go sendList . GainAppRoleList ( custFormInfo . PostPermit , 2 )
}
syncSeting . Wait ( )
if len ( sendList . AppOrgMan ) > 0 {
saveData [ "appManager" ] = append ( saveData [ "appManager" ] , sendList . AppOrgMan ... )
}
if len ( sendList . AppRoleManager ) > 0 {
saveData [ "appManager" ] = append ( saveData [ "appManager" ] , sendList . AppRoleManager ... )
}
if len ( sendList . AppManager ) > 0 {
saveData [ "appManager" ] = append ( saveData [ "appManager" ] , sendList . AppManager ... )
}
if len ( sendList . PostPermit ) > 0 {
saveData [ "appLookView" ] = append ( saveData [ "appLookView" ] , sendList . PostPermit ... )
}
if len ( sendList . OrgPermit ) > 0 {
saveData [ "appLookView" ] = append ( saveData [ "appLookView" ] , sendList . OrgPermit ... )
}
if len ( sendList . UserPermit ) > 0 {
saveData [ "appLookView" ] = append ( saveData [ "appLookView" ] , sendList . UserPermit ... )
}
sort . Slice ( saveData [ "appLookView" ] , func ( i , j int ) bool {
return saveData [ "appLookView" ] [ i ] . Types > saveData [ "appLookView" ] [ j ] . Types
} )
sort . Slice ( saveData [ "appManager" ] , func ( i , j int ) bool {
return saveData [ "appManager" ] [ i ] . Types > saveData [ "appManager" ] [ j ] . Types
} )
publicmethod . Result ( 0 , saveData , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 28 11 : 13 : 47
@ 功能 : 获取App角色
@ val 关键字
@ class 1 : 应用管理 , 2 : 可见范围
* /
func ( c * CallBackAppOrgRoleUs ) GainAppRoleList ( val string , class int ) {
defer syncSeting . Done ( )
if val != "" {
valAry := strings . Split ( val , "," )
if len ( valAry ) > 0 {
var infoList [ ] modelssystempermission . SystemRole
err := overall . CONSTANT_DB_System_Permission . Model ( & modelssystempermission . SystemRole { } ) . Select ( "`id`,`name`" ) . Where ( "`id` IN ?" , valAry ) . Find ( & infoList ) . Error
if err == nil {
for _ , v := range infoList {
var info publicapi . UserOrgRole
info . Id = strconv . FormatInt ( v . Id , 10 )
info . Title = v . Name
info . Img = ""
info . IsPick = 1
info . Types = 3
if class == 1 {
c . AppRoleManager = append ( c . AppRoleManager , info )
} else {
c . PostPermit = append ( c . PostPermit , info )
}
}
}
}
}
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 28 10 : 43 : 42
@ 功能 : 获取人员信息
@ val 关键字
@ class 1 : 应用管理 , 2 : 可见范围
* /
func ( c * CallBackAppOrgRoleUs ) GainAppUserList ( val string , class int ) {
defer syncSeting . Done ( )
if val != "" {
valAry := strings . Split ( val , "," )
if len ( valAry ) > 0 {
var infoList [ ] modelshr . PersonArchives
err := overall . CONSTANT_DB_HR . Model ( & modelshr . PersonArchives { } ) . Select ( "`key`,`name`,`icon`,`icon_photo`" ) . Where ( "`key` IN ?" , valAry ) . Find ( & infoList ) . Error
if err == nil {
for _ , v := range infoList {
var info publicapi . UserOrgRole
info . Id = strconv . FormatInt ( v . Key , 10 )
info . Title = v . Name
info . Img = v . Icon
if v . IconPhoto != "" {
info . Img = v . IconPhoto
}
info . IsPick = 1
info . Types = 1
if class == 1 {
c . AppManager = append ( c . AppManager , info )
} else {
c . UserPermit = append ( c . UserPermit , info )
}
}
}
}
}
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 28 11 : 04 : 0 9
@ 功能 : 获取行政组织
@ val 关键字
@ class 1 : 应用管理 , 2 : 可见范围
* /
func ( c * CallBackAppOrgRoleUs ) GainAppOrgList ( val string , class int ) {
defer syncSeting . Done ( )
if val != "" {
valAry := strings . Split ( val , "," )
if len ( valAry ) > 0 {
var infoList [ ] modelshr . AdministrativeOrganization
err := overall . CONSTANT_DB_HR . Model ( & modelshr . AdministrativeOrganization { } ) . Select ( "`id`,`name`" ) . Where ( "`id` IN ?" , valAry ) . Find ( & infoList ) . Error
if err == nil {
for _ , v := range infoList {
var info publicapi . UserOrgRole
info . Id = strconv . FormatInt ( v . Id , 10 )
info . Title = v . Name
info . Img = ""
info . IsPick = 1
info . Types = 2
if class == 1 {
c . AppOrgMan = append ( c . AppOrgMan , info )
} else {
c . OrgPermit = append ( c . OrgPermit , info )
}
}
}
}
}
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 29 0 9 : 53 : 52
@ 功能 : 获取应用下属表单
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GianAppFormTable ( c * gin . Context ) {
var requestData SearchAppTable
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . PageSize == 0 {
requestData . PageSize = 10
}
if requestData . Page == 0 {
requestData . Page = 1
}
var formList [ ] customerform . SendCustomerForm
gormDb := overall . CONSTANT_DB_AppPlatform . Model ( & modelAppPlatform . CustomerForm { } ) . Where ( "`states` = 1 AND `groupid` = ?" , requestData . Id )
if requestData . Name != "" {
gormDb = gormDb . Where ( "`name` LIKE ? OR `tablename` LIKE ?" , "%" + requestData . Name + "%" , "%" + requestData . Name + "%" )
}
var total int64
totalErr := gormDb . Count ( & total ) . Error
if totalErr != nil {
total = 0
}
gormDb = publicmethod . PageTurningSettings ( gormDb , requestData . Page , requestData . PageSize )
err = gormDb . Order ( "`id` DESC" ) . Find ( & formList ) . Error
if err != nil && len ( formList ) < 1 {
publicmethod . Result ( 0 , err , c )
return
}
for i , v := range formList {
userCont := customerform . HaveCustomerFormCreaterUs ( v . TableNames )
if v . FlowKey != 0 {
formList [ i ] . FlowKeyStr = strconv . FormatInt ( v . FlowKey , 10 )
}
formList [ i ] . IdStr = strconv . FormatInt ( v . Id , 10 )
formList [ i ] . CreaterName = userCont . Name
formList [ i ] . CreaterTimeStr = publicmethod . UnixTimeToDay ( v . CreaterTime , 1 )
var versionInfo modelAppPlatform . CustomerFormVersion
versionInfo . GetCont ( map [ string ] interface { } { "`status`" : 1 , "`tablekey`" : v . TableNames } , "`id`" )
formList [ i ] . VersionId = strconv . FormatInt ( versionInfo . Id , 10 )
formList [ i ] . SignCodeStr = strconv . FormatInt ( v . SignCode , 10 )
}
publicmethod . ResultList ( 0 , requestData . Page , requestData . PageSize , total , int64 ( len ( formList ) ) , formList , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 05 - 29 14 : 02 : 28
@ 功能 : 设置自定义表单状态
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) SetCustomerFormState ( c * gin . Context ) {
var requestData publicmethod . PublicState
c . ShouldBindJSON ( & requestData )
if requestData . Id == "" {
publicmethod . Result ( 102 , requestData , c )
return
}
if requestData . IsTrue == 0 {
requestData . IsTrue = 2
}
if requestData . State == 0 {
requestData . IsTrue = 1
}
var custFormInfo modelAppPlatform . CustomerForm
err := custFormInfo . GetCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , "`id`" , "`states`" )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveData := publicmethod . MapOut [ string ] ( )
saveData [ "`states`" ] = requestData . State
saveData [ "`edit_time`" ] = time . Now ( ) . Unix ( )
err = custFormInfo . EiteCont ( map [ string ] interface { } { "`signCode`" : requestData . Id } , saveData )
if err != nil {
publicmethod . Result ( 106 , err , c )
return
}
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 0 8 - 0 8 14 : 01 : 47
@ 功能 : 编辑APP菜单图标
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) EditAppMenusIcon ( c * gin . Context ) {
var requestData EditAppMenuNAme
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . Id == "" {
publicmethod . Result ( 102 , err , c )
return
}
if requestData . Label == "" {
publicmethod . Result ( 102 , err , c )
return
}
var oldMenuInfo modelAppPlatform . Appmenus
err = oldMenuInfo . GetCont ( map [ string ] interface { } { "`id`" : requestData . Id } , "`id`" , "`svg`" , "`type`" , ` appkey ` )
if err != nil {
publicmethod . Result ( 107 , err , c )
return
}
saveMenu := publicmethod . MapOut [ string ] ( )
saveMenu [ "`svg`" ] = requestData . Label
saveMenu [ "`edit_time`" ] = time . Now ( ) . Unix ( )
err = oldMenuInfo . EiteCont ( map [ string ] interface { } { "`id`" : requestData . Id } , saveMenu )
if err != nil {
publicmethod . Result ( 106 , err , c )
return
}
editForm := publicmethod . MapOut [ string ] ( )
var cusForm modelAppPlatform . CustomerForm
var newAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenuJson = GainAppMenuTree ( oldMenuInfo . Appkey )
syncSeting . Wait ( )
menuTreeJson , _ := json . Marshal ( newAppMenuJson )
editForm [ "listjson" ] = string ( menuTreeJson )
editForm [ "edit_time" ] = time . Now ( ) . Unix ( )
cusForm . EiteCont ( map [ string ] interface { } { "`signCode`" : oldMenuInfo . Appkey } , editForm )
//
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2025 - 03 - 18 0 9 : 05 : 47
@ 功能 : 获取分组App菜单
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) GainAppGroupMenus ( c * gin . Context ) {
var appGroupList [ ] modelAppPlatform . CustomerFormGroup
overall . CONSTANT_DB_AppPlatform . Where ( "`state` = 1" ) . Order ( "`sort` DESC" ) . Order ( "`id` ASC" ) . Find ( & appGroupList )
var appList GroupAppList
var sendList [ ] interface { }
if len ( appGroupList ) > 0 {
for _ , v := range appGroupList {
syncSeting . Add ( 1 )
go appList . GroupAppList ( v . Id )
}
syncSeting . Wait ( )
if len ( appList . List ) > 0 {
for _ , v := range appList . List {
syncSeting . Add ( 1 )
appKey , _ := strconv . ParseInt ( v . Id , 10 , 64 )
var appMenu AppMenuTree
appMenu . Id = v . Id //id"`
appMenu . Label = v . Name //label"`
appMenu . Types = 3 //type"`
appMenu . Svg = "" //svg" `
appMenu . PcIsShow = 1 //pcIsShow"`
appMenu . WapIsShow = 1 //wapIsShow"`
appMenu . Parent = v . GroupId //parent"`
appMenu . Appkey = v . GroupId //appkey"`
appMenu . IsLock = 2 //isLock"`
appMenu . Sort = 1 //sort"`
appMenu . State = 1 //state"`
appMenu . IsMain = 1 //isMain"`
appMenu . Icon = "" //icon"`
appMenu . Children = GainAppTree ( appKey ) //children"`
sendList = append ( sendList , appMenu )
}
syncSeting . Wait ( )
}
}
// syncSeting.Add(1)
// sendInfo["menuTree"] = GainAppMenuTree(appCont.SignCode)
syncSeting . Wait ( )
publicmethod . Result ( 0 , sendList , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2025 - 03 - 18 13 : 38 : 30
@ 功能 : 获取分组下得App列表
* /
func ( g * GroupAppList ) GroupAppList ( id int64 ) {
defer syncSeting . Done ( )
if id == 0 {
return
} else {
var formList [ ] modelAppPlatform . CustomerForm
overall . CONSTANT_DB_AppPlatform . Where ( "`states` = 1 AND `classify` = 3 AND `groupid` = ?" , id ) . Find ( & formList )
if len ( formList ) > 0 {
for _ , v := range formList {
var formApp TransferMenu
formApp . Id = strconv . FormatInt ( v . SignCode , 10 )
formApp . Name = v . Name
formApp . GroupId = strconv . FormatInt ( id , 10 )
g . List = append ( g . List , formApp )
}
}
}
}
func GainAppTree ( key int64 ) ( menusTree [ ] AppMenuTree ) {
defer syncSeting . Done ( )
if key == 0 {
return
}
var menuList [ ] modelAppPlatform . Appmenus
err := overall . CONSTANT_DB_AppPlatform . Where ( "`state` = 1 AND `isLock` = 2 AND `appkey` = ?" , key ) . Find ( & menuList ) . Error
if err != nil {
return
}
sort . Slice ( menuList , func ( i , j int ) bool {
return menuList [ i ] . EditTime < menuList [ j ] . EditTime
} )
sort . Slice ( menuList , func ( i , j int ) bool {
return menuList [ i ] . Sort < menuList [ j ] . Sort
} )
menusTree = AppTreeMenus ( key , menuList )
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2025 - 03 - 19 07 : 56 : 31
@ 功能 : 移动栏目
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( a * ApiMethod ) MoveAppMenus ( c * gin . Context ) {
var requestData MoveAppMenusId
err := c . ShouldBindJSON ( & requestData )
if err != nil {
publicmethod . Result ( 100 , err , c )
return
}
if requestData . MenuId == "" || requestData . OldMenuId == "" {
publicmethod . Result ( 102 , err , c )
return
}
var newAppkey int64
var oldAppkey int64
//Step 1:获取愿菜单基本信息
var oldAppMenus modelAppPlatform . Appmenus
err = oldAppMenus . GetCont ( map [ string ] interface { } { "`id`" : requestData . OldMenuId } )
if err != nil {
publicmethod . Result ( 1 , err , c , "数据错误!请重新操作!" )
return
}
oldAppkey = oldAppMenus . Appkey
//Step 2:获取旧菜单是否有子菜单
var sunAppId AppSunMenus
sunAppId . HaveMenuSun ( oldAppMenus . Id )
var newFormInfo modelAppPlatform . CustomerForm
err = newFormInfo . GetCont ( map [ string ] interface { } { "`signCode`" : requestData . MenuId } )
//修改主应用表
var mastMenuEdit modelAppPlatform . CustomerForm
editMenuInfo := publicmethod . MapOut [ string ] ( )
editMenuInfo [ "groupid" ] = newFormInfo . Groupid
editMenuInfo [ "edit_time" ] = time . Now ( ) . Unix ( )
err = mastMenuEdit . EiteCont ( map [ string ] interface { } { "`signCode`" : requestData . OldMenuId } , editMenuInfo )
if err != nil {
publicmethod . Result ( 1 , err , c , "数据错误!请重新操作!" )
return
}
sunEditMenu := publicmethod . MapOut [ string ] ( )
//修改主菜单信息
var mastAppMenuEdit modelAppPlatform . Appmenus
editAppMenuInfo := publicmethod . MapOut [ string ] ( )
editAppMenuInfo [ "edit_time" ] = time . Now ( ) . Unix ( )
editAppMenuInfo [ "parent" ] = requestData . MenuId
if newFormInfo . Classify != 3 {
var newParentMenu modelAppPlatform . Appmenus
newParentMenu . GetCont ( map [ string ] interface { } { "`id`" : requestData . MenuId } )
editAppMenuInfo [ "appkey" ] = newParentMenu . Appkey
sunEditMenu [ "appkey" ] = newParentMenu . Appkey
newAppkey = newParentMenu . Appkey
} else {
editAppMenuInfo [ "appkey" ] = newFormInfo . SignCode
sunEditMenu [ "appkey" ] = newFormInfo . SignCode
newAppkey = newFormInfo . SignCode
}
err = mastAppMenuEdit . EiteCont ( map [ string ] interface { } { "`id`" : requestData . OldMenuId } , editAppMenuInfo )
if err != nil {
publicmethod . Result ( 1 , err , c , "数据错误!请重新操作!" )
return
}
if len ( sunAppId . Key ) > 0 {
overall . CONSTANT_DB_AppPlatform . Model ( & modelAppPlatform . CustomerForm { } ) . Where ( "`signCode` IN ?" , sunAppId . Key ) . Updates ( editMenuInfo )
overall . CONSTANT_DB_AppPlatform . Model ( & modelAppPlatform . Appmenus { } ) . Where ( "`id` IN ?" , sunAppId . Key ) . Updates ( sunEditMenu )
}
//目标App菜单重组
var newAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
newAppMenuJson = GainAppMenuTree ( newAppkey )
syncSeting . Wait ( )
menuTreeJson , _ := json . Marshal ( newAppMenuJson )
sunEditMenuJson := publicmethod . MapOut [ string ] ( )
sunEditMenuJson [ "listjson" ] = string ( menuTreeJson )
var newMoveFormInfo modelAppPlatform . CustomerForm
newMoveFormInfo . EiteCont ( map [ string ] interface { } { "`signCode`" : newAppkey } , sunEditMenuJson )
if newAppkey != oldAppkey {
var oldAppMenuJson [ ] AppMenuTree
syncSeting . Add ( 1 )
oldAppMenuJson = GainAppMenuTree ( oldAppkey )
syncSeting . Wait ( )
menuTreeJsonOld , _ := json . Marshal ( oldAppMenuJson )
sunoldEditMenuJson := publicmethod . MapOut [ string ] ( )
sunoldEditMenuJson [ "listjson" ] = string ( menuTreeJsonOld )
var newMoveFormInfo modelAppPlatform . CustomerForm
newMoveFormInfo . EiteCont ( map [ string ] interface { } { "`signCode`" : oldAppkey } , sunoldEditMenuJson )
}
publicmethod . Result ( 0 , err , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2025 - 03 - 19 0 8 : 19 : 48
@ 功能 : 递归获取子级菜单目录
* /
func ( a * AppSunMenus ) HaveMenuSun ( prentId int64 ) {
if prentId != 0 {
var appMenus [ ] modelAppPlatform . Appmenus
overall . CONSTANT_DB_AppPlatform . Where ( "`parent` = ?" , prentId ) . Find ( & appMenus )
if len ( appMenus ) > 0 {
for _ , v := range appMenus {
a . Key = append ( a . Key , v . Id )
a . HaveMenuSun ( v . Id )
}
}
}
}