123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613 |
- 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)
- if app == nil || app.Id == 0 {
- continue
- }
- 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
- }
|