package controllers import ( "XT_New/models" "XT_New/service" "XT_New/utils" "encoding/json" "fmt" "github.com/astaxie/beego" "io/ioutil" ) type GdybController struct { BaseAuthAPIController } func GdybRegistRouters() { beego.Router("/gdyb/one", &GdybController{}, "get:PostOne") beego.Router("/gdyb/two", &GdybController{}, "get:PostTwo") beego.Router("/gdyb/three", &GdybController{}, "get:PostThree") beego.Router("/gdyb/four", &GdybController{}, "get:PostFour") beego.Router("/gdyb/five", &GdybController{}, "post:PostFive") beego.Router("/gdyb/six", &GdybController{}, "get:PostSix") beego.Router("/gdyb/seven", &GdybController{}, "get:PostSeven") beego.Router("/gdyb/eight", &GdybController{}, "get:PostEight") beego.Router("/gdyb/nine", &GdybController{}, "get:PostNine") //beego.Router("/gdyb/tem", &GdybController{}, "get:PostTen") } //provinces, _ := service.GetDistrictsByUpid(0)21 type Result struct { ErrMsg interface{} `json:"err_msg"` InfRefmsgid string `json:"inf_refmsgid"` Infcode int64 `json:"infcode"` Output struct { Baseinfo struct { Age float64 `json:"age"` Brdy string `json:"brdy"` Certno string `json:"certno"` Gend string `json:"gend"` Naty string `json:"naty"` PsnCertType string `json:"psn_cert_type"` PsnName string `json:"psn_name"` PsnNo string `json:"psn_no"` } `json:"baseinfo"` Idetinfo []interface{} `json:"idetinfo"` Iinfo []struct { Balc int64 `json:"balc"` CvlservFlag string `json:"cvlserv_flag"` EmpName string `json:"emp_name"` InsuplcAdmdvs string `json:"insuplc_admdvs"` Insutype string `json:"insutype"` PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"` PausInsuDate interface{} `json:"paus_insu_date"` PsnInsuDate string `json:"psn_insu_date"` PsnInsuStas string `json:"psn_insu_stas"` PsnType string `json:"psn_type"` } `json:"iinfo"` } `json:"output"` RefmsgTime string `json:"refmsg_time"` RespondTime string `json:"respond_time"` Signtype interface{} `json:"signtype"` WarnInfo interface{} `json:"warn_info"` } func (c *GdybController) PostOne() { certNo := c.GetString("cert_no") org_name := c.GetString("org_name") doctor := c.GetString("doctor") fixmedins_code := c.GetString("fixmedins_code") result := service.Gdyb1101(certNo, org_name, doctor, fixmedins_code) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { } else { } c.ServeSuccessJSON(map[string]interface{}{ "pre": dat, }) } func (c *GdybController) PostTwo() { psnNo := c.GetString("psn_no") insutype := c.GetString("insutype") certNo := c.GetString("cert_no") org_name := c.GetString("org_name") doctor := c.GetString("doctor") ipt_otp_no := c.GetString("ipt_otp_no") dept := c.GetString("dept") fixmedins_code := c.GetString("fixmedins_code") result := service.Gdyb2201(psnNo, insutype, certNo, org_name, doctor, ipt_otp_no, dept, fixmedins_code) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { //fmt.Println(dat["status"]) } else { } c.ServeSuccessJSON(map[string]interface{}{ "pre": dat, }) } func (c *GdybController) PostThree() { psnNo := c.GetString("psn_no") mdtrtId := c.GetString("mdtrt_id") iptOtpNo := c.GetString("ipt_otp_no") org_name := c.GetString("org_name") doctor := c.GetString("doctor") result := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor) c.ServeSuccessJSON(map[string]interface{}{ "pre": result, }) } func (c *GdybController) PostFour() { psnNo := c.GetString("psn_no") mdtrtId := c.GetString("mdtrt_id") doctor := c.GetString("doctor") department := c.GetString("department") diag := c.GetString("diag") org_name := c.GetString("org_name") med_type := c.GetString("med_type") doctor_id, _ := c.GetInt64("doctor_id", 0) fixmedins_code := c.GetString("fixmedins_code") result := service.Gdyb2203(psnNo, mdtrtId, doctor, department, diag, org_name, med_type, doctor_id, fixmedins_code) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { } else { } c.ServeSuccessJSON(map[string]interface{}{ "pre": dat, }) } type All struct { HisPrescription HisPrescription mdtrt_id string psn_no string } type HisPrescription struct { ID int64 `gorm:"column:id" json:"id" form:"id"` UserOrgId int64 `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"` RecordDate int64 `gorm:"column:record_date" json:"record_date" form:"record_date"` PatientId int64 `gorm:"column:patient_id" json:"patient_id" form:"patient_id"` HisPatientId int64 `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_id"` Status int64 `gorm:"column:status" json:"status" form:"status"` Ctime int64 `gorm:"column:ctime" json:"ctime" form:"ctime"` Mtime int64 `gorm:"column:mtime" json:"mtime" form:"mtime"` Number string `gorm:"column:number" json:"number" form:"number"` Type int64 `gorm:"column:type" json:"type" form:"type"` Doctor int64 `gorm:"column:doctor" json:"doctor" form:"doctor"` Creator int64 `gorm:"column:creator" json:"creator" form:"creator"` Modifier int64 `gorm:"column:modifier" json:"modifier" form:"modifier"` HisDoctorAdviceInfo []*models.HisDoctorAdviceInfo `gorm:"ForeignKey:PatientId,RecordDate,PrescriptionId;AssociationForeignKey:PatientId,RecordDate,ID" json:"advices"` HisPrescriptionProject []*models.HisPrescriptionProject `gorm:"ForeignKey:PatientId,RecordDate,PrescriptionId;AssociationForeignKey:PatientId,RecordDate,ID" json:"project"` } func (c *GdybController) PostFive() { body, _ := ioutil.ReadAll(c.Ctx.Request.Body) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) return } userJSONBytes, _ := json.Marshal(respJSON["pre"]) var hp []*models.HisPrescription if err := json.Unmarshal(userJSONBytes, &hp); err != nil { utils.ErrorLog("解析失败:%v", err) return } result := service.Gdyb2204(respJSON["psn_no"].(string), respJSON["mdtrt_id"].(string), hp, respJSON["chrg_bchno"].(string), respJSON["org_name"].(string), respJSON["doctor"].(string), respJSON["dept"].(string), respJSON["fixmedins_code"].(string)) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { fmt.Println(dat) } else { fmt.Println(err) } c.ServeSuccessJSON(map[string]interface{}{ "pre": dat, }) } func (c *GdybController) PostSix() { psnNo := c.GetString("psn_no") mdtrtId := c.GetString("mdtrt_id") chrgBchno := c.GetString("chrg_bchno") org_name := c.GetString("org_name") doctor := c.GetString("doctor") result := service.Gdyb2205(psnNo, mdtrtId, chrgBchno, org_name, doctor) c.ServeSuccessJSON(map[string]interface{}{ "pre": result, }) } func (c *GdybController) PostSeven() { psnNo := c.GetString("psn_no") mdtrtId := c.GetString("mdtrt_id") chrgBchno := c.GetString("chrg_bchno") certNo := c.GetString("cert_no") insutype := c.GetString("insutype") total := c.GetString("total") org_name := c.GetString("org_name") doctor := c.GetString("doctor") result := service.Gdyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { fmt.Println(dat) } else { fmt.Println(err) } c.ServeSuccessJSON(map[string]interface{}{ "pre": dat, }) } func (c *GdybController) PostEight() { psnNo := c.GetString("psn_no") mdtrtId := c.GetString("mdtrt_id") chrgBchno := c.GetString("chrg_bchno") certNo := c.GetString("cert_no") insutype := c.GetString("insutype") total := c.GetString("total") org_name := c.GetString("org_name") doctor := c.GetString("doctor") fixmedins_code := c.GetString("fixmedins_code") result := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { fmt.Println(dat) } else { fmt.Println(err) } c.ServeSuccessJSON(map[string]interface{}{ "pre": dat, }) } func (c *GdybController) PostNine() { psnNo := c.GetString("psn_no") mdtrtId := c.GetString("mdtrt_id") setlId := c.GetString("setl_id") org_name := c.GetString("org_name") doctor := c.GetString("doctor") result := service.Gdyb2208(psnNo, mdtrtId, setlId, org_name, doctor) c.ServeSuccessJSON(map[string]interface{}{ "pre": result, }) } //func (c *GdybController) PostTen() { // fixmedins_type := c.GetString("fixmedins_type") // //fixmedins_type := c.GetString("org_name") // // result := service.Gdyb1201(fixmedins_type) // c.ServeSuccessJSON(map[string]interface{}{ // "pre": result, // }) //}