package enums import "IC/utils" const ( // ErrorCode // 登录注册错误 6000+ ErrorCodeLoginTimeout = 6001 ErrorCodeNotLogin = 6002 ErrorCodePermissionDenied = 6003 ErrorCodeMobileRegistered = 6004 ErrorCodePasswordEmpty = 6005 ErrorCodeVerificationCodeWrong = 6006 ErrorCodeRegisterFail = 6007 ErrorCodeInvalidToken = 6008 ErrorCodeAccountOrPasswordWrong = 6009 ErrorCodeMissingOrg = 6010 ErrorCodeMissingOrgApp = 6011 ErrorCodeAccountOrVerCodeWrong = 6012 ErrorCodeMobileNotExit = 6013 ErrorCodeUserNotExist = 6014 ErrorCodeUserWasForbidden = 6015 ErrorCodeNeverCreateTypeApp = 6016 ErrorCodeContactSuperAdminCreateTypeApp = 6017 // 数据验证错误 7000+ ErrorCodeMobileFormat = 7001 ErrorCodeTelphoneFormat = 7002 ErrorCodeParamWrong = 7003 ErrorCodeParamFormatWrong = 7004 // 数据库操作错误 8000+ ErrorCodeDBCreate = 8001 ErrorCodeDBUpdate = 8002 ErrorCodeDBDelete = 8003 ErrorCodeDBSelectNoResult = 8004 ErrorCodeDataException = 8005 // 业务逻辑操作错误 9000+ ErrorCodeRoleNotExist = 9001 ErrorCodeAdminUserNotExist = 9002 ErrorCodeMobileDidUsedInApp = 9003 ErrorCodeMissingUserName = 9004 ErrorCodeOldPasswordWrong = 9005 ErrorCodeCannotRemoveRole = 9006 ErrorCodeRoleMobileIsSuperAdmin = 9007 ErrorCodeGetQiniuUpToken = 1001 ErrorCodeCreatePatient = 1002 ErrorCodeDialysisNoExist = 1003 ErrorCodeIdCardNoExist = 1004 ErrorCodePatientNoExist = 1005 ErrorCodeUpdatePatient = 1006 ErrorCodeDialysisSolutionExist = 1007 ErrorCodeDialysisSolutionCreate = 1008 ErrorCodeDialysisSolutionUpdate = 1009 ErrorCodeDialysisSolutionNotExist = 1010 ErrorCodeParentDialysisSolutionNotExist = 1011 ErrorCodeAlReadyHadChildSolution = 1012 ErrorCodeCanntCreateChildChildSolution = 1013 ErrorCodeDialysisSolutionUsed = 1014 ErrorCodeCreateDryWeightFail = 1015 ErrorCodeCreateDoctorAdviceFail = 1016 ErrorCodeDoctorAdviceNotExist = 1017 ErrorCodeUpdateDoctorAdviceFail = 1018 ErrorCodeLongTimeAdviceNotCanntEdit = 1019 ErrorCodeAdviceStoped = 1020 ErrorCodeParentAdviceNotExist = 1021 ErrorCodeStopAdviceFail = 1022 ErrorCodeDeleteAdviceFail = 1023 ErrorCodeDialysisSolutionDelete = 1024 ErrorCodeDeviceNumberNotTheZone = 1025 ErrorCodeCreateScheduleFail = 1026 ErrorCodeCantSetScheduleAgainOneDay = 1027 ErrorCodeCantSetScheduleBeforeNow = 1028 ErrorCodeScheduleNotExist = 1029 ErrorCodeDeleteScheduleFail = 1030 ErrorCodeChangeScheduleFail = 1031 ErrorCodePatientPhoneUsed = 1032 ErrorCodeAdviceExced = 1033 ErrorCodeAdviceChecked = 1034 ErrorCodePointScheduleExist = 1035 ErrorCodeExceAndCheckNotOneUser = 1036 ErrorCodeCanotEditOtherAdvice = 1037 ErrorCodeEditLapsetoFail = 1038 ErrorCodeAdviceCheckBeforeExce = 1039 ErrorCodeAdviceExceBeforeStart = 1040 ErrorCodeDelScheduleFailByDialysis = 1041 ErrorCodeNotSelectLapsetoType = 1042 ErrorCodeNotSelectLapsetoTime = 1043 ErrorCodeInspectionDateExit = 1201 ErrorCodeInspectionAddFail = 1202 ErrorCodeInspectionEditFail = 1204 ErrorCodeInspectionDateNotExit = 1203 ErrorCodeInspectionDeleteFail = 1205 ErrorCodeMonitorCreate = 1128 ErrorCodeMonitorNotExist = 1129 ErrorCodeMonitorUpdate = 1130 ErrorDialysisOrderNoStart = 1132 ErrorDialysisOrderNoEND = 1133 ErrorDialysisOrderRepeatStart = 1134 ErrorDialysisOrderRepeatBed = 1136 ErrorCodeDialysisPermissionDeniedModify = 1135 ErrorCodeNotSubscibe = 4003 ErrorCodeServeNotExist = 4004 ErrorCodeInvoiceExist = 4005 ErrorCodeApplyInvoiceFail = 4006 ErrorCodeHetongHad = 4007 ErrorCodeCreateHetongFail = 4008 ErrorCodePatientReachLimit = 4009 ErrorCodeDeviceZoneNotExist = 9021 ErrorCodeDeviceZoneNameRepeat = 9022 ErrorCodeDeviceGroupNotExist = 9023 ErrorCodeDeviceGroupNameRepeat = 9024 ErrorCodeDeviceNumberNotExist = 9025 ErrorCodeDeviceNumberRepeat = 9026 ErrorCodeDeviceNotExist = 9027 ErrorCodeDeviceZoneCannotDisable = 9028 ErrorCodeDeviceNumberCannotDisableCuzDevice = 9029 ErrorCodeDeviceNumberCannotDisableCuzSchedule = 9030 ErrorCodeDeviceNumberCannotDisableCuzSchTemplate = 9031 ErrorCommitFail = 90000 ErrorCodeCreateStockInFail = 20001 ErrorCodeScheduleTemplateNotExist = 10001 ErrorCodeSystemError = 6666 ErrorCodeProductError = 6667 ErrorCodeFieldExist = 100001 ErrorCodeCreateConfig = 100002 ErrorCodeUpdateConfig = 100003 ErrorCodeDoubleCheckWrong = 200003 ErrorCodeDoubleCheckUserWrong = 200004 ErrorCodeGoodNoStockInError = 200005 ErrorCodeCancelStockFail = 200006 ErrorCodeDeleteGoodTypeFail = 200007 ErrorCodeDeleteGoodInfoFail = 200008 ErrorCodeDeleteFail = 200009 ErrorCodeKeyFail = 200010 ErrorCodeDeleteStockInRecordFail = 200011 ErrorCodeNameWrong = 200012 ErrorCodeParamEmptyWrong = 200013 ErrorCodeParamAdviceEmptyWrong = 200014 ErrorCodeParamTemplateNOEXISTWrong = 200015 ErrorCodeDeleteDealerWrong = 200016 ErrorCodeDeleteManufacturerWrong = 200017 ErrorCodeGoodTypeNameExistError = 200018 ErrorCodeGoodInfoNameExistError = 200019 ErrorCodePrescriptionPermissionDeniedModify = 200020 ErrorCodeAdvicePermissionDeniedModify = 200021 ErrorCodePrescriptionException = 200022 ErrorCodeNotDocking = 200023 ErrorCodeAdviceTypeWrong = 200024 ErrorCodeCreateAdvice = 200025 ErrorCodePatientDialysisOrder = 20026 ErrorSchedualcRepeatBed = 20027 ErrorCodeChangeMode = 20028 ErrorCodeChangeDeviceNumber = 20029 ErrorCodeHisIdExist = 20030 ErrorCodePreExist = 20031 ) var ErrCodeMsgs = map[int]string{ // 登录注册错误 ErrorCodeLoginTimeout: "登录超时", ErrorCodeNotLogin: "未登录", ErrorCodePermissionDenied: "权限不足", ErrorCodeMobileRegistered: "手机号已被注册", ErrorCodePasswordEmpty: "密码为空", ErrorCodeVerificationCodeWrong: "验证码错误", ErrorCodeRegisterFail: "注册失败", ErrorCodeInvalidToken: "令牌无效", ErrorCodeAccountOrPasswordWrong: "账号或密码错误", ErrorCodeMissingOrg: "未创建机构", ErrorCodeMissingOrgApp: "未创建任何应用", ErrorCodeAccountOrVerCodeWrong: "账号或验证码错误", ErrorCodeMobileNotExit: "手机号不存在", ErrorCodeUserNotExist: "用户不存在", ErrorCodeUserWasForbidden: "该用户被禁用", ErrorCodeNeverCreateTypeApp: "未创建此种应用", ErrorCodeContactSuperAdminCreateTypeApp: "请联系超级管理员开通此种应用", // 数据验证错误 ErrorCodeMobileFormat: "手机号格式错误", ErrorCodeTelphoneFormat: "电话格式错误", ErrorCodeParamWrong: "参数错误", ErrorCodeParamFormatWrong: "参数格式错误", // 数据库操作错误 ErrorCodeDBCreate: "数据库创建出错", ErrorCodeDBUpdate: "数据库更新出错", ErrorCodeDBDelete: "数据库删除出错", ErrorCodeDBSelectNoResult: "查询无结果", ErrorCodeDataException: "数据异常", // 业务逻辑操作错误 ErrorCodeRoleNotExist: "角色不存在", ErrorCodeAdminUserNotExist: "管理员不存在", ErrorCodeMobileDidUsedInApp: "该手机号已在该应用中被注册为管理员", ErrorCodeMissingUserName: "缺少用户名", ErrorCodeOldPasswordWrong: "原密码不正确", ErrorCodeCannotRemoveRole: "该角色下存在用户,不能删除该角色", ErrorCodeRoleMobileIsSuperAdmin: "该手机号已注册为超级管理员", ErrorCodeGetQiniuUpToken: "获取七牛uptoken失败", ErrorCodeCreatePatient: "创建患者失败", ErrorCodeDialysisNoExist: "患者透析号重复!", ErrorCodeIdCardNoExist: "身份证号重复!", ErrorCodePatientNoExist: "患者信息不存在!", ErrorCodeUpdatePatient: "修改患者信息失败", ErrorCodeDialysisSolutionExist: "该处方已经存在", ErrorCodeDialysisSolutionCreate: "创建处方失败", ErrorCodeDialysisSolutionUpdate: "修改处方失败", ErrorCodeDialysisSolutionNotExist: "该处方不存在", ErrorCodeParentDialysisSolutionNotExist: "上级处方不存在", ErrorCodeAlReadyHadChildSolution: "所选处方已经存在子方案", ErrorCodeCanntCreateChildChildSolution: "子方案不能添加子方案", ErrorCodeDialysisSolutionUsed: "处方已被使用,不能删除", ErrorCodeCreateDryWeightFail: "添加干体重失败", ErrorCodeCreateDoctorAdviceFail: "添加医嘱失败", ErrorCodeUpdateDoctorAdviceFail: "修改医嘱信息失败", ErrorCodeDoctorAdviceNotExist: "医嘱不存在", ErrorCodeLongTimeAdviceNotCanntEdit: "长期医嘱不能修改!", ErrorCodeAdviceStoped: "所选医嘱已停止", ErrorCodeParentAdviceNotExist: "上级医嘱不存在", ErrorCodeDeleteAdviceFail: "删除医嘱失败", ErrorCodeStopAdviceFail: "停止医嘱失败", ErrorCodeDialysisSolutionDelete: "删除方案失败", ErrorCodeDeviceNumberNotTheZone: "所选机号不在选择分区中", ErrorCodeCreateScheduleFail: "添加排班失败", ErrorCodeCantSetScheduleAgainOneDay: "同一天不可有两次排班", ErrorCodeCantSetScheduleBeforeNow: "不能给今天之前的日期排班", ErrorCodeScheduleNotExist: "排班不存在", ErrorCodePointScheduleExist: "所先位置排班已经存在", ErrorCodeDeleteScheduleFail: "取消排班失败", ErrorCodeChangeScheduleFail: "修改排班失败", ErrorCodePatientPhoneUsed: "手机号已经存在", ErrorCodeAdviceExced: "医嘱已经执行", ErrorCodeAdviceCheckBeforeExce: "核对医嘱不能在执行医嘱之前", ErrorCodeAdviceExceBeforeStart: "执行医嘱不能在开始之前", ErrorCodeAdviceChecked: "医嘱已经核对", ErrorCodeExceAndCheckNotOneUser: "核对与执行不能是同一人", ErrorCodeCanotEditOtherAdvice: "不能修改非本人添加的医嘱", ErrorCodeEditLapsetoFail: "转归失败", ErrorCodeDelScheduleFailByDialysis: "已经上机透析,不能取消排班", ErrorCodeNotSelectLapsetoType: "请选择转归状态", ErrorCodeNotSelectLapsetoTime: "请选择转归时间", ErrorCodeInspectionDateExit: "当天已经存在检验检查记录", ErrorCodeInspectionAddFail: "添加记录失败", ErrorCodeInspectionDateNotExit: "当天不存在检验检查记录", ErrorCodeInspectionEditFail: "修改记录失败", ErrorCodeInspectionDeleteFail: "删除记录失败", ErrorCodeDeviceZoneNotExist: "设备分区不存在", ErrorCodeDeviceZoneNameRepeat: "该分区名已存在", ErrorCodeDeviceGroupNotExist: "设备分组不存在", ErrorCodeDeviceGroupNameRepeat: "该分组名已存在", ErrorCodeDeviceNumberNotExist: "机号不存在", ErrorCodeDeviceNumberRepeat: "该机号已存在", ErrorCodeDeviceNotExist: "该设备不存在", ErrorCodeDeviceZoneCannotDisable: "该分区存在床位号,不能删除", ErrorCodeDeviceNumberCannotDisableCuzDevice: "该床位存在设备,不能删除", ErrorCodeDeviceNumberCannotDisableCuzSchedule: "该床位尚有排班安排,不能删除", ErrorCodeDeviceNumberCannotDisableCuzSchTemplate: "排班模板在该床位尚有排班安排,不能删除", ErrorCodeNotSubscibe: "没有订阅服务或服务已过期,请先购买服务!", ErrorCodeServeNotExist: "服务订单不存在!", ErrorCodeInvoiceExist: "已经申请了发票!", ErrorCodeApplyInvoiceFail: "申请发票失败!", ErrorCodeHetongHad: "合同已经存在!", ErrorCodeCreateHetongFail: "合同创建失败", ErrorCodePatientReachLimit: "患者数已达到当前服务版本病人数,需要升级到更高的版本", ErrorCodeMonitorCreate: "创建监测失败", ErrorCodeMonitorNotExist: "监测记录不存在", ErrorCodeMonitorUpdate: "修改监测失败", ErrorCodeDialysisPermissionDeniedModify: "您没有权限修改其他医护的数据!", ErrorDialysisOrderNoStart: "尚未上机,无法执行下机操作", ErrorDialysisOrderNoEND: "已处于下机状态", ErrorDialysisOrderRepeatStart: "已上机", ErrorDialysisOrderRepeatBed: "该床位已有患者上机,请选择其他床位", //ErrorCodeScheduleTemplateNotExist: "排班模板不存在", ErrorCodeSystemError: "系统异常", ErrorCodeProductError: "该服务商品已丢失", ErrorCodeScheduleTemplateNotExist: "排班模板不存在", ErrorCodeCreateStockInFail: "入库失败", //ErrorCodeSystemError: "系统异常", //ErrorCodeProductError: "该服务商品已丢失", ErrorCodeFieldExist: "配置字段已存在", ErrorCodeCreateConfig: "创建配置失败", ErrorCodeUpdateConfig: "修改配置失败", ErrorCommitFail: "提交失败", ErrorCodeDoubleCheckWrong: "核对已完成, 无法再次提交", ErrorCodeDoubleCheckUserWrong: "你已完成核对,不能重复核对", ErrorCodeGoodNoStockInError: "该商品尚未入库", ErrorCodeCancelStockFail: "出库退库失败", ErrorCodeDeleteGoodTypeFail: "该类型存在商品信息,无法删除", ErrorCodeDeleteGoodInfoFail: "该商品已经入库无法删除", ErrorCodeDeleteFail: "删除失败", ErrorCodeKeyFail: "关键字不能为空", ErrorCodeDeleteStockInRecordFail: "该记录已经有出库或退货操作,无法删除", ErrorCodeNameWrong: "该模版名字已存在", ErrorCodeParamEmptyWrong: "模版名称不能为空", ErrorCodeParamAdviceEmptyWrong: "医嘱名称不能为空", ErrorCodeDeleteDealerWrong: "该经销商所属商品已入库无法删除", ErrorCodeDeleteManufacturerWrong: "该厂商所属商品已入库无法删除", ErrorCodeGoodTypeNameExistError: "该商品类型名字已存在", ErrorCodeGoodInfoNameExistError: "该规格名称名字已存在", ErrorCodePrescriptionPermissionDeniedModify: "您没有权限修改透析处方数据", ErrorCodeAdvicePermissionDeniedModify: "您没有权限添加医嘱", ErrorCodePrescriptionException: "上机失败,请先开处方", ErrorCodeNotDocking: "该地区尚未对接", ErrorCodeAdviceTypeWrong: "请选择医嘱模版类型", ErrorCodeCreateAdvice: "你没有权限开医嘱", ErrorCodePatientDialysisOrder: "该病人已经上机,无法临时排班", ErrorSchedualcRepeatBed: "该床位已经有人排班,无法临时排班", ErrorCodeChangeMode: "该患者今天已上机治疗,请在透析记录中进行调整透析模式", ErrorCodeChangeDeviceNumber: "该患者今天已上机治疗,请在透析记录中进行调整机号", ErrorCodeHisIdExist: "该his_id已被占用,请重新输入", ErrorCodePreExist: "没有该权限", } type SGJError struct { Code int } func (e *SGJError) Error() string { value, ok := ErrCodeMsgs[e.Code] if ok { return value } else { return "未知错误" } } func MakeSuccessResponseJSON(data map[string]interface{}) map[string]interface{} { json := make(map[string]interface{}) if data != nil { json["data"] = data } else { json["data"] = make(map[string]interface{}) } json["state"] = 1 json["code"] = 0 return json } func MakeFailResponseJSON(errMsg string, errCode int) map[string]interface{} { json := make(map[string]interface{}) json["msg"] = errMsg json["code"] = errCode json["state"] = 0 return json } func MakeFailResponseJSONWithSGJError(err *SGJError) map[string]interface{} { if err == nil { utils.WarningLog("MakeFailResponseJSONWithSGJError 参数err 不能为空") return nil } return MakeFailResponseJSON(err.Error(), err.Code) } func MakeFailResponseJSONWithSGJErrorCode(code int) map[string]interface{} { err := &SGJError{Code: code} return MakeFailResponseJSON(err.Error(), err.Code) }