package controllers import ( "XT_New/enums" "XT_New/models" "XT_New/service" "encoding/json" "fmt" "os" "path" "runtime" "strings" "time" "github.com/astaxie/beego" ) type PublicApiController struct { BaseAPIController } func PublicApiRegistRouters() { beego.Router("/api/public/getadviceconfig", &PublicApiController{}, "Get:GetDoctorAdviceConfig") beego.Router("/api/public/servertime", &PublicApiController{}, "Get:GetServerTime") beego.Router("/api/app/release", &PublicApiController{}, "Get:AppRelease") beego.Router("/api/get", &PublicApiController{}, "Get:GetJson") beego.Router("/api/public/handledata", &PublicApiController{}, "get:HandleData") } func (c *PublicApiController) GetDoctorAdviceConfig() { drugs, _, _ := service.GetPublicDrugDics() drugways, _, _ := service.GetPublicDrugWayDics() efs, _, _ := service.GetPublicExecutionFrequencyDics() c.ServeSuccessJSON(map[string]interface{}{ "drugs": drugs, "drugways": drugways, "efs": efs, }) } func (c *PublicApiController) GetServerTime() { timeNow := time.Now() timeNowStamp := timeNow.Unix() timeNowStr := timeNow.Format("2006-01-02 15:04:05") c.ServeSuccessJSON(map[string]interface{}{ "time": timeNowStr, "timestamp": timeNowStamp, }) } func (c *PublicApiController) AppRelease() { // appId := c.GetString("appid") version := c.GetString("version") appType, _ := c.GetInt64("app_type", 0) appVersion, err := service.GetAppVersionByAppType(appType) if err != nil { c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong) return } if appVersion == nil { c.ServeSuccessJSON(map[string]interface{}{ "version": nil, "state": 2, }) return } state := strings.Compare(version, appVersion.Version) // state := 1 if state < 0 { c.ServeSuccessJSON(map[string]interface{}{ "version": appVersion, "state": appVersion.Status, }) return } c.ServeSuccessJSON(map[string]interface{}{ "version": nil, "state": 2, }) return } func (this *PublicApiController) GetJson() { type Global struct { DeviceSN string Version string Timestamp string InterfaceSource string } type RBPResultModel struct { Sys string Dia string HR string MeasureTime string } type ScannerResultModel struct { Code string } type IDCardResultModel struct { IDCardNo string UserName string Age string Female string Male string SocialSecurityNo string } type JsonTemp struct { Global Global RBPResultModel RBPResultModel ScannerResultModel ScannerResultModel IDCardResultModel IDCardResultModel } var person JsonTemp err3 := json.Unmarshal([]byte(this.GetString("params")), &person) fmt.Println(err3) fmt.Println(person.Global) //temp := JsonTemp{ // Global:Global{ // DeviceSN:"1122", // Version:"1122", // Timestamp:"1222", // InterfaceSource:"1233", // }, // RBPResultModel: RBPResultModel{ // Sys:"12", // Dia:"22", // HR:"23", // MeasureTime:"123", // }, // ScannerResultModel:ScannerResultModel{ // Code:"1233", // }, // IDCardResultModel:IDCardResultModel{ // IDCardNo:"123", // UserName:"123", // Age:"123", // Female:"123", // Male:"123", // SocialSecurityNo:"123", // }, //} // //jsonBytes, err := json.Marshal(temp) //if err != nil { // fmt.Println(err) //} //fmt.Println(string(jsonBytes)) } func (c *PublicApiController) HandleData() { //org_app, _ := service.GetAllAppOrg() //org_role, _ := service.GetAllRole() // //var org_ids []int64 //for _, apps := range org_app { // xt_org_app, _ := service.GetAppByType(int64(apps.OrgId), 3) // scrm_org_app, _ := service.GetAppByType(int64(apps.OrgId), 1) // cdm_org_app, _ := service.GetAppByType(int64(apps.OrgId), 4) // mall_org_app, _ := service.GetAppByType(int64(apps.OrgId), 5) // org_app_6, _ := service.GetAppByType(int64(apps.OrgId), 6) // org_app_7, _ := service.GetAppByType(int64(apps.OrgId), 7) // org_app_8, _ := service.GetAppByType(int64(apps.OrgId), 8) // org_app_9, _ := service.GetAppByType(int64(apps.OrgId), 9) // org_app_10, _ := service.GetAppByType(int64(apps.OrgId), 10) // org_app_11, _ := service.GetAppByType(int64(apps.OrgId), 11) // org_app_12, _ := service.GetAppByType(int64(apps.OrgId), 12) // org_app_13, _ := service.GetAppByType(int64(apps.OrgId), 13) // org_app_14, _ := service.GetAppByType(int64(apps.OrgId), 14) // org_app_15, _ := service.GetAppByType(int64(apps.OrgId), 15) // // var xt_temp_org_app *models.OrgApp // var mall_temp_org_app *models.OrgApp // // if xt_org_app == nil || xt_org_app.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // // app, _ := service.GetOrgAppA(0, 3) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // app.Id = 0 // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Number = 0 // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // xt_temp_org_app = app // } else { // // xt_temp_org_app = xt_org_app // // } // // if scrm_org_app == nil || scrm_org_app.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // // app, _ := service.GetOrgAppA(0, 1) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Id = 0 // // app.Creator = int(org.Creator) // app.Number = 0 // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // // } // // if cdm_org_app == nil || cdm_org_app.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 4) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Number = 0 // app.Id = 0 // // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // // if mall_org_app == nil || mall_org_app.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 5) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // // if org == nil || org.Id == 0 { // continue // } // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Number = 0 // app.Id = 0 // // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // mall_temp_org_app = app // } else { // mall_temp_org_app = mall_org_app // } // // if org_app_6 == nil || org_app_6.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 6) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Number = 1 // app.Id = 0 // // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // app.Pid = xt_temp_org_app.Id // service.CreateOrgApp(app) // // } // if org_app_7 == nil || org_app_7.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 7) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Number = 2 // app.Status = 2 // app.Id = 0 // // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // app.Pid = xt_temp_org_app.Id // // service.CreateOrgApp(app) // } // if org_app_8 == nil || org_app_8.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 8) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Number = 3 // app.Id = 0 // // app.Pid = mall_temp_org_app.Id // // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // if org_app_9 == nil || org_app_9.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 9) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Pid = xt_temp_org_app.Id // // app.Creator = int(org.Creator) // app.Number = 4 // app.Id = 0 // // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // // } // if org_app_10 == nil || org_app_10.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 10) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Pid = xt_temp_org_app.Id // // app.Number = 5 // app.Id = 0 // // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // if org_app_11 == nil || org_app_11.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 11) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Pid = xt_temp_org_app.Id // app.Id = 0 // // app.Number = 6 // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // if org_app_12 == nil || org_app_12.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 12) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Pid = xt_temp_org_app.Id // app.Number = 7 // app.Status = 1 // app.Id = 0 // // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // if org_app_13 == nil || org_app_13.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 13) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Pid = xt_temp_org_app.Id // app.Number = 8 // app.Id = 0 // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // if org_app_14 == nil || org_app_14.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 14) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Pid = xt_temp_org_app.Id // app.Id = 0 // app.Number = 9 // app.Status = 1 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } // // if org_app_15 == nil || org_app_15.Id == 0 { //判断之前是否有创建该app类型,如果没有则插入数据 // app, _ := service.GetOrgAppA(0, 15) // //org, _ := service.GetOrgById(int64(12)) // org, _ := service.GetOrgByIdB(int64(apps.OrgId)) // if org == nil || org.Id == 0 { // continue // } // // app.OrgId = apps.OrgId // app.Creator = int(org.Creator) // app.Pid = xt_temp_org_app.Id // app.Number = 10 // app.Status = 1 // app.Id = 0 // app.ModifyTime = time.Now().Unix() // app.CreateTime = time.Now().Unix() // service.CreateOrgApp(app) // } //} //for _, role := range org_role { // org_ids = append(org_ids, role.OrgId) //} // // ////创建内置角色 InitRoleAndPurviews(org_ids) //var org_id int = 0 //管理员 //app_roles := service.GetAllUserRoleByUserTypeOne(org_id) //for _, item := range app_roles{ // var ids string // if len(item.RoleIds) == 0{ // ids = strconv.FormatInt( item.RoleId,10) // }else{ // ids = item.RoleIds + ","+strconv.FormatInt( item.RoleId,10) // } // service.UpdateRoleIds(item.Id, ids) //} //护士医生 //app_roles2 := service.GetAllUserRoleByUserTypeOther() // for _, item := range app_roles2{ // var ids string // if len(item.RoleIds) == 0{ // ids = strconv.FormatInt( item.RoleId,10) // }else{ // ids = item.RoleIds + ","+strconv.FormatInt( item.RoleId,10) // } // if item.UserType == 2{ // role := service.FindRoleByUserTypeOne(item.OrgId) // ids = ids +"," + strconv.FormatInt(role.Id,10) // // } else if item.UserType == 3{ // role := service.FindRoleByUserTypeTwo(item.OrgId) // ids = ids +"," + strconv.FormatInt(role.Id,10) // } // service.UpdateRoleIds(item.Id, ids) // } //c.ServeSuccessJSON(map[string]interface{}{ // "msg": "ok", //}) } func InitRoleAndPurviews(org_ids []int64) { roles := LoadRoleConfig("./role.json").Roles for _, org_id := range org_ids { app, _ := service.GetOrgAppB(org_id, 3) role, _ := service.GetSystemRole(org_id) if app == nil || app.Id == 0 { continue } if len(role) == 0 { for _, item := range roles { role := &models.Role{ RoleName: item.RoleName, RoleIntro: item.RoleIntroduction, Creator: 0, OrgId: org_id, AppId: app.Id, IsSuperAdmin: false, Status: 1, CreateTime: time.Now().Unix(), ModifyTime: time.Now().Unix(), Number: item.Number, IsSystem: item.IsSystem, } err := service.CreateOrgRoleB(role) if err == nil { purview := &models.RolePurview{ RoleId: role.Id, OrgId: org_id, AppId: role.AppId, PurviewIds: item.PurviewIds, Status: 1, CreateTime: time.Now().Unix(), ModifyTime: time.Now().Unix(), } func_purview := &models.SgjUserRoleFuncPurview{ RoleId: role.Id, OrgId: org_id, AppId: role.AppId, PurviewIds: item.FuncIds, Status: 1, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), } service.CreateRolePurviewB(purview) service.CreateFuncRolePurviewB(func_purview) } } } } } type RoleConfig struct { Roles []*models.VMUserRoleAndPurview "json:roles" } func LoadRoleConfig(dataFile string) *RoleConfig { var config RoleConfig _, filename, _, _ := runtime.Caller(1) datapath := path.Join(path.Dir(filename), dataFile) config_file, err := os.Open(datapath) if err != nil { emit("Failed to open config file '%s': %s\n", datapath, err) return &config } fi, _ := config_file.Stat() buffer := make([]byte, fi.Size()) _, err = config_file.Read(buffer) buffer, err = StripComments(buffer) //去掉注释 if err != nil { emit("Failed to strip comments from json: %s\n", err) return &config } buffer = []byte(os.ExpandEnv(string(buffer))) //特殊 err = json.Unmarshal(buffer, &config) //解析json格式数据 if err != nil { emit("Failed unmarshalling json: %s\n", err) return &config } return &config }