Merge branch 'master' of https://gitee.com/youlaiorg/youlai-boot into feature/noticews

# Conflicts:
#	src/main/java/com/youlai/boot/platform/websocket/service/impl/WebsocketServiceImpl.java
#	src/main/java/com/youlai/boot/system/controller/NoticeController.java
#	src/main/java/com/youlai/boot/system/controller/NoticeStatusController.java
#	src/main/java/com/youlai/boot/system/converter/NoticeConverter.java
#	src/main/java/com/youlai/boot/system/converter/NoticeStatusConverter.java
#	src/main/java/com/youlai/boot/system/mapper/NoticeMapper.java
#	src/main/java/com/youlai/boot/system/mapper/NoticeStatusMapper.java
#	src/main/java/com/youlai/boot/system/model/entity/Notice.java
#	src/main/java/com/youlai/boot/system/model/entity/NoticeStatus.java
#	src/main/java/com/youlai/boot/system/model/form/NoticeForm.java
#	src/main/java/com/youlai/boot/system/model/form/NoticeStatusForm.java
#	src/main/java/com/youlai/boot/system/model/query/NoticeQuery.java
#	src/main/java/com/youlai/boot/system/model/query/NoticeStatusQuery.java
#	src/main/java/com/youlai/boot/system/model/vo/NoticeStatusVO.java
#	src/main/java/com/youlai/boot/system/model/vo/NoticeVO.java
#	src/main/java/com/youlai/boot/system/service/NoticeService.java
#	src/main/java/com/youlai/boot/system/service/NoticeStatusService.java
#	src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java
#	src/main/java/com/youlai/boot/system/service/impl/NoticeStatusServiceImpl.java
This commit is contained in:
Theo
2024-08-31 20:10:54 +08:00
252 changed files with 1338 additions and 1267 deletions

View File

@@ -0,0 +1,16 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.system.model.entity.Config;
import org.apache.ibatis.annotations.Mapper;
/**
* 系统配置 访问层
*
* @author Theo
* @since 2024-7-29 11:41:04
*/
@Mapper
public interface ConfigMapper extends BaseMapper<Config> {
}

View File

@@ -0,0 +1,20 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.youlai.boot.common.annotation.DataPermission;
import com.youlai.boot.system.model.entity.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface DeptMapper extends BaseMapper<Dept> {
@DataPermission(deptIdColumnName = "id")
@Override
List<Dept> selectList(@Param(Constants.WRAPPER) Wrapper<Dept> queryWrapper);
}

View File

@@ -0,0 +1,20 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.system.model.entity.DictItem;
import org.apache.ibatis.annotations.Mapper;
/**
* 字典项 访问层
*
* @author Ray Hao
* @since 2.9.0
*/
@Mapper
public interface DictItemMapper extends BaseMapper<DictItem> {
}

View File

@@ -0,0 +1,31 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.system.model.entity.Dict;
import com.youlai.boot.system.model.query.DictPageQuery;
import com.youlai.boot.system.model.vo.DictPageVO;
import org.apache.ibatis.annotations.Mapper;
/**
* 字典 访问层
*
* @author Ray Hao
* @since 2.9.0
*/
@Mapper
public interface DictMapper extends BaseMapper<Dict> {
/**
* 字典分页列表
*
* @param page 分页参数
* @param queryParams 查询参数
* @return
*/
Page<DictPageVO> getDictPage(Page<DictPageVO> page, DictPageQuery queryParams);
}

View File

@@ -0,0 +1,68 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.system.model.bo.VisitCount;
import com.youlai.boot.system.model.entity.Log;
import com.youlai.boot.system.model.query.LogPageQuery;
import com.youlai.boot.system.model.vo.LogPageVO;
import com.youlai.boot.system.model.vo.VisitStatsVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 系统日志 数据库访问层
*
* @author Ray
* @since 2.10.0
*/
@Mapper
public interface LogMapper extends BaseMapper<Log> {
/**
* 获取日志分页列表
*
* @param page
* @param queryParams
* @return
*/
Page<LogPageVO> listPagedLogs(Page<LogPageVO> page, LogPageQuery queryParams);
/**
* 统计浏览数(PV)
*
* @param startDate 开始日期 yyyy-MM-dd
* @param endDate 结束日期 yyyy-MM-dd
* @return
*/
List<VisitCount> getPvCounts(String startDate, String endDate);
/**
* 统计IP数
*
* @param startDate 开始日期 yyyy-MM-dd
* @param endDate 结束日期 yyyy-MM-dd
* @return
*/
List<VisitCount> getIpCounts(String startDate, String endDate);
/**
* 获取浏览量(PV)统计数据
*
* @return
*/
VisitStatsVO getPvStats();
/**
* 获取IP统计数据
*
* @return
*/
VisitStatsVO getIpStats();
}

View File

@@ -0,0 +1,26 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.system.model.bo.RouteBO;
import com.youlai.boot.system.model.entity.Menu;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Set;
/**
* 菜单访问层
*
* @author Ray
* @since 2022/1/24
*/
@Mapper
public interface MenuMapper extends BaseMapper<Menu> {
/**
* 获取菜单路由列表
*/
List<RouteBO> listRoutes(Set<String> roles);
}

View File

@@ -0,0 +1,28 @@
package com.youlai.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.system.model.entity.Notice;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.system.model.query.NoticeQuery;
import com.youlai.system.model.vo.NoticeVO;
import org.apache.ibatis.annotations.Mapper;
/**
* 通知公告Mapper接口
*
* @author youlaitech
* @since 2024-08-27 10:31
*/
@Mapper
public interface NoticeMapper extends BaseMapper<Notice> {
/**
* 获取通知公告分页数据
*
* @param page 分页对象
* @param queryParams 查询参数
* @return
*/
Page<NoticeVO> getNoticePage(Page<NoticeVO> page, NoticeQuery queryParams);
}

View File

@@ -0,0 +1,28 @@
package com.youlai.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.system.model.entity.NoticeStatus;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.system.model.query.NoticeStatusQuery;
import com.youlai.system.model.vo.NoticeStatusVO;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户公告状态Mapper接口
*
* @author youlaitech
* @since 2024-08-28 16:56
*/
@Mapper
public interface NoticeStatusMapper extends BaseMapper<NoticeStatus> {
/**
* 获取用户公告状态分页数据
*
* @param page 分页对象
* @param queryParams 查询参数
* @return
*/
Page<NoticeStatusVO> getNoticeStatusPage(Page<NoticeStatusVO> page, NoticeStatusQuery queryParams);
}

View File

@@ -0,0 +1,20 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.system.model.entity.Role;
import org.apache.ibatis.annotations.Mapper;
import java.util.Set;
@Mapper
public interface RoleMapper extends BaseMapper<Role> {
/**
* 获取最大范围的数据权限
*
* @param roles
* @return
*/
Integer getMaximumDataScope(Set<String> roles);
}

View File

@@ -0,0 +1,41 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.system.model.bo.RolePermsBO;
import com.youlai.boot.system.model.entity.RoleMenu;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Set;
/**
* 角色菜单访问层
*
* @author haoxr
* @since 2022/6/4
*/
@Mapper
public interface RoleMenuMapper extends BaseMapper<RoleMenu> {
/**
* 获取角色拥有的菜单ID集合
*
* @param roleId 角色ID
* @return 菜单ID集合
*/
List<Long> listMenuIdsByRoleId(Long roleId);
/**
* 获取权限和拥有权限的角色列表
*/
List<RolePermsBO> getRolePermsList(String roleCode);
/**
* 获取角色权限集合
*
* @param roles
* @return
*/
Set<String> listRolePerms(Set<String> roles);
}

View File

@@ -0,0 +1,67 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.system.model.bo.UserBO;
import com.youlai.boot.system.model.entity.User;
import com.youlai.boot.system.model.query.UserPageQuery;
import com.youlai.boot.system.model.form.UserForm;
import com.youlai.boot.common.annotation.DataPermission;
import com.youlai.boot.system.model.dto.UserAuthInfo;
import com.youlai.boot.system.model.dto.UserExportDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 用户持久层
*
* @author haoxr
* @since 2022/1/14
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {
/**
* 获取用户分页列表
*
* @param page
* @param queryParams 查询参数
* @return
*/
@DataPermission(deptAlias = "u")
Page<UserBO> listPagedUsers(Page<UserBO> page, UserPageQuery queryParams);
/**
* 获取用户表单详情
*
* @param userId 用户ID
* @return
*/
UserForm getUserFormData(Long userId);
/**
* 根据用户名获取认证信息
*
* @param username
* @return
*/
UserAuthInfo getUserAuthInfo(String username);
/**
* 获取导出用户列表
*
* @param queryParams
* @return
*/
@DataPermission(deptAlias = "u")
List<UserExportDTO> listExportUsers(UserPageQuery queryParams);
/**
* 获取用户个人中心信息
*
* @param userId 用户ID
* @return
*/
UserBO getUserProfile(Long userId);
}

View File

@@ -0,0 +1,22 @@
package com.youlai.boot.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.system.model.entity.UserRole;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户角色访问层
*
* @author haoxr
* @since 2022/1/15
*/
@Mapper
public interface UserRoleMapper extends BaseMapper<UserRole> {
/**
* 获取角色绑定的用户数
*
* @param roleId 角色ID
*/
int countUsersForRole(Long roleId);
}