IRaCIS.Core.API 主要处理 前端404等错误 全局业务异常已统一处理了,非业务错误会来到这里 医生基本信息 、工作信息 专业信息、审核状态 医生基本信息 、工作信息 专业信息、审核状态 获取医生详情 回调到前端,前端调用后端的接口 参考链接:https://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html 后端通过这个code ,带上客户端信息,和授权类型 可以向单点登录提供商,获取厂商token 但是单点登录提供商提供的token 和我们系统的token 是有区别的,我们的token里面有我们业务系统的UserId,涉及到很多业务操作,所以在此出现了两种方案 1、前端使用厂商的Token。 后端通过code 获取厂商的Token 返回前端的同时返回我们系统的UserId,前段在http 请求头加上一个自定义参数,带上UserId 后端取用户Id的地方变动下, 但是除了UserId外,后端还有其他信息也是从Token取的,所以在请求头也需要带上,此外后端认证Token的方式也需要变化,改造成本稍大(如果是微服务,做这种处理还是可以的)。 2、前端还是使用我们后台自己的Token。后端通过code 获取厂商Token的同时,后端做一个隐藏登录,返回厂商的Token的同时,也返回我们系统的Token。 (像我们单体,这种方式最简单,我们用单点登录,无非就是不想记多个系统的密码,自动登录而已,其他不支持的项目改造成本也是最低的) 回调的厂商类型 比如github, google, 我们用的logto ,不同的厂商回调到前端的地址可以不同的,但是请求后端的接口可以是同一个 在第三方平台登录成功后,回调前端的时候会返回一个code 添加实验项目-返回新增Id[AUTH] 新记录Id 添加实验项目-返回新增Id[AUTH] 新记录Id 添加或更新工作量[AUTH] 添加或更新汇率(会触发没有对锁定的费用计算) 添加或更新 职称单价[AUTH] 添加或更新(替换)医生支付展信息[AUTH] 保存(替换)项目支付价格信息(会触发没有被锁定的费用计算)[AUTH] 批量更新奖励费用[AUTH] 计算医生月度费用,并将计算的结果存入费用表 Financials /Monthly Payment 列表查询接口 获取稽查数据 提交肿瘤学阅片任务 提交Diocm阅片 提交全局阅片任务 项目阅片信息签名 医学审核完成 确认项目医学审核问题 提交阅片问题 CRC签名临床数据 CRC确认临床数据 CRC撤销临床数据 PM确认临床数据 PM签名一致性分析临床数据 提交结构化录入并签名 提交阅片裁判问题 配置 基础逻辑信息并确认 配置流程并确认 配置加急信息并确认 签名确认 重置并同步项目阅片标准 CRC RequestToQC 批量提交 设置QC 通过或者不通过 7:QC failed 8:QC passed 一致性核查 回退 对话记录不清除 只允许PM回退 影像阅片临床数据签名 CRC 设置已经重传完成 更新项目状态 用户 签名某个文档 重阅同意 流式上传 直接返回 流式上传 通用封装 不返回任何数据,后续还有事情处理 流式上传 Dicom上传 Dicom 归档 非dicom 上传预上传接口 上传非Dicom 文件 支持压缩包 多文件上传 一致性核查 excel上传 支持三种格式 通用文件下载 上传通用文档 比如一致性核查的 比如导出的excel 模板 1:数据上传 2:导出、 3:邮件附件 4:邮件Html 通过 ----new IPLimit限流 启动服务 序列化,反序列化的时候,处理时间 时区转换 序列化,反序列化的时候,处理时间 时区转换 LowerCamelCaseJsonAttribute 可以设置类小写返回给前端 对称可逆加密 用户登录成功以后,用来生成Token的方法 非对称可逆加密 从本地文件中读取用来签发 Token 的 RSA Key 存放密钥的文件夹路径 生成并保存 RSA 公钥与私钥