013医疗项目-模块一:加入工具类ResultUtil

这篇文章要做的就是优化,封装。把之前的代码尽量封装进类,并且不要硬编码。

在UserServiceimpl中的insertSysuser()函数之前是这么写的:

ResultInfo resultInfo=new ResultInfo();
            resultInfo.setType(ResultInfo.TYPE_RESULT_FAIL);
            String message=ResourcesUtil.getValue("resources.messages", "213");
            resultInfo.setMessage(message);
            throw new ExceptionResultInfo(resultInfo);

觉得太麻烦。我们实现一个工具类ResultUtil

package yycg.base.process.result;

import java.util.List;

import yycg.util.ResourcesUtil;


/**
 * 系统结果工具类
 * @author mrt
 *
 */
public class ResultUtil {

    
      /**
     * 创建错误结果
     * @param MESSAGE
     * @return
     */
    public static ResultInfo createFail(String fileName,int messageCode,Object[] objs){
        String message=null;
        if(objs == null){
            message = ResourcesUtil.getValue(fileName, messageCode+"");
        }else{
            message = ResourcesUtil.getValue(fileName, messageCode+"",objs);
        }
        return new ResultInfo(ResultInfo.TYPE_RESULT_FAIL,messageCode,message);
    }
    /**
     * 创建敬告提示结果
     */
    public static ResultInfo createWarning(String fileName,int messageCode,Object[] objs){
        String message=null;
        if(objs == null){
            message = ResourcesUtil.getValue(fileName, messageCode+"");
        }else{
            message = ResourcesUtil.getValue(fileName, messageCode+"",objs);
        }
        return new ResultInfo(ResultInfo.TYPE_RESULT_WARN,messageCode,message);
    }
    
    /**
     * 创建成功提示结果
     */
    public static ResultInfo createSuccess(String fileName,int messageCode,Object[] objs){
        
        String message=null;
        if(objs == null){
            message = ResourcesUtil.getValue(fileName, messageCode+"");
        }else{
            message = ResourcesUtil.getValue(fileName, messageCode+"",objs);
        }
        return new ResultInfo(ResultInfo.TYPE_RESULT_SUCCESS,messageCode,message);
    }
    
    
    
    /**
     * 创建普通信息提示结果
     */
    public static ResultInfo createInfo(String fileName,int messageCode,Object[] objs){
        
        String message=null;
        if(objs == null){
            message = ResourcesUtil.getValue(fileName, messageCode+"");
        }else{
            message = ResourcesUtil.getValue(fileName, messageCode+"",objs);
        }
        return new ResultInfo(ResultInfo.TYPE_RESULT_INFO,messageCode,message);
    }

    
    /**
     * 抛出异常
     * @param resultInfo
     * @throws ExceptionResultInfo
     */
    public static void throwExcepion(ResultInfo resultInfo) throws ExceptionResultInfo{
        throw new ExceptionResultInfo(resultInfo);
    }
    public static void throwExcepion(ResultInfo resultInfo,List<ResultInfo> details) throws ExceptionResultInfo{
        if(resultInfo != null){
            resultInfo.setDetails(details);
        }
        throw new ExceptionResultInfo(resultInfo);
    }
    /**
     * 创建提交结果信息
     * @param resultInfo
     * @return
     */
    public static SubmitResultInfo createSubmitResult(ResultInfo resultInfo){
        return new SubmitResultInfo(resultInfo);
    }
    /**
     * 创建提交结果信息,包括明细信息
     * @param resultInfo
     * @param details
     * @return
     */
    public static SubmitResultInfo createSubmitResult(ResultInfo resultInfo,List<ResultInfo> details){
        if(resultInfo != null){
            resultInfo.setDetails(details);
        }
        return new SubmitResultInfo(resultInfo);
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}

有了这工具类之后,之前的代码可以这么写:

ResultInfo resultInfo=ResultUtil.createFail(Config.MESSAGE, 213, null);
            new ResultUtil().throwExcepion(resultInfo);

具体着了说不清还是看文档比较好。

原文地址:https://www.cnblogs.com/shenxiaoquan/p/6056575.html