mirror of
https://gitee.com/jamen/slife.git
synced 2026-10-29 05:23:39 +00:00
fix find 2
This commit is contained in:
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.enums.SqlLike;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.additional.query.impl.QueryChainWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.slife.base.entity.TreeEntity;
|
||||
import com.slife.base.service.IBaseService;
|
||||
@@ -54,7 +55,7 @@ public class BaseService<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> i
|
||||
* @param v
|
||||
* @return
|
||||
*/
|
||||
private boolean idLoadCnd(String cnd, String k, Object v) {
|
||||
protected boolean idLoadCnd(String cnd, String k, Object v) {
|
||||
return k.startsWith(cnd) && null != v && v.toString().length() > 0;
|
||||
}
|
||||
|
||||
@@ -80,6 +81,22 @@ public class BaseService<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> i
|
||||
}
|
||||
}
|
||||
|
||||
private void loadSearchParam(Map<String, Object> params, QueryChainWrapper<T> wrapper) {
|
||||
if (!CollectionUtils.isEmpty(params)) {
|
||||
params.forEach((searchKey, param) -> {
|
||||
if (idLoadCnd(SearchParam.SEARCH_EQ, searchKey, param)) {
|
||||
wrapper.eq(searchKey.split(SearchParam.SEARCH_EQ)[1], param);
|
||||
} else if (idLoadCnd(SearchParam.SEARCH_LLIKE, searchKey, param)) {
|
||||
wrapper.likeLeft(searchKey.split(SearchParam.SEARCH_LLIKE)[1], String.valueOf(param));
|
||||
} else if (idLoadCnd(SearchParam.SEARCH_RLIKE, searchKey, param)) {
|
||||
wrapper.likeRight(searchKey.split(SearchParam.SEARCH_RLIKE)[1], String.valueOf(param));
|
||||
} else if (idLoadCnd(SearchParam.SEARCH_LIKE, searchKey, param)) {
|
||||
wrapper.like(searchKey.split(SearchParam.SEARCH_LIKE)[1], String.valueOf(param));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载 排序条件
|
||||
*/
|
||||
@@ -95,6 +112,18 @@ public class BaseService<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> i
|
||||
}
|
||||
}
|
||||
|
||||
private void loadSort(Map<String, String> sorts, QueryChainWrapper<T> wrapper) {
|
||||
if (!CollectionUtils.isEmpty(sorts)) {
|
||||
sorts.forEach((column, sort) -> {
|
||||
if ("asc".equalsIgnoreCase(sort)) {
|
||||
wrapper.orderByAsc(column);
|
||||
} else {
|
||||
wrapper.orderByDesc(column);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页 搜索
|
||||
*
|
||||
@@ -104,7 +133,8 @@ public class BaseService<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> i
|
||||
@Override
|
||||
public DataTable<T> pageSearch(DataTable<T> dt) {
|
||||
Page<T> page = new Page<>(dt.getPageNumber(), dt.getPageSize());
|
||||
LambdaQueryChainWrapper<T> wrapper = lambdaQuery();
|
||||
// LambdaQueryChainWrapper<T> wrapper = lambdaQuery();
|
||||
QueryChainWrapper<T> wrapper = query();
|
||||
loadSearchParam(dt.getSearchParams(), wrapper);
|
||||
loadSort(dt.getSorts(), wrapper);
|
||||
page(page, wrapper);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.slife.service;
|
||||
import com.slife.base.service.IBaseService;
|
||||
import com.slife.base.vo.DataTable;
|
||||
import com.slife.entity.SysUser;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -76,4 +77,5 @@ public interface ISysUserService extends IBaseService<SysUser> {
|
||||
*/
|
||||
void updateSysUser(SysUser sysUser, Long[] ids) ;
|
||||
|
||||
DataTable<T> pageSearch1(DataTable<T> dt);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.slife.entity.SysRole;
|
||||
import com.slife.entity.SysUser;
|
||||
import com.slife.service.ISysRoleService;
|
||||
import com.slife.service.ISysUserService;
|
||||
import com.slife.service.impl.SysRoleService;
|
||||
import com.slife.service.impl.SysUserService;
|
||||
import com.slife.shiro.ShiroUser;
|
||||
import com.slife.util.ApplicationContextRegister;
|
||||
import com.slife.util.Encodes;
|
||||
@@ -43,7 +45,7 @@ public class AuthRealm extends AuthorizingRealm {
|
||||
@Override
|
||||
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
|
||||
String loginName=((UsernamePasswordToken) token).getUsername();
|
||||
ISysUserService sysUserService = ApplicationContextRegister.getBean(ISysUserService.class);
|
||||
ISysUserService sysUserService = ApplicationContextRegister.getBean(SysUserService.class);
|
||||
SysUser sysUser = sysUserService.getByLoginName(loginName);
|
||||
if (sysUser != null) {
|
||||
log.info("[AuthRealm#doGetAuthenticationInfo] --> {} login", sysUser.getName());
|
||||
@@ -69,7 +71,7 @@ public class AuthRealm extends AuthorizingRealm {
|
||||
ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
|
||||
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
|
||||
|
||||
ISysRoleService sysRoleService = ApplicationContextRegister.getBean(ISysRoleService.class);
|
||||
ISysRoleService sysRoleService = ApplicationContextRegister.getBean(SysRoleService.class);
|
||||
|
||||
for (SysRole sysRole : sysRoleService.selectRoleByUserId(shiroUser.id)) {
|
||||
// 基于Role的权限信息
|
||||
|
||||
@@ -126,7 +126,7 @@ public class SysUserController extends BaseController {
|
||||
@PostMapping(value = "/list")
|
||||
@ResponseBody
|
||||
public DataTable<SysUser> list(@RequestBody DataTable dt, ServletRequest request) {
|
||||
return sysUserService.pageSearch(dt);
|
||||
return sysUserService.pageSearch1(dt);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
package com.slife.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.additional.query.impl.QueryChainWrapper;
|
||||
import com.slife.base.service.impl.BaseService;
|
||||
import com.slife.base.vo.DataTable;
|
||||
import com.slife.constant.SearchParam;
|
||||
import com.slife.dao.SysUserDao;
|
||||
import com.slife.entity.SysUser;
|
||||
import com.slife.service.ISysRoleService;
|
||||
import com.slife.service.ISysUserService;
|
||||
import com.slife.util.PasswordUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.assertj.core.util.Strings;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -166,5 +172,51 @@ public class SysUserService extends BaseService<SysUserDao, SysUser> implements
|
||||
|
||||
}
|
||||
|
||||
private void loadSearchParam(Map<String, Object> params, QueryChainWrapper<SysUser> wrapper) {
|
||||
if (!CollectionUtils.isEmpty(params)) {
|
||||
params.forEach((searchKey, param) -> {
|
||||
if (idLoadCnd(SearchParam.SEARCH_EQ, searchKey, param)) {
|
||||
wrapper.eq(searchKey.split(SearchParam.SEARCH_EQ)[1], param);
|
||||
} else if (idLoadCnd(SearchParam.SEARCH_LLIKE, searchKey, param)) {
|
||||
wrapper.likeLeft(searchKey.split(SearchParam.SEARCH_LLIKE)[1], String.valueOf(param));
|
||||
} else if (idLoadCnd(SearchParam.SEARCH_RLIKE, searchKey, param)) {
|
||||
wrapper.likeRight(searchKey.split(SearchParam.SEARCH_RLIKE)[1], String.valueOf(param));
|
||||
} else if (idLoadCnd(SearchParam.SEARCH_LIKE, searchKey, param)) {
|
||||
wrapper.like(searchKey.split(SearchParam.SEARCH_LIKE)[1], String.valueOf(param));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void loadSort(Map<String, String> sorts, QueryChainWrapper<SysUser> wrapper) {
|
||||
if (!CollectionUtils.isEmpty(sorts)) {
|
||||
sorts.forEach((column, sort) -> {
|
||||
if ("asc".equalsIgnoreCase(sort)) {
|
||||
wrapper.orderByAsc(column);
|
||||
} else {
|
||||
wrapper.orderByDesc(column);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页 搜索
|
||||
*
|
||||
* @param dt
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public DataTable<SysUser> pageSearch1(DataTable dt) {
|
||||
Page<SysUser> page = new Page<>(dt.getPageNumber(), dt.getPageSize());
|
||||
// LambdaQueryChainWrapper<SysUser> wrapper = lambdaQuery();
|
||||
// LambdaQueryChainWrapper<T> wrapper = lambdaQuery();
|
||||
// QueryChainWrapper<SysUser> wrapper = query();
|
||||
// loadSearchParam(dt.getSearchParams(), wrapper);
|
||||
// loadSort(dt.getSorts(), wrapper);
|
||||
page(page);
|
||||
dt.setTotal((int) page.getTotal());
|
||||
dt.setRows(page.getRecords());
|
||||
return dt;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user