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);

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

时间: 2024-08-24 00:29:56

013医疗项目-模块一:加入工具类ResultUtil的相关文章

实用篇:说说我在JavaScript项目中使用的工具类

在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * 日期处理工具类 * @Authors: jackyWHJ * @date 2013-10-18 * */ var DateUtils = { /** * 得到日期在一年当中的周数 */ getISOYearWeek: function(date) { var commericalyear = thi

项目中js的工具类

js工具类的功能有: 1.去掉字符串前后空格 2.清空select 3.验证手机号 4.字符串转换int型数字 5.获取checkbox的选中的值 6.去掉左边的空白 7.去掉邮编的空白 源码如下: /** * 去掉字符串前后空格 * * @param str * @returns */ function trim(str){ return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); } /** * 清空select * * @param selec

iOS开发项目篇—21抽取工具类

iOS开发项目篇—21抽取工具类 一.抽取宏 把和应用相关的信息抽取出来 App Key:1972915028 App Secret:b255603c4dfd82b4785bf9a808ce2662 回调地址:http://www.cnblogs.com/wendingding/ (1)appkey和回调页面在很多地方都要用到 (2)如果是不同应用的话,只需要把这几个参数换掉就可以了.把它们抽取成一个宏,写到pch文件中. 项目的PCH文件 1 #import <Availability.h>

044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中这里没有写采购量,我们这篇文章做的就是把采购量写进入,也就是Updata之前的那个记录.这样采购单里面的记录就完整了. 如下: Dao层:用的是逆向工程生成的:yycgdmxMapper.updateByPrimaryKeySelective(yycgdmx_updat

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

上一篇文章提过,HSSF的用户模式会导致读取海量数据时很慢,所以我们采用的是事件驱动模式.这个模式类似于xml的sax解析.需要实现一个接口,HSSFListener接口. 原理:根据excel底层存储(07以版本采用xml存储,以下版本采用二进制)标签决定事件出发点. 目标:在解析完一行(row)数据时进行触发. 优点:读取大数据时,不会导致内存溢出 缺点:用户在解析数据时比较困难.读取数据时速度不快的,因为读取数据的同时根据每个标签进行事件触发. HSSF事件驱动读取文件的封装类解析. 主要

017医疗项目-模块一:用户登录功能的实现

用户在登录页面上填好姓名和密码还有验证码实现登录. 实现的效果如下: 输入信息后成功. 具体做法代码如下: 我们还是从Dao层开始: 这里用到的Dao层的代码无非就是查名字,查密码什么的.之前就有的,这里的不用了. Service:这一层很重要: 先讲一下这一层要做的东西: 我们要做用户的登录验证. 1.根据传进来的id,去数据库查有没有这个用户,没有直接抛异常,有的话就继续下一步. 2.根据查到的用户sysuser.去查他的存在数据库里面的密码和我们在页面上的密码是不是一致的,一致的就继续,不

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

资源全部来源于传智播客. 好的架构师写的程序,就算给刚入门的新手看,新手一看就知道怎么去用.所以我们要对XSSF导出excel类进行封装.这是架构师的工作,但我们也要知道. 我们写一个封装类: 这个类单独有自己的main函数. 我们进入main函数一步一步看: public static void main(String[] args) throws Exception { /** 导出文件存放物理路径 * @param fileWebPath * 导出文件web下载路径 * @param fi

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

我们之前学习了怎么把数据的数据导出来保存到Excle中,这篇文章我们学习怎么Excel数据导出然后插入到数据库中. 我们先学习HSSF怎么用来导出数据. 看官方教程步骤如下: 第一步: 创建一个workbook //文件输入流 InputStream is = new FileInputStream("d:/test11.xls"); //创建hssf的workbook,将文件流传入workbook HSSFWorkbook hssfWorkbook = new HSSFWorkboo

049医疗项目-模块五:权限设置-第三方系统的接入

我们先演示要实现的功能: 单击: 我们看着有三个子模块: 点击模块管理: 在模块管理中,我们可以设置一共有几个模块,每个模块里面有哪些具体的操作等. 角色管理: 给角色分配权限. 好,我们接下来看具体的实现: 我们先把第三方系统引入到工程中: import工程. 然后修改sysconfig,和sysmanager系统中的/WEB-INF/proxool.xml文件 接着 然后重启Tomcat. 然后修改代码: 我们增加下面连个Action层:其实我们的第三方系统的实现原理就是我们从自己的项目中的