mirror of https://gitee.com/stylefeng/roses
【7.1.2】【app】应用管理增加图标字段
parent
bc8a6e57b8
commit
c4e4ee266f
|
@ -25,6 +25,7 @@
|
|||
package cn.stylefeng.roses.kernel.system.api;
|
||||
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.app.SysAppResult;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -65,4 +66,12 @@ public interface AppServiceApi {
|
|||
*/
|
||||
String getActiveAppCode();
|
||||
|
||||
/**
|
||||
* 获取应用信息详情
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/8/24 20:12
|
||||
*/
|
||||
SysAppResult getAppInfoByAppCode(String appCode);
|
||||
|
||||
}
|
||||
|
|
|
@ -76,9 +76,16 @@ public class SysAppRequest extends BaseRequest {
|
|||
columnName = "app_code",
|
||||
idFieldName = "app_id",
|
||||
excludeLogicDeleteItems = true)
|
||||
@ChineseDescription("编码不能为空")
|
||||
@ChineseDescription("应用编码")
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 应用图标
|
||||
*/
|
||||
@NotBlank(message = "应用图标不能为空", groups = {add.class, edit.class})
|
||||
@ChineseDescription("应用图标")
|
||||
private String appIcon;
|
||||
|
||||
/**
|
||||
* 是否默认激活:Y-是,N-否,激活的应用下的菜单会在首页默认展开
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* Copyright [2020-2030] [https://www.stylefeng.cn]
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Guns源码头部的版权声明。
|
||||
* 3.请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||
* 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||
* 6.若您的项目无法满足以上几点,可申请商业授权
|
||||
*/
|
||||
package cn.stylefeng.roses.kernel.system.api.pojo.app;
|
||||
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.field.ChineseDescription;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 系统应用表
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2020/11/24 21:05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysAppResult extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@ChineseDescription("主键id")
|
||||
private Long appId;
|
||||
|
||||
/**
|
||||
* 应用名称
|
||||
*/
|
||||
@ChineseDescription("应用名称")
|
||||
private String appName;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ChineseDescription("编码")
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 应用图标
|
||||
*/
|
||||
@ChineseDescription("应用图标")
|
||||
private String appIcon;
|
||||
|
||||
/**
|
||||
* 是否默认激活:Y-是,N-否,激活的应用下的菜单会在首页默认展开
|
||||
*/
|
||||
@ChineseDescription("是否默认激活:Y-是,N-否,激活的应用下的菜单会在首页默认展开")
|
||||
private String activeFlag;
|
||||
|
||||
/**
|
||||
* 状态:1-启用,2-禁用
|
||||
*/
|
||||
@ChineseDescription("状态:1-启用,2-禁用")
|
||||
private Integer statusFlag;
|
||||
|
||||
/**
|
||||
* 是否删除:Y-已删除,N-未删除
|
||||
*/
|
||||
@ChineseDescription("是否删除:Y-已删除,N-未删除")
|
||||
private String delFlag;
|
||||
|
||||
}
|
|
@ -65,6 +65,13 @@ public class SysApp extends BaseEntity {
|
|||
@ChineseDescription("编码")
|
||||
private String appCode;
|
||||
|
||||
/**
|
||||
* 应用图标
|
||||
*/
|
||||
@TableField("app_icon")
|
||||
@ChineseDescription("应用图标")
|
||||
private String appIcon;
|
||||
|
||||
/**
|
||||
* 是否默认激活:Y-是,N-否,激活的应用下的菜单会在首页默认展开
|
||||
*/
|
||||
|
|
|
@ -38,6 +38,7 @@ import cn.stylefeng.roses.kernel.system.api.MenuServiceApi;
|
|||
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.app.AppExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.app.SysAppRequest;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.app.SysAppResult;
|
||||
import cn.stylefeng.roses.kernel.system.modular.app.entity.SysApp;
|
||||
import cn.stylefeng.roses.kernel.system.modular.app.mapper.SysAppMapper;
|
||||
import cn.stylefeng.roses.kernel.system.modular.app.service.SysAppService;
|
||||
|
@ -73,6 +74,7 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
|
|||
// 设置名称和编码
|
||||
sysApp.setAppName(sysAppRequest.getAppName());
|
||||
sysApp.setAppCode(sysAppRequest.getAppCode());
|
||||
sysApp.setAppIcon(sysAppRequest.getAppIcon());
|
||||
|
||||
// 默认不激活
|
||||
sysApp.setActiveFlag(YesOrNotEnum.N.getCode());
|
||||
|
@ -246,6 +248,21 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysAppResult getAppInfoByAppCode(String appCode) {
|
||||
LambdaQueryWrapper<SysApp> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SysApp::getAppCode, appCode);
|
||||
SysApp sysApp = this.getOne(lambdaQueryWrapper, false);
|
||||
|
||||
if (sysApp != null) {
|
||||
SysAppResult sysAppResult = new SysAppResult();
|
||||
BeanUtil.copyProperties(sysApp, sysAppResult);
|
||||
return sysAppResult;
|
||||
} else {
|
||||
return new SysAppResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统应用
|
||||
*
|
||||
|
|
|
@ -25,14 +25,13 @@
|
|||
package cn.stylefeng.roses.kernel.system.modular.menu.factory;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import cn.stylefeng.roses.kernel.rule.constants.TreeConstants;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
|
||||
import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory;
|
||||
import cn.stylefeng.roses.kernel.system.api.AppServiceApi;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.app.SysAppResult;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.menu.MenuAndButtonTreeResponse;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO;
|
||||
|
@ -42,7 +41,10 @@ import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
|
|||
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenuButton;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 针对于antd vue版本的前端菜单的组装
|
||||
|
@ -289,17 +291,13 @@ public class AntdMenusFactory {
|
|||
|
||||
// 获取应用的详细信息
|
||||
AppServiceApi appServiceApi = SpringUtil.getBean(AppServiceApi.class);
|
||||
Set<SimpleDict> appsByAppCodes = appServiceApi.getAppsByAppCodes(CollectionUtil.set(false, appCode));
|
||||
|
||||
if (appsByAppCodes.size() > 0) {
|
||||
SimpleDict appInfo = appsByAppCodes.iterator().next();
|
||||
antdSysMenuDTO.setTitle(appInfo.getName());
|
||||
antdSysMenuDTO.setIcon("PieChartTwoTone");
|
||||
antdSysMenuDTO.setPath("/" + appCode);
|
||||
antdSysMenuDTO.setComponent(null);
|
||||
antdSysMenuDTO.setHide(false);
|
||||
antdSysMenuDTO.setUid(null);
|
||||
}
|
||||
SysAppResult appInfoByAppCode = appServiceApi.getAppInfoByAppCode(appCode);
|
||||
antdSysMenuDTO.setTitle(appInfoByAppCode.getAppName());
|
||||
antdSysMenuDTO.setIcon(appInfoByAppCode.getAppIcon());
|
||||
antdSysMenuDTO.setPath("/" + appCode);
|
||||
antdSysMenuDTO.setComponent(null);
|
||||
antdSysMenuDTO.setHide(false);
|
||||
antdSysMenuDTO.setUid(null);
|
||||
|
||||
return antdSysMenuDTO;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue