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() {
-
- 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)
-
-
- 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)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-
- func (c *PublicApiController) HandleData() {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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)
- if err != nil {
- emit("Failed unmarshalling json: %s\n", err)
- return &config
- }
- return &config
- }
|