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