Commit b6053eb1 authored by haoyanbin's avatar haoyanbin

Config

parent 207abb6e
package mobile
import (
"gin-vue-admin/global"
"gin-vue-admin/model"
"gin-vue-admin/model/request"
"gin-vue-admin/model/response"
"gin-vue-admin/service"
"gin-vue-admin/utils"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
// @Router /ai/aiUploadToCos [post]
func InterpretationInfo(c *gin.Context) {
var req request.InterpretationInfoReq
_ = c.ShouldBindJSON(&req)
if req.Id == "" || req.Id == "0" {
response.FailWithMessage("数据有误,请重新生成二维码", c)
}
var err error
token := utils.NewLogin()
reply := utils.InterpretationInfo(&req, token)
//用户调用api日志
apiLog := model.ApiLog{
UserId: getUserID(c),
Status: reply.Code,
Api: "/api/v1/dcm-interpretation-manager/",
Req: string(utils.SerializeJson(req)),
Reply: string(utils.SerializeJson(reply.Data)),
}
service.CreateApiLog(apiLog)
if reply.Code != 200 {
global.GVA_LOG.Error("失败!", zap.Any("err", err))
response.FailWithMessage("失败", c)
} else {
response.OkWithData(reply.Data, c)
}
return
}
package mobile
import (
"gin-vue-admin/global"
"gin-vue-admin/model/request"
"gin-vue-admin/model/response"
"gin-vue-admin/service"
"gin-vue-admin/utils"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
// @Tags ReportComment
// @Summary 查询书列表
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.GetReadBooks true "查询书列表"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /read/getReadBooks [get]
func GetReadBooks(c *gin.Context) {
if err, readBooks := service.GetReadBooks(); err != nil {
global.GVA_LOG.Error("查询失败!", zap.Any("err", err))
response.FailWithMessage("查询失败", c)
} else {
response.OkWithData(gin.H{"readBooks": readBooks}, c)
}
return
}
// @Tags ReportComment
// @Summary 用bookId查询书目录
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.GetReadCatalog true "查询书目录"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /read/getReadCatalog [post]
func GetReadCatalog(c *gin.Context) {
var req request.GetReadCatalog
_ = c.ShouldBindJSON(&req)
if err, catalogs := service.GetReadCatalog(req.Id); err != nil {
global.GVA_LOG.Error("查询失败!", zap.Any("err", err))
response.FailWithMessage("查询失败", c)
} else {
reply := utils.GetBookCatalogs(catalogs, 0)
response.OkWithData(gin.H{"catalogs": reply}, c)
}
return
}
// @Tags ReportComment
// @Summary 用cataId查询文章
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.GetReadBooks true "查询文章"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /read/getReadBooks [post]
func GetReadContent(c *gin.Context) {
var req request.GetReadContent
_ = c.ShouldBindJSON(&req)
if err, content := service.GetReadContent(req.Id); err != nil {
global.GVA_LOG.Error("查询失败!", zap.Any("err", err))
response.FailWithMessage("查询失败", c)
} else {
response.OkWithData(content, c)
}
return
}
// @Tags ReportComment
// @Summary 查询用户浏览历史
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.GetReadHistoryReq true "查询浏览历史"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /read/getReadHistory [post]
func GetReadHistory(c *gin.Context) {
var req request.GetReadHistoryReq
_ = c.ShouldBindJSON(&req)
if err, content := service.GetReadHistory(req); err != nil {
global.GVA_LOG.Error("查询失败!", zap.Any("err", err))
response.FailWithMessage("查询失败", c)
} else {
response.OkWithData(content, c)
}
return
}
// @Tags ReportComment
// @Summary 新增浏览记录
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.CreateReadHistory true "新增浏览记录"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"新增成功"}"
// @Router /read/addReadHistory [post]
func AddReadHistory(c *gin.Context) {
var req request.CreateReadHistory
_ = c.ShouldBindJSON(&req)
service.CreateReadHistory(req)
response.OkWithMessage("创建成功", c)
}
// @Tags ReportComment
// @Summary 更新浏览记录
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.CreateReadHistory true "更新浏览记录"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
// @Router /read/updateReadHistory [post]
func UpdateReadHistory(c *gin.Context) {
var req request.CreateReadHistory
_ = c.ShouldBindJSON(&req)
service.UpdateReadHistory(req)
response.OkWithMessage("更新成功", c)
}
......@@ -399,30 +399,6 @@ func UserAutheInfo(c *gin.Context) {
reply.UserId = int(userId)
reply.PointsNum = userData.PointsNum
//谛宝多多认证信息
//dbddAuthUrl := ""
//dbddAuthReq := ""
//dbddAuthData := utils.Post(dbddAuthUrl, dbddAuthReq, "")
//
//dbddAuthReply := new(interface{})
//utils.UnserislizeJson(dbddAuthData, dbddAuthReply)
//
//reply.DbddAuth = dbddAuthReply
//im专家信息
imUrl := global.GVA_CONFIG.Im.Host + "/expert/getUserInfoByMobile"
imExpertReq := request.ImExpertReq{
Phone: userData.Mobile,
}
imExpertData := utils.Post(imUrl, imExpertReq, "", 1)
if imExpertData != "" {
imExpertReply := new(request.ImExpertReply)
utils.UnserislizeJson(imExpertData, imExpertReply)
reply.ImExpert = imExpertReply.Data
}
response.OkWithData(gin.H{"reply": reply}, c)
return
}
......
......@@ -55,11 +55,6 @@ mysql:
db-name: dt_analysis
username: root_shop
password: DBC_shopqwe
# path: rm-2zenl1z0v6209a4jrbo.mysql.rds.aliyuncs.com
# config: charset=utf8mb4&parseTime=True&loc=Local
# db-name: dbc_medical_record
# username: root_medical
# password: dbc_medical888888!
max-idle-conns: 0
max-open-conns: 0
log-mode: false
......@@ -117,51 +112,11 @@ zap:
stacktrace-key: stacktrace
log-in-console: true
# https://tmall.pet-dbc.cn
dcyp:
# host: "http://127.0.0.1:8080"
host: "http://39.97.234.228:4040"
dbys:
host: "http://39.97.234.228:8081"
ai:
# host: "https://ai.pet-dbc.cn"
host: "http://39.105.63.250:3391"
hostnew: "http://39.105.63.250:8899"
hostfrac: "http://39.105.63.250:8888"
token: "eyJhbGciOiJIUzUxMiIsImlhdCI6MTY1ODEzMDc3MywiZXhwIjoxNjYwNzIyNzczfQ.eyJ1c2VybmFtZSI6ImFkbWluX3hpdW1pbmcifQ.PguJYgqslyN1IdK7NEvoNuJFZxbIJDFa9W2OibWubL5bwp2wUZNmyty-V5g0W6v2OkyjZ1YC0sFRZZOJ46kWrA"
new:
# host: "http://127.0.0.1:8000/api"
host: "https://timage.pet-dbc.cn/api"
phone: "17710551101"
password: "123456"
im:
host: "http://39.96.85.45:11002"
search:
host: "http://39.96.85.45:11004"
# host: "http://39.107.139.233:11004"
# host: "http://127.0.0.1:11004"
encrypt:
key: "75SIQyfvwHDU0GbO"
outside:
# https://healthy.tk.cn/apply/reviewInformation
taikang-host: "http://ecuat.tk.cn/ccs_regist/apply/reviewInformation"
taikang-img: "http://ecuat.tk.cn/ccs_regist/image/downLoadPetImageByUrl"
common:
type: "2"
#e签宝配置
eqb:
project-id: "4438758767"
project-secret: "cc7fb6e1278990edf87f3e4f0f9c3a51"
api-host: "https://smlo.tsign.cn/opentreaty-service/"
auth-api-host: "http://smlrealname.tsign.cn:8080/"
access-token-url: "https://smlopenapi.esign.cn/v1/oauth2/access_token"
sign-flows-url: "https://smlopenapi.esign.cn/v1/signflows/"
organ-auth-url: "http://smlrealname.tsign.cn:8080/realname/rest/external/organ/orgAuth"
info-auth-url: "http://smlrealname.tsign.cn:8080/realname/rest/external/organ/infoAuth-special"
sms:
smsname: "dbc"
smspwd: "Dbc38590"
......@@ -186,15 +141,6 @@ pay:
pay-call-back: "https://tmedical.pet-dbc.cn/vip/callBack"
unified-order: "https://tpay.pet-dbc.cn/v1/pay/unified_order"
# doctor pay
doctor_pay:
url: "https://tmedical.pet-dbc.cn/v1/pay/purchase_notice"
lis_ocr:
url: "https://open.pet-dbc.cn/ocr"
doctor_db:
account: "dbc_saas:dbc_saas888888@tcp(rm-2zepcf8kag0aol0q48o.mysql.rds.aliyuncs.com:3306)/hos_database?charset=utf8"
common: "dbc_saas:dbc_saas888888@tcp(rm-2zepcf8kag0aol0q48o.mysql.rds.aliyuncs.com:3306)/saas_common?charset=utf8"
ipaddr:
url: "https://ipaddquery.market.alicloudapi.com/ip/address-query"
appkey: "203818254"
......
package config
type Ai struct {
Host string `mapstructure:"host" json:"host" yaml:"host"` // 存储区域
Hostnew string `mapstructure:"hostnew" json:"hostnew" yaml:"hostnew"` // 存储区域
Hostfrac string `mapstructure:"hostfrac" json:"hostfrac" yaml:"hostfrac"` // 存储区域
Token string `mapstructure:"token" json:"token" yaml:"token"` // 存储区域
}
......@@ -21,22 +21,11 @@ type Server struct {
TencentCOS TencentCOS `mapstructure:"tencent-cos" json:"tencentCOS" yaml:"tencent-cos"`
Excel Excel `mapstructure:"excel" json:"excel" yaml:"excel"`
Timer Timer `mapstructure:"timer" json:"timer" yaml:"timer"`
Dcyp Dcyp `mapstructure:"dcyp" json:"dcyp" yaml:"dcyp"`
Dbys Dbys `mapstructure:"dbys" json:"dbys" yaml:"dbys"`
Ai Ai `mapstructure:"ai" json:"ai" yaml:"ai"`
New New `mapstructure:"new" json:"new" yaml:"new"`
Im Im `mapstructure:"im" json:"im" yaml:"im"`
Search Search `mapstructure:"search" json:"search" yaml:"search"`
Outside Outside `mapstructure:"outside" json:"outside" yaml:"outside"`
Common Common `mapstructure:"common" json:"common" yaml:"common"`
Encrypt Encrypt `mapstructure:"encrypt" json:"encrypt" yaml:"encrypt"`
Eqb Eqb `mapstructure:"eqb" json:"eqb" yaml:"eqb"`
Sms Sms `mapstructure:"sms" json:"sms" yaml:"sms"`
Wx Wx `mapstructure:"wx" json:"wx" yaml:"wx"`
Bkwx Bkwx `mapstructure:"bkwx" json:"bkwx" yaml:"bkwx"`
Pay Pay `mapstructure:"pay" json:"pay" yaml:"pay"`
DoctorPay DoctorPay `mapstructure:"doctor_pay" json:"doctor_pay" yaml:"doctor_pay"`
LisOcr LisOcr `mapstructure:"lis_ocr" json:"lis_ocr" yaml:"lis_ocr"`
DoctorDb DoctorDb `mapstructure:"doctor_db" json:"doctor_db" yaml:"doctor_db"`
Ipaddr Ipaddr `mapstructure:"ipaddr" json:"ipaddr" yaml:"ipaddr"`
}
package config
type Dbys struct {
Host string `mapstructure:"host" json:"host" yaml:"host"` // 存储区域
}
package config
type Dcyp struct {
Host string `mapstructure:"host" json:"host" yaml:"host"` // 存储区域
}
package config
type DoctorPay struct {
Url string `mapstructure:"url" json:"url" yaml:"url"`
}
type LisOcr struct {
Url string `mapstructure:"url" json:"url" yaml:"url"`
}
type DoctorDb struct {
Account string `mapstructure:"account" json:"account" yaml:"account"`
Common string `mapstructure:"common" json:"common" yaml:"common"`
}
package config
type Eqb struct {
ProjectId string `mapstructure:"project-id" json:"projectId" yaml:"project-id"`
ProjectSecret string `mapstructure:"project-secret" json:"projectSecret" yaml:"project-secret"`
ApiHost string `mapstructure:"api-host" json:"apiHost" yaml:"api-host"`
AuthApiHost string `mapstructure:"auth-api-host" json:"authApiHost" yaml:"auth-api-host"`
AccessTokenUrl string `mapstructure:"access-token-url" json:"accessTokenUrl" yaml:"access-token-url"`
SignFlowsUrl string `mapstructure:"sign-flows-url" json:"signFlowsUrl" yaml:"sign-flows-url"`
OrganAuthUrl string `mapstructure:"organ-auth-url" json:"organAuthUrl" yaml:"organ-auth-url"`
InfoAuthUrl string `mapstructure:"info-auth-url" json:"infoAuthUrl" yaml:"info-auth-url"`
}
package config
type Im struct {
Host string `mapstructure:"host" json:"host" yaml:"host"` // 存储区域
}
package config
type New struct {
Host string `mapstructure:"host" json:"host" yaml:"host"` // 存储区域
Phone string `mapstructure:"phone" json:"phone" yaml:"phone"` // 存储区域
Password string `mapstructure:"password" json:"password" yaml:"password"` // 存储区域
}
package config
type Outside struct {
TaikangHost string `mapstructure:"taikang-host" json:"taikang-host" yaml:"taikang-host"` // 存储区域
TaikangImg string `mapstructure:"taikang-img" json:"taikang-img" yaml:"taikang-img"` // 存储区域
}
package config
type Search struct {
Host string `mapstructure:"host" json:"host" yaml:"host"` // 存储区域
}
......@@ -38,7 +38,6 @@ func Routers() *gin.Engine {
{
//router.InitBaseRouter(PublicGroup) // 注册基础功能路由 不做鉴权
router.InitMobileUserPublicRouter(PublicGroup)
router.InitNewPublicRouter(PublicGroup)
router.InitVipPublicRouter(PublicGroup)
router.InitPointsPublicRouter(PublicGroup)
router.InitCommonPublicRouter(PublicGroup)
......@@ -85,9 +84,8 @@ func Routers() *gin.Engine {
AdminPrivateGroup := Router.Group("")
AdminPrivateGroup.Use(middleware.JWTAuth())
{
router.InitAdminUserPrivateRouter(AdminPrivateGroup) // 用户
router.InitAdminVipPrivateRouter(AdminPrivateGroup) // vip
router.InitReadBooksRouter(AdminPrivateGroup) // 电子书路由
router.InitAdminUserPrivateRouter(AdminPrivateGroup) // 用户
router.InitAdminVipPrivateRouter(AdminPrivateGroup) // vip
}
global.GVA_LOG.Info("router register success")
return Router
......
package router
import (
"gin-vue-admin/api/mobile"
"gin-vue-admin/middleware"
"github.com/gin-gonic/gin"
)
func InitNewPublicRouter(Router *gin.RouterGroup) {
DataMedCommentRouter := Router.Group("new").Use(middleware.OperationRecord())
{
DataMedCommentRouter.POST("interpretationInfo", mobile.InterpretationInfo)
}
}
package router
import (
"gin-vue-admin/api/mobile"
v1 "gin-vue-admin/api/v1"
"gin-vue-admin/middleware"
"github.com/gin-gonic/gin"
)
func InitMobileBooksRouter(Router *gin.RouterGroup) {
DataMedicialRercordRouter := Router.Group("read").Use(middleware.OperationRecord())
{
DataMedicialRercordRouter.GET("getReadBooks", mobile.GetReadBooks)
DataMedicialRercordRouter.POST("getReadCatalog", mobile.GetReadCatalog)
DataMedicialRercordRouter.POST("getReadContent", mobile.GetReadContent)
DataMedicialRercordRouter.POST("getReadHistory", mobile.GetReadHistory)
DataMedicialRercordRouter.POST("addReadHistory", mobile.AddReadHistory)
DataMedicialRercordRouter.POST("updateReadHistory", mobile.UpdateReadHistory)
}
}
func InitReadBooksRouter(Router *gin.RouterGroup) {
DataMedicialRercordRouter := Router.Group("read").Use(middleware.OperationRecord())
{
DataMedicialRercordRouter.POST("createReadCatalog", v1.CreateReadCatalog)
DataMedicialRercordRouter.POST("createReadContent", v1.CreateReadContent)
DataMedicialRercordRouter.POST("updateCatalog", v1.UpdateCatalog)
DataMedicialRercordRouter.POST("updateReadContent", v1.UpdateReadContent)
DataMedicialRercordRouter.POST("deleteReadCatalog", v1.DeleteReadCatalog)
DataMedicialRercordRouter.POST("deleteReadContent", v1.DeleteReadContent)
DataMedicialRercordRouter.POST("getReadContentList", v1.GetReadContentList)
DataMedicialRercordRouter.POST("getReadContents", v1.GetReadContent)
DataMedicialRercordRouter.POST("getCatalogList", v1.GetCatalogList)
}
}
package utils
import (
"bytes"
"encoding/json"
"fmt"
"gin-vue-admin/global"
"io/ioutil"
"net/http"
"time"
)
var ProjectId = global.GVA_CONFIG.Eqb.ProjectId
var ProjectSecret = global.GVA_CONFIG.Eqb.ProjectSecret
var GetUploadurl = global.GVA_CONFIG.Eqb.ApiHost + "file/uploadurl" //获取文件直传地址
var AddPersonUrl = "account/create/person" //创建个人账户地址
var SavePersonUrl = global.GVA_CONFIG.Eqb.ApiHost + "account/person/update" //更新个人账号地址
var AddOrganizeUrl = global.GVA_CONFIG.Eqb.ApiHost + "account/create/organize/common" //创建企业账户地址
var SaveOrganizeUrl = global.GVA_CONFIG.Eqb.ApiHost + "ccount/organize/update" //更新企业账户地址
var SilentSignUrl = global.GVA_CONFIG.Eqb.ApiHost + "account/platform/silentsign" //设置静默签署授权地址
var RevokeSilentsignUrl = global.GVA_CONFIG.Eqb.ApiHost + "account/platform/revokeSilentsign" //撤回静默签署
var AddcontractUrl = global.GVA_CONFIG.Eqb.ApiHost + "doc/createbyfilekey" //本地文件创建合同地址
var CreatebyfilekeyUrl = global.GVA_CONFIG.Eqb.ApiHost + "template/createbyfilekey" //创建模板地址
var CreatebytemplateUrl = global.GVA_CONFIG.Eqb.ApiHost + "doc/createbytemplate" //合同模板创建合同地址
var AddProcessUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/contract/addProcess" //创建合同签署流程
var UserSignTaskUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/contract/userSignTask" //发起用户自动签署
var UserSignTasksUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/contracts/platformSignTask" //多文档发起用户自动签署
var PlatformSignTaskUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/contract/platformSignTask" //发起对接平台自动签署
var FlowGetViewUrl = global.GVA_CONFIG.Eqb.ApiHost + "flow/get/viewurl" //获取签署任务查看地址
var ArchiveProcessUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/contract/archiveProcess" //归档流程地址
var DetailUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/contract/detail" //查看地址
var DownloadUrl = global.GVA_CONFIG.Eqb.ApiHost + "sign/download" //签署文件下载地址
var OrgAuthUrl = global.GVA_CONFIG.Eqb.AuthApiHost + "realname/rest/external/organ/orgAuth" //企业验证地址
var InfoAuthUrl = global.GVA_CONFIG.Eqb.AuthApiHost + "realname/rest/external/organ/infoAuth-special" //个体验证地址
var AccessUrl = global.GVA_CONFIG.Eqb.AccessTokenUrl + "?appId=" + global.GVA_CONFIG.Eqb.ProjectId + "&secret=" + global.GVA_CONFIG.Eqb.ProjectSecret + "&grantType=client_credentials"
//创建个人账户
func CreateAccountPerson(req *CreateAccountPersonReq) *CreateAccountPersonReply {
resp := EqbPost(global.GVA_CONFIG.Eqb.ApiHost+AddPersonUrl, req)
reply := new(CreateAccountPersonReply)
UnserislizeJson(resp, reply)
return reply
}
//信息校验
func RequestOrganiza(data RequestOrganizaReq, Status int) {
infoAuth := ""
if Status == 1 {
infoAuth = OrgAuthUrl
} else {
infoAuth = InfoAuthUrl
}
if data.Name != "" && data.LegalName != "" && data.LegalIdno != "" {
resp := EqbAuthPost(infoAuth, data)
reply := new(interface{})
UnserislizeJson(resp, reply)
return
}
}
// 发送POST请求
// url: 请求地址
// data: POST请求提交的数据
// contentType: 请求体格式,如:application/json
// content: 请求放回的内容
func EqbPost(url string, data interface{}) string {
// 超时时间:10秒
client := &http.Client{Timeout: 10 * time.Second}
jsonStr, _ := json.Marshal(data)
fmt.Println(string(jsonStr))
reqest, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
reqest.Header.Add("X-Tsign-Open-App-Id", global.GVA_CONFIG.Eqb.ProjectId)
reqest.Header.Add("X-Tsign-Open-App-Secret", global.GVA_CONFIG.Eqb.ProjectSecret)
reqest.Header.Add("Content-Type", "application/json")
if err != nil {
panic(err)
}
resp, _ := client.Do(reqest)
defer resp.Body.Close()
result, _ := ioutil.ReadAll(resp.Body)
sqlStr := "UPDATE api_log SET reply=? WHERE id=?"
global.GVA_DB.Exec(sqlStr, string(result), 1)
return string(result)
}
// 发送POST请求
// url: 请求地址
// data: POST请求提交的数据
// contentType: 请求体格式,如:application/json
// content: 请求放回的内容
func EqbAuthPost(url string, data interface{}) string {
// 超时时间:10秒
client := &http.Client{Timeout: 10 * time.Second}
jsonStr, _ := json.Marshal(data)
fmt.Println(string(jsonStr))
signature := ComputeHmacSha256(string(jsonStr), ProjectSecret)
reqest, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
reqest.Header.Add("X-timevale-mode", "package")
reqest.Header.Add("X-timevale-project-id", ProjectId)
reqest.Header.Add("X-timevale-signature", signature)
reqest.Header.Add("X-timevale-signature-algorithm", "hmac-sha256")
reqest.Header.Add("Content-Type", "application/json")
if err != nil {
panic(err)
}
resp, _ := client.Do(reqest)
defer resp.Body.Close()
result, _ := ioutil.ReadAll(resp.Body)
return string(result)
}
package utils
import (
"gin-vue-admin/global"
"gin-vue-admin/model/request"
)
// 发送url
func NewLogin() string {
url := global.GVA_CONFIG.New.Host + "/v1/login"
data := new(request.NewLoginReq)
data.Phone = global.GVA_CONFIG.New.Phone
data.Password = global.GVA_CONFIG.New.Password
resp := Post(url, data, "", 1)
reply := new(request.NewLoginReply)
UnserislizeJson(resp, reply)
return reply.Token
}
// 发送url
func InterpretationInfo(data *request.InterpretationInfoReq, token string) *request.InterpretationInfoReply {
url := global.GVA_CONFIG.New.Host + "/v1/dcm-interpretation-manager/" + data.Id
postData := make(map[string]string)
resp, _ := Get(url, postData, token, 2)
reply := new(request.InterpretationInfoReply)
UnserislizeJson(resp, reply)
return reply
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment