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

Posted jim_shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

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

 

以上是关于013医疗项目-模块一:加入工具类ResultUtil的主要内容,如果未能解决你的问题,请参考以下文章

022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装

024医疗项目-模块二:药品目录的导入导出-HSSF导入类的学习

025医疗项目-模块二:药品目录的导入导出-HSSF导入类的封装

032医疗项目-模块三:药品供应商目录模块——Service层和Action层和调试

040医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面(editcgd.action)

019医疗项目-模块一:用户身份校验拦截器的调试