package cn.iocoder.yudao.module.basic.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * Infra 错误码枚举类
 *
 * infra 系统，使用 1-001-000-000 段
 */
public interface ErrorCodeConstants {
    // 模块 system 错误码区间 [1-000-001-000]
    // 模块 basic 错误码区间 [1-010-000-000]
    // 模块 configure 错误码区间 [1-011-000-000]
    // 模块 flow 错误码区间 [1-012-000-000]
    // 模块 product 错误码区间 [1-013-000-000]
    // 模块 identity 错误码区间 [1-014-000-000]

    // ========== basic服务 1010001000  001商户信息模块 ==========
    ErrorCode BUSINESS_INFO_NOT_EXISTS = new ErrorCode(1010001000, "商户不存在");
    ErrorCode BUSINESS_INFO_IS_EXISTS_BUSINESS_NAME = new ErrorCode(1010001001, "商户名称已存在");
    ErrorCode BUSINESS_INFO_FAIL_CREATE = new ErrorCode(1010001002, "商户创建失败");
    ErrorCode BUSINESS_INFO_FAIL_UPDATE = new ErrorCode(1010001003, "商户更新失败");
    ErrorCode BUSINESS_INFO_FAIL_DEL = new ErrorCode(1010001004, "商户删除失败");
    ErrorCode BUSINESS_RULE_INIT_FAIL_CREATE = new ErrorCode(1010001005, "商户初始创建码规则失败");
    ErrorCode BUSINESS_INFO_FAIL_DEL_IS_VERIFYED = new ErrorCode(1010001006, "商户已认证无法删除");
    // ========== basic服务 1010001000  002供应商信息模块 ==========
    ErrorCode VENDOR_INFO_NOT_EXISTS = new ErrorCode(1010002000, "供应商不存在");
    ErrorCode VENDOR_INFO_IS_EXISTS_VENDOR_NAME = new ErrorCode(1010002001, "供应商名称已存在");
    ErrorCode VENDOR_INFO_FAIL_CREATE = new ErrorCode(1010002002, "供应商创建失败");
    ErrorCode VENDOR_INFO_FAIL_UPDATE = new ErrorCode(1010002003, "供应商更新失败");
    ErrorCode VENDOR_INFO_FAIL_DEL = new ErrorCode(1010002004, "供应商删除失败");
    ErrorCode VENDOR_INFO_FAIL_DEL_BELONG_INPUTS_BUY_EXISTS  = new ErrorCode(1010002005, "供应商存在关联投入品采购无法删除");
    // ========== basic服务 1010001000  003经销商信息模块 ==========
    ErrorCode DEALER_INFO_NOT_EXISTS = new ErrorCode(1010003000, "经销商不存在");
    ErrorCode DEALER_INFO_IS_EXISTS_DEALER_NAME = new ErrorCode(1010003001, "经销商名称已存在");
    ErrorCode DEALER_GOODS_NOT_EXISTS = new ErrorCode(1010003002, "经销商商品不存在");
    ErrorCode DEALER_GOODS_SQL_FAIL_CREATE = new ErrorCode(1010003003, "创建经销商及所属商品失败");
    ErrorCode DEALER_GOODS_SQL_FAIL_UPDATE = new ErrorCode(1010003004, "更新经销商及所属商品失败");
    ErrorCode DEALER_GOODS_SQL_FAIL_DELETE = new ErrorCode(1010003005, "删除经销商及所属商品失败");
    ErrorCode DEALER_GOODS_FAIL_DELETE_BELONG_OUTBOUND_EXISTS = new ErrorCode(1010003006, "经销商存在关联出库单无法删除");
    ErrorCode SAME_DEALER_GOODS_EXISTS_IN_THE_AREA = new ErrorCode(1010003007, "同一地区存在相同商品");
    // ========== basic服务 1010001000  004员工信息模块 ==========
    ErrorCode WORKERS_INFO_NOT_EXISTS = new ErrorCode(1010004000, "员工不存在");
    ErrorCode WORKERS_INFO_IS_EXISTS_WORKERS_CODE = new ErrorCode(1010004001, "员工编码已存在");
    ErrorCode WORKERS_INFO_FAIL_DELETE_BELONG_LAND_JOB_EXISTS = new ErrorCode(1010004002, "员工存在关联种植/养殖/畜牧作业无法删除");
    ErrorCode WORKERS_INFO_ALREADY_EXIST = new ErrorCode(1010004003, "员工手机号已重复");
    ErrorCode WORKERS_HAS_BIND_OPENID = new ErrorCode(1010004004, "该员工已绑定过微信");
    ErrorCode THIS_OPENID_HAS_BE_USED = new ErrorCode(1010004005, "该微信已绑定过员工");
    ErrorCode FILE_UPLOAD_FAIL = new ErrorCode(1010004006, "文件上传失败");
    // ========== basic服务 1010002000  005商品信息模块 ==========
    ErrorCode GOODS_INFO_NOT_EXISTS = new ErrorCode(1010005000, "商品不存在");
    ErrorCode GOODS_INPUT_RELATIONAL_NOT_EXISTS = new ErrorCode(1010005001, "商品关联不存在");// 一般用不到
    ErrorCode GOODS_ENCODING_INFO_NOT_EXISTS = new ErrorCode(1010005002, "商品编码不存在");
    ErrorCode GOODS_INFO_FAIL_CREATE  = new ErrorCode(1010005003, "商品创建失败");
    ErrorCode GOODS_INFO_FAIL_UPDATE  = new ErrorCode(1010005004, "商品更新失败");
    ErrorCode GOODS_INFO_FAIL_DEL  = new ErrorCode(1010005005, "商品删除失败");
    ErrorCode GOODS_INFO_FAIL_DEL_BELONG_HARVEST_BATCH_EXISTS = new ErrorCode(1010005006, "商品存在关联采收批次无法删除");
    ErrorCode UNIT_NOT_EXISTS = new ErrorCode(1010005007, "单位不存在");
    ErrorCode UNIT_NAME_ALREADY_EXISTS = new ErrorCode(1010005008, "单位名称已重复");
    ErrorCode GOODS_INFO_ALREADY_EXIST = new ErrorCode(1010005009, "商品名称已重复");
    // ========== basic服务 1010002000  007商品品类信息模块 ==========
    ErrorCode GOODS_CATEGORY_NOT_EXISTS = new ErrorCode(1010007000, "商品品类不存在");
    // ========== basic服务 1010002000  008商品认证信息模块 ==========
    ErrorCode GOODS_VERIFY_NOT_EXISTS = new ErrorCode(1010008000, "商品认证不存在");
    // ========== basic服务 1010002000  009投入品信息模块 ==========
    ErrorCode INPUTS_INFO_NOT_EXISTS = new ErrorCode(1010009000, "农资不存在");
    ErrorCode INPUTS_INFO_FAIL_CREATE  = new ErrorCode(1010009001, "农资创建失败");
    ErrorCode INPUTS_INFO_FAIL_UPDATE  = new ErrorCode(1010009002, "农资更新失败");
    ErrorCode INPUTS_INFO_FAIL_DEL  = new ErrorCode(1010009003, "农资删除失败");
    ErrorCode INPUTS_INFO_ALREADY_EXIST = new ErrorCode(1010009004, "农资编码已存在");
    ErrorCode INPUTS_CODES_DO_NOT_EXIST = new ErrorCode(1010009005, "农资编码不存在");
    ErrorCode INPUTS_BATCH_ID_IS_THE_SAME = new ErrorCode(1010009006, "农资批次ID已存在");
    ErrorCode INPUTS_INFO_FAIL_DEL_BELONG_INPUTS_BATCH_EXISTS  = new ErrorCode(1010009007, "农资存在关联投入品批次无法删除");
    ErrorCode INPUTS_INFO_NAME_IS_EXISTS = new ErrorCode(1010009007, "农资名称已存在");
    // ========== basic服务 1010010000  010投入品与商品关联模块 ==========
    ErrorCode EXIST_GOODS_HAS_BIND_INPUT = new ErrorCode(1010010000, "存在已绑定过农资的商品");

}
