| package com.matrix.core.web; | 
|   | 
| import java.util.List; | 
|   | 
| import com.matrix.core.constance.MatrixConstance; | 
| import com.matrix.core.constance.SystemErrorCode; | 
| import com.matrix.core.constance.SystemMessageCode; | 
| import com.matrix.core.exception.GlobleException; | 
| import com.matrix.core.pojo.AjaxResult; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.tools.InternationaUtil; | 
| import com.matrix.core.tools.StringUtils; | 
| import com.matrix.core.tools.WebUtil; | 
|   | 
| /** | 
|  * @description 除了特殊的action一般业务action都继承这个action来实现 基本增删改查功能 | 
|  * @author 姜友瑶 | 
|  * @email 935090232@qq.com | 
|  * @date 2016-06-26 | 
|  */ | 
| public abstract class BaseAction { | 
|   | 
|     /** | 
|      * 新增记录 | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2017年11月30日 | 
|      * @param baseServices | 
|      * @param t | 
|      * @param name | 
|      * @return | 
|      */ | 
|     public <T> AjaxResult add(BaseServices<T> baseServices, T t, String name) { | 
|         int i = baseServices.add(t); | 
|         if (i > 0) { | 
|             name=InternationaUtil.getMesssge(name); | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, name); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 修改记录 | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2017年11月30日 | 
|      * @param baseServices | 
|      * @param oldValue | 
|      * @param newValue | 
|      * @param name | 
|      * @return | 
|      */ | 
|     @SuppressWarnings("unchecked") | 
|     public <T> AjaxResult modify(BaseServices<T> baseServices, Object oldValue, T newValue, String name) { | 
|         int i = baseServices.modifyByMap((T) oldValue, newValue); | 
|         if (i > 0) { | 
|             name=InternationaUtil.getMesssge(name); | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, name); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 批量删除 | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2017年11月30日 | 
|      * @param baseServices | 
|      * @param keys | 
|      * @return | 
|      */ | 
|     public <T> AjaxResult remove(BaseServices<T> baseServices, String keys) { | 
|         List<String> ids = StringUtils.strToCollToString(keys, ","); | 
|         int i = baseServices.remove(ids); | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 分页查询 | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2017年11月30日 | 
|      * @param baseServices | 
|      * @param t | 
|      * @param pageVo | 
|      * @return | 
|      */ | 
|     public <T> AjaxResult showList(BaseServices<T> baseServices, T t, PaginationVO pageVo) { | 
|   | 
|         List<T> dataList = baseServices.findInPage(t, pageVo); | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, baseServices.findTotal(t)); | 
|         return result; | 
|     } | 
|   | 
|     /** | 
|      * 带条件查询,不分页 | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2017年11月30日 | 
|      * @param baseServices | 
|      * @param t | 
|      * @return | 
|      */ | 
|     public <T> AjaxResult findByModel(BaseServices<T> baseServices, T t) { | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, baseServices.findByModel(t), 0); | 
|         return result; | 
|     } | 
|   | 
|     /** | 
|      * 根据id查询 | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2017年11月30日 | 
|      * @param baseServices | 
|      * @param id | 
|      * @return | 
|      */ | 
|     public <T> T findById(BaseServices<T> baseServices, String id) { | 
|         return baseServices.findById(id); | 
|     } | 
|   | 
|     /** | 
|      * 获取登录对象 | 
|      *  | 
|      * @author 姜友瑶 | 
|      * @date 2016/7/5 | 
|      */ | 
|     public <T> T getSessionUser() { | 
|         return WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|     } | 
|   | 
| } |