提交 b978dd51 authored 作者: huningning's avatar huningning

序列化问题修复

上级 05f5f363
package com.clx.performance.param.pay; package com.clx.performance.param.pay;
import com.msl.common.enums.ResultEnum;
/** /**
...@@ -9,7 +8,7 @@ import com.msl.common.enums.ResultEnum; ...@@ -9,7 +8,7 @@ import com.msl.common.enums.ResultEnum;
* @date 2017年6月01日 * @date 2017年6月01日
* @description * @description
*/ */
public class NotifyString extends PayResult<String> { public class NotifyString extends Result<String> {
/** 支付操作 参考<MessageTypeEnum> */ /** 支付操作 参考<MessageTypeEnum> */
private Integer action; private Integer action;
/** 交易单号 */ /** 交易单号 */
...@@ -22,7 +21,7 @@ public class NotifyString extends PayResult<String> { ...@@ -22,7 +21,7 @@ public class NotifyString extends PayResult<String> {
public NotifyString(){ public NotifyString(){
super(); super();
} }
public NotifyString(PayResult<String> ret){ public NotifyString(Result<String> ret){
this.setCode(ret.getCode()); this.setCode(ret.getCode());
this.setMsg(ret.getMsg()); this.setMsg(ret.getMsg());
this.setData(ret.getData()); this.setData(ret.getData());
......
package com.clx.performance.param.pay;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
*
* 类: Result
* 描述:接口返回结果类
* @author wangjf
* 时间:2017年3月23日下午3:46:50
* 版本:v1.0
* 修改人:wangjf
*/
public class Result<T> {
private Integer code; // 返回结果代码,0为成功
/**
* 返回结果代码
* 0为成功 ,其他代码请参照代码文档
* @return
*/
public Integer getCode() {
return code;
}
private Long total;//总共记录数
private Integer pageNum;//总共页数
/**
* 0代表成功,其他代码请参考《返回值说明文档》
* 请务必按规定填写!
* @param code 结果代码
*/
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
/**
* 错误消息,接口中的错误处理,请务必填写错误消息<br/>
* 当成功时消息应为“success”
* @param msg 错误消息
*/
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
private String msg;
private T data;
/**
* 默认code = 0,<br/>
* msg = "success"
*/
public Result() {
this.code = 0;
this.msg = "success";
}
/**
* 默认code = 0,
* msg = "success",<br/>
* 当成功返回结果时,可使用此方法,直接将返回结果填写即可
* @param data ,返回结果
*/
public Result(T data) {
this.code = 0;
this.msg = "success";
this.data = data;
}
/**
* 查询列表返回成功
* @param data
* @param pageNum
* @param total
*/
public Result(T data, Integer pageNum, Long total) {
this.code = 0;
this.msg = "success";
this.data = data;
this.pageNum = pageNum;
this.total = total;
}
/**
* 产生错误时,需要在枚举中拼接自定义返回的内容
* @param e
* @param msg
*/
public Result(ResultEnum e, String msg) {
this.code = e.getCode();
this.msg = String.format(e.getMsg(), msg);
}
/**
* 产生错误时,可以使用此构造方法,在new时直接填写错误代码及消息即可
* @param code
* @param msg
*/
public Result(Integer code,String msg) {
this.code = code;
this.msg = msg;
}
public Result(Integer code,String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
@JsonIgnore
public void setResultEnum(ResultEnum e){
this.code = e.getCode();
this.msg = e.getMsg();
}
public Result(ResultEnum e) {
this.code = e.getCode();
this.msg = e.getMsg();
}
public Result(T data, ResultEnum e) {
this.code = e.getCode();
this.msg = e.getMsg();
this.data = data;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
@Override
public String toString() {
return "Result [code=" + code + ", msg=" + msg + ", data=" + data + "]";
}
/**
* 是否成功
* @return
*/
public boolean succeed() {
return code != null && code == ResultCodeEnum.SUCCESS.getCode();
}
}
package com.clx.performance.param.pay;
public enum ResultCodeEnum implements ResultEnum {
SUCCESS(0, "success"),
FAIL(1, "服务繁忙"),
THIRDPARTY(2,"调用第三方接口参数错误"),
HTTPERROR(3,"HTTP请求异常"),
ILLEGAL_PARAMETER(4, "非法参数"),
SYSTEM_ERROR(5, "系统异常"),
REQUEST_TOO_OFTEN(6, "请勿频繁点击"),
MASSAGE_SERVICE_ERROR(7, "消息服务繁忙"),
ORDER_COMPLETE(8, "订单已经处理过了"),
DATA_SYNC_ERROR(9, "数据同步异常"),
MQ_ERROR(10, "消息队列异常"),
NO_LOGIN(100, "没有登录"),
NO_OPERATING_AUTHORIZATION(101, "没有权限"),
FEGIN_NULL(102, "FEGIN返回null"),
FEGIN_ERROR(103, "fegin调用繁忙"),
EVALUATION_INFORMATION_NULL(104, "评价信息不能为空"),
SUBJECT_TO_BE_EVALUATED_NULL(105, "被评价主体不能为空"),
EVALUATION_TYPE_ERROR(106, "评价类型错误"),
EVALUATION_SCORE_ERROR(107, "评价分值错误"),
LABEL_OR_CONTENT_NULL(108, "差评时必须有标签或者内容"),
CHILD_NO_NULL(109, "运单号不能为空"),
REDIS_LOCK_ERROR(110, "锁异常"),
VERIFICATION_CODE_ERROR(111, "验证码错误"),
VERIFICATION_CODE_COUNT_ERROR(112, "验证码输入错误次数过多,请重新获取"),
ACCOUNT_LOCKED_TTL_ERROR(113, "账号已锁定,请%s分钟之后再试"),
ACCOUNT_PWD_ERROR(114, "密码错误,还可尝试%s次,超过将锁定"),
PRODUCT_TYPE_ERROR(115, "产品线参数错误"),
;
// 成员变量
private String msg;
private int code;
// 构造方法
private ResultCodeEnum(int code, String msg) {
this.msg = msg;
this.code = code;
}
// 普通方法
public static String getMsg(int code) {
for (ResultCodeEnum c : ResultCodeEnum.values()) {
if (c.getCode() == code) {
return c.msg;
}
}
return null;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
package com.clx.performance.param.pay;
public interface ResultEnum {
String getMsg();
int getCode();
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论