🔨 service 改为继承ExtendService, mapper继承ExtendMapper, 分页查询条件构造下沉至dao层并移除 Controller层和 service层对 IPage 的依赖

This commit is contained in:
b2baccline
2021-01-18 23:05:47 +08:00
parent 552815e05b
commit e249ce5e5d
129 changed files with 1892 additions and 926 deletions

View File

@@ -1,10 +1,10 @@
package com.hccake.ballcat.admin.modules.log.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminAccessLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminAccessLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminAccessLogVO;
import com.hccake.ballcat.admin.modules.log.service.AdminAccessLogService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -30,15 +30,15 @@ public class AdminAccessLogController {
/**
* 分页查询
* @param page 分页对象
* @param adminAccessLog 访问日志
* @param pageParam 分页参数
* @param adminAccessLogQO 访问日志查询对象
* @return R
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('log:adminaccesslog:read')")
public R<IPage<AdminAccessLog>> getAccessLogApiPage(Page<AdminAccessLog> page, AdminAccessLog adminAccessLog) {
return R.ok(adminAccessLogService.page(page, Wrappers.query(adminAccessLog)));
public R<PageResult<AdminAccessLogVO>> getAccessLogApiPage(PageParam pageParam, AdminAccessLogQO adminAccessLogQO) {
return R.ok(adminAccessLogService.queryPage(pageParam, adminAccessLogQO));
}
}

View File

@@ -1,10 +1,10 @@
package com.hccake.ballcat.admin.modules.log.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminLoginLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO;
import com.hccake.ballcat.admin.modules.log.service.AdminLoginLogService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -25,19 +25,19 @@ import org.springframework.web.bind.annotation.RestController;
@Api(value = "adminloginlog", tags = "登陆日志管理")
public class AdminLoginLogController {
private final AdminLoginLogService AdminLoginLogService;
private final AdminLoginLogService adminLoginLogService;
/**
* 分页查询
* @param page 分页对象
* @param pageParam 分页参数
* @param adminLoginLogQO 登陆日志查询对象
* @return R 通用返回体
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('log:adminloginlog:read')")
public R<IPage<AdminLoginLogVO>> getLoginLogPage(Page<?> page, AdminLoginLogQO adminLoginLogQO) {
return R.ok(AdminLoginLogService.selectPageVo(page, adminLoginLogQO));
public R<PageResult<AdminLoginLogVO>> getLoginLogPage(PageParam pageParam, AdminLoginLogQO adminLoginLogQO) {
return R.ok(adminLoginLogService.queryPage(pageParam, adminLoginLogQO));
}
}

View File

@@ -1,10 +1,10 @@
package com.hccake.ballcat.admin.modules.log.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminOperationLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminOperationLogVO;
import com.hccake.ballcat.admin.modules.log.service.OperationLogAdminService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -30,16 +30,16 @@ public class AdminOperationLogController {
/**
* 分页查询
* @param page 分页对象
* @param adminOperationLog 操作日志
* @param pageParam 分页参数
* @param adminOperationLogQO 操作日志
* @return R
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('log:adminoperationlog:read')")
public R<IPage<AdminOperationLog>> getOperationLogAdminPage(Page<AdminOperationLog> page,
AdminOperationLog adminOperationLog) {
return R.ok(operationLogAdminService.page(page, Wrappers.query(adminOperationLog)));
public R<PageResult<AdminOperationLogVO>> getOperationLogAdminPage(PageParam pageParam,
AdminOperationLogQO adminOperationLogQO) {
return R.ok(operationLogAdminService.queryPage(pageParam, adminOperationLogQO));
}
}

View File

@@ -1,7 +1,14 @@
package com.hccake.ballcat.admin.modules.log.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminAccessLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminAccessLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminAccessLogVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
/**
* 后台访问日志
@@ -9,6 +16,25 @@ import com.hccake.ballcat.admin.modules.log.model.entity.AdminAccessLog;
* @author hccake
* @date 2019-10-16 16:09:25
*/
public interface AdminAccessLogMapper extends BaseMapper<AdminAccessLog> {
public interface AdminAccessLogMapper extends ExtendMapper<AdminAccessLog> {
/**
* 分页查询
* @param pageParam 分页参数
* @param qo 查询对象
* @return 分页结果数据 PageResult
*/
default PageResult<AdminAccessLogVO> queryPage(PageParam pageParam, AdminAccessLogQO qo) {
IPage<AdminAccessLogVO> page = this.prodPage(pageParam);
LambdaQueryWrapperX<AdminAccessLog> wrapperX = WrappersX.lambdaQueryX(AdminAccessLog.class)
.eqIfPresent(AdminAccessLog::getUserId, qo.getUserId())
.eqIfPresent(AdminAccessLog::getTraceId, qo.getTraceId())
.eqIfPresent(AdminAccessLog::getMatchingPattern, qo.getMatchingPattern())
.eqIfPresent(AdminAccessLog::getIp, qo.getIp())
.gtIfPresent(AdminAccessLog::getCreateTime, qo.getStartTime())
.ltIfPresent(AdminAccessLog::getCreateTime, qo.getEndTime());
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,26 +1,39 @@
package com.hccake.ballcat.admin.modules.log.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminLoginLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminLoginLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO;
import org.apache.ibatis.annotations.Param;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
/**
* 登陆日志
*
* @author hccake 2020-09-16 20:21:10
*/
public interface AdminLoginLogMapper extends BaseMapper<AdminLoginLog> {
public interface AdminLoginLogMapper extends ExtendMapper<AdminLoginLog> {
/**
* 分页查询
* @param page 分页对象
* @param wrapper 查询wrapper
* @return IPage<LoginLogVO> VO分页数据
* @param pageParam 分页参数
* @param qo 查询对象
* @return 分页结果数据 PageResult
*/
IPage<AdminLoginLogVO> selectPageVo(IPage<?> page, @Param(Constants.WRAPPER) Wrapper<AdminLoginLog> wrapper);
default PageResult<AdminLoginLogVO> queryPage(PageParam pageParam, AdminLoginLogQO qo) {
IPage<AdminLoginLogVO> page = this.prodPage(pageParam);
LambdaQueryWrapperX<AdminLoginLog> wrapperX = WrappersX.lambdaQueryX(AdminLoginLog.class)
.eqIfPresent(AdminLoginLog::getUsername, qo.getUsername())
.eqIfPresent(AdminLoginLog::getTraceId, qo.getTraceId()).eqIfPresent(AdminLoginLog::getIp, qo.getIp())
.eqIfPresent(AdminLoginLog::getEventType, qo.getEventType())
.eqIfPresent(AdminLoginLog::getStatus, qo.getStatus())
.gtIfPresent(AdminLoginLog::getLoginTime, qo.getStartTime())
.ltIfPresent(AdminLoginLog::getLoginTime, qo.getEndTime());
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,7 +1,14 @@
package com.hccake.ballcat.admin.modules.log.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminOperationLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminOperationLogVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
/**
* 操作日志
@@ -9,6 +16,26 @@ import com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog;
* @author hccake
* @date 2019-10-15 20:42:32
*/
public interface AdminOperationLogMapper extends BaseMapper<AdminOperationLog> {
public interface AdminOperationLogMapper extends ExtendMapper<AdminOperationLog> {
/**
* 分页查询
* @param pageParam 分页参数
* @param qo 查询对象
* @return 分页结果数据 PageResult
*/
default PageResult<AdminOperationLogVO> queryPage(PageParam pageParam, AdminOperationLogQO qo) {
IPage<AdminOperationLogVO> page = this.prodPage(pageParam);
LambdaQueryWrapperX<AdminOperationLog> wrapperX = WrappersX.lambdaQueryX(AdminOperationLog.class)
.eqIfPresent(AdminOperationLog::getOperator, qo.getUserId())
.eqIfPresent(AdminOperationLog::getTraceId, qo.getTraceId())
.eqIfPresent(AdminOperationLog::getUri, qo.getUri()).eqIfPresent(AdminOperationLog::getIp, qo.getIp())
.eqIfPresent(AdminOperationLog::getStatus, qo.getStatus())
.eqIfPresent(AdminOperationLog::getType, qo.getType())
.gtIfPresent(AdminOperationLog::getCreateTime, qo.getStartTime())
.ltIfPresent(AdminOperationLog::getCreateTime, qo.getEndTime());
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -0,0 +1,61 @@
package com.hccake.ballcat.admin.modules.log.model.qo;
import cn.hutool.core.date.DatePattern;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* 后台访问日志
*
* @author hccake
* @date 2019-10-16 16:09:25
*/
@Data
@ApiModel(value = "后台访问日志查询对象")
public class AdminAccessLogQO {
private static final long serialVersionUID = 1L;
/**
* 追踪ID
*/
@ApiModelProperty(value = "追踪ID")
private String traceId;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 访问IP地址
*/
@ApiModelProperty(value = "访问IP地址")
private String ip;
/**
* 请求映射地址
*/
@ApiModelProperty(value = "请求映射地址")
private String matchingPattern;
/**
* 登陆时间区间(开始时间)
*/
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@ApiModelProperty(value = "开始时间(登陆时间区间)")
private LocalDateTime startTime;
/**
* 登陆时间区间(结束时间)
*/
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@ApiModelProperty(value = "结束时间(登陆时间区间)")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,71 @@
package com.hccake.ballcat.admin.modules.log.model.qo;
import cn.hutool.core.date.DatePattern;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* 操作日志查询对象
*
* @author hccake
* @date 2019-10-15 20:42:32
*/
@Data
@ApiModel(value = "操作日志查询对象")
public class AdminOperationLogQO {
/**
* 追踪ID
*/
@ApiModelProperty(value = "追踪ID")
private String traceId;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 访问IP地址
*/
@ApiModelProperty(value = "访问IP地址")
private String ip;
/**
* 请求URI
*/
@ApiModelProperty(value = "请求URI")
private String uri;
/**
* 操作状态
*/
@ApiModelProperty(value = "操作状态")
private Integer status;
/**
* 操作类型
*/
@ApiModelProperty(value = "操作类型")
private Integer type;
/**
* 登陆时间区间(开始时间)
*/
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@ApiModelProperty(value = "开始时间(登陆时间区间)")
private LocalDateTime startTime;
/**
* 登陆时间区间(结束时间)
*/
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@ApiModelProperty(value = "结束时间(登陆时间区间)")
private LocalDateTime endTime;
}

View File

@@ -0,0 +1,117 @@
package com.hccake.ballcat.admin.modules.log.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 后台访问日志展示对象
*
* @author hccake
* @date 2019-10-16 16:09:25
*/
@Data
@ApiModel(value = "后台访问日志分页展示对象")
public class AdminAccessLogVO {
private static final long serialVersionUID = 1L;
/**
* 编号
*/
@ApiModelProperty(value = "编号")
private Long id;
/**
* 追踪ID
*/
@ApiModelProperty(value = "追踪ID")
private String traceId;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户名
*/
@ApiModelProperty(value = "用户名")
private String username;
/**
* 访问IP地址
*/
@ApiModelProperty(value = "访问IP地址")
private String ip;
/**
* 用户代理
*/
@ApiModelProperty(value = "用户代理")
private String userAgent;
/**
* 请求URI
*/
@ApiModelProperty(value = "请求URI")
private String uri;
/**
* 请求映射地址
*/
@ApiModelProperty(value = "请求映射地址")
private String matchingPattern;
/**
* 操作方式
*/
@ApiModelProperty(value = "操作方式")
private String method;
/**
* 请求参数
*/
@ApiModelProperty(value = "请求参数")
private String reqParams;
/**
* 请求body
*/
@ApiModelProperty(value = "请求body")
private String reqBody;
/**
* 响应状态码
*/
@ApiModelProperty(value = "响应状态码")
private Integer httpStatus;
/**
* 响应信息
*/
@ApiModelProperty(value = "响应信息")
private String result;
/**
* 错误消息
*/
@ApiModelProperty(value = "错误消息")
private String errorMsg;
/**
* 执行时长
*/
@ApiModelProperty(value = "执行时长")
private Long time;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,100 @@
package com.hccake.ballcat.admin.modules.log.model.vo;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 操作日志视图对象
*
* @author hccake
* @date 2019-10-15 20:42:32
*/
@Data
@ApiModel(value = "操作日志视图对象")
public class AdminOperationLogVO {
private static final long serialVersionUID = 1L;
/**
* 编号
*/
@ApiModelProperty(value = "编号")
private Long id;
/**
* 追踪ID
*/
@ApiModelProperty(value = "追踪ID")
private String traceId;
/**
* 日志消息
*/
@ApiModelProperty(value = "日志消息")
private String msg;
/**
* 访问IP地址
*/
@ApiModelProperty(value = "访问IP地址")
private String ip;
/**
* 用户代理
*/
@ApiModelProperty(value = "用户代理")
private String userAgent;
/**
* 请求URI
*/
@ApiModelProperty(value = "请求URI")
private String uri;
/**
* 请求方法
*/
@ApiModelProperty(value = "请求方法")
private String method;
/**
* 操作提交的数据
*/
@ApiModelProperty(value = "操作提交的数据")
private String params;
/**
* 操作状态
*/
@ApiModelProperty(value = "操作状态")
private Integer status;
/**
* 操作类型
*/
@ApiModelProperty(value = "操作类型")
private Integer type;
/**
* 执行时长
*/
@ApiModelProperty(value = "执行时长")
private Long time;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private String operator;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
}

View File

@@ -1,7 +1,11 @@
package com.hccake.ballcat.admin.modules.log.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminAccessLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminAccessLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminAccessLogVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* 后台访问日志
@@ -9,6 +13,14 @@ import com.hccake.ballcat.admin.modules.log.model.entity.AdminAccessLog;
* @author hccake
* @date 2019-10-16 16:09:25
*/
public interface AdminAccessLogService extends IService<AdminAccessLog> {
public interface AdminAccessLogService extends ExtendService<AdminAccessLog> {
/**
* 根据QueryObject查询分页数据
* @param page 分页参数
* @param qo 查询参数对象
* @return PageResult<LoginLogVO> 分页数据
*/
PageResult<AdminAccessLogVO> queryPage(PageParam page, AdminAccessLogQO qo);
}

View File

@@ -1,24 +1,25 @@
package com.hccake.ballcat.admin.modules.log.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminLoginLog;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminLoginLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* 登陆日志
*
* @author hccake 2020-09-16 20:21:10
*/
public interface AdminLoginLogService extends IService<AdminLoginLog> {
public interface AdminLoginLogService extends ExtendService<AdminLoginLog> {
/**
* 根据QueryObject查询分页数据
* @param page 分页参数
* @param qo 查询参数对象
* @return IPage<LoginLogVO> 分页数据
* @return PageResult<LoginLogVO> 分页数据
*/
IPage<AdminLoginLogVO> selectPageVo(IPage<?> page, AdminLoginLogQO qo);
PageResult<AdminLoginLogVO> queryPage(PageParam page, AdminLoginLogQO qo);
}

View File

@@ -1,7 +1,11 @@
package com.hccake.ballcat.admin.modules.log.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminOperationLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminOperationLogVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* 操作日志
@@ -9,6 +13,14 @@ import com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog;
* @author hccake
* @date 2019-10-15 20:42:32
*/
public interface OperationLogAdminService extends IService<AdminOperationLog> {
public interface OperationLogAdminService extends ExtendService<AdminOperationLog> {
/**
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return PageResult<LoginLogVO> 分页数据
*/
PageResult<AdminOperationLogVO> queryPage(PageParam pageParam, AdminOperationLogQO qo);
}

View File

@@ -1,9 +1,13 @@
package com.hccake.ballcat.admin.modules.log.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.log.mapper.AdminAccessLogMapper;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminAccessLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminAccessLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminAccessLogVO;
import com.hccake.ballcat.admin.modules.log.service.AdminAccessLogService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +19,18 @@ import org.springframework.stereotype.Service;
*/
@Slf4j
@Service
public class AdminAccessLogServiceImpl extends ServiceImpl<AdminAccessLogMapper, AdminAccessLog>
public class AdminAccessLogServiceImpl extends ExtendServiceImpl<AdminAccessLogMapper, AdminAccessLog>
implements AdminAccessLogService {
/**
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return IPage<LoginLogVO> 分页数据
*/
@Override
public PageResult<AdminAccessLogVO> queryPage(PageParam pageParam, AdminAccessLogQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
}

View File

@@ -1,46 +0,0 @@
package com.hccake.ballcat.admin.modules.log.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.log.mapper.AdminLoginLogMapper;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminLoginLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminLoginLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO;
import com.hccake.ballcat.admin.modules.log.service.AdminLoginLogService;
import org.springframework.stereotype.Service;
/**
* 登陆日志
*
* @author hccake 2020-09-16 20:21:10
*/
@Service
public class AdminAdminLoginLogServiceImpl extends ServiceImpl<AdminLoginLogMapper, AdminLoginLog>
implements AdminLoginLogService {
private final static String TABLE_ALIAS_PREFIX = "ll.";
/**
* 根据QueryObject查询分页数据
* @param page 分页参数
* @param qo 查询参数对象
* @return IPage<LoginLogVO> 分页数据
*/
@Override
public IPage<AdminLoginLogVO> selectPageVo(IPage<?> page, AdminLoginLogQO qo) {
QueryWrapper<AdminLoginLog> wrapper = Wrappers.<AdminLoginLog>query()
.eq(StrUtil.isNotBlank(qo.getUsername()), TABLE_ALIAS_PREFIX + "username", qo.getUsername())
.eq(StrUtil.isNotBlank(qo.getTraceId()), TABLE_ALIAS_PREFIX + "trace_id", qo.getTraceId())
.eq(StrUtil.isNotBlank(qo.getIp()), TABLE_ALIAS_PREFIX + "ip", qo.getIp())
.eq(ObjectUtil.isNotNull(qo.getEventType()), TABLE_ALIAS_PREFIX + "event_type", qo.getEventType())
.eq(ObjectUtil.isNotNull(qo.getStatus()), TABLE_ALIAS_PREFIX + "status", qo.getStatus())
.gt(ObjectUtil.isNotNull(qo.getStartTime()), TABLE_ALIAS_PREFIX + "login_time", qo.getStartTime())
.lt(ObjectUtil.isNotNull(qo.getEndTime()), TABLE_ALIAS_PREFIX + "login_time", qo.getEndTime());
return baseMapper.selectPageVo(page, wrapper);
}
}

View File

@@ -0,0 +1,33 @@
package com.hccake.ballcat.admin.modules.log.service.impl;
import com.hccake.ballcat.admin.modules.log.mapper.AdminLoginLogMapper;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminLoginLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminLoginLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO;
import com.hccake.ballcat.admin.modules.log.service.AdminLoginLogService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
/**
* 登陆日志
*
* @author hccake 2020-09-16 20:21:10
*/
@Service
public class AdminLoginLogServiceImpl extends ExtendServiceImpl<AdminLoginLogMapper, AdminLoginLog>
implements AdminLoginLogService {
/**
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return PageResult<LoginLogVO> 分页数据
*/
@Override
public PageResult<AdminLoginLogVO> queryPage(PageParam pageParam, AdminLoginLogQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
}

View File

@@ -1,9 +1,13 @@
package com.hccake.ballcat.admin.modules.log.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.log.mapper.AdminOperationLogMapper;
import com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog;
import com.hccake.ballcat.admin.modules.log.model.qo.AdminOperationLogQO;
import com.hccake.ballcat.admin.modules.log.model.vo.AdminOperationLogVO;
import com.hccake.ballcat.admin.modules.log.service.OperationLogAdminService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
/**
@@ -13,7 +17,18 @@ import org.springframework.stereotype.Service;
* @date 2019-10-15 20:42:32
*/
@Service
public class OperationLogAdminServiceImpl extends ServiceImpl<AdminOperationLogMapper, AdminOperationLog>
public class OperationLogAdminServiceImpl extends ExtendServiceImpl<AdminOperationLogMapper, AdminOperationLog>
implements OperationLogAdminService {
/**
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return PageResult<LoginLogVO> 分页数据
*/
@Override
public PageResult<AdminOperationLogVO> queryPage(PageParam pageParam, AdminOperationLogQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
}

View File

@@ -1,14 +1,15 @@
package com.hccake.ballcat.admin.modules.lov.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.lov.model.Vo.LovVo;
import com.hccake.ballcat.admin.modules.lov.model.dto.LovDTO;
import com.hccake.ballcat.admin.modules.lov.model.entity.Lov;
import com.hccake.ballcat.admin.modules.lov.model.qo.LovQO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovInfoVO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovVO;
import com.hccake.ballcat.admin.modules.lov.service.LovService;
import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
@@ -26,25 +27,25 @@ import org.springframework.web.bind.annotation.*;
@Api(value = "lov", tags = "lov管理")
public class LovController {
private final LovService service;
private final LovService lovService;
/**
* 分页查询
* @param page 分页对象
* @param entity 查询对象
* @param pageParam 分页参数
* @param qo 查询对象
* @return R 通用返回体
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('sys:lov:read')")
public R<IPage<Lov>> getLovPage(Page<Lov> page, Lov entity) {
return R.ok(service.selectPage(page, entity));
public R<PageResult<LovVO>> getLovPage(PageParam pageParam, LovQO qo) {
return R.ok(lovService.queryPage(pageParam, qo));
}
@ApiOperation("根据keyword获取lov数据")
@GetMapping("/data/{keyword}")
public R<LovVo> getDataByKeyword(@PathVariable("keyword") String keyword) {
LovVo vo = service.getDataByKeyword(keyword);
public R<LovInfoVO> getDataByKeyword(@PathVariable("keyword") String keyword) {
LovInfoVO vo = lovService.getDataByKeyword(keyword);
return vo == null ? R.failed(BaseResultCode.UNKNOWN_ERROR, "获取失败!") : R.ok(vo);
}
@@ -58,7 +59,7 @@ public class LovController {
@PutMapping
@PreAuthorize("@per.hasPermission('sys:lov:add')")
public R<?> save(@RequestBody LovDTO dto) {
return service.save(dto.toLov(), dto.getBodyList(), dto.getSearchList()) ? R.ok()
return lovService.save(dto.toLov(), dto.getBodyList(), dto.getSearchList()) ? R.ok()
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "新增lov失败!");
}
@@ -72,7 +73,7 @@ public class LovController {
@PostMapping
@PreAuthorize("@per.hasPermission('sys:lov:edit')")
public R<?> updateById(@RequestBody LovDTO dto) {
return service.update(dto.toLov(), dto.getBodyList(), dto.getSearchList()) ? R.ok()
return lovService.update(dto.toLov(), dto.getBodyList(), dto.getSearchList()) ? R.ok()
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改lov失败");
}
@@ -86,7 +87,7 @@ public class LovController {
@DeleteMapping("/{id}")
@PreAuthorize("@per.hasPermission('sys:lov:del')")
public R<?> removeById(@PathVariable Integer id) {
return service.remove(id) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "通过id删除lov失败");
return lovService.remove(id) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "通过id删除lov失败");
}
}

View File

@@ -1,11 +1,11 @@
package com.hccake.ballcat.admin.modules.lov.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovBody;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
/**
* @author lingting 2020-08-10 17:23
*/
public interface LovBodyMapper extends BaseMapper<LovBody> {
public interface LovBodyMapper extends ExtendMapper<LovBody> {
}

View File

@@ -1,11 +1,34 @@
package com.hccake.ballcat.admin.modules.lov.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hccake.ballcat.admin.modules.lov.model.entity.Lov;
import com.hccake.ballcat.admin.modules.lov.model.qo.LovQO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
/**
* @author lingting 2020-08-10 17:20
*/
public interface LovMapper extends BaseMapper<Lov> {
public interface LovMapper extends ExtendMapper<Lov> {
/**
* 分页查询
* @param pageParam 分页参数
* @param qo 查询对象
* @return 分页结果数据 PageResult
*/
default PageResult<LovVO> queryPage(PageParam pageParam, LovQO qo) {
IPage<LovVO> page = this.prodPage(pageParam);
LambdaQueryWrapperX<Lov> wrapperX = WrappersX.lambdaQueryX(Lov.class)
.likeIfPresent(Lov::getKeyword, qo.getKeyword()).eqIfPresent(Lov::getMethod, qo.getMethod())
.eqIfPresent(Lov::getPosition, qo.getPosition()).likeIfPresent(Lov::getUrl, qo.getUrl())
.likeIfPresent(Lov::getTitle, qo.getTitle());
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,11 +1,11 @@
package com.hccake.ballcat.admin.modules.lov.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovSearch;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
/**
* @author lingting 2020-08-10 17:20
*/
public interface LovSearchMapper extends BaseMapper<LovSearch> {
public interface LovSearchMapper extends ExtendMapper<LovSearch> {
}

View File

@@ -0,0 +1,31 @@
package com.hccake.ballcat.admin.modules.lov.model.qo;
import com.hccake.ballcat.admin.modules.lov.enums.HttpMethod;
import com.hccake.ballcat.admin.modules.lov.enums.HttpParamsPosition;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author lingting 2020-08-12 21:35
*/
@Data
@ApiModel(value = "lov查询对象")
public class LovQO {
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("关键字唯一加载lov数据时通过关键字加载")
private String keyword;
@ApiModelProperty("获取数据时请求路径")
private String url;
@ApiModelProperty("http请求方式")
private HttpMethod method;
@ApiModelProperty("http请求参数位置")
private HttpParamsPosition position;
}

View File

@@ -1,4 +1,4 @@
package com.hccake.ballcat.admin.modules.lov.model.Vo;
package com.hccake.ballcat.admin.modules.lov.model.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hccake.ballcat.admin.modules.lov.enums.HttpMethod;
@@ -19,8 +19,8 @@ import java.util.List;
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "lov vo")
public class LovVo {
@ApiModel(value = "lov info vo")
public class LovInfoVO {
@ApiModelProperty("标题")
private String title;

View File

@@ -0,0 +1,63 @@
package com.hccake.ballcat.admin.modules.lov.model.vo;
import com.hccake.ballcat.admin.modules.lov.enums.HttpMethod;
import com.hccake.ballcat.admin.modules.lov.enums.HttpParamsPosition;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* @author lingting 2020-08-12 21:35
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "lov vo")
public class LovVO {
@ApiModelProperty("编号")
private Long id;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("关键字唯一加载lov数据时通过关键字加载")
private String keyword;
@NotBlank
@ApiModelProperty("获取数据时请求路径")
private String url;
@NotBlank
@ApiModelProperty("http请求方式")
private HttpMethod method;
@NotBlank
@ApiModelProperty("http请求参数位置")
private HttpParamsPosition position;
@ApiModelProperty("数据的key")
private String key;
@ApiModelProperty("固定请求参数,请设置 jsonString, 默认值 {}")
private String fixedParams;
@ApiModelProperty("是否需要多选")
private Boolean multiple;
@ApiModelProperty("是否需要返回数据, false则不会有确定按钮")
private Boolean ret;
@ApiModelProperty("返回数据的字段")
private String retField;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@@ -1,11 +1,11 @@
package com.hccake.ballcat.admin.modules.lov.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovBody;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* @author lingting 2020-08-10 17:20
*/
public interface LovBodyService extends IService<LovBody> {
public interface LovBodyService extends ExtendService<LovBody> {
}

View File

@@ -1,11 +1,11 @@
package com.hccake.ballcat.admin.modules.lov.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovSearch;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* @author lingting 2020-08-10 17:20
*/
public interface LovSearchService extends IService<LovSearch> {
public interface LovSearchService extends ExtendService<LovSearch> {
}

View File

@@ -1,26 +1,29 @@
package com.hccake.ballcat.admin.modules.lov.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.lov.model.Vo.LovVo;
import com.hccake.ballcat.admin.modules.lov.model.entity.Lov;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovBody;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovSearch;
import com.hccake.ballcat.admin.modules.lov.model.qo.LovQO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovInfoVO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
/**
* @author lingting 2020-08-10 17:20
*/
public interface LovService extends IService<Lov> {
public interface LovService extends ExtendService<Lov> {
/**
* 查询分页数据
* @param page 分页参数
* @param entity 查询参数对象
* @return IPage<Lov> 分页数据
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return PageResult<LoginLogVO> 分页数据
*/
IPage<Lov> selectPage(IPage<Lov> page, Lov entity);
PageResult<LovVO> queryPage(PageParam pageParam, LovQO qo);
/**
* 更新实体类
@@ -56,6 +59,6 @@ public interface LovService extends IService<Lov> {
* @return com.hccake.ballcat.admin.modules.lov.model.Vo.LovVo
* @author lingting 2020-08-12 21:38
*/
LovVo getDataByKeyword(String keyword);
LovInfoVO getDataByKeyword(String keyword);
}

View File

@@ -1,17 +1,15 @@
package com.hccake.ballcat.admin.modules.lov.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.lov.mapper.LovBodyMapper;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovBody;
import com.hccake.ballcat.admin.modules.lov.service.LovBodyService;
import lombok.RequiredArgsConstructor;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
/**
* @author lingting 2020-08-10 17:21
*/
@Service
@RequiredArgsConstructor
public class LovBodyServiceImpl extends ServiceImpl<LovBodyMapper, LovBody> implements LovBodyService {
public class LovBodyServiceImpl extends ExtendServiceImpl<LovBodyMapper, LovBody> implements LovBodyService {
}

View File

@@ -1,17 +1,15 @@
package com.hccake.ballcat.admin.modules.lov.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.lov.mapper.LovSearchMapper;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovSearch;
import com.hccake.ballcat.admin.modules.lov.service.LovSearchService;
import lombok.RequiredArgsConstructor;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
/**
* @author lingting 2020-08-10 17:21
*/
@Service
@RequiredArgsConstructor
public class LovSearchServiceImpl extends ServiceImpl<LovSearchMapper, LovSearch> implements LovSearchService {
public class LovSearchServiceImpl extends ExtendServiceImpl<LovSearchMapper, LovSearch> implements LovSearchService {
}

View File

@@ -1,19 +1,21 @@
package com.hccake.ballcat.admin.modules.lov.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.lov.mapper.LovMapper;
import com.hccake.ballcat.admin.modules.lov.model.Vo.LovVo;
import com.hccake.ballcat.admin.modules.lov.model.entity.Lov;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovBody;
import com.hccake.ballcat.admin.modules.lov.model.entity.LovSearch;
import com.hccake.ballcat.admin.modules.lov.model.qo.LovQO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovInfoVO;
import com.hccake.ballcat.admin.modules.lov.model.vo.LovVO;
import com.hccake.ballcat.admin.modules.lov.service.LovBodyService;
import com.hccake.ballcat.admin.modules.lov.service.LovSearchService;
import com.hccake.ballcat.admin.modules.lov.service.LovService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.exception.BusinessException;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,25 +30,15 @@ import java.util.stream.Collectors;
*/
@Service
@RequiredArgsConstructor
public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovService {
public class LovServiceImpl extends ExtendServiceImpl<LovMapper, Lov> implements LovService {
private final LovBodyService bodyService;
private final LovSearchService searchService;
@Override
public IPage<Lov> selectPage(IPage<Lov> page, Lov entity) {
return baseMapper.selectPage(page, Wrappers.<Lov>lambdaQuery()
.like(StrUtil.isNotEmpty(entity.getKeyword()), Lov::getKeyword, entity.getKeyword())
.eq(entity.getMethod() != null, Lov::getMethod, entity.getMethod())
.eq(entity.getPosition() != null, Lov::getPosition, entity.getPosition())
.like(StrUtil.isNotEmpty(entity.getUrl()), Lov::getUrl, entity.getUrl())
.like(StrUtil.isNotEmpty(entity.getTitle()), Lov::getTitle, entity.getTitle()));
public PageResult<LovVO> queryPage(PageParam pageParam, LovQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
@Override
@@ -128,12 +120,13 @@ public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovSe
}
@Override
public LovVo getDataByKeyword(String keyword) {
public LovInfoVO getDataByKeyword(String keyword) {
Lov lov = baseMapper.selectOne(Wrappers.<Lov>lambdaQuery().eq(Lov::getKeyword, keyword));
if (lov != null) {
LovVo vo = new LovVo().setKey(lov.getKey()).setFixedParams(lov.getFixedParams()).setMethod(lov.getMethod())
.setKeyword(lov.getKeyword()).setMultiple(lov.getMultiple()).setPosition(lov.getPosition())
.setRet(lov.getRet()).setTitle(lov.getTitle()).setUrl(lov.getUrl()).setRetField(lov.getRetField());
LovInfoVO vo = new LovInfoVO().setKey(lov.getKey()).setFixedParams(lov.getFixedParams())
.setMethod(lov.getMethod()).setKeyword(lov.getKeyword()).setMultiple(lov.getMultiple())
.setPosition(lov.getPosition()).setRet(lov.getRet()).setTitle(lov.getTitle()).setUrl(lov.getUrl())
.setRetField(lov.getRetField());
vo.setBodyList(bodyService.list(Wrappers.<LovBody>lambdaQuery().eq(LovBody::getKeyword, lov.getKeyword())));
vo.setSearchList(
searchService.list(Wrappers.<LovSearch>lambdaQuery().eq(LovSearch::getKeyword, lov.getKeyword())));

View File

@@ -1,7 +1,5 @@
package com.hccake.ballcat.admin.modules.notify.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.notify.model.dto.AnnouncementDTO;
import com.hccake.ballcat.admin.modules.notify.model.entity.Announcement;
import com.hccake.ballcat.admin.modules.notify.model.qo.AnnouncementQO;
@@ -11,6 +9,8 @@ import com.hccake.ballcat.admin.oauth.util.SecurityUtils;
import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
@@ -38,15 +38,15 @@ public class AnnouncementController {
/**
* 分页查询
* @param page 分页对象
* @param pageParam 分页对象
* @param announcementQO 公告信息查询对象
* @return R 通用返回体
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('notify:announcement:read')")
public R<IPage<AnnouncementVO>> getAnnouncementPage(Page<?> page, AnnouncementQO announcementQO) {
return R.ok(announcementService.selectPageVo(page, announcementQO));
public R<PageResult<AnnouncementVO>> getAnnouncementPage(PageParam pageParam, AnnouncementQO announcementQO) {
return R.ok(announcementService.queryPage(pageParam, announcementQO));
}
/**

View File

@@ -1,23 +1,19 @@
package com.hccake.ballcat.admin.modules.notify.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.notify.model.entity.Announcement;
import com.hccake.ballcat.admin.modules.notify.model.qo.UserAnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO;
import com.hccake.ballcat.admin.modules.notify.service.UserAnnouncementService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 用户公告表
*
@@ -33,15 +29,16 @@ public class UserAnnouncementController {
/**
* 分页查询
* @param page 分页对象
* @param pageParam 分页参数
* @param userAnnouncementQO 用户公告表查询对象
* @return R 通用返回体
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('notify:userannouncement:read')")
public R<IPage<UserAnnouncementVO>> getUserAnnouncementPage(Page<?> page, UserAnnouncementQO userAnnouncementQO) {
return R.ok(userAnnouncementService.selectPageVo(page, userAnnouncementQO));
public R<PageResult<UserAnnouncementVO>> getUserAnnouncementPage(PageParam pageParam,
UserAnnouncementQO userAnnouncementQO) {
return R.ok(userAnnouncementService.queryPage(pageParam, userAnnouncementQO));
}
}

View File

@@ -1,11 +1,14 @@
package com.hccake.ballcat.admin.modules.notify.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.hccake.ballcat.admin.modules.notify.model.entity.Announcement;
import com.hccake.ballcat.admin.modules.notify.model.qo.AnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.model.vo.AnnouncementVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -15,15 +18,23 @@ import java.util.List;
*
* @author hccake 2020-12-15 17:01:15
*/
public interface AnnouncementMapper extends BaseMapper<Announcement> {
public interface AnnouncementMapper extends ExtendMapper<Announcement> {
/**
* 分页查询
* @param page 分页对象
* @param wrapper 查询wrapper
* @return IPage<AnnouncementVO> VO分页数据
* @param pageParam 分页参数
* @param qo 查询对象
* @return 分页结果数据 PageResult
*/
IPage<AnnouncementVO> selectPageVo(IPage<?> page, @Param(Constants.WRAPPER) Wrapper<Announcement> wrapper);
default PageResult<AnnouncementVO> queryPage(PageParam pageParam, AnnouncementQO qo) {
IPage<AnnouncementVO> page = this.prodPage(pageParam);
LambdaQueryWrapperX<Announcement> wrapperX = WrappersX.lambdaAliasQueryX(Announcement.class)
.likeIfPresent(Announcement::getTitle, qo.getTitle())
.inIfPresent(Announcement::getStatus, (Object[]) qo.getStatus())
.eqIfPresent(Announcement::getRecipientFilterType, qo.getRecipientFilterType());
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
/**
* 根据参数获取当前用户拉取过,或者未拉取过的有效的公告信息

View File

@@ -1,26 +1,34 @@
package com.hccake.ballcat.admin.modules.notify.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.hccake.ballcat.admin.modules.notify.model.entity.UserAnnouncement;
import com.hccake.ballcat.admin.modules.notify.model.qo.UserAnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO;
import org.apache.ibatis.annotations.Param;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
/**
* 用户公告表
*
* @author hccake 2020-12-25 08:04:53
*/
public interface UserAnnouncementMapper extends BaseMapper<UserAnnouncement> {
public interface UserAnnouncementMapper extends ExtendMapper<UserAnnouncement> {
/**
* 分页查询
* @param page 分页对象
* @param wrapper 查询wrapper
* @return IPage<UserAnnouncementVO> VO分页数据
* @param pageParam 分页参数
* @param qo 查询对象
* @return 分页结果数据 PageResult
*/
IPage<UserAnnouncementVO> selectPageVo(IPage<?> page, @Param(Constants.WRAPPER) Wrapper<UserAnnouncement> wrapper);
default PageResult<UserAnnouncementVO> queryPage(PageParam pageParam, UserAnnouncementQO qo) {
IPage<UserAnnouncementVO> page = this.prodPage(pageParam);
LambdaQueryWrapperX<UserAnnouncement> wrapperX = WrappersX.lambdaAliasQueryX(UserAnnouncement.class)
.eqIfPresent(UserAnnouncement::getId, qo.getId());
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,7 +1,11 @@
package com.hccake.ballcat.admin.modules.notify.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.hccake.extend.mybatis.plus.alias.TableAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -15,12 +19,15 @@ import java.util.List;
* @author hccake 2020-12-15 17:01:15
*/
@Data
@TableAlias(Announcement.TABLE_ALIAS)
@TableName(value = "notify_announcement", autoResultMap = true)
@ApiModel(value = "公告信息")
public class Announcement {
private static final long serialVersionUID = 1L;
public final static String TABLE_ALIAS = "a";
/**
* ID
*/

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.extend.mybatis.plus.alias.TableAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -16,12 +17,15 @@ import java.time.LocalDateTime;
* @author hccake 2020-12-25 08:04:53
*/
@Data
@TableAlias(UserAnnouncement.TABLE_ALIAS)
@TableName("notify_user_announcement")
@ApiModel(value = "用户公告表")
public class UserAnnouncement {
private static final long serialVersionUID = 1L;
public final static String TABLE_ALIAS = "ua";
/**
* ID
*/

View File

@@ -1,11 +1,12 @@
package com.hccake.ballcat.admin.modules.notify.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.notify.model.dto.AnnouncementDTO;
import com.hccake.ballcat.admin.modules.notify.model.entity.Announcement;
import com.hccake.ballcat.admin.modules.notify.model.vo.AnnouncementVO;
import com.hccake.ballcat.admin.modules.notify.model.qo.AnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.model.vo.AnnouncementVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -15,15 +16,15 @@ import java.util.List;
*
* @author hccake 2020-12-15 17:01:15
*/
public interface AnnouncementService extends IService<Announcement> {
public interface AnnouncementService extends ExtendService<Announcement> {
/**
* 根据QueryObeject查询分页数据
* 根据QueryObject查询分页数据
* @param page 分页参数
* @param qo 查询参数对象
* @return IPage<AnnouncementVO> 分页数据
* @return PageResult<AnnouncementVO> 分页数据
*/
IPage<AnnouncementVO> selectPageVo(IPage<?> page, AnnouncementQO qo);
PageResult<AnnouncementVO> queryPage(PageParam page, AnnouncementQO qo);
/**
* 创建公告

View File

@@ -1,25 +1,26 @@
package com.hccake.ballcat.admin.modules.notify.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.notify.model.entity.UserAnnouncement;
import com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO;
import com.hccake.ballcat.admin.modules.notify.model.qo.UserAnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* 用户公告表
*
* @author hccake 2020-12-25 08:04:53
*/
public interface UserAnnouncementService extends IService<UserAnnouncement> {
public interface UserAnnouncementService extends ExtendService<UserAnnouncement> {
/**
* 根据QueryObeject查询分页数据
* @param page 分页参数
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return IPage<UserAnnouncementVO> 分页数据
* @return PageResult<AnnouncementVO> 分页数据
*/
IPage<UserAnnouncementVO> selectPageVo(IPage<?> page, UserAnnouncementQO qo);
PageResult<UserAnnouncementVO> queryPage(PageParam pageParam, UserAnnouncementQO qo);
/**
* 根据用户ID和公告id初始化一个新的用户公告关联对象

View File

@@ -2,12 +2,8 @@ package com.hccake.ballcat.admin.modules.notify.service.impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.hccake.ballcat.admin.constants.AnnouncementStatusEnum;
import com.hccake.ballcat.admin.modules.notify.event.AnnouncementCloseEvent;
@@ -25,9 +21,12 @@ import com.hccake.ballcat.admin.modules.notify.service.AnnouncementService;
import com.hccake.ballcat.admin.modules.notify.service.UserAnnouncementService;
import com.hccake.ballcat.admin.modules.sys.service.FileService;
import com.hccake.ballcat.common.core.constant.enums.BooleanEnum;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.exception.BusinessException;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.ballcat.common.core.result.SystemResultCode;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationEventPublisher;
@@ -50,11 +49,9 @@ import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class AnnouncementServiceImpl extends ServiceImpl<AnnouncementMapper, Announcement>
public class AnnouncementServiceImpl extends ExtendServiceImpl<AnnouncementMapper, Announcement>
implements AnnouncementService {
private final static String TABLE_ALIAS_PREFIX = "a.";
private final ApplicationEventPublisher publisher;
private final FileService fileService;
@@ -63,18 +60,13 @@ public class AnnouncementServiceImpl extends ServiceImpl<AnnouncementMapper, Ann
/**
* 根据QueryObject查询分页数据
* @param page 分页参数
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return IPage<AnnouncementVO> 分页数据
* @return PageResult<AnnouncementVO> 分页数据
*/
@Override
public IPage<AnnouncementVO> selectPageVo(IPage<?> page, AnnouncementQO qo) {
QueryWrapper<Announcement> wrapper = Wrappers.<Announcement>query()
.like(StrUtil.isNotBlank(qo.getTitle()), TABLE_ALIAS_PREFIX + "title", qo.getTitle())
.in(qo.getStatus() != null && qo.getStatus().length > 0, TABLE_ALIAS_PREFIX + "status", qo.getStatus())
.eq(ObjectUtil.isNotNull(qo.getRecipientFilterType()), TABLE_ALIAS_PREFIX + "recipient_filter_type",
qo.getRecipientFilterType());
return baseMapper.selectPageVo(page, wrapper);
public PageResult<AnnouncementVO> queryPage(PageParam pageParam, AnnouncementQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
/**

View File

@@ -1,15 +1,13 @@
package com.hccake.ballcat.admin.modules.notify.service.impl;
import cn.hutool.core.util.ObjectUtil;
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.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.notify.model.entity.UserAnnouncement;
import com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO;
import com.hccake.ballcat.admin.modules.notify.model.qo.UserAnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.mapper.UserAnnouncementMapper;
import com.hccake.ballcat.admin.modules.notify.model.entity.UserAnnouncement;
import com.hccake.ballcat.admin.modules.notify.model.qo.UserAnnouncementQO;
import com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO;
import com.hccake.ballcat.admin.modules.notify.service.UserAnnouncementService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@@ -20,22 +18,18 @@ import java.time.LocalDateTime;
* @author hccake 2020-12-25 08:04:53
*/
@Service
public class UserAnnouncementServiceImpl extends ServiceImpl<UserAnnouncementMapper, UserAnnouncement>
public class UserAnnouncementServiceImpl extends ExtendServiceImpl<UserAnnouncementMapper, UserAnnouncement>
implements UserAnnouncementService {
private final static String TABLE_ALIAS_PREFIX = "ua.";
/**
* 根据QueryObeject查询分页数据
* @param page 分页参数
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return IPage<UserAnnouncementVO> 分页数据
* @return PageResult<UserAnnouncementVO> 分页数据
*/
@Override
public IPage<UserAnnouncementVO> selectPageVo(IPage<?> page, UserAnnouncementQO qo) {
QueryWrapper<UserAnnouncement> wrapper = Wrappers.<UserAnnouncement>query().eq(ObjectUtil.isNotNull(qo.getId()),
TABLE_ALIAS_PREFIX + "id", qo.getId());
return baseMapper.selectPageVo(page, wrapper);
public PageResult<UserAnnouncementVO> queryPage(PageParam pageParam, UserAnnouncementQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
/**

View File

@@ -1,14 +1,15 @@
package com.hccake.ballcat.admin.modules.sys.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysConfig;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysConfigQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysConfigVO;
import com.hccake.ballcat.admin.modules.sys.service.SysConfigService;
import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.R;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysConfig;
import com.hccake.ballcat.admin.modules.sys.service.SysConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -31,15 +32,15 @@ public class SysConfigController {
/**
* 分页查询
* @param page 分页对象
* @param sysConfig 系统配置表
* @return
* @param pageParam 分页参数
* @param sysConfigQO 系统配置表
* @return R<PageResult<SysConfigVO>>
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('sys:config:read')")
public R<IPage<SysConfig>> getSysConfigPage(Page<SysConfig> page, SysConfig sysConfig) {
return R.ok(sysConfigService.page(page, Wrappers.query(sysConfig)));
public R<PageResult<SysConfigVO>> getSysConfigPage(PageParam pageParam, SysConfigQO sysConfigQO) {
return R.ok(sysConfigService.queryPage(pageParam, sysConfigQO));
}
/**

View File

@@ -1,15 +1,17 @@
package com.hccake.ballcat.admin.modules.sys.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.sys.manager.SysDictManager;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.DictDataVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictItemVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictVO;
import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.ballcat.common.core.result.R;
import io.swagger.annotations.Api;
@@ -57,15 +59,15 @@ public class SysDictController {
/**
* 分页查询
* @param page 分页对象
* @param sysDictQO 字典
* @return R
* @param pageParam 分页参数
* @param sysDictQO 字典查询参数
* @return R<PageResult<SysDictVO>>
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('sys:dict:read')")
public R<IPage<SysDict>> getSysDictPage(Page<SysDict> page, SysDictQO sysDictQO) {
return R.ok(sysDictManager.dictPage(page, sysDictQO));
public R<PageResult<SysDictVO>> getSysDictPage(PageParam pageParam, SysDictQO sysDictQO) {
return R.ok(sysDictManager.dictPage(pageParam, sysDictQO));
}
/**
@@ -111,15 +113,16 @@ public class SysDictController {
/**
* 分页查询
* @param page 分页对象
* @param pageParam 分页参数
* @param dictCode 字典标识
* @return R
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/item/page")
@PreAuthorize("@per.hasPermission('sys:dict:read')")
public R<IPage<SysDictItem>> getSysDictItemPage(Page<SysDictItem> page, @RequestParam("dictCode") String dictCode) {
return R.ok(sysDictManager.dictItemPage(page, dictCode));
public R<PageResult<SysDictItemVO>> getSysDictItemPage(PageParam pageParam,
@RequestParam("dictCode") String dictCode) {
return R.ok(sysDictManager.dictItemPage(pageParam, dictCode));
}
/**

View File

@@ -1,23 +1,24 @@
package com.hccake.ballcat.admin.modules.sys.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.constants.SysRoleConst;
import com.hccake.ballcat.admin.modules.sys.model.converter.SysRoleConverter;
import com.hccake.ballcat.admin.modules.sys.model.dto.SysRoleUpdateDTO;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysRoleQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.PermissionVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysRoleVO;
import com.hccake.ballcat.admin.modules.sys.service.SysPermissionService;
import com.hccake.ballcat.admin.modules.sys.service.SysRolePermissionService;
import com.hccake.ballcat.admin.modules.sys.service.SysRoleService;
import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.ballcat.common.core.result.R;
import com.hccake.ballcat.common.core.vo.SelectData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -45,13 +46,13 @@ public class SysRoleController {
/**
* 分页查询角色信息
* @param page 分页对象
* @return 分页对象
* @param pageParam 分页参数
* @return PageResult 分页结果
*/
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('sys:sysrole:read')")
public R<IPage<SysRole>> getRolePage(Page<SysRole> page, SysRoleQO sysRoleQo) {
return R.ok(sysRoleService.page(page, sysRoleQo));
public R<PageResult<SysRoleVO>> getRolePage(PageParam pageParam, SysRoleQO sysRoleQo) {
return R.ok(sysRoleService.queryPage(pageParam, sysRoleQo));
}
/**

View File

@@ -16,10 +16,12 @@ import com.hccake.ballcat.admin.modules.sys.service.SysUserService;
import com.hccake.ballcat.commom.log.operation.annotation.CreateOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.DeleteOperationLogging;
import com.hccake.ballcat.commom.log.operation.annotation.UpdateOperationLogging;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.ballcat.common.core.result.R;
import com.hccake.ballcat.common.core.result.SystemResultCode;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.ballcat.common.core.domain.SelectData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -54,13 +56,13 @@ public class SysUserController {
/**
* 分页查询用户
* @param page 参数集
* @param pageParam 参数集
* @return 用户集合
*/
@GetMapping("/page")
@PreAuthorize("@per.hasPermission('sys:sysuser:read')")
public R<IPage<SysUserVO>> getUserPage(Page<?> page, SysUserQO qo) {
return R.ok(sysUserService.selectPageVo(page, qo));
public R<PageResult<SysUserVO>> getUserPage(PageParam pageParam, SysUserQO qo) {
return R.ok(sysUserService.queryPage(pageParam, qo));
}
/**

View File

@@ -2,9 +2,7 @@ package com.hccake.ballcat.admin.modules.sys.manager;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hccake.ballcat.admin.modules.sys.event.DictChangeEvent;
import com.hccake.ballcat.admin.modules.sys.model.converter.SysDictConverter;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
@@ -12,9 +10,13 @@ import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.DictDataVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.DictItemVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictItemVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictVO;
import com.hccake.ballcat.admin.modules.sys.service.SysDictItemService;
import com.hccake.ballcat.admin.modules.sys.service.SysDictService;
import com.hccake.ballcat.common.core.constant.enums.BooleanEnum;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.exception.BusinessException;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import lombok.RequiredArgsConstructor;
@@ -45,12 +47,12 @@ public class SysDictManager {
/**
* 字典表分页
* @param page 分页参数
* @param pageParam 分页参数
* @param sysDictQO 查询参数
* @return 字典表分页数据
*/
public IPage<SysDict> dictPage(Page<SysDict> page, SysDictQO sysDictQO) {
return sysDictService.page(page, sysDictQO);
public PageResult<SysDictVO> dictPage(PageParam pageParam, SysDictQO sysDictQO) {
return sysDictService.queryPage(pageParam, sysDictQO);
}
/**
@@ -105,12 +107,12 @@ public class SysDictManager {
/**
* 字典项分页
* @param page 分页属性
* @param pageParam 分页属性
* @param dictCode 字典标识
* @return 字典项分页数据
*/
public IPage<SysDictItem> dictItemPage(Page<SysDictItem> page, String dictCode) {
return sysDictItemService.page(page, dictCode);
public PageResult<SysDictItemVO> dictItemPage(PageParam pageParam, String dictCode) {
return sysDictItemService.queryPage(pageParam, dictCode);
}
/**

View File

@@ -1,7 +1,13 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysConfigQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysConfigVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
/**
* 系统配置表
@@ -9,6 +15,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author ballcat code generator
* @date 2019-10-14 17:42:23
*/
public interface SysConfigMapper extends BaseMapper<SysConfig> {
public interface SysConfigMapper extends ExtendMapper<SysConfig> {
/**
* 分页查询
* @param pageParam 分页参数
* @param sysConfigQO 查询参数
* @return PageResult<SysRoleVO>
*/
default PageResult<SysConfigVO> queryPage(PageParam pageParam, SysConfigQO sysConfigQO) {
IPage<SysConfigVO> page = this.prodPage(pageParam);
this.selectByPage(page, Wrappers.emptyWrapper());
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,11 +1,13 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
import com.hccake.ballcat.common.core.vo.SelectData;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictItemVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
/**
* 字典项
@@ -13,13 +15,20 @@ import java.util.List;
* @author hccake
* @date 2020-03-26 18:40:20
*/
public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
public interface SysDictItemMapper extends ExtendMapper<SysDictItem> {
/**
* 根据字典标识查询对应字典选择项
* 分页查询
* @param pageParam 分页参数
* @param dictCode 字典标识
* @return 对应字典项的SelectData
* @return PageResult<SysRoleVO>
*/
List<SelectData> querySelectDataByDictCode(@Param("dictCode") String dictCode);
default PageResult<SysDictItemVO> queryPage(PageParam pageParam, String dictCode) {
IPage<SysDictItemVO> page = this.prodPage(pageParam);
LambdaQueryWrapper<SysDictItem> wrapper = Wrappers.lambdaQuery(SysDictItem.class).eq(SysDictItem::getDictCode,
dictCode);
this.selectByPage(page, wrapper);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,7 +1,15 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
/**
* 字典表
@@ -9,6 +17,21 @@ import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
* @author hccake
* @date 2020-03-26 18:40:20
*/
public interface SysDictMapper extends BaseMapper<SysDict> {
public interface SysDictMapper extends ExtendMapper<SysDict> {
/**
* 分页查询
* @param pageParam 分页参数
* @param qo 查询对象
* @return PageResult<SysRoleVO>
*/
default PageResult<SysDictVO> queryPage(PageParam pageParam, SysDictQO qo) {
IPage<SysDictVO> page = this.prodPage(pageParam);
LambdaQueryWrapper<SysDict> wrapper = Wrappers.lambdaQuery(SysDict.class)
.like(StrUtil.isNotBlank(qo.getCode()), SysDict::getCode, qo.getCode())
.like(StrUtil.isNotBlank(qo.getTitle()), SysDict::getTitle, qo.getTitle());
this.selectByPage(page, wrapper);
return new PageResult<>(page.getRecords(), page.getTotal());
}
}

View File

@@ -1,7 +1,7 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysOrganization;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -11,7 +11,7 @@ import java.util.List;
*
* @author hccake 2020-09-23 12:09:43
*/
public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
public interface SysOrganizationMapper extends ExtendMapper<SysOrganization> {
/**
* 跟随父节点移动子节点

View File

@@ -1,22 +1,22 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysPermission;
import com.hccake.ballcat.admin.modules.sys.model.vo.PermissionVO;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import java.util.List;
/**
* 菜单权限表 Mapper 接口
*
* @author
* @author hccake
*/
public interface SysPermissionMapper extends BaseMapper<SysPermission> {
public interface SysPermissionMapper extends ExtendMapper<SysPermission> {
/**
* 通过角色ID查询权限
* @param roleCode 角色ID
* @return
* @return 指定角色拥有的权限列表
*/
List<PermissionVO> listPermissionVOsByRoleCode(String roleCode);

View File

@@ -1,8 +1,16 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysRoleQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysRoleVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import java.util.List;
@@ -14,11 +22,28 @@ import java.util.List;
* @author ballcat
* @since 2017-10-29
*/
public interface SysRoleMapper extends BaseMapper<SysRole> {
public interface SysRoleMapper extends ExtendMapper<SysRole> {
/**
* 分页查询
* @param pageParam 分页参数
* @param qo 查询对象
* @return PageResult<SysRoleVO>
*/
default PageResult<SysRoleVO> queryPage(PageParam pageParam, SysRoleQO qo) {
IPage<SysRoleVO> page = this.prodPage(pageParam);
LambdaQueryWrapper<SysRole> wrapper = Wrappers.<SysRole>lambdaQuery()
.like(StrUtil.isNotBlank(qo.getName()), SysRole::getName, qo.getName())
.like(StrUtil.isNotBlank(qo.getCode()), SysRole::getCode, qo.getCode())
.between(StrUtil.isNotBlank(qo.getStartTime()) && StrUtil.isNotBlank(qo.getEndTime()),
SysRole::getCreateTime, qo.getStartTime(), qo.getEndTime());
this.selectByPage(page, wrapper);
return new PageResult<>(page.getRecords(), page.getTotal());
}
/**
* 获取角色下拉框数据
* @return
* @return 下拉选择框数据集合
*/
List<SelectData<?>> getSelectData();

View File

@@ -1,16 +1,16 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRolePermission;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
/**
* <p>
* 角色菜单表 Mapper 接口
* </p>
*
* @author
* @author hccake
* @since 2017-10-29
*/
public interface SysRolePermissionMapper extends BaseMapper<SysRolePermission> {
public interface SysRolePermissionMapper extends ExtendMapper<SysRolePermission> {
}

View File

@@ -1,12 +1,17 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysUser;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysUserQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysUserVO;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.ballcat.common.core.constant.GlobalConstants;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaAliasQueryWrapperX;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -16,15 +21,29 @@ import java.util.List;
*
* @author Hccake
*/
public interface SysUserMapper extends BaseMapper<SysUser> {
public interface SysUserMapper extends ExtendMapper<SysUser> {
/**
* 分页查询
* @param page 分页对象
* @param wrapper 查询条件wrapper
* @return Page<SysUserVO>
* @param pageParam 分页参数
* @param qo 查询对象
* @return PageResult<SysUserVO>
*/
IPage<SysUserVO> selectPageVo(IPage<?> page, @Param(Constants.WRAPPER) QueryWrapper<SysUser> wrapper);
default PageResult<SysUserVO> queryPage(PageParam pageParam, SysUserQO qo) {
IPage<SysUserVO> page = this.prodPage(pageParam);
LambdaAliasQueryWrapperX<SysUser> wrapperX = WrappersX.lambdaAliasQueryX(SysUser.class);
wrapperX.eq(SysUser::getDeleted, GlobalConstants.NOT_DELETED_FLAG)
.likeIfPresent(SysUser::getUsername, qo.getUsername()).likeIfPresent(SysUser::getEmail, qo.getEmail())
.likeIfPresent(SysUser::getPhone, qo.getPhone()).likeIfPresent(SysUser::getNickname, qo.getNickname())
.eqIfPresent(SysUser::getStatus, qo.getStatus()).eqIfPresent(SysUser::getSex, qo.getSex())
.eqIfPresent(SysUser::getType, qo.getType())
.inIfPresent(SysUser::getOrganizationId, qo.getOrganizationId());
if (StringUtils.isNotBlank(qo.getStartTime()) && StringUtils.isNotBlank(qo.getEndTime())) {
wrapperX.between(SysUser::getCreateTime, qo.getStartTime(), qo.getEndTime());
}
this.selectByPage(page, wrapperX);
return new PageResult<>(page.getRecords(), page.getTotal());
}
/**
* 根据RoleCode 查询对应用户

View File

@@ -1,8 +1,8 @@
package com.hccake.ballcat.admin.modules.sys.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysUserRole;
import com.hccake.extend.mybatis.plus.mapper.ExtendMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,30 +12,30 @@ import java.util.List;
* 用户角色表 Mapper 接口
* </p>
*
* @author
* @author hccake
* @since 2017-10-29
*/
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
public interface SysUserRoleMapper extends ExtendMapper<SysUserRole> {
/**
* 通过用户ID查询角色s
* @param userId
* @return
* 通过用户ID查询角色
* @param userId 用户ID
* @return 用户拥有的角色集合
*/
List<SysRole> getRoles(Integer userId);
/**
* 删除用户关联关系
* @param userId
* @return
* @param userId 用户ID
* @return boolean 删除是否成功
*/
Boolean deleteByUserId(@Param("userId") Integer userId);
/**
* 插入用户关联关系
* @param userId
* @param roleCodes
* @return
* @param userId 用户ID
* @param roleCodes 角色标识集合
* @return boolean 插入是否成功
*/
Boolean insertUserRoles(@Param("userId") Integer userId, @Param("roleCodes") List<String> roleCodes);

View File

@@ -1,6 +1,7 @@
package com.hccake.ballcat.admin.modules.sys.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.hccake.extend.mybatis.plus.alias.TableAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -15,6 +16,7 @@ import java.time.LocalDateTime;
* @date 2019-09-12 20:39:31
*/
@Data
@TableAlias("su")
@TableName("sys_user")
@ApiModel(value = "系统用户表")
public class SysUser implements Serializable {

View File

@@ -0,0 +1,35 @@
package com.hccake.ballcat.admin.modules.sys.model.qo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 系统配置表
*
* @author ballcat code generator
* @date 2019-10-14 17:42:23
*/
@Data
@ApiModel(value = "基础配置")
public class SysConfigQO {
/**
* 配置名称
*/
@ApiModelProperty(value = "配置名称")
private String name;
/**
* 配置在缓存中的key名
*/
@ApiModelProperty(value = "配置在缓存中的key名")
private String confKey;
/**
* 分类
*/
@ApiModelProperty(value = "分类")
private String category;
}

View File

@@ -0,0 +1,67 @@
package com.hccake.ballcat.admin.modules.sys.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 系统配置表
*
* @author ballcat code generator
* @date 2019-10-14 17:42:23
*/
@Data
@ApiModel(value = "基础配置")
public class SysConfigVO {
/**
* 主键
*/
@ApiModelProperty(value = "主键ID")
private Integer id;
/**
* 配置名称
*/
@ApiModelProperty(value = "配置名称")
private String name;
/**
* 配置在缓存中的key名
*/
@ApiModelProperty(value = "配置在缓存中的key名")
private String confKey;
/**
* 配置值
*/
@ApiModelProperty(value = "配置值")
private String confValue;
/**
* 分类
*/
@ApiModelProperty(value = "分类")
private String category;
/**
* 描述
*/
@ApiModelProperty(value = "描述")
private String description;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,79 @@
package com.hccake.ballcat.admin.modules.sys.model.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Map;
/**
* 字典项
*
* @author hccake
* @date 2020-03-26 18:40:20
*/
@Data
@ApiModel(value = "字典项")
public class SysDictItemVO {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ApiModelProperty(value = "ID")
private Integer id;
/**
* 字典标识
*/
@ApiModelProperty(value = "字典标识")
private String dictCode;
/**
* 数据值
*/
@ApiModelProperty(value = "数据值")
private String value;
/**
* 文本值
*/
@ApiModelProperty(value = "文本值")
private String name;
/**
* 附加属性值
*/
@TableField(typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "附加属性值")
private Map<String, Object> attributes;
/**
* 排序(升序)
*/
@ApiModelProperty(value = "排序(升序)")
private Integer sort;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,75 @@
package com.hccake.ballcat.admin.modules.sys.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 字典表
*
* @author hccake
* @date 2020-03-26 18:40:20
*/
@Data
@ApiModel(value = "字典表")
public class SysDictVO {
private static final long serialVersionUID = 1L;
/**
* 编号
*/
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 标识
*/
@ApiModelProperty(value = "标识")
private String code;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String title;
/**
* Hash值
*/
@ApiModelProperty(value = "Hash值")
private String hashCode;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 可编辑的
*/
@ApiModelProperty(value = "1是 0")
private Integer editable;
/**
* 数据类型
*/
@ApiModelProperty("数据类型,1:Number 2:String 3:Boolean")
private Integer valueType;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,47 @@
package com.hccake.ballcat.admin.modules.sys.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* <p>
* 角色表
* </p>
*
* @author ballcat
* @since 2017-10-29
*/
@Data
@ApiModel(value = "角色")
public class SysRoleVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "角色编号")
private Integer id;
@ApiModelProperty(value = "角色名称")
private String name;
@ApiModelProperty(value = "角色标识")
private String code;
@ApiModelProperty(value = "角色备注")
private String note;
@ApiModelProperty("角色类型1系统角色 2业务角色")
private Integer type;
@ApiModelProperty("数据权限1全部2本人3本人及子部门4本部门")
private Integer scopeType;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -1,7 +1,11 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysConfigQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysConfigVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* 系统配置表
@@ -9,11 +13,19 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @author ballcat code generator
* @date 2019-10-14 17:42:23
*/
public interface SysConfigService extends IService<SysConfig> {
public interface SysConfigService extends ExtendService<SysConfig> {
/**
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param sysConfigQO 查询参数对象
* @return 分页数据
*/
PageResult<SysConfigVO> queryPage(PageParam pageParam, SysConfigQO sysConfigQO);
/**
* 根据配置key获取对应value
* @param confKey
* @param confKey 配置key
* @return confValue
*/
String getConfValueByKey(String confKey);

View File

@@ -1,8 +1,10 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictItemVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
@@ -12,20 +14,20 @@ import java.util.List;
* @author hccake
* @date 2020-03-26 18:40:20
*/
public interface SysDictItemService extends IService<SysDictItem> {
public interface SysDictItemService extends ExtendService<SysDictItem> {
/**
* 根据QueryObeject查询分页数据
* @param page 分页参数
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param dictCode 查询参数对象
* @return 分页数据
*/
IPage<SysDictItem> page(IPage<SysDictItem> page, String dictCode);
PageResult<SysDictItemVO> queryPage(PageParam pageParam, String dictCode);
/**
* 根据Code查询对应字典项数据
* @param dictCode
* @return
* @param dictCode 字典标识
* @return 该字典对应的字典项集合
*/
List<SysDictItem> getByDictCode(String dictCode);

View File

@@ -1,9 +1,11 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
@@ -13,15 +15,15 @@ import java.util.List;
* @author hccake
* @date 2020-03-26 18:40:20
*/
public interface SysDictService extends IService<SysDict> {
public interface SysDictService extends ExtendService<SysDict> {
/**
* 根据QueryObeject查询分页数据
* @param page 分页参数
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return 分页数据
* @return PageResult<SysDictVO> 分页数据
*/
IPage<SysDict> page(IPage<SysDict> page, SysDictQO qo);
PageResult<SysDictVO> queryPage(PageParam pageParam, SysDictQO qo);
/**
* 根据字典标识查询

View File

@@ -1,9 +1,9 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.dto.SysOrganizationDTO;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysOrganization;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysOrganizationTree;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
@@ -12,7 +12,7 @@ import java.util.List;
*
* @author hccake 2020-09-23 12:09:43
*/
public interface SysOrganizationService extends IService<SysOrganization> {
public interface SysOrganizationService extends ExtendService<SysOrganization> {
/**
* 返回组织架构的树形结构

View File

@@ -1,8 +1,8 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysPermission;
import com.hccake.ballcat.admin.modules.sys.model.vo.PermissionVO;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
@@ -11,10 +11,10 @@ import java.util.List;
* 菜单权限表 服务类
* </p>
*
* @author
* @author hccake
* @since 2017-10-29
*/
public interface SysPermissionService extends IService<SysPermission> {
public interface SysPermissionService extends ExtendService<SysPermission> {
/**
* 通过角色编号查询URL 权限

View File

@@ -1,23 +1,23 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRolePermission;
import com.hccake.extend.mybatis.plus.service.ExtendService;
/**
* <p>
* 角色菜单表 服务类
* </p>
*
* @author
* @author hccake
* @since 2017-10-29
*/
public interface SysRolePermissionService extends IService<SysRolePermission> {
public interface SysRolePermissionService extends ExtendService<SysRolePermission> {
/**
* 更新角色菜单
* @param roleCode 角色
* @param permissionIds 权限ID数组
* @return
* @return 更新角色权限关联关系是否成功
*/
Boolean saveRolePermissions(String roleCode, Integer[] permissionIds);

View File

@@ -1,10 +1,12 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysRoleQO;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysRoleVO;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
@@ -16,26 +18,26 @@ import java.util.List;
* @author hccake
* @since 2020-01-12
*/
public interface SysRoleService extends IService<SysRole> {
public interface SysRoleService extends ExtendService<SysRole> {
/**
* 查询系统角色列表
* @param page 分页对象
* @param pageParam 分页参数
* @param qo 查询参数
* @return 分页对象
*/
IPage<SysRole> page(IPage<SysRole> page, SysRoleQO qo);
PageResult<SysRoleVO> queryPage(PageParam pageParam, SysRoleQO qo);
/**
* 通过角色ID删除角色
* @param id
* @return
* @param id 角色ID
* @return 删除是否成功
*/
Boolean removeRoleById(Integer id);
/**
* 角色的选择数据
* @return
* @return 角色下拉列表数据集合
*/
List<SelectData<?>> getSelectData();

View File

@@ -1,8 +1,8 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysUserRole;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import java.util.List;
@@ -11,34 +11,34 @@ import java.util.List;
*
* 用户角色关联表
*/
public interface SysUserRoleService extends IService<SysUserRole> {
public interface SysUserRoleService extends ExtendService<SysUserRole> {
/**
* 删除用户的角色
* @param userId
* @return
* @param userId 用户ID
* @return 删除是否程
*/
Boolean deleteByUserId(Integer userId);
/**
* 插入用户角色关联关系
* @param userId
* @param roleCodes
* @return
* @param userId 用户ID
* @param roleCodes 角色标识集合
* @return 插入是否成功
*/
Boolean insertUserRoles(Integer userId, List<String> roleCodes);
/**
* 更新用户关联关系
* @param userId
* @param roleCodes
* @param userId 用户ID
* @param roleCodes 角色标识集合
* @return boolean
*/
boolean updateUserRoles(Integer userId, List<String> roleCodes);
/**
* 通过用户ID查询角色列表
* @param userId
* @param userId 用户ID
* @return List<SysRole>
*/
List<SysRole> getRoles(Integer userId);

View File

@@ -1,14 +1,15 @@
package com.hccake.ballcat.admin.modules.sys.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hccake.ballcat.admin.modules.sys.model.dto.SysUserDTO;
import com.hccake.ballcat.admin.modules.sys.model.dto.SysUserScope;
import com.hccake.ballcat.admin.modules.sys.model.dto.UserInfoDTO;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysUser;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysUserQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysUserVO;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.extend.mybatis.plus.service.ExtendService;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@@ -20,15 +21,15 @@ import java.util.List;
* @author ballcat code generator
* @date 2019-09-12 20:39:31
*/
public interface SysUserService extends IService<SysUser> {
public interface SysUserService extends ExtendService<SysUser> {
/**
* 根据QueryObject查询系统用户列表
* @param page 分页参数
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return IPage<SysUserVO> 分页数据
* @return PageResult<SysUserVO> 分页数据
*/
IPage<SysUserVO> selectPageVo(IPage<?> page, SysUserQO qo);
PageResult<SysUserVO> queryPage(PageParam pageParam, SysUserQO qo);
/**
* 根据用户名查询用户

View File

@@ -1,10 +1,14 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysConfig;
import com.hccake.ballcat.admin.modules.sys.service.SysConfigService;
import com.hccake.ballcat.admin.modules.sys.mapper.SysConfigMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysConfig;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysConfigQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysConfigVO;
import com.hccake.ballcat.admin.modules.sys.service.SysConfigService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
/**
@@ -14,7 +18,18 @@ import org.springframework.stereotype.Service;
* @date 2019-10-14 17:42:23
*/
@Service
public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService {
public class SysConfigServiceImpl extends ExtendServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService {
/**
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param sysConfigQO 查询参数对象
* @return 分页数据
*/
@Override
public PageResult<SysConfigVO> queryPage(PageParam pageParam, SysConfigQO sysConfigQO) {
return baseMapper.queryPage(pageParam, sysConfigQO);
}
/**
* 根据配置key获取对应value

View File

@@ -1,12 +1,13 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.sys.mapper.SysDictItemMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictItemVO;
import com.hccake.ballcat.admin.modules.sys.service.SysDictItemService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -18,25 +19,24 @@ import java.util.List;
* @date 2020-03-26 18:40:20
*/
@Service
public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDictItem> implements SysDictItemService {
public class SysDictItemServiceImpl extends ExtendServiceImpl<SysDictItemMapper, SysDictItem>
implements SysDictItemService {
/**
* 根据QueryObeject查询分页数据
* @param page 分页参数
* @param dictCode 查询参数对象
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param dictCode 字典标识
* @return 分页数据
*/
@Override
public IPage<SysDictItem> page(IPage<SysDictItem> page, String dictCode) {
LambdaQueryWrapper<SysDictItem> wrapper = Wrappers.<SysDictItem>lambdaQuery().eq(SysDictItem::getDictCode,
dictCode);
return baseMapper.selectPage(page, wrapper);
public PageResult<SysDictItemVO> queryPage(PageParam pageParam, String dictCode) {
return baseMapper.queryPage(pageParam, dictCode);
}
/**
* 根据Code查询对应字典项数据
* @param dictCode
* @return
* @param dictCode 字典标识
* @return 字典项集合
*/
@Override
public List<SysDictItem> getByDictCode(String dictCode) {

View File

@@ -1,16 +1,16 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.hccake.ballcat.admin.modules.sys.mapper.SysDictMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysDictVO;
import com.hccake.ballcat.admin.modules.sys.service.SysDictService;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@@ -23,20 +23,17 @@ import java.util.List;
* @date 2020-03-26 18:40:20
*/
@Service
public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> implements SysDictService {
public class SysDictServiceImpl extends ExtendServiceImpl<SysDictMapper, SysDict> implements SysDictService {
/**
* 根据QueryObeject查询分页数据
* @param page 分页参数
* 根据QueryObject查询分页数据
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return 分页数据
* @return PageResult<SysDictVO> 分页数据
*/
@Override
public IPage<SysDict> page(IPage<SysDict> page, SysDictQO qo) {
LambdaQueryWrapper<SysDict> wrapper = Wrappers.<SysDict>lambdaQuery()
.like(StrUtil.isNotBlank(qo.getCode()), SysDict::getCode, qo.getCode())
.like(StrUtil.isNotBlank(qo.getTitle()), SysDict::getTitle, qo.getTitle());
return baseMapper.selectPage(page, wrapper);
public PageResult<SysDictVO> queryPage(PageParam pageParam, SysDictQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
/**
@@ -59,7 +56,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
if (dictCode == null || dictCode.length == 0) {
return new ArrayList<>();
}
return baseMapper.selectList(Wrappers.<SysDict>lambdaQuery().in(SysDict::getCode, dictCode));
return baseMapper.selectList(Wrappers.<SysDict>lambdaQuery().in(SysDict::getCode, (Object[]) dictCode));
}
/**

View File

@@ -2,7 +2,6 @@ package com.hccake.ballcat.admin.modules.sys.service.impl;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.hccake.ballcat.admin.modules.sys.mapper.SysOrganizationMapper;
import com.hccake.ballcat.admin.modules.sys.model.converter.SysOrganizationConverter;
@@ -12,6 +11,7 @@ import com.hccake.ballcat.admin.modules.sys.model.vo.SysOrganizationTree;
import com.hccake.ballcat.admin.modules.sys.service.SysOrganizationService;
import com.hccake.ballcat.common.core.constant.GlobalConstants;
import com.hccake.ballcat.common.core.util.TreeUtil;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -22,11 +22,9 @@ import java.util.List;
* @author hccake 2020-09-23 12:09:43
*/
@Service
public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMapper, SysOrganization>
public class SysOrganizationServiceImpl extends ExtendServiceImpl<SysOrganizationMapper, SysOrganization>
implements SysOrganizationService {
private final static String TABLE_ALIAS_PREFIX = "o.";
/**
* 返回组织架构的树形结构
* @return OrganizationTree

View File

@@ -2,7 +2,6 @@ package com.hccake.ballcat.admin.modules.sys.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.sys.mapper.SysPermissionMapper;
import com.hccake.ballcat.admin.modules.sys.mapper.SysRolePermissionMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysPermission;
@@ -11,6 +10,7 @@ import com.hccake.ballcat.admin.modules.sys.model.vo.PermissionVO;
import com.hccake.ballcat.admin.modules.sys.service.SysPermissionService;
import com.hccake.ballcat.common.core.exception.BusinessException;
import com.hccake.ballcat.common.core.result.BaseResultCode;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -22,12 +22,12 @@ import java.util.List;
* 菜单权限表 服务实现类
* </p>
*
* @author
* @author hccake
* @since 2017-10-29
*/
@Service
@RequiredArgsConstructor
public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, SysPermission>
public class SysPermissionServiceImpl extends ExtendServiceImpl<SysPermissionMapper, SysPermission>
implements SysPermissionService {
private final SysRolePermissionMapper sysRolePermissionMapper;

View File

@@ -2,31 +2,32 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.sys.mapper.SysRolePermissionMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRolePermission;
import com.hccake.ballcat.admin.modules.sys.service.SysRolePermissionService;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
* 角色菜单表 服务实现类
* </p>
*
* @author
* @author hccake
*/
@Service
public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionMapper, SysRolePermission>
public class SysRolePermissionServiceImpl extends ExtendServiceImpl<SysRolePermissionMapper, SysRolePermission>
implements SysRolePermissionService {
/**
* @param roleCode 角色
* @param permissionIds 权限ID集合
* @return
* @return boolean
*/
@Override
@Transactional(rollbackFor = Exception.class)

View File

@@ -1,17 +1,17 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.sys.mapper.SysRoleMapper;
import com.hccake.ballcat.admin.modules.sys.mapper.SysRolePermissionMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRolePermission;
import com.hccake.ballcat.admin.modules.sys.model.qo.SysRoleQO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysRoleVO;
import com.hccake.ballcat.admin.modules.sys.service.SysRoleService;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,30 +28,25 @@ import java.util.List;
*/
@Service
@RequiredArgsConstructor
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
public class SysRoleServiceImpl extends ExtendServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
private final SysRolePermissionMapper sysRolePermissionMapper;
/**
* 查询系统角色列表
* @param page 分页对象
* @param pageParam 分页对象
* @param qo 查询参数
* @return 分页对象
*/
@Override
public IPage<SysRole> page(IPage<SysRole> page, SysRoleQO qo) {
LambdaQueryWrapper<SysRole> wrapper = Wrappers.<SysRole>lambdaQuery()
.like(StrUtil.isNotBlank(qo.getName()), SysRole::getName, qo.getName())
.like(StrUtil.isNotBlank(qo.getCode()), SysRole::getCode, qo.getCode())
.between(StrUtil.isNotBlank(qo.getStartTime()) && StrUtil.isNotBlank(qo.getEndTime()),
SysRole::getCreateTime, qo.getStartTime(), qo.getEndTime());
return baseMapper.selectPage(page, wrapper);
public PageResult<SysRoleVO> queryPage(PageParam pageParam, SysRoleQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
/**
* 通过角色ID删除角色,并清空角色菜单缓存
* @param id
* @return
* @param id 角色ID
* @return boolean
*/
@Override
@Transactional(rollbackFor = Exception.class)
@@ -64,7 +59,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
/**
* 角色的选择数据
* @return
* @return List<SelectData<?>>
*/
@Override
public List<SelectData<?>> getSelectData() {

View File

@@ -1,11 +1,11 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hccake.ballcat.admin.modules.sys.mapper.SysUserRoleMapper;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysRole;
import com.hccake.ballcat.admin.modules.sys.model.entity.SysUserRole;
import com.hccake.ballcat.admin.modules.sys.mapper.SysUserRoleMapper;
import com.hccake.ballcat.admin.modules.sys.service.SysUserRoleService;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -17,12 +17,13 @@ import java.util.List;
* @author Hccake
*/
@Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
public class SysUserRoleServiceImpl extends ExtendServiceImpl<SysUserRoleMapper, SysUserRole>
implements SysUserRoleService {
/**
* 根据UserId删除该用户角色关联关系
* @param userId
* @return
* @param userId 用户ID
* @return boolean
*/
@Override
public Boolean deleteByUserId(Integer userId) {
@@ -31,9 +32,9 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
/**
* 插入用户角色关联关系
* @param userId
* @param roleCodes
* @return
* @param userId 用户ID
* @param roleCodes 角色标识集合
* @return boolean
*/
@Override
public Boolean insertUserRoles(Integer userId, List<String> roleCodes) {
@@ -42,8 +43,8 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
/**
* 更新用户关联关系
* @param userId
* @param roleCodes
* @param userId 用户ID
* @param roleCodes 角色标识集合
*/
@Override
@Transactional(rollbackFor = Exception.class)
@@ -58,8 +59,8 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
/**
* 通过用户ID 获取用户所有角色ID
* @param userId
* @return
* @param userId 用户ID
* @return 用户拥有的角色集合
*/
@Override
public List<SysRole> getRoles(Integer userId) {

View File

@@ -1,16 +1,12 @@
package com.hccake.ballcat.admin.modules.sys.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.hccake.ballcat.admin.constants.SysUserConst;
import com.hccake.ballcat.admin.modules.sys.checker.AdminUserChecker;
@@ -27,8 +23,14 @@ import com.hccake.ballcat.admin.modules.sys.model.vo.PermissionVO;
import com.hccake.ballcat.admin.modules.sys.model.vo.SysUserVO;
import com.hccake.ballcat.admin.modules.sys.service.*;
import com.hccake.ballcat.admin.oauth.util.SecurityUtils;
import com.hccake.ballcat.common.core.constant.GlobalConstants;
import com.hccake.ballcat.common.core.domain.PageParam;
import com.hccake.ballcat.common.core.domain.PageResult;
import com.hccake.ballcat.common.core.domain.SelectData;
import com.hccake.ballcat.common.core.util.PasswordUtil;
import com.hccake.ballcat.common.core.vo.SelectData;
import com.hccake.extend.mybatis.plus.conditions.query.LambdaAliasQueryWrapperX;
import com.hccake.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import com.hccake.extend.mybatis.plus.toolkit.WrappersX;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEventPublisher;
@@ -51,7 +53,7 @@ import java.util.stream.Collectors;
*/
@Service
@RequiredArgsConstructor
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
public class SysUserServiceImpl extends ExtendServiceImpl<SysUserMapper, SysUser> implements SysUserService {
private final FileService fileService;
@@ -68,31 +70,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Value("${password.secret-key}")
private String secretKey;
private final static String TABLE_ALIAS_PREFIX = "su.";
/**
* 根据QueryObject查询分页数据
* @param page 分页参数
* @param pageParam 分页参数
* @param qo 查询参数对象
* @return IPage<SysUserVO> 分页数据
* @return PageResult<SysUserVO> 分页数据
*/
@Override
public IPage<SysUserVO> selectPageVo(IPage<?> page, SysUserQO qo) {
QueryWrapper<SysUser> wrapper = Wrappers.<SysUser>query().eq(TABLE_ALIAS_PREFIX + "deleted", 0)
.like(ObjectUtil.isNotNull(qo.getUsername()), TABLE_ALIAS_PREFIX + "username", qo.getUsername())
.like(ObjectUtil.isNotNull(qo.getEmail()), TABLE_ALIAS_PREFIX + "email", qo.getEmail())
.like(ObjectUtil.isNotNull(qo.getPhone()), TABLE_ALIAS_PREFIX + "phone", qo.getPhone())
.like(ObjectUtil.isNotNull(qo.getNickname()), TABLE_ALIAS_PREFIX + "nickname", qo.getNickname())
.eq(ObjectUtil.isNotNull(qo.getStatus()), TABLE_ALIAS_PREFIX + "status", qo.getStatus())
.eq(ObjectUtil.isNotNull(qo.getSex()), TABLE_ALIAS_PREFIX + "sex", qo.getSex())
.eq(ObjectUtil.isNotNull(qo.getType()), TABLE_ALIAS_PREFIX + "type", qo.getType())
.in(CollectionUtil.isNotEmpty(qo.getOrganizationId()), TABLE_ALIAS_PREFIX + "organization_id",
qo.getOrganizationId());
if (StringUtils.isNotBlank(qo.getStartTime()) && StringUtils.isNotBlank(qo.getEndTime())) {
wrapper.between(TABLE_ALIAS_PREFIX + "create_time", qo.getStartTime(), qo.getEndTime());
}
return baseMapper.selectPageVo(page, wrapper);
public PageResult<SysUserVO> queryPage(PageParam pageParam, SysUserQO qo) {
return baseMapper.queryPage(pageParam, qo);
}
/**
@@ -139,8 +125,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
Set<String> permissions = new HashSet<>();
roles.forEach(code -> {
List<String> permissionList = sysPermissionService.findPermissionVOsByRoleCode(code).stream()
.filter(sysPermission -> StrUtil.isNotEmpty(sysPermission.getCode())).map(PermissionVO::getCode)
.collect(Collectors.toList());
.map(PermissionVO::getCode).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
permissions.addAll(permissionList);
});
userInfoDTO.setPermissions(new ArrayList<>(permissions));

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hccake.ballcat.admin.modules.log.mapper.AdminOperationLogMapper">
<resultMap id="operationLogAdminMap" type="com.hccake.ballcat.admin.modules.log.model.entity.AdminOperationLog">
<id property="id" column="id"/>
<result property="msg" column="msg"/>
<result property="ip" column="ip"/>
<result property="userAgent" column="user_agent"/>
<result property="uri" column="uri"/>
<result property="method" column="method"/>
<result property="params" column="params"/>
<result property="status" column="status"/>
<result property="time" column="time"/>
<result property="operator" column="operator"/>
<result property="createTime" column="create_time"/>
</resultMap>
</mapper>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hccake.ballcat.admin.modules.log.mapper.AdminLoginLogMapper">
<sql id="Base_Alias_Column_List">
ll.id, ll.trace_id, ll.username, ll.ip, ll.os, ll.status, ll.msg, ll.location, ll.browser, ll.event_type, ll.login_time, ll.create_time
</sql>
<select id="selectPageVo" resultType="com.hccake.ballcat.admin.modules.log.model.vo.AdminLoginLogVO">
SELECT
<include refid="Base_Alias_Column_List"/>
FROM
admin_login_log ll
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -29,14 +29,12 @@
a.status, a.immortal, a.deadline, a.create_by, a.create_time, a.update_time
</sql>
<select id="selectPageVo" resultMap="announcementVoMap">
<select id="selectByPage" resultMap="announcementVoMap">
SELECT
<include refid="Base_Alias_Column_List"/>
, su.username as create_username
${ew.allAliasSqlSelect}, su.username as create_username
FROM
notify_announcement a
LEFT JOIN sys_user su
ON a.create_by = su.user_id
notify_announcement a
LEFT JOIN sys_user su ON a.create_by = su.user_id
${ew.customSqlSegment}
</select>

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hccake.ballcat.admin.modules.notify.mapper.UserAnnouncementMapper">
<resultMap id="userAnnouncementMap" type="com.hccake.ballcat.admin.modules.notify.model.entity.UserAnnouncement">
<id property="id" column="id"/>
<result property="announcementId" column="announcement_id"/>
<result property="userId" column="user_id"/>
<result property="state" column="state"/>
<result property="readTime" column="read_time"/>
<result property="createTime" column="create_time"/>
</resultMap>
<sql id="Base_Column_List" >
id, announcement_id, user_id, state, read_time, create_time </sql>
<sql id="Base_Alias_Column_List">
ua.id, ua.announcement_id, ua.user_id, ua.state, ua.read_time, ua.create_time </sql>
<select id="selectPageVo" resultType="com.hccake.ballcat.admin.modules.notify.model.vo.UserAnnouncementVO">
SELECT
<include refid="Base_Alias_Column_List"/>
FROM
notify_user_announcement ua
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -2,18 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hccake.ballcat.admin.modules.sys.mapper.SysRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hccake.ballcat.admin.modules.sys.model.entity.SysRole">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="code" property="code"/>
<result column="note" property="note"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="deleted" property="deleted"/>
</resultMap>
<select id="getSelectData" resultType="com.hccake.ballcat.common.core.vo.SelectData">
<select id="getSelectData" resultType="com.hccake.ballcat.common.core.domain.SelectData">
select
name, code as value
from
@@ -22,5 +11,4 @@
deleted = 0
</select>
</mapper>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hccake.ballcat.admin.modules.sys.mapper.SysRolePermissionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hccake.ballcat.admin.modules.sys.model.entity.SysRolePermission">
<id column="role_code" property="roleCode"/>
<result column="permission_id" property="permissionId"/>
</resultMap>
</mapper>

View File

@@ -17,10 +17,9 @@
su.update_time
</sql>
<select id="selectPageVo" resultType="com.hccake.ballcat.admin.modules.sys.model.vo.SysUserVO">
<select id="selectByPage" resultType="com.hccake.ballcat.admin.modules.sys.model.vo.SysUserVO">
SELECT
<include refid="Base_Alias_Column_List"/>
, so.name as organization_name
${ew.allAliasSqlSelect}, so.name as organization_name
FROM sys_user su
LEFT JOIN
sys_organization so
@@ -48,7 +47,7 @@
AND su.deleted = 0
</select>
<select id="getSelectData" resultType="com.hccake.ballcat.common.core.vo.SelectData">
<select id="getSelectData" resultType="com.hccake.ballcat.common.core.domain.SelectData">
select
username as name , user_id as value
from

View File

@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hccake.ballcat.admin.modules.sys.mapper.SysUserRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hccake.ballcat.admin.modules.sys.model.entity.SysUserRole">
<id column="user_id" property="userId"/>
<result column="role_code" property="roleCode"/>
</resultMap>
<!-- 通过用户ID查询其关联的角色ID-->
<select id="getRoles" resultType="com.hccake.ballcat.admin.modules.sys.model.entity.SysRole">
SELECT
@@ -22,7 +14,6 @@
and r.deleted = 0
</select>
<!--新建用户角色关联关系-->
<insert id="insertUserRoles">
insert into