huangyao 2021-01-13 15:27:10 +08:00
commit 1e75db7aa2
31 changed files with 202 additions and 158 deletions

View File

@ -9,13 +9,13 @@ package cn.stylefeng.roses.kernel.rule.constants;
public interface TreeConstants {
/**
* Id
* id
*/
String ROOT_TREE_NODE_ID = "-1";
Long DEFAULT_PARENT_ID = -1L;
/**
*
* id
*/
String ROOT_TREE_NODE_NAME = "根结点";
Long VIRTUAL_ROOT_PARENT_ID = -2L;
}

View File

@ -1,32 +0,0 @@
package cn.stylefeng.roses.kernel.rule.factory;
import cn.stylefeng.roses.kernel.rule.pojo.tree.DefaultTreeNode;
import static cn.stylefeng.roses.kernel.rule.constants.TreeConstants.ROOT_TREE_NODE_ID;
import static cn.stylefeng.roses.kernel.rule.constants.TreeConstants.ROOT_TREE_NODE_NAME;
/**
*
*
* @author fengshuonan
* @date 2020/10/15 15:51
*/
public class TreeNodeFactory {
/**
*
*
* @author fengshuonan
* @date 2020/10/15 15:52
*/
public static DefaultTreeNode createRootNode() {
DefaultTreeNode root = new DefaultTreeNode();
root.setChecked(false);
root.setId(ROOT_TREE_NODE_ID);
root.setName(ROOT_TREE_NODE_NAME);
root.setOpen(true);
root.setPId(null);
return root;
}
}

View File

@ -1,7 +1,7 @@
package cn.stylefeng.roses.kernel.system.pojo.ztree;
package cn.stylefeng.roses.kernel.rule.pojo.ztree;
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractTreeNode;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
@ -10,7 +10,7 @@ import lombok.ToString;
import java.util.List;
/**
* jquery ztree
* jquery zTree
*
* @author fengshuonan
* @date 2021/1/6 21:47
@ -75,10 +75,10 @@ public class ZTreeNode implements AbstractTreeNode {
public static ZTreeNode createParent() {
ZTreeNode zTreeNode = new ZTreeNode();
zTreeNode.setChecked(true);
zTreeNode.setId(SystemConstants.DEFAULT_PARENT_ID);
zTreeNode.setId(TreeConstants.DEFAULT_PARENT_ID);
zTreeNode.setName("顶级");
zTreeNode.setOpen(true);
zTreeNode.setpId(SystemConstants.VIRTUAL_ROOT_PARENT_ID);
zTreeNode.setpId(TreeConstants.VIRTUAL_ROOT_PARENT_ID);
return zTreeNode;
}

View File

@ -20,6 +20,32 @@ public class SysFileInfoListResponse implements Serializable {
*/
private Long fileId;
/**
*
* <p>
*
* <p>
* codeid
*/
private Long fileCode;
/**
*
*/
private String fileBucket;
/**
* bucketid+.
*/
private String fileObjectName;
/**
*
*/
private String secretFlag;
/**
* Code
*/
@ -30,6 +56,12 @@ public class SysFileInfoListResponse implements Serializable {
*/
private String fileOriginName;
/**
* 1-2-3-minio4-
*/
private Integer fileLocation;
/**
*
*/

View File

@ -7,7 +7,6 @@
resultType="cn.stylefeng.roses.kernel.file.pojo.response.SysFileInfoResponse">
SELECT file.file_id AS fileId,
file.file_code AS fileCode,
file.file_app_code AS fileAppCode,
file.file_version AS fileVersion,
file.file_status AS fileStatus,
file.file_origin_name AS fileOriginName,
@ -27,28 +26,24 @@
<!-- 附件列表 -->
<select id="fileInfoList" resultType="cn.stylefeng.roses.kernel.file.pojo.response.SysFileInfoListResponse">
SELECT file.file_id AS fileId,
file.file_app_code AS fileAppCode,
app.app_name AS fileAppCodeName,
file.file_origin_name AS fileOriginName,
file.file_suffix AS fileSuffix,
file.file_size_info AS fileSizeInfo,
file.file_version AS fileVersion,
file.create_account_id AS createAccountId,
file.create_dept_id AS createDeptId,
emp.emp_full_name_cn AS createUserName,
file.create_time AS createTime,
file.del_flag AS delFlag
SELECT file.file_id AS fileId,
file.file_code AS fileCode,
file.secret_flag AS secretFlag,
file.file_bucket AS fileBucket,
file.file_object_name AS fileObjectName,
file.file_location AS fileLocation,
file.file_origin_name AS fileOriginName,
file.file_suffix AS fileSuffix,
file.file_size_info AS fileSizeInfo,
file.file_version AS fileVersion,
user.real_name AS createUserName,
file.create_time AS createTime,
file.del_flag AS delFlag
FROM sys_file_info file
LEFT JOIN sys_app app ON file.file_app_code = app.app_code
LEFT JOIN sys_account account ON account.account_id = file.create_account_id
LEFT JOIN hr_emp_main emp ON account.emp_main_id = emp.emp_main_id
LEFT JOIN sys_user user ON user.user_id = file.create_user
<where>
<if test="sysFileInfoRequest.fileAppCode != null and sysFileInfoRequest.fileAppCode != '' ">
AND file.file_app_code = #{sysFileInfoRequest.fileAppCode}
</if>
<if test="sysFileInfoRequest.fileOriginName != null and sysFileInfoRequest.fileOriginName != '' ">
AND file.file_app_code LIKE CONCAT('%',#{fileOriginName},'%')
AND file.file_origin_name LIKE CONCAT('%',#{sysFileInfoRequest.fileOriginName},'%')
</if>
</where>
</select>

View File

@ -3,6 +3,7 @@ package cn.stylefeng.roses.kernel.log.db;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.log.api.LogManagerApi;
@ -18,9 +19,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import static cn.stylefeng.roses.kernel.log.api.constants.LogConstants.DEFAULT_BEGIN_PAGE_NO;
import static cn.stylefeng.roses.kernel.log.api.constants.LogConstants.DEFAULT_PAGE_SIZE;
/**
*
*
@ -48,17 +46,14 @@ public class DbLogManagerServiceImpl implements LogManagerApi {
return new PageResult<>();
}
// 创建默认的请求方法
createDefaultLogManagerParam(logManagerParam);
LambdaQueryWrapper<SysLog> sysLogLambdaQueryWrapper = new LambdaQueryWrapper<>();
// 创建查询条件
createQueryCondition(logManagerParam, sysLogLambdaQueryWrapper);
// 查询分页结果
Page<SysLog> sysLogPage = new Page<>(logManagerParam.getPageNo(), logManagerParam.getPageSize());
Page<SysLog> page = sysLogService.page(sysLogPage, sysLogLambdaQueryWrapper);
Page<SysLog> objectPage = PageFactory.defaultPage();
Page<SysLog> page = sysLogService.page(objectPage, sysLogLambdaQueryWrapper);
PageResult<SysLog> pageResult = PageResultFactory.createPageResult(page);
PageResult<LogRecordDTO> logRecordDtoPageResult = new PageResult<>();
@ -160,25 +155,4 @@ public class DbLogManagerServiceImpl implements LogManagerApi {
sysLogLambdaQueryWrapper.orderByDesc(SysLog::getCreateTime);
}
/**
*
*
* @param logManagerParam
* @author luojie
* @date 2020/11/3 11:20
*/
private void createDefaultLogManagerParam(LogManagerParam logManagerParam) {
// 默认从第一页开始
if (logManagerParam.getPageNo() == null) {
logManagerParam.setPageNo(DEFAULT_BEGIN_PAGE_NO);
}
// 默认每页10条
if (logManagerParam.getPageSize() == null) {
logManagerParam.setPageSize(DEFAULT_PAGE_SIZE);
}
}
}

View File

@ -40,14 +40,6 @@
<version>1.0.0</version>
</dependency>
<!--系统api模块-->
<!--用在业务,系统常量-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>system-api</artifactId>
<version>1.0.0</version>
</dependency>
<!--数据库sdk-->
<!--数据库初始化-->
<dependency>

View File

@ -11,14 +11,13 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import org.springframework.beans.factory.annotation.Autowired;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
@ -31,7 +30,7 @@ import java.util.List;
@ApiResource(name = "字典详情管理")
public class DictController {
@Autowired
@Resource
private DictService dictService;
/**
@ -159,13 +158,10 @@ public class DictController {
/**
*
*
* @param
* @return
* @author huangyao
* @date 2021/1/10 17:31
*/
@GetResource(name = "获取zTree形式的字典树layui版本", path = "/dict/zTree")
@ResponseBody
public List<ZTreeNode> layuiSelectParentMenuTreeList(@Validated(DictRequest.dictZTree.class) DictRequest dictRequest) {
return this.dictService.dictZTree(dictRequest);
}

View File

@ -1,7 +1,6 @@
package cn.stylefeng.roses.kernel.dict.modular.controller;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest;
import cn.stylefeng.roses.kernel.dict.modular.service.DictTypeService;
@ -11,12 +10,12 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@ -30,7 +29,7 @@ import java.util.List;
@ApiResource(name = "字典类型管理")
public class DictTypeController {
@Autowired
@Resource
private DictTypeService dictTypeService;
/**
@ -81,6 +80,12 @@ public class DictTypeController {
return new SuccessResponseData();
}
/**
*
*
* @author fengshuonan
* @date 2021/1/13 11:25
*/
@GetResource(name = "获取字典类型详情", path = "/dictType/getDictDetail", requiredPermission = false)
public ResponseData getDictDetail(@RequestParam("dictTypeId") Long dictTypeId) {
SysDictType detail = this.dictTypeService.findDetail(dictTypeId);

View File

@ -1,6 +1,5 @@
package cn.stylefeng.roses.kernel.dict.modular.mapper;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -21,7 +20,6 @@ public interface DictTypeMapper extends BaseMapper<SysDictType> {
*
*
* @param dictTypeId id
* @return
* @author huangyao
* @date 2021/1/10 17:25
*/

View File

@ -5,7 +5,7 @@ import cn.stylefeng.roses.kernel.dict.api.DictApi;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo;
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -117,10 +117,9 @@ public interface DictService extends IService<SysDict>, DictApi {
/**
* ztree
*
* @param
* @return
* @author huangyao
* @date 2021/1/12 14:27
*/
List<ZTreeNode> dictZTree(DictRequest dictRequest);
}

View File

@ -2,7 +2,6 @@ package cn.stylefeng.roses.kernel.dict.modular.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest;
import com.baomidou.mybatisplus.extension.service.IService;
@ -87,9 +86,9 @@ public interface DictTypeService extends IService<SysDictType> {
*
*
* @param dictTypeId id
* @return
* @author huangyao
* @date 2021/1/10 17:27
*/
SysDictType findDetail(Long dictTypeId);
}

View File

@ -18,11 +18,11 @@ import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest;
import cn.stylefeng.roses.kernel.dict.modular.service.DictService;
import cn.stylefeng.roses.kernel.pinyin.api.PinYinApi;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -157,7 +157,7 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
public SysDict findDetail(Long dictId) {
SysDict dict = this.baseMapper.findDetail(dictId);
// 获取父节点字典名称
if (dict.getDictParentId().equals(SystemConstants.DEFAULT_PARENT_ID)) {
if (dict.getDictParentId().equals(TreeConstants.DEFAULT_PARENT_ID)) {
dict.setParentName("顶级");
} else {
SysDict parentDict = this.getById(dict.getDictParentId());

View File

@ -121,4 +121,25 @@ public interface MessageApi {
*/
List<MessageResponse> queryListCurrentUser(MessageParam messageParam);
/**
*
*
* @param messageParam
* @return
* @author liuhanqing
* @date 2021/1/11 21:21
*/
Integer queryCount(MessageParam messageParam);
/**
*
*
* @param messageParam
* @return
* @author liuhanqing
* @date 2021/1/11 21:21
*/
Integer queryCountCurrentUser(MessageParam messageParam);
}

View File

@ -1,9 +1,13 @@
package cn.stylefeng.roses.kernel.message.api.pojo;
import cn.stylefeng.roses.kernel.message.api.enums.MessageProrityLevelEnum;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
/**
*
@ -69,4 +73,29 @@ public class MessageResponse implements Serializable {
*/
private Integer readFlag;
/**
*
*/
private String priorityLevelValue;
/**
* 0-1-
*/
private String readFlagValue;
public String getPriorityLevelValue(){
AtomicReference<String> value = new AtomicReference<>("");
Optional.ofNullable(this.priorityLevel).ifPresent(val ->{
value.set(MessageProrityLevelEnum.getName(this.priorityLevel));
});
return value.get();
}
public String getReadFlagValue(){
AtomicReference<String> value = new AtomicReference<>("");
Optional.ofNullable(this.readFlag).ifPresent(val ->{
value.set(MessageReadFlagEnum.getName(this.readFlag));
});
return value.get();
}
}

View File

@ -15,7 +15,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
@ -117,4 +119,20 @@ public class SysMessageController {
return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam));
}
/**
*
*
* @author liuhanqing
* @date 2021/1/11 19:50
*/
@GetResource(name = "系统消息列表", path = "/sysMessage/unReadCount")
public ResponseData msgUnRead(MessageParam messageParam) {
messageParam.setReadFlag(MessageReadFlagEnum.UNREAD.getCode());
Integer messageCount = messageApi.queryCountCurrentUser(messageParam);
Map<String, Object> msgMap = new HashMap<>(1);
msgMap.put("msgUnReadCount", messageCount);
return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam));
}
}

View File

@ -194,4 +194,19 @@ public class MessageDbServiceImpl implements MessageApi {
messageParam.setReceiveUserId(loginUser.getUserId());
return this.queryList(messageParam);
}
@Override
public Integer queryCount(MessageParam messageParam) {
return sysMessageService.count(messageParam);
}
@Override
public Integer queryCountCurrentUser(MessageParam messageParam) {
if (ObjectUtil.isEmpty(messageParam)) {
messageParam = new MessageParam();
}
// 获取当前登录人
LoginUser loginUser = LoginContext.me().getLoginUser();
messageParam.setReceiveUserId(loginUser.getUserId());
return this.queryCount(messageParam);
}
}

View File

@ -31,4 +31,13 @@ public interface SysMessageService extends IService<SysMessage> {
* @date 2021/1/8 15:21
*/
List<SysMessage> list(MessageParam messageParam);
/**
*
*
* @param messageParam
* @author liuhanqing
* @date 2021/1/11 19:21
*/
Integer count(MessageParam messageParam);
}

View File

@ -38,6 +38,12 @@ public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMess
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam);
return this.list(wrapper);
}
@Override
public Integer count(MessageParam messageParam) {
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam);
return this.count(wrapper);
}
/**
* wrapper
*

View File

@ -18,16 +18,6 @@ public interface SystemConstants {
*/
String SYSTEM_EXCEPTION_STEP_CODE = "18";
/**
* id
*/
Long DEFAULT_PARENT_ID = -1L;
/**
* id
*/
Long VIRTUAL_ROOT_PARENT_ID = -2L;
/**
* pidsid
*/

View File

@ -8,11 +8,11 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse;
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiMenuAndButtonTreeResponse;
import cn.stylefeng.roses.kernel.system.pojo.role.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

View File

@ -4,9 +4,9 @@ import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenu;
import cn.stylefeng.roses.kernel.menu.modular.pojo.AntdvMenuItem;
import cn.stylefeng.roses.kernel.menu.modular.pojo.AuthorityItem;
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdIndexMenuTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse;
@ -64,7 +64,7 @@ public class AntdMenusFactory {
antdvMenuItems.add(createAntdVMenuRoot());
// 构造菜单树
return new DefaultTreeBuildFactory<AntdvMenuItem>(SystemConstants.VIRTUAL_ROOT_PARENT_ID.toString()).doTreeBuild(antdvMenuItems);
return new DefaultTreeBuildFactory<AntdvMenuItem>(TreeConstants.VIRTUAL_ROOT_PARENT_ID.toString()).doTreeBuild(antdvMenuItems);
}
/**
@ -77,8 +77,8 @@ public class AntdMenusFactory {
AntdvMenuItem antdvMenuItem = new AntdvMenuItem();
antdvMenuItem.setRouter("root");
antdvMenuItem.setName("根节点");
antdvMenuItem.setMenuId(SystemConstants.DEFAULT_PARENT_ID);
antdvMenuItem.setMenuParentId(SystemConstants.VIRTUAL_ROOT_PARENT_ID);
antdvMenuItem.setMenuId(TreeConstants.DEFAULT_PARENT_ID);
antdvMenuItem.setMenuParentId(TreeConstants.VIRTUAL_ROOT_PARENT_ID);
antdvMenuItem.setAuthority(null);
@ -137,8 +137,8 @@ public class AntdMenusFactory {
*/
private static AntdIndexMenuTreeNode createRootMenuNode() {
AntdIndexMenuTreeNode antdIndexMenuTreeNode = new AntdIndexMenuTreeNode();
antdIndexMenuTreeNode.setId(SystemConstants.DEFAULT_PARENT_ID);
antdIndexMenuTreeNode.setPid(SystemConstants.VIRTUAL_ROOT_PARENT_ID);
antdIndexMenuTreeNode.setId(TreeConstants.DEFAULT_PARENT_ID);
antdIndexMenuTreeNode.setPid(TreeConstants.VIRTUAL_ROOT_PARENT_ID);
antdIndexMenuTreeNode.setName("根虚拟节点");
antdIndexMenuTreeNode.setPath("/");
return antdIndexMenuTreeNode;

View File

@ -25,6 +25,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
package cn.stylefeng.roses.kernel.menu.modular.service;
import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenu;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdIndexMenuTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse;
@ -32,7 +33,6 @@ import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus;
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiMenuAndButtonTreeResponse;
import cn.stylefeng.roses.kernel.system.pojo.menu.other.MenuSelectTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.role.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

View File

@ -132,8 +132,6 @@ public class SysMenuButtonServiceImpl extends ServiceImpl<SysMenuButtonMapper, S
@Transactional(rollbackFor = Exception.class)
public void deleteMenuButtonByMenuId(Long menuId) {
if (ObjectUtil.isNotEmpty(menuId)) {
// 查询菜单是否存在
findMenuExist(menuId);
// 构建查询条件
LambdaQueryWrapper<SysMenuButton> queryWrapper = new LambdaQueryWrapper<>();

View File

@ -40,15 +40,16 @@ import cn.stylefeng.roses.kernel.menu.modular.factory.common.CommonMenusFactory;
import cn.stylefeng.roses.kernel.menu.modular.mapper.SysMenuMapper;
import cn.stylefeng.roses.kernel.menu.modular.service.SysMenuButtonService;
import cn.stylefeng.roses.kernel.menu.modular.service.SysMenuService;
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.AppServiceApi;
import cn.stylefeng.roses.kernel.system.MenuServiceApi;
import cn.stylefeng.roses.kernel.system.RoleServiceApi;
import cn.stylefeng.roses.kernel.system.constants.SymbolConstant;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.SysMenuExceptionEnum;
import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum;
@ -61,7 +62,6 @@ import cn.stylefeng.roses.kernel.system.pojo.menu.other.MenuSelectTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.role.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleMenuButtonResponse;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleMenuResponse;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -156,7 +156,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
// 设置父级菜单名称
if (sysMenu != null) {
Long menuParentId = sysMenu.getMenuParentId();
if (SystemConstants.DEFAULT_PARENT_ID.equals(menuParentId)) {
if (TreeConstants.DEFAULT_PARENT_ID.equals(menuParentId)) {
sysMenu.setMenuParentName("顶级");
} else {
Long parentId = sysMenu.getMenuParentId();
@ -285,7 +285,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
List<AntdIndexMenuTreeNode> antdIndexMenuTreeNodes = AntdMenusFactory.convertSysMenuToLoginMenu(currentUserMenus);
// 转化成树结构
return new DefaultTreeBuildFactory<AntdIndexMenuTreeNode>(SystemConstants.VIRTUAL_ROOT_PARENT_ID.toString()).doTreeBuild(antdIndexMenuTreeNodes);
return new DefaultTreeBuildFactory<AntdIndexMenuTreeNode>(TreeConstants.VIRTUAL_ROOT_PARENT_ID.toString()).doTreeBuild(antdIndexMenuTreeNodes);
}
@Override
@ -469,8 +469,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
* @date 2020/3/26 11:28
*/
private String createPids(Long pid) {
if (pid.equals(SystemConstants.DEFAULT_PARENT_ID)) {
return SymbolConstant.LEFT_SQUARE_BRACKETS + SystemConstants.DEFAULT_PARENT_ID + SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
if (pid.equals(TreeConstants.DEFAULT_PARENT_ID)) {
return SymbolConstant.LEFT_SQUARE_BRACKETS + TreeConstants.DEFAULT_PARENT_ID + SymbolConstant.RIGHT_SQUARE_BRACKETS + SymbolConstant.COMMA;
} else {
//获取父菜单
SysMenu parentMenu = this.getById(pid);
@ -564,7 +564,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
// 如果应用有变化,不能把非一级菜单转移应用
if (!sysMenuRequest.getAppCode().equals(oldMenu.getAppCode())) {
if (!oldPid.equals(SystemConstants.DEFAULT_PARENT_ID)) {
if (!oldPid.equals(TreeConstants.DEFAULT_PARENT_ID)) {
throw new ServiceException(SysMenuExceptionEnum.CANT_MOVE_APP);
}
updateSubAppsFlag = true;

View File

@ -53,11 +53,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--消息模块-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>message-api</artifactId>
<artifactId>message-spring-boot-starter</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>

View File

@ -5,9 +5,9 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrOrganizationRequest;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

View File

@ -1,8 +1,8 @@
package cn.stylefeng.roses.kernel.system.modular.organization.factory;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization;
import cn.stylefeng.roses.kernel.system.pojo.organization.layui.LayuiOrganizationTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import java.util.ArrayList;
import java.util.List;

View File

@ -2,10 +2,10 @@ package cn.stylefeng.roses.kernel.system.modular.organization.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.pojo.tree.DefaultTreeNode;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrOrganizationRequest;
import cn.stylefeng.roses.kernel.system.pojo.organization.layui.LayuiOrganizationTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

View File

@ -12,10 +12,12 @@ import cn.stylefeng.roses.kernel.db.api.context.DbOperatorContext;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
import cn.stylefeng.roses.kernel.rule.pojo.tree.DefaultTreeNode;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.RoleServiceApi;
import cn.stylefeng.roses.kernel.system.UserOrgServiceApi;
import cn.stylefeng.roses.kernel.system.UserServiceApi;
@ -28,7 +30,6 @@ import cn.stylefeng.roses.kernel.system.modular.organization.mapper.HrOrganizati
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrOrganizationRequest;
import cn.stylefeng.roses.kernel.system.pojo.organization.layui.LayuiOrganizationTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.util.DataScopeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -398,9 +399,9 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
private void fillParentIds(HrOrganization hrOrganization) {
// 如果是一级节点一级节点的pid是0
if (hrOrganization.getOrgParentId().equals(SystemConstants.DEFAULT_PARENT_ID)) {
if (hrOrganization.getOrgParentId().equals(TreeConstants.DEFAULT_PARENT_ID)) {
// 设置一级节点的pid为[0],
hrOrganization.setOrgPids(SystemConstants.PID_LEFT_DIVIDE_SYMBOL + SystemConstants.DEFAULT_PARENT_ID + SystemConstants.PID_RIGHT_DIVIDE_SYMBOL + ",");
hrOrganization.setOrgPids(SystemConstants.PID_LEFT_DIVIDE_SYMBOL + TreeConstants.DEFAULT_PARENT_ID + SystemConstants.PID_RIGHT_DIVIDE_SYMBOL + ",");
} else {
// 获取父组织机构
HrOrganization parentOrganization = this.getById(hrOrganization.getOrgParentId());

View File

@ -18,16 +18,14 @@ import cn.stylefeng.roses.kernel.resource.modular.mapper.SysResourceMapper;
import cn.stylefeng.roses.kernel.resource.modular.pojo.ResourceTreeNode;
import cn.stylefeng.roses.kernel.resource.modular.service.SysResourceService;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
import cn.stylefeng.roses.kernel.system.ResourceServiceApi;
import cn.stylefeng.roses.kernel.system.RoleServiceApi;
import cn.stylefeng.roses.kernel.system.UserServiceApi;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
import cn.stylefeng.roses.kernel.system.pojo.organization.layui.LayuiOrganizationTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.resource.request.ResourceRequest;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResourceResponse;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -402,7 +400,7 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
appNode.setCode(appName);
appNode.setNodeName(appName);
appNode.setResourceFlag(false);
appNode.setParentCode(SystemConstants.DEFAULT_PARENT_ID.toString());
appNode.setParentCode(TreeConstants.DEFAULT_PARENT_ID.toString());
// 遍历当前应用下的模块资源
Map<String, List<ResourceTreeNode>> modularResources = appModularResources.get(appName);
@ -447,7 +445,7 @@ public class SysResourceServiceImpl extends ServiceImpl<SysResourceMapper, SysRe
appNode.setCode(appName);
appNode.setNodeName(appName);
appNode.setResourceFlag(false);
appNode.setParentCode(SystemConstants.DEFAULT_PARENT_ID.toString());
appNode.setParentCode(TreeConstants.DEFAULT_PARENT_ID.toString());
// 遍历当前应用下的模块资源
Map<String, List<ResourceTreeNode>> modularResources = appModularResources.get(appName);