Compare commits

...

13 Commits

Author SHA1 Message Date
dongzeliang 4b32d8d441 fix(): 修复代码格式 2025-01-14 12:07:57 +08:00
dongzeliang ad3dec352a fix(): 修复代码格式 2025-01-14 12:05:20 +08:00
dongzeliang 1af2baea05 fix(): 修复代码格式
feat():增加超级基础类
2025-01-07 15:55:52 +08:00
dongzeliang 25888aa95a fix(): 修复代码格式 2025-01-01 13:42:46 +08:00
dongzeliang f9df70870e fix(): 修改xxl-job定时任务日志打印目录,防止在liunx或者mac下文件找不到或者创建失败 2024-12-31 23:31:24 +08:00
DongZeLiang fdc076db7b Merge remote-tracking branch 'origin/boot3.0-zxs' into boot3.0-zxs
# Conflicts:
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDeptController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictDataController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysDictTypeController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysLogininforController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysMenuController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysNoticeController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysOperlogController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysPostController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/rep/SysLogininforListReq.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysLogininforService.java
#	cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysLogininforServiceImpl.java
2024-12-25 22:20:06 +08:00
DongZeLiang 52c0664cd4 fix(): DDD升级,mybatis-plus升级 2024-12-25 22:18:37 +08:00
cbg_wangannan de58543d51 fix():修改list集合 2024-12-16 15:30:29 +08:00
wangannan c2cdad35de fix():修改list集合 2024-12-16 15:27:07 +08:00
DongZeLiang ccf22d62ec fix(): 修改SysConfig.list集合 2024-12-10 19:59:04 +08:00
DongZeLiang fa29749b22 feat(): 增加分页模型,增加DDD模型概念 2024-12-09 18:40:57 +08:00
DongZeLiang 3a875840ad fix(): 移除了pagehelper的工具,使用mybatisplus分页工具 2024-12-09 18:06:01 +08:00
ZhangXushuo 94198b487c 亮哥你好呀 2024-12-09 11:56:03 +08:00
97 changed files with 2064 additions and 480 deletions

View File

@ -47,33 +47,14 @@
<artifactId>transmittable-thread-local</artifactId>
</dependency>
<!-- Pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<!-- mybatis - plus 依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.6</version>
<exclusions>
<exclusion>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.16</version>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
</dependency>
<!-- Hibernate Validator -->

View File

@ -0,0 +1,21 @@
package com.muyu.common.core.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
/**
*
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
return interceptor;
}
}

View File

@ -876,17 +876,17 @@ public class Convert {
String head = n < 0 ? "负" : "";
n = Math.abs(n);
String s = "";
StringBuilder s = new StringBuilder();
for (int i = 0 ; i < fraction.length ; i++) {
// 优化double计算精度丢失问题
BigDecimal nNum = new BigDecimal(n);
BigDecimal decimal = new BigDecimal(10);
BigDecimal scale = nNum.multiply(decimal).setScale(2, RoundingMode.HALF_EVEN);
double d = scale.doubleValue();
s += (digit[(int) (Math.floor(d * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", "");
s.append((digit[(int) (Math.floor(d * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", ""));
}
if (s.length() < 1) {
s = "整";
if (s.isEmpty()) {
s = new StringBuilder("整");
}
int integerPart = (int) Math.floor(n);
@ -896,8 +896,8 @@ public class Convert {
p = digit[integerPart % 10] + unit[1][j] + p;
integerPart = integerPart / 10;
}
s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;
s.insert(0, p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i]);
}
return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
return head + s.toString().replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
}
}

View File

@ -1,32 +0,0 @@
package com.muyu.common.core.utils;
import com.github.pagehelper.PageHelper;
import com.muyu.common.core.utils.sql.SqlUtil;
import com.muyu.common.core.web.page.PageDomain;
import com.muyu.common.core.web.page.TableSupport;
/**
*
*
* @author muyu
*/
public class PageUtils extends PageHelper {
/**
*
*/
public static void startPage () {
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
Boolean reasonable = pageDomain.getReasonable();
PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
}
/**
* 线
*/
public static void clearPage () {
PageHelper.clearPage();
}
}

View File

@ -43,8 +43,7 @@ public final class SpringUtils implements BeanFactoryPostProcessor {
* @throws org.springframework.beans.BeansException
*/
public static <T> T getBean (Class<T> clz) throws BeansException {
T result = (T) beanFactory.getBean(clz);
return result;
return beanFactory.getBean(clz);
}
/**

View File

@ -2,13 +2,13 @@ package com.muyu.common.core.utils.reflect;
import com.muyu.common.core.text.Convert;
import com.muyu.common.core.utils.DateUtils;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.apache.poi.ss.usermodel.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.reflect.*;
import java.util.Arrays;
import java.util.Date;
/**
@ -17,6 +17,7 @@ import java.util.Date;
* @author muyu
*/
@SuppressWarnings("rawtypes")
@Log4j2
public class ReflectUtils {
private static final String SETTER_PREFIX = "set";
@ -24,8 +25,6 @@ public class ReflectUtils {
private static final String CGLIB_CLASS_SEPARATOR = "$$";
private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class);
/**
* Getter.
* ..
@ -65,14 +64,14 @@ public class ReflectUtils {
public static <E> E getFieldValue (final Object obj, final String fieldName) {
Field field = getAccessibleField(obj, fieldName);
if (field == null) {
logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
log.debug("在 [{}] 中,没有找到 [{}] 字段 ", obj.getClass(), fieldName);
return null;
}
E result = null;
try {
result = (E) field.get(obj);
} catch (IllegalAccessException e) {
logger.error("不可能抛出的异常{}", e.getMessage());
log.error("不可能抛出的异常{}", e.getMessage());
}
return result;
}
@ -84,13 +83,13 @@ public class ReflectUtils {
Field field = getAccessibleField(obj, fieldName);
if (field == null) {
// throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
log.debug("在 [{}] 中,没有找到 [{}] 字段 ", obj.getClass(), fieldName);
return;
}
try {
field.set(obj, value);
} catch (IllegalAccessException e) {
logger.error("不可能抛出的异常: {}", e.getMessage());
log.error("不可能抛出的异常: {}", e.getMessage());
}
}
@ -107,13 +106,13 @@ public class ReflectUtils {
}
Method method = getAccessibleMethod(obj, methodName, parameterTypes);
if (method == null) {
logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
log.debug("在 [{}] 中,没有找到 [{}] 方法 ", obj.getClass(), methodName);
return null;
}
try {
return (E) method.invoke(obj, args);
} catch (Exception e) {
String msg = "method: " + method + ", obj: " + obj + ", args: " + args + "";
String msg = "method: " + method + ", obj: " + obj + ", args: " + Arrays.toString(args);
throw convertReflectionExceptionToUnchecked(msg, e);
}
}
@ -128,7 +127,7 @@ public class ReflectUtils {
Method method = getAccessibleMethodByName(obj, methodName, args.length);
if (method == null) {
// 如果为空不报错,直接返回空。
logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
log.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
return null;
}
try {
@ -182,9 +181,7 @@ public class ReflectUtils {
Field field = superClass.getDeclaredField(fieldName);
makeAccessible(field);
return field;
} catch (NoSuchFieldException e) {
continue;
}
} catch (NoSuchFieldException ignored) {}
}
return null;
}
@ -207,9 +204,7 @@ public class ReflectUtils {
Method method = searchType.getDeclaredMethod(methodName, parameterTypes);
makeAccessible(method);
return method;
} catch (NoSuchMethodException e) {
continue;
}
} catch (NoSuchMethodException ignored) {}
}
return null;
}
@ -275,19 +270,18 @@ public class ReflectUtils {
Type genType = clazz.getGenericSuperclass();
if (!(genType instanceof ParameterizedType)) {
logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType");
log.debug("{}'s superclass not ParameterizedType", clazz.getSimpleName());
return Object.class;
}
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
if (index >= params.length || index < 0) {
logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: "
+ params.length);
log.debug("Index: {}, Size of {}'s Parameterized Type: {}", index, clazz.getSimpleName(), params.length);
return Object.class;
}
if (!(params[index] instanceof Class)) {
logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter");
log.debug("{} not set the actual class on superclass generic parameter", clazz.getSimpleName());
return Object.class;
}
@ -299,7 +293,7 @@ public class ReflectUtils {
throw new RuntimeException("Instance must not be null");
}
Class clazz = instance.getClass();
if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) {
if (clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) {
Class<?> superClass = clazz.getSuperclass();
if (superClass != null && !Object.class.equals(superClass)) {
return superClass;

View File

@ -0,0 +1,34 @@
package com.muyu.common.core.web;
import com.muyu.common.core.utils.reflect.ReflectUtils;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author DongZeLiang
* @date 2024-01-07 10:01
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SuperBasic<OC> implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID -
*
* tracId
*/
private String serviceId;
}

View File

@ -1,10 +1,9 @@
package com.muyu.common.core.web.controller;
import com.github.pagehelper.PageInfo;
import com.muyu.common.core.utils.DateUtils;
import com.muyu.common.core.utils.PageUtils;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.core.web.page.PageQueryModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.WebDataBinder;
@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.InitBinder;
import java.beans.PropertyEditorSupport;
import java.util.Date;
import java.util.List;
/**
* web
@ -37,43 +35,26 @@ public class BaseController {
}
/**
*
*
* @param pageQueryModel
* @return
* @param <T>
*/
protected void startPage () {
PageUtils.startPage();
}
/**
* 线
*/
protected void clearPage () {
PageUtils.clearPage();
}
/**
*
*/
@SuppressWarnings({"rawtypes", "unchecked"})
protected <T> Result<TableDataInfo<T>> getDataTable (List<T> list) {
return Result.success(
TableDataInfo.<T>builder()
.total(new PageInfo(list).getTotal())
.rows(list)
.build()
);
protected <T> Result<DataPageResp<T>> resultList(PageQueryModel<T> pageQueryModel) {
return Result.success(DataPageResp.of(pageQueryModel));
}
/**
*
*/
public Result success () {
public Result<String> success () {
return Result.success();
}
/**
*
*/
public Result success (String message) {
public Result<String> success (String message) {
return Result.success(message);
}
@ -87,21 +68,21 @@ public class BaseController {
/**
*
*/
public Result error () {
public Result<String> error () {
return Result.error();
}
/**
*
*/
public Result error (String message) {
public Result<String> error (String message) {
return Result.error(message);
}
/**
*
*/
public Result warn (String message) {
public Result<String> warn (String message) {
return Result.warn(message);
}
@ -112,7 +93,7 @@ public class BaseController {
*
* @return
*/
protected Result toAjax (int rows) {
protected Result<String> toAjax (int rows) {
return rows > 0 ? Result.success() : Result.error();
}
@ -123,7 +104,7 @@ public class BaseController {
*
* @return
*/
protected Result toAjax (boolean result) {
protected Result<String> toAjax (boolean result) {
return result ? success() : error();
}
}

View File

@ -0,0 +1,73 @@
package com.muyu.common.core.web.model;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.SuperBasic;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*
* @author DongZeLiang
* @date 2024-11-20 14:18
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class QueryModel<T> extends SuperBasic<T> {
/**
*
*/
private Integer pageNum;
/**
*
*/
private Integer pageSize;
/**
*
*/
private String orderByColumn;
/**
* descasc
*/
private boolean isAsc = true;
/**
*
* @param pageReq
* @return
*/
public T domainBuild(PageReq pageReq) {
this.pageNum = pageReq.getPageNum();
this.pageSize = pageReq.getPageSize();
this.orderByColumn = pageReq.getOrderByColumn();
this.isAsc = "asc".equals(pageReq.getIsAsc());
return (T) this;
}
/**
*
* @return
*/
public <I> Page<I> buildPage(){
Page<I> page = Page.of(this.getPageNum(), this.getPageSize());
if(StringUtils.isNotBlank(this.getOrderByColumn())){
page.setOrders(List.of(this.isAsc()
? OrderItem.asc(this.getOrderByColumn()) : OrderItem.desc(this.getOrderByColumn())));
}
return page;
}
}

View File

@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.poi.ss.formula.functions.T;
import java.io.Serializable;
import java.util.List;
@ -19,7 +18,7 @@ import java.util.List;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TableDataInfo<T> implements Serializable {
public class DataPageResp<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**
@ -32,14 +31,7 @@ public class TableDataInfo<T> implements Serializable {
*/
private List<T> rows;
/**
*
*/
private int code;
/**
*
*/
private String msg;
public static <T> DataPageResp<T> of(PageQueryModel<T> pageQueryModel) {
return new DataPageResp<>(pageQueryModel.getTotal(), pageQueryModel.getDataList());
}
}

View File

@ -0,0 +1,39 @@
package com.muyu.common.core.web.page;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageQueryModel<T> {
/**
*
*/
private long total;
/**
*
*/
private List<T> dataList;
/**
*
* @param page
* @return
* @param <T>
*/
public static <T> PageQueryModel<T> of(Page<T> page) {
return new PageQueryModel<>(page.getTotal(), page.getRecords());
}
}

View File

@ -1,13 +1,21 @@
package com.muyu.common.core.web.page;
import com.muyu.common.core.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author muyu
*/
public class PageDomain {
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class PageReq {
/**
*
*/
@ -40,34 +48,6 @@ public class PageDomain {
return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc;
}
public Integer getPageNum () {
return pageNum;
}
public void setPageNum (Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize () {
return pageSize;
}
public void setPageSize (Integer pageSize) {
this.pageSize = pageSize;
}
public String getOrderByColumn () {
return orderByColumn;
}
public void setOrderByColumn (String orderByColumn) {
this.orderByColumn = orderByColumn;
}
public String getIsAsc () {
return isAsc;
}
public void setIsAsc (String isAsc) {
if (StringUtils.isNotEmpty(isAsc)) {
// 兼容前端排序类型
@ -87,7 +67,4 @@ public class PageDomain {
return reasonable;
}
public void setReasonable (Boolean reasonable) {
this.reasonable = reasonable;
}
}

View File

@ -1,53 +0,0 @@
package com.muyu.common.core.web.page;
import com.muyu.common.core.text.Convert;
import com.muyu.common.core.utils.ServletUtils;
/**
*
*
* @author muyu
*/
public class TableSupport {
/**
*
*/
public static final String PAGE_NUM = "pageNum";
/**
*
*/
public static final String PAGE_SIZE = "pageSize";
/**
*
*/
public static final String ORDER_BY_COLUMN = "orderByColumn";
/**
* "desc" "asc".
*/
public static final String IS_ASC = "isAsc";
/**
*
*/
public static final String REASONABLE = "reasonable";
/**
*
*/
public static PageDomain getPageDomain () {
PageDomain pageDomain = new PageDomain();
pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1));
pageDomain.setPageSize(Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10));
pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN));
pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC));
pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE));
return pageDomain;
}
public static PageDomain buildPageRequest () {
return getPageDomain();
}
}

View File

@ -1,2 +1,3 @@
com.muyu.common.core.utils.SpringUtils
com.muyu.common.core.feign.FeginConfig
com.muyu.common.core.config.MybatisPlusConfig

View File

@ -109,8 +109,7 @@ public class DataScopeAspect {
if (StringUtils.isNotBlank(sqlString.toString())) {
Object params = joinPoint.getArgs()[0];
if (StringUtils.isNotNull(params) && params instanceof BaseEntity) {
BaseEntity baseEntity = (BaseEntity) params;
if (StringUtils.isNotNull(params) && params instanceof BaseEntity baseEntity) {
baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
}
}
@ -141,8 +140,7 @@ public class DataScopeAspect {
*/
private void clearDataScope (final JoinPoint joinPoint) {
Object params = joinPoint.getArgs()[0];
if (StringUtils.isNotNull(params) && params instanceof BaseEntity) {
BaseEntity baseEntity = (BaseEntity) params;
if (StringUtils.isNotNull(params) && params instanceof BaseEntity baseEntity) {
baseEntity.getParams().put(DATA_SCOPE, "");
}
}

View File

@ -1,5 +1,9 @@
package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
@ -20,6 +24,7 @@ import java.util.List;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_dept")
@EqualsAndHashCode(callSuper = true)
public class SysDept extends BaseEntity {
private static final long serialVersionUID = 1L;
@ -27,6 +32,7 @@ public class SysDept extends BaseEntity {
/**
* ID
*/
@TableId(type = IdType.AUTO)
private Long deptId;
/**
@ -77,11 +83,13 @@ public class SysDept extends BaseEntity {
/**
*
*/
@TableField(exist = false)
private String parentName;
/**
*
*/
@TableField(exist = false)
private List<SysDept> children = new ArrayList<SysDept>();
@NotBlank(message = "部门名称不能为空")

View File

@ -21,8 +21,7 @@ import java.util.Date;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysLogininfor extends BaseEntity {
public class SysLogininfor {
private static final long serialVersionUID = 1L;
/**

View File

@ -1,5 +1,7 @@
package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
@ -73,26 +75,31 @@ public class SysRole extends BaseEntity {
/**
* 0 2
*/
@TableLogic
private String delFlag;
/**
*
*/
@TableField(exist = false)
private boolean flag = false;
/**
*
*/
@TableField(exist = false)
private Long[] menuIds;
/**
*
*/
@TableField(exist = false)
private Long[] deptIds;
/**
*
*/
@TableField(exist = false)
private Set<String> permissions;

View File

@ -3,7 +3,7 @@ package com.muyu.gen.controller;
import com.muyu.common.core.text.Convert;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
@ -40,11 +40,10 @@ public class GenController extends BaseController {
*
*/
@RequiresPermissions("tool:gen:list")
@GetMapping("/list")
public Result<TableDataInfo<GenTable>> genList (GenTable genTable) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<GenTable>> genList (GenTable genTable) {
List<GenTable> list = genTableService.selectGenTableList(genTable);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
/**
@ -68,20 +67,19 @@ public class GenController extends BaseController {
*/
@RequiresPermissions("tool:gen:list")
@GetMapping("/db/list")
public Result<TableDataInfo<GenTable>> dataList (GenTable genTable) {
startPage();
public Result<DataPageResp<GenTable>> dataList (GenTable genTable) {
List<GenTable> list = genTableService.selectDbTableList(genTable);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
/**
*
*/
@GetMapping(value = "/column/{tableId}")
public Result<TableDataInfo<GenTableColumn>> columnList (Long tableId) {
public Result<DataPageResp<GenTableColumn>> columnList (Long tableId) {
List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(tableId);
return Result.success(
TableDataInfo.<GenTableColumn>builder()
DataPageResp.<GenTableColumn>builder()
.total(list.size())
.rows(list)
.build()

View File

@ -1,7 +1,7 @@
package ${packageName}.controller;
import java.util.List;
import java.io.IOException;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -21,7 +21,7 @@ import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
#if($table.crud || $table.sub)
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
#elseif($table.tree)
#end
@ -42,13 +42,12 @@ public class ${ClassName}Controller extends BaseController
* 查询${functionName}列表
*/
@RequiresPermissions("${permissionPrefix}:list")
@GetMapping("/list")
@PostMapping("/list")
#if($table.crud || $table.sub)
public Result<TableDataInfo> list(${ClassName} ${className})
public Result<DataPageResp> list(${ClassName} ${className})
{
startPage();
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
#elseif($table.tree)
public Result list(${ClassName} ${className})

View File

@ -1,14 +1,20 @@
package com.muyu.system.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.system.domain.SysConfig;
import com.muyu.system.domain.model.SysConfigPageQueryModel;
import com.muyu.system.domain.rep.SysConfigAddReq;
import com.muyu.system.domain.rep.SysConfigListReq;
import com.muyu.system.service.SysConfigService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -18,7 +24,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
*
@ -37,21 +42,20 @@ public class SysConfigController extends BaseController {
*
*/
@RequiresPermissions("system:config:list")
@GetMapping("/list")
@PostMapping("/list")
@Operation(summary = "查询集合", description = "更新水果信息")
public Result<TableDataInfo<SysConfig>> list (SysConfig config) {
startPage();
List<SysConfig> list = configService.pageQuery(config);
return getDataTable(list);
public Result<DataPageResp<SysConfig>> list (@RequestBody SysConfigListReq sysConfigListReq) {
PageQueryModel<SysConfig> pageQueryModel = configService.pageQuery(SysConfigPageQueryModel.reqBuild(sysConfigListReq));
return resultList(pageQueryModel);
}
@Log(title = "参数管理", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:config:export")
@PostMapping("/export")
public void export (HttpServletResponse response, SysConfig config) {
List<SysConfig> list = configService.pageQuery(config);
public void export (HttpServletResponse response, SysConfigListReq sysConfigListReq) {
PageQueryModel<SysConfig> pageQueryModel = configService.pageQuery(SysConfigPageQueryModel.reqBuild(sysConfigListReq));
ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
util.exportExcel(response, list, "参数数据");
util.exportExcel(response, pageQueryModel.getDataList(), "参数数据");
}
/**
@ -76,12 +80,11 @@ public class SysConfigController extends BaseController {
@RequiresPermissions("system:config:add")
@Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping
public Result add (@Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config)) {
return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
public Result add (@Validated @RequestBody SysConfigAddReq sysConfigAddReq) {
if (!configService.checkConfigKeyUnique(sysConfigAddReq.getConfigKey())) {
return error(StringUtils.format("新增参数「{}」失败,参数键名已存在",sysConfigAddReq.getConfigName()));
}
config.setCreateBy(SecurityUtils.getUsername());
return toAjax(configService.save(config));
return toAjax(configService.save(SysConfig.addReqBuild(sysConfigAddReq)));
}
/**
@ -89,9 +92,9 @@ public class SysConfigController extends BaseController {
*/
@RequiresPermissions("system:config:edit")
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping
public Result edit (@Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config)) {
@PutMapping("/{sysConfigId}")
public Result edit (@PathVariable("sysConfigId")Long sysConfigId, @Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config.getConfigKey())) {
return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setUpdateBy(SecurityUtils.getUsername());

View File

@ -9,7 +9,10 @@ import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDept;
import com.muyu.system.domain.model.SysDeptPageQueryModel;
import com.muyu.system.domain.rep.SysDeptListReq;
import com.muyu.system.service.SysDeptService;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@ -24,6 +27,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("/dept")
@Tag(name = "SysDeptController", description = "部门管理")
public class SysDeptController extends BaseController {
@Autowired
@ -33,10 +37,10 @@ public class SysDeptController extends BaseController {
*
*/
@RequiresPermissions("system:dept:list")
@GetMapping("/list")
public Result list (SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);
return success(depts);
@PostMapping("/list")
public Result<List<SysDept>> list (@RequestBody SysDeptListReq sysDeptListReq) {
List<SysDept> deptList = deptService.queryList(SysDeptPageQueryModel.reqBuild(sysDeptListReq));
return success(deptList);
}
/**
@ -45,9 +49,9 @@ public class SysDeptController extends BaseController {
@RequiresPermissions("system:dept:list")
@GetMapping("/list/exclude/{deptId}")
public Result excludeChild (@PathVariable(value = "deptId", required = false) Long deptId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept());
depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
return success(depts);
List<SysDept> deptList = deptService.queryList(SysDeptPageQueryModel.builder().build());
deptList.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId));
return success(deptList);
}
/**

View File

@ -4,7 +4,7 @@ import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
@ -35,11 +35,10 @@ public class SysDictDataController extends BaseController {
private SysDictTypeService dictTypeService;
@RequiresPermissions("system:dict:list")
@GetMapping("/list")
public Result<TableDataInfo<SysDictData>> list (SysDictData dictData) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysDictData>> list (@RequestBody SysDictData dictData) {
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
@Log(title = "字典数据", businessType = BusinessType.EXPORT)
@ -67,7 +66,7 @@ public class SysDictDataController extends BaseController {
public Result dictType (@PathVariable("dictType") String dictType) {
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (StringUtils.isNull(data)) {
data = new ArrayList<SysDictData>();
data = new ArrayList<>();
}
return success(data);
}
@ -100,7 +99,7 @@ public class SysDictDataController extends BaseController {
@RequiresPermissions("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictCodes}")
public Result remove (@PathVariable("dictCode") Long[] dictCodes) {
public Result remove (@PathVariable("dictCodes") Long[] dictCodes) {
dictDataService.deleteDictDataByIds(dictCodes);
return success();
}

View File

@ -3,7 +3,7 @@ package com.muyu.system.controller;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
@ -29,11 +29,10 @@ public class SysDictTypeController extends BaseController {
private SysDictTypeService dictTypeService;
@RequiresPermissions("system:dict:list")
@GetMapping("/list")
public Result<TableDataInfo<SysDictType>> list (SysDictType dictType) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysDictType>> list (@RequestBody SysDictType dictType) {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
@Log(title = "字典类型", businessType = BusinessType.EXPORT)

View File

@ -4,13 +4,17 @@ import com.muyu.common.core.constant.CacheConstants;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.redis.service.RedisService;
import com.muyu.common.security.annotation.InnerAuth;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.model.SysLogininforExportModel;
import com.muyu.system.domain.model.SysLogininforListModel;
import com.muyu.system.domain.rep.SysLogininforListReq;
import com.muyu.system.service.SysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -33,20 +37,21 @@ public class SysLogininforController extends BaseController {
private RedisService redisService;
@RequiresPermissions("system:logininfor:list")
@GetMapping("/list")
public Result<TableDataInfo<SysLogininfor>> list (SysLogininfor logininfor) {
startPage();
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
return getDataTable(list);
@PostMapping("/list")
public Result<DataPageResp<SysLogininfor>> list (@RequestBody SysLogininforListReq sysLogininforListReq) {
PageQueryModel<SysLogininfor> pageQueryModel = logininforService.pageQuery(SysLogininforListModel.reqBuild(sysLogininforListReq));
return Result.success(
DataPageResp.of(pageQueryModel)
);
}
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:logininfor:export")
@PostMapping("/export")
public void export (HttpServletResponse response, SysLogininfor logininfor) {
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
public void export (HttpServletResponse response, SysLogininforListReq sysLogininforListReq) {
List<SysLogininfor> sysLogininforList = logininforService.exportQuery(SysLogininforExportModel.reqBuild(sysLogininforListReq));
ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class);
util.exportExcel(response, list, "登录日志");
util.exportExcel(response, sysLogininforList, "登录日志");
}
@RequiresPermissions("system:logininfor:remove")

View File

@ -32,8 +32,8 @@ public class SysMenuController extends BaseController {
*
*/
@RequiresPermissions("system:menu:list")
@GetMapping("/list")
public Result list (SysMenu menu) {
@PostMapping("/list")
public Result list (@RequestBody SysMenu menu) {
Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return success(menus);

View File

@ -2,7 +2,7 @@ package com.muyu.system.controller;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
@ -30,11 +30,10 @@ public class SysNoticeController extends BaseController {
*
*/
@RequiresPermissions("system:notice:list")
@GetMapping("/list")
public Result<TableDataInfo<SysNotice>> list (SysNotice notice) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysNotice>> list (@RequestBody SysNotice notice) {
List<SysNotice> list = noticeService.selectNoticeList(notice);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
/**

View File

@ -3,7 +3,7 @@ package com.muyu.system.controller;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.InnerAuth;
@ -28,11 +28,10 @@ public class SysOperlogController extends BaseController {
private SysOperLogService operLogService;
@RequiresPermissions("system:operlog:list")
@GetMapping("/list")
public Result<TableDataInfo<SysOperLog>> list (SysOperLog operLog) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysOperLog>> list (@RequestBody SysOperLog operLog) {
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
@Log(title = "操作日志", businessType = BusinessType.EXPORT)

View File

@ -3,7 +3,7 @@ package com.muyu.system.controller;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
@ -32,11 +32,10 @@ public class SysPostController extends BaseController {
*
*/
@RequiresPermissions("system:post:list")
@GetMapping("/list")
public Result<TableDataInfo<SysPost>> list (SysPost post) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysPost>> list (@RequestBody SysPost post) {
List<SysPost> list = postService.selectPostList(post);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
@Log(title = "岗位管理", businessType = BusinessType.EXPORT)

View File

@ -3,7 +3,7 @@ package com.muyu.system.controller;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
@ -41,11 +41,10 @@ public class SysRoleController extends BaseController {
private SysDeptService deptService;
@RequiresPermissions("system:role:list")
@GetMapping("/list")
public Result<TableDataInfo<SysRole>> list (SysRole role) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysRole>> list (@RequestBody SysRole role) {
List<SysRole> list = roleService.selectRoleList(role);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
@Log(title = "角色管理", businessType = BusinessType.EXPORT)
@ -151,10 +150,9 @@ public class SysRoleController extends BaseController {
*/
@RequiresPermissions("system:role:list")
@GetMapping("/authUser/allocatedList")
public Result<TableDataInfo<SysUser>> allocatedList (SysUser user) {
startPage();
public Result<DataPageResp<SysUser>> allocatedList (SysUser user) {
List<SysUser> list = userService.selectAllocatedList(user);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
/**
@ -162,10 +160,9 @@ public class SysRoleController extends BaseController {
*/
@RequiresPermissions("system:role:list")
@GetMapping("/authUser/unallocatedList")
public Result<TableDataInfo<SysUser>> unallocatedList (SysUser user) {
startPage();
public Result<DataPageResp<SysUser>> unallocatedList (SysUser user) {
List<SysUser> list = userService.selectUnallocatedList(user);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
/**
@ -207,7 +204,7 @@ public class SysRoleController extends BaseController {
public Result deptTree (@PathVariable("roleId") Long roleId) {
return Result.success(
DeptTreeResp.builder()
.depts(deptService.selectDeptTreeList(new SysDept()))
.depts(deptService.selectDeptTreeList())
.checkedKeys(deptService.selectDeptListByRoleId(roleId))
.build()
);

View File

@ -4,7 +4,7 @@ import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.InnerAuth;
@ -60,11 +60,10 @@ public class SysUserController extends BaseController {
*
*/
@RequiresPermissions("system:user:list")
@GetMapping("/list")
public Result<TableDataInfo<SysUser>> list (SysUser user) {
startPage();
@PostMapping("/list")
public Result<DataPageResp<SysUser>> list (@RequestBody SysUser user) {
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
return Result.success(new DataPageResp<>(0,list));
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@ -135,7 +134,7 @@ public class SysUserController extends BaseController {
*
* @return
*/
@GetMapping("getInfo")
@GetMapping("/getInfo")
public Result getInfo () {
SysUser user = userService.selectUserById(SecurityUtils.getUserId());
// 角色集合
@ -287,7 +286,7 @@ public class SysUserController extends BaseController {
*/
@RequiresPermissions("system:user:list")
@GetMapping("/deptTree")
public Result deptTree (SysDept dept) {
return success(deptService.selectDeptTreeList(dept));
public Result deptTree () {
return success(deptService.selectDeptTreeList());
}
}

View File

@ -4,7 +4,7 @@ import com.muyu.common.core.constant.CacheConstants;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.redis.service.RedisService;
@ -35,8 +35,8 @@ public class SysUserOnlineController extends BaseController {
private RedisService redisService;
@RequiresPermissions("monitor:online:list")
@GetMapping("/list")
public Result<TableDataInfo<SysUserOnline>> list (String ipaddr, String userName) {
@PostMapping("/list")
public Result<DataPageResp<SysUserOnline>> list (@RequestBody String ipaddr, String userName) {
Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*");
List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
for (String key : keys) {
@ -53,7 +53,7 @@ public class SysUserOnlineController extends BaseController {
}
Collections.reverse(userOnlineList);
userOnlineList.removeAll(Collections.singleton(null));
return getDataTable(userOnlineList);
return Result.success(new DataPageResp(0, userOnlineList));
}
/**

View File

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.system.domain.rep.SysConfigAddReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -78,4 +80,19 @@ public class SysConfig extends BaseEntity {
return configValue;
}
/**
*
* @param addReq
* @return
*/
public static SysConfig addReqBuild(SysConfigAddReq addReq) {
return builder()
.configKey(addReq.getConfigKey())
.configName(addReq.getConfigName())
.configValue(addReq.getConfigValue())
.configType(addReq.getConfigType())
.remark(addReq.getRemark())
.createBy(SecurityUtils.getUsername())
.build();
}
}

View File

@ -1,5 +1,9 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.SuperBuilder;
@ -20,82 +24,98 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("sys_menu")
public class SysMenu extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(type = IdType.AUTO)
private Long menuId;
/**
*
*/
@TableField()
private String menuName;
/**
*
*/
@TableField()
private String parentName;
/**
* ID
*/
@TableField()
private Long parentId;
/**
*
*/
@TableField()
private Integer orderNum;
/**
*
*/
@TableField()
private String path;
/**
*
*/
@TableField()
private String component;
/**
*
*/
@TableField()
private String query;
/**
* 0 1
*/
@TableField()
private String isFrame;
/**
* 0 1
*/
@TableField()
private String isCache;
/**
* M C F
*/
@TableField()
private String menuType;
/**
* 0 1
*/
@TableField()
private String visible;
/**
* 0 1
*/
@TableField()
private String status;
/**
*
*/
@TableField()
private String perms;
/**
*
*/
@TableField()
private String icon;
/**

View File

@ -1,5 +1,8 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.common.core.xss.Xss;
import lombok.AllArgsConstructor;
@ -21,12 +24,14 @@ import jakarta.validation.constraints.Size;
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("sys_notice")
public class SysNotice extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(type = IdType.AUTO)
private Long noticeId;
/**

View File

@ -1,5 +1,8 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
@ -20,6 +23,7 @@ import jakarta.validation.constraints.Size;
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("sys_post")
public class SysPost extends BaseEntity {
private static final long serialVersionUID = 1L;
@ -27,6 +31,7 @@ public class SysPost extends BaseEntity {
*
*/
@Excel(name = "岗位序号", cellType = ColumnType.NUMERIC)
@TableId(type = IdType.AUTO)
private Long postId;
/**

View File

@ -1,5 +1,8 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -14,6 +17,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_role_dept")
public class SysRoleDept {
/**
* ID

View File

@ -1,6 +1,9 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -15,6 +18,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_role_menu")
public class SysRoleMenu {
/**
* ID

View File

@ -1,5 +1,8 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -14,6 +17,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_user_online")
public class SysUserOnline {
/**
*

View File

@ -1,5 +1,8 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -14,6 +17,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_user_post")
public class SysUserPost {
/**
* ID

View File

@ -1,5 +1,8 @@
package com.muyu.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -14,6 +17,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_user_role")
public class SysUserRole {
/**
* ID

View File

@ -0,0 +1,60 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysConfigListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysConfigPageQueryModel extends QueryModel<SysConfigPageQueryModel> {
/**
*
*/
private String configName;
/**
* Key
*/
private String configKey;
/**
*
*/
private String configType;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysConfigPageQueryModel reqBuild(SysConfigListReq sysConfigListReq) {
SysConfigPageQueryModel configPageQueryModel = SysConfigPageQueryModel.builder()
.configName(sysConfigListReq.getConfigName())
.configType(sysConfigListReq.getConfigType())
.configKey(sysConfigListReq.getConfigKey())
.beginTime(sysConfigListReq.getBeginTime())
.endTime(sysConfigListReq.getEndTime())
.build();
configPageQueryModel.domainBuild(sysConfigListReq);
return configPageQueryModel;
}
}

View File

@ -0,0 +1,67 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysDeptListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysDeptPageQueryModel extends QueryModel<SysDeptPageQueryModel> {
/**
* ID
*/
private Long deptId;
/**
*
*/
private String deptName;
/**
* :0,1
*/
private String status;
/**
*
* @param sysDeptListReq
* @return
*/
public static SysDeptPageQueryModel reqBuild(SysDeptListReq sysDeptListReq) {
return SysDeptPageQueryModel.builder()
.deptName(sysDeptListReq.getDeptName())
.status(sysDeptListReq.getStatus())
.build();
}
/**
* ID
* @param deptId ID
* @return
*/
public static SysDeptPageQueryModel ofToDeptId(Long deptId) {
return SysDeptPageQueryModel.builder()
.deptId(deptId)
.build();
}
/**
*
* @return
*/
public static SysDeptPageQueryModel ofNull() {
return new SysDeptPageQueryModel();
}
}

View File

@ -0,0 +1,46 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysDictDataListReq;
import com.muyu.system.domain.rep.SysDictTypeListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysDictDataPageQueryModel extends QueryModel<SysDictDataPageQueryModel> {
/**
*
*/
private String dictType;
/**
*
*/
private String dictLabel;
/**
* 0 1
*/
private String status;
public static SysDictDataPageQueryModel reqBuild(SysDictDataListReq sysDictDataListReq) {
SysDictDataPageQueryModel sysDictDataPageQueryModel = SysDictDataPageQueryModel.builder()
.dictType(sysDictDataListReq.getDictType())
.dictLabel(sysDictDataListReq.getDictLabel())
.status(sysDictDataListReq.getStatus())
.build();
sysDictDataPageQueryModel.domainBuild(sysDictDataListReq);
return sysDictDataPageQueryModel;
}
}

View File

@ -0,0 +1,62 @@
package com.muyu.system.domain.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysDeptListReq;
import com.muyu.system.domain.rep.SysDictTypeListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysDictTypePageQueryModel extends QueryModel<SysDictTypePageQueryModel> {
/**
*
*/
private String dictName;
/**
*
*/
private String dictType;
/**
* 0 1
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysDictTypePageQueryModel reqBuild(SysDictTypeListReq sysDictTypeListReq) {
SysDictTypePageQueryModel sysDictTypePageQueryModel = SysDictTypePageQueryModel.builder()
.dictName(sysDictTypeListReq.getDictName())
.dictType(sysDictTypeListReq.getDictType())
.status(sysDictTypeListReq.getStatus())
.beginTime(sysDictTypeListReq.getBeginTime())
.endTime(sysDictTypeListReq.getEndTime())
.build();
sysDictTypePageQueryModel.domainBuild(sysDictTypeListReq);
return sysDictTypePageQueryModel;
}
}

View File

@ -0,0 +1,53 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysLogininforListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SysLogininforExportModel {
/**
* IP
*/
private String ipaddr;
/**
*
*/
private String userName;
/**
*
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysLogininforExportModel reqBuild(SysLogininforListReq req){
return SysLogininforExportModel.builder()
.ipaddr(req.getIpaddr())
.userName(req.getUserName())
.beginTime(req.getBeginTime())
.endTime(req.getEndTime())
.build();
}
}

View File

@ -0,0 +1,56 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.core.web.page.PageReq;
import com.muyu.system.domain.rep.SysLogininforListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SysLogininforListModel extends QueryModel<SysLogininforListModel> {
/**
* IP
*/
private String ipaddr;
/**
*
*/
private String userName;
/**
*
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysLogininforListModel reqBuild(SysLogininforListReq req){
return SysLogininforListModel.builder()
.ipaddr(req.getIpaddr())
.userName(req.getUserName())
.beginTime(req.getBeginTime())
.endTime(req.getEndTime())
.build()
.domainBuild(req);
}
}

View File

@ -0,0 +1,57 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysDictTypeListReq;
import com.muyu.system.domain.rep.SysLogininforListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysLogininforPageQueryModel extends QueryModel<SysLogininforPageQueryModel> {
/**
*
*/
private String userName;
/**
* 0 1
*/
private String status;
/**
*
*/
private String ipaddr;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysLogininforPageQueryModel reqBuild(SysLogininforListReq sysLogininforListReq) {
SysLogininforPageQueryModel sysLogininforPageQueryModel = SysLogininforPageQueryModel.builder()
.userName(sysLogininforListReq.getUserName())
.status(sysLogininforListReq.getStatus())
.ipaddr(sysLogininforListReq.getIpaddr())
.beginTime(sysLogininforListReq.getBeginTime())
.endTime(sysLogininforListReq.getEndTime())
.build();
sysLogininforPageQueryModel.domainBuild(sysLogininforListReq);
return sysLogininforPageQueryModel;
}
}

View File

@ -0,0 +1,39 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysLogininforListReq;
import com.muyu.system.domain.rep.SysMenuListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysMenuPageQueryModel extends QueryModel<SysMenuPageQueryModel> {
/**
*
*/
private String menuName;
/**
* 0 1
*/
private String status;
public static SysMenuPageQueryModel reqBuild(SysMenuListReq sysMenuListReq) {
SysMenuPageQueryModel sysMenuPageQueryModel = SysMenuPageQueryModel.builder()
.menuName(sysMenuListReq.getMenuName())
.status(sysMenuListReq.getStatus())
.build();
sysMenuPageQueryModel.domainBuild(sysMenuListReq);
return sysMenuPageQueryModel;
}
}

View File

@ -0,0 +1,45 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysMenuListReq;
import com.muyu.system.domain.rep.SysNoticeListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysNoticePageQueryModel extends QueryModel<SysNoticePageQueryModel> {
/**
*
*/
private String noticeTitle;
/**
* 1 2
*/
private String noticeType;
/**
*
*/
private String createBy;
public static SysNoticePageQueryModel reqBuild(SysNoticeListReq sysNoticeListReq) {
SysNoticePageQueryModel sysNoticePageQueryModel = SysNoticePageQueryModel.builder()
.noticeTitle(sysNoticeListReq.getNoticeTitle())
.noticeType(sysNoticeListReq.getNoticeType())
.createBy(sysNoticeListReq.getCreateBy())
.build();
sysNoticePageQueryModel.domainBuild(sysNoticeListReq);
return sysNoticePageQueryModel;
}
}

View File

@ -0,0 +1,66 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysNoticeListReq;
import com.muyu.system.domain.rep.SysOperlogListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysOperlogPageQueryModel extends QueryModel<SysOperlogPageQueryModel> {
/**
*
*/
private String operIp;
/**
*
*/
private String title;
/**
*
*/
private String operName;
/**
* 0 1 2 3
*/
private Integer businessType;
/**
* 0 1
*/
private Integer status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysOperlogPageQueryModel reqBuild(SysOperlogListReq sysOperlogListReq) {
SysOperlogPageQueryModel sysOperlogPageQueryModel = SysOperlogPageQueryModel.builder()
.operIp(sysOperlogListReq.getOperIp())
.title(sysOperlogListReq.getTitle())
.operName(sysOperlogListReq.getOperName())
.businessType(sysOperlogListReq.getBusinessType())
.status(sysOperlogListReq.getStatus())
.beginTime(sysOperlogListReq.getBeginTime())
.endTime(sysOperlogListReq.getEndTime())
.build();
sysOperlogPageQueryModel.domainBuild(sysOperlogListReq);
return sysOperlogPageQueryModel;
}
}

View File

@ -0,0 +1,47 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysOperlogListReq;
import com.muyu.system.domain.rep.SysPostListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysPostPageQueryModel extends QueryModel<SysPostPageQueryModel> {
/**
*
*/
private String postCode;
/**
*
*/
private String postName;
/**
* 0 1
*/
private String status;
public static SysPostPageQueryModel reqBuild(SysPostListReq sysPostListReq) {
SysPostPageQueryModel sysPostPageQueryModel = SysPostPageQueryModel.builder()
.postCode(sysPostListReq.getPostCode())
.postName(sysPostListReq.getPostName())
.status(sysPostListReq.getStatus())
.build();
sysPostPageQueryModel.domainBuild(sysPostListReq);
return sysPostPageQueryModel;
}
}

View File

@ -0,0 +1,65 @@
package com.muyu.system.domain.model;
/**
* @ClassName SysRolePageQueryModel
* @Author AnNan.Wang
* @Date 2024/12/16 12:34
*/
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysPostListReq;
import com.muyu.system.domain.rep.SysRoleListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysRolePageQueryModel extends QueryModel<SysRolePageQueryModel> {
/**
*
*/
private String roleName;
/**
*
*/
private String roleKey;
/**
* 0 1
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysRolePageQueryModel reqBuild(SysRoleListReq sysRoleListReq) {
SysRolePageQueryModel sysRolePageQueryModel = SysRolePageQueryModel.builder()
.roleName(sysRoleListReq.getRoleName())
.roleKey(sysRoleListReq.getRoleKey())
.status(sysRoleListReq.getStatus())
.beginTime(sysRoleListReq.getBeginTime())
.endTime(sysRoleListReq.getEndTime())
.build();
sysRolePageQueryModel.domainBuild(sysRoleListReq);
return sysRolePageQueryModel;
}
}

View File

@ -0,0 +1,58 @@
package com.muyu.system.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.rep.SysPostListReq;
import com.muyu.system.domain.rep.SysUserListReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysUserPageQueryModel extends QueryModel<SysUserPageQueryModel> {
/**
*
*/
private String nickName;
/**
*
*/
private String phonenumber;
/**
* 0 1
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
public static SysUserPageQueryModel reqBuild(SysUserListReq sysUserListReq) {
SysUserPageQueryModel sysUserPageQueryModel = SysUserPageQueryModel.builder()
.nickName(sysUserListReq.getNickName())
.phonenumber(sysUserListReq.getPhonenumber())
.status(sysUserListReq.getStatus())
.beginTime(sysUserListReq.getBeginTime())
.endTime(sysUserListReq.getEndTime())
.build();
sysUserPageQueryModel.domainBuild(sysUserListReq);
return sysUserPageQueryModel;
}
}

View File

@ -0,0 +1,45 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author dongzeliang
* @date 2025/1/10 17:24
* @version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysConfigAddReq {
/**
*
*/
private String configName;
/**
*
*/
private String configKey;
/**
*
*/
private String configValue;
/**
* Y N
*/
private String configType;
/**
*
*/
private String remark;
}

View File

@ -0,0 +1,43 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.page.PageReq;
import lombok.*;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysConfigListReq extends PageReq {
/**
*
*/
private String configName;
/**
* Key
*/
private String configKey;
/**
*
*/
private String configType;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -0,0 +1,10 @@
package com.muyu.system.domain.rep;
/**
* @author dongzeliang
* @version 1.0
* @description:
* @date 2025/1/14 10:39
*/
public class SysConfigUpdReq {
}

View File

@ -0,0 +1,34 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @ClassName SysDeptListReq
* @Author AnNan.Wang
* @Date 2024/12/14 11:44
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDeptListReq extends PageReq {
/**
*
*/
private String deptName;
/**
* :0,1
*/
private String status;
}

View File

@ -0,0 +1,37 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @ClassName SysDictDataListReq
* @Author AnNan.Wang
* @Date 2024/12/15 17:29
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictDataListReq extends PageReq {
/**
*
*/
private String dictType;
/**
*
*/
private String dictLabel;
/**
* 0 1
*/
private String status;
}

View File

@ -0,0 +1,51 @@
package com.muyu.system.domain.rep;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*
* @author muyu
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysDictTypeListReq extends PageReq {
/**
*
*/
private String dictName;
/**
*
*/
private String dictType;
/**
* 0 1
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -0,0 +1,45 @@
package com.muyu.system.domain.rep;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SysLogininforListReq extends PageReq {
/**
* IP
*/
private String ipaddr;
/**
*
*/
private String userName;
/**
*
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -0,0 +1,32 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @ClassName SysMenuListReq
* @Author AnNan.Wang
* @Date 2024/12/16 10:55
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysMenuListReq extends PageReq {
/**
*
*/
private String menuName;
/**
* 0 1
*/
private String status;
}

View File

@ -0,0 +1,37 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @ClassName SysNoticeListReq
* @Author AnNan.Wang
* @Date 2024/12/16 11:02
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysNoticeListReq extends PageReq {
/**
*
*/
private String noticeTitle;
/**
* 1 2
*/
private String noticeType;
/**
*
*/
private String createBy;
}

View File

@ -0,0 +1,54 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*
* @ClassName SysOperlogListReq
* @Author AnNan.Wang
* @Date 2024/12/16 11:18
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysOperlogListReq extends PageReq {
/**
*
*/
private String operIp;
/**
*
*/
private String title;
/**
*
*/
private String operName;
/**
* 0 1 2 3
*/
private Integer businessType;
/**
* 0 1
*/
private Integer status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -0,0 +1,40 @@
package com.muyu.system.domain.rep;
/**
* @ClassName SysPostListReq
* @Author AnNan.Wang
* @Date 2024/12/16 11:32
*/
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysPostListReq extends PageReq {
/**
*
*/
private String postCode;
/**
*
*/
private String postName;
/**
* 0 1
*/
private String status;
}

View File

@ -0,0 +1,44 @@
package com.muyu.system.domain.rep;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysRoleListReq extends PageReq {
/**
*
*/
private String roleName;
/**
*
*/
private String roleKey;
/**
* 0 1
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -0,0 +1,48 @@
package com.muyu.system.domain.rep;
/**
* @ClassName SysUserListReq
* @Author AnNan.Wang
* @Date 2024/12/16 12:30
*/
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.page.PageReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class SysUserListReq extends PageReq {
/**
*
*/
private String nickName;
/**
*
*/
private String phonenumber;
/**
* 0 1
*/
private String status;
/**
*
*/
private Date beginTime;
/**
*
*/
private Date endTime;
}

View File

@ -11,14 +11,6 @@ import java.util.List;
* @author muyu
*/
public interface SysRoleMapper extends BaseMapper<SysRole> {
/**
*
*
* @param role
*
* @return
*/
public List<SysRole> selectRoleList (SysRole role);
/**
* ID
@ -67,9 +59,9 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
*
*
* @param roleName
*
* @return
*/
public SysRole checkRoleNameUnique (String roleName);
/**
@ -79,16 +71,9 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
*
* @return
*/
public SysRole checkRoleKeyUnique (String roleKey);
/**
*
*
* @param role
*
* @return
*/
public int updateRole (SysRole role);
/**
*

View File

@ -3,6 +3,7 @@ package com.muyu.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.system.domain.SysRoleMenu;
import feign.Param;
import java.util.List;
@ -47,4 +48,8 @@ public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
* @return
*/
public int batchRoleMenu (List<SysRoleMenu> roleMenuList);
// 批量保存角色与菜单的关联
boolean saveBatch(@Param("roleMenuList") List<SysRoleMenu> roleMenuList);
}

View File

@ -1,7 +1,10 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.system.domain.SysConfig;
import com.muyu.system.domain.model.SysConfigPageQueryModel;
import java.util.List;
@ -11,7 +14,9 @@ import java.util.List;
* @Date 2023-11-13 10:06
*/
public interface SysConfigService extends IService<SysConfig> {
List<SysConfig> pageQuery (SysConfig config);
PageQueryModel<SysConfig> pageQuery (SysConfigPageQueryModel pageQueryModel);
/**
* Key
@ -22,10 +27,10 @@ public interface SysConfigService extends IService<SysConfig> {
/**
*
* @param config
* @return
* @param configKey Key
* @return true false
*/
boolean checkConfigKeyUnique (SysConfig config);
boolean checkConfigKeyUnique (String configKey);
/**
*

View File

@ -2,6 +2,7 @@ package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.system.domain.SysDept;
import com.muyu.system.domain.model.SysDeptPageQueryModel;
import com.muyu.system.domain.vo.TreeSelect;
import java.util.List;
@ -15,20 +16,18 @@ public interface SysDeptService extends IService<SysDept> {
/**
*
*
* @param dept
* @param deptPageQueryModel
*
* @return
*/
public List<SysDept> selectDeptList (SysDept dept);
public List<SysDept> selectDeptList (SysDeptPageQueryModel deptPageQueryModel);
/**
*
*
* @param dept
*
* @return
*/
public List<TreeSelect> selectDeptTreeList (SysDept dept);
public List<TreeSelect> selectDeptTreeList ();
/**
*
@ -135,4 +134,11 @@ public interface SysDeptService extends IService<SysDept> {
* @return
*/
public int deleteDeptById (Long deptId);
/**
*
* @param sysDeptPageQueryModel
* @return
*/
List<SysDept> queryList(SysDeptPageQueryModel sysDeptPageQueryModel);
}

View File

@ -1,7 +1,11 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysDictData;
import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictDataPageQueryModel;
import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import java.util.List;
@ -63,4 +67,7 @@ public interface SysDictDataService extends IService<SysDictData> {
* @return
*/
public int updateDictData (SysDictData dictData);
PageQueryModel<SysDictData> pageQuery(SysDictDataPageQueryModel sysDictDataPageQueryModel);
}

View File

@ -1,8 +1,10 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysDictData;
import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import java.util.List;
@ -103,4 +105,7 @@ public interface SysDictTypeService extends IService<SysDictType> {
* @return
*/
public boolean checkDictTypeUnique (SysDictType dictType);
PageQueryModel<SysDictType> pageQuery(SysDictTypePageQueryModel sysDictTypePageQueryModel);
}

View File

@ -1,7 +1,10 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.model.SysLogininforExportModel;
import com.muyu.system.domain.model.SysLogininforListModel;
import java.util.List;
@ -21,11 +24,11 @@ public interface SysLogininforService extends IService<SysLogininfor> {
/**
*
*
* @param logininfor 访
* @param sysLogininforListModel 访
*
* @return
*/
public List<SysLogininfor> selectLogininforList (SysLogininfor logininfor);
public PageQueryModel<SysLogininfor> pageQuery(SysLogininforListModel sysLogininforListModel);
/**
*
@ -40,4 +43,11 @@ public interface SysLogininforService extends IService<SysLogininfor> {
*
*/
public void cleanLogininfor ();
/**
*
* @param sysLogininforExportModel
* @return
*/
List<SysLogininfor> exportQuery(SysLogininforExportModel sysLogininforExportModel);
}

View File

@ -1,7 +1,11 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.SysMenu;
import com.muyu.system.domain.model.SysLogininforPageQueryModel;
import com.muyu.system.domain.model.SysMenuPageQueryModel;
import com.muyu.system.domain.vo.RouterVo;
import com.muyu.system.domain.vo.TreeSelect;
@ -158,4 +162,7 @@ public interface SysMenuService extends IService<SysMenu> {
* @return
*/
public boolean checkMenuNameUnique (SysMenu menu);
PageQueryModel<SysMenu> pageQuery(SysMenuPageQueryModel sysMenuPageQueryModel, Long userId);
}

View File

@ -1,7 +1,9 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.system.domain.SysNotice;
import com.muyu.system.domain.model.SysNoticePageQueryModel;
import java.util.List;
@ -64,4 +66,6 @@ public interface SysNoticeService extends IService<SysNotice> {
* @return
*/
public int deleteNoticeByIds (Long[] noticeIds);
PageQueryModel<SysNotice> pageQuery(SysNoticePageQueryModel sysNoticePageQueryModel);
}

View File

@ -1,7 +1,9 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysOperLog;
import com.muyu.system.domain.model.SysOperlogPageQueryModel;
import java.util.List;
@ -51,4 +53,7 @@ public interface SysOperLogService extends IService<SysOperLog> {
*
*/
public void cleanOperLog ();
PageQueryModel<SysOperLog> pageQuery(SysOperlogPageQueryModel sysOperlogPageQueryModel);
}

View File

@ -1,7 +1,9 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.system.domain.SysPost;
import com.muyu.system.domain.model.SysPostPageQueryModel;
import java.util.List;
@ -107,4 +109,7 @@ public interface SysPostService extends IService<SysPost> {
* @return
*/
public int updatePost (SysPost post);
PageQueryModel<SysPost> pageQuery(SysPostPageQueryModel sysPostPageQueryModel);
}

View File

@ -1,8 +1,10 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysRole;
import com.muyu.system.domain.SysUserRole;
import com.muyu.system.domain.model.SysRolePageQueryModel;
import java.util.List;
import java.util.Set;
@ -128,19 +130,17 @@ public interface SysRoleService extends IService<SysRole> {
*
*
* @param role
*
* @return
*/
public int updateRoleStatus (SysRole role);
public boolean updateRoleStatus (SysRole role);
/**
*
*
* @param role
*
* @return
*/
public int authDataScope (SysRole role);
public boolean authDataScope (SysRole role);
/**
* ID
@ -188,4 +188,6 @@ public interface SysRoleService extends IService<SysRole> {
* @return
*/
public int insertAuthUsers (Long roleId, Long[] userIds);
PageQueryModel<SysRole> pageQuery(SysRolePageQueryModel sysRolePageQueryModel);
}

View File

@ -1,7 +1,9 @@
package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.model.SysUserPageQueryModel;
import java.util.List;
@ -225,4 +227,6 @@ public interface SysUserService extends IService<SysUser> {
* @return
*/
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
PageQueryModel<SysUser> pageQuery(SysUserPageQueryModel sysUserPageQueryModel);
}

View File

@ -1,11 +1,14 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.CacheConstants;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.redis.service.RedisService;
import com.muyu.system.domain.SysConfig;
import com.muyu.system.domain.model.SysConfigPageQueryModel;
import com.muyu.system.mapper.SysConfigMapper;
import com.muyu.system.service.SysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
@ -30,26 +33,15 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
private RedisService redisService;
@Override
public List<SysConfig> pageQuery (SysConfig config) {
public PageQueryModel<SysConfig> pageQuery (SysConfigPageQueryModel pageQueryModel) {
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(config.getConfigName())){
queryWrapper.like(SysConfig::getConfigName, config.getConfigName());
}
if (StringUtils.isNotEmpty(config.getConfigType())){
queryWrapper.like(SysConfig::getConfigType, config.getConfigType());
}
if (StringUtils.isNotEmpty(config.getConfigKey())){
queryWrapper.like(SysConfig::getConfigKey, config.getConfigKey());
}
Object beginTime = config.getParams().get("beginTime");
if (Objects.nonNull(beginTime) && beginTime instanceof Date beginDate){
queryWrapper.gt(SysConfig::getCreateTime, beginDate);
}
Object endTime = config.getParams().get("endTime");
if (Objects.nonNull(endTime) && endTime instanceof Date endDate){
queryWrapper.lt(SysConfig::getCreateTime, endDate);
}
return this.list(queryWrapper);
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getConfigName()),SysConfig::getConfigName, pageQueryModel.getConfigName());
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getConfigType()),SysConfig::getConfigType, pageQueryModel.getConfigType());
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getConfigKey()),SysConfig::getConfigKey, pageQueryModel.getConfigKey());
queryWrapper.gt(Objects.nonNull(pageQueryModel.getBeginTime()),SysConfig::getCreateTime, pageQueryModel.getBeginTime());
queryWrapper.lt(Objects.nonNull(pageQueryModel.getEndTime()),SysConfig::getCreateTime, pageQueryModel.getEndTime());
Page<SysConfig> page = this.page(pageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
/**
@ -69,10 +61,10 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
}
@Override
public boolean checkConfigKeyUnique (SysConfig config) {
public boolean checkConfigKeyUnique (String configKey) {
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysConfig::getConfigKey, config.getConfigKey());
return this.count(queryWrapper) > 0;
queryWrapper.eq(SysConfig::getConfigKey, configKey);
return this.count(queryWrapper) == 0;
}
@Override

View File

@ -1,5 +1,6 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.exception.ServiceException;
@ -11,6 +12,7 @@ import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDept;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.model.SysDeptPageQueryModel;
import com.muyu.system.domain.vo.TreeSelect;
import com.muyu.system.mapper.SysDeptMapper;
import com.muyu.system.mapper.SysRoleMapper;
@ -19,8 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -29,37 +31,55 @@ import java.util.stream.Collectors;
* @author muyu
*/
@Service
public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> implements SysDeptService {
public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
implements SysDeptService {
@Autowired
private SysDeptMapper deptMapper;
@Autowired
private SysRoleMapper roleMapper;
@Override
public List<SysDept> queryList(SysDeptPageQueryModel sysDeptPageQueryModel) {
LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysDeptPageQueryModel.getDeptName()),SysDept::getDeptName, sysDeptPageQueryModel.getDeptName());
queryWrapper.eq(StringUtils.isNotEmpty(sysDeptPageQueryModel.getStatus()),SysDept::getStatus,sysDeptPageQueryModel.getStatus());
return this.list(queryWrapper);
}
/**
*
*
* @param dept
* @param sysDeptPageQueryModel
*
* @return
*/
@Override
@DataScope(deptAlias = "d")
public List<SysDept> selectDeptList (SysDept dept) {
return deptMapper.selectDeptList(dept);
public List<SysDept> selectDeptList (SysDeptPageQueryModel sysDeptPageQueryModel) {
LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(
StringUtils.isNotNull(sysDeptPageQueryModel.getDeptName()),SysDept::getDeptName, sysDeptPageQueryModel.getDeptName()
);
queryWrapper.eq(Objects.nonNull(sysDeptPageQueryModel.getStatus()),SysDept::getStatus,sysDeptPageQueryModel.getStatus());
queryWrapper.eq(sysDeptPageQueryModel.getDeptId() != null,SysDept::getDeptId,sysDeptPageQueryModel.getDeptId());
return this.list(queryWrapper);
}
/**
*
*
* @param dept
*
* @return
*/
@Override
public List<TreeSelect> selectDeptTreeList (SysDept dept) {
List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
return buildDeptTreeSelect(depts);
public List<TreeSelect> selectDeptTreeList () {
return buildDeptTreeSelect(
SpringUtils.getAopProxy(this).selectDeptList(
SysDeptPageQueryModel.ofNull()
)
);
}
/**
@ -71,8 +91,8 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
*/
@Override
public List<SysDept> buildDeptTree (List<SysDept> depts) {
List<SysDept> returnList = new ArrayList<SysDept>();
List<Long> tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
List<SysDept> returnList = new ArrayList<>();
List<Long> tempList = depts.stream().map(SysDept::getDeptId).toList();
for (SysDept dept : depts) {
// 如果是顶级节点, 遍历该父节点的所有子节点
if (!tempList.contains(dept.getParentId())) {
@ -187,9 +207,8 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
@Override
public void checkDeptDataScope (Long deptId) {
if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
SysDept dept = new SysDept();
dept.setDeptId(deptId);
List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
List<SysDept> depts = SpringUtils.getAopProxy(this)
.selectDeptList(SysDeptPageQueryModel.ofToDeptId(deptId));
if (StringUtils.isEmpty(depts)) {
throw new ServiceException("没有权限访问部门数据!");
}
@ -263,7 +282,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
for (SysDept child : children) {
child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
}
if (children.size() > 0) {
if (!children.isEmpty()) {
deptMapper.updateDeptChildren(children);
}
}
@ -280,6 +299,8 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
return deptMapper.deleteDeptById(deptId);
}
/**
*
*/
@ -299,9 +320,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
*/
private List<SysDept> getChildList (List<SysDept> list, SysDept t) {
List<SysDept> tlist = new ArrayList<SysDept>();
Iterator<SysDept> it = list.iterator();
while (it.hasNext()) {
SysDept n = (SysDept) it.next();
for (SysDept n : list) {
if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) {
tlist.add(n);
}
@ -313,6 +332,6 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
*
*/
private boolean hasChild (List<SysDept> list, SysDept t) {
return getChildList(list, t).size() > 0 ? true : false;
return !getChildList(list, t).isEmpty();
}
}

View File

@ -1,14 +1,22 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.security.utils.DictUtils;
import com.muyu.common.system.domain.SysDictData;
import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictDataPageQueryModel;
import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import com.muyu.system.mapper.SysDictDataMapper;
import com.muyu.system.service.SysDictDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
*
@ -20,6 +28,8 @@ public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDi
@Autowired
private SysDictDataMapper dictDataMapper;
/**
*
*
@ -105,4 +115,14 @@ public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDi
}
return row;
}
@Override
public PageQueryModel<SysDictData> pageQuery(SysDictDataPageQueryModel sysDictdataPageQueryModel) {
LambdaQueryWrapper<SysDictData> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StringUtils.isNotEmpty(sysDictdataPageQueryModel.getDictType()),SysDictData::getDictType, sysDictdataPageQueryModel.getDictType());
queryWrapper.like(StringUtils.isNotEmpty(sysDictdataPageQueryModel.getDictLabel()),SysDictData::getDictLabel, sysDictdataPageQueryModel.getDictLabel());
queryWrapper.eq(StringUtils.isNotEmpty(sysDictdataPageQueryModel.getStatus()),SysDictData::getDictType, sysDictdataPageQueryModel.getStatus());
Page<SysDictData> page = this.page(sysDictdataPageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
}

View File

@ -1,12 +1,16 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.security.utils.DictUtils;
import com.muyu.common.system.domain.SysDictData;
import com.muyu.common.system.domain.SysDictType;
import com.muyu.system.domain.model.SysDictTypePageQueryModel;
import com.muyu.system.mapper.SysDictDataMapper;
import com.muyu.system.mapper.SysDictTypeMapper;
import com.muyu.system.service.SysDictTypeService;
@ -18,6 +22,7 @@ import javax.annotation.PostConstruct;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -33,6 +38,18 @@ public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDi
@Autowired
private SysDictDataMapper dictDataMapper;
@Override
public PageQueryModel<SysDictType> pageQuery(SysDictTypePageQueryModel sysDictDataPageQueryModel) {
LambdaQueryWrapper<SysDictType> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysDictDataPageQueryModel.getDictName()),SysDictType::getDictName, sysDictDataPageQueryModel.getDictName());
queryWrapper.like(StringUtils.isNotEmpty(sysDictDataPageQueryModel.getDictType()),SysDictType::getDictType, sysDictDataPageQueryModel.getDictType());
queryWrapper.eq(StringUtils.isNotEmpty(sysDictDataPageQueryModel.getStatus()),SysDictType::getDictType, sysDictDataPageQueryModel.getStatus());
queryWrapper.gt(Objects.nonNull(sysDictDataPageQueryModel.getBeginTime()),SysDictType::getCreateTime, sysDictDataPageQueryModel.getBeginTime());
queryWrapper.lt(Objects.nonNull(sysDictDataPageQueryModel.getEndTime()),SysDictType::getCreateTime, sysDictDataPageQueryModel.getEndTime());
Page<SysDictType> page = this.page(sysDictDataPageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
/**
*
*/

View File

@ -1,7 +1,15 @@
package com.muyu.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.SysConfig;
import com.muyu.system.domain.model.SysLogininforExportModel;
import com.muyu.system.domain.model.SysLogininforListModel;
import com.muyu.system.mapper.SysLogininforMapper;
import com.muyu.system.service.SysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
@ -33,13 +41,19 @@ public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, S
/**
*
*
* @param logininfor 访
* @param pageQueryModel 访
*
* @return
*/
@Override
public List<SysLogininfor> selectLogininforList (SysLogininfor logininfor) {
return logininforMapper.selectLogininforList(logininfor);
public PageQueryModel<SysLogininfor> pageQuery(SysLogininforListModel pageQueryModel) {
LambdaQueryWrapper<SysLogininfor> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getIpaddr()), SysLogininfor::getIpaddr, pageQueryModel.getIpaddr());
queryWrapper.eq(StringUtils.isNotEmpty(pageQueryModel.getStatus()), SysLogininfor::getStatus, pageQueryModel.getStatus());
queryWrapper.like(StringUtils.isNotEmpty(pageQueryModel.getUserName()), SysLogininfor::getUserName, pageQueryModel.getUserName());
queryWrapper.between(!ObjectUtil.hasNull(pageQueryModel.getBeginTime(),pageQueryModel.getEndTime()), SysLogininfor::getAccessTime, pageQueryModel.getBeginTime(), pageQueryModel.getEndTime());
Page<SysLogininfor> page = this.page(pageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
/**
@ -61,4 +75,19 @@ public class SysLogininforServiceImpl extends ServiceImpl<SysLogininforMapper, S
public void cleanLogininfor () {
logininforMapper.cleanLogininfor();
}
/**
*
* @param exportModel
* @return
*/
@Override
public List<SysLogininfor> exportQuery(SysLogininforExportModel exportModel) {
LambdaQueryWrapper<SysLogininfor> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(exportModel.getIpaddr()), SysLogininfor::getIpaddr, exportModel.getIpaddr());
queryWrapper.eq(StringUtils.isNotEmpty(exportModel.getStatus()), SysLogininfor::getStatus, exportModel.getStatus());
queryWrapper.like(StringUtils.isNotEmpty(exportModel.getUserName()), SysLogininfor::getUserName, exportModel.getUserName());
queryWrapper.between(!ObjectUtil.hasNull(exportModel.getBeginTime(),exportModel.getEndTime()), SysLogininfor::getAccessTime, exportModel.getBeginTime(), exportModel.getEndTime());
return this.list(queryWrapper);
}
}

View File

@ -1,13 +1,18 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.Constants;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.SysMenu;
import com.muyu.system.domain.model.SysMenuPageQueryModel;
import com.muyu.system.domain.vo.MetaVo;
import com.muyu.system.domain.vo.RouterVo;
import com.muyu.system.domain.vo.TreeSelect;
@ -70,6 +75,23 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
}
return menuList;
}
@Override
public PageQueryModel<SysMenu> pageQuery(SysMenuPageQueryModel sysMenuPageQueryModel, Long userId) {
Page<SysMenu> page = null;
// 管理员显示所有菜单信息
if (SysUser.isAdmin(userId)) {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysMenuPageQueryModel.getMenuName()),SysMenu::getMenuName, sysMenuPageQueryModel.getMenuName());
queryWrapper.eq(StringUtils.isNotEmpty(sysMenuPageQueryModel.getStatus()),SysMenu::getStatus, sysMenuPageQueryModel.getStatus());
page = this.page(sysMenuPageQueryModel.buildPage(), queryWrapper);
} else {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysMenuPageQueryModel.getMenuName()),SysMenu::getMenuName, sysMenuPageQueryModel.getMenuName());
queryWrapper.eq(StringUtils.isNotEmpty(sysMenuPageQueryModel.getStatus()),SysMenu::getStatus, sysMenuPageQueryModel.getStatus());
page = this.page(sysMenuPageQueryModel.buildPage(), queryWrapper);
}
return PageQueryModel.of(page);
}
/**
* ID
@ -335,6 +357,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
return UserConstants.UNIQUE;
}
/**
*
*
@ -440,7 +464,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
public List<SysMenu> getChildPerms (List<SysMenu> list, int parentId) {
List<SysMenu> returnList = new ArrayList<SysMenu>();
for (Iterator<SysMenu> iterator = list.iterator() ; iterator.hasNext() ; ) {
SysMenu t = (SysMenu) iterator.next();
SysMenu t = iterator.next();
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
if (t.getParentId() == parentId) {
recursionFn(list, t);

View File

@ -1,13 +1,20 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.SysNotice;
import com.muyu.system.domain.model.SysNoticePageQueryModel;
import com.muyu.system.mapper.SysNoticeMapper;
import com.muyu.system.service.SysNoticeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
*
@ -19,6 +26,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Autowired
private SysNoticeMapper noticeMapper;
/**
*
*
@ -90,4 +98,14 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
public int deleteNoticeByIds (Long[] noticeIds) {
return noticeMapper.deleteNoticeByIds(noticeIds);
}
@Override
public PageQueryModel<SysNotice> pageQuery(SysNoticePageQueryModel sysNoticePageQueryModel) {
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysNoticePageQueryModel.getNoticeTitle()),SysNotice::getNoticeTitle, sysNoticePageQueryModel.getNoticeTitle());
queryWrapper.eq(StringUtils.isNotEmpty(sysNoticePageQueryModel.getNoticeType()),SysNotice::getNoticeType, sysNoticePageQueryModel.getNoticeType());
queryWrapper.like(StringUtils.isNotEmpty(sysNoticePageQueryModel.getCreateBy()),SysNotice::getCreateBy, sysNoticePageQueryModel.getCreateBy());
Page<SysNotice> page = this.page(sysNoticePageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
}

View File

@ -1,13 +1,20 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.common.system.domain.SysOperLog;
import com.muyu.system.domain.model.SysOperlogPageQueryModel;
import com.muyu.system.mapper.SysOperLogMapper;
import com.muyu.system.service.SysOperLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
*
@ -74,4 +81,18 @@ public class SysOperLogServiceImpl extends ServiceImpl<SysOperLogMapper, SysOper
public void cleanOperLog () {
operLogMapper.cleanOperLog();
}
@Override
public PageQueryModel<SysOperLog> pageQuery(SysOperlogPageQueryModel sysOperlogPageQueryModel) {
LambdaQueryWrapper<SysOperLog> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysOperlogPageQueryModel.getOperIp()),SysOperLog::getOperIp, sysOperlogPageQueryModel.getOperIp());
queryWrapper.like(StringUtils.isNotEmpty(sysOperlogPageQueryModel.getTitle()),SysOperLog::getTitle, sysOperlogPageQueryModel.getTitle());
queryWrapper.like(StringUtils.isNotEmpty(sysOperlogPageQueryModel.getOperName()),SysOperLog::getOperName, sysOperlogPageQueryModel.getOperName());
queryWrapper.eq(Objects.nonNull(sysOperlogPageQueryModel.getBusinessType()),SysOperLog::getBusinessType, sysOperlogPageQueryModel.getBusinessType());
queryWrapper.eq(Objects.nonNull(sysOperlogPageQueryModel.getStatus()),SysOperLog::getStatus, sysOperlogPageQueryModel.getStatus());
queryWrapper.gt(Objects.nonNull(sysOperlogPageQueryModel.getBeginTime()),SysOperLog::getOperTime, sysOperlogPageQueryModel.getBeginTime());
queryWrapper.lt(Objects.nonNull(sysOperlogPageQueryModel.getEndTime()),SysOperLog::getOperTime, sysOperlogPageQueryModel.getEndTime());
Page<SysOperLog> page = this.page(sysOperlogPageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
}

View File

@ -1,10 +1,15 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.system.domain.SysLogininfor;
import com.muyu.system.domain.SysPost;
import com.muyu.system.domain.model.SysPostPageQueryModel;
import com.muyu.system.mapper.SysPostMapper;
import com.muyu.system.mapper.SysUserPostMapper;
import com.muyu.system.service.SysPostService;
@ -12,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
*
@ -171,4 +177,14 @@ public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> impl
public int updatePost (SysPost post) {
return postMapper.updatePost(post);
}
@Override
public PageQueryModel<SysPost> pageQuery(SysPostPageQueryModel sysPostPageQueryModel) {
LambdaQueryWrapper<SysPost> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysPostPageQueryModel.getPostCode()),SysPost::getPostCode, sysPostPageQueryModel.getPostCode());
queryWrapper.like(StringUtils.isNotEmpty(sysPostPageQueryModel.getPostName()),SysPost::getPostName, sysPostPageQueryModel.getPostName());
queryWrapper.eq(StringUtils.isNotEmpty(sysPostPageQueryModel.getStatus()),SysPost::getStatus, sysPostPageQueryModel.getStatus());
Page<SysPost> page = this.page(sysPostPageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
}

View File

@ -1,17 +1,23 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.SpringUtils;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.datascope.annotation.DataScope;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysOperLog;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.SysRoleDept;
import com.muyu.system.domain.SysRoleMenu;
import com.muyu.system.domain.SysUserRole;
import com.muyu.system.domain.model.SysRolePageQueryModel;
import com.muyu.system.mapper.SysRoleDeptMapper;
import com.muyu.system.mapper.SysRoleMapper;
import com.muyu.system.mapper.SysRoleMenuMapper;
@ -45,14 +51,23 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
/**
*
*
* @param role
* @param params
*
* @return
*/
@Override
@DataScope(deptAlias = "d")
public List<SysRole> selectRoleList (SysRole role) {
return roleMapper.selectRoleList(role);
public List<SysRole> selectRoleList (SysRole params) {
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(params.getRoleId() != null && params.getRoleId() != 0, SysRole::getRoleId, params.getRoleId());
wrapper.like(StringUtils.isNotBlank(params.getRoleName()), SysRole::getRoleName, params.getRoleName());
wrapper.eq(StringUtils.isNotBlank(params.getStatus()), SysRole::getStatus, params.getStatus());
wrapper.like(StringUtils.isNotBlank(params.getRoleKey()), SysRole::getRoleKey, params.getRoleKey());
wrapper.ge(params.getParams().get("beginTime") != null, SysRole::getCreateTime, params.getParams().get("beginTime"));
wrapper.le(params.getParams().get("endTime") != null, SysRole::getCreateTime, params.getParams().get("endTime"));
wrapper.orderBy(true, true, SysRole::getRoleSort);
return this.list(wrapper);
}
/**
@ -219,52 +234,80 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
roleMapper.insertRole(role);
return insertRoleMenu(role);
}
/**
*
*
* @param role
* @param sysRole
*
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updateRole (SysRole role) {
// 修改角色信息
roleMapper.updateRole(role);
public int updateRole (SysRole sysRole) {
LambdaUpdateWrapper<SysRole> updateWrapper = new LambdaUpdateWrapper<>();
// 条件判断并更新字段
updateWrapper.eq(SysRole::getRoleId, sysRole.getRoleId());
if (sysRole.getRoleName() != null && !sysRole.getRoleName().isEmpty()) {
updateWrapper.set(SysRole::getRoleName, sysRole.getRoleName());
}
if (sysRole.getRoleKey() != null && !sysRole.getRoleKey().isEmpty()) {
updateWrapper.set(SysRole::getRoleKey, sysRole.getRoleKey());
}
if (sysRole.getRoleSort() != null) {
updateWrapper.set(SysRole::getRoleSort, sysRole.getRoleSort());
}
if (sysRole.getDataScope() != null && !sysRole.getDataScope().isEmpty()) {
updateWrapper.set(SysRole::getDataScope, sysRole.getDataScope());
}
if (sysRole.getStatus() != null && !sysRole.getStatus().isEmpty()) {
updateWrapper.set(SysRole::getStatus, sysRole.getStatus());
}
if (sysRole.getRemark() != null) {
updateWrapper.set(SysRole::getRemark, sysRole.getRemark());
}
if (sysRole.getUpdateBy() != null && !sysRole.getUpdateBy().isEmpty()) {
updateWrapper.set(SysRole::getUpdateBy, sysRole.getUpdateBy());
}
// 更新时间
updateWrapper.set(SysRole::getUpdateTime, new java.util.Date());
// 执行更新
this.update(updateWrapper);
// 删除角色与菜单关联
roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId());
return insertRoleMenu(role);
roleMenuMapper.deleteRoleMenuByRoleId(sysRole.getRoleId());
return insertRoleMenu(sysRole);
}
/**
*
*
* @param role
*
* @return
*/
@Override
public int updateRoleStatus (SysRole role) {
return roleMapper.updateRole(role);
public boolean updateRoleStatus (SysRole role) {
boolean updateResult = updateById(role); // 通过 roleId 更新角色信息
return updateResult;
}
/**
*
*
* @param role
*
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int authDataScope (SysRole role) {
public boolean authDataScope (SysRole role) {
// 修改角色信息
roleMapper.updateRole(role);
boolean updateResult = updateById(role); // 通过 roleId 更新角色信息
// 删除角色与部门关联
roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId());
// 新增角色和部门信息(数据权限)
return insertRoleDept(role);
return updateResult;
}
/**
@ -273,7 +316,11 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
* @param role
*/
public int insertRoleMenu (SysRole role) {
int rows = 1;
// 假设role.getMenuIds()返回角色关联的菜单ID列表
List<Long> menuIds = List.of(role.getMenuIds());
if (menuIds == null || menuIds.isEmpty()){
return 0;
}
// 新增用户与角色管理
List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
for (Long menuId : role.getMenuIds()) {
@ -282,10 +329,10 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
rm.setMenuId(menuId);
list.add(rm);
}
if (list.size() > 0) {
rows = roleMenuMapper.batchRoleMenu(list);
}
return rows;
// 使用MyBatis-Plus的saveBatch方法批量插入角色与菜单的关联关系
boolean saveResult = roleMenuMapper.saveBatch(list);
return saveResult ? list.size() : 0; // 返回成功插入的数量
}
/**
@ -396,4 +443,18 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
}
return userRoleMapper.batchUserRole(list);
}
@Override
public PageQueryModel<SysRole> pageQuery(SysRolePageQueryModel sysRolePageQueryModel) {
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysRolePageQueryModel.getRoleName()),SysRole::getRoleName, sysRolePageQueryModel.getRoleName());
queryWrapper.like(StringUtils.isNotEmpty(sysRolePageQueryModel.getRoleKey()),SysRole::getRoleKey, sysRolePageQueryModel.getRoleKey());
queryWrapper.eq(Objects.nonNull(sysRolePageQueryModel.getStatus()),SysRole::getStatus, sysRolePageQueryModel.getStatus());
queryWrapper.gt(Objects.nonNull(sysRolePageQueryModel.getBeginTime()),SysRole::getCreateTime, sysRolePageQueryModel.getBeginTime());
queryWrapper.lt(Objects.nonNull(sysRolePageQueryModel.getEndTime()),SysRole::getCreateTime, sysRolePageQueryModel.getEndTime());
Page<SysRole> page = this.page(sysRolePageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
}

View File

@ -1,11 +1,14 @@
package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.SpringUtils;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.bean.BeanValidators;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.datascope.annotation.DataScope;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysRole;
@ -13,6 +16,7 @@ import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.SysPost;
import com.muyu.system.domain.SysUserPost;
import com.muyu.system.domain.SysUserRole;
import com.muyu.system.domain.model.SysUserPageQueryModel;
import com.muyu.system.mapper.*;
import com.muyu.system.service.SysUserService;
import com.muyu.system.service.SysConfigService;
@ -26,6 +30,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -500,4 +505,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return successMsg.toString();
}
@Override
public PageQueryModel<SysUser> pageQuery(SysUserPageQueryModel sysUserPageQueryModel) {
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(sysUserPageQueryModel.getPhonenumber()),SysUser::getPhonenumber, sysUserPageQueryModel.getPhonenumber());
queryWrapper.eq(StringUtils.isNotEmpty(sysUserPageQueryModel.getNickName()),SysUser::getNickName, sysUserPageQueryModel.getNickName());
queryWrapper.eq(Objects.nonNull(sysUserPageQueryModel.getStatus()),SysUser::getStatus, sysUserPageQueryModel.getStatus());
queryWrapper.gt(Objects.nonNull(sysUserPageQueryModel.getBeginTime()),SysUser::getCreateTime, sysUserPageQueryModel.getBeginTime());
queryWrapper.lt(Objects.nonNull(sysUserPageQueryModel.getEndTime()),SysUser::getCreateTime, sysUserPageQueryModel.getEndTime());
Page<SysUser> page = this.page(sysUserPageQueryModel.buildPage(), queryWrapper);
return PageQueryModel.of(page);
}
//nickName
//phonenumber
//status
//beginTime
//endTime
}

View File

@ -39,32 +39,6 @@
left join sys_dept d on u.dept_id = d.dept_id
</sql>
<select id="selectRoleList" parameterType="com.muyu.common.system.domain.SysRole" resultMap="SysRoleResult">
<include refid="selectRoleVo"/>
where r.del_flag = '0'
<if test="roleId != null and roleId != 0">
AND r.role_id = #{roleId}
</if>
<if test="roleName != null and roleName != ''">
AND r.role_name like concat('%', #{roleName}, '%')
</if>
<if test="status != null and status != ''">
AND r.status = #{status}
</if>
<if test="roleKey != null and roleKey != ''">
AND r.role_key like concat('%', #{roleKey}, '%')
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(r.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
</if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
and date_format(r.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
order by r.role_sort
</select>
<select id="selectRolePermissionByUserId" parameterType="Long" resultMap="SysRoleResult">
<include refid="selectRoleVo"/>
WHERE r.del_flag = '0' and ur.user_id = #{userId}
@ -130,23 +104,6 @@
)
</insert>
<update id="updateRole" parameterType="com.muyu.common.system.domain.SysRole">
update sys_role
<set>
<if test="roleName != null and roleName != ''">role_name = #{roleName},</if>
<if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if>
<if test="roleSort != null">role_sort = #{roleSort},</if>
<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
<if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if>
<if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate()
</set>
where role_id = #{roleId}
</update>
<delete id="deleteRoleById" parameterType="Long">
update sys_role
set del_flag = '2'

View File

@ -34,5 +34,11 @@
(#{item.roleId},#{item.menuId})
</foreach>
</insert>
<insert id="saveBatch">
insert into sys_role_menu(role_id, menu_id) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.roleId},#{item.menuId})
</foreach>
</insert>
</mapper>

23
pom.xml
View File

@ -25,7 +25,6 @@
<swagger.core.version>1.6.2</swagger.core.version>
<tobato.version>1.27.2</tobato.version>
<kaptcha.version>2.3.3</kaptcha.version>
<pagehelper.boot.version>1.4.7</pagehelper.boot.version>
<druid.version>1.2.23</druid.version>
<dynamic-ds.version>4.3.0</dynamic-ds.version>
<commons.io.version>2.13.0</commons.io.version>
@ -42,6 +41,7 @@
<hutool.version>5.8.27</hutool.version>
<knife4j-openapi3.version>4.1.0</knife4j-openapi3.version>
<xxl-job-core.version>2.4.1</xxl-job-core.version>
<mybatis-plus.version>3.5.9</mybatis-plus.version>
</properties>
<!-- 依赖声明 -->
@ -134,13 +134,6 @@
<version>${kaptcha.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<!-- io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
@ -148,6 +141,20 @@
<version>${commons.io.version}</version>
</dependency>
<!-- mybatis - plus 依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
<!-- 确保版本和 MyBatis Plus 主包一致 -->
<version>${mybatis-plus.version}</version>
</dependency>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>

View File

@ -2,7 +2,7 @@
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<contextName>logback</contextName>
<property name="log.path" value="/data/applogs/xxl-job/xxl-job-admin.log"/>
<property name="log.path" value="logs/xxl-job/xxl-job-admin.log"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>

View File

@ -57,11 +57,10 @@ public class IpUtil {
return false;
}
String name = address.getHostAddress();
boolean result = (name != null
return (name != null
&& IP_PATTERN.matcher(name).matches()
&& !ANYHOST_VALUE.equals(name)
&& !LOCALHOST_VALUE.equals(name));
return result;
}