package service import ( "bytes" "encoding/json" "fmt" "gdyb/models" "io/ioutil" "math/rand" "net/http" "time" _ "unsafe" ) func SzybMZ002(doctor string, doctor_code string, fixmedins_code string, dept_code string, account string, verify_code string, serial_number string, mz_number string, version_code string, custom_code string, project_name string, price float64) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "MZ002" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["aaz500"] = account inputData["bzz269"] = "000000" inputData["aka130"] = "11" inputData["akf001"] = dept_code inputData["akc264"] = price inputData["bke384"] = inputMessage["serialNumber"] switch custom_code { case "110100002": inputData["bkc368"] = "1" break case "110200002-2": inputData["bkc368"] = "3" break case "110200002-3": inputData["bkc368"] = "2" break case "110200003": break case "110200002-1": inputData["bkc368"] = "5" break } if custom_code == "0" { inputData["bkc368"] = "4" inputData["listsize"] = 0 inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } else { inputData["listsize"] = 1 timestamp := time.Now().Unix() tempTime := time.Unix(timestamp, 0) timeFormat := tempTime.Format("20060102150405") feedetail := make([]map[string]interface{}, 0) feedetailInfo := make(map[string]interface{}) feedetailInfo["aae072"] = timeFormat feedetailInfo["bkf500"] = timeFormat feedetailInfo["ake001"] = custom_code feedetailInfo["ake005"] = custom_code feedetailInfo["ake006"] = project_name feedetailInfo["aae019"] = price feedetail = append(feedetail, feedetailInfo) inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } } func SzybFY001(doctor string, doctor_code string, fixmedins_code string, datas []*models.CustomDetail, verify_code string, serial_number string, mz_number string, version_code string, drug_doctor_code string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "FY001" // 交易编码 inputMessage["transChannel"] = "10" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["bke384"] = serial_number inputData["listsize"] = len(datas) feedetail := make([]map[string]interface{}, 0) for _, item := range datas { feedetailInfo := make(map[string]interface{}) feedetailInfo["aae072"] = item.PrescriptionNumber feedetailInfo["bkc369"] = item.OrderType feedetailInfo["bkf500"] = item.ChargeSerialNumber feedetailInfo["ake001"] = item.Code feedetailInfo["ake002"] = item.CodeName feedetailInfo["bkm017"] = item.Code feedetailInfo["aka070"] = item.DoseCode feedetailInfo["aka074"] = item.Spec feedetailInfo["aka064"] = 1 feedetailInfo["ake005"] = item.Code feedetailInfo["ake006"] = item.CodeName feedetailInfo["akc225"] = item.Price feedetailInfo["akc226"] = item.Count feedetailInfo["akc264"] = item.Total feedetailInfo["aka067"] = "元" feedetailInfo["akc271"] = item.ChargeOrderDate feedetailInfo["bkc320"] = drug_doctor_code feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData fmt.Println(inputMessage) bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybFY002(doctor string, doctor_code string, fixmedins_code string, datas []*models.CustomDetail, verify_code string, serial_number string, mz_number string, version_code string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "FY002" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["bke384"] = serial_number inputData["listsize"] = len(datas) feedetail := make([]map[string]interface{}, 0) for _, item := range datas { feedetailInfo := make(map[string]interface{}) feedetailInfo["aae072"] = item.PrescriptionNumber feedetailInfo["bkf500"] = item.ChargeSerialNumber feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybFY004(doctor string, doctor_code string, fixmedins_code string, total float64, verify_code string, serial_number string, mz_number string, version_code string, drug_doctor_code string, drug_doctor_name string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "FY004" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["aka130"] = "11" inputData["bkc320"] = drug_doctor_code inputData["ckc350"] = drug_doctor_name inputData["aka030"] = "12" inputData["akc264"] = total inputData["ckc601"] = "0" inputData["bke384"] = serial_number inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybFY005(doctor string, doctor_code string, fixmedins_code string, total float64, account string, verify_code string, serial_number string, mz_number string, version_code string, drug_doctor string, drug_doctor_name string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "FY005" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["aaz500"] = account inputData["bzz269"] = "000000" inputData["akc190"] = mz_number inputData["aka130"] = "11" inputData["bkc320"] = drug_doctor inputData["ckc350"] = drug_doctor_name inputData["aka030"] = "12" inputData["akc264"] = total inputData["ckc601"] = "0" inputData["bke384"] = serial_number inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybJY001(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, version_code string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, setl_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "JY001" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["bke384"] = setl_number inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybJY002(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, new_setl_number string, version_code string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, new_setl_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "JY002" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["bke384"] = setl_number inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybJY003(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, version_code string) string { // 生成输入报文 inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, setl_number) inputData := make(map[string]interface{}) inputMessage["transType"] = "JY003" // 交易编码 inputMessage["transVersion"] = version_code // 交易编码 inputData["akc190"] = mz_number inputData["bke384"] = setl_number inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } // 生成基础报文 func SetSZInputMessage(doctor string, doctor_code string, fixmedins_code string, verify_code string, number string) map[string]interface{} { month := time.Unix(1557042972, 0).Format("1") year := time.Now().Format("2006") month = time.Now().Format("01") day := time.Now().Format("02") hour := time.Now().Format("15") min := time.Now().Format("04") sec := time.Now().Format("05") msec := time.Now().Format("000") // 生成输入报文 inputMessage := make(map[string]interface{}) // inputMessage["cardArea"] = "440300" // 发卡地行政区划代码 inputMessage["extendDeviceId"] = "" inputMessage["extendSerialNumber"] = "" inputMessage["extendUserId"] = "" inputMessage["hospitalCode"] = fixmedins_code // 协议机构编码 inputMessage["operatorCode"] = doctor_code // 操作员编码 inputMessage["operatorName"] = doctor // 操作员名字 inputMessage["operatorPass"] = "" // 定点协议机构操作人员编码 inputMessage["serialNumber"] = number inputMessage["transReturnCode"] = "" // inputMessage["transReturnMessage"] = "" // inputMessage["transTime"] = year + month + day + hour + min + sec + ":" + msec // inputMessage["verifyCode"] = verify_code // inputMessage["transChannel"] = "10" // return inputMessage } func msToTime(ms int64) string { tm := time.Unix(0, ms*int64(time.Millisecond)) return tm.Format("2006-02-01 15:04:05.000") } func SzybML008(doctor string, doctor_code string, fixmedins_code string, datas []*models.DrugDetail) string { //生成输入报文 inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code) inputData := make(map[string]interface{}) inputMessage["transType"] = "JY003" // 交易编码 inputData["listsize"] = len(datas) inputMessage["transType"] = "ML008" // 交易编码 feedetail := make([]map[string]interface{}, 0) //inputData["akc190"] = mz_number //inputData["bke384"] = setl_number for _, item := range datas { fmt.Println("中国222222", item.DrugDosageName) feedetailInfo := make(map[string]interface{}) feedetailInfo["ake001"] = item.MedicalInsuranceNumber feedetailInfo["bkm017"] = item.Code feedetailInfo["ake005"] = "110100002" feedetailInfo["ake006"] = item.DrugName feedetailInfo["aka074"] = item.DrugSpec feedetailInfo["aka070"] = item.DrugDosageName //feedetailInfo["aka070"] = "片" feedetailInfo["aka067"] = item.MinUnit feedetailInfo["bka053"] = item.ManufacturerName feedetailInfo["aka064"] = "1" feedetailInfo["bka505"] = item.LastPrice feedetailInfo["bka506"] = item.RetailPrice feedetailInfo["aae030"] = 20210406 feedetailInfo["aae013"] = item.LimitRemark feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } // 生成基础报文 func SetSZDrugMessage(doctor string, doctor_code string, fixmedins_code string) map[string]interface{} { month := time.Unix(1557042972, 0).Format("1") year := time.Now().Format("2006") month = time.Now().Format("01") day := time.Now().Format("02") hour := time.Now().Format("15") min := time.Now().Format("04") sec := time.Now().Format("05") msec := time.Now().Format("000") //生成输入报文 inputMessage := make(map[string]interface{}) // inputMessage["cardArea"] = "440300" // 发卡地行政区划代码 inputMessage["extendDeviceId"] = "" inputMessage["extendSerialNumber"] = "" inputMessage["extendUserId"] = "" inputMessage["hospitalCode"] = "G5540" // 协议机构编码 inputMessage["operatorCode"] = doctor_code // 操作员编码 inputMessage["operatorName"] = doctor // 操作员名字 inputMessage["operatorPass"] = "" // 定点协议机构操作人员编码 //inputMessage["serialNumber"] = "G5540" + year + month + day + // fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) // 定点协议机构编码(5位)+日期(8位)+流水号(7位) inputMessage["serialNumber"] = "G554020210406" + fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) // 定点协议机构编码(5位)+日期(8位)+流水号(7位) inputMessage["verifyCode"] = "000000|8ec5b7745a5cc45b631f23b4bf1e417e" inputMessage["transReturnCode"] = "" // inputMessage["transReturnMessage"] = "" // inputMessage["transTime"] = year + month + day + hour + min + sec + ":" + msec // inputMessage["transVersion"] = "V0.3" // // inputMessage["transChannel"] = "10" // return inputMessage } func SzybML009(doctor string, doctor_code string, fixmedins_code string, datas []*models.DrugDetail) string { //生成输入报文 inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code) inputData := make(map[string]interface{}) inputData["listsize"] = len(datas) inputMessage["transType"] = "ML009" // 交易编码 feedetail := make([]map[string]interface{}, 0) for _, item := range datas { feedetailInfo := make(map[string]interface{}) feedetailInfo["ake001"] = item.MedicalInsuranceNumber //社保目录编码 feedetailInfo["ake005"] = "110100002" //协议机构内部目录编码 feedetailInfo["ake006"] = item.DrugName // 协议机构内部目录名称 feedetailInfo["bkf131"] = "4" //协议机构项目类别 feedetailInfo["bkm062"] = "0" // 门诊特检项目标识 feedetailInfo["bka506"] = item.RetailPrice // 协议机构内部项目收费价格 feedetailInfo["aae030"] = 20210407 // 备案日期 feedetailInfo["aae013"] = item.LimitRemark // 备注 feedetail = append(feedetail, feedetailInfo) } fmt.Println("feeedDetal2333333333", feedetail) inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybML010(doctor string, doctor_code string, fixmedins_code string, datas []*models.DrugDetail) string { //生成输入报文 inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code) inputData := make(map[string]interface{}) inputData["listsize"] = len(datas) inputMessage["transType"] = "ML010" // 交易编码 feedetail := make([]map[string]interface{}, 0) for _, item := range datas { feedetailInfo := make(map[string]interface{}) feedetailInfo["ake003"] = "1" feedetailInfo["ake001"] = item.MedicalInsuranceNumber //社保目录编码 feedetailInfo["ake005"] = "110100002" //协议机构内部目录编码 feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybYS001(doctor string, doctor_code string, fixmedins_code string, datas []*models.DocDetail) string { //生成输入报文 inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code) inputData := make(map[string]interface{}) inputData["listsize"] = len(datas) inputMessage["transType"] = "ML010" // 交易编码 feedetail := make([]map[string]interface{}, 0) for _, item := range datas { feedetailInfo := make(map[string]interface{}) feedetailInfo["aac003"] = item.UserName feedetailInfo["bka633"] = item.RoleId feedetailInfo["aac004"] = item.Sex feedetailInfo["aac058"] = item.CardType feedetailInfo["aac147"] = item.IdCard feedetailInfo["aae005"] = item.Phone feedetailInfo["bkc322"] = item.WorkMajorName feedetailInfo["aac005"] = item.Nation feedetailInfo["aac006"] = item.BirthDay feedetailInfo["aac007"] = item.WorkTime feedetailInfo["aac011"] = item.Education feedetailInfo["aac183"] = item.StudyMajorName feedetailInfo["bkc323"] = item.CertificateCode feedetailInfo["bke955"] = item.MedicalCode feedetailInfo["akc055"] = item.MedicalRangeCode feedetailInfo["bcc950"] = item.MedicalLevel feedetailInfo["bcc955"] = item.TypeJob feedetailInfo["bka503"] = item.DoctorNumber feedetailInfo["bkc324"] = item.Licensing feedetailInfo["bkc326"] = item.DoctorServiceStatus feedetailInfo["bkc328"] = item.MonitoringLevel feedetailInfo["bkc329"] = item.DrugPsychotropicSubstances feedetailInfo["bke801"] = item.HealthCareCode feedetailInfo["bkc330"] = item.PlanningTechnicalServiceCode feedetailInfo["bkc332"] = item.PharmacistType feedetailInfo["bkc333"] = item.PharmacistPracticeCategory feedetailInfo["bkc334"] = item.PharmacistsLicensing feedetailInfo["bkc335"] = item.PharmacistRegistrationNumber feedetailInfo["akf001"] = item.OfficeCode feedetailInfo["acc501"] = item.JobNumber feedetailInfo["ahc451"] = item.PostName feedetailInfo["aaf009"] = item.TechnicalJobLevelCode feedetailInfo["bkc321"] = item.IsActive feedetailInfo["ckc302"] = item.PrescriptionQualificationIdentification feedetailInfo["bkc325"] = item.IdentificationOutpatients feedetailInfo["ckc304"] = item.OutpatientIllnessCategory feedetailInfo["aae030"] = item.StartTime feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybYS002(doctor string, doctor_code string, fixmedins_code string, datas []*models.DocDetail) string { //生成输入报文 inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code) inputData := make(map[string]interface{}) inputData["listsize"] = len(datas) inputMessage["transType"] = "ML010" // 交易编码 feedetail := make([]map[string]interface{}, 0) for _, item := range datas { fmt.Println("item2222", item) feedetailInfo := make(map[string]interface{}) feedetailInfo["bkc320"] = 1111 feedetailInfo["bke155"] = "" feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func SzybYS003(doctor string, doctor_code string, fixmedins_code string, datas []*models.DocDetail) string { //生成输入报文 inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code) inputData := make(map[string]interface{}) inputData["listsize"] = len(datas) inputMessage["transType"] = "ML010" // 交易编码 feedetail := make([]map[string]interface{}, 0) for _, item := range datas { feedetailInfo := make(map[string]interface{}) feedetailInfo["bkc320"] = "" feedetailInfo["aac003"] = item.UserName feedetailInfo["bka633"] = item.RoleId feedetailInfo["aac004"] = item.Sex feedetailInfo["aac058"] = item.CardType feedetailInfo["aac147"] = item.IdCard feedetailInfo["aae005"] = item.Phone feedetailInfo["bkc322"] = item.WorkMajorName feedetailInfo["aac005"] = item.Nation feedetailInfo["aac006"] = item.BirthDay feedetailInfo["aac007"] = item.WorkTime feedetailInfo["aac011"] = item.Education feedetailInfo["aac183"] = item.StudyMajorName feedetailInfo["bkc323"] = item.CertificateCode feedetailInfo["bke955"] = item.MedicalCode feedetailInfo["akc055"] = item.MedicalRangeCode feedetailInfo["bcc950"] = item.MedicalLevel feedetailInfo["bcc955"] = item.TypeJob feedetailInfo["bka503"] = item.DoctorNumber feedetailInfo["bkc324"] = item.Licensing feedetailInfo["bkc326"] = item.DoctorServiceStatus feedetailInfo["bkc328"] = item.MonitoringLevel feedetailInfo["bkc329"] = item.DrugPsychotropicSubstances feedetailInfo["bke801"] = item.HealthCareCode feedetailInfo["bkc330"] = item.PlanningTechnicalServiceCode feedetailInfo["bkc332"] = item.PharmacistType feedetailInfo["bkc333"] = item.PharmacistPracticeCategory feedetailInfo["bkc334"] = item.PharmacistsLicensing feedetailInfo["bkc335"] = item.PharmacistRegistrationNumber feedetailInfo["akf001"] = item.OfficeCode feedetailInfo["acc501"] = item.JobNumber feedetailInfo["ahc451"] = item.PostName feedetailInfo["aaf009"] = item.TechnicalJobLevelCode feedetailInfo["bkc321"] = item.IsActive feedetailInfo["ckc302"] = item.PrescriptionQualificationIdentification feedetailInfo["bkc325"] = item.IdentificationOutpatients feedetailInfo["ckc304"] = item.OutpatientIllnessCategory feedetailInfo["aae030"] = item.StartTime feedetailInfo["aae031"] = item.EndTime feedetail = append(feedetail, feedetailInfo) } inputData["inputlist"] = feedetail inputMessage["transBody"] = inputData bytesData, err := json.Marshal(inputMessage) fmt.Println(string(bytesData)) if err != nil { fmt.Println(err.Error()) return err.Error() } reader := bytes.NewReader(bytesData) //url := "http://192.168.1.99:10000" url := "http://192.168.1.228:17001/szsi-portal/transData" request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) return err.Error() } request.Header.Set("Content-Type", "application/json;charset=UTF-8") client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) return err.Error() } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) return err.Error() } fmt.Println(string(respBytes)) str := string(respBytes) return str } func GetDoseCode(dose_id int64, user_org_id int64) (error, string) { var data models.DictDataconfig err := readDb.Model(&models.DictDataconfig{}).Where(" (org_id = ? Or org_id = 0) AND parent_id = 4 AND module = 'system' AND status = 1 AND value = ?", user_org_id, dose_id).First(&data).Error return err, data.Code } func UpdataOrderStatusSZ(id int64, number string, user_org_id int64, his_mz_number string, his_number string) (err error) { err = writeDb.Model(&models.HisOrder{}).Where("status = 1 AND id = ? AND user_org_id = ?", id, user_org_id).Updates(map[string]interface{}{"order_status": 3, "mtime": time.Now().Unix(), "status": 0}).Error err = writeDb.Model(&models.HisPrescription{}).Where("status = 1 AND batch_number = ? AND user_org_id = ?", number, user_org_id).Updates(map[string]interface{}{"order_status": 1, "mtime": time.Now().Unix()}).Error err = writeDb.Model(&models.HisPrescriptionInfo{}).Where("status = 1 AND batch_number = ? AND user_org_id = ?", number, user_org_id).Updates(map[string]interface{}{"prescription_status": 1, "mtime": time.Now().Unix()}).Error err = writeDb.Model(&models.HisPatient{}).Where("status = 1 AND user_org_id = ? AND mz_number = ? AND number = ?", user_org_id, his_mz_number, his_number).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error return } func UpdataOrderlog(id int64, user_org_id int64, refund_log string) (err error) { err = writeDb.Model(&models.HisOrder{}).Where("status = 1 AND id = ? AND user_org_id = ?", id, user_org_id).Updates(map[string]interface{}{"order_status": 3, "mtime": time.Now().Unix(), "status": 0, "refund_log": refund_log}).Error return }