first commit
This commit is contained in:
+50
@@ -0,0 +1,50 @@
|
||||
package com.hanhui.act.accounting.api.enums;
|
||||
|
||||
/**
|
||||
* <p>帐户分类</p>
|
||||
* @author anonymous
|
||||
* @version $Id: AccountFamily.java, v 0.1 2012-9-28 上午10:32:33 anonymous Exp $
|
||||
*/
|
||||
public enum AccountFamily {
|
||||
INNER(1, "内部账户"),
|
||||
|
||||
OUTER(2, "客户账户");
|
||||
|
||||
/** 代码 */
|
||||
private final int code;
|
||||
/** 名称 */
|
||||
private final String displayName;
|
||||
|
||||
/**
|
||||
* 构造
|
||||
* @param code
|
||||
* @param displayName
|
||||
*/
|
||||
AccountFamily(int code, String displayName) {
|
||||
this.code = code;
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据代码获取枚举
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
public static AccountFamily getByCode(int code) {
|
||||
for (AccountFamily family : AccountFamily.values()) {
|
||||
if (family.getCode() == code) {
|
||||
return family;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
return displayName;
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.hanhui.act.accounting.api.enums;
|
||||
|
||||
/**
|
||||
* <p>入账规则</p>
|
||||
* @author anonymous
|
||||
* @version $Id: AccountingRule.java, v 0.1 2012-9-28 下午2:10:17 anonymous Exp $
|
||||
*/
|
||||
public enum AccountingRule {
|
||||
/**减钱(付款方):先贷记账户后借记账户,加钱(收款方):借记账户*/
|
||||
DEFAULT(0, "DEFAULT"),
|
||||
/**只借记子账户*/
|
||||
DR(1, "DR"),
|
||||
/**只贷记子账户*/
|
||||
CR(2, "CR"),
|
||||
/**只冻结子账户 */
|
||||
FR(3, "FR");
|
||||
|
||||
/** 代码 */
|
||||
private final int code;
|
||||
/** 名称 */
|
||||
private final String displayName;
|
||||
|
||||
/**
|
||||
* 私有构造函数
|
||||
*
|
||||
* @param code
|
||||
* @param name
|
||||
*/
|
||||
AccountingRule(int code, String displayName) {
|
||||
this.code = code;
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the code.
|
||||
*/
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the displayName.
|
||||
*/
|
||||
public String getDisplayName() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param rule
|
||||
* @return
|
||||
*/
|
||||
public static boolean isHasFundType(AccountingRule rule) {
|
||||
|
||||
if(rule !=null && rule != DEFAULT) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过枚举code获得枚举
|
||||
*
|
||||
* @param code
|
||||
* @return name
|
||||
*/
|
||||
public static AccountingRule getByCode(int code) {
|
||||
for (AccountingRule accountingRule : values()) {
|
||||
if (accountingRule.getCode() == code) {
|
||||
return accountingRule;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.hanhui.act.accounting.api.enums;
|
||||
|
||||
public enum CrDr {
|
||||
DEBIT(1, "借方") {
|
||||
@Override
|
||||
public CrDr reverse() {
|
||||
return CREDIT;
|
||||
}
|
||||
},
|
||||
|
||||
CREDIT(2, "贷方") {
|
||||
@Override
|
||||
public CrDr reverse() {
|
||||
return DEBIT;
|
||||
}
|
||||
};
|
||||
|
||||
/** 代码 */
|
||||
private final int code;
|
||||
/** 名称 */
|
||||
private final String displayName;
|
||||
|
||||
/**
|
||||
* 构造
|
||||
* @param code
|
||||
* @param displayName
|
||||
*/
|
||||
CrDr(int code, String displayName) {
|
||||
this.code = code;
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据代码获取枚举
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
public static CrDr getByCode(int code) {
|
||||
for (CrDr crdr : CrDr.values()) {
|
||||
if (crdr.code() == code) {
|
||||
return crdr;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取反向借贷
|
||||
* @param forward
|
||||
* @return
|
||||
*/
|
||||
public abstract CrDr reverse();
|
||||
|
||||
public int code() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String displayName() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the code
|
||||
*/
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the displayName
|
||||
*/
|
||||
public String getDisplayName() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.hanhui.act.accounting.api.enums;
|
||||
|
||||
public class EnumUtil {
|
||||
public static <E extends IAccountEnum> E valueOf(Class<E> cls, int code) {
|
||||
for (Object obj : cls.getEnumConstants()) {
|
||||
IAccountEnum e = (IAccountEnum) obj;
|
||||
if (e.code() == code) return cls.cast(e);
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static IAccountEnum valueOfCode(Class<?> cls, int code) {
|
||||
for (Object obj : cls.getEnumConstants()) {
|
||||
IAccountEnum e = (IAccountEnum) obj;
|
||||
if (e.code() == code) return e;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static IAccountEnum valueOfName(Class<?> cls, String name) {
|
||||
for (Object obj : cls.getEnumConstants()) {
|
||||
IAccountEnum e = (IAccountEnum) obj;
|
||||
if (e.displayName().equalsIgnoreCase(name)) return e;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean In(IAccountEnum compare, IAccountEnum... compareTo) {
|
||||
for (IAccountEnum e : compareTo) {
|
||||
if (compare == e) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.hanhui.act.accounting.api.enums;
|
||||
|
||||
public interface IAccountEnum {
|
||||
|
||||
int code();
|
||||
|
||||
String displayName();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
|
||||
package com.hanhui.act.accounting.api.enums;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <p>储值基础异常代码定义</p>
|
||||
* @author anonymous
|
||||
*
|
||||
*/
|
||||
public enum ReturnCode {
|
||||
//公共start
|
||||
SUCCESS(0, "成功",""),
|
||||
PROCESSING(1, "处理中",""),
|
||||
Fail(2, "处理失败",""),
|
||||
PARAMETERS_AVAILABILITY_ERROR(1022,"参数有效性验证失败",""),
|
||||
RECORD_NOT_FOUND(1033,"没有找到任何记录",""),
|
||||
VALUE_TOOLARGE(1062,"值超长",""),
|
||||
ENUM_NOT_MATCHING(1063,"枚举值不匹配",""),
|
||||
NONSUPPORT(1066,"暂不支持此功能",""),
|
||||
//公共end
|
||||
|
||||
UPDATE_BALANCE_ERROR(1000, "更新余额失败",""),
|
||||
STATUS_MAP_IS_NULL(1001, "账户状态位图不能为空",""),
|
||||
ACCOUNT_STATUS_NOT_ACTIVATION(1002, "账户状态未激活",""),
|
||||
ACCOUNT_STATUS_LOCK(1003, "账户状态已锁定",""),
|
||||
ACCOUNT_STATUS_LOGOUT(1004, "账户已销户",""),
|
||||
ACCOUNT_STATUS_FROZEN(1005, "账户已冻结",""),
|
||||
ACCOUNT_STATUS_FUND_IN(1006, "账户已止入",""),
|
||||
ACCOUNT_STATUS_FUND_OUT(1007, "账户已止出",""),
|
||||
ACCOUNT_NOT_EXISTS(1008, "账户信息不存在",""),
|
||||
INSUFFICIENT_ACCOUNT_BALANCE(1009, "余额不足",""),
|
||||
ACCOUNT_STATUS_INACTIVE_ACCOUNTS(1057, "账户已结转长期不动户",""),
|
||||
|
||||
UPDATE_TRANSACTION_STATUS_ERROR(1010, "更新transaction状态失败",""),
|
||||
UPDATE_ENTRY_STATUS_ERROR(1011, "更新entry状态失败",""),
|
||||
DUPLICATE_REQUEST_ERROR(1012, "重复请求错误",""),
|
||||
|
||||
//账户类start
|
||||
ACCOUNT_CREATE_FAIL(1013, "创建帐户失败",""),
|
||||
NOT_DEFINED_ACCOUNT_TYPE(1014,"账户模板未定义",""),
|
||||
ACCOUNT_ID_ALREADY_EXISTS(1015,"账户ID已存在",""),
|
||||
FROZEN_SUBACCT_DETAIL_NOT_FOUND(1016,"原冻结记录未找到",""),
|
||||
BATCHBOOKING(1017,"批量持久化分录成功",""),
|
||||
|
||||
QUERY_BATCHACCOUNTINGRESULT_OK(1018,"查询批量入账结果成功",""),
|
||||
QUERY_BATCHACCOUNTINGRESULT_NOTHING(1019,"没有查询到任何数据",""),
|
||||
GET_GZIP_ERROR(1020,"批量数据Gzip转换失败",""),
|
||||
ACCOUNT_ID_NOT_EXISTS(1021,"账户ID不存在",""),
|
||||
ONLY_ONE_ACCOUNT(1022,"查询只支持单一账户查询,该会员号+账户类型下可能存在多个账户",""),
|
||||
|
||||
PARAMETERS_BUSINESS_ERROR(1023,"参数业务规则验证失败",""),
|
||||
ACCOUNT_STATUS_HAS_ACTIVATED(1024,"账户状态已激活",""),
|
||||
ACCOUNT_STATUS_UNLOCK(1025, "账户状态已解锁",""),
|
||||
ACCOUNT_STATUS_HAS_UPDATED(1026, "账户状态已更新,不需要重复更新",""),
|
||||
|
||||
ACCOUNTNO_GREATERTHAN_MAX(1059, "开户数超过最大值99",""),
|
||||
INNERACCOUNT_NONSUPPORT(1064, "内部户不支持此功能",""),
|
||||
OUTERACCOUNT_NONSUPPORT(1065, "外部户不支持此功能",""),
|
||||
|
||||
ACCOUNT_BUFFER_RULE_CONFIGURED(1070, "该账户已配置缓冲入账规则",""),
|
||||
|
||||
ACCOUNT_SIZE_NOTEQUAL_PARAMETERSIZE(1071,"查询所得账户数目与传入参数数目不符!",""),
|
||||
//账户类end
|
||||
|
||||
//单笔,批量查询start
|
||||
TRANSACTION_INIT(1027,"事务状态:初始",""),
|
||||
TRANSACTION_PROCEEDING(1028,"事务状态:处理中",""),
|
||||
TRANSACTION_COMPLETE_SUCCESS(1029,"事务状态:入账完成_成功",""),
|
||||
TRANSACTION_FAIL_PROCEEDING(1030,"事务状态:入账失败_处理中",""),
|
||||
TRANSACTION_COMPLETE_FAIL(1031,"事务状态:入账完成_失败",""),
|
||||
TRANSACTION_STATUS_UNKNOW(1032,"事务状态:状态未知",""),
|
||||
//单笔,批量查询end
|
||||
|
||||
CREATE_MORE_BASICS_ACCOUNT(1034,"只能创建一个基本户",""),
|
||||
MORE_THAN_100_ACCOUNTS_CREATED(1035,"一个用户不能创建超过100个账户",""),
|
||||
TRANSNO_TXNTYPE_SYSTRACENO_EXIST(1036,"相同事务号,系统跟踪号,入账类型已存在",""),
|
||||
TRANSACTION_NOT_EXIST(1037,"事务对象不存在",""),
|
||||
TRANSACTION_CANCELED(1038,"不能重复撤销",""),
|
||||
REQUEST_EXIST(1039,"请求已存在",""),
|
||||
UNIQUENESS_RESTRAIN(1040,"违法唯一性约束(transactionNo,sysTraceNo,txnType)",""),
|
||||
INVALID_PARAM(1041, "输入参数错误",""),
|
||||
INACTIVE_ACCOUNTS_ERRORS(1042, "会员账户已转不动户",""),
|
||||
ACCOUNT_NOT_ACTIVATED(1043, "该会员账户没有激活",""),
|
||||
UNFORZEN_NOTEQUALS_FROZEN(1044, "解冻金额与冻结金额不一致",""),
|
||||
UNFORZEN_EXIST(1061, "不能重复解冻",""),
|
||||
TRANSACTIONNO_EXIST(1045, "transactionNo已存在",""),
|
||||
VOUCHERNO_EXIST(1046, "voucherNo已存在",""),
|
||||
OPERATER_ERROR(1060, "操作类型非法",""),
|
||||
|
||||
//科目类接口start
|
||||
ACCOUNT_TITLE_NO_NOT_EXISTS(1047,"查询科目号不存在",""),
|
||||
ACCOUNTTITLE_NOT_ALLOW_DELETE(1048,"科目号已创建账户或有子节点,不允许删除!",""),
|
||||
ACCOUNTTITLE_EXIST(1049,"科目号已存在,不允许重复录入!",""),
|
||||
|
||||
ACCOUNTTITLE_TITLERANGE(1050,"子节点科目范围和父节点不一致!",""),
|
||||
ACCOUNTTITLE_TITLECODE(1051,"子节点科目号不以父节点科目号起始或首数字与科目类型不符!",""),
|
||||
ACCOUNTTITLE_BALANCEDIRECTION(1052,"子节点余额方向和父节点科不一致!",""),
|
||||
ACCOUNTTITLE_TYPE(1053,"子节点类型和父节点不一致!",""),
|
||||
ACCOUNTTITLE_TYPE_BALANCEDIRECTION(1054,"科目类型和余额方向不符合约定规则!",""),
|
||||
|
||||
ACCOUNT_TITLE_IS_NOT_LEAF(1055,"该科目不是叶子结点",""),
|
||||
ACCOUNT_TITLE_INVALID(1056,"该科目状态无效",""),
|
||||
ACCOUNT_TITLE_IS_NOT_INNER_ACCOUNT(1058,"该科目不是内部账户",""),
|
||||
|
||||
//科目类接口end
|
||||
//公共
|
||||
SYS_EXP(9998, "系统异常",""),
|
||||
DB_EXCEPTION(9999, "数据库异常","");
|
||||
|
||||
//充退判断是否订单是否处理完的Map
|
||||
// private static Map<String, ReturnCode> INST_SUCCESS_MAP = new HashMap<String, ReturnCode>();
|
||||
//
|
||||
// static {
|
||||
//
|
||||
//// INST_SUCCESS_MAP.put(REFUND_MANUAL.code, REFUND_MANUAL);
|
||||
//// INST_SUCCESS_MAP.put(CMF_INST_PAY_SUBMIT.code, CMF_INST_PAY_SUBMIT);
|
||||
//// INST_SUCCESS_MAP.put(CMF_INST_PAY_PROCESS.code, CMF_INST_PAY_PROCESS);
|
||||
// INST_SUCCESS_MAP.put(PROCESSING.code, PROCESSING);
|
||||
// INST_SUCCESS_MAP.put(SUCCESS.code, SUCCESS);
|
||||
// }
|
||||
|
||||
/** 错误代码 */
|
||||
private int code;
|
||||
|
||||
/** 错误消息内容格式 */
|
||||
private String msg;
|
||||
|
||||
/** 错误名称 */
|
||||
private String name;
|
||||
|
||||
private ReturnCode(int code, String name, String msg) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.msg = "返回编码名称:" + name + "\n返回编码详细信息:" + msg;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return this.code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return this.msg;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setCode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public void setMsg(String msg) {
|
||||
this.msg = "返回编码名称:" + name + "\n返回编码详细信息:" + msg;
|
||||
}
|
||||
|
||||
public static ReturnCode hasType(Enum<?> type) {
|
||||
for (ReturnCode metaype : ReturnCode.values()) {
|
||||
if (metaype.equals(type)) {
|
||||
return metaype;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// public static boolean isSuccess(String returnCode) {
|
||||
// return INST_SUCCESS_MAP.containsKey(returnCode);
|
||||
// }
|
||||
|
||||
public static ReturnCode getByCode(int code) {
|
||||
for (ReturnCode value : ReturnCode.values()) {
|
||||
if (value.getCode()==code) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
package com.hanhui.act.accounting.api.responses;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.apache.commons.lang.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang.builder.ToStringStyle;
|
||||
|
||||
|
||||
public class Response implements Serializable{
|
||||
|
||||
private static final long serialVersionUID = 5515924664000845459L;
|
||||
|
||||
protected int code;
|
||||
protected String message;
|
||||
|
||||
public Response() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Response(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public Response(int code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user