package archives import ( "fmt" "github.com/guonaihong/gout" "gogs.uu.mdfitnesscao.com/Algor/sdk" "gogs.uu.mdfitnesscao.com/Algor/sdk/response" "gogs.uu.mdfitnesscao.com/Algor/sdk/utils" ) // 获取档案详细资料 func Detail(id string, mechanismId string, staffId string) (*sdk.BaseResponse[sdk.DetailResponse[*sdk.Archives]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.DetailResponse[*sdk.Archives]] resp, err := postReq[*sdk.BaseResponse[sdk.DetailResponse[*sdk.Archives]]]("/archivesService/openapi/archives/detail", gout.H{ "archivesId": id, "mechanismId": mechanismId, "staffId": staffId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 触发档案的报告分析 func TriggerArchivesMedicalReport(id string) (*sdk.BaseResponse[map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]any] resp, err := postReq[*sdk.BaseResponse[map[string]any]]("/archivesService/openapi/archives/medicalReportTrigger", gout.H{ "archivesId": id, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取档案的指定数据 func GetArchivesValues(archivesId string, valueIds []string) (*sdk.BaseResponse[*sdk.ListResponse[*sdk.ArchivesValues]], *response.ErrCode) { var resp *sdk.BaseResponse[*sdk.ListResponse[*sdk.ArchivesValues]] // 将结构体转换为map resp, err := postReq[*sdk.BaseResponse[*sdk.ListResponse[*sdk.ArchivesValues]]]("/archivesService/openapi/archives/values/query", gout.H{ "archivesId": archivesId, "ids": valueIds, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取档案的指定数据 func GetArchivesValuesByArchivesIds(archivesIds []string, valueIds []string) (*sdk.BaseResponse[*sdk.ListResponse[*sdk.ArchivesValues]], *response.ErrCode) { var resp *sdk.BaseResponse[*sdk.ListResponse[*sdk.ArchivesValues]] // 将结构体转换为map resp, err := postReq[*sdk.BaseResponse[*sdk.ListResponse[*sdk.ArchivesValues]]]("/archivesService/openapi/archives/values/query/multi", gout.H{ "archivesIds": archivesIds, "ids": valueIds, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取档案的指定数据 func UpdateArchivesValues(archivesId string, answers []*sdk.ArchivesValues) (*sdk.BaseResponse[map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]any] // 将结构体转换为map resp, err := postReq[*sdk.BaseResponse[map[string]any]]("/archivesService/openapi/archives/values/update", gout.H{ "archivesId": archivesId, "answers": answers, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 创建档案 func Create(archivesForm *sdk.Archives) (*sdk.BaseResponse[map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]any] // 将结构体转换为map resp, err := postReq[*sdk.BaseResponse[map[string]any]]("/archivesService/openapi/archives/create", utils.StructToGoutH(archivesForm)) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 创建档案 func CreateOrFindByAccount(archivesForm *sdk.Archives, attachForm *sdk.ArchivesAttachForm, account *sdk.Account) (*sdk.BaseResponse[map[string]string], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]string] // 将结构体转换为map resp, err := postReq[*sdk.BaseResponse[map[string]string]]("/archivesService/openapi/archives/createOrFindByAccount", gout.H{ "archivesForm": utils.StructToGoutH(archivesForm), "attachForm": utils.StructToGoutH(attachForm), "account": utils.StructToGoutH(account), }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 通过档案编号列表获取档案列表 func ListArchivesById(ids []string, mechanismId string, staffId string, isDensenstize int64) (*sdk.BaseResponse[sdk.ListResponse[*sdk.Archives]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[*sdk.Archives]] resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[*sdk.Archives]]]("/archivesService/openapi/archives/listById", gout.H{ "archivesIds": ids, "mechanismId": mechanismId, "staffId": staffId, "isDensenstize": isDensenstize, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 通过档案编号列表获取档案列表 func ListArchivesIds(queryData *sdk.ArchivesPaginateQuery, mechanismId string, staffId string) (*sdk.BaseResponse[sdk.ListResponse[string]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[string]] var queryStruct = utils.StructToGoutH(queryData) queryStruct["mechanismId"] = mechanismId queryStruct["staffId"] = staffId resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[string]]]("/archivesService/openapi/archives/list/id", queryStruct) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 通过档案编号列表获取档案列表 func PaginateArchives(queryData *sdk.ArchivesPaginateQuery, mechanismId string, staffId string) (*sdk.BaseResponse[sdk.PaginateTotalSumResponse[*sdk.Archives]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.PaginateTotalSumResponse[*sdk.Archives]] var queryStruct = utils.StructToGoutH(queryData) queryStruct["mechanismId"] = mechanismId queryStruct["staffId"] = staffId resp, err := postReq[*sdk.BaseResponse[sdk.PaginateTotalSumResponse[*sdk.Archives]]]("/archivesService/openapi/archives/paginate", queryStruct) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取某个日期有更新的档案列表 func ListUpdatedArchivesByDate(date string) (*sdk.BaseResponse[sdk.ListResponse[*sdk.Archives]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[*sdk.Archives]] resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[*sdk.Archives]]]("/archivesService/openapi/archives/updatedListByDate", gout.H{ "date": date, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取某个日期有更新的档案列表 func ListUpdatedArchivesDataByDate(date string, archivesId string) (*sdk.BaseResponse[sdk.ListResponse[*sdk.ArchivesValues]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[*sdk.ArchivesValues]] resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[*sdk.ArchivesValues]]]("/archivesService/openapi/archives/data/updatedListByDate", gout.H{ "date": date, "archivesId": archivesId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 检查档案是否属于同一个家庭 func CheckIsArchivesFamily(archivesIds []string) (*sdk.BaseResponse[map[string]bool], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]bool] resp, err := postReq[*sdk.BaseResponse[map[string]bool]]("/archivesService/openapi/archives/checkFamily", gout.H{ "archivesIds": archivesIds, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 检查档案是否属于同一个家庭 func GetValidArchivesIdsForMechanism(archivesIds []string, mechanismId string) (*sdk.BaseResponse[sdk.ListResponse[string]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[string]] resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[string]]]("/archivesService/openapi/archives/getValidArchivesIdsForMechanism", gout.H{ "archivesIds": archivesIds, "mechanismId": mechanismId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 检查档案是否属于同一个家庭 func ListChannelByIds(channelIds []int64, mechanismId string) (*sdk.BaseResponse[sdk.ListResponse[*sdk.Channel]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[*sdk.Channel]] resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[*sdk.Channel]]]("/archivesService/openapi/channel/listByIds", gout.H{ "ids": channelIds, "mechanismId": mechanismId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 检查档案是否属于同一个家庭 func GetAgencyInfoByAppKey(appKey string) (*sdk.BaseResponse[sdk.DetailResponse[*sdk.AgencyDeveloperSettingForm]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.DetailResponse[*sdk.AgencyDeveloperSettingForm]] resp, err := postReq[*sdk.BaseResponse[sdk.DetailResponse[*sdk.AgencyDeveloperSettingForm]]]("/archivesService/openapi/agency/developerInfo", gout.H{ "appKey": appKey, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 检查档案是否属于同一个家庭 func GetAgencyInfoByAgencyId(agencyId int64) (*sdk.BaseResponse[sdk.DetailResponse[*sdk.AgencyDeveloperSettingForm]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.DetailResponse[*sdk.AgencyDeveloperSettingForm]] resp, err := postReq[*sdk.BaseResponse[sdk.DetailResponse[*sdk.AgencyDeveloperSettingForm]]]("/archivesService/openapi/agency/developerInfoById", gout.H{ "agencyId": agencyId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 将多个档案加入某个机构下的渠道部门中 func PushArchivesToDepartment(archivesIds []string, departmentId int64, mechanismId string) (*sdk.BaseResponse[map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]any] resp, err := postReq[*sdk.BaseResponse[map[string]any]]("/archivesService/openapi/department/pushArchives", gout.H{ "archivesIds": archivesIds, "departmentId": departmentId, "mechanismId": mechanismId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 将多个档案加入某个机构下的渠道部门中 func SendSubscribeMessage(mechanismId string, archivesId string, templateId string, data map[string]any, page string, state string) (*sdk.BaseResponse[map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[map[string]any] resp, err := postReq[*sdk.BaseResponse[map[string]any]]("/archivesService/openapi/subscribeMessage/send", gout.H{ "mechanismId": mechanismId, "archivesId": archivesId, "templateId": templateId, "data": data, "page": page, "state": state, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp == nil { return nil, response.ErrPlatform } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // postReq 发送post请求 func postReq[T any](path string, data gout.H) (T, error) { var res T fmt.Println(sdk.GetConfig()) // 检查配置 if sdk.GetConfig().ApiDomain == "" { return res, fmt.Errorf("请先配置API域名") } url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path) fmt.Println("请求地址 ===>", url) err := gout.POST(url).Debug(sdk.GetConfig().AppDebug). SetHeader(gout.H{}). SetJSON(data). BindJSON(&res). Do() if err != nil { fmt.Println("请求失败: ", err) return res, err } return res, nil }