Commit a490322d by yuwei

项目初始化

parent 85fd6d57
package cn.datax.common.base;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class BaseQueryParams implements Serializable {
private static final long serialVersionUID = 1L;
// 当前页码
private Integer pageNum;
// 分页条数
private Integer pageSize;
// 显示字段
private List<String> columnList;
// 排序
private List<OrderItem> orderList;
@Data
public class OrderItem{
private String column;
private boolean asc;
}
}
......@@ -23,7 +23,7 @@ public class GlobalExceptionHandler {
*/
@ExceptionHandler(DataException.class)
public R handleWithException(DataException e) {
log.error("自定义异常信息 ex={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
log.error("自定义异常信息 ex={},StackTrace={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
return R.error(e.getMessage());
}
......@@ -37,7 +37,7 @@ public class GlobalExceptionHandler {
.stream()
.map(FieldError::getDefaultMessage)
.collect(Collectors.toList()));
log.error("参数校验异常信息 ex={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
log.error("参数校验异常信息 ex={},StackTrace={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
return R.error(message);
}
......@@ -51,13 +51,13 @@ public class GlobalExceptionHandler {
.stream()
.map(ConstraintViolation::getMessage)
.collect(Collectors.toList()));
log.error("参数校验异常信息 ex={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
log.error("参数校验异常信息 ex={},StackTrace={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
return R.error(message);
}
@ExceptionHandler(Exception.class)
public R handleException(Exception e) {
log.error("全局异常信息 ex={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
log.error("全局异常信息ex={},StackTrace={}", e.getMessage(), ThrowableUtil.getStackTrace(e));
return R.error(e.getMessage());
}
......
......@@ -11,15 +11,6 @@ import org.springframework.context.annotation.Import;
* @since 2019/10/30
*/
@ComponentScan({"cn.datax.common.log"})
@Import({LogAspect.class, LogAsyncConfig.class})
public class AutoConfiguration {
@Bean
public LogAspect logAspect() {
return new LogAspect();
}
@Bean
public LogAsyncConfig logAsyncConfig() {
return new LogAsyncConfig();
}
}
......@@ -2,6 +2,7 @@ package cn.datax.common.mybatis.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
/**
* 扫描注入bean
......@@ -9,15 +10,6 @@ import org.springframework.context.annotation.ComponentScan;
* @since 2019/10/25
*/
@ComponentScan({"cn.datax.common.mybatis"})
@Import({DataBatisPlusConfig.class, DataMetaObjectHandler.class})
public class AutoConfiguration {
@Bean
public DataBatisPlusConfig dataBatisPlusConfig() {
return new DataBatisPlusConfig();
}
@Bean
public DataMetaObjectHandler dataMetaObjectHandler() {
return new DataMetaObjectHandler();
}
}
package cn.datax.common.redis.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
/**
* 扫描注入bean
......@@ -9,10 +9,6 @@ import org.springframework.context.annotation.ComponentScan;
* @since 2019/10/25
*/
@ComponentScan({"cn.datax.common.redis"})
@Import({RedisConfig.class})
public class AutoConfiguration {
@Bean
public RedisConfig redisConfig() {
return new RedisConfig();
}
}
package cn.datax.service.system.api.query;
import cn.datax.common.base.BaseQueryParams;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class UserQuery extends BaseQueryParams {
private static final long serialVersionUID=1L;
/**
* 用户名
*/
private String username;
/**
* 部门ID
*/
private String deptId;
}
......@@ -51,7 +51,7 @@ public class LogController extends BaseController {
public R getPostPage(@RequestParam(value="pageNum", defaultValue="1") Integer pageNum,
@RequestParam(value="pageSize", defaultValue="20") Integer pageSize,
LogDto log) {
QueryWrapper<LogEntity> queryWrapper = Wrappers.emptyWrapper();
QueryWrapper<LogEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(log.getTitle()), "title", log.getTitle());
IPage<LogEntity> page = logService.page(new Page<>(pageNum, pageSize), queryWrapper);
return R.ok().setData(page);
......
......@@ -59,7 +59,7 @@ public class PostController extends BaseController {
public R getPostPage(@RequestParam(value="pageNum", defaultValue="1") Integer pageNum,
@RequestParam(value="pageSize", defaultValue="20") Integer pageSize,
PostDto post) {
QueryWrapper<PostEntity> queryWrapper = Wrappers.emptyWrapper();
QueryWrapper<PostEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(post.getPostName()), "post_name", post.getPostName());
IPage<PostEntity> page = postService.page(new Page<>(pageNum, pageSize), queryWrapper);
return R.ok().setData(page);
......
......@@ -8,6 +8,7 @@ import cn.datax.service.system.api.entity.RoleEntity;
import cn.datax.service.system.mapstruct.RoleMapper;
import cn.datax.service.system.service.RoleService;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......@@ -71,7 +72,7 @@ public class RoleController extends BaseController {
public R getRolePage(@RequestParam(value="pageNum", defaultValue="1") Integer pageNum,
@RequestParam(value="pageSize", defaultValue="20") Integer pageSize,
RoleDto role) {
QueryWrapper<RoleEntity> queryWrapper = Wrappers.emptyWrapper();
QueryWrapper<RoleEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(role.getRoleName()), "role_name", role.getRoleName());
IPage<RoleEntity> page = roleService.page(new Page<>(pageNum, pageSize), queryWrapper);
return R.ok().setData(page);
......
......@@ -7,12 +7,15 @@ import cn.datax.common.validate.ValidateGroupForUpdate;
import cn.datax.service.system.api.dto.UserDto;
import cn.datax.service.system.api.dto.UserPasswordDto;
import cn.datax.service.system.api.entity.UserEntity;
import cn.datax.service.system.api.query.UserQuery;
import cn.datax.service.system.mapstruct.UserMapper;
import cn.datax.service.system.service.UserService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -57,18 +60,23 @@ public class UserController extends BaseController {
@ApiOperation(value = "用户分页查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "当前页码", required = true, dataType = "int", example = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数", required = true, dataType = "int", example = "20"),
@ApiImplicitParam(name = "user", value = "用户详细实体user", required = false, dataTypeClass = UserDto.class)
@ApiImplicitParam(name = "userQuery", value = "用户查询实体userQuery", required = true, dataTypeClass = UserQuery.class)
})
@GetMapping("/page")
public R getUserPage(@RequestParam(value="pageNum", defaultValue="1") Integer pageNum,
@RequestParam(value="pageSize", defaultValue="20") Integer pageSize,
UserDto user) {
QueryWrapper<UserEntity> queryWrapper = Wrappers.emptyWrapper();
queryWrapper.like(StrUtil.isNotBlank(user.getUsername()), "username", user.getUsername());
IPage<UserEntity> page = userService.page(new Page<>(pageNum, pageSize), queryWrapper);
page.getRecords().stream().map(userMapper::toVO);
public R getUserPage(UserQuery userQuery) {
QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
if(CollUtil.isNotEmpty(userQuery.getColumnList())){
queryWrapper.select(ArrayUtil.toArray(userQuery.getColumnList(), String.class));
}
queryWrapper.like(StrUtil.isNotBlank(userQuery.getUsername()), "username", userQuery.getUsername());
queryWrapper.apply(StrUtil.isNotBlank(userQuery.getDeptId()), "(select dept_id from sys_user_dept where user_id = id) = {0}", userQuery.getDeptId());
if(CollUtil.isNotEmpty(userQuery.getOrderList())){
userQuery.getOrderList().stream().forEach(orderItem -> {
queryWrapper.orderBy(StrUtil.isNotBlank(orderItem.getColumn()), orderItem.isAsc(), orderItem.getColumn());
});
}
IPage<UserEntity> page = userService.page(new Page<>(userQuery.getPageNum(), userQuery.getPageSize()), queryWrapper);
System.out.println(JSON.toJSONString(page));
return R.ok().setData(page);
}
......
......@@ -17,6 +17,8 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
......@@ -35,6 +37,7 @@ import java.util.stream.Collectors;
* @author yuwei
* @since 2019-09-04
*/
@CacheConfig(cacheNames = {"users"})
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implements UserService {
......@@ -137,6 +140,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userDao.updateUserPassword(passwordEncode, userPasswordDto.getId());
}
@Cacheable(key = "#username")
@Override
public UserInfo getUserByUsername(String username) {
UserInfo userInfo = new UserInfo();
......
......@@ -31,13 +31,13 @@
</sql>
<select id="selectMenuByRoleIds" parameterType="java.util.List" resultMap="BaseResultMap">
select
SELECT
m.id, m.create_by, m.create_time, m.update_by, m.update_time,
m.parent_id, m.menu_name, m.menu_path, m.menu_component, m.menu_perms, m.menu_icon, m.menu_type, m.menu_sort, m.status
from
FROM
sys_menu m
left join sys_role_menu rm om m.id = rm.menu_id
where m.status = 1 and rm.role_id in
LEFT JOIN sys_role_menu rm ON m.id = rm.menu_id
WHERE m.status = 1 AND rm.role_id IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
......
......@@ -32,45 +32,45 @@
</sql>
<update id="updateUserPassword">
update sys_user set password = #{password} where id = #{id}
UPDATE sys_user SET password = #{password} WHERE id = #{id}
</update>
<select id="getDeptList" resultType="cn.datax.service.system.api.entity.DeptEntity">
select
SELECT
<include refid="cn.datax.service.system.dao.DeptDao.Dept_Column_List">
<property name="alias" value="d"/>
</include>
from sys_dept d
left join sys_user_dept ud on d.id = ud.dept_id
where 1 = 1 and d.status = 1
FROM sys_dept d
LEFT JOIN sys_user_dept ud ON d.id = ud.dept_id
WHERE 1 = 1 AND d.status = 1
<if test="null != userId and '' != userId">
and ud.user_id = #{userId}
AND ud.user_id = #{userId}
</if>
</select>
<select id="getRoleList" resultType="cn.datax.service.system.api.entity.RoleEntity">
select
SELECT
<include refid="cn.datax.service.system.dao.RoleDao.Role_Column_List">
<property name="alias" value="r"/>
</include>
from sys_role r
left join sys_user_role ur on r.id = ur.role_id
where 1 = 1 and r.status = 1
FROM sys_role r
LEFT JOIN sys_user_role ur ON r.id = ur.role_id
WHERE 1 = 1 AND r.status = 1
<if test="null != userId and '' != userId">
and ur.user_id = #{userId}
AND ur.user_id = #{userId}
</if>
</select>
<select id="getPostList" resultType="cn.datax.service.system.api.entity.PostEntity">
select
SELECT
<include refid="cn.datax.service.system.dao.PostDao.Post_Column_List">
<property name="alias" value="p"/>
</include>
from sys_post p
left join sys_user_post up on p.id = up.post_id
where 1 = 1 and p.status = 1
FROM sys_post p
LEFT JOIN sys_user_post up ON p.id = up.post_id
WHERE 1 = 1 AND p.status = 1
<if test="null != userId and '' != userId">
and up.user_id = #{userId}
AND up.user_id = #{userId}
</if>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment