├── .gitignore ├── LICENSE ├── README.md ├── admin-console ├── .gitignore ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── ibeetl │ │ └── admin │ │ ├── CosonleApplication.java │ │ └── console │ │ ├── dao │ │ ├── AuditConsoleDao.java │ │ ├── DictConsoleDao.java │ │ ├── FunctionConsoleDao.java │ │ ├── MenuConsoleDao.java │ │ ├── OrgConsoleDao.java │ │ ├── RoleConsoleDao.java │ │ ├── RoleFunctionConsoleDao.java │ │ └── UserConsoleDao.java │ │ ├── exception │ │ ├── DeletedException.java │ │ └── NoResourceException.java │ │ ├── service │ │ ├── AuditConsoleService.java │ │ ├── DictConsoleService.java │ │ ├── FunctionConsoleService.java │ │ ├── MenuConsoleService.java │ │ ├── OrgConsoleService.java │ │ ├── RoleConsoleService.java │ │ └── UserConsoleService.java │ │ └── web │ │ ├── AuditConsoleController.java │ │ ├── DictConsoleController.java │ │ ├── FunctionController.java │ │ ├── MenuController.java │ │ ├── OrgConsoleController.java │ │ ├── RoleConsoleController.java │ │ ├── UserConsoleController.java │ │ ├── dto │ │ ├── DictExcelImportData.java │ │ ├── RoleDataAccessFunction.java │ │ └── UserExcelExportData.java │ │ └── query │ │ ├── AuditQuery.java │ │ ├── CmsBlogQuery.java │ │ ├── CoreDictQuery.java │ │ ├── CoreFunctionQuery.java │ │ ├── FunctionQuery.java │ │ ├── MenuQuery.java │ │ ├── OrgQuery.java │ │ ├── OrgTreeQuery.java │ │ ├── OrgUserQuery.java │ │ ├── RoleQuery.java │ │ ├── RoleUserQuery.java │ │ ├── UserQuery.java │ │ ├── UserRoleQuery.java │ │ └── WorkflowQuery.java │ └── resources │ ├── application.properties │ ├── banner.txt │ ├── beetl.properties │ ├── btsql-ext.properties │ ├── excelTemplates │ └── admin │ │ ├── dict │ │ ├── dict_collection_template.xls │ │ ├── dict_mapping.xml │ │ └── dict_upload_template.xls │ │ └── user │ │ └── user_collection_template.xls │ ├── sql │ └── console │ │ ├── audit.md │ │ ├── console.md │ │ ├── dict.md │ │ ├── function.md │ │ ├── menu.md │ │ ├── org.md │ │ ├── role.md │ │ ├── roleFunction.md │ │ └── user.md │ ├── static │ └── js │ │ └── admin │ │ ├── audit │ │ └── index.js │ │ ├── dict │ │ ├── add.js │ │ ├── del.js │ │ ├── dictApi.js │ │ ├── edit.js │ │ └── index.js │ │ ├── function │ │ ├── add.js │ │ ├── del.js │ │ ├── edit.js │ │ ├── functionApi.js │ │ └── index.js │ │ ├── menu │ │ ├── add.js │ │ ├── del.js │ │ ├── edit.js │ │ ├── index.js │ │ └── menuApi.js │ │ ├── org │ │ ├── add.js │ │ ├── del.js │ │ ├── edit.js │ │ ├── index.js │ │ ├── orgApi.js │ │ └── orgUser.js │ │ ├── role │ │ ├── add.js │ │ ├── del.js │ │ ├── edit.js │ │ ├── index.js │ │ ├── roleApi.js │ │ ├── roleData.js │ │ ├── roleFn.js │ │ └── roleUser.js │ │ └── user │ │ ├── add.js │ │ ├── changePassword.js │ │ ├── del.js │ │ ├── edit.js │ │ ├── index.js │ │ ├── roleDel.js │ │ ├── userApi.js │ │ ├── userRole.js │ │ └── userRoleAdd.js │ └── templates │ └── admin │ ├── audit │ └── index.html │ ├── dict │ ├── add.html │ ├── edit.html │ └── index.html │ ├── function │ ├── add.html │ ├── edit.html │ └── index.html │ ├── menu │ ├── add.html │ ├── edit.html │ └── index.html │ ├── org │ ├── add.html │ ├── edit.html │ ├── index.html │ └── orgUser.html │ ├── role │ ├── add.html │ ├── data.html │ ├── dataConfigPart.html │ ├── edit.html │ ├── function.html │ ├── index.html │ └── roleUser.html │ └── user │ ├── add.html │ ├── changePassword.html │ ├── edit.html │ ├── index.html │ ├── userRole.html │ └── userRoleAdd.html ├── admin-core ├── .gitignore ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── ibeetl │ │ └── admin │ │ └── core │ │ ├── annotation │ │ ├── Dict.java │ │ ├── Function.java │ │ └── Query.java │ │ ├── conf │ │ ├── BeetlConf.java │ │ ├── CacheConfig.java │ │ ├── CustomErrorController.java │ │ ├── DataSourceConfig.java │ │ ├── FileSystemConfig.java │ │ ├── JasonConfig.java │ │ ├── MVCConf.java │ │ ├── PasswordConfig.java │ │ ├── RbacAnnotationConfig.java │ │ ├── RbacDataAccessConfig.java │ │ ├── RemoteServiceLocatorConfig.java │ │ └── ZookeeperConfig.java │ │ ├── dao │ │ ├── CoreAuditDao.java │ │ ├── CoreDictDao.java │ │ ├── CoreFileDao.java │ │ ├── CoreFunctionDao.java │ │ ├── CoreMenuDao.java │ │ ├── CoreOrgDao.java │ │ ├── CoreRoleDao.java │ │ ├── CoreRoleFunctionDao.java │ │ ├── CoreRoleMenuDao.java │ │ ├── CoreUserDao.java │ │ ├── CoreUserRoleDao.java │ │ └── CoreWorkflowDao.java │ │ ├── entity │ │ ├── BaseEntity.java │ │ ├── CoreAudit.java │ │ ├── CoreDict.java │ │ ├── CoreFile.java │ │ ├── CoreFunction.java │ │ ├── CoreMenu.java │ │ ├── CoreOrg.java │ │ ├── CoreRole.java │ │ ├── CoreRoleFunction.java │ │ ├── CoreRoleMenu.java │ │ ├── CoreUser.java │ │ └── CoreUserRole.java │ │ ├── file │ │ ├── DBIndexHelper.java │ │ ├── FileItem.java │ │ ├── FileService.java │ │ ├── FileTag.java │ │ ├── LocalFileItem.java │ │ ├── LocalFileService.java │ │ └── PersistFileItem.java │ │ ├── gen │ │ ├── AutoGen.java │ │ ├── BaseTarget.java │ │ ├── ConsoleTarget.java │ │ ├── HtmlGen.java │ │ ├── JSGen.java │ │ ├── JavaCodeGen.java │ │ ├── MavenProjectTarget.java │ │ ├── MdGen.java │ │ ├── Target.java │ │ ├── WebTarget.java │ │ └── model │ │ │ ├── Attribute.java │ │ │ ├── Entity.java │ │ │ └── Verify.java │ │ ├── rbac │ │ ├── AccessType.java │ │ ├── DataAccess.java │ │ ├── DataAccessFactory.java │ │ ├── DataAccessResullt.java │ │ ├── UserLoginInfo.java │ │ ├── da │ │ │ ├── AllGroupAccess.java │ │ │ ├── DefaultDataAccessFactory.java │ │ │ ├── GroupDataAccess.java │ │ │ ├── GroupOnlyDataAccess.java │ │ │ ├── OwnerDataAccess.java │ │ │ ├── ParentCorpDataAccess.java │ │ │ ├── SameCompanyAllDataAccess.java │ │ │ ├── SameDeparmentAllDataAccess.java │ │ │ └── SameOrgDataAccess.java │ │ └── tree │ │ │ ├── FunctionItem.java │ │ │ ├── MenuItem.java │ │ │ ├── OrgItem.java │ │ │ └── TreeItem.java │ │ ├── service │ │ ├── BaseService.java │ │ ├── CoreAuditService.java │ │ ├── CoreCodeGenService.java │ │ ├── CoreDictService.java │ │ ├── CorePlatformService.java │ │ ├── CoreRoleService.java │ │ ├── CoreServiceLocator.java │ │ └── CoreUserService.java │ │ ├── util │ │ ├── AnnotationUtil.java │ │ ├── ClassLoaderUtil.java │ │ ├── ConvertUtil.java │ │ ├── DateUtil.java │ │ ├── ExcelError.java │ │ ├── FileDownloadUtil.java │ │ ├── FileUtil.java │ │ ├── FormFieldException.java │ │ ├── FunctionBuildUtil.java │ │ ├── FunctionLocal.java │ │ ├── HttpRequestLocal.java │ │ ├── MenuBuildUtil.java │ │ ├── OrgBuildUtil.java │ │ ├── PlatformException.java │ │ ├── Tool.java │ │ ├── UUIDUtil.java │ │ ├── ValidateConfig.java │ │ ├── beetl │ │ │ ├── DataAccessFunction.java │ │ │ ├── DictQueryFunction.java │ │ │ ├── FileFunction.java │ │ │ ├── FunAccessUrlFunction.java │ │ │ ├── FunFunction.java │ │ │ ├── MenuFunction.java │ │ │ ├── NextDayFunction.java │ │ │ ├── OrgFunction.java │ │ │ ├── RoleFunction.java │ │ │ ├── SearchCondtionFunction.java │ │ │ ├── SysFunctionTreeFunction.java │ │ │ ├── UUIDFunction.java │ │ │ ├── VerifyForamtFunction.java │ │ │ └── XXSDefenderFormat.java │ │ └── enums │ │ │ ├── CoreDictType.java │ │ │ ├── DelFlagEnum.java │ │ │ ├── GeneralStateEnum.java │ │ │ └── RoleTypeEnum.java │ │ └── web │ │ ├── CoreCodeGenController.java │ │ ├── CoreDictController.java │ │ ├── CoreUserController.java │ │ ├── FileSystemContorller.java │ │ ├── IndexController.java │ │ ├── JsonResult.java │ │ ├── JsonReturnCode.java │ │ ├── SimulateController.java │ │ ├── dto │ │ ├── FunctionNodeView.java │ │ ├── MenuNodeView.java │ │ └── SystemMenuView.java │ │ └── query │ │ ├── PageParam.java │ │ ├── QueryData.java │ │ ├── QueryItem.java │ │ └── QueryParser.java │ └── resources │ ├── codeTemplate │ ├── html │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── java │ │ ├── controller.java │ │ ├── dao.java │ │ ├── pojo.java │ │ ├── query.java │ │ └── service.java │ ├── js │ │ ├── add.js │ │ ├── del.js │ │ ├── edit.js │ │ ├── entityApi.js │ │ └── index.js │ ├── maven │ │ ├── main.java │ │ └── pomTemplate.xml │ └── md │ │ └── entity.md │ ├── sql │ └── core │ │ ├── coreDict.md │ │ ├── coreFunction.md │ │ ├── coreMenu.md │ │ ├── coreOrg.md │ │ ├── coreRole.md │ │ ├── coreRoleFunction.md │ │ ├── coreRoleMenu.md │ │ ├── coreUser.md │ │ ├── coreUserRole.md │ │ └── coreWorkflow.md │ ├── static │ ├── css │ │ └── fs.css │ ├── js │ │ ├── common.js │ │ ├── core │ │ │ └── codeGen │ │ │ │ ├── codeApi.js │ │ │ │ ├── edit.js │ │ │ │ ├── index.js │ │ │ │ └── project.js │ │ └── lib.js │ └── plugins │ │ ├── frame │ │ ├── js │ │ │ ├── fsTab.js │ │ │ └── main.js │ │ └── views │ │ │ └── upload.html │ │ ├── jquery │ │ └── jquery.min.js │ │ ├── layui │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── table.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ │ └── ztree │ │ ├── css │ │ ├── img │ │ │ ├── diy │ │ │ │ ├── 1_close.png │ │ │ │ ├── 1_open.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── 7.png │ │ │ │ ├── 8.png │ │ │ │ └── 9.png │ │ │ ├── line_conn.gif │ │ │ ├── loading.gif │ │ │ ├── zTreeStandard.gif │ │ │ └── zTreeStandard.png │ │ └── zTreeStyle.css │ │ └── js │ │ └── jquery.ztree.all.min.js │ └── templates │ ├── common │ ├── container.html │ ├── layout.html │ ├── query │ │ ├── fun.html │ │ ├── menu.html │ │ ├── org.html │ │ └── role.html │ ├── simpleUpload.html │ └── tag │ │ ├── accessButton.tag.html │ │ ├── attachment.tag.html │ │ ├── closeButton.tag.html │ │ ├── functionInput.tag.html │ │ ├── menuFunctionInput.tag.html │ │ ├── menuInput.tag.html │ │ ├── orgInput.tag.html │ │ ├── roleInput.tag.html │ │ ├── searchForm.tag.html │ │ ├── simpleDataSelect.tag.html │ │ ├── simpleDictSelect.tag.html │ │ └── submitButtons.tag.html │ ├── core │ └── codeGen │ │ ├── edit.html │ │ ├── index.html │ │ └── project.html │ ├── error.html │ ├── help.html │ ├── index.html │ └── login.html ├── doc ├── readme │ ├── codePorject.png │ ├── codeconfig.png │ ├── codegen.png │ ├── codegen2.png │ ├── codeoverview.png │ ├── data.png │ ├── excelExport.png │ ├── role.png │ └── user.png ├── starter-mysql.sql └── starter-oracle.sql ├── lib ├── mysql-connector-java-6.0.5.jar ├── ojdbc6-11.2.0.1.0.jar └── readme.md ├── pom.xml └── sonar-project.properties /.gitignore: -------------------------------------------------------------------------------- 1 | admin-core/target/* 2 | admin-console/target/* 3 | .* 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /admin-console/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /filesystem/ 3 | -------------------------------------------------------------------------------- /admin-console/README.md: -------------------------------------------------------------------------------- 1 | 2 | ##### 系统管理 3 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/CosonleApplication.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.builder.SpringApplicationBuilder; 6 | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; 7 | import org.springframework.cache.annotation.EnableCaching; 8 | import org.springframework.web.WebApplicationInitializer; 9 | 10 | @SpringBootApplication 11 | @EnableCaching 12 | public class CosonleApplication extends SpringBootServletInitializer { 13 | 14 | @Override 15 | protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 16 | return application.sources(CosonleApplication.class); 17 | } 18 | 19 | public static void main(String[] args) { 20 | 21 | SpringApplication.run(CosonleApplication.class, args); 22 | } 23 | 24 | 25 | 26 | } -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/AuditConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.SqlResource; 4 | import org.beetl.sql.core.engine.PageQuery; 5 | import org.beetl.sql.core.mapper.BaseMapper; 6 | 7 | import com.ibeetl.admin.core.entity.CoreAudit; 8 | 9 | @SqlResource("console.audit") 10 | public interface AuditConsoleDao extends BaseMapper { 11 | 12 | PageQuery queryByCondtion(PageQuery query); 13 | 14 | } 15 | 16 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/DictConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.sql.core.annotatoin.SqlResource; 6 | import org.beetl.sql.core.engine.PageQuery; 7 | import org.beetl.sql.core.mapper.BaseMapper; 8 | 9 | import com.ibeetl.admin.core.entity.CoreDict; 10 | 11 | /** 12 | * CoreDict Dao 13 | */ 14 | @SqlResource("console.dict") 15 | public interface DictConsoleDao extends BaseMapper{ 16 | public PageQuery queryByCondition(PageQuery query); 17 | public void batchDelCoreDictByIds( List ids); 18 | } -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/FunctionConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.SqlResource; 4 | import org.beetl.sql.core.engine.PageQuery; 5 | import org.beetl.sql.core.mapper.BaseMapper; 6 | 7 | import com.ibeetl.admin.core.entity.CoreFunction; 8 | 9 | @SqlResource("console.function") 10 | public interface FunctionConsoleDao extends BaseMapper { 11 | 12 | /** 13 | * 根据条件查询 14 | * 15 | * @param query 16 | */ 17 | public void queryByCondtion(PageQuery query); 18 | } 19 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/MenuConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.SqlResource; 4 | import org.beetl.sql.core.engine.PageQuery; 5 | import org.beetl.sql.core.mapper.BaseMapper; 6 | 7 | import com.ibeetl.admin.core.entity.CoreMenu; 8 | 9 | @SqlResource("console.menu") 10 | public interface MenuConsoleDao extends BaseMapper { 11 | 12 | /** 13 | * 根据条件分页查询 14 | * @param query 查询条件 15 | */ 16 | void queryByCondtion(PageQuery query); 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/OrgConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.engine.PageQuery; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | 8 | import com.ibeetl.admin.core.entity.CoreOrg; 9 | 10 | import java.util.List; 11 | 12 | @SqlResource("console.org") 13 | public interface OrgConsoleDao extends BaseMapper { 14 | 15 | 16 | 17 | 18 | void queryByCondtion(PageQuery query); 19 | 20 | void batchDelByIds(@Param(value = "ids") List ids); 21 | } 22 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/RoleConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.sql.core.annotatoin.SqlResource; 6 | import org.beetl.sql.core.engine.PageQuery; 7 | import org.beetl.sql.core.mapper.BaseMapper; 8 | 9 | import com.ibeetl.admin.console.web.query.RoleUserQuery; 10 | import com.ibeetl.admin.core.entity.CoreRole; 11 | import com.ibeetl.admin.core.entity.CoreUser; 12 | 13 | @SqlResource("console.role") 14 | public interface RoleConsoleDao extends BaseMapper { 15 | 16 | /** 17 | * 根据条件分页查询 18 | * @param query 查询条件 19 | */ 20 | void queryByCondtion(PageQuery query); 21 | 22 | /** 23 | * 批量删除角色 24 | * @param ids 角色id 25 | */ 26 | void batchDelByIds(List ids); 27 | 28 | void batchDeleteRoleFunction(List ids); 29 | void batchDeleteRoleMenu(List ids); 30 | void batchDeleteUserRole(List ids); 31 | 32 | 33 | PageQuery queryUser(PageQuery query); 34 | 35 | 36 | 37 | 38 | } 39 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/RoleFunctionConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.sql.core.annotatoin.Param; 6 | import org.beetl.sql.core.annotatoin.SqlResource; 7 | import org.beetl.sql.core.mapper.BaseMapper; 8 | 9 | import com.ibeetl.admin.console.web.dto.RoleDataAccessFunction; 10 | import com.ibeetl.admin.core.entity.CoreRoleFunction; 11 | 12 | @SqlResource("console.roleFunction") 13 | public interface RoleFunctionConsoleDao extends BaseMapper { 14 | 15 | 16 | void deleteRoleFunction(List ids); 17 | 18 | List getFunctionIdByRole(Long roleId); 19 | 20 | List getQueryFunctionAndRoleData(Long roleId); 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/dao/UserConsoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.engine.PageQuery; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | 8 | import com.ibeetl.admin.core.entity.CoreUser; 9 | import com.ibeetl.admin.core.entity.CoreUserRole; 10 | import com.ibeetl.admin.core.util.enums.GeneralStateEnum; 11 | 12 | import java.util.List; 13 | 14 | @SqlResource("console.user") 15 | public interface UserConsoleDao extends BaseMapper { 16 | 17 | PageQuery queryByCondtion(PageQuery query); 18 | 19 | void batchDelUserByIds( List ids); 20 | 21 | void batchUpdateUserState(List ids, GeneralStateEnum state); 22 | 23 | List queryUserRole( Long id,Long orgId,Long roleId); 24 | 25 | } 26 | 27 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/exception/DeletedException.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.exception; 2 | 3 | import com.ibeetl.admin.core.util.PlatformException; 4 | 5 | /** 6 | * 描述: 已删除异常 7 | * 8 | * @author : xiandafu 9 | */ 10 | public class DeletedException extends PlatformException { 11 | public DeletedException() { 12 | super(); 13 | } 14 | 15 | public DeletedException(String message) { 16 | super(message); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/exception/NoResourceException.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.exception; 2 | 3 | import com.ibeetl.admin.core.util.PlatformException; 4 | 5 | /** 6 | * 描述: 资源不存在异常 7 | * 8 | * @author : xiandafu 9 | */ 10 | public class NoResourceException extends PlatformException { 11 | public NoResourceException() { 12 | super(); 13 | } 14 | 15 | public NoResourceException(String message) { 16 | super(message); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/service/AuditConsoleService.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.service; 2 | 3 | import org.beetl.sql.core.engine.PageQuery; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.stereotype.Service; 6 | import org.springframework.transaction.annotation.Transactional; 7 | 8 | import com.ibeetl.admin.console.dao.AuditConsoleDao; 9 | import com.ibeetl.admin.core.entity.CoreAudit; 10 | import com.ibeetl.admin.core.service.BaseService; 11 | 12 | @Service 13 | @Transactional 14 | public class AuditConsoleService extends BaseService { 15 | 16 | @Autowired 17 | AuditConsoleDao auditConsoleDao; 18 | 19 | /** 20 | * 根据条件查询 21 | * 22 | * @param query 23 | */ 24 | public void queryByCondtion(PageQuery query) { 25 | PageQuery ret = auditConsoleDao.queryByCondtion(query); 26 | queryListAfter(ret.getList()); 27 | } 28 | 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/dto/DictExcelImportData.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.dto; 2 | 3 | import com.ibeetl.admin.core.entity.CoreDict; 4 | 5 | /** 6 | * 字典数据导入,参考 dict_mapping.xml 7 | * @author xiandafu 8 | * 9 | */ 10 | public class DictExcelImportData extends CoreDict { 11 | private Integer excelId; 12 | private Integer parentExcelId; 13 | 14 | public Integer getExcelId() { 15 | return excelId; 16 | } 17 | 18 | public void setExcelId(Integer excelId) { 19 | this.excelId = excelId; 20 | } 21 | 22 | public Integer getParentExcelId() { 23 | return parentExcelId; 24 | } 25 | 26 | public void setParentExcelId(Integer parentExcelId) { 27 | this.parentExcelId = parentExcelId; 28 | } 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/dto/RoleDataAccessFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.dto; 2 | 3 | import com.ibeetl.admin.core.entity.CoreFunction; 4 | 5 | public class RoleDataAccessFunction extends CoreFunction { 6 | private Integer dataAccessType; 7 | private Long roleId; 8 | 9 | public Integer getDataAccessType() { 10 | return dataAccessType; 11 | } 12 | 13 | public void setDataAccessType(Integer dataAccessType) { 14 | this.dataAccessType = dataAccessType; 15 | } 16 | 17 | public Long getRoleId() { 18 | return roleId; 19 | } 20 | 21 | public void setRoleId(Long roleId) { 22 | this.roleId = roleId; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/CmsBlogQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | import java.util.Date; 7 | /** 8 | *CmsBlog查询 9 | */ 10 | public class CmsBlogQuery extends PageParam { 11 | @Query(name = "id", display = true) 12 | private Integer id; 13 | public Integer getId(){ 14 | return id; 15 | } 16 | public void setId(Integer id ){ 17 | this.id = id; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/CoreDictQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | import java.util.Date; 7 | /** 8 | *CoreDict查询 9 | */ 10 | public class CoreDictQuery extends PageParam { 11 | @Query(name = "字典值", display = true) 12 | private String value; 13 | @Query(name = "字典名称", display = true) 14 | private String name; 15 | @Query(name = "字典类型名称", display = true) 16 | private String typeName; 17 | @Query(name = "父字典", display = true) 18 | private String parent; 19 | public String getValue(){ 20 | return value; 21 | } 22 | public void setValue(String value ){ 23 | this.value = value; 24 | } 25 | public String getName(){ 26 | return name; 27 | } 28 | public void setName(String name ){ 29 | this.name = name; 30 | } 31 | public String getTypeName(){ 32 | return typeName; 33 | } 34 | public void setTypeName(String typeName ){ 35 | this.typeName = typeName; 36 | } 37 | public String getParent(){ 38 | return parent; 39 | } 40 | public void setParent(String parent ){ 41 | this.parent = parent; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/CoreFunctionQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | /** 7 | *功能查询 8 | */ 9 | public class CoreFunctionQuery extends PageParam { 10 | @Query(name = "名称", display = true) 11 | private String name; 12 | @Query(name = "访问路径", display = true) 13 | private String accessUrl; 14 | @Query(name = "功能点类型", display = true) 15 | private String type; 16 | public String getName(){ 17 | return name; 18 | } 19 | public void setName(String name ){ 20 | this.name = name; 21 | } 22 | public String getAccessUrl(){ 23 | return accessUrl; 24 | } 25 | public void setAccessUrl(String accessUrl ){ 26 | this.accessUrl = accessUrl; 27 | } 28 | public String getType(){ 29 | return type; 30 | } 31 | public void setType(String type ){ 32 | this.type = type; 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/MenuQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.web.query.PageParam; 5 | 6 | /** 7 | * 菜单查询条件 8 | */ 9 | public class MenuQuery extends PageParam { 10 | 11 | @Query(name = "代码", display = true,fuzzy=true) 12 | private String code; 13 | @Query(name = "名称", display = true,fuzzy=true) 14 | private String name; 15 | 16 | @Query(name = "菜单入口地址", display = true,fuzzy=true) 17 | private String url; 18 | 19 | @Query(name="上一级菜单",display=true,type=Query.TYPE_CONTROL,control="menu") 20 | private Long parentMenuId; 21 | 22 | public String getCode() { 23 | return code; 24 | } 25 | public void setCode(String code) { 26 | this.code = code; 27 | } 28 | public String getName() { 29 | return name; 30 | } 31 | public void setName(String name) { 32 | this.name = name; 33 | } 34 | public String getUrl() { 35 | return url; 36 | } 37 | public void setUrl(String url) { 38 | this.url = url; 39 | } 40 | public Long getParentMenuId() { 41 | return parentMenuId; 42 | } 43 | public void setParentMenuId(Long parentMenuId) { 44 | this.parentMenuId = parentMenuId; 45 | } 46 | 47 | 48 | 49 | } 50 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/OrgQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | 7 | /** 8 | * 字典表单查询条件 9 | */ 10 | public class OrgQuery extends PageParam { 11 | 12 | @Query(name = "机构编号", display = true) 13 | private String code; 14 | @Query(name = "机构名称", display = true) 15 | private String name; 16 | @Query(name="机构类型",display=true,type=Query.TYPE_DICT,dict=CoreDictType.ORG_TYPE) 17 | private String type; 18 | @Query(name="上一级机构",display=true,type=Query.TYPE_CONTROL,control="org") 19 | private String parentOrgId; 20 | 21 | public String getCode() { 22 | return code; 23 | } 24 | 25 | public void setCode(String code) { 26 | this.code = code; 27 | } 28 | 29 | public String getName() { 30 | return name; 31 | } 32 | 33 | public void setName(String name) { 34 | this.name = name; 35 | } 36 | 37 | public String getType() { 38 | return type; 39 | } 40 | 41 | public void setType(String type) { 42 | this.type = type; 43 | } 44 | 45 | public String getParentOrgId() { 46 | return parentOrgId; 47 | } 48 | 49 | public void setParentOrgId(String parentOrgId) { 50 | this.parentOrgId = parentOrgId; 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/OrgTreeQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import java.util.List; 4 | 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | 7 | /** 8 | * 描述: 带有组织树相关的查询 9 | */ 10 | public class OrgTreeQuery extends PageParam { 11 | protected Long orgId; //组织id 12 | protected List orgIds; 13 | 14 | public Long getOrgId() { 15 | return orgId; 16 | } 17 | 18 | public void setOrgId(Long orgId) { 19 | this.orgId = orgId; 20 | } 21 | 22 | public List getOrgIds() { 23 | return orgIds; 24 | } 25 | 26 | public void setOrgIds(List orgIds) { 27 | this.orgIds = orgIds; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/RoleQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | 7 | /** 8 | * 描述: 角色查询条件 9 | * 10 | */ 11 | public class RoleQuery extends PageParam { 12 | @Query(name = "编码", display = true) 13 | private String code; 14 | @Query(name = "名称", display = true) 15 | private String name; 16 | @Query(name = "业务角色类型", type = Query.TYPE_DICT,dict=CoreDictType.ROLE_TYPE) 17 | private String type; 18 | 19 | 20 | public String getCode() { 21 | return code; 22 | } 23 | 24 | public void setCode(String code) { 25 | this.code = code; 26 | } 27 | 28 | public String getName() { 29 | return name; 30 | } 31 | 32 | public void setName(String name) { 33 | this.name = name; 34 | } 35 | 36 | public String getType() { 37 | return type; 38 | } 39 | 40 | public void setType(String type) { 41 | this.type = type; 42 | } 43 | 44 | 45 | 46 | 47 | } 48 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/RoleUserQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | 7 | /** 8 | * 描述: 角色李的用户列表 9 | */ 10 | public class RoleUserQuery extends PageParam { 11 | @Query(name = "编码", display = true) 12 | private String userCode; 13 | @Query(name = "名称", display = true) 14 | private String userName; 15 | 16 | private Long roleId; 17 | 18 | public String getUserCode() { 19 | return userCode; 20 | } 21 | 22 | public void setUserCode(String userCode) { 23 | this.userCode = userCode; 24 | } 25 | 26 | public String getUserName() { 27 | return userName; 28 | } 29 | 30 | public void setUserName(String userName) { 31 | this.userName = userName; 32 | } 33 | 34 | public Long getRoleId() { 35 | return roleId; 36 | } 37 | 38 | public void setRoleId(Long roleId) { 39 | this.roleId = roleId; 40 | } 41 | 42 | 43 | 44 | 45 | 46 | } 47 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/UserRoleQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.web.query.PageParam; 5 | 6 | /** 7 | */ 8 | public class UserRoleQuery extends PageParam { 9 | 10 | 11 | @Query(name="角色",display=true,type=Query.TYPE_CONTROL,control="role") 12 | private Long roleId; 13 | @Query(name="部门",display=true,type=Query.TYPE_CONTROL,control="org") 14 | private Long orgId; 15 | 16 | private Long userId; 17 | public Long getUserId() { 18 | return userId; 19 | } 20 | 21 | public void setUserId(Long userId) { 22 | this.userId = userId; 23 | } 24 | 25 | public Long getRoleId() { 26 | return roleId; 27 | } 28 | 29 | public void setRoleId(Long roleId) { 30 | this.roleId = roleId; 31 | } 32 | 33 | public Long getOrgId() { 34 | return orgId; 35 | } 36 | 37 | public void setOrgId(Long orgId) { 38 | this.orgId = orgId; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /admin-console/src/main/java/com/ibeetl/admin/console/web/query/WorkflowQuery.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.console.web.query; 2 | 3 | import java.util.Date; 4 | 5 | import com.ibeetl.admin.core.annotation.Query; 6 | import com.ibeetl.admin.core.web.query.PageParam; 7 | 8 | /** 9 | * 字典表单查询条件 10 | */ 11 | public class WorkflowQuery extends PageParam { 12 | 13 | @Query(name = "用户列表", display = true,fuzzy=true) 14 | private String userIds; 15 | @Query(name = "角色列表", display = true,fuzzy=true) 16 | private String roleIds; 17 | @Query(name = "机构列表", display = true,fuzzy=true) 18 | private String orgIds; 19 | public String getUserIds() { 20 | return userIds; 21 | } 22 | public void setUserIds(String userIds) { 23 | this.userIds = userIds; 24 | } 25 | public String getRoleIds() { 26 | return roleIds; 27 | } 28 | public void setRoleIds(String roleIds) { 29 | this.roleIds = roleIds; 30 | } 31 | public String getOrgIds() { 32 | return orgIds; 33 | } 34 | public void setOrgIds(String orgIds) { 35 | this.orgIds = orgIds; 36 | } 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | } 45 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://127.0.0.1:3306/starter?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 5 | 6 | #spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl 7 | #spring.datasource.username=starter2 8 | #spring.datasource.password=starter2 9 | #spring.datasource.driver-class-name=oracle.jdbc.OracleDriver 10 | 11 | 12 | 13 | # 1,1 是管理员密码,相当于启动后就登录,方便测试,系统需要取消这俩个配置 14 | user.id=1 15 | user.orgId=1 16 | #打开审计功能,开发模式应该关闭 17 | audit.enable=false 18 | spring.session.store-type=HASH_MAP 19 | #spring.cache.type= 20 | spring.cache.type=SIMPLE 21 | logging.level.root=info 22 | logging.level.org.springframework.web.servlet.mvc.method.annotation=warn 23 | #logging.file = my.log 24 | server.port=8080 25 | #html视图交给beetl渲染 26 | beetl.suffix=html 27 | beetlsql.dbStyle=org.beetl.sql.core.db.MySqlStyle 28 | #beetlsql.basePackage=com.ibeetl,com.xxx.yourpackage 29 | beetlsql.basePackage=com 30 | app.name=SpringBoot-Plus 31 | logging.pattern.console=%-4relative [%thread] %-5level %logger{256} %M %L - %msg%n 32 | spring.devtools.restart.exclude=templates/** 33 | #文档预览服务的调用地址,参考https://gitee.com/kekingcn/file-online-preview 安装,没有如下配置无法使用预览功能 34 | file.previewURL=http://localhost:8012/onlinePreview 35 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | *** Spring Boot 2 plus -------------------------------------------------------------------------------- /admin-console/src/main/resources/beetl.properties: -------------------------------------------------------------------------------- 1 | ENGINE=org.beetl.core.engine.DefaultTemplateEngine 2 | DELIMITER_STATEMENT_START= 4 | RESOURCE.tagRoot = common/tag 5 | RESOURCE.tagSuffix = tag.html 6 | HTML_TAG_FLAG = layui: -------------------------------------------------------------------------------- /admin-console/src/main/resources/btsql-ext.properties: -------------------------------------------------------------------------------- 1 | FN.isEmpty = org.beetl.ext.fn.EmptyExpressionFunction 2 | FN.isNotEmpty = org.beetl.ext.fn.IsNotEmptyExpressionFunction -------------------------------------------------------------------------------- /admin-console/src/main/resources/excelTemplates/admin/dict/dict_collection_template.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-console/src/main/resources/excelTemplates/admin/dict/dict_collection_template.xls -------------------------------------------------------------------------------- /admin-console/src/main/resources/excelTemplates/admin/dict/dict_mapping.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
6 | 8 |
9 | dict.excelId 10 | dict.name 11 | dict.value 12 | dict.typeName 13 | dict.type 14 | dict.parentExcelId 15 | dict.remark 16 |
17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 |
-------------------------------------------------------------------------------- /admin-console/src/main/resources/excelTemplates/admin/dict/dict_upload_template.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-console/src/main/resources/excelTemplates/admin/dict/dict_upload_template.xls -------------------------------------------------------------------------------- /admin-console/src/main/resources/excelTemplates/admin/user/user_collection_template.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-console/src/main/resources/excelTemplates/admin/user/user_collection_template.xls -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/audit.md: -------------------------------------------------------------------------------- 1 | queryByCondtion 2 | === 3 | 4 | select 5 | @pageTag(){ 6 | a.* 7 | @} 8 | from core_audit a where 1=1 9 | @ // 添加数据权限 10 | and #function("audit.query")# 11 | @if(isNotEmpty(functionName)){ 12 | function_name like #'%'+functionName+'%'# 13 | @} 14 | @if(isNotEmpty(functionCode)){ 15 | function_code like #'%'+functionCode+'%'# 16 | @} 17 | @if(isNotEmpty(userName)){ 18 | user_name like #'%'+userName+'%'# 19 | @} 20 | @if(!isEmpty(createDateMin)){ 21 | and create_time>= #createDateMin# 22 | @} 23 | @if(!isEmpty(createDateMax)){ 24 | and create_time< #nextDay(createDateMax)# 25 | @} 26 | @pageIgnoreTag(){ 27 | order by a.create_time desc 28 | @} 29 | 30 | 31 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/console.md: -------------------------------------------------------------------------------- 1 | queryByCondition 2 | === 3 | 4 | 5 | select 6 | @pageTag(){ 7 | t.* 8 | @} 9 | from cms_blog t 10 | where 1=1 11 | @//数据权限,该sql语句功能点 12 | and #function("console.query")# 13 | @if(!isEmpty(id)){ 14 | and t.id =#id# 15 | @} 16 | @if(!isEmpty(title)){ 17 | and t.title =#title# 18 | @} 19 | 20 | 21 | 22 | 23 | batchDelCmsBlogByIds 24 | === 25 | 26 | * 批量逻辑删除 27 | 28 | update cms_blog set del_flag = 1 where id in( #join(ids)#) 29 | 30 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/dict.md: -------------------------------------------------------------------------------- 1 | queryByCondition 2 | === 3 | 4 | 5 | select 6 | @pageTag(){ 7 | t.* 8 | @} 9 | from core_dict t 10 | where del_flag=0 11 | 12 | @if(!isEmpty(value)){ 13 | and t.VALUE like #"%"+value+"%"# 14 | @} 15 | @if(!isEmpty(name)){ 16 | and t.NAME like #"%"+name+"%"# 17 | @} 18 | @if(!isEmpty(typeName)){ 19 | and t.TYPE_NAME like #"%"+typeName+"%"# 20 | @} 21 | @if(!isEmpty(parent)){ 22 | and t.PARENT like #"%"+parent+"%"# 23 | @} 24 | @pageIgnoreTag(){ 25 | order by id desc 26 | @} 27 | 28 | 29 | 30 | 31 | batchDelCoreDictByIds 32 | === 33 | 34 | * 批量逻辑删除 35 | 36 | update core_dict set del_flag = 1 where id in( #join(ids)#) 37 | 38 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/function.md: -------------------------------------------------------------------------------- 1 | queryByCondtion 2 | === 3 | 4 | select 5 | @pageTag(){ 6 | f.* 7 | @} 8 | from core_function f where 1=1 9 | @if(!isEmpty(functionIds)){ 10 | and f.id in ( #join(functionIds)#) 11 | @} 12 | @if(!isEmpty(code)){ 13 | and f.code like #"%"+code+"%"# 14 | @} 15 | @if(!isEmpty(name)){ 16 | and f.name like #"%"+name+"%"# 17 | @} 18 | @if(!isEmpty(accessUrl)){ 19 | and f.access_url like #"%"+accessUrl+"%"# 20 | @} 21 | @if(!isEmpty(parentFunctionId)){ 22 | and f.parent_id = #parentFunctionId# 23 | @} 24 | @pageIgnoreTag(){ 25 | order by id desc 26 | @} 27 | 28 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/menu.md: -------------------------------------------------------------------------------- 1 | 2 | queryByCondtion 3 | =============== 4 | * 根据条件查询 5 | 6 | select 7 | @pageTag(){ 8 | m.*,f.NAME function_name,f.ACCESS_URL , 9 | p.name parent_menu_name 10 | @} 11 | from core_menu m left join core_function f on m.FUNCTION_ID=f.id left join core_menu p on m.parent_menu_id = p.id 12 | where 1=1 13 | @if(!isEmpty(url)){ 14 | and f.access_url like #'%'+url+"%"# 15 | @} 16 | 17 | @if(!isEmpty(code)){ 18 | and m.code like #'%'+code+"%"# 19 | @} 20 | 21 | @if(!isEmpty(name)){ 22 | and m.name like #'%'+name+"%"# 23 | @} 24 | 25 | @if(!isEmpty(parentMenuId)){ 26 | and m.parent_menu_id = #parentMenuId# 27 | @} 28 | 29 | @pageIgnoreTag(){ 30 | order by m.seq asc , m.id desc 31 | @} 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/org.md: -------------------------------------------------------------------------------- 1 | batchDelByIds 2 | === 3 | update core_org set u.del_flag = 1 where u.id in( #join(ids)#); 4 | 5 | queryByCondtion 6 | === 7 | select 8 | @pageTag(){ 9 | o.* 10 | @} 11 | from core_org o where 1=1 and del_flag = 0 12 | @ //数据权限,组织机构对应的对应的字段 13 | and #function("org.query",{org:"id"})# 14 | @if(!isEmpty(code)){ 15 | and o.code like #"%"+code+"%"# 16 | @} 17 | @if(!isEmpty(name)){ 18 | and o.name like #"%"+name+"%"# 19 | @} 20 | @if(!isEmpty(type)){ 21 | and o.type = #type# 22 | @} 23 | @if(!isEmpty(parentOrgId)){ 24 | and o.parent_org_id = #parentOrgId# 25 | @} 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/sql/console/roleFunction.md: -------------------------------------------------------------------------------- 1 | deleteRoleFunction 2 | === 3 | 4 | * 删除所有的功能的角色配置 5 | 6 | delete from core_role_function where function_id in ( #join(ids)# ) 7 | getFunctionIdByRole 8 | === 9 | 10 | * 获得角色对应的功能id 11 | 12 | select function_id from core_role_function where role_id=#roleId# 13 | 14 | 15 | getQueryFunctionAndRoleData 16 | === 17 | 18 | * 获得所有查询功能,并查询角色对应的功能信息。 19 | 20 | select f.*,r.data_access_type from core_role_function r left join core_function f on r.function_id=f.id where r.role_id=#roleId# and f.type='FN1' -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/dict/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','dictApi'], function(exports) { 2 | var form = layui.form; 3 | var dictApi = layui.dictApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#addButton").click(function(){ 12 | dictApi.addDict($("#addForm"),function(){ 13 | parent.window.dataReload(); 14 | Common.openConfirm("添加成功,继续添加?",null,function(){ 15 | Lib.closeFrame(); 16 | }) 17 | 18 | 19 | }); 20 | 21 | 22 | }); 23 | 24 | $("#addButton-cancel").click(function(){ 25 | Lib.closeFrame(); 26 | }); 27 | } 28 | 29 | } 30 | exports('add',view); 31 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/dict/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'dictApi'], function(exports) { 2 | var dictApi = layui.dictApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"dictTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些数据字典?",function(){ 14 | var ids =Common.concatBatchId(data,"id"); 15 | dictApi.del(ids,function(){ 16 | Common.info("删除成功"); 17 | dataReload(); 18 | }) 19 | }) 20 | 21 | } 22 | 23 | } 24 | exports('del',view); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/dict/dictApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | updateDict:function(form,callback){ 5 | Lib.submitForm("/admin/dict/update.json",form,{},callback) 6 | }, 7 | addDict:function(form,callback){ 8 | Lib.submitForm("/admin/dict/add.json",form,{},callback) 9 | }, 10 | del:function(ids,callback){ 11 | Common.post("/admin/dict/delete.json",{"ids":ids},function(){ 12 | callback(); 13 | }) 14 | }, 15 | exportExcel:function(form,callback){ 16 | var formPara = form.serializeJson(); 17 | Common.post("/admin/dict/excel/export.json", formPara, function(fileId) { 18 | callback(fileId); 19 | }) 20 | } 21 | 22 | }; 23 | 24 | exports('dictApi',api); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/dict/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','dictApi'], function(exports) { 2 | var form = layui.form; 3 | var dictApi = layui.dictApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#updateButton").click(function(){ 12 | dictApi.updateDict($("#updateForm"),function(){ 13 | parent.window.dataReload(); 14 | Common.info("更新成功"); 15 | Lib.closeFrame(); 16 | }); 17 | }); 18 | 19 | $("#updateButton-cancel").click(function(){ 20 | Lib.closeFrame(); 21 | }); 22 | } 23 | } 24 | exports('edit',view); 25 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/function/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','functionApi'], function(exports) { 2 | var form = layui.form; 3 | var functionApi = layui.functionApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveFunction").click(function(){ 12 | form.on('submit(form)', function(){ 13 | functionApi.addFunction(function(){ 14 | Common.info("添加成功"); 15 | Lib.closeFrame(); 16 | }); 17 | parent.window.dataReload(); 18 | }); 19 | }); 20 | 21 | $("#saveFunction-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | exports('add',view); 28 | 29 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/function/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'functionApi'], function(exports) { 2 | var functionApi = layui.functionApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"functionTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些Function?",function(){ 14 | var ids =Common.concatBatchId(data); 15 | functionApi.del(ids,function(){ 16 | Common.info("删除成功"); 17 | dataReload(); 18 | }) 19 | }) 20 | 21 | } 22 | 23 | } 24 | exports('del',view); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/function/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','functionApi'], function(exports) { 2 | var form = layui.form; 3 | var functionApi = layui.functionApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveFunction").click(function(){ 12 | form.on('submit(form)', function(){ 13 | functionApi.updateFunction(function(){ 14 | Common.info("更新成功"); 15 | Lib.closeFrame(); 16 | }); 17 | parent.window.dataReload(); 18 | }); 19 | }); 20 | 21 | $("#saveFunction-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | 28 | 29 | 30 | exports('edit',view); 31 | 32 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/function/functionApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | updateFunction:function(callback){ 5 | Lib.submitForm("/admin/function/update.json",$('#updateForm'),{},callback) 6 | }, 7 | addFunction:function(callback){ 8 | Lib.submitForm("/admin/function/add.json",$('#addForm'),{},callback) 9 | }, 10 | del:function(ids,callback){ 11 | Common.post("/admin/function/batchDel.json",{"ids":ids},callback) 12 | } 13 | 14 | 15 | }; 16 | 17 | exports('functionApi',api); 18 | 19 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/menu/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','menuApi'], function(exports) { 2 | var form = layui.form; 3 | var menuApi = layui.menuApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | $('#parentMenuId').val(0); 10 | $('#seq').val(1); 11 | }, 12 | initSubmit:function(){ 13 | $("#saveMenu").click(function(){ 14 | //默认值 15 | if(!$('#parentMenuId').val()){ 16 | $('#parentMenuId').val(0); 17 | } 18 | 19 | menuApi.addMenu(function(){ 20 | Common.info("添加成功"); 21 | parent.window.dataReload(); 22 | Lib.closeFrame(); 23 | }); 24 | 25 | 26 | }); 27 | 28 | $("#saveMenu-cancel").click(function(){ 29 | Lib.closeFrame(); 30 | }); 31 | } 32 | 33 | } 34 | exports('add',view); 35 | 36 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/menu/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'menuApi'], function(exports) { 2 | var menuApi = layui.menuApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"menuTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些菜单?",function(){ 14 | var ids =Common.concatBatchId(data); 15 | menuApi.del(ids,function(){ 16 | Common.info("删除成功"); 17 | dataReload(); 18 | }) 19 | }) 20 | 21 | } 22 | 23 | } 24 | exports('del',view); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/menu/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','menuApi'], function(exports) { 2 | var form = layui.form; 3 | var menuApi = layui.menuApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveMenu").click(function(){ 12 | //默认值 13 | if(!$('#parentMenuId').val()){ 14 | $('#parentMenuId').val(0); 15 | } 16 | 17 | menuApi.updateMenu(function(){ 18 | Common.info("更新成功"); 19 | Lib.closeFrame(); 20 | parent.window.dataReload(); 21 | }); 22 | 23 | 24 | }); 25 | 26 | $("#saveMenu-cancel").click(function(){ 27 | Lib.closeFrame(); 28 | }); 29 | } 30 | 31 | } 32 | 33 | 34 | 35 | exports('edit',view); 36 | 37 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/menu/menuApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | updateMenu:function(callback){ 5 | Lib.submitForm("/admin/menu/update.json",$('#updateForm'),{},callback) 6 | }, 7 | addMenu:function(callback){ 8 | Lib.submitForm("/admin/menu/save.json",$('#addForm'),{},callback) 9 | }, 10 | del:function(ids,callback){ 11 | Common.post("/admin/menu/batchDel.json",{"ids":ids},callback) 12 | } 13 | 14 | 15 | }; 16 | 17 | exports('menuApi',api); 18 | 19 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/org/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','orgApi'], function(exports) { 2 | var form = layui.form; 3 | var orgApi = layui.orgApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveOrg").click(function(){ 12 | orgApi.addOrg($('#addForm'),function(){ 13 | Common.info("添加成功"); 14 | Lib.closeFrame(); 15 | }); 16 | parent.window.dataReload(); 17 | 18 | }); 19 | 20 | $("#saveOrg-cancel").click(function(){ 21 | Lib.closeFrame(); 22 | }); 23 | } 24 | 25 | } 26 | exports('add',view); 27 | 28 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/org/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'orgApi'], function(exports) { 2 | var orgApi = layui.orgApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"orgTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些结构?",function(){ 14 | var ids =Common.concatBatchId(data); 15 | orgApi.del(ids,function(){ 16 | Common.info("删除成功"); 17 | dataReload(); 18 | }) 19 | }) 20 | 21 | } 22 | 23 | } 24 | exports('del',view); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/org/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','orgApi'], function(exports) { 2 | var form = layui.form; 3 | var orgApi = layui.orgApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveOrg").click(function(){ 12 | orgApi.updateOrg($("#updateForm"),function(){ 13 | parent.window.dataReload(); 14 | Common.info("更新成功"); 15 | Lib.closeFrame(); 16 | }); 17 | 18 | }); 19 | 20 | $("#saveOrg-cancel").click(function(){ 21 | Lib.closeFrame(); 22 | }); 23 | } 24 | 25 | } 26 | 27 | 28 | 29 | exports('edit',view); 30 | 31 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/org/orgApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | updateOrg:function(form,callback){ 5 | Lib.submitForm("/admin/org/update.json",form,{},callback) 6 | }, 7 | addOrg:function(form,callback){ 8 | Lib.submitForm("/admin/org/save.json",form,{},callback) 9 | }, 10 | del:function(ids,callback){ 11 | Common.post("/admin/org/delete.json",{"ids":ids},function(){ 12 | callback(); 13 | }) 14 | } 15 | 16 | 17 | }; 18 | 19 | exports('orgApi',api); 20 | 21 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/role/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','roleApi'], function(exports) { 2 | var form = layui.form; 3 | var roleApi = layui.roleApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#addButton").click(function(){ 12 | roleApi.addRole($("#addForm"),function(){ 13 | parent.window.dataReload(); 14 | Common.info("添加成功"); 15 | Lib.closeFrame(); 16 | }); 17 | 18 | 19 | }); 20 | 21 | $("#addButton-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | exports('add',view); 28 | 29 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/role/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'roleApi'], function(exports) { 2 | var roleApi = layui.roleApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"roleTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些角色?",function(){ 14 | var ids =Common.concatBatchId(data); 15 | roleApi.del(ids,function(){ 16 | Common.info("删除成功"); 17 | dataReload(); 18 | }) 19 | }) 20 | 21 | } 22 | 23 | } 24 | exports('del',view); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/role/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','roleApi'], function(exports) { 2 | var form = layui.form; 3 | var roleApi = layui.roleApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#updateButton").click(function(){ 12 | roleApi.updateRole($("#updateForm"),function(){ 13 | parent.window.dataReload(); 14 | Common.info("更新成功"); 15 | Lib.closeFrame(); 16 | }); 17 | 18 | 19 | }); 20 | 21 | $("#updateButton-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | 28 | 29 | 30 | exports('edit',view); 31 | 32 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/role/roleApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | updateRole:function(form,callback){ 5 | Lib.submitForm("/admin/role/update.json",form,{},callback) 6 | }, 7 | addRole:function(form,callback){ 8 | Lib.submitForm("/admin/role/add.json",form,{},callback) 9 | }, 10 | del:function(ids,callback){ 11 | Common.post("/admin/role/delete.json",{"ids":ids},function(){ 12 | callback(); 13 | }) 14 | }, 15 | queryFunctionByRole:function(roleId,callback){ 16 | Common.post("/admin/role/function/ids.json",{"roleId":roleId},function(data){ 17 | callback(data); 18 | }) 19 | }, 20 | saveFunctions:function(roleId,ids){ 21 | Common.post("/admin/role//function/update.json",{"roleId":roleId,"ids":ids},function(data){ 22 | Common.info("保存功能成功") 23 | }) 24 | }, 25 | saveDataAccess:function(roleId,fnId,accessType){ 26 | Common.post("/admin/role/function/updateDataAccess.json",{"roleId":roleId,"fnId":fnId,"accessType":accessType},function(data){ 27 | Common.info("保存数据权限成功") 28 | }) 29 | } 30 | 31 | 32 | }; 33 | 34 | exports('roleApi',api); 35 | 36 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/role/roleData.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','roleApi'], function(exports) { 2 | var form = layui.form; 3 | var laydate = layui.laydate; 4 | var table = layui.table; 5 | var checkedRoleId=null; 6 | var roleApi=layui.roleApi; 7 | var view ={ 8 | 9 | init:function(roleId){ 10 | this.initRoles(); 11 | 12 | }, 13 | 14 | initRoles:function(){ 15 | var that = this; 16 | form.on('radio(roleId)', function(data){ 17 | checkedRoleId = data.value; //被点击的radio的value值 18 | that.loadDataAccessByRole(checkedRoleId); 19 | }) 20 | this.initFirstRole(); 21 | 22 | }, 23 | initFirstRole:function(){ 24 | var firstRole=$(".layui-form").find(":radio")[0] 25 | checkedRoleId= $(firstRole).val(); 26 | this.loadDataAccessByRole(checkedRoleId); 27 | $(firstRole).prop("checked",true); 28 | 29 | }, 30 | 31 | loadDataAccessByRole:function(roleId){ 32 | 33 | $("#dataAccess").load(Common.ctxPath+"/admin/role/function/dataAccess.do?roleId="+roleId,{},function(){ 34 | form.render(); 35 | form.on('select', function(data){ 36 | var dom = data.elem; 37 | var fnId = $(dom).data("id"); 38 | var accessType= data.value; 39 | roleApi.saveDataAccess(checkedRoleId,fnId,accessType) 40 | 41 | }); 42 | }); 43 | 44 | }, 45 | 46 | 47 | 48 | } 49 | 50 | 51 | 52 | 53 | 54 | exports('roleData',view); 55 | 56 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/user/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','userApi'], function(exports) { 2 | var form = layui.form; 3 | var userApi = layui.userApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveUser").click(function(){ 12 | userApi.addUser($('#addForm'),function(){ 13 | parent.window.dataReload(); 14 | Common.info("添加成功"); 15 | Lib.closeFrame(); 16 | }); 17 | 18 | 19 | }); 20 | 21 | $("#saveUser-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | exports('add',view); 28 | 29 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/user/changePassword.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'table','userApi'], function(exports) { 2 | var form = layui.form; 3 | var userApi = layui.userApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#changePasswordForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#savePassword").click(function(){ 12 | userApi.changePassword($('#changePasswordForm'),function(){ 13 | Common.info("密码更改成功"); 14 | Lib.closeFrame(); 15 | }); 16 | 17 | }); 18 | 19 | $("#savePassword-cancel").click(function(){ 20 | Lib.closeFrame(); 21 | }); 22 | } 23 | 24 | } 25 | 26 | 27 | 28 | exports('changePassword',view); 29 | 30 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/user/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'userApi'], function(exports) { 2 | var userApi = layui.userApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"userTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些用户?",function(){ 14 | debugger; 15 | var ids =Common.concatBatchId(data); 16 | userApi.del(ids,function(){ 17 | Common.info("删除成功"); 18 | dataReload(); 19 | }) 20 | }) 21 | 22 | } 23 | 24 | } 25 | exports('del',view); 26 | 27 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/user/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','userApi'], function(exports) { 2 | var form = layui.form; 3 | var userApi = layui.userApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#saveUser").click(function(){ 12 | userApi.updateUser($('#updateForm'),function(){ 13 | parent.window.dataReload(); 14 | Common.info("更新成功"); 15 | Lib.closeFrame(); 16 | }); 17 | 18 | 19 | }); 20 | 21 | $("#saveUser-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | 28 | 29 | 30 | exports('edit',view); 31 | 32 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/user/roleDel.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', 'userApi'], function(exports) { 2 | var userApi = layui.userApi; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | 7 | }, 8 | delBatch:function(){ 9 | var data = Common.getMoreDataFromTable(table,"userRoleTable"); 10 | if(data==null){ 11 | return ; 12 | } 13 | Common.openConfirm("确认要删除这些角色?",function(){ 14 | var ids =Common.concatBatchId(data); 15 | userApi.delUserRole(ids,function(){ 16 | Common.info("删除成功"); 17 | dataReload(); 18 | }) 19 | }) 20 | 21 | } 22 | 23 | } 24 | exports('roleDel',view); 25 | 26 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/static/js/admin/user/userRoleAdd.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','userApi'], function(exports) { 2 | var form = layui.form; 3 | var userApi = layui.userApi; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | this.initSubmit(); 8 | }, 9 | initSubmit:function(){ 10 | $("#saveUserRole").click(function(){ 11 | userApi.addUserRole($('#userRoleAddForm'),function(){ 12 | parent.window.dataReload(); 13 | Common.info("添加成功"); 14 | Lib.closeFrame(); 15 | }); 16 | 17 | 18 | }); 19 | 20 | $("#saveUserRole-cancel").click(function(){ 21 | Lib.closeFrame(); 22 | }); 23 | } 24 | 25 | } 26 | exports('userRoleAdd',view); 27 | 28 | }); -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/audit/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 16 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/dict/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 | 导出 10 | 导入 11 | 12 |
13 |
14 | 15 | 23 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/function/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 |
10 |
11 | 12 | 20 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/menu/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 |
10 | 11 | 12 | 20 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/org/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 | 查看用户 10 |
11 |
12 | 13 | 21 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/org/orgUser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 17 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |
6 | 7 |
8 | 10 |
11 |
12 |
13 | 14 |
15 | 18 |
19 |
20 |
21 |
22 | 23 |
24 |
25 | 26 | 28 |
29 |
30 |
31 | 32 | 33 | 34 | 35 | 36 | 43 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/data.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 10 |
11 | 12 |
13 |
14 |
15 |
16 | 17 |
18 |
19 |
20 |
21 | 22 | 23 | 31 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/dataConfigPart.html: -------------------------------------------------------------------------------- 1 | 4 |
5 |
6 | 7 |
8 | 19 |
20 |
21 |
22 | 23 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |
6 | 7 |
8 | 10 |
11 |
12 |
13 | 14 |
15 | 18 |
19 |
20 |
21 |
22 | 23 |
24 |
25 | 26 | 28 |
29 |
30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 45 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/function.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 10 |
11 | 12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | 22 | 23 | 31 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 | 查看用户 10 |
11 |
12 | 13 | 21 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/role/roleUser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 17 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/user/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 | 操作角色 10 | 流程角色 11 | 修改密码 12 | 导出Excel 13 | 14 | 15 |
16 |
17 | 18 | 26 | -------------------------------------------------------------------------------- /admin-console/src/main/resources/templates/admin/user/userRole.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 增加 8 | 删除 9 | 10 |
11 |
12 | 13 | 14 | 22 | -------------------------------------------------------------------------------- /admin-core/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /admin-core/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.ibeetl 5 | admin-core 6 | 1.0 7 | jar 8 | 9 | true 10 | 11 | 12 | 13 | org.apache.curator 14 | curator-recipes 15 | 2.12.0 16 | 17 | 18 | log4j 19 | log4j 20 | 21 | 22 | 23 | 24 | 25 | org.apache.curator 26 | curator-x-discovery 27 | 2.12.0 28 | 29 | 30 | 31 | 32 | com.ibeetl 33 | admin 34 | 1.0 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/annotation/Dict.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import com.ibeetl.admin.core.util.enums.CoreDictType; 9 | 10 | /** 11 | * 描述: 用来标注词典字段 12 | * 13 | * 14 | * @author : lijiazhi 15 | */ 16 | @Retention(RetentionPolicy.RUNTIME) 17 | @Target(ElementType.FIELD) 18 | public @interface Dict { 19 | 20 | /** 21 | * 类型 22 | * 23 | * @return 24 | */ 25 | public String type() default ""; 26 | 27 | /** 28 | * 默认值 29 | * 30 | * @return 31 | */ 32 | public String defaultDisplay() default ""; 33 | 34 | /** 35 | * 字典文本的后缀 36 | * 37 | * @return 38 | */ 39 | public String suffix() default "Text"; 40 | } 41 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/annotation/Function.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * 用来标注功能id 8 | *
 9 |  * @Function("user.add")
10 |  * public String addUser(){
11 |  * }
12 |  * 
13 | * 14 | * 只有拥有此项功能的角色才能操作,否则,权限不足 15 | * @author lijiazhi 16 | * 17 | */ 18 | @Retention(RetentionPolicy.RUNTIME) 19 | public @interface Function { 20 | public String value(); 21 | public String name() default ""; 22 | } 23 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/conf/DataSourceConfig.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.conf; 2 | 3 | import javax.sql.DataSource; 4 | 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | import org.springframework.core.env.Environment; 8 | 9 | import com.zaxxer.hikari.HikariDataSource; 10 | @Configuration 11 | public class DataSourceConfig { 12 | @Bean(name = "dataSource") 13 | public DataSource datasource(Environment env) { 14 | HikariDataSource ds = new HikariDataSource(); 15 | ds.setJdbcUrl(env.getProperty("spring.datasource.url")); 16 | ds.setUsername(env.getProperty("spring.datasource.username")); 17 | ds.setPassword(env.getProperty("spring.datasource.password")); 18 | ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name")); 19 | return ds; 20 | } 21 | } 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/conf/FileSystemConfig.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.conf; 2 | 3 | import java.io.File; 4 | 5 | import org.apache.commons.lang3.StringUtils; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; 8 | import org.springframework.context.ApplicationContext; 9 | import org.springframework.context.annotation.Bean; 10 | import org.springframework.context.annotation.Configuration; 11 | import org.springframework.core.env.Environment; 12 | 13 | import com.ibeetl.admin.core.file.FileService; 14 | import com.ibeetl.admin.core.file.LocalFileService; 15 | 16 | @Configuration 17 | @ConditionalOnMissingBean(FileService.class) 18 | public class FileSystemConfig { 19 | @Autowired 20 | Environment env; 21 | @Bean 22 | public FileService getFileService(ApplicationContext ctx) { 23 | String root = env.getProperty("localFile.root"); 24 | if(StringUtils.isEmpty(root)) { 25 | String userDir = System.getProperty("user.dir"); 26 | root = userDir+File.separator+"filesystem"; 27 | } 28 | File f = new File(root); 29 | if(!f.exists()) { 30 | f.mkdirs(); 31 | } 32 | return new LocalFileService(ctx,root); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/conf/PasswordConfig.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.conf; 2 | 3 | import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; 4 | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | import com.ibeetl.admin.core.conf.PasswordConfig.PasswordEncryptService; 9 | 10 | /** 11 | * 描述: 密码工具,系统默认采用明文 12 | * 13 | * @author : xiandafu 14 | */ 15 | @Configuration 16 | @ConditionalOnMissingBean(PasswordEncryptService.class) 17 | public class PasswordConfig { 18 | 19 | 20 | public static interface PasswordEncryptService{ 21 | public String password(String pwd); 22 | } 23 | 24 | 25 | public static class DefaultEncryptBean implements PasswordEncryptService { 26 | 27 | @Override 28 | public String password(String pwd) { 29 | // 采用明文,系统应该提供自己的EncryptBean实现以代替默认 30 | return pwd; 31 | } 32 | 33 | } 34 | 35 | @Bean 36 | public PasswordEncryptService passwordEncryptBean(){ 37 | return new DefaultEncryptBean(); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/conf/RbacDataAccessConfig.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.conf; 2 | 3 | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; 4 | import org.springframework.context.ApplicationContext; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | import com.ibeetl.admin.core.rbac.DataAccessFactory; 9 | import com.ibeetl.admin.core.rbac.da.DefaultDataAccessFactory; 10 | 11 | @Configuration 12 | public class RbacDataAccessConfig { 13 | @ConditionalOnMissingBean(DataAccessFactory.class) 14 | @Bean 15 | public DataAccessFactory dataAccessFatory(ApplicationContext applicationContext) { 16 | return new DefaultDataAccessFactory(applicationContext); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreAuditDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.SqlResource; 4 | import org.beetl.sql.core.mapper.BaseMapper; 5 | 6 | import com.ibeetl.admin.core.entity.CoreAudit; 7 | 8 | /* 9 | * 10 | * gen by starter mapper 2017-08-01 11 | */ 12 | @SqlResource("core.coreAudit") 13 | public interface CoreAuditDao extends BaseMapper { 14 | 15 | } -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreDictDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | import org.beetl.sql.core.annotatoin.SqlResource; 7 | import org.beetl.sql.core.annotatoin.SqlStatement; 8 | import org.beetl.sql.core.mapper.BaseMapper; 9 | 10 | import com.ibeetl.admin.core.entity.CoreDict; 11 | 12 | /** 13 | * 字典DAO接口 14 | */ 15 | @SqlResource("core.coreDict") 16 | public interface CoreDictDao extends BaseMapper { 17 | 18 | /** 19 | * 查询某个类型下的字典集合 20 | * @param type 字典类型 21 | * @return 22 | */ 23 | List findAllList(String type); 24 | 25 | /** 26 | * 查询字段类型列表 27 | * @param delFlag 删除标记 28 | * @return 29 | */ 30 | @SqlStatement(returnType = Map.class) 31 | List> findTypeList(int delFlag); 32 | 33 | 34 | 35 | /** 36 | * 根据父节点Id查询子节点数据 37 | * @param id 父节点id 38 | * @return 39 | */ 40 | List findChildByParent(Long id); 41 | 42 | int bathDelByValue(List values); 43 | } 44 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreFileDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Sql; 4 | import org.beetl.sql.core.mapper.BaseMapper; 5 | 6 | import com.ibeetl.admin.core.entity.CoreFile; 7 | 8 | public interface CoreFileDao extends BaseMapper { 9 | @Sql("update core_file set biz_type=?,biz_id=? where file_batch_id=?") 10 | public void updateBatchIdInfo( String bizType, String bizId,String fileBatchId); 11 | } 12 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreFunctionDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.Sql; 5 | import org.beetl.sql.core.annotatoin.SqlResource; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | 8 | import com.ibeetl.admin.core.entity.CoreFunction; 9 | 10 | @SqlResource("core.coreFunction") 11 | public interface CoreFunctionDao extends BaseMapper { 12 | @Sql("select * from core_function where code = ?") 13 | CoreFunction getFunctionByCode(@Param(value = "code") String code); 14 | } 15 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreMenuDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.annotatoin.SqlStatement; 6 | import org.beetl.sql.core.engine.PageQuery; 7 | import org.beetl.sql.core.mapper.BaseMapper; 8 | 9 | import com.ibeetl.admin.core.entity.CoreMenu; 10 | 11 | import java.util.List; 12 | 13 | @SqlResource("core.coreMenu") 14 | public interface CoreMenuDao extends BaseMapper { 15 | 16 | public void queryByCondtion(PageQuery query); 17 | 18 | public void clearMenuFunction( List functionIds); 19 | 20 | 21 | public List allMenuWithURL(); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreOrgDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.sql.core.annotatoin.Sql; 6 | import org.beetl.sql.core.annotatoin.SqlResource; 7 | import org.beetl.sql.core.mapper.BaseMapper; 8 | 9 | import com.ibeetl.admin.core.entity.CoreOrg; 10 | 11 | @SqlResource("core.coreOrg") 12 | public interface CoreOrgDao extends BaseMapper { 13 | 14 | List queryOrgByUser(Long userId); 15 | 16 | 17 | List queryAllOrgCode(List orgIds); 18 | 19 | @Sql("select * from core_org where parent_org_id is null") 20 | CoreOrg getRoot(); 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreRoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.engine.PageQuery; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | 8 | import com.ibeetl.admin.core.entity.CoreRole; 9 | 10 | import java.util.List; 11 | 12 | @SqlResource("core.coreRole") 13 | public interface CoreRoleDao extends BaseMapper { 14 | 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreRoleFunctionDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.annotatoin.SqlStatement; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | 8 | import com.ibeetl.admin.core.entity.CoreRoleFunction; 9 | 10 | import java.util.List; 11 | 12 | @SqlResource("core.coerRoleFunction") 13 | public interface CoreRoleFunctionDao extends BaseMapper { 14 | 15 | 16 | List getRoleFunction( Long userId, Long orgId, 17 | String code); 18 | 19 | List getRoleChildrenFunction(Long userId, Long orgId, 20 | Long parentId); 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreRoleMenuDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.annotatoin.SqlStatement; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | 8 | import com.ibeetl.admin.core.entity.CoreRoleMenu; 9 | 10 | import java.util.List; 11 | 12 | @SqlResource("core.coreRoleMenu") 13 | public interface CoreRoleMenuDao extends BaseMapper { 14 | 15 | /** 16 | * 根据用户ID,机构ID查询菜单 17 | * @param userId 用户id 18 | * @param orgId 机构id 19 | * @return 20 | */ 21 | List queryMenuByUser( Long userId, Long orgId); 22 | 23 | /** 24 | * 根据菜单id删除角色和菜单关系 25 | * @param ids 26 | */ 27 | void deleteRoleMenu(List ids); 28 | } 29 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreUserDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.Param; 4 | import org.beetl.sql.core.annotatoin.SqlResource; 5 | import org.beetl.sql.core.mapper.BaseMapper; 6 | 7 | import com.ibeetl.admin.core.entity.CoreUser; 8 | 9 | import java.util.List; 10 | 11 | @SqlResource("core.coreUser") 12 | public interface CoreUserDao extends BaseMapper { 13 | 14 | /** 15 | * 根据角色编码查询用户集合 16 | * @param roleCode 角色编码 17 | * @return 18 | */ 19 | List getUserByRole( String roleCode); 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreUserRoleDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.SqlResource; 4 | import org.beetl.sql.core.engine.PageQuery; 5 | import org.beetl.sql.core.mapper.BaseMapper; 6 | 7 | import com.ibeetl.admin.core.entity.CoreUserRole; 8 | 9 | @SqlResource("core.coresUserRole") 10 | public interface CoreUserRoleDao extends BaseMapper { 11 | 12 | 13 | } 14 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreWorkflowDao.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.dao; 2 | 3 | import org.beetl.sql.core.annotatoin.SqlResource; 4 | import org.beetl.sql.core.mapper.BaseMapper; 5 | 6 | import com.ibeetl.admin.core.entity.CoreUser; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 业务侧工作流的基本功能,工作流的一些功能将在业务侧完成,比如选人操作 12 | * @author lijiazhi 13 | */ 14 | @SqlResource("core.workflow") 15 | public interface CoreWorkflowDao extends BaseMapper { 16 | 17 | /** 18 | * 根据角色id,机构id查询用户集合 19 | * @param roleId 角色id 20 | * @param orgs 机构id 21 | * @return 22 | */ 23 | List queryUsersByRole(Long roleId, List orgs); 24 | } 25 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.entity; 2 | 3 | import java.util.Map; 4 | 5 | import org.beetl.sql.core.TailBean; 6 | 7 | import com.fasterxml.jackson.annotation.JsonAnyGetter; 8 | import com.fasterxml.jackson.annotation.JsonAnySetter; 9 | 10 | /** 11 | * 描述:用于辅助序列化beetlsql 的TailBean 12 | * @author : xiandafu 13 | */ 14 | 15 | public class BaseEntity extends TailBean implements java.io.Serializable { 16 | 17 | protected final static String ORACLE_CORE_SEQ_NAME="core_seq"; 18 | protected final static String ORACLE_AUDIT_SEQ_NAME="audit_seq"; 19 | protected final static String ORACLE_FILE_SEQ_NAME="core_seq"; 20 | @JsonAnyGetter 21 | public Map getTails(){ 22 | return super.getTails(); 23 | } 24 | 25 | 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/entity/CoreRoleMenu.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.entity; 2 | import java.util.Date; 3 | 4 | import javax.validation.constraints.NotNull; 5 | 6 | import org.beetl.sql.core.annotatoin.AutoID; 7 | import org.beetl.sql.core.annotatoin.SeqID; 8 | 9 | import com.ibeetl.admin.core.util.ValidateConfig; 10 | 11 | /* 12 | * 13 | * gen by beetlsql 2016-11-22 14 | */ 15 | public class CoreRoleMenu extends BaseEntity { 16 | @NotNull(message = "ID不能为空", groups = ValidateConfig.UPDATE.class) 17 | @SeqID(name = ORACLE_CORE_SEQ_NAME) 18 | @AutoID 19 | protected Long id; 20 | 21 | private Long menuId ; 22 | private Long roleId ; 23 | private Date createTime ; 24 | 25 | public CoreRoleMenu() { 26 | } 27 | 28 | public Long getId(){ 29 | return id; 30 | } 31 | public void setId(Long id ){ 32 | this.id = id; 33 | } 34 | 35 | public Long getMenuId(){ 36 | return menuId; 37 | } 38 | public void setMenuId(Long menuId ){ 39 | this.menuId = menuId; 40 | } 41 | 42 | public Long getRoleId(){ 43 | return roleId; 44 | } 45 | public void setRoleId(Long roleId ){ 46 | this.roleId = roleId; 47 | } 48 | 49 | public Date getCreateTime(){ 50 | return createTime; 51 | } 52 | public void setCreateTime(Date createTime ){ 53 | this.createTime = createTime; 54 | } 55 | 56 | 57 | } 58 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/file/FileItem.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.file; 2 | 3 | import java.io.OutputStream; 4 | 5 | public abstract class FileItem { 6 | protected Long id; 7 | protected String name; 8 | protected String path; 9 | boolean isTemp = false; 10 | 11 | public abstract OutputStream openOutpuStream(); 12 | 13 | public abstract void copy(OutputStream os); 14 | 15 | 16 | public abstract boolean delete(); 17 | 18 | public String getName() { 19 | return name; 20 | } 21 | public void setName(String name) { 22 | this.name = name; 23 | } 24 | public String getPath() { 25 | return path; 26 | } 27 | public void setPath(String path) { 28 | this.path = path; 29 | } 30 | 31 | public boolean isTemp() { 32 | return isTemp; 33 | } 34 | 35 | public void setTemp(boolean isTemp) { 36 | this.isTemp = isTemp; 37 | } 38 | 39 | public Long getId() { 40 | return id; 41 | } 42 | 43 | public void setId(Long id) { 44 | this.id = id; 45 | } 46 | 47 | 48 | } 49 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/file/FileTag.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.file; 2 | 3 | public class FileTag { 4 | String name; 5 | String value; 6 | Long fileId; 7 | public String getName() { 8 | return name; 9 | } 10 | public void setName(String name) { 11 | this.name = name; 12 | } 13 | public String getValue() { 14 | return value; 15 | } 16 | public void setValue(String value) { 17 | this.value = value; 18 | } 19 | public Long getFileId() { 20 | return fileId; 21 | } 22 | public void setFileId(Long fileId) { 23 | this.fileId = fileId; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/file/PersistFileItem.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.file; 2 | 3 | import java.io.OutputStream; 4 | 5 | public abstract class PersistFileItem extends FileItem { 6 | protected Long id; 7 | protected Long userId; 8 | protected Long orgId; 9 | protected String bizType; 10 | protected String bizId; 11 | FileTag[] tags; 12 | public PersistFileItem() { 13 | this.isTemp = false; 14 | } 15 | public Long getUserId() { 16 | return userId; 17 | } 18 | public void setUserId(Long userId) { 19 | this.userId = userId; 20 | } 21 | public Long getOrgId() { 22 | return orgId; 23 | } 24 | public void setOrgId(Long orgId) { 25 | this.orgId = orgId; 26 | } 27 | public FileTag[] getTags() { 28 | return tags; 29 | } 30 | public void setTags(FileTag[] tags) { 31 | this.tags = tags; 32 | } 33 | public Long getId() { 34 | return id; 35 | } 36 | public void setId(Long id) { 37 | this.id = id; 38 | } 39 | public String getBizType() { 40 | return bizType; 41 | } 42 | public void setBizType(String bizType) { 43 | this.bizType = bizType; 44 | } 45 | public String getBizId() { 46 | return bizId; 47 | } 48 | public void setBizId(String bizId) { 49 | this.bizId = bizId; 50 | } 51 | 52 | 53 | 54 | } 55 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/gen/AutoGen.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.gen; 2 | 3 | import java.io.Writer; 4 | 5 | import com.ibeetl.admin.core.gen.model.Entity; 6 | 7 | public interface AutoGen { 8 | public void make(Target target,Entity entity); 9 | public String getName(); 10 | } 11 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/gen/ConsoleTarget.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.gen; 2 | 3 | 4 | /** 5 | * 用于代码生成 6 | * @author xiandafu 7 | * 8 | */ 9 | 10 | public class ConsoleTarget extends BaseTarget { 11 | public ConsoleTarget() { 12 | 13 | } 14 | @Override 15 | public void flush(AutoGen gen, String content) { 16 | System.out.println("=========="+gen.getClass().getSimpleName()+"============="); 17 | System.out.println(content); 18 | 19 | } 20 | 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/gen/MdGen.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.gen; 2 | 3 | import java.util.ArrayList; 4 | import java.util.HashMap; 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | import org.beetl.core.GroupTemplate; 9 | import org.beetl.core.Template; 10 | 11 | import com.ibeetl.admin.core.gen.model.Attribute; 12 | import com.ibeetl.admin.core.gen.model.Entity; 13 | 14 | public class MdGen implements AutoGen{ 15 | 16 | static String CR = System.getProperty("line.separator"); 17 | Entity entity = null; 18 | public MdGen() { 19 | 20 | } 21 | 22 | @Override 23 | public void make(Target target, Entity entity) { 24 | this.entity = entity; 25 | GroupTemplate gt = target.getGroupTemplate(); 26 | Template template = gt.getTemplate("/md/entity.md"); 27 | template.binding("entity", entity); 28 | template.binding("target", target); 29 | String content = template.render(); 30 | target.flush(this, content); 31 | 32 | } 33 | 34 | @Override 35 | public String getName() { 36 | return entity.getCode()+".md"; 37 | } 38 | 39 | } 40 | 41 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/gen/Target.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.gen; 2 | 3 | import org.beetl.core.GroupTemplate; 4 | 5 | /** 6 | * 描述如何输出代码,有打印后台,页面输出,或者直接生成到项目里 7 | * @author lijiazhi 8 | * 9 | */ 10 | public interface Target { 11 | public void flush(AutoGen gen,String content); 12 | public GroupTemplate getGroupTemplate(); 13 | } 14 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/gen/WebTarget.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.gen; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import com.ibeetl.admin.core.gen.model.Entity; 7 | 8 | public class WebTarget extends MavenProjectTarget { 9 | 10 | public Map map = new HashMap(); 11 | public WebTarget(Entity entity,String basePackage) { 12 | super(entity,basePackage); 13 | } 14 | 15 | @Override 16 | public void flush(AutoGen gen, String content) { 17 | map.put(gen, content); 18 | 19 | 20 | } 21 | 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/gen/model/Verify.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.gen.model; 2 | 3 | /** 4 | * 添加表单属性的校验 5 | */ 6 | public class Verify { 7 | 8 | private String name;//校验规则名称 9 | 10 | public String getName() { 11 | return name; 12 | } 13 | 14 | public void setName(String name) { 15 | this.name = name; 16 | } 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/AccessType.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac; 2 | 3 | /** 4 | * 数据权限算法结果 5 | * @author xiandafu 6 | * 7 | */ 8 | public enum AccessType { 9 | OnlyUser(1), OnlyOrg(2), AllOrg(3), NoneOrg(4); 10 | 11 | private int value; 12 | 13 | AccessType(int value) { 14 | this.value = value; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/DataAccess.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac; 2 | 3 | import com.ibeetl.admin.core.service.CorePlatformService; 4 | 5 | /** 6 | * 数据权限接口类 7 | * @author Administrator 8 | * 9 | */ 10 | public interface DataAccess { 11 | DataAccessResullt getOrg(Long userId,Long orgId ); 12 | String getName(); 13 | Integer getType(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/DataAccessFactory.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.ibeetl.admin.core.rbac.tree.OrgItem; 7 | 8 | public interface DataAccessFactory { 9 | /** 10 | * 得到数去访问权限 11 | * @param type 12 | * @return 13 | */ 14 | public DataAccess getDataAccess(Integer type); 15 | /** 16 | * 得到用户能看到得到组织机构树,比如,用户只能看到公司级别的组织机构树。 17 | * DefaultDataAccessFactory 默认实现了能看到所在公司(集团,母公司)的组织机构树 18 | * @param OrgItem 19 | * @return 20 | */ 21 | public OrgItem getUserOrgTree(OrgItem item) ; 22 | 23 | 24 | public List all(); 25 | } 26 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/DataAccessResullt.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac; 2 | 3 | import java.util.List; 4 | /** 5 | * 通过DataAccess 得出跟查询相关的用户或者组织机构列表 6 | * @author lijiazhi 7 | * 8 | */ 9 | public class DataAccessResullt { 10 | private List userIds; 11 | private List orgIds; 12 | //1 结果仅仅包含用户, 2 ,结果仅仅包含组织机构 3 结果匹配所有组织结构 4 结果不匹配任何组织机构 13 | private AccessType status ; 14 | 15 | 16 | public List getUserIds() { 17 | return userIds; 18 | } 19 | public void setUserIds(List userIds) { 20 | this.userIds = userIds; 21 | } 22 | public List getOrgIds() { 23 | return orgIds; 24 | } 25 | public void setOrgIds(List orgIds) { 26 | this.orgIds = orgIds; 27 | } 28 | public AccessType getStatus() { 29 | return status; 30 | } 31 | public void setStatus(AccessType status) { 32 | this.status = status; 33 | } 34 | 35 | 36 | } 37 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/UserLoginInfo.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.fasterxml.jackson.annotation.JsonView; 7 | import com.ibeetl.admin.core.entity.CoreOrg; 8 | import com.ibeetl.admin.core.entity.CoreUser; 9 | 10 | public class UserLoginInfo { 11 | //用户所在机构 12 | List orgs = new ArrayList(); 13 | //用户信息 14 | CoreUser user; 15 | //用户默认登录机构 16 | CoreOrg currentOrg = null; 17 | public List getOrgs() { 18 | return orgs; 19 | } 20 | public void setOrgs(List orgs) { 21 | this.orgs = orgs; 22 | } 23 | public CoreUser getUser() { 24 | return user; 25 | } 26 | public void setUser(CoreUser user) { 27 | this.user = user; 28 | } 29 | public CoreOrg getCurrentOrg() { 30 | return currentOrg; 31 | } 32 | public void setCurrentOrg(CoreOrg currentOrg) { 33 | this.currentOrg = currentOrg; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/da/AllGroupAccess.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac.da; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Arrays; 5 | import java.util.List; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Component; 9 | 10 | import com.ibeetl.admin.core.entity.CoreOrg; 11 | import com.ibeetl.admin.core.rbac.AccessType; 12 | import com.ibeetl.admin.core.rbac.DataAccess; 13 | import com.ibeetl.admin.core.rbac.DataAccessResullt; 14 | import com.ibeetl.admin.core.rbac.tree.OrgItem; 15 | import com.ibeetl.admin.core.service.CorePlatformService; 16 | /** 17 | * 所有机构 18 | * @author lijiazhi 19 | * 20 | */ 21 | @Component 22 | public class AllGroupAccess implements DataAccess { 23 | 24 | @Autowired 25 | CorePlatformService platformService; 26 | 27 | @Override 28 | public DataAccessResullt getOrg(Long userId, Long orgId) { 29 | 30 | 31 | DataAccessResullt ret = new DataAccessResullt(); 32 | ret.setStatus(AccessType.AllOrg); 33 | return ret; 34 | 35 | } 36 | 37 | @Override 38 | public String getName() { 39 | return "所有机构"; 40 | } 41 | 42 | @Override 43 | public Integer getType() { 44 | return 5; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/da/OwnerDataAccess.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac.da; 2 | 3 | import java.util.Arrays; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ibeetl.admin.core.rbac.AccessType; 9 | import com.ibeetl.admin.core.rbac.DataAccess; 10 | import com.ibeetl.admin.core.rbac.DataAccessResullt; 11 | import com.ibeetl.admin.core.service.CorePlatformService; 12 | /** 13 | * 只查看自己 14 | * @author lijiazhi 15 | * 16 | */ 17 | @Component 18 | public class OwnerDataAccess implements DataAccess { 19 | 20 | @Autowired 21 | CorePlatformService platformService; 22 | 23 | @Override 24 | public DataAccessResullt getOrg(Long userId, Long orgId) { 25 | DataAccessResullt ret = new DataAccessResullt(); 26 | ret.setStatus(AccessType.OnlyUser); 27 | ret.setUserIds(Arrays.asList(userId)); 28 | return ret; 29 | 30 | } 31 | 32 | @Override 33 | public String getName() { 34 | return "只查看自己"; 35 | } 36 | 37 | @Override 38 | public Integer getType() { 39 | return 1; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/da/SameOrgDataAccess.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac.da; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Arrays; 5 | import java.util.List; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Component; 9 | 10 | import com.ibeetl.admin.core.entity.CoreOrg; 11 | import com.ibeetl.admin.core.rbac.AccessType; 12 | import com.ibeetl.admin.core.rbac.DataAccess; 13 | import com.ibeetl.admin.core.rbac.DataAccessResullt; 14 | import com.ibeetl.admin.core.rbac.tree.OrgItem; 15 | import com.ibeetl.admin.core.service.CorePlatformService; 16 | /** 17 | * 同机构 18 | * @author lijiazhi 19 | * 20 | */ 21 | @Component 22 | public class SameOrgDataAccess implements DataAccess { 23 | 24 | @Autowired 25 | CorePlatformService platformService; 26 | 27 | @Override 28 | public DataAccessResullt getOrg(Long userId, Long orgId) { 29 | DataAccessResullt ret = new DataAccessResullt(); 30 | ret.setStatus(AccessType.OnlyOrg); 31 | ret.setOrgIds(Arrays.asList(orgId)); 32 | return ret; 33 | 34 | } 35 | 36 | @Override 37 | public String getName() { 38 | return "同结构"; 39 | } 40 | 41 | @Override 42 | public Integer getType() { 43 | return 3; 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/rbac/tree/TreeItem.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.rbac.tree; 2 | 3 | import java.util.List; 4 | /** 5 | * 菜单,功能点,组织机构等跟树有关的结构的接口 6 | * @author lijiazhi 7 | * 8 | */ 9 | public interface TreeItem extends java.io.Serializable { 10 | public String getName(); 11 | public Long getId(); 12 | public List getChildren(); 13 | } 14 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/service/CoreAuditService.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.service; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.stereotype.Service; 5 | import org.springframework.transaction.annotation.Transactional; 6 | 7 | import com.ibeetl.admin.core.dao.CoreAuditDao; 8 | import com.ibeetl.admin.core.entity.CoreAudit; 9 | 10 | @Service 11 | @Transactional 12 | public class CoreAuditService extends BaseService { 13 | 14 | @Autowired 15 | private CoreAuditDao sysAuditDao; 16 | 17 | 18 | } -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/service/CoreRoleService.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.service; 2 | 3 | import java.util.List; 4 | 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | import org.springframework.transaction.annotation.Transactional; 10 | 11 | import com.ibeetl.admin.core.dao.CoreRoleDao; 12 | import com.ibeetl.admin.core.entity.CoreRole; 13 | import com.ibeetl.admin.core.util.enums.DelFlagEnum; 14 | import com.ibeetl.admin.core.util.enums.RoleTypeEnum; 15 | 16 | /** 17 | * 描述: 字典 service,包含常规字典和级联字典的操作。 18 | * @author : xiandafu 19 | */ 20 | @Service 21 | @Transactional 22 | public class CoreRoleService extends BaseService { 23 | 24 | private static final Logger LOGGER = LoggerFactory.getLogger(CoreRoleService.class); 25 | 26 | @Autowired 27 | private CoreRoleDao roleDao; 28 | 29 | 30 | public List getAllRoles(String type){ 31 | CoreRole template = new CoreRole(); 32 | template.setType(type); 33 | return roleDao.template(template); 34 | } 35 | 36 | 37 | 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/service/CoreServiceLocator.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.service; 2 | 3 | /** 4 | * 服务注册和发现,单机情况,注册在本地系统,多机情况,用zookeeper完成注册,计划改成Spring cloud 5 | * @author lijiazhi 6 | * 7 | */ 8 | public interface CoreServiceLocator { 9 | public void addServiceURI(String path,String url); 10 | public String getServiceURI(String path); 11 | } 12 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/ClassLoaderUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | import com.ibeetl.admin.core.conf.RbacAnnotationConfig; 7 | 8 | public class ClassLoaderUtil { 9 | private ClassLoaderUtil(){ 10 | 11 | } 12 | private static final Logger log = LoggerFactory.getLogger(RbacAnnotationConfig.class); 13 | public static Class loadClass(String clsName){ 14 | Class cls = null; 15 | try { 16 | cls = ClassLoaderUtil.class.getClassLoader().loadClass(clsName); 17 | } catch (ClassNotFoundException e) { 18 | log.info(e.getMessage()); 19 | ClassLoader loader = Thread.currentThread().getContextClassLoader(); 20 | try { 21 | return loader.loadClass(clsName); 22 | } catch (ClassNotFoundException e1) { 23 | log.info(e1.getMessage()); 24 | } 25 | } 26 | 27 | if(cls==null){ 28 | log.error("params:{},message:{}",clsName,"无法加载类"); 29 | throw new IllegalArgumentException("不能加载"+clsName); 30 | } 31 | 32 | return cls; 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/ConvertUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collections; 5 | import java.util.List; 6 | 7 | /** 8 | * 数据格式转化类 9 | * @author xiandafu 10 | * 11 | */ 12 | public class ConvertUtil { 13 | /** 14 | * 转化逗号分隔的id到long数组,通常用于批量操作 15 | * @param str 16 | * @return 17 | */ 18 | public static List str2longs(String str){ 19 | if(str.length()==0){ 20 | return Collections.EMPTY_LIST; 21 | } 22 | String[] array = str.split(","); 23 | List rets = new ArrayList(array.length); 24 | int i = 0; 25 | for(String id:array){ 26 | try{ 27 | rets.add(Long.parseLong(id)); 28 | }catch(Exception ex){ 29 | throw new RuntimeException("转化 "+str+ " 到Long数组出错"); 30 | } 31 | 32 | } 33 | return rets; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/DateUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Date; 6 | 7 | public class DateUtil { 8 | 9 | public static Date MAX_DATE = maxDate(); 10 | 11 | 12 | 13 | public static String now() { 14 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 15 | return sdf.format(new Date()); 16 | } 17 | 18 | public static String now(String format) { 19 | SimpleDateFormat sdf = new SimpleDateFormat(format); 20 | return sdf.format(new Date()); 21 | } 22 | 23 | private static Date maxDate() { 24 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 25 | try { 26 | return sdf.parse("9999-12-31 23:59:59"); 27 | } catch (ParseException e) { 28 | throw new RuntimeException(e); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/ExcelError.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | public class ExcelError { 4 | 5 | String cell; 6 | String msg; 7 | 8 | 9 | public String getCell() { 10 | return cell; 11 | } 12 | public void setCell(String cell) { 13 | this.cell = cell; 14 | } 15 | public String getMsg() { 16 | return msg; 17 | } 18 | public void setMsg(String msg) { 19 | this.msg = msg; 20 | } 21 | 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/FileDownloadUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.io.IOException; 4 | import java.io.OutputStream; 5 | 6 | import javax.servlet.http.HttpServletResponse; 7 | 8 | public class FileDownloadUtil { 9 | public static OutputStream getDownLoad(HttpServletResponse response,String fileName) throws IOException { 10 | response.setContentType("text/html; charset = UTF-8"); 11 | response.setHeader("Content-Disposition", "attachment; filename="+fileName); 12 | return response.getOutputStream(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/FileUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.io.FileInputStream; 4 | import java.io.IOException; 5 | import java.io.InputStream; 6 | import java.io.OutputStream; 7 | 8 | public class FileUtil { 9 | public static void copy(InputStream input ,OutputStream os) { 10 | try { 11 | byte[] buf = new byte[1024]; 12 | int bytesRead; 13 | while ((bytesRead = input.read(buf)) > 0) { 14 | os.write(buf, 0, bytesRead); 15 | } 16 | 17 | }catch(Exception ex) { 18 | throw new PlatformException("文件复制出错"+ex); 19 | } 20 | finally { 21 | try { 22 | input.close(); 23 | os.close(); 24 | } catch (IOException e) { 25 | // TODO Auto-generated catch block 26 | e.printStackTrace(); 27 | } 28 | 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/FormFieldException.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import org.springframework.validation.FieldError; 7 | 8 | public class FormFieldException extends PlatformException { 9 | List errors = new ArrayList(); 10 | public FormFieldException() { 11 | super(); 12 | } 13 | 14 | 15 | public FormFieldException(String objectName,String field,String error) { 16 | super("field "+field+" "+error); 17 | FieldError fields = new FieldError(objectName,field,error); 18 | errors.add(fields); 19 | 20 | } 21 | 22 | 23 | public List getErrors() { 24 | return errors; 25 | } 26 | 27 | 28 | public void setErrors(List errors) { 29 | this.errors = errors; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/FunctionBuildUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.ibeetl.admin.core.entity.CoreFunction; 7 | import com.ibeetl.admin.core.rbac.tree.FunctionItem; 8 | 9 | /** 10 | * 创建一个功能树,用于前端选择 11 | * @author xiandafu 12 | * 13 | */ 14 | public class FunctionBuildUtil { 15 | 16 | private FunctionBuildUtil(){ 17 | 18 | } 19 | public static FunctionItem buildOrgTree(List list){ 20 | CoreFunction root = new CoreFunction(); 21 | root.setId(0L); 22 | FunctionItem rootOrg = new FunctionItem(root); 23 | buildTreeNode(rootOrg,list); 24 | return rootOrg; 25 | } 26 | 27 | private static void buildTreeNode(FunctionItem parent,List list){ 28 | 29 | long id = parent.getId(); 30 | List dels = new ArrayList<>(); 31 | for(CoreFunction SysFunction:list){ 32 | if(SysFunction.getParentId()!=null && SysFunction.getParentId()==id){ 33 | FunctionItem item = new FunctionItem(SysFunction); 34 | item.setParent(parent); 35 | dels.add(SysFunction); 36 | } 37 | } 38 | list.removeAll(dels); 39 | 40 | if(list.isEmpty()){ 41 | return ; 42 | } 43 | for(FunctionItem child:parent.getChildren()){ 44 | buildTreeNode(child,list); 45 | } 46 | 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/FunctionLocal.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import javax.servlet.http.HttpSession; 4 | 5 | /** 6 | * 用户Controller对应的功能 7 | * {@link MVCConf} 8 | * @author lijiazhi 9 | * 10 | */ 11 | public class FunctionLocal { 12 | 13 | private FunctionLocal(){ 14 | 15 | } 16 | 17 | private static final ThreadLocal sessions = 18 | new ThreadLocal() { 19 | @Override protected String initialValue() { 20 | return null; 21 | } 22 | }; 23 | 24 | public static String get(){ 25 | return sessions.get(); 26 | } 27 | 28 | public static void set(String session){ 29 | sessions.set(session); 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/OrgBuildUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import com.ibeetl.admin.core.entity.CoreOrg; 7 | import com.ibeetl.admin.core.rbac.tree.OrgItem; 8 | 9 | public class OrgBuildUtil { 10 | private OrgBuildUtil(){ 11 | 12 | } 13 | 14 | 15 | public static void buildTreeNode(OrgItem parent,List list){ 16 | 17 | 18 | 19 | long id = parent.getId(); 20 | List dels = new ArrayList<>(); 21 | for(CoreOrg sysOrg:list){ 22 | if(sysOrg.getParentOrgId()!=null&&sysOrg.getParentOrgId()==id){ 23 | OrgItem item = new OrgItem(sysOrg); 24 | item.setParent(parent); 25 | dels.add(sysOrg); 26 | } 27 | } 28 | list.removeAll(dels); 29 | 30 | if(list.isEmpty()){ 31 | return ; 32 | } 33 | for(OrgItem child:parent.getChildren()){ 34 | buildTreeNode(child,list); 35 | } 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/PlatformException.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | public class PlatformException extends RuntimeException { 4 | public PlatformException() { 5 | super(); 6 | } 7 | 8 | 9 | public PlatformException(String message) { 10 | super(message); 11 | } 12 | 13 | public PlatformException(String message, Throwable e){ 14 | super(message,e); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/Tool.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Calendar; 6 | import java.util.Date; 7 | 8 | /** 9 | * 常用工具类方法 10 | * 11 | * @author lijiazhi 12 | * 13 | */ 14 | public class Tool { 15 | static final String DATE_FORAMT = "yyyy-MM-dd"; 16 | static final String DATETIME_FORAMT = "yyyy-MM-dd hh:mm:ss"; 17 | 18 | public static Date[] parseDataRange(String str) { 19 | //查询范围 20 | String[] arrays = str.split("至"); 21 | Date min = parseDate(arrays[0]); 22 | Date max = parseDate(arrays[1]); 23 | 24 | return new Date[] { min,max }; 25 | } 26 | 27 | public static Date parseDate(String str) { 28 | try { 29 | return new SimpleDateFormat(DATE_FORAMT).parse(str.trim()); 30 | } catch (ParseException e) { 31 | throw new RuntimeException(e); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/UUIDUtil.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | import java.util.UUID; 4 | 5 | public class UUIDUtil { 6 | public static String uuid() { 7 | UUID uuid = UUID.randomUUID(); 8 | String randomUUIDString = uuid.toString(); 9 | return randomUUIDString; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/ValidateConfig.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util; 2 | 3 | public class ValidateConfig { 4 | public interface ADD { 5 | } 6 | 7 | public interface UPDATE { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/DictQueryFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.core.Function; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Component; 8 | 9 | import com.ibeetl.admin.core.entity.CoreDict; 10 | import com.ibeetl.admin.core.service.CoreDictService; 11 | @Component 12 | public class DictQueryFunction { 13 | 14 | @Autowired 15 | CoreDictService dictService; 16 | public List dictDownQuery(String type) { 17 | 18 | return dictService.findAllByType(type); 19 | } 20 | 21 | 22 | public List dictListByValue(String group,String value){ 23 | 24 | return dictService.findAllByGroup(group,value); 25 | } 26 | 27 | /** 28 | * 根据字典类型和值,找到对应的字典类型定义 29 | * 数据字典在一个type下只有唯一的值 30 | * @param type 31 | * @param value 32 | * @return 33 | */ 34 | public CoreDict getDict(String type,String value) { 35 | return dictService.findCoreDict(type, value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/FileFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import java.util.Collections; 4 | import java.util.List; 5 | 6 | import org.apache.commons.lang3.StringUtils; 7 | import org.beetl.core.Context; 8 | import org.beetl.core.Function; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Component; 11 | 12 | import com.ibeetl.admin.core.file.FileItem; 13 | import com.ibeetl.admin.core.file.FileService; 14 | 15 | @Component 16 | public class FileFunction implements Function { 17 | 18 | @Autowired 19 | FileService fileService; 20 | @Override 21 | public List call(Object[] paras, Context arg1) { 22 | String attachmentId = (String)paras[0]; 23 | if(StringUtils.isEmpty(attachmentId)) { 24 | return Collections.EMPTY_LIST; 25 | } 26 | return fileService.queryByBatchId(attachmentId); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/FunAccessUrlFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.beetl.core.Context; 4 | import org.beetl.core.Function; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ibeetl.admin.core.rbac.tree.FunctionItem; 9 | import com.ibeetl.admin.core.service.CorePlatformService; 10 | 11 | /** 12 | * 通过functionId获取AccessUrl,从缓存中获取 13 | */ 14 | @Component 15 | public class FunAccessUrlFunction implements Function { 16 | 17 | @Autowired 18 | CorePlatformService platFormService; 19 | 20 | 21 | public Object call(Object[] paras, Context ctx) { 22 | FunctionItem tree = platFormService.buildFunction(); 23 | FunctionItem item = tree.findChild((Long)paras[0]); 24 | return item.getData().getAccessUrl(); 25 | 26 | } 27 | 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/FunFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.beetl.core.Context; 4 | import org.beetl.core.Function; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ibeetl.admin.core.rbac.tree.FunctionItem; 9 | import com.ibeetl.admin.core.service.CorePlatformService; 10 | 11 | /** 12 | * 通过functionId获取functionName,从缓存中获取 13 | */ 14 | @Component 15 | public class FunFunction implements Function { 16 | 17 | @Autowired 18 | CorePlatformService platFormService; 19 | 20 | 21 | public Object call(Object[] paras, Context ctx) { 22 | FunctionItem tree = platFormService.buildFunction(); 23 | FunctionItem item = tree.findChild((Long)paras[0]); 24 | return item.getName(); 25 | 26 | } 27 | 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/MenuFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.beetl.core.Context; 4 | import org.beetl.core.Function; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ibeetl.admin.core.rbac.tree.MenuItem; 9 | import com.ibeetl.admin.core.service.CorePlatformService; 10 | 11 | /** 12 | * 通过menuId获取menuName,从缓存中获取 13 | */ 14 | @Component 15 | public class MenuFunction implements Function { 16 | 17 | @Autowired 18 | CorePlatformService platFormService; 19 | 20 | 21 | public Object call(Object[] paras, Context ctx) { 22 | MenuItem tree = platFormService.buildMenu(); 23 | MenuItem item = tree.findChild((Long)paras[0]); 24 | return item.getName(); 25 | 26 | } 27 | 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/NextDayFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import java.util.Calendar; 4 | import java.util.Date; 5 | 6 | import org.beetl.core.Context; 7 | import org.beetl.core.Function; 8 | 9 | public class NextDayFunction implements Function { 10 | 11 | @Override 12 | public Object call(Object[] paras, Context ctx) { 13 | Date date = (Date)paras[0]; 14 | Calendar c = Calendar.getInstance(); 15 | c.setTime(date); 16 | c.add(Calendar.DAY_OF_YEAR, 1);// 今天+1天 17 | return c.getTime(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/OrgFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.beetl.core.Context; 4 | import org.beetl.core.Function; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ibeetl.admin.core.rbac.tree.OrgItem; 9 | import com.ibeetl.admin.core.service.CorePlatformService; 10 | 11 | import java.util.List; 12 | 13 | /** 14 | * 通过orgId获取orgName,从缓存中获取 15 | * @author xiandafu 16 | * 17 | */ 18 | @Component 19 | public class OrgFunction implements Function { 20 | 21 | @Autowired 22 | CorePlatformService platFormService; 23 | 24 | 25 | public Object call(Object[] paras, Context ctx) { 26 | OrgItem tree = platFormService.buildOrg(); 27 | OrgItem item = tree.findChild((Long)paras[0]); 28 | return item.getName(); 29 | 30 | } 31 | 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/RoleFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.beetl.core.Context; 4 | import org.beetl.core.Function; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.ibeetl.admin.core.rbac.tree.OrgItem; 9 | import com.ibeetl.admin.core.service.CoreRoleService; 10 | 11 | /** 12 | * 获取系统的所有角色列表 13 | * @author xiandafu 14 | * 15 | */ 16 | @Component 17 | public class RoleFunction implements Function { 18 | 19 | @Autowired 20 | CoreRoleService coreRoleService; 21 | 22 | 23 | public Object call(Object[] paras, Context ctx) { 24 | 25 | String type = null; 26 | if(paras.length!=0) { 27 | type = (String)paras[0]; 28 | } 29 | return coreRoleService.getAllRoles(type); 30 | 31 | } 32 | 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/SearchCondtionFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import org.beetl.core.Context; 8 | import org.beetl.core.Function; 9 | import org.beetl.ext.simulate.JsonUtil; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Component; 12 | 13 | import com.fasterxml.jackson.core.JsonProcessingException; 14 | import com.fasterxml.jackson.databind.ObjectMapper; 15 | import com.ibeetl.admin.core.annotation.Query; 16 | import com.ibeetl.admin.core.util.AnnotationUtil; 17 | 18 | /** 19 | * 描述: 通过解析注解,获取表达查询条件信息 20 | * 21 | * @author : lijiazhi 22 | */ 23 | @Component 24 | public class SearchCondtionFunction implements Function { 25 | 26 | 27 | /** 28 | * 29 | * @param paras 查询条件类名 30 | * @param ctx 31 | * @return 32 | */ 33 | @Override 34 | public Object call(Object[] paras, Context ctx) { 35 | String className = (String) paras[0]; 36 | try { 37 | List> list = AnnotationUtil.getInstance().getAnnotations(Query.class, Class.forName(className)); 38 | return list; 39 | } catch (ClassNotFoundException e ) { 40 | e.printStackTrace(); 41 | return null; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/UUIDFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.beetl.core.Context; 4 | import org.beetl.core.Function; 5 | 6 | import com.ibeetl.admin.core.util.UUIDUtil; 7 | 8 | public class UUIDFunction implements Function { 9 | 10 | @Override 11 | public String call(Object[] arg0, Context arg1) { 12 | return UUIDUtil.uuid(); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/VerifyForamtFunction.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.core.Context; 6 | import org.beetl.core.Function; 7 | 8 | import com.ibeetl.admin.core.gen.model.Verify; 9 | 10 | /** 11 | * 格式化校验集合 12 | */ 13 | public class VerifyForamtFunction implements Function { 14 | 15 | @Override 16 | public String call(Object[] arg0, Context arg1) { 17 | 18 | StringBuilder sb = new StringBuilder(""); 19 | 20 | if(arg0[0] instanceof List){ 21 | List list = (List)arg0[0]; 22 | for (int i = 0; i < list.size(); i++) { 23 | Verify verify = list.get(i); 24 | if(i < list.size() - 1){ 25 | sb.append(verify.getName()+"|"); 26 | }else{ 27 | sb.append(verify.getName()); 28 | } 29 | } 30 | } 31 | 32 | return sb.toString(); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/XXSDefenderFormat.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.beetl; 2 | 3 | import org.apache.commons.lang3.StringEscapeUtils; 4 | import org.apache.commons.lang3.StringUtils; 5 | import org.beetl.core.Format; 6 | 7 | public class XXSDefenderFormat implements Format { 8 | 9 | @Override 10 | public Object format(Object data, String pattern) { 11 | if(data==null){ 12 | return data; 13 | } 14 | 15 | if(data instanceof String){ 16 | String js = (String)data; 17 | String str = StringEscapeUtils.escapeHtml4(js); 18 | if(StringUtils.isNotEmpty(pattern)){ 19 | int len = Integer.parseInt(pattern); 20 | if(str.length()>len){ 21 | str = str.substring(0, len); 22 | } 23 | 24 | } 25 | return str; 26 | }else{ 27 | return data; 28 | } 29 | 30 | } 31 | 32 | public static void main(String[] args){ 33 | String js = "中文
"; 34 | System.out.println(js); 35 | js = StringEscapeUtils.escapeHtml4(js); 36 | System.out.println(js); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/enums/CoreDictType.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.enums; 2 | 3 | /** 4 | * @author : xiandafu 5 | */ 6 | public class CoreDictType { 7 | 8 | public static final String ORG_TYPE="org_type"; 9 | public static final String USER_STATE="user_state"; 10 | public static final String DEL_FLAG="del_flag"; 11 | public static final String ROLE_TYPE="role_type"; 12 | public static final String MENU_TYPE="menu_type"; 13 | public static final String FUNCTION_TYPE="function_type"; 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/enums/DelFlagEnum.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.enums; 2 | 3 | import org.beetl.sql.core.annotatoin.EnumMapping; 4 | 5 | /** 6 | * 描述:数据是否被逻辑删除 7 | * @author : xiandafu 8 | */ 9 | @EnumMapping("value") 10 | public enum DelFlagEnum { 11 | NORMAL(0), DELETED(1); 12 | 13 | private int value; 14 | 15 | DelFlagEnum(int value) { 16 | this.value = value; 17 | } 18 | 19 | public static DelFlagEnum getEnum(int value) { 20 | for (DelFlagEnum type : DelFlagEnum.values()) { 21 | if (type.value == value) { 22 | return type; 23 | } 24 | } 25 | return null; 26 | } 27 | 28 | public int getValue() { 29 | return value; 30 | } 31 | 32 | @Override 33 | public String toString() { 34 | return String.valueOf(this.value); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/enums/GeneralStateEnum.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.enums; 2 | 3 | import org.beetl.sql.core.annotatoin.EnumMapping; 4 | 5 | /** 6 | * 描述:数据是否有效 7 | * 8 | * @author : lijiazhi 9 | */ 10 | @EnumMapping("value") 11 | public enum GeneralStateEnum { 12 | /** 13 | * 启用 14 | */ 15 | ENABLE("S1"), 16 | /** 17 | * 禁用 18 | */ 19 | DISABLE("S0"); 20 | 21 | private String value; 22 | 23 | GeneralStateEnum(String value) { 24 | this.value = value; 25 | } 26 | 27 | public String getValue() { 28 | return value; 29 | } 30 | 31 | public void setValue(String value) { 32 | this.value = value; 33 | } 34 | 35 | public static GeneralStateEnum getEnum(String value) { 36 | for (GeneralStateEnum stateEnum : GeneralStateEnum.values()) { 37 | if (stateEnum.value == value) { 38 | return stateEnum; 39 | } 40 | } 41 | return null; 42 | } 43 | 44 | @Override 45 | public String toString() { 46 | return String.valueOf(this.value); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/util/enums/RoleTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.util.enums; 2 | 3 | import org.beetl.sql.core.annotatoin.EnumMapping; 4 | 5 | /** 6 | * 描述: 工作流角色 7 | * 8 | * @author : Administrator 9 | */ 10 | @EnumMapping("value") 11 | public enum RoleTypeEnum { 12 | 13 | /** 14 | * 操作角色 15 | */ 16 | ACCESS("R0"), 17 | /** 18 | * 工作流角色 19 | */ 20 | WORKFLOW("R1"); 21 | 22 | 23 | private String value; 24 | 25 | RoleTypeEnum(String value) { 26 | this.value = value; 27 | } 28 | 29 | public String getValue() { 30 | return value; 31 | } 32 | 33 | public void setValue(String value) { 34 | this.value = value; 35 | } 36 | 37 | public static RoleTypeEnum getEnum(String value) { 38 | for (RoleTypeEnum stateEnum : RoleTypeEnum.values()) { 39 | if (stateEnum.value == value) { 40 | return stateEnum; 41 | } 42 | } 43 | return null; 44 | } 45 | 46 | @Override 47 | public String toString() { 48 | return String.valueOf(this.value); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/JsonReturnCode.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web; 2 | 3 | /** 4 | * 描述: json格式数据返回码 5 | *
    6 | *
  • 100 : 用户未登录
  • 7 | *
  • 200 : 成功
  • 8 | *
  • 300 : 失败
  • 9 | *
10 | * @author : Administrator 11 | */ 12 | public enum JsonReturnCode { 13 | 14 | NOT_LOGIN("401","未登录"), 15 | SUCCESS ("200","成功"), 16 | FAIL ("500","内部失败"), 17 | ACCESS_ERROR ("403","禁止访问"), 18 | NOT_FOUND ("404","页面未发现"); 19 | private String code; 20 | private String desc; 21 | 22 | JsonReturnCode(String code, String desc) { 23 | this.code = code; 24 | this.desc = desc; 25 | } 26 | 27 | public String getCode() { 28 | return code; 29 | } 30 | 31 | public void setCode(String code) { 32 | this.code = code; 33 | } 34 | 35 | public String getDesc() { 36 | return desc; 37 | } 38 | 39 | public void setDesc(String desc) { 40 | this.desc = desc; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/SimulateController.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | 6 | import org.beetl.ext.simulate.WebSimulate; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Controller; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | /** 11 | * 模拟所有还未实现的视图,或者json,或者直接访问相应的html页面 12 | * @author xiandafu 13 | * 14 | */ 15 | @Controller 16 | public class SimulateController { 17 | @Autowired 18 | WebSimulate webSimulate; 19 | 20 | @RequestMapping("/**/*.do") 21 | public void simluateWeb(HttpServletRequest request, HttpServletResponse response) { 22 | response.setContentType("text/html;charset=UTF-8"); 23 | webSimulate.execute(request, response); 24 | } 25 | 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/dto/FunctionNodeView.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.dto; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class FunctionNodeView { 7 | 8 | private String name; 9 | private String code; 10 | private String accessUrl; 11 | private Long id; 12 | 13 | String icon; 14 | List children=new ArrayList(); 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | public void setName(String name) { 20 | this.name = name; 21 | } 22 | public String getCode() { 23 | return code; 24 | } 25 | public void setCode(String code) { 26 | this.code = code; 27 | } 28 | public Long getId() { 29 | return id; 30 | } 31 | public void setId(Long id) { 32 | this.id = id; 33 | } 34 | public List getChildren() { 35 | return children; 36 | } 37 | public void setChildren(List children) { 38 | this.children = children; 39 | } 40 | 41 | public String getIcon() { 42 | return icon; 43 | } 44 | public void setIcon(String icon) { 45 | this.icon = icon; 46 | } 47 | public String getAccessUrl() { 48 | return accessUrl; 49 | } 50 | public void setAccessUrl(String accessUrl) { 51 | this.accessUrl = accessUrl; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/dto/MenuNodeView.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.dto; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class MenuNodeView { 7 | 8 | private String name; 9 | private String code; 10 | private Long id; 11 | private String path; 12 | private String icon; 13 | private List children = new ArrayList(); 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | 19 | public void setName(String name) { 20 | this.name = name; 21 | } 22 | 23 | public String getCode() { 24 | return code; 25 | } 26 | 27 | public void setCode(String code) { 28 | this.code = code; 29 | } 30 | 31 | public Long getId() { 32 | return id; 33 | } 34 | 35 | public void setId(Long id) { 36 | this.id = id; 37 | } 38 | 39 | public List getChildren() { 40 | return children; 41 | } 42 | 43 | public void setChildren(List children) { 44 | this.children = children; 45 | } 46 | 47 | public String getPath() { 48 | return path; 49 | } 50 | 51 | public void setPath(String path) { 52 | this.path = path; 53 | } 54 | 55 | public String getIcon() { 56 | return icon; 57 | } 58 | 59 | public void setIcon(String icon) { 60 | this.icon = icon; 61 | } 62 | 63 | } 64 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/dto/SystemMenuView.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.dto; 2 | 3 | public class SystemMenuView { 4 | 5 | String code; 6 | Long id; 7 | String name; 8 | String icon; 9 | 10 | public SystemMenuView(Long id, String code, String name) { 11 | this.id = id; 12 | this.code = code; 13 | this.name = name; 14 | } 15 | 16 | public String getCode() { 17 | return code; 18 | } 19 | 20 | public void setCode(String code) { 21 | this.code = code; 22 | } 23 | 24 | public Long getId() { 25 | return id; 26 | } 27 | 28 | public void setId(Long id) { 29 | this.id = id; 30 | } 31 | 32 | public String getName() { 33 | return name; 34 | } 35 | 36 | public void setName(String name) { 37 | this.name = name; 38 | } 39 | 40 | public String getIcon() { 41 | return icon; 42 | } 43 | 44 | public void setIcon(String icon) { 45 | this.icon = icon; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/query/PageParam.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.query; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnore; 4 | import org.beetl.sql.core.engine.PageQuery; 5 | 6 | /** 7 | * 子类继承此类获得翻页功能 8 | * @author lijiazhi 9 | */ 10 | public class PageParam { 11 | private Integer page = null; 12 | private Integer limit = null; 13 | 14 | public Integer getPage() { 15 | return page; 16 | } 17 | 18 | public void setPage(Integer page) { 19 | this.page = page; 20 | } 21 | 22 | @JsonIgnore 23 | public PageQuery getPageQuery() { 24 | PageQuery query = new PageQuery(); 25 | query.setParas(this); 26 | if (page != null) { 27 | query.setPageNumber(page); 28 | query.setPageSize(limit); 29 | } 30 | return query; 31 | } 32 | 33 | public Integer getLimit() { 34 | return limit; 35 | } 36 | 37 | public void setLimit(Integer limit) { 38 | this.limit = limit; 39 | } 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/query/QueryData.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.query; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class QueryData { 7 | List all = new ArrayList<>(); 8 | List defaultItems = new ArrayList<>(); 9 | public List getQueryItems(){ 10 | return all; 11 | } 12 | 13 | public List getDefaultItems(){ 14 | return defaultItems; 15 | } 16 | 17 | public void addQueryItem(QueryItem item){ 18 | all.add(item); 19 | if(item.isShow()){ 20 | defaultItems.add(item); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/query/QueryItem.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.query; 2 | 3 | /** 4 | * 查询选项 5 | * @author lijiazhi 6 | * 7 | */ 8 | public class QueryItem { 9 | private String fieldName; 10 | private String name; 11 | private int type =1 ; 12 | private boolean show=false; 13 | private String dictName=""; 14 | private boolean fuzzy = false; 15 | private String group = null; 16 | 17 | public String getFieldName() { 18 | return fieldName; 19 | } 20 | public void setFieldName(String fieldName) { 21 | this.fieldName = fieldName; 22 | } 23 | public String getName() { 24 | return name; 25 | } 26 | public void setName(String name) { 27 | this.name = name; 28 | } 29 | public int getType() { 30 | return type; 31 | } 32 | public void setType(int type) { 33 | this.type = type; 34 | } 35 | public boolean isShow() { 36 | return show; 37 | } 38 | public void setShow(boolean show) { 39 | this.show = show; 40 | } 41 | public String getDictName() { 42 | return dictName; 43 | } 44 | 45 | public void setDictName(String dictName) { 46 | this.dictName = dictName; 47 | } 48 | public boolean isFuzzy() { 49 | return fuzzy; 50 | } 51 | public void setFuzzy(boolean fuzzy) { 52 | this.fuzzy = fuzzy; 53 | } 54 | public String getGroup() { 55 | return group; 56 | } 57 | public void setGroup(String group) { 58 | this.group = group; 59 | } 60 | 61 | 62 | } 63 | -------------------------------------------------------------------------------- /admin-core/src/main/java/com/ibeetl/admin/core/web/query/QueryParser.java: -------------------------------------------------------------------------------- 1 | package com.ibeetl.admin.core.web.query; 2 | 3 | import java.lang.reflect.Field; 4 | import java.util.concurrent.ConcurrentHashMap; 5 | 6 | import com.ibeetl.admin.core.annotation.Query; 7 | import com.ibeetl.admin.core.util.ClassLoaderUtil; 8 | 9 | /** 10 | * 页面查询条件 11 | * @author lijiazhi 12 | * 13 | */ 14 | public class QueryParser { 15 | ConcurrentHashMap cache = new ConcurrentHashMap<> (); 16 | public QueryData getData(String querClass){ 17 | if(cache.containsKey(querClass)){ 18 | return cache.get(querClass); 19 | } 20 | 21 | Class cls = ClassLoaderUtil.loadClass(querClass); 22 | Field[] fs =cls.getDeclaredFields(); 23 | QueryData data = new QueryData(); 24 | for(Field f:fs){ 25 | Query query = f.getAnnotation(Query.class); 26 | 27 | if(query==null){ 28 | continue ; 29 | } 30 | QueryItem item = new QueryItem(); 31 | item.setFieldName(f.getName()); 32 | item.setName(query.name()); 33 | item.setShow(query.display()); 34 | item.setType(query.type()); 35 | item.setDictName(query.dict()); 36 | item.setFuzzy(query.fuzzy()); 37 | item.setGroup(query.group()); 38 | data.addQueryItem(item); 39 | } 40 | 41 | cache.put(querClass, data); 42 | return data; 43 | 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 增加 7 | 编辑 8 | 删除 9 | @if(entity.includeExcel){ 10 | 导出 11 | 导入 12 | @} 13 |
14 | 15 |
16 | 17 | 25 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/java/dao.java: -------------------------------------------------------------------------------- 1 | package ${package}; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.sql.core.annotatoin.SqlResource; 6 | import org.beetl.sql.core.mapper.BaseMapper; 7 | import org.beetl.sql.core.engine.PageQuery; 8 | 9 | import ${basePackage}.entity.*; 10 | 11 | /** 12 | * ${entity.displayName} Dao 13 | */ 14 | \@SqlResource("${entity.system}.${entity.code}") 15 | public interface ${entity.name}Dao extends BaseMapper<${entity.name}>{ 16 | public PageQuery<${entity.name}> queryByCondition(PageQuery query); 17 | public void batchDel${entity.name}ByIds( List ids); 18 | } -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/java/query.java: -------------------------------------------------------------------------------- 1 | package ${package}; 2 | 3 | import com.ibeetl.admin.core.annotation.Query; 4 | import com.ibeetl.admin.core.util.enums.CoreDictType; 5 | import com.ibeetl.admin.core.web.query.PageParam; 6 | import java.util.Date; 7 | /** 8 | *${entity.displayName}查询 9 | */ 10 | public class ${entity.name}Query extends PageParam { 11 | @for(attr in attrs) { 12 | @if(isNotEmpty(attr.dictType)) { 13 | \@Query(name = "${attr.displayName}", display = true,type=Query.TYPE_DICT,dict="${attr.dictType}") 14 | @}else { 15 | \@Query(name = "${attr.displayName}", display = true) 16 | @} 17 | private ${attr.javaType} ${attr.name}; 18 | @} 19 | @for(attr in attrs) { 20 | public ${attr.javaType} get${upperFirst(attr.name)}(){ 21 | return ${attr.name}; 22 | } 23 | public void set${upperFirst(attr.name)}(${attr.javaType} ${attr.name} ){ 24 | this.${attr.name} = ${attr.name}; 25 | } 26 | @} 27 | 28 | } 29 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/java/service.java: -------------------------------------------------------------------------------- 1 | package ${package}; 2 | 3 | import java.util.List; 4 | 5 | import org.beetl.sql.core.engine.PageQuery; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | import org.springframework.transaction.annotation.Transactional; 9 | 10 | import com.ibeetl.admin.core.util.PlatformException; 11 | 12 | import ${basePackage}.dao.${entity.name}Dao; 13 | import ${basePackage}.entity.${entity.name}; 14 | import com.ibeetl.admin.core.service.BaseService; 15 | 16 | /** 17 | * ${entity.displayName} Service 18 | */ 19 | 20 | \@Service 21 | \@Transactional 22 | public class ${entity.name}Service extends BaseService<${entity.name}>{ 23 | 24 | \@Autowired private ${entity.name}Dao ${entity.code}Dao; 25 | 26 | public PageQuery<${entity.name}>queryByCondition(PageQuery query){ 27 | PageQuery ret = ${entity.code}Dao.queryByCondition(query); 28 | queryListAfter(ret.getList()); 29 | return ret; 30 | } 31 | 32 | public void batchDel${entity.name}(List ids){ 33 | try { 34 | ${entity.code}Dao.batchDel${entity.name}ByIds(ids); 35 | } catch (Exception e) { 36 | throw new PlatformException("批量删除${entity.displayName}失败", e); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/js/add.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','${entity.code}Api'], function(exports) { 2 | var form = layui.form; 3 | var ${entity.code}Api = layui.${entity.code}Api; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#addForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#addButton").click(function(){ 12 | form.on('submit(form)', function(){ 13 | ${entity.code}Api.add${upperFirst(entity.code)}($('#addForm'),function(){ 14 | parent.window.dataReload(); 15 | Common.info("添加成功"); 16 | Lib.closeFrame(); 17 | }); 18 | }); 19 | }); 20 | 21 | $("#addButton-cancel").click(function(){ 22 | Lib.closeFrame(); 23 | }); 24 | } 25 | 26 | } 27 | exports('add',view); 28 | }); -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/js/del.js: -------------------------------------------------------------------------------- 1 | layui.define(['table', '${entity.code}Api'], function(exports) { 2 | var ${entity.code}Api = layui.${entity.code}Api; 3 | var table=layui.table; 4 | var view = { 5 | init:function(){ 6 | }, 7 | delBatch:function(){ 8 | var data = Common.getMoreDataFromTable(table,"${entity.code}Table"); 9 | if(data==null){ 10 | return ; 11 | } 12 | Common.openConfirm("确认要删除这些${entity.displayName}?",function(){ 13 | var ids =Common.concatBatchId(data,"${entity.idAttribute.name}"); 14 | ${entity.code}Api.del(ids,function(){ 15 | Common.info("删除成功"); 16 | dataReload(); 17 | }) 18 | }) 19 | } 20 | } 21 | exports('del',view); 22 | 23 | }); -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/js/edit.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form', 'laydate', 'table','${entity.code}Api'], function(exports) { 2 | var form = layui.form; 3 | var ${entity.code}Api = layui.${entity.code}Api; 4 | var index = layui.index; 5 | var view = { 6 | init:function(){ 7 | Lib.initGenrealForm($("#updateForm"),form); 8 | this.initSubmit(); 9 | }, 10 | initSubmit:function(){ 11 | $("#updateButton").click(function(){ 12 | form.on('submit(form)', function(){ 13 | ${entity.code}Api.update${upperFirst(entity.code)}($('#updateForm'),function( 14 | parent.window.dataReload(); 15 | Common.info("更新成功"); 16 | Lib.closeFrame(); 17 | }); 18 | }); 19 | }); 20 | $("#updateButton-cancel").click(function(){ 21 | Lib.closeFrame(); 22 | }); 23 | 24 | } 25 | exports('edit',view); 26 | 27 | }); -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/js/entityApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | update${upperFirst(entity.code)}:function(form,callback){ 5 | Lib.submitForm("/${target.urlBase}/${entity.code}/update.json",form,{},callback) 6 | }, 7 | add${upperFirst(entity.code)}:function(form,callback){ 8 | Lib.submitForm("/${target.urlBase}/${entity.code}/add.json",form,{},callback) 9 | }, 10 | del:function(ids,callback){ 11 | Common.post("/${target.urlBase}/${entity.code}/delete.json",{"ids":ids},function(){ 12 | callback(); 13 | }) 14 | } 15 | @if(entity.includeExcel){ 16 | , 17 | exportExcel:function(form,callback){ 18 | var formPara = form.serializeJson(); 19 | Common.post("/${target.urlBase}/${entity.code}/excel/export.json", formPara, function(fileId) { 20 | callback(fileId); 21 | }) 22 | } 23 | @} 24 | 25 | }; 26 | exports('${entity.code}Api',api); 27 | }); -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/maven/main.java: -------------------------------------------------------------------------------- 1 | package ${basePackage}; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; 6 | import org.springframework.cache.annotation.EnableCaching; 7 | import org.springframework.context.annotation.ComponentScan; 8 | import org.springframework.web.WebApplicationInitializer; 9 | 10 | @SpringBootApplication 11 | @EnableCaching 12 | @ComponentScan(basePackages= {"${basePackage}","com.ibeetl.admin"}) 13 | public class MainApplication extends SpringBootServletInitializer implements WebApplicationInitializer { 14 | 15 | public static void main(String[] args) { 16 | 17 | SpringApplication.run(MainApplication.class, args); 18 | } 19 | 20 | 21 | 22 | } -------------------------------------------------------------------------------- /admin-core/src/main/resources/codeTemplate/md/entity.md: -------------------------------------------------------------------------------- 1 | queryByCondition 2 | === 3 | 4 | 5 | select 6 | \@pageTag(){ 7 | t.* 8 | \@} 9 | from ${entity.tableName} t 10 | where 1=1 11 | \@//数据权限,该sql语句功能点 12 | and #function("${entity.code}.query")# 13 | @for(attr in entity.list){ 14 | @if(attr.showInQuery){ 15 | \@if(!isEmpty(${attr.name})){ 16 | and t.${attr.colName} =#${attr.name}# 17 | \@} 18 | @} 19 | @} 20 | 21 | 22 | 23 | 24 | batchDel${entity.name}ByIds 25 | === 26 | 27 | * 批量逻辑删除 28 | 29 | update ${entity.tableName} set del_flag = 1 where ${entity.idAttribute.colName} in( #join(ids)#) 30 | 31 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreDict.md: -------------------------------------------------------------------------------- 1 | findAllList 2 | === 3 | select * from core_dict where del_flag = 0 4 | @if(!isEmpty(type)){ 5 | and type = #type# 6 | @} 7 | ORDER BY type, sort DESC 8 | 9 | findTypeList 10 | === 11 | SELECT 12 | DISTINCT (type),type_name 13 | FROM core_dict 14 | WHERE del_flag = #delFlag# 15 | ORDER BY type 16 | 17 | 18 | 19 | findChildByParent 20 | === 21 | SELECT 22 | * 23 | FROM core_dict 24 | WHERE 25 | parent = #id# and del_flag = 0 order by sort DESC 26 | 27 | 28 | bathDelByValue 29 | === 30 | update core_dict set del_flag =1 where value in in ( #join(values)#) 31 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreFunction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/sql/core/coreFunction.md -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreMenu.md: -------------------------------------------------------------------------------- 1 | clearMenuFunction 2 | === 3 | 4 | * 当功能点被删除的时候,将菜单对应的功能列表设置为空 5 | 6 | update core_menu set FUNCTION_ID=null where FUNCTION_ID in (#join(functionIds)#) 7 | 8 | queryByCondtion 9 | =============== 10 | * 根据条件查询 11 | 12 | 13 | 14 | allMenuWithURL 15 | === 16 | 17 | * 获得菜单和对应功能点的URL 18 | 19 | select m.*,f.access_url from core_menu m left join core_function f on m.function_id=f.id 20 | 21 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreOrg.md: -------------------------------------------------------------------------------- 1 | queryOrgByUser 2 | === 3 | 4 | * 根据用户id查询可能所在的部门,考虑到兼职部门 5 | 6 | select * from core_org where id in ( select org_id from core_user_role where user_id=#userId# group by org_id) and del_flag = 0 order by id desc 7 | 8 | queryAllOrgCode 9 | === 10 | 11 | * 根据id对应的code,目前用于传递给工作流系统 12 | 13 | select code from core_org where id in( #join(orgIds)#) 14 | 15 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreRole.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/sql/core/coreRole.md -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreRoleFunction.md: -------------------------------------------------------------------------------- 1 | getRoleFunction 2 | === 3 | 4 | * 查询指定的登录用户是否能访问某个功能 5 | 6 | select * from core_role_function where role_id in ( 7 | select role_id from core_user_role where user_id =#userId# and org_id=#orgId# 8 | ) and FUNCTION_ID = (select id from core_function where code=#code#) 9 | 10 | 11 | 12 | getRoleChildrenFunction 13 | === 14 | 15 | * 查询指定角色和所在机构的人某个功能下的子功能列表 16 | 17 | select sf.code from core_role_function rf left join core_function sf on rf.function_id=sf.id where rf.role_id in ( 18 | select role_id from core_user_role where user_id =#userId# and org_id=#orgId# 19 | ) and rf.FUNCTION_ID in (select id from core_function where parent_id= #parentId# ) 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreRoleMenu.md: -------------------------------------------------------------------------------- 1 | queryMenuByUser 2 | === 3 | 4 | * 根据用户和登录机构来获取能访问的菜单列表 5 | 6 | select menu_id from CORE_ROLE_MENU rm where rm.role_id in (select role_id from core_user_role where user_id=#userId# and org_id=#orgId#) 7 | 8 | deleteRoleMenu 9 | === 10 | 11 | * 删除菜单对应的角色关系 12 | 13 | delete from CORE_ROLE_MENU where menu_id in ( #join(ids)# ) 14 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreUser.md: -------------------------------------------------------------------------------- 1 | getUserByRole 2 | === 3 | 4 | select u.* from core_user u,sys_role r,core_user_role ur 5 | where r.code= #roleCode# and r.ID=ur.ROLE_ID and ur.USER_ID=u.ID 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreUserRole.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/sql/core/coreUserRole.md -------------------------------------------------------------------------------- /admin-core/src/main/resources/sql/core/coreWorkflow.md: -------------------------------------------------------------------------------- 1 | queryUsersByRole 2 | === 3 | 4 | * 根据角色和组织机构查询用,注意到用户兼职情况,因此实际部门应该是work_org_id 5 | 6 | select u.*,ur.org_id work_org_id from CORE_USER_ROLE ur,CORE_User u 7 | where ur.role_id = #roleId# and ur.org_id in( #join(orgs)#) and ur.user_id=u.id -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/js/core/codeGen/codeApi.js: -------------------------------------------------------------------------------- 1 | /*访问后台的代码*/ 2 | layui.define([], function(exports) { 3 | var api={ 4 | gen:function(callback){ 5 | Common.post("/core/codeGen/getPath.json", {}, function(path){ 6 | Common.openPrompt("代码保存路径?",path,function(newPath){ 7 | var url ="/core/codeGen/gen.json"; 8 | Lib.submitForm(url,$('#updateForm'),{path:newPath},callback) 9 | }) 10 | }); 11 | }, 12 | previewHtml:function(callback){ 13 | var form = $('#updateForm'); 14 | var formPara = form.serializeJson(); 15 | Common.post("/core/codeGen/html.json", formPara, callback); 16 | }, 17 | previewJs:function(callback){ 18 | var form = $('#updateForm'); 19 | var formPara = form.serializeJson(); 20 | Common.post("/core/codeGen/js.json", formPara, callback); 21 | }, 22 | previewJava:function(callback){ 23 | var form = $('#updateForm'); 24 | var formPara = form.serializeJson(); 25 | Common.post("/core/codeGen/java.json", formPara, callback); 26 | }, 27 | previewSql:function(callback){ 28 | var form = $('#updateForm'); 29 | var formPara = form.serializeJson(); 30 | Common.post("/core/codeGen/sql.json", formPara, callback); 31 | }, 32 | genProject:function(form,callback){ 33 | var formPara = form.serializeJson(); 34 | Common.post("/core/codeGen/projectGen.json", formPara, callback); 35 | } 36 | 37 | }; 38 | 39 | exports('codeApi',api); 40 | 41 | }); -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/js/core/codeGen/project.js: -------------------------------------------------------------------------------- 1 | layui.define([ 'form','codeApi'], function(exports) { 2 | var form = layui.form; 3 | var codeApi = layui.codeApi; 4 | 5 | var view = { 6 | init:function(){ 7 | this.initSubmit(); 8 | }, 9 | initSubmit:function(){ 10 | $("#genProject").click(function(){ 11 | codeApi.genProject($('#projectForm'),function(){ 12 | Common.info("生成项目成功,请用IDE导入新的项目"); 13 | }); 14 | 15 | 16 | }); 17 | 18 | $("#genProject-cancel").click(function(){ 19 | Lib.closeFrame(); 20 | }); 21 | 22 | } 23 | } 24 | 25 | 26 | 27 | exports('project',view); 28 | 29 | }); -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.5 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/font/iconfont.eot -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/font/iconfont.woff -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/0.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/1.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/10.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/11.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/12.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/13.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/14.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/15.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/16.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/17.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/18.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/19.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/2.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/20.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/21.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/22.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/23.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/24.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/25.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/26.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/27.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/28.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/29.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/3.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/30.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/31.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/32.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/33.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/34.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/35.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/36.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/37.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/38.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/39.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/4.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/40.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/41.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/42.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/43.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/44.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/45.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/46.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/47.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/48.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/49.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/5.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/50.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/51.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/52.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/53.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/54.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/55.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/56.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/57.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/58.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/59.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/6.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/60.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/61.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/62.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/63.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/64.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/65.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/66.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/67.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/68.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/69.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/7.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/70.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/71.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/8.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/layui/images/face/9.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.5 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/1_close.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/1_open.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/2.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/3.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/4.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/5.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/6.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/7.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/8.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/diy/9.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/line_conn.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/loading.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/zTreeStandard.gif -------------------------------------------------------------------------------- /admin-core/src/main/resources/static/plugins/ztree/css/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/admin-core/src/main/resources/static/plugins/ztree/css/img/zTreeStandard.png -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/query/fun.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/query/menu.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/query/org.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/query/role.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 |
6 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/simpleUpload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 点击下载模板 5 |
6 | 7 |
8 | 9 |
10 | 拖拽上传 11 |
12 |
13 | 14 |

点击上传,或将文件拖拽到此处

15 |
16 | 17 | 18 | 19 |
20 | 21 | 22 | 46 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/accessButton.tag.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/closeButton.tag.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
-------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/functionInput.tag.html: -------------------------------------------------------------------------------- 1 | 10 | 19 |
20 | 21 | 22 |
23 | 选择 24 |
25 |
26 |
27 | 28 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/menuFunctionInput.tag.html: -------------------------------------------------------------------------------- 1 | 10 | 18 |
19 | 20 | 21 |
22 | 选择 23 |
24 |
25 |
26 | 27 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/menuInput.tag.html: -------------------------------------------------------------------------------- 1 | 10 | 19 |
20 | 21 | 22 |
23 | 选择 24 |
25 |
26 |
27 | 28 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/orgInput.tag.html: -------------------------------------------------------------------------------- 1 | 10 | 20 |
21 | 22 | 23 |
24 | 选择 25 |
26 |
27 |
28 | 29 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/roleInput.tag.html: -------------------------------------------------------------------------------- 1 | 4 |
5 | 16 |
-------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/simpleDataSelect.tag.html: -------------------------------------------------------------------------------- 1 | 6 |
7 | 18 | 19 | 21 | 22 | 23 | 32 | 33 |
34 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/common/tag/submitButtons.tag.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 |
6 |
-------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/core/codeGen/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 编辑 5 | 刷新 6 |
7 |
8 | 9 | 17 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/core/codeGen/project.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 | 6 |
7 | 8 |
9 |
10 | 11 |
12 | 13 |
14 | 15 |
16 |
17 | 18 | 19 |
20 | 21 |
22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 38 | 39 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/error.html: -------------------------------------------------------------------------------- 1 | 2 |

ErrorCode:${status}

3 |
Message:${errorMessage}
4 |
RequestPath:${requestPath}
5 | 6 | 7 | 此错误信息来自 error.html文件,通过CustomErrorController.java统一处理 8 | -------------------------------------------------------------------------------- /admin-core/src/main/resources/templates/help.html: -------------------------------------------------------------------------------- 1 | 2 |
本系统演示了Spring Boot 搭建系统开发框架,能构建适合集团规模的系统,也能搭建小微系统
3 |
4 | 配置: 5 |
6 |
7 | 搭建子系统 8 |
9 | 10 |
11 | 禁止缓存,为了开发方便,需要禁止JS缓存 12 |
-------------------------------------------------------------------------------- /doc/readme/codePorject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/codePorject.png -------------------------------------------------------------------------------- /doc/readme/codeconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/codeconfig.png -------------------------------------------------------------------------------- /doc/readme/codegen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/codegen.png -------------------------------------------------------------------------------- /doc/readme/codegen2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/codegen2.png -------------------------------------------------------------------------------- /doc/readme/codeoverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/codeoverview.png -------------------------------------------------------------------------------- /doc/readme/data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/data.png -------------------------------------------------------------------------------- /doc/readme/excelExport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/excelExport.png -------------------------------------------------------------------------------- /doc/readme/role.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/role.png -------------------------------------------------------------------------------- /doc/readme/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/doc/readme/user.png -------------------------------------------------------------------------------- /lib/mysql-connector-java-6.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/lib/mysql-connector-java-6.0.5.jar -------------------------------------------------------------------------------- /lib/ojdbc6-11.2.0.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hdhong/springboot-plus/24072bb0f7d2c00d596265735eb99a0aea8270d4/lib/ojdbc6-11.2.0.1.0.jar -------------------------------------------------------------------------------- /lib/readme.md: -------------------------------------------------------------------------------- 1 | oracle 先本地安装驱动,进入当前目录 2 | 3 | 4 | mvn install:install-file -Dfile=ojdbc6-11.2.0.1.0.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar 5 | 6 | 7 | 8 | com.oracle 10 | ojdbc6 11 | 11.2.0 12 | 13 | 14 | -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- 1 | # must be unique in a given SonarQube instance 2 | sonar.projectKey=starter 3 | # this is the name displayed in the SonarQube UI 4 | sonar.projectName=springboot-plus 5 | sonar.projectVersion=1.0 6 | 7 | # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. 8 | # Since SonarQube 4.2, this property is optional if sonar.modules is set. 9 | # If not set, SonarQube starts looking for source code from the directory containing 10 | # the sonar-project.properties file. 11 | sonar.sources=admin-core/src/main/java,admin-console/src/main/java 12 | 13 | # Encoding of the source code. Default is default system encoding 14 | sonar.sourceEncoding=UTF-8 --------------------------------------------------------------------------------