From edf2bc6f41c9784e9cdccc9b569a7091a5a5a438 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期五, 23 九月 2022 16:10:07 +0800 Subject: [PATCH] Merge branch 'zigonggao_dev' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into huacheng_test --- flower_city/src/main/java/com/dg/core/WMApplication.java | 19 flower_city/src/main/java/com/dg/core/annotation/Authorization.java | 14 flower_city/src/main/java/com/dg/core/db/gen/entity/TransactionEvent.java | 262 + flower_city/src/main/resources/mapper/ClassifyAdministrationMapper.xml | 104 flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java | 146 flower_city/src/main/java/com/dg/core/db/gen/mapper/SysUserMapper.java | 62 flower_city/src/main/java/com/dg/core/service/ISysUserService.java | 53 springcloud_k8s_panzhihuazhihuishequ/grid_backstage/grid_backstage.iml | 6 flower_city/src/main/java/com/dg/core/service/impl/SlideshowServiceImpl.java | 78 flower_city/src/main/java/com/dg/core/MvcConfig.java | 33 flower_city/src/main/java/com/dg/core/util/TableDataInfo.java | 85 flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java | 52 flower_city/src/main/java/com/dg/core/db/manual/pojo/QueryResults.java | 28 flower_city/src/main/java/com/dg/core/db/manual/pojo/RecommendResult.java | 24 flower_city/src/main/java/com/dg/core/db/gen/AjaxResult.java | 163 flower_city/src/main/java/com/dg/core/exception/file/SpringUtils.java | 136 flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java | 116 springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml | 26 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDynServiceImpl.java | 2 flower_city/src/main/java/com/dg/core/service/IKeywordService.java | 48 flower_city/src/main/java/com/dg/core/db/gen/mapper/RoleManagementMapper.java | 54 flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java | 229 + springcloud_k8s_panzhihuazhihuishequ/service_grid/service_grid.iml | 7 flower_city/src/main/java/com/dg/core/file/FileTypeUploadUtils.java | 94 flower_city/src/main/java/com/dg/core/db/gen/entity/OrganizationChartEntity.java | 122 flower_city/src/main/resources/mapper/GuideEvolveMapper.xml | 119 flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java | 200 + flower_city/src/main/resources/mapper/KeywordMapper.xml | 104 flower_city/src/main/java/com/dg/core/service/IOrganizationChartService.java | 44 flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java | 79 flower_city/src/main/java/com/dg/core/exception/UtilException.java | 26 flower_city/src/main/java/com/dg/core/db/manual/mapper/util/PageUtils.java | 28 flower_city/src/main/resources/mapper/MenuMapper.xml | 90 flower_city/src/main/java/com/dg/core/controller/SlideshowController.java | 79 flower_city/src/main/java/com/dg/core/exception/file/MessageUtils.java | 25 flower_city/src/main/resources/mapper/SlideshowMapper.xml | 14 flower_city/src/main/java/com/dg/core/controller/CommonController.java | 140 flower_city/src/main/resources/mapper/AgreementMapper.xml | 26 flower_city/src/main/java/com/dg/core/service/ISlideshowService.java | 55 flower_city/src/main/java/com/dg/core/exception/GlobalException.java | 58 flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java | 74 flower_city/src/main/java/com/dg/core/db/gen/entity/GuideEvolveEntity.java | 108 flower_city/src/main/java/com/dg/core/db/gen/mapper/SlideshowMapper.java | 16 flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java | 49 flower_city/src/main/java/com/dg/core/exception/file/FileException.java | 19 flower_city/src/main/java/com/dg/core/service/ITransactionEventService.java | 106 flower_city/src/main/resources/mapper/TransactionEventMapper.xml | 340 + flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideEvolveMapper.java | 44 flower_city/src/main/java/com/dg/core/service/IElseAccessoryService.java | 57 flower_city/src/main/java/com/dg/core/service/impl/GuideEvolveImpl.java | 39 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDynDOMapper.xml | 3 flower_city/src/main/resources/mapper/ReplyTemplateMapper.xml | 139 flower_city/src/main/java/com/dg/core/controller/AreaCodeController.java | 30 flower_city/src/main/java/com/dg/core/task/SwaggerConfig.java | 51 flower_city/src/main/java/com/dg/core/db/manual/mapper/MUserMapper.java | 9 flower_city/src/main/java/com/dg/core/db/gen/mapper/OrganizationChartMapper.java | 50 flower_city/src/main/java/com/dg/core/exception/DemoModeException.java | 15 flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java | 71 flower_city/src/main/java/com/dg/core/db/manual/pojo/LargeScreen.java | 56 flower_city/src/main/java/com/dg/core/exception/file/FileNameLengthLimitExceededException.java | 16 flower_city/src/main/java/com/dg/core/controller/WeixinApiController.java | 41 flower_city/src/main/java/com/dg/core/service/impl/AreaCodeServiceImpl.java | 62 flower_city/src/main/resources/mapper/SysUserMapper.xml | 215 + flower_city/src/main/java/com/dg/core/controller/UserController.java | 232 + flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderImageMapper.java | 16 flower_city/src/main/java/com/dg/core/annotation/CurrentUser.java | 14 flower_city/src/main/java/com/dg/core/db/manual/pojo/WordUser.java | 27 flower_city/src/main/java/com/dg/core/controller/KeywordController.java | 102 flower_city/src/main/resources/mapper/AreaCode2022Mapper.xml | 23 flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java | 81 flower_city/src/main/java/com/dg/core/db/gen/entity/Agreement.java | 88 flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java | 36 flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ConstantPropertiesUtil.java | 34 flower_city/src/main/java/com/dg/core/resolvers/CurrentUserMethodArgumentResolver.java | 46 flower_city/src/main/java/com/dg/core/service/impl/ReplyTemplateImpl.java | 46 flower_city/src/main/java/com/dg/core/service/impl/ClassifyAdministrationImpl.java | 67 springcloud_k8s_panzhihuazhihuishequ/.idea/encodings.xml | 16 flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrderImage.java | 60 springcloud_k8s_panzhihuazhihuishequ/grid_app/grid_app.iml | 6 flower_city/src/main/java/com/dg/core/controller/AgreementController.java | 58 flower_city/src/main/java/com/dg/core/controller/RoleManagementController.java | 94 flower_city/src/main/java/com/dg/core/db/gen/mapper/TransactionEventMapper.java | 135 flower_city/src/main/java/com/dg/core/CorsConfig.java | 25 flower_city/src/main/java/com/dg/core/service/impl/RoleManagementImpl.java | 38 flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java | 188 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 2 flower_city/src/main/java/com/dg/core/exception/file/BaseException.java | 83 flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java | 82 flower_city/src/main/java/com/dg/core/util/UUID.java | 486 ++ flower_city/src/test/java/com/dg/core/WMApplicationTests.java | 13 flower_city/src/main/java/com/dg/core/db/gen/mapper/ClassifyAdministrationMapper.java | 75 flower_city/src/main/resources/mapper/OrganizationChartMapper.xml | 123 flower_city/src/main/java/com/dg/core/service/IAreaCodeService.java | 14 flower_city/src/main/java/com/dg/core/service/IAgreementService.java | 23 flower_city/src/main/java/com/dg/core/db/gen/entity/ElseAccessoryEntity.java | 67 flower_city/src/main/java/com/dg/core/service/impl/AgreementServiceImpl.java | 37 flower_city/src/main/java/com/dg/core/db/gen/entity/Slideshow.java | 72 flower_city/src/main/java/com/dg/core/service/IRoleManagementService.java | 44 flower_city/src/main/java/com/dg/core/service/impl/ElseAccessoryImpl.java | 46 flower_city/src/main/java/com/dg/core/service/impl/MenuImpl.java | 38 flower_city/src/main/java/com/dg/core/db/gen/entity/RoleManagementEntity.java | 71 flower_city/src/main/java/com/dg/core/db/gen/entity/AreaCode2022.java | 51 flower_city/src/main/java/com/dg/core/util/DateUtils.java | 222 + flower_city/src/main/java/com/dg/core/controller/ClassifyAdministrationController.java | 125 flower_city/src/main/java/com/dg/core/db/gen/entity/ClassifyAdministration.java | 79 flower_city/src/main/java/com/dg/core/file/MimeTypeUtils.java | 59 flower_city/src/main/java/com/dg/core/service/IGuideEvolveService.java | 43 flower_city/src/main/java/com/dg/core/controller/GuideDoController.java | 159 flower_city/src/main/java/com/dg/core/controller/BaseController.java | 127 flower_city/src/main/java/com/dg/core/exception/ServiceException.java | 73 flower_city/src/main/java/com/dg/core/service/IReplyTemplateService.java | 50 flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml | 107 flower_city/src/main/java/com/dg/core/task/SendWsListener.java | 96 flower_city/src/main/java/com/dg/core/db/manual/pojo/MsgLocal.java | 32 flower_city/src/main/resources/application.properties | 56 flower_city/src/main/java/com/dg/core/controller/MenuController.java | 73 flower_city/src/main/java/com/dg/core/db/gen/mapper/KeywordMapper.java | 61 flower_city/src/main/resources/mapper/GuideRepairOrderImageMapper.xml | 5 flower_city/pom.xml | 142 flower_city/src/main/java/com/dg/core/annotation/RoleAdmin.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_property/service_property.iml | 7 flower_city/src/main/java/com/dg/core/db/gen/mapper/ReplyTemplateMapper.java | 57 flower_city/src/main/java/com/dg/core/exception/file/FileSizeLimitExceededException.java | 16 flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java | 322 + flower_city/README.md | 1 flower_city/src/main/java/com/dg/core/ResultData.java | 85 flower_city/src/main/java/META-INF/MANIFEST.MF | 3 flower_city/src/main/java/com/dg/core/db/manual/mapper/util/HttpClientUtils.java | 294 + flower_city/src/main/java/com/dg/core/service/IMenuService.java | 42 flower_city/src/main/java/com/dg/core/db/gen/mapper/MenuMapper.java | 47 .idea/vcs.xml | 2 flower_city/src/main/java/com/dg/core/db/gen/mapper/AreaCode2022Mapper.java | 24 flower_city/src/main/java/com/dg/core/db/manual/pojo/MUser.java | 40 flower_city/src/main/java/com/dg/core/HttpStatus.java | 89 flower_city/src/main/java/com/dg/core/file/FtpConstants.java | 38 flower_city/src/main/java/com/dg/core/service/impl/KeywordImpl.java | 48 flower_city/src/main/java/com/dg/core/controller/OrganizationController.java | 99 flower_city/src/main/java/com/dg/core/db/gen/entity/ReplyTemplateEntity.java | 134 flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java | 135 flower_city/src/main/java/com/dg/core/db/manual/pojo/Search.java | 19 flower_city/src/main/resources/mapper/RoleManagementMapper.xml | 94 flower_city/src/main/java/com/dg/core/util/Snowflake.java | 17 flower_city/src/main/java/com/dg/core/Constant.java | 71 flower_city/src/main/java/com/dg/core/file/SFTPUtil.java | 374 + flower_city/src/main/java/com/dg/core/manager/TokenManager.java | 25 flower_city/src/main/java/com/dg/core/util/MyUtil.java | 8 flower_city/.gitignore | 35 flower_city/src/main/java/com/dg/core/db/gen/mapper/AgreementMapper.java | 25 flower_city/src/main/resources/mapper/ElseAccessoryMapper.xml | 82 flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ExcelHandlerAdapter.java | 19 flower_city/src/main/java/com/dg/core/db/gen/mapper/ElseAccessoryMapper.java | 58 /dev/null | 198 - flower_city/src/main/java/com/dg/core/db/gen/entity/KeywordEntity.java | 38 flower_city/src/main/java/com/dg/core/util/IdUtils.java | 49 flower_city/src/main/java/com/dg/core/util/MyBatisPlusConfig.java | 22 flower_city/src/main/java/com/dg/core/db/gen/entity/MenuEntity.java | 56 flower_city/src/main/java/com/dg/core/exception/file/InvalidExtensionException.java | 84 flower_city/src/main/java/com/dg/core/service/IClassifyAdministrationService.java | 66 springcloud_k8s_panzhihuazhihuishequ/service_api/service_api.iml | 6 159 files changed, 11,538 insertions(+), 230 deletions(-) diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 0ca9f1c..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/springcloud_k8s_panzhihuazhihuishequ/common/LOG_HOME_IS_UNDEFINED/ - - -.idea \ No newline at end of file diff --git a/.idea/springcloud_k8s_panzhihuazhihuishequ.iml b/.idea/springcloud_k8s_panzhihuazhihuishequ.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/springcloud_k8s_panzhihuazhihuishequ.iml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module type="JAVA_MODULE" version="4"> - <component name="NewModuleRootManager" inherit-compiler-output="true"> - <exclude-output /> - <content url="file://$MODULE_DIR$" /> - <orderEntry type="inheritedJdk" /> - <orderEntry type="sourceFolder" forTests="false" /> - </component> -</module> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..35eb1dd 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="VcsDirectoryMappings"> - <mapping directory="$PROJECT_DIR$" vcs="Git" /> + <mapping directory="" vcs="Git" /> </component> </project> \ No newline at end of file diff --git a/flower_city/.gitignore b/flower_city/.gitignore new file mode 100644 index 0000000..513e7e2 --- /dev/null +++ b/flower_city/.gitignore @@ -0,0 +1,35 @@ +.DS_Store + +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/flower_city/README.md b/flower_city/README.md new file mode 100644 index 0000000..848dea2 --- /dev/null +++ b/flower_city/README.md @@ -0,0 +1 @@ +# 花城e+自公告系统 后端 \ No newline at end of file diff --git a/flower_city/pom.xml b/flower_city/pom.xml new file mode 100644 index 0000000..2c6f21e --- /dev/null +++ b/flower_city/pom.xml @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.3.6.RELEASE</version> + + <relativePath/> <!-- lookup parent from repository --> + </parent> + <groupId>com.dg</groupId> + <artifactId>flower_city_automessage</artifactId> + <version>0.0.1-SNAPSHOT</version> + <name>flower_city_automessage</name> + <description>flower_city_automessage-backend</description> + <properties> + <java.version>8</java.version> + </properties> + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + <scope>runtime</scope> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>8.0.13</version> + </dependency> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-boot-starter</artifactId> + <version>3.5.2</version> + </dependency> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-generator</artifactId> + <version>3.5.1</version> + </dependency> + <dependency> + <groupId>org.apache.velocity</groupId> + <artifactId>velocity-engine-core</artifactId> + <version>2.2</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-redis</artifactId> + </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + </dependency> + <dependency> + <groupId>org.freemarker</groupId> + <artifactId>freemarker</artifactId> + <version>2.3.30</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-annotation</artifactId> + <version>4.1.0</version> + </dependency> + + <!-- hutool工具类 --> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-core</artifactId> + <version>5.6.7</version> + </dependency> + + <dependency> + <groupId>org.python</groupId> + <artifactId>jython-standalone</artifactId> + <version>2.7.0</version> + </dependency> + + + <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger2</artifactId> + <version>2.9.2</version> + </dependency> + <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>2.9.2</version> + </dependency> + + + <!-- io常用工具类 --> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.11.0</version> + </dependency> + + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + </dependency> + + + <dependency> + <groupId>com.jcraft</groupId> + <artifactId>jsch</artifactId> + <version>0.1.53</version> + </dependency> + + + + </dependencies> + + + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + </plugin> + </plugins> + </build> + +</project> diff --git a/flower_city/src/main/java/META-INF/MANIFEST.MF b/flower_city/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..7d4ddab --- /dev/null +++ b/flower_city/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.dg.core + diff --git a/flower_city/src/main/java/com/dg/core/Constant.java b/flower_city/src/main/java/com/dg/core/Constant.java new file mode 100644 index 0000000..02f6e09 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/Constant.java @@ -0,0 +1,71 @@ +package com.dg.core; + +public class Constant { + + /** + * 存储当前登录用户id的字段名 + */ + public static final String CURRENT_USER_ID = "CURRENT_USER_ID"; + + /** + * 存储当前登录用户id的字段名 + */ + public static final String CURRENT_USER_NAME = "CURRENT_USER_NAME"; + + /** + * 存储当前登录用户的角色 + */ + public static final String CURRENT_USER_ROLE = "CURRENT_USER_ROLE"; + + /** + * 存储当前登录用户的deptId + */ + public static final String CURRENT_USER_DEPT_ID = "CURRENT_USER_DEPT_Id"; + public static final String CURRENT_USER_ORG_ID = "CURRENT_USER_ORG_Id"; + public static final String CURRENT_USER_PHONE = "CURRENT_USER_PHONE"; + /** + * 存放OpLogContent的header字段 + */ + public static final String OP_LOG_CONTENT = "OP_LOG_CONTENT"; + + /** + * token有效期(小时) + */ + public static final int TOKEN_EXPIRES_HOUR = 1; + + /** + * redis存储手机验证码过期时间(10分钟) + */ + public static final long AUTH_CODE_EXPIRED_SECONDS = 60 * 10; + + /** + * 验证码长度 + */ + public static final int AUTH_CODE_LENGTH = 6; + + + /** + * 登录用户 redis key + */ + public static final String LOGIN_TOKEN_KEY = "login_tokens:"; + /** + * 令牌 + */ + public static final String TOKEN = "token"; + + /** + * 令牌前缀 + */ + public static final String TOKEN_PREFIX = "admin:"; + + /** + * 令牌前缀 + */ + public static final String LOGIN_USER_KEY = "login_user_key"; + + /** + * 存放Authorization的header字段 + */ + public static final String AUTHORIZATION = "Authorization"; + +} diff --git a/flower_city/src/main/java/com/dg/core/CorsConfig.java b/flower_city/src/main/java/com/dg/core/CorsConfig.java new file mode 100644 index 0000000..6593760 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/CorsConfig.java @@ -0,0 +1,25 @@ +package com.dg.core; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import javax.servlet.http.HttpServletRequest; + +@Configuration +public class CorsConfig implements WebMvcConfigurer { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + // 设置允许跨域请求的域名 +// .allowedOriginPatterns("*") + .allowedOrigins("*") + // 是否允许证书(cookies) + .allowCredentials(true) + // 设置允许的方法 + .allowedMethods("*") + // 跨域允许时间 + .maxAge(3600); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/HttpStatus.java b/flower_city/src/main/java/com/dg/core/HttpStatus.java new file mode 100644 index 0000000..223674a --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/HttpStatus.java @@ -0,0 +1,89 @@ +package com.dg.core; + +/** + * 返回状态码 + * + * @author ruoyi + */ +public class HttpStatus +{ + /** + * 操作成功 + */ + public static final int SUCCESS = 200; + + /** + * 对象创建成功 + */ + public static final int CREATED = 201; + + /** + * 请求已经被接受 + */ + public static final int ACCEPTED = 202; + + /** + * 操作已经执行成功,但是没有返回数据 + */ + public static final int NO_CONTENT = 204; + + /** + * 资源已被移除 + */ + public static final int MOVED_PERM = 301; + + /** + * 重定向 + */ + public static final int SEE_OTHER = 303; + + /** + * 资源没有被修改 + */ + public static final int NOT_MODIFIED = 304; + + /** + * 参数列表错误(缺少,格式不匹配) + */ + public static final int BAD_REQUEST = 400; + + /** + * 未授权 + */ + public static final int UNAUTHORIZED = 401; + + /** + * 访问受限,授权过期 + */ + public static final int FORBIDDEN = 403; + + /** + * 资源,服务未找到 + */ + public static final int NOT_FOUND = 404; + + /** + * 不允许的http方法 + */ + public static final int BAD_METHOD = 405; + + /** + * 资源冲突,或者资源被锁 + */ + public static final int CONFLICT = 409; + + /** + * 不支持的数据,媒体类型 + */ + public static final int UNSUPPORTED_TYPE = 415; + + /** + * 系统内部错误 + */ + public static final int ERROR = 500; + + /** + * 接口未实现 + */ + public static final int NOT_IMPLEMENTED = 501; +} diff --git a/flower_city/src/main/java/com/dg/core/MvcConfig.java b/flower_city/src/main/java/com/dg/core/MvcConfig.java new file mode 100644 index 0000000..a7c2bcc --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/MvcConfig.java @@ -0,0 +1,33 @@ +package com.dg.core; + +import com.dg.core.interceptor.AuthorizationInterceptor; +import com.dg.core.resolvers.CurrentUserMethodArgumentResolver; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.method.support.HandlerMethodArgumentResolver; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.List; + +/** + * 配置类,增加自定义拦截器和解析器 + */ +@Configuration +public class MvcConfig implements WebMvcConfigurer { + + @Autowired + private AuthorizationInterceptor authorizationInterceptor; + @Autowired + private CurrentUserMethodArgumentResolver currentUserMethodArgumentResolver; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(authorizationInterceptor); + } + + @Override + public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) { + argumentResolvers.add(currentUserMethodArgumentResolver); + } +} diff --git a/flower_city/src/main/java/com/dg/core/ResultData.java b/flower_city/src/main/java/com/dg/core/ResultData.java new file mode 100644 index 0000000..1c35bb1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/ResultData.java @@ -0,0 +1,85 @@ +package com.dg.core; + +public class ResultData<T> { + //返回状态码 + private Integer result; + //返回消息 + private String message; + //返回数据 + private T data; + + public Integer getResult() { + return result; + } + + public void setResult(Integer result) { + this.result = result; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + //Success结果 + public static <T> ResultData<T> success(T data) { + ResultData<T> resultData = new ResultData<>(); + resultData.setResult(HttpStatus.SUCCESS); + resultData.setMessage("操作成功"); + resultData.setData(data); + return resultData; + } + + //Success结果 + public static <T> ResultData<T> success(T data,String msg) { + ResultData<T> resultData = new ResultData<>(); + resultData.setResult(HttpStatus.SUCCESS); + resultData.setMessage(msg); + resultData.setData(data); + return resultData; + } + + //Success结果 + public static <T> ResultData<T> success() { + ResultData<T> resultData = new ResultData<>(); + resultData.setResult(HttpStatus.SUCCESS); + resultData.setMessage("操作成功"); + return resultData; + } + + + //Fail结果 + public static <T> ResultData<T> fail(int code, String message) { + ResultData<T> resultData = new ResultData<>(); + resultData.setResult(code); + resultData.setMessage(message); + return resultData; + } + + //Fail结果 + public static <T> ResultData<T> error(String message) { + ResultData<T> resultData = new ResultData<>(); + resultData.setResult(HttpStatus.ERROR); + resultData.setMessage(message); + return resultData; + } + + //Fail结果 + public static <T> ResultData<T> error() { + ResultData<T> resultData = new ResultData<>(); + resultData.setResult(HttpStatus.ERROR); + resultData.setMessage("操作失败"); + return resultData; + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/WMApplication.java b/flower_city/src/main/java/com/dg/core/WMApplication.java new file mode 100644 index 0000000..1b68bbc --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/WMApplication.java @@ -0,0 +1,19 @@ +package com.dg.core; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; + +//@ServletComponentScan("com.dg.core.task") //定时任务启动开关 +@SpringBootApplication +@MapperScan("com.dg.core.db") +public class WMApplication { + + public static void main(String[] args) { + SpringApplication.run(WMApplication.class, args); + System.out.println(" swagger地址= http://localhost:8181/swagger-ui.html"); + System.out.println(" 启动完成"); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/annotation/Authorization.java b/flower_city/src/main/java/com/dg/core/annotation/Authorization.java new file mode 100644 index 0000000..cde129b --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/annotation/Authorization.java @@ -0,0 +1,14 @@ +package com.dg.core.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 在Controller的方法上使用此注解,该方法在映射时会检查用户是否登录,未登录返回401错误 + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface Authorization { +} diff --git a/flower_city/src/main/java/com/dg/core/annotation/CurrentUser.java b/flower_city/src/main/java/com/dg/core/annotation/CurrentUser.java new file mode 100644 index 0000000..7935fa8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/annotation/CurrentUser.java @@ -0,0 +1,14 @@ +package com.dg.core.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 在Controller的方法参数中使用此注解,该方法在映射时会注入当前登录的User对象 + */ +@Target(ElementType.PARAMETER) +@Retention(RetentionPolicy.RUNTIME) +public @interface CurrentUser { +} diff --git a/flower_city/src/main/java/com/dg/core/annotation/RoleAdmin.java b/flower_city/src/main/java/com/dg/core/annotation/RoleAdmin.java new file mode 100644 index 0000000..33ec0be --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/annotation/RoleAdmin.java @@ -0,0 +1,11 @@ +package com.dg.core.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface RoleAdmin { +} diff --git a/flower_city/src/main/java/com/dg/core/controller/AgreementController.java b/flower_city/src/main/java/com/dg/core/controller/AgreementController.java new file mode 100644 index 0000000..6aee723 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/AgreementController.java @@ -0,0 +1,58 @@ +package com.dg.core.controller; + + +import com.dg.core.ResultData; +import com.dg.core.annotation.Authorization; +import com.dg.core.annotation.CurrentUser; +import com.dg.core.db.gen.entity.Agreement; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.service.IAgreementService; +import com.dg.core.service.IAreaCodeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@Api(tags = {"相关协议接口"}) +@RestController +@RequestMapping("/agreement") +public class AgreementController { + + @Resource + private IAgreementService agreementService; + + /** + * 通过协议名获取相关协议 + * @return + */ + @ApiOperation(value = "通过协议名获取相关协议",response = Agreement.class) + @GetMapping(value = "/queryByAgreement") + public ResultData queryByAgreement(@RequestParam("agreement") String agreement) { + return ResultData.success(agreementService.queryByAgreement(agreement)); + } + + /** + * 获取相关附件列表(不分页) + * @return + */ + @ApiOperation(value = "获取相关附件列表(不分页)",response = Agreement.class) + @GetMapping(value = "/getList") + public ResultData selectConfigList(){ + return ResultData.success(agreementService.selectConfigList()); + } + + /** + * 修改相关附件 + * @return + */ + @ApiOperation(value = "修改相关附件",response = Agreement.class) + @PostMapping(value = "/update") + @Authorization + public ResultData update(@RequestBody Agreement agreement,@CurrentUser SysUser sysUse){ + agreement.setUpdateUserId(sysUse.getUserId().toString()); + return agreementService.update(agreement); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/AreaCodeController.java b/flower_city/src/main/java/com/dg/core/controller/AreaCodeController.java new file mode 100644 index 0000000..9c0b5f5 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/AreaCodeController.java @@ -0,0 +1,30 @@ +package com.dg.core.controller; + +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.AreaCode2022; +import com.dg.core.service.IAreaCodeService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = {"所属地区接口"}) +@RestController +@RequestMapping("/areaCode") +public class AreaCodeController extends BaseController{ + + @Resource + private IAreaCodeService iAreaCodeService; + + /** + * 根据指南id获取所属地区 + * @return + */ + @ApiOperation(value = "根据指南id获取所属地区",response = AreaCode2022.class) + @GetMapping("/getAreaCodeByTransactionId") + public TableDataInfo getAreaCodeByTransactionId(@RequestParam("transactionId") Integer transactionId){ + return getDataTable(iAreaCodeService.getAreaCodeByTransactionId(transactionId)); + } +} diff --git a/flower_city/src/main/java/com/dg/core/controller/BaseController.java b/flower_city/src/main/java/com/dg/core/controller/BaseController.java new file mode 100644 index 0000000..db5f8dd --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/BaseController.java @@ -0,0 +1,127 @@ +package com.dg.core.controller; + +import com.dg.core.HttpStatus; +import com.dg.core.ResultData; +import com.dg.core.util.TableDataInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.List; + +/** + * web层通用数据处理 + * + * @author ruoyi + */ +public class BaseController +{ + protected final Logger logger = LoggerFactory.getLogger(this.getClass()); + /** + * 响应请求分页数据 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected TableDataInfo getDataTable(List<?> list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setResult(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + if(list!=null) + { + rspData.setRows(list); +// rspData.setTotal(new PageInfo(list).getTotal()); + } + else + { + rspData.setRows(new ArrayList<>()); + rspData.setTotal(0); + } + return rspData; + } + + /** + * 响应请求分页数据 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected TableDataInfo getDataTable(List<?> list,long num) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setResult(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(num); + return rspData; + } + + + /** + * 响应请求分页数据 报错内容 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected TableDataInfo getDataTable(String msg) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setResult(HttpStatus.ERROR); + rspData.setMsg(msg); + rspData.setRows(new ArrayList<>()); + rspData.setTotal(0); + return rspData; + } + + /** + * 返回成功 + * <T> ResultData<T> success(T data) { + */ + public ResultData success() + { + return ResultData.success(); + } + + + /** + * 返回失败消息 + */ + public ResultData error() + { + return ResultData.error(); + } + + /** + * 返回成功消息 + */ + public ResultData success(String message) + { + return ResultData.success(message); + } + + /** + * 返回失败消息 + */ + public ResultData error(String message) + { + return ResultData.error(message); + } + + /** + * 响应返回结果 + * + * @param rows 影响行数 + * @return 操作结果 + */ + protected ResultData toAjax(int rows) + { + return rows > 0 ? ResultData.success() : ResultData.error(); + } + + /** + * 响应返回结果 + * + * @param result 结果 + * @return 操作结果 + */ + protected ResultData toAjax(boolean result) + { + return result ? success() : error(); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/ClassifyAdministrationController.java b/flower_city/src/main/java/com/dg/core/controller/ClassifyAdministrationController.java new file mode 100644 index 0000000..afe8c0f --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/ClassifyAdministrationController.java @@ -0,0 +1,125 @@ +package com.dg.core.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.ClassifyAdministration; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.service.IClassifyAdministrationService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * 分类管理 + */ +@Api(tags = {"分类管理接口"}) +@RestController +@RequestMapping("/classify") +public class ClassifyAdministrationController extends BaseController +{ + + @Autowired(required = true) + IClassifyAdministrationService iClassifyAdministrationService; + /** + * 获取管理菜单列表 + * @return + */ + @ApiOperation(value = "获取管理菜单列表(无分页)",response = ClassifyAdministration.class) + @GetMapping("/getList") + public TableDataInfo selectConfigList(@RequestParam(value = "classifyGrade",required = false) String classifyGrade) + { + int num=iClassifyAdministrationService.countNum("",classifyGrade); + return getDataTable(iClassifyAdministrationService.selectConfigList("",classifyGrade),num); + } + + /** + * 获取管理菜单列表(已分级) + * @return + */ + @ApiOperation(value = " 获取管理菜单列表(已分级)",response = ClassifyAdministration.class) + @GetMapping("/getListByParentId") + public TableDataInfo selectConfigListByParentId(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize, + @RequestParam(value = "parentId",required = false) String parentId, + @RequestParam(value = "departmentId",required = false) Integer departmentId){ + Assert.notNull(pageNum, "pageNum can not be empty"); + Assert.notNull(pageSize, "pageSize can not be empty"); + int num=iClassifyAdministrationService.countNum("",null); + Page<ClassifyAdministration> pageParam = new Page<>(pageNum,pageSize); + return getDataTable(iClassifyAdministrationService.selectRootList(pageParam,pageSize,parentId,departmentId),num); + } + + + /** + * 获取管理菜单列表 + * @return + */ + @ApiOperation(value = "获取管理菜单列表",response = ClassifyAdministration.class) + @GetMapping("/getListPage") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize, + @RequestParam(value = "name",required = false) String name) + { + Assert.notNull(pageNum, "pageNum can not be empty"); + Assert.notNull(pageSize, "pageSize can not be empty"); + Page<ClassifyAdministration> pageParam = new Page<>(pageNum,pageSize); + List<ClassifyAdministration> list = iClassifyAdministrationService.selectConfigList(pageParam,pageSize,name,""); + int num=iClassifyAdministrationService.countNum(name,""); + return getDataTable(list,num); + } + + + /** + * 新增分类 + * @param entity + * @return + */ + @ApiOperation(value = "新增分类",response = ClassifyAdministration.class) + @PostMapping("/add") + public ResultData insertConfig(@RequestBody ClassifyAdministration entity) { + Assert.notNull(entity, "参数不能为空"); + Assert.notNull(entity.getClassifyName(), "分类名称不能为空"); + Assert.notNull(entity.getClassifyGrade(), "分类等级不能为空"); + if(StringUtils.equals(entity.getClassifyGrade(),"2")) + { + Assert.notNull(entity.getParentId(), "上级分类不能为空"); + } + return toAjax(iClassifyAdministrationService.insertConfig(entity)); + } + + /** + * 更新分类 + * @param entity + * @return + */ + @ApiOperation("编辑分类") + @PostMapping("/update") + public ResultData updateConfig(@RequestBody ClassifyAdministration entity) + { + return toAjax(iClassifyAdministrationService.updateConfig(entity)); + } + + /** + * 删除分类 + * @param Id + * @return + */ + @ApiOperation("删除分类") + @DeleteMapping("/delete/{Id}") + public ResultData deleteConfigById(@PathVariable("Id") String Id) + { + if(StringUtils.isEmpty(Id)) + { + return ResultData.error("id 不能为空"); + } + return toAjax(iClassifyAdministrationService.deleteConfigById(Id)); + } +} diff --git a/flower_city/src/main/java/com/dg/core/controller/CommonController.java b/flower_city/src/main/java/com/dg/core/controller/CommonController.java new file mode 100644 index 0000000..041670a --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/CommonController.java @@ -0,0 +1,140 @@ +package com.dg.core.controller; + +import com.dg.core.CorsConfig; +import com.dg.core.ResultData; +import com.dg.core.db.gen.AjaxResult; +import com.dg.core.file.FtpConstants; +import com.dg.core.file.MimeTypeUtils; +import com.dg.core.file.SFTPUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import static com.dg.core.file.FileTypeUploadUtils.assertAllowed; + + +@Api(tags = {"通用接口"}) +@RestController +@RequestMapping("/common") +public class CommonController extends BaseController { + + private static final String FILE_DELIMETER = ","; + + @Autowired + private CorsConfig corsConfig; + + + // FTP 登录用户名 + @Value("${ftp.username}") + private String userName; + // FTP 登录密码 + @Value("${ftp.password}") + private String password; + // FTP 服务器地址IP地址 + @Value("${ftp.host}") + private String host; + // FTP 端口 + @Value("${ftp.port}") + private int port; + @Value("${ftp.url}") + private String url; + + + @RequestMapping("/hello") +// @Authorization + public ResponseEntity<String> hello() { + return ResponseEntity.ok("hello world"); + } + + + /** + * 通用上传请求(多个) + */ + @ApiOperation("文件上传接口(通用)") + @PostMapping("/uploads") + public ResultData uploadFiles(List<MultipartFile> files) throws Exception + { + List<String> urls = new ArrayList<String>(); + List<String> fileNames = new ArrayList<String>(); + List<String> originalFilenames = new ArrayList<String>(); + for (MultipartFile file : files) { + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension; + try { + assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); + SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + sftp.login(); + InputStream is = file.getInputStream(); + sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is); + sftp.logout(); + + urls.add(url + "/idcard/" + name); + fileNames.add(name); + originalFilenames.add(file.getOriginalFilename()); + + } catch (Exception e) { + return ResultData.error("上传文件失败 "+e.getMessage()); + } + } + AjaxResult ajax = new AjaxResult(); + ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); + ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); + ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); + return ResultData.success(ajax); + + } + + + + /** + * 通用上传请求(多个) + */ + @ApiOperation("文件上传接口(通用)") + @PostMapping("/upload") + public ResultData uploadFile(MultipartFile file) throws Exception + { + List<String> urls = new ArrayList<String>(); + List<String> fileNames = new ArrayList<String>(); + List<String> originalFilenames = new ArrayList<String>(); + + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension; + try { + assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); + SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + sftp.login(); + InputStream is = file.getInputStream(); + sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is); + sftp.logout(); + +// urls.add(url + "/idcard/" + name); +// fileNames.add(name); +// originalFilenames.add(file.getOriginalFilename()); + return ResultData.success(url + "/idcard/" + name); + } catch (Exception e) { + return ResultData.error("上传文件失败 "+e.getMessage()); + } + + +// AjaxResult ajax = new AjaxResult(); +// ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); +// ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); +// ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); + + + } + + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java b/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java new file mode 100644 index 0000000..ee22da9 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java @@ -0,0 +1,116 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.ElseAccessoryEntity; +import com.dg.core.service.IElseAccessoryService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = {"其他附件接口"}) +@RestController +@RequestMapping("/else") +public class ElseAccessoryController extends BaseController +{ + + @Autowired + IElseAccessoryService iElseAccessoryService; + + + /** + * 获取附件列表 + * @param pageNum + * @param pageSize + * @param Name + * @return + */ + @ApiOperation("获取附件列表接口") + @GetMapping(path = "/getList") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize, + @RequestParam(value = "Name",required = false) String Name) + { + Page<ElseAccessoryEntity> pageParam = new Page<>(pageNum,pageSize); + List<ElseAccessoryEntity> list = iElseAccessoryService.selectConfigList(pageParam,pageSize,Name); + int num=iElseAccessoryService.countNum(Name); + return getDataTable(list,num); + } + + /** + * 获取附件列表 + * @param Name + * @return + */ + @ApiOperation("获取附件列表接口(全部)") + @GetMapping(path = "/getAllList") + public TableDataInfo selectConfigListAll(@RequestParam(value = "Name",required = false) String Name) + { + List<ElseAccessoryEntity> list = iElseAccessoryService.selectConfigList(Name); + int num=iElseAccessoryService.countNum(Name); + return getDataTable(list,num); + } + + + /** + * 新增列表 + * @param entity + * @return + */ + @ApiOperation("新增附件") + @PostMapping(path = "/add") + public ResultData insertConfig(@RequestBody ElseAccessoryEntity entity) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getName())) + { + return ResultData.error("事项名称不能为空"); + } + + if(StringUtils.isEmpty(entity.getUrl())) + { + return ResultData.error("文件url不能为空"); + } + + if(StringUtils.isEmpty(entity.getDepartmentId())) + { + return ResultData.error("部门不能为空"); + } + + return toAjax(iElseAccessoryService.insertConfig(entity)); + } + + /** + * 更新附件 + * @param entity + * @return + */ + @ApiOperation("更新附件") + @PostMapping(path = "/update") + public ResultData updateConfig(@RequestBody ElseAccessoryEntity entity) + { + return toAjax(iElseAccessoryService.updateConfig(entity)); + } + + /** + * 删除 + * @param Id + * @return + */ + @ApiOperation("删除附件") + @DeleteMapping(path = "/delete") + public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) + { + return toAjax(iElseAccessoryService.deleteConfigById(Id)); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideDoController.java b/flower_city/src/main/java/com/dg/core/controller/GuideDoController.java new file mode 100644 index 0000000..3aabeaa --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/GuideDoController.java @@ -0,0 +1,159 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.annotation.Authorization; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.service.ISysUserService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.List; + + +@Api(tags = {"导办用户接口"}) +@RestController +@RequestMapping("/guidedo") +public class GuideDoController extends BaseController +{ + + @Autowired + ISysUserService IUserService; + + + /** + * 查询列表 + * + * @return 参数配置信息 + */ + @ApiOperation("用户列表接口") + @GetMapping("/getlist") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize) + { + Assert.notNull(pageNum, "pageNum can not be empty"); + Assert.notNull(pageSize, "pageSize can not be empty"); + Page<SysUser> pageParam = new Page<>(pageNum,pageSize); + List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,"2"); + + int num=IUserService.selectNum("2"); + return getDataTable(list,num); + } + + + /** + * 新增用户 + * + * @param config 参数配置信息 + * @return 结果 + */ + @ApiOperation("新增导办用户接口") + @PostMapping("/add") + @Authorization + public ResultData insertConfig(@RequestBody SysUser config) + { + Assert.notNull(config, "parameter can not be empty"); + + if(StringUtils.isEmpty(config.getLoginName())) + { + return error("账户不能为空"); + } + + if(StringUtils.isEmpty(config.getPassword())) + { + return error("密码不能为空"); + } + + if(StringUtils.isEmpty(config.getUserName())) + { + return error("昵称不能为空"); + } + + SysUser user = IUserService.getUserByAccount(config.getLoginName()); + if (user != null) { + //提示用户名或密码错误 + return error("该账户已存在!"); + } + + config.setUserType("2"); + + config.setCreateTime(LocalDateTime.now()); + config.setUpdateTime(LocalDateTime.now()); + + return toAjax(IUserService.insertConfig(config)); + } + + /** + * 更新导办用户 + * + * @param config 参数配置信息 + * @return 结果 + */ + @ApiOperation("修改导办用户接口") + @PostMapping("/update") + @Authorization + public ResultData updateConfig(@RequestBody SysUser config) + { + if(config.getUserId()==null) + { + return error("userId不能为空"); + } + + if(StringUtils.isEmpty(config.getLoginName())) + { + return error("账户不能为空"); + } + + config.setUserType("2"); + + return toAjax(IUserService.updateConfig(config)); + } + + /** + * 删除聊天记录 + * + * @return 结果 + */ + @ApiOperation("删除导办用户接口") + @DeleteMapping("/delete/{userId}") + @Authorization + public ResultData deleteConfigById(@PathVariable("userId") String userId) + { + if(StringUtils.isEmpty(userId)) + { + return error("userId不能为空"); + } + return toAjax(IUserService.deleteConfigById(userId)); + } + + /** + * 修改空闲状态 + * + * @param config 参数配置信息 + * @return 结果 + */ + @ApiOperation("修改导办用户空闲状态接口") + @PostMapping("/idlestate") + @Authorization + public ResultData idleState(@RequestBody SysUser config) + { + if(config.getUserId()==null) + { + return error("userId不能为空"); + } + + if(StringUtils.isEmpty(config.getLeisureState())) + { + return error("空闲状态不能为空"); + } + + return toAjax(IUserService.updateConfig(config)); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java new file mode 100644 index 0000000..f8a77e8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java @@ -0,0 +1,322 @@ +package com.dg.core.controller; + + +import com.dg.core.ResultData; +import com.dg.core.annotation.Authorization; +import com.dg.core.annotation.CurrentUser; +import com.dg.core.db.gen.entity.GuideEvolveEntity; +import com.dg.core.db.gen.entity.GuideRepairOrder; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.service.IGuideEvolveService; +import com.dg.core.service.IGuideRepairOrderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; + +/** + * 工单管理 + */ +@Api(tags = {"工单管理接口"}) +@RestController +@RequestMapping("/guideRepairOrder") +public class GuideRepairOrderController extends BaseController { + + @Resource + private IGuideRepairOrderService iGuideRepairOrderService; + + @Autowired + private IGuideEvolveService iGuideEvolveService; + + /** + * 提交导办订单 + * @return + */ + @ApiOperation(value = "提交导办订单",response = GuideRepairOrder.class) + @PostMapping("/addOrder") + @Authorization + public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) { + guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString()); + guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber()); + return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder)); + } + + + /** + * 获取详情 + * @param Id + * @param orderNum + * @return + */ + @ApiOperation("获取订单详情") + @GetMapping("/orderdata") + @Authorization + public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id, + @RequestParam(value = "orderNum",required = false) String orderNum) + { + if(StringUtils.isEmpty(Id) && StringUtils.isEmpty(orderNum)) + { + return ResultData.error("id或者订单号不能都为空"); + } + + GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum); + order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id)); + + return ResultData.success(order); + } + + + /** + * 分配人员 + * @param order + * @return + */ + @ApiOperation("分配人员") + @PostMapping("/allocation") + @Authorization + public ResultData allocation(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser) + { + if(order==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideDepartmentId())) + { + return ResultData.error("导办部门id不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideUserId())) + { + return ResultData.error("导办人员id不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideUserPhone())) + { + return ResultData.error("导办人员电话不能为空"); + } + + //已分配 + order.setState("2"); + + //新增分配记录 + GuideEvolveEntity entity=new GuideEvolveEntity(); + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setState("13"); + entity.setDepartmentalId(sysUser.getDepartmentId()); + entity.setToUserId(sysUser.getUserId()+""); + entity.setFromUserId(order.getGuideUserId()); + entity.setFromDepartmentalId(order.getGuideDepartmentId()); + + iGuideEvolveService.insertConfig(entity); + + return toAjax(iGuideRepairOrderService.updateConfig(order)); + } + + + /** + * 转派人员 + * @param order + * @return + */ + @ApiOperation("转派人员") + @PostMapping("/redeploy") + @Authorization + public ResultData redeploy(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser) + { + if(order==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideDepartmentId())) + { + return ResultData.error("导办部门id不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideUserId())) + { + return ResultData.error("导办人员id不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideUserPhone())) + { + return ResultData.error("导办人员电话不能为空"); + } + + //已分配 + order.setState("2"); + + //新增转派记录 + GuideEvolveEntity entity=new GuideEvolveEntity(); + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setState("12"); + entity.setDepartmentalId(sysUser.getDepartmentId()); + entity.setToUserId(sysUser.getUserId()+""); + entity.setFromUserId(order.getGuideUserId()); + entity.setFromDepartmentalId(order.getGuideDepartmentId()); + + iGuideEvolveService.insertConfig(entity); + + return toAjax(iGuideRepairOrderService.updateConfig(order)); + } + + + + /** + * 去处理 + * @param entity + * @return + */ + @ApiOperation("去处理") + @PostMapping("/dispose") + @Authorization + public ResultData dispose(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getGuideId())) + { + return ResultData.error("工单id不能为空"); + } + + GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(entity.getGuideId(),""); + if(order==null) + { + return ResultData.error("该工单不存在!"); + } + + if(StringUtils.equals(order.getState(),"3")) + { + return ResultData.error("该工单已办结!"); + } + + if(!StringUtils.equals(order.getState(),"2")) + { + return ResultData.error("该工单非是待办状态!"); + } + //待评价 + order.setState("4"); + //新增已办结记录 + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setState("4"); + entity.setFromDepartmentalId(sysUser.getDepartmentId()); + entity.setFromUserId(sysUser.getUserId()+""); + iGuideEvolveService.insertConfig(entity); + return toAjax(iGuideRepairOrderService.updateConfig(order)); + } + + + /** + * 取消导办工单 + * @param entity + * @return + */ + @ApiOperation("取消导办工单") + @PostMapping("/cancel") + @Authorization + public ResultData cancel(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getGuideId())) + { + return ResultData.error("工单id不能为空"); + } + + GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(entity.getGuideId(),""); + if(order==null) + { + return ResultData.error("该工单不存在!"); + } + + if(!StringUtils.equals(order.getState(),"1")) + { + return ResultData.error("该工单不能取消!"); + } + //取消状态 + order.setState("5"); + + //新增已取消记录 + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setState("5"); + entity.setFromDepartmentalId(sysUser.getDepartmentId()); + entity.setFromUserId(sysUser.getUserId()+""); + iGuideEvolveService.insertConfig(entity); + return toAjax(iGuideRepairOrderService.updateConfig(order)); + } + + + + /** + * 工单评价 + * @param entity + * @return + */ + @ApiOperation("工单评价") + @PostMapping("/evaluate") + @Authorization + public ResultData evaluate(@RequestBody GuideRepairOrder entity, @CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(entity.getId()<=0) + { + return ResultData.error("工单id不能为空"); + } + + if(!StringUtils.equals(entity.getState(),"4")) + { + return ResultData.error("该工单不能评价!"); + } + + if(StringUtils.isEmpty(entity.getEvaluateState())) + { + return ResultData.error("满意程度不能为空!"); + } + //已办结 + entity.setState("3"); + //新增已办结记录 + GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity(); + guideEvolveEntity.setCreateTime(LocalDateTime.now()); + guideEvolveEntity.setUpdateTime(LocalDateTime.now()); + guideEvolveEntity.setState("3"); + guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId()); + guideEvolveEntity.setFromUserId(sysUser.getUserId()+""); + iGuideEvolveService.insertConfig(guideEvolveEntity); + + return toAjax(iGuideRepairOrderService.updateConfig(entity)); + } + + /** + * 获取个人中心工单数据 + * @param sysUser 当前登录人员信息 + * @return + */ + @ApiOperation("获取个人中心工单数据") + @GetMapping("/personalCenter") + @Authorization + public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){ + return ResultData.success(iGuideRepairOrderService.selectBySubmitId(sysUser.getUserId().toString())); + } + + + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/KeywordController.java b/flower_city/src/main/java/com/dg/core/controller/KeywordController.java new file mode 100644 index 0000000..771d702 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/KeywordController.java @@ -0,0 +1,102 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.KeywordEntity; +import com.dg.core.service.IKeywordService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = {"关键词接口"}) +@RestController +@RequestMapping("/keyword") +public class KeywordController extends BaseController +{ + @Autowired(required = true) + IKeywordService iKeywordService; + + /** + * 查询关键词列表 + * @return + */ + @ApiOperation("关键词列表接口") + @GetMapping("/getlist") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize) + { + Assert.notNull(pageNum, "pageNum can not be empty"); + Assert.notNull(pageSize, "pageSize can not be empty"); + Page<KeywordEntity> pageParam = new Page<>(pageNum,pageSize); + List<KeywordEntity> list = iKeywordService.selectConfigList(pageParam,pageSize); + + int num=iKeywordService.countNum(); + return getDataTable(list,num); + } + + /** + * 查询详情 + * @return + */ + @ApiOperation("关键词详情接口") + @GetMapping("/getData") + public ResultData selectConfigData(@RequestParam(value = "id",required = false) String id, + @RequestParam(value = "name",required = false) String name) + { + return ResultData.success(iKeywordService.selectConfigData(id,name)); + } + + + /** + * 添加关键词 + * @return + */ + @ApiOperation("关键词添加接口") + @PostMapping("/add") + public ResultData insertConfig(@RequestBody KeywordEntity entity) + { + KeywordEntity enti=iKeywordService.selectConfigData("",entity.getName()); + if(enti==null) + { + if(iKeywordService.insertConfig(entity)>0) + { + enti=iKeywordService.selectConfigData("",entity.getName()); + return ResultData.success(enti); + } + } + else + { + return ResultData.success(enti); + } + return ResultData.error("创建数据失败"); + } + + /** + * 编辑关键词 + * @return + */ + @ApiOperation("关键词编辑接口") + @PostMapping("/update") + public ResultData updateConfig(@RequestBody KeywordEntity entity) + { + return toAjax(iKeywordService.updateConfig(entity)); + } + + /** + * 删除关键词 + * @param Id + * @return + */ + @ApiOperation("关键词删除接口") + @DeleteMapping("/delete") + public ResultData deleteConfigById(String Id) + { + return toAjax(iKeywordService.deleteConfigById(Id)); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/MenuController.java b/flower_city/src/main/java/com/dg/core/controller/MenuController.java new file mode 100644 index 0000000..f1a3736 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/MenuController.java @@ -0,0 +1,73 @@ +package com.dg.core.controller; + + +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.MenuEntity; +import com.dg.core.service.IMenuService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 菜单接口 + */ +@Api(tags = {"菜单接口"}) +@RestController +@RequestMapping("/menu") +public class MenuController extends BaseController +{ + + @Autowired(required = true) + IMenuService iMenuService; + + + /** + * 获取菜单列表 + * @return + */ + @ApiOperation("获取菜单列表") + @GetMapping("/getMenuList") + public TableDataInfo selectConfigList() + { + int num=iMenuService.countNum(); + return getDataTable(iMenuService.selectConfigList(),num); + } + + + /** + * 添加新菜单 + * @return + */ + @ApiOperation("添加新菜单") + @PostMapping("/addMenu") + public ResultData insertConfig(@RequestBody MenuEntity entity) + { + return toAjax(iMenuService.insertConfig(entity)); + } + + /** + * 更新菜单 + * @param entity + * @return + */ + @ApiOperation("更新菜单") + @PostMapping("/updateMenu") + public ResultData updateConfig(@RequestBody MenuEntity entity) + { + return toAjax(iMenuService.updateConfig(entity)); + } + + /** + * 删除菜单 + * @param id + * @return + */ + @ApiOperation("删除菜单") + @DeleteMapping("/deleteMenu") + public ResultData deleteConfigById(@RequestParam("id") Long id) + { + return toAjax(iMenuService.deleteConfigById(id)); + } +} diff --git a/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java b/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java new file mode 100644 index 0000000..9053cd6 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/OrganizationController.java @@ -0,0 +1,99 @@ +package com.dg.core.controller; + +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import com.dg.core.service.IOrganizationChartService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + + +@Api(tags = {"组织架构接口"}) +@RestController +@RequestMapping("/organization") +public class OrganizationController extends BaseController +{ + + @Autowired(required = true) + IOrganizationChartService iOrganizationChartService; + + /** + * 查询机构列表 + */ + @ApiOperation("查询机构列表") + @GetMapping("/getList") + public TableDataInfo selectConfigList() + { + return getDataTable(iOrganizationChartService.selectConfigList("","")); + } + + /** + * 新增机构 + */ + @ApiOperation("新增机构") + @PostMapping("/add") + public ResultData insertConfig(@RequestBody OrganizationChartEntity entity) + { + Assert.notNull(entity.getGrade(), "等级 grade 不能为空"); + + if (StringUtils.equals("1",entity.getGrade())) + { + if(!StringUtils.isEmpty(entity.getParentId())) + { + return ResultData.error("一级部门不能有父级部门"); + } + } + else + { + if(StringUtils.isEmpty(entity.getParentId())) + { + return ResultData.error("非一级部门父级部门不能为空"); + } + } + return toAjax(iOrganizationChartService.insertConfig(entity)); + } + + /** + * 更新机构 + */ + @ApiOperation("更新机构") + @PostMapping("/update") + public ResultData updateConfig(@RequestBody OrganizationChartEntity entity) + { + return toAjax(iOrganizationChartService.updateConfig(entity)); + } + + /** + * 删除机构 + */ + @ApiOperation("删除机构") + @DeleteMapping("/delete") + public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) + { + Assert.notNull(Id, "Id 不能为空"); + return toAjax(iOrganizationChartService.deleteConfigById(Id)); + } + + /** + * 查询机构列表(不分级不分页按等级排序) + */ + @ApiOperation(value = "查询机构列表(不分级不分页按等级排序)",response = OrganizationChartEntity.class) + @GetMapping("/selectList") + public TableDataInfo selectList(){ + return getDataTable(iOrganizationChartService.selectList()); + } + + /** + * 根据id查取消组织机构 + */ + @ApiOperation(value = "根据id查取消组织机构",response = OrganizationChartEntity.class) + @GetMapping("/selectById") + ResultData selectConfigById(@RequestParam("id") String id){ + return ResultData.success(iOrganizationChartService.selectConfigById(id)); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java b/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java new file mode 100644 index 0000000..0b17e82 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java @@ -0,0 +1,146 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.annotation.Authorization; +import com.dg.core.annotation.CurrentUser; +import com.dg.core.db.gen.entity.ReplyTemplateEntity; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.service.IReplyTemplateService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = {"回复模板接口"}) +@RestController +@RequestMapping("/reply") +public class ReplyTemplateController extends BaseController +{ + + @Autowired + IReplyTemplateService iReplyTemplateService; + + /** + * 获取模板列表 + * @return + */ + @ApiOperation("获取模板列表") + @GetMapping("/getlist") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize, + @RequestParam(value = "Name",required = false) String Name) + { + Page<ReplyTemplateEntity> pageParam = new Page<>(pageNum,pageSize); + List<ReplyTemplateEntity> list = iReplyTemplateService.selectConfigList(pageParam,pageSize,Name); + int num=iReplyTemplateService.countNum(Name); + return getDataTable(list,num); + } + + /** + * 获取详情 + * @param Id + * @return + */ + @ApiOperation("获取详情") + @GetMapping("/getdata") + public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id) + { + if(StringUtils.isEmpty(Id)) + { + return ResultData.error("Id不能为空"); + } + return ResultData.success(iReplyTemplateService.selectConfigData(Id)); + } + + /** + * 新增模板 + * @param entity + * @return + */ + @ApiOperation("新增模板") + @PostMapping("/add") + @Authorization + public ResultData insertConfig(@RequestBody ReplyTemplateEntity entity,@CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getName())) + { + return ResultData.error("模板名称不能为空"); + } + + entity.setId(null); + entity.setDepartmentId(sysUser.getDepartmentId()); + entity.setCreateUserId(sysUser.getUserId()+""); + + return toAjax(iReplyTemplateService.insertConfig(entity)); + } + + /** + * 更新模板 + * @param entity + * @return + */ + @ApiOperation("更新模板") + @PostMapping("/update") + public ResultData updateConfig(@RequestBody ReplyTemplateEntity entity) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getName())) + { + return ResultData.error("模板名称不能为空"); + } + return toAjax(iReplyTemplateService.updateConfig(entity)); + } + + /** + * 删除模板 + * @param Id + * @return + */ + @ApiOperation("删除模板") + @DeleteMapping("/delete") + public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) + { + return toAjax(iReplyTemplateService.deleteConfigById(Id)); + } + + + /** + * 复制模板 + * @param Id + * @return + */ + @ApiOperation("复制模板") + @PostMapping("/copy") + public ResultData copy(@RequestParam(value = "Id",required = false) String Id) + { + if(StringUtils.isEmpty(Id)) + { + return ResultData.error("Id不能为空"); + } + + ReplyTemplateEntity entity=iReplyTemplateService.selectConfigData(Id); + + if(entity==null) + { + return ResultData.error("模板不存在!"); + } + entity.setId(null); + return toAjax(iReplyTemplateService.insertConfig(entity)); + } + + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/RoleManagementController.java b/flower_city/src/main/java/com/dg/core/controller/RoleManagementController.java new file mode 100644 index 0000000..c724c8d --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/RoleManagementController.java @@ -0,0 +1,94 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.RoleManagementEntity; +import com.dg.core.service.IRoleManagementService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = {"角色管理接口"}) +@RestController +@RequestMapping("/role") +public class RoleManagementController extends BaseController +{ + + @Autowired + IRoleManagementService iRoleManagementService; + + /** + * 查询角色列表 + * @param pageNum + * @param pageSize + * @return + */ + @ApiOperation("查询角色列表") + @GetMapping("/getList") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize) + { + if(pageNum==null) + { + return getDataTable("分页不能为空"); + } + + if(pageSize==null) + { + return getDataTable("分页条数不能为空"); + } + + Page<RoleManagementEntity> pageParam = new Page<>(pageNum,pageSize); + List<RoleManagementEntity> list = iRoleManagementService.selectConfigList(pageParam,pageSize); + + int num=iRoleManagementService.countNum(); + return getDataTable(list,num); + } + + /** + * 新增角色 + * @param entity + * @return + */ + @ApiOperation("新增角色") + @PostMapping("/add") + public ResultData insertConfig(@RequestBody RoleManagementEntity entity) + { +// entity.setCreateUserId(sysUser.getUserId()+""); + return toAjax(iRoleManagementService.insertConfig(entity)); + } + + /** + * 编辑角色 + * @param entity + * @return + */ + @ApiOperation("编辑角色") + @PostMapping("/update") + public ResultData updateConfig(@RequestBody RoleManagementEntity entity) + { +// entity.setUpdateUserId(sysUser.getUserId()+""); + return toAjax(iRoleManagementService.updateConfig(entity)); + } + + /** + * 删除角色 + * @param Id + * @return + */ + @DeleteMapping("/delete") + public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) + { + if(StringUtils.isEmpty(Id)) + { + return ResultData.error("Id 不能为空"); + } + return toAjax(iRoleManagementService.deleteConfigById(Id)); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/SlideshowController.java b/flower_city/src/main/java/com/dg/core/controller/SlideshowController.java new file mode 100644 index 0000000..0fd54d1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/SlideshowController.java @@ -0,0 +1,79 @@ +package com.dg.core.controller; + +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.Agreement; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import com.dg.core.db.gen.entity.Slideshow; +import com.dg.core.service.ISlideshowService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = {"轮播图接口"}) +@RestController +@RequestMapping("/slideshow") +public class SlideshowController extends BaseController{ + + @Autowired(required = true) + ISlideshowService iSlideshowService; + + /** + * 查询轮播图列表(不分页) + * @return + */ + @ApiOperation(value = "查询轮播图列表(不分页)",response = Slideshow.class) + @GetMapping("/selectList") + public ResultData selectList(){ + return ResultData.success(iSlideshowService.selectList()); + + } + + /** + * 根据id 查询轮播图数据 + * + * @return 参数配置信息 + */ + @ApiOperation(value = "根据id 查询轮播图数据",response = Slideshow.class) + @GetMapping("/selectById") + public ResultData queryById(Integer id){ + return ResultData.success(iSlideshowService.queryById(id)); + } + + + /** + * 根据id 新增轮播图数据 + * + * @return 参数配置信息 + */ + @ApiOperation(value = "新增轮播图数据",response = Slideshow.class) + @PostMapping("/add") + public ResultData add(@RequestBody Slideshow slideshow){ + return iSlideshowService.add(slideshow); + } + + /** + * 修改轮播图数据 + * + * @return 参数配置信息 + */ + @ApiOperation(value = "修改轮播图数据",response = Slideshow.class) + @PostMapping("/update") + public ResultData update(@RequestBody Slideshow slideshow){ + return iSlideshowService.update(slideshow); + } + + /** + * 删除轮播图数据 + * + * @return 参数配置信息 + */ + @ApiOperation(value = "删除轮播图数据",response = Slideshow.class) + @GetMapping("/delete") + public ResultData delete(@RequestParam("id") Integer id){ + return iSlideshowService.delete(id); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java b/flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java new file mode 100644 index 0000000..3bb5691 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java @@ -0,0 +1,188 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.Slideshow; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.manual.pojo.QueryResults; +import com.dg.core.db.manual.pojo.RecommendResult; +import com.dg.core.db.manual.pojo.Search; +import com.dg.core.service.ITransactionEventService; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = {"导办事项管理接口"}) +@RestController +@RequestMapping("/transaction") +public class TransactionEventController extends BaseController +{ + + @Autowired(required = true) + ITransactionEventService iTransactionEventService; + + /** + * 查询导办事务详情 + * @param Id + * @return + */ + @ApiOperation("查询导办事务详情") + @GetMapping("/getData") + public ResultData selectConfigData(@RequestParam("Id") String Id) + { + Assert.notNull(Id, "Id 不能为空"); + return ResultData.success(iTransactionEventService.selectConfigData(Id)); + } + + /** + * 导办事物列表 + * @param + * @return + */ + @ApiOperation("导办事物列表") + @GetMapping("/getList") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize, + @RequestParam(value = "matterAndUser",required = false) String matterAndUser, + @RequestParam(value = "classifyGrade",required = false) String classifyGrade) + { + Assert.notNull(pageNum, "pageNum 不能为空"); + Assert.notNull(pageSize, "pageSize 不能为空"); + Page<TransactionEvent> pageParam = new Page<>(pageNum,pageSize); + List<TransactionEvent> list = iTransactionEventService.selectConfigList(pageParam,pageSize,matterAndUser,classifyGrade); + int num=iTransactionEventService.countNum(matterAndUser,classifyGrade); + return getDataTable(list,num); + } + + /** + * 导办事物列表(不分页) + * @param + * @return + */ + @ApiOperation(value = "导办事物列表(不分页)",response = TransactionEvent.class) + @GetMapping("/selectList") + public TableDataInfo selectList() + { + return getDataTable(iTransactionEventService.selectList()); + } + + /** + * 新增导办事务 + * @param entity + * @return + */ + @ApiOperation("新增导办事务") + @PostMapping("/add") + public ResultData insertConfig(@RequestBody TransactionEvent entity) + { + return toAjax(iTransactionEventService.insertConfig(entity)); + } + + /** + * 修改导办事务 + * @param entity + * @return + */ + @ApiOperation("修改导办事务") + @PostMapping("/update") + public ResultData updateConfig(@RequestBody TransactionEvent entity) + { + return toAjax(iTransactionEventService.updateConfig(entity)); + } + + /** + * 删除接口 + * @param Id + * @return + */ + @ApiOperation("删除导办事务") + @DeleteMapping("/delete") + public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) + { + + Assert.notNull(Id, "Id 不能为空"); + return toAjax(iTransactionEventService.deleteConfigById(Id)); + } + + /** + * 导办事务搜索 + * @param keyWord + * @return + */ + @ApiOperation(value = "导办事务搜索",response = QueryResults.class) + @GetMapping("/queryKeyWordList") + public QueryResults queryMatterNameList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize, + @RequestParam(value = "recommendSize",required = false) Integer recommendSize, + @RequestParam(value = "keyWord",required = false) String keyWord) + { + Assert.notNull(pageNum, "pageNum 不能为空"); + Assert.notNull(pageSize, "pageSize 不能为空"); + Assert.notNull(keyWord, "keyWord 不能为空"); + Assert.notNull(keyWord, "recommendSize 不能为空"); + Page<Search> pageParam = new Page<>(pageNum,pageSize); + QueryResults queryResults = iTransactionEventService.queryMatterNameList(pageParam, pageSize,recommendSize, keyWord); + return queryResults; + } + + + /** + * 根据分离查询导办事务 + * @param classifyId + * @return + */ + @ApiOperation(value = "根据分类查询导办事务",response = TransactionEvent.class) + @GetMapping("/queryByClassifyIdList") + public TableDataInfo queryByClassifyIdList(@RequestParam("classifyId") String classifyId,@RequestParam(required = false,name="departmentId") Integer departmentId){ + return getDataTable(iTransactionEventService.queryByClassifyIdList(classifyId,departmentId),iTransactionEventService.countNumByClassifyIdList(classifyId,departmentId)); + } + + /** + * 根据查询时间查询导办事务 + * @return + */ + @ApiOperation(value = "根据查询时间查询导办事务",response = TransactionEvent.class) + @GetMapping("/queryByQueryTime") + public TableDataInfo queryByQueryTime() { + List<TransactionEvent> transactionEvents = iTransactionEventService.queryByQueryTime( ); + return getDataTable(transactionEvents); + } + + /** + * 根据浏览次数查询导办事务 + * @return + */ + @ApiOperation(value = "根据浏览次数查询导办事务",response = TransactionEvent.class) + @GetMapping("/queryByBrowseNum") + public TableDataInfo queryByBrowseNum() { + List<TransactionEvent> transactionEvents = iTransactionEventService.queryByBrowseNum( ); + return getDataTable(transactionEvents); + } + + /** + * 查询导办事务求和 + * @return + */ + @ApiOperation(value = "查询导办事务求和",response = TransactionEvent.class) + @GetMapping("/sumTransactionNum") + public ResultData sumTransactionNum(){ + return ResultData.success(iTransactionEventService.sumTransactionNum()); + } + + /** + * 智能咨询 + * @return + */ + @ApiOperation(value = "智能咨询",response = RecommendResult.class) + @GetMapping("/smartConsulting") + public RecommendResult smartConsulting(@RequestParam("keyWord") String keyWord){ + return iTransactionEventService.smartConsulting(keyWord); + + } + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/UserController.java b/flower_city/src/main/java/com/dg/core/controller/UserController.java new file mode 100644 index 0000000..0b73956 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/UserController.java @@ -0,0 +1,232 @@ +package com.dg.core.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dg.core.HttpStatus; +import com.dg.core.ResultData; +import com.dg.core.annotation.Authorization; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.manager.TokenManager; +import com.dg.core.util.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Api(tags = {"用户接口"}) +@RestController +@RequestMapping("/user") +public class UserController extends BaseController{ + @Autowired + com.dg.core.service.ISysUserService IUserService; + + + @Autowired + TokenManager tokenManager; + + @ApiOperation("登录接口") + @PostMapping(path = "/login") + public ResultData login(@RequestParam String account, @RequestParam String password, HttpServletRequest request) { + Assert.notNull(account, "username can not be empty"); + Assert.notNull(password, "password can not be empty"); + + SysUser user = IUserService.getUserByAccount(account); + if (user == null || !password.equals(user.getPassword())) { + //提示用户名或密码错误 + return ResultData.fail(HttpStatus.UNAUTHORIZED, "用户名或密码错误"); + } + + String token = tokenManager.getTokenByUserId(user.getUserId()); +// String token = tokenManager.createToken(user.getUserId(), user.getRoleId()); + System.out.println("token "+token); + if (token == null) { + //生成一个token,保存用户登录状态 + token = tokenManager.createToken(user.getUserId(), user.getUserId()); + } + + user.setLoginDate(LocalDateTime.now()); + //更新登录时间 + IUserService.updateConfig(user); + + Map<String, Object> map = new HashMap<>(); + map.put("token", token); + map.put("userId", user.getUserId()); + map.put("userName", user.getUserName()); + + return ResultData.success(map); + } + + /** + * 查询列表 + * + * @return 参数配置信息 + */ + @ApiOperation("用户列表接口") + @GetMapping("/getlist") + public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, + @RequestParam(value = "pageSize",required = false) Integer pageSize) + { + Assert.notNull(pageNum, "pageNum can not be empty"); + Assert.notNull(pageSize, "pageSize can not be empty"); + Page<SysUser> pageParam = new Page<>(pageNum,pageSize); + List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,"1"); + + int num=IUserService.selectNum("1"); + return getDataTable(list,num); + } + + + /** + * 新增用户 + * + * @param config 参数配置信息 + * @return 结果 + */ + @ApiOperation("新增用户接口") + @PostMapping("/add") + @Authorization + public ResultData insertConfig(@RequestBody SysUser config) + { + Assert.notNull(config, "parameter can not be empty"); + + if(StringUtils.isEmpty(config.getLoginName())) + { + return error("账户不能为空"); + } + + if(StringUtils.isEmpty(config.getPassword())) + { + return error("密码不能为空"); + } + + if(StringUtils.isEmpty(config.getUserName())) + { + return error("昵称不能为空"); + } + + SysUser user = IUserService.getUserByAccount(config.getLoginName()); + if (user != null) { + //提示用户名或密码错误 + return error("该账户已存在!"); + } + + config.setUserType("1"); + + config.setCreateTime(LocalDateTime.now()); + config.setUpdateTime(LocalDateTime.now()); + + return toAjax(IUserService.insertConfig(config)); + } + + /** + * 更新聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + @ApiOperation("修改用户接口") + @PostMapping("/update") + @Authorization + public ResultData updateConfig(@RequestBody SysUser config) + { + if(config.getUserId()==null) + { + return error("userId不能为空"); + } + + if(StringUtils.isEmpty(config.getLoginName())) + { + return error("账户不能为空"); + } + + config.setUserType("1"); + + return toAjax(IUserService.updateConfig(config)); + } + + /** + * 删除用户记录 + * + * @return 结果 + */ + @ApiOperation("删除用户接口(真删除)") + @DeleteMapping("/delete/{userId}") + @Authorization + public ResultData deleteConfigById(@PathVariable("userId") String userId) + { + if(StringUtils.isEmpty(userId)) + { + return error("userId不能为空"); + } + return toAjax(IUserService.deleteConfigById(userId)); + } + + + + /** + * 删除用户记录 + * + * @return 结果 + */ + @ApiOperation("删除用户接口(修改状态 设置成已删除)") + @DeleteMapping("/deleteflag/{userId}") + @Authorization + public ResultData delete(@PathVariable("userId") String userId) + { + if(StringUtils.isEmpty(userId)) + { + return error("userId不能为空"); + } + + SysUser sysUser=IUserService.getUserById(Long.valueOf(userId)); + //删除标志(0代表存在 2代表删除) + sysUser.setDelFlag("2"); + return toAjax(IUserService.updateConfig(sysUser)); + } + + + /** + * 修改用户密码接口 + * + * @param config 参数配置信息 + * @return 结果 + */ + @ApiOperation("修改用户密码接口") + @PostMapping("/updatepws") + @Authorization + public ResultData updatePws(@RequestBody SysUser config) + { + if(config.getUserId()==null) + { + return error("userId不能为空"); + } + + if(StringUtils.isEmpty(config.getPassword())) + { + return error("密码不能为空"); + } + + SysUser sysUser=IUserService.getUserById(config.getUserId()); + if(sysUser==null) + { + return error("用户不存在"); + } + + if(StringUtils.equals(sysUser.getPassword(),config.getPassword())) + { + return error("输入密码与原密码不能相同!"); + } + + return toAjax(IUserService.updateConfig(config)); + } + + + +} diff --git a/flower_city/src/main/java/com/dg/core/controller/WeixinApiController.java b/flower_city/src/main/java/com/dg/core/controller/WeixinApiController.java new file mode 100644 index 0000000..69cf49c --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/controller/WeixinApiController.java @@ -0,0 +1,41 @@ +package com.dg.core.controller; + +import com.dg.core.ResultData; +import com.dg.core.db.manual.mapper.util.ConstantPropertiesUtil; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Map; + +@Controller +@RequestMapping("/ucenter/wx") +public class WeixinApiController { + +// @Resource +// private UserInfoService userInfoService; + @Resource + private RedisTemplate redisTemplate; + + /** + * 获取微信登录参数 + */ + @GetMapping("/getLoginParam") + @ResponseBody + public ResultData genQrConnect(HttpSession session) throws UnsupportedEncodingException { + String redirectUri = URLEncoder.encode(ConstantPropertiesUtil.WX_OPEN_REDIRECT_URL, "UTF-8"); + Map<String, Object> map = new HashMap<>(); + map.put("appid", ConstantPropertiesUtil.WX_OPEN_APP_ID); + map.put("redirectUri", redirectUri); + map.put("scope", "snsapi_login"); + map.put("state", System.currentTimeMillis()+"");//System.currentTimeMillis()+"" + return ResultData.success(map); + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/db/gen/AjaxResult.java b/flower_city/src/main/java/com/dg/core/db/gen/AjaxResult.java new file mode 100644 index 0000000..e199de4 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/AjaxResult.java @@ -0,0 +1,163 @@ +package com.dg.core.db.gen; + +import com.dg.core.HttpStatus; +import io.swagger.annotations.ApiModel; + +import java.util.HashMap; + +/** + * 操作消息提醒 + * + * @author ruoyi + */ +@ApiModel(value = "返回对象") +public class AjaxResult<T> extends HashMap<String, Object> +{ + private static final long serialVersionUID = 1L; + + /** 状态码 */ + public static final String CODE_TAG = "code"; + + /** 返回内容 */ + public static final String MSG_TAG = "msg"; + + /** 数据对象 */ + public static final String DATA_TAG = "data"; + + /** + * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。 + */ + public AjaxResult() + { + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + */ + public AjaxResult(int code, String msg) + { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + * @param data 数据对象 + */ + public AjaxResult(int code, String msg, Object data) + { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + super.put(DATA_TAG, data); + } + + /** + * 返回成功消息 + * + * @return 成功消息 + */ + public static AjaxResult success() + { + return AjaxResult.success("操作成功"); + } + + /** + * 返回成功数据 + * + * @return 成功消息 + */ + public static AjaxResult success(Object data) + { + + + return AjaxResult.success("操作成功", data); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @return 成功消息 + */ + public static AjaxResult success(String msg) + { + return AjaxResult.success(msg, null); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 成功消息 + */ + public static AjaxResult success(String msg, Object data) + { + return new AjaxResult(HttpStatus.SUCCESS, msg, data); + } + + /** + * 返回错误消息 + * + * @return + */ + public static AjaxResult error() + { + return AjaxResult.error("操作失败"); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult error(String msg) + { + return AjaxResult.error(msg, null); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 警告消息 + */ + public static AjaxResult error(String msg, Object data) + { + return new AjaxResult(HttpStatus.ERROR, msg, data); + } + + /** + * 返回错误消息 + * + * @param code 状态码 + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult error(int code, String msg) + { + return new AjaxResult(code, msg, null); + } + + /** + * 方便链式调用 + * + * @param key 键 + * @param value 值 + * @return 数据对象 + */ + @Override + public AjaxResult put(String key, Object value) + { + super.put(key, value); + return this; + } +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/Agreement.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/Agreement.java new file mode 100644 index 0000000..9fcc6f6 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/Agreement.java @@ -0,0 +1,88 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 相关协议 + * </p> + * + * @author fengjin + * @since 2022-09-22 + */ +@TableName("automessage_agreement") +@Data +@ApiModel("相关协议实体类") +public class Agreement implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 协议名称 + */ + @ApiModelProperty("协议名称") + private String agreement; + + /** + * 修改人id + */ + @ApiModelProperty("修改人id") + private String updateUserId; + + /** + * 修改时间 + */ + @ApiModelProperty("修改时间") + private LocalDateTime updateTime; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + private String createUserId; + + /** + * 协议内容 + */ + @ApiModelProperty("协议内容") + private String agreementContent; + + /** + * 上次修改人名称 + */ + @TableField(exist = false) + @ApiModelProperty("上次修改人名称") + private String updateUserName; + + /** + * 创建人名称 + */ + @TableField(exist = false) + @ApiModelProperty("创建人名称") + private String createUserName; + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/AreaCode2022.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/AreaCode2022.java new file mode 100644 index 0000000..db06081 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/AreaCode2022.java @@ -0,0 +1,51 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * <p> + * + * </p> + * + * @author fengjin + * @since 2022-09-20 + */ +@TableName("area_code_2022") +@Data +@ApiModel("所属地区实体类") +public class AreaCode2022 implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 区划代码 + */ + @ApiModelProperty("区划代码") + private Long code; + + /** + * 名称 + */ + @ApiModelProperty("name") + private String name; + + /** + * 级别1-5,省市县镇村 + */ + @ApiModelProperty("级别1-5,省市县镇村") + private Boolean level; + + /** + * 父级区划代码 + */ + @ApiModelProperty("父级区划代码") + private Long pcode; + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/ClassifyAdministration.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/ClassifyAdministration.java new file mode 100644 index 0000000..c82063e --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/ClassifyAdministration.java @@ -0,0 +1,79 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +@ApiModel("分类管理实体类") +@Data +public class ClassifyAdministration implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 分类级别 1 一级 2 二级 + */ + @ApiModelProperty(name = "classifyGrade", value = "分类级别 1 一级 2 二级 ") + private String classifyGrade; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "createTime", value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(name = "updateTime", value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 分类图片地址 + */ + @ApiModelProperty(name = "classifyIcon", value = "分类图片地址") + private String classifyIcon; + + /** + * 上级分类 + */ + @ApiModelProperty(name = "parentId", value = "上级分类") + private String parentId; + + /** + * 分类名字 + */ + @ApiModelProperty(name = "classifyName", value = "分类名字") + private String classifyName; + + /** + * 父级分类名字 + */ + @TableField(exist = false) + @ApiModelProperty(name = "parentName", value = "父级分类名字") + private String parentName; + + @TableField(exist = false) + @ApiModelProperty(name = "ClassifyAdministrationEntityList", value = "父级分类名字") + private List<ClassifyAdministration> ClassifyAdministrationEntityList; + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/ElseAccessoryEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/ElseAccessoryEntity.java new file mode 100644 index 0000000..59a8597 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/ElseAccessoryEntity.java @@ -0,0 +1,67 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@ApiModel("其他附件管理实体类") +public class ElseAccessoryEntity implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 部门id + */ + @ApiModelProperty(name = "departmentId", value = "部门id") + private String departmentId; + + /** + * 部门id + */ + @TableField(exist = false) + @ApiModelProperty(name = "departmentName", value = "部门名称") + private String departmentName; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "createTime", value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(name = "updateTime", value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 事项名称 + */ + @ApiModelProperty(name = "name", value = "事项名称") + private String name; + + /** + * 文件地址 + */ + @ApiModelProperty(name = "url", value = "文件地址") + private String url; + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideEvolveEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideEvolveEntity.java new file mode 100644 index 0000000..d20d3c1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideEvolveEntity.java @@ -0,0 +1,108 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@ApiModel("导办工单进展记录表") +public class GuideEvolveEntity implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + + /** + * 发起人部门id + */ + @ApiModelProperty(name = "departmentalId", value = "发起人部门id") + private String departmentalId; + + /** + * 接收人部门id + */ + @ApiModelProperty(name = "fromDepartmentalId", value = "接收人部门id") + private String fromDepartmentalId; + + /** + * 发起人 + */ + @ApiModelProperty(name = "toUserId", value = "发起人") + private String toUserId; + + /** + * 接收人 + */ + @ApiModelProperty(name = "fromUserId", value = "接收人") + private String fromUserId; + + /** + * 状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消6 已超时 7超时未办结 8未解决 9已解决 10 系统自动分配 11 回复 12转派 13手动分配) + */ + @ApiModelProperty(name = "state", value = "状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消6 已超时 7超时未办结 8未解决 9已解决 10 系统自动分配 11 回复 12转派 13手动分配)") + private String state; + + /** + * 备注内容 + */ + @ApiModelProperty(name = "remark", value = "备注内容") + private String remark; + + /** + * 工单id + */ + @ApiModelProperty(name = "guideId", value = "工单id") + private String guideId; + + /** + * 办事指南id + */ + @ApiModelProperty(name = "transactionId", value = "办事指南id") + private String transactionId; + + /** + * 附件id(系统列表选择) + */ + @ApiModelProperty(name = "accessoryId", value = "附件id(系统列表选择)") + private String accessoryId; + + /** + * 用户手动上传附件名称 + */ + @ApiModelProperty(name = "accessoryName", value = "用户手动上传附件名称") + private String accessoryName; + + /** + * 用户手动上传附件url + */ + @ApiModelProperty(name = "accessoryUrl", value = "用户手动上传附件url") + private String accessoryUrl; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "updateTime", value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(name = "updateTime", value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java new file mode 100644 index 0000000..fcffc39 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java @@ -0,0 +1,200 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +/** + * <p> + * 导办工单管理 + * </p> + * + * @author fengjin + * @since 2022-09-19 + */ +@TableName("automessage_guide_repair_order") +@Data +@ApiModel("导办工单管理实体类") +public class GuideRepairOrder implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 主键id + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 工单号 + */ + @ApiModelProperty("工单号") + private String orderNum; + + /** + * 事项id + */ + @ApiModelProperty("事项id") + private Integer matterId; + + /** + * 事项名称 + */ + @ApiModelProperty("事项名称") + private String matterName; + + /** + * 创建部门id + */ + @ApiModelProperty("创建部门id") + private String departmentId; + + /** + * 分类id + */ + @ApiModelProperty("分类id") + private String classifyId; + + /** + * 咨询内容 + */ + @ApiModelProperty("咨询内容") + private String consultContent; + + /** + * 咨询人姓名 + */ + @ApiModelProperty("咨询人姓名") + private String consultUserName; + + /** + * 提交用户 + */ + @ApiModelProperty("提交用户") + private String submitUserId; + + /** + * 导办人员 + */ + @ApiModelProperty("导办人员") + private String guideUserId; + + /** + * 导办部门 + */ + @ApiModelProperty("导办部门") + private String guideDepartmentId; + + /** + * 状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 6 已超时 7超时未办结 8未解决 9已解决) + */ + @ApiModelProperty("状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 6 已超时 7超时未办结 8未解决 9已解决)") + private String state; + + /** + * 咨询人电话 + */ + @ApiModelProperty("咨询人电话") + private String consultUserPhone; + + /** + * 提交用户电话 + */ + @ApiModelProperty("提交用户电话") + private String submitUserPhone; + + /** + * 导办人员电话 + */ + @ApiModelProperty("导办人员电话") + private String guideUserPhone; + + /** + * 所属地区 + */ + @ApiModelProperty("所属地区") + private String areaCode; + + /** + * 详情地址 + */ + @ApiModelProperty("详情地址") + private String detailedAddress; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty(name = "images", value = "图片地址(用逗号分隔)") + private String images; + + @ApiModelProperty(name = "video", value = "视频地址") + private String video; + + @TableField(exist = false) + @ApiModelProperty(name = "guideRepairOrderList", value = "工单处理进度") + List<GuideEvolveEntity> guideEvolveEntities; + + + @ApiModelProperty(name = "evaluateContent", value = "评价内容") + private String evaluateContent; + + @ApiModelProperty(name = "suggest", value = "建议") + private String suggest; + + @ApiModelProperty(name = "evaluateState", value = "评价状态") + private String evaluateState; + + @ApiModelProperty(name = "serviceState", value = "服务状态(1.已解决 2.未解决)") + private Integer serviceState; + + + @Override + public String toString() { + return "GuideRepairOrder{" + + "id=" + id + + ", orderNum=" + orderNum + + ", matterId=" + matterId + + ", matterName=" + matterName + + ", departmentId=" + departmentId + + ", classifyId=" + classifyId + + ", consultContent=" + consultContent + + ", consultUserId=" + consultUserName + + ", submitUserId=" + submitUserId + + ", guideUserId=" + guideUserId + + ", guideDepartmentId=" + guideDepartmentId + + ", state=" + state + + ", consultUserPhone=" + consultUserPhone + + ", submitUserPhone=" + submitUserPhone + + ", guideUserPhone=" + guideUserPhone + + "}"; + } + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrderImage.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrderImage.java new file mode 100644 index 0000000..295d8c8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrderImage.java @@ -0,0 +1,60 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * <p> + * 导办功能图片表 + * </p> + * + * @author fengjin + * @since 2022-09-19 + */ +@TableName("automessage_guide_repair_order_image") +@ApiModel("导办工单图片管理实体类") +@Data +public class GuideRepairOrderImage implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty("主键id") + private Long id; + + /** + * 导办工单id + */ + @ApiModelProperty("导办工单id") + private String guideRepairOrderId; + + /** + * 路径 + */ + @ApiModelProperty("路径") + private String url; + + + /** + * 路径 + */ + @ApiModelProperty("类型1,视频 2.图片") + private Integer type; + + + + @Override + public String toString() { + return "GuideRepairOrderImg{" + + "id=" + id + + ", guideRepairOrderId=" + guideRepairOrderId + + ", url=" + url + + "}"; + } +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/KeywordEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/KeywordEntity.java new file mode 100644 index 0000000..811ead1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/KeywordEntity.java @@ -0,0 +1,38 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@ApiModel("关键词实体类") +@Data +@TableName("automessage_keyword") +public class KeywordEntity implements Serializable +{ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("关键词") + private String name; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + @ApiModelProperty("关键词关联ids") + private String transactionId; +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/MenuEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/MenuEntity.java new file mode 100644 index 0000000..1639421 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/MenuEntity.java @@ -0,0 +1,56 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@ApiModel("菜单实体类") +@Data +public class MenuEntity implements Serializable +{ + + /** + * 主键id + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 标题 + */ + @ApiModelProperty("标题") + private String title; + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + /** + * 备注 + */ + @ApiModelProperty("备注") + private String remark; + /** + * 父节点id + */ + @ApiModelProperty("父节点id") + private Long parentId; + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/OrganizationChartEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/OrganizationChartEntity.java new file mode 100644 index 0000000..54664ac --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/OrganizationChartEntity.java @@ -0,0 +1,122 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +@ApiModel("组织架构实体类") +@Data +@TableName("automessage_organization_chart") +public class OrganizationChartEntity implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 单位名称 + */ + @ApiModelProperty("单位名称") + private String organizationName; + + /** + * 办理区域(市) + */ + @ApiModelProperty("办理区域(市)") + private String city; + + + /** + * 办理区域(区) + */ + @ApiModelProperty("办理区域(区)") + private String district; + + /** + * 办理区域(乡) + */ + @ApiModelProperty("办理区域(乡)") + private String village; + + /** + * 详细地址 + */ + @ApiModelProperty("详细地址") + private String detailedAddress; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + + /** + * 父级单位id + */ + @ApiModelProperty("父级单位id") + private String parentId; + + /** + * 机构等级 + */ + @ApiModelProperty("机构等级") + private String grade; + + /** + * 机构等级 + */ + @ApiModelProperty("部门简历") + private String resume; + + /** + * 机构等级 + */ + @ApiModelProperty("联系电话") + private String contactNumber; + + /** + * 机构等级 + */ + @ApiModelProperty("部门应用") + private String departmentalApplication; + + /** + * 下属机构 + */ + @TableField(exist = false) + @ApiModelProperty("下属机构") + private List<OrganizationChartEntity> child; + + /** + * 父级部门名称 + */ + @TableField(exist = false) + @ApiModelProperty("下属机构") + private String parentName; + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/ReplyTemplateEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/ReplyTemplateEntity.java new file mode 100644 index 0000000..77f2e3e --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/ReplyTemplateEntity.java @@ -0,0 +1,134 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@ApiModel("回复模板实体类") +@Data +public class ReplyTemplateEntity implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 模板名称 + */ + @ApiModelProperty("模板名称") + private String name; + + /** + * 办结状态(1已办结 0未办结) + */ + @ApiModelProperty("办结状态(1已办结 0未办结)") + private String handleState; + + /** + * 回复内容 + */ + @ApiModelProperty("回复内容") + private String response; + + /** + * 办事指南 + */ + @ApiModelProperty("办事指南 ") + private String guidance; + + /** + * 上传附件url + */ + @ApiModelProperty("上传附件url") + private String accessoryUrl; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 单位名称 + */ + @ApiModelProperty("上传附件名字") + private String accessoryName; + /** + * 单位名称 + */ + @ApiModelProperty("视频url") + private String videoUrl; + /** + * 单位名称 + */ + @ApiModelProperty("视频名字") + private String videoName; + + /** + * 单位名称 + */ + @ApiModelProperty("图片url") + private String pictureUrl; + /** + * 单位名称 + */ + @ApiModelProperty("图片名字") + private String pictureName; + + + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + private String createUserId; + + + /** + * 创建人姓名 + */ + @TableField(exist = false) + @ApiModelProperty("创建人姓名") + private String createUser; + + /** + * 创建人部门id + */ + @ApiModelProperty("创建人部门id") + private String departmentId; + + /** + * 创建人部门名称 + */ + @TableField(exist = false) + @ApiModelProperty("创建人部门名称") + private String departmentName; + + /** + * 附件id + */ + @ApiModelProperty("附件id") + private String accessoryId; + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/RoleManagementEntity.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/RoleManagementEntity.java new file mode 100644 index 0000000..3f23040 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/RoleManagementEntity.java @@ -0,0 +1,71 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + + +@ApiModel("角色管理实体类") +@Data +@TableName("automessage_role_management") +public class RoleManagementEntity implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * + */ + @ApiModelProperty("角色名称") + private String roleName; + + /** + * 创建者id + */ + @ApiModelProperty("创建者id") + private String createUserId; + + /** + * + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 修改人员id + */ + @ApiModelProperty("修改人员id") + private String updateUserId; + + /** + * 修改时间 + */ + @ApiModelProperty("修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + + /** + * 权限 + */ + @ApiModelProperty("权限") + private String permission; + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/Slideshow.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/Slideshow.java new file mode 100644 index 0000000..bd3382e --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/Slideshow.java @@ -0,0 +1,72 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 轮播图 + * </p> + * + * @author fengjin + * @since 2022-09-19 + */ +@ApiModel("轮播图实体类") +@Data +@TableName("automessage_slideshow") +public class Slideshow implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 图片地址 + */ + @ApiModelProperty("图片地址") + private String url; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + /** + * 链接类型(1.暂不设置2.富文本3.微信文章) + */ + @ApiModelProperty("链接类型(1.暂不设置2.富文本3.微信文章)") + private Integer linkType; + + /** + * 文章链接 + */ + @ApiModelProperty("文章链接") + private String link; + + /** + * 文章标题 + */ + @ApiModelProperty("文章标题") + private String title; + + /** + * 文章内容 + */ + @ApiModelProperty("文章内容") + private String content; + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java new file mode 100644 index 0000000..cbf346c --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java @@ -0,0 +1,229 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 用户信息表 + * </p> + * + * @author xiang + * @since 2022-07-05 + */ +@ApiModel("用户信息实体类") +@Data +@TableName("automessage_sys_user") +public class SysUser implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 用户ID + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "user_id", type = IdType.AUTO) + private Long userId; + + + /** + * 登录账号 + */ + @ApiModelProperty("登录账号") + private String loginName; + + /** + * 用户昵称 + */ + @ApiModelProperty("用户昵称") + private String userName; + + /** + * 用户类型(1系统后台用户 2导办人员用户) + */ + @ApiModelProperty("用户类型(1系统后台用户 2导办人员用户)") + private String userType; + + + /** + * 手机号码 + */ + @ApiModelProperty("手机号码") + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + @ApiModelProperty("用户性别(0男 1女 2未知)") + private String sex; + + /** + * 头像路径 + */ + @ApiModelProperty("头像路径") + private String avatar; + + /** + * 密码 + */ + @ApiModelProperty("密码") + private String password; + + /** + * 盐加密 + */ + @ApiModelProperty("加密") + private String salt; + + /** + * 帐号状态(0正常 1停用) + */ + @ApiModelProperty("帐号状态(0正常 1停用)") + private String status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + /** + * 最后登录IP + */ + @ApiModelProperty("最后登录IP") + private String loginIp; + + /** + * 最后登录时间 + */ + @ApiModelProperty("最后登录时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime loginDate; + + /** + * 密码最后更新时间 + */ + @ApiModelProperty("密码最后更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime pwdUpdateDate; + + /** + * 创建者 + */ + @ApiModelProperty("创建者") + private String createBy; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新者 + */ + @ApiModelProperty("更新者") + private String updateBy; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @ApiModelProperty("备注") + private String remark; + + /** + * 角色ids + */ + @ApiModelProperty("角色id") + private String roleIds; + + /** + * 数据权限 + */ + @ApiModelProperty("数据权限") + private String dataPermission; + + /** + * 部门id + */ + @ApiModelProperty("部门id") + private String departmentId; + + + /** + * 一级id + */ + @ApiModelProperty("一级id") + private String stairId; + + /** + * 二级id + */ + @ApiModelProperty("二级id") + private String secondLevelId; + + /** + * 所属部门名称 + */ + @ApiModelProperty("所属部门名称") + private String departmentName; + + /** + * 部门所属区域 + */ + @ApiModelProperty("部门所属区域") + private String departmentArea; + + /** + * 空闲状态(0 空闲 1 忙碌) + */ + @ApiModelProperty("空闲状态(0 空闲 1 忙碌)") + private String leisureState; + + /** + * 擅长办理事务ids + */ + @ApiModelProperty("擅长办理事务ids") + private String masterIds; + + /** + * 擅长事务名称 + */ + @ApiModelProperty("擅长事务名称") + private String masterNames; + + /** + * 办结事项ids + */ + @ApiModelProperty("办结事项ids") + private String transactionIds; + + /** + * 办结事项名称 + */ + @ApiModelProperty("办结事项名称") + private String transactionNames; + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/TransactionEvent.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/TransactionEvent.java new file mode 100644 index 0000000..e43a231 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/TransactionEvent.java @@ -0,0 +1,262 @@ +package com.dg.core.db.gen.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@ApiModel("导办事项管理实体类") +@Data +@TableName("automessage_transaction_event") +public class TransactionEvent implements Serializable +{ + /** + * 主键id + */ + @ApiModelProperty("主键id") + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 所属部门id + */ + @ApiModelProperty("所属部门id") + private String departmentId; + + /** + * 部门所属区域 + */ + @ApiModelProperty("部门所属区域") + private String departmentArea; + + /** + * 分类id + */ + @ApiModelProperty("分类id") + private String classifyId; + + /** + * 所属分类等级 + */ + @TableField(exist = false) + @ApiModelProperty("所属分类等级") + private String classifyName; + + /** + * 部门名称 + */ + @TableField(exist = false) + @ApiModelProperty("部门名称") + private String departmentName; + /** + * 事项名称 + */ + @ApiModelProperty("事项名称") + private String matterName; + + /** + * 联想词ids + */ + @ApiModelProperty("联想词ids") + private String associateIds; + + /** + * 导办数量 + */ + @ApiModelProperty("导办数量") + private Integer transactionNum=0; + + /** + * 浏览数量 + */ + @ApiModelProperty("浏览数量") + private Integer browseNum=0; + + /** + * 基础信息 + */ + @ApiModelProperty("基础信息") + private String basicInformation; + + /** + * 受理条件 + */ + @ApiModelProperty("受理条件") + private String acceptConditions; + + /** + * 申请材料 + */ + @ApiModelProperty("申请材料") + private String applicationMaterial; + + /** + * 办理流程 + */ + @ApiModelProperty("办理流程") + private String handlingProcedures; + + /** + * 收费标准 + */ + @ApiModelProperty("收费标准") + private String rates; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + + /** + * 联想词内容 , 连接 + */ + @ApiModelProperty("联想词内容 , 连接") + private String associateNames; + /** + * 查找时间 + */ + @ApiModelProperty("查找时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime queryTime; + /** + * 基础信息附件url + */ + @ApiModelProperty("基础信息附件url") + private String basicInformationUrl; + /** + * 受理条件附件url + */ + @ApiModelProperty("受理条件附件url") + private String acceptConditionsUrl; + /** + * 申请材料附件url + */ + @ApiModelProperty("申请材料附件url") + private String applicationMaterialUrl; + /** + * 办理流程附件url + */ + @ApiModelProperty("办理流程附件url") + private String handlingProceduresUrl; + /** + * 收费标准附件url + */ + @ApiModelProperty("收费标准附件url") + private String ratesUrl; + /** + * 基础信息附件url + */ + @ApiModelProperty("基础信息附件url") + private String basicInformationFileName; + /** + * 附件url + */ + @ApiModelProperty("附件url") + private String acceptConditionsFileName; + /** + * 申请材料文件名称 + */ + @ApiModelProperty("申请材料文件名称") + private String applicationMaterialFileName; + /** + * 办理流程文件名称 + */ + @ApiModelProperty("办理流程文件名称") + private String handlingProceduresFileName; + /** + * 收费标准文件名称 + */ + @ApiModelProperty("收费标准文件名称") + private String ratesFileName; + + + /** + * 操作指引附件url + */ + @ApiModelProperty("操作指引附件url") + private String operationalGuidelineUrl; + + + /** + * 操作指引视频url + */ + @ApiModelProperty("操作指引视频url") + private String operationalGuidelineVideoUrl; + + + + /** + * 设定依据 + */ + @ApiModelProperty("设定依据") + private String setGist; + /** + * 设定依据url + */ + @ApiModelProperty("设定依据url") + private String setGistUrl; + /** + * 设定依据文件名称 + */ + @ApiModelProperty("设定依据文件名称") + private String setGistName; + + /** + * 常见问题 + */ + @ApiModelProperty("常见问题") + private String commonProblem; + + /** + * 常见问题附件url + */ + @ApiModelProperty("常见问题附件url") + private String commonProblemUrl; + + /** + * 常见问题文件名称 + */ + @ApiModelProperty("常见问题文件名称") + private String commonProblemName; + + + + @TableField(exist = false) + @ApiModelProperty(name = "sumTransactionNum", value = "导办服务数量") + private Integer sumTransactionNum; + + @TableField(exist = false) + @ApiModelProperty(name = "countTransaction", value = "导办服务指南数量") + private Integer countTransaction; + + @TableField(exist = false) + @ApiModelProperty(name = "sumClassifyName", value = "分类总名称") + String sumClassifyName; + + + + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/AgreementMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/AgreementMapper.java new file mode 100644 index 0000000..50ffd89 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/AgreementMapper.java @@ -0,0 +1,25 @@ +package com.dg.core.db.gen.mapper; + +import com.dg.core.db.gen.entity.Agreement; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * <p> + * 相关协议 Mapper 接口 + * </p> + * + * @author fengjin + * @since 2022-09-22 + */ +public interface AgreementMapper extends BaseMapper<Agreement> { + + + /** + * 获取相关附件列表(不分页) + * @return + */ + List<Agreement> selectConfigList(); + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/AreaCode2022Mapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/AreaCode2022Mapper.java new file mode 100644 index 0000000..c3cb89a --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/AreaCode2022Mapper.java @@ -0,0 +1,24 @@ +package com.dg.core.db.gen.mapper; + +import com.dg.core.db.gen.entity.AreaCode2022; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author fengjin + * @since 2022-09-20 + */ +public interface AreaCode2022Mapper extends BaseMapper<AreaCode2022> { + + /** + * 根据指南id获取所属地区 + * @return + */ + List<AreaCode2022> selectByIdSet( List<String> areaCodes); + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/ClassifyAdministrationMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/ClassifyAdministrationMapper.java new file mode 100644 index 0000000..a4dd2a3 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/ClassifyAdministrationMapper.java @@ -0,0 +1,75 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.ClassifyAdministration; +import com.dg.core.db.gen.entity.TransactionEvent; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface ClassifyAdministrationMapper extends BaseMapper<ClassifyAdministration> +{ + /** + * 获取管理菜单列表 + * @return + */ + public List<ClassifyAdministration> selectConfigList(@Param("classifyName") String classifyName, + @Param("classifyGrade") String classifyGrade); + + /** + * 获取管理菜单列表 + * @return + */ + public List<ClassifyAdministration> selectConfigList(IPage<ClassifyAdministration> page, + Integer state, + @Param("classifyName") String classifyName, + @Param("classifyGrade") String classifyGrade); + + /** + * 新增分类 + * @param entity + * @return + */ + public int insertConfig(ClassifyAdministration entity); + + /** + * 更新分类 + * @param entity + * @return + */ + public int updateConfig(ClassifyAdministration entity); + + /** + * 删除分类 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + + /** + * 统计数量 + * @return + */ + public int countNum(@Param("classifyName") String classifyName, + @Param("classifyGrade") String classifyGrade); + + + /** + * 获取管理菜单列表(根目录分页) + * @return + */ + List<ClassifyAdministration> selectRootList (IPage<ClassifyAdministration> page, Integer state,@Param("parentId")String parentId,@Param("departmentId")Integer departmentId); + + /** + * 获取管理菜单列表(根目录不分页) + * @return + */ + List<ClassifyAdministration> selectRootList (@Param("parentId")String parentId,@Param("departmentId")Integer departmentId); + + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/ElseAccessoryMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/ElseAccessoryMapper.java new file mode 100644 index 0000000..aca6f5c --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/ElseAccessoryMapper.java @@ -0,0 +1,58 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.ElseAccessoryEntity; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface ElseAccessoryMapper extends BaseMapper<ElseAccessoryEntity> +{ + + /** + * 获取附件列表 + * @param page + * @param state + * @param Name + * @return + */ + public List<ElseAccessoryEntity> selectConfigList(IPage<ElseAccessoryEntity> page, Integer state, @Param("Name") String Name); + + /** + * 获取附件列表全部 + * @param Name + * @return + */ + public List<ElseAccessoryEntity> selectConfigList(@Param("Name") String Name); + + + /** + * 新增列表 + * @param entity + * @return + */ + public int insertConfig(ElseAccessoryEntity entity); + + /** + * 更新列表 + * @param entity + * @return + */ + public int updateConfig(ElseAccessoryEntity entity); + + /** + * 删除 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @param Name + * @return + */ + public int countNum(String Name); + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideEvolveMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideEvolveMapper.java new file mode 100644 index 0000000..1a62614 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideEvolveMapper.java @@ -0,0 +1,44 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dg.core.db.gen.entity.GuideEvolveEntity; + +import java.util.List; + +public interface GuideEvolveMapper extends BaseMapper<GuideEvolveEntity> +{ + + /** + * 查询记录列表 + * @return + */ + public List<GuideEvolveEntity> selectConfigList(String guideId); + + /** + * 新增记录 + * @param entity + * @return + */ + public int insertConfig(GuideEvolveEntity entity); + + /** + * 更新记录 + * @param entity + * @return + */ + public int updateConfig(GuideEvolveEntity entity); + + /** + * 删除记录 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @return + */ + public int countNum(); + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderImageMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderImageMapper.java new file mode 100644 index 0000000..92eed60 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderImageMapper.java @@ -0,0 +1,16 @@ +package com.dg.core.db.gen.mapper; + +import com.dg.core.db.gen.entity.GuideRepairOrderImage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 导办功能图片表 Mapper 接口 + * </p> + * + * @author fengjin + * @since 2022-09-19 + */ +public interface GuideRepairOrderImageMapper extends BaseMapper<GuideRepairOrderImage> { + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java new file mode 100644 index 0000000..1adac4f --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java @@ -0,0 +1,49 @@ +package com.dg.core.db.gen.mapper; + +import com.dg.core.db.gen.entity.GuideRepairOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +/** + * <p> + * 导办工单管理 Mapper 接口 + * </p> + * + * @author fengjin + * @since 2022-09-19 + */ +public interface GuideRepairOrderMapper extends BaseMapper<GuideRepairOrder> +{ + + /** + * 获取详情 + * @param Id + * @param orderNum + * @return + */ + public GuideRepairOrder selectConfigData(@Param("Id") String Id, + @Param("orderNum") String orderNum); + + + /** + * 分配人员 + * @param order + * @return + */ + public int updateConfig(GuideRepairOrder order); + + + /** + * 获取个人中心工单数据 + * @param submitUserId + * @return + */ + List<GuideRepairOrder> selectBySubmitId(String submitUserId); + + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/KeywordMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/KeywordMapper.java new file mode 100644 index 0000000..c08fc20 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/KeywordMapper.java @@ -0,0 +1,61 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.KeywordEntity; +import com.dg.core.db.gen.entity.SysUser; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface KeywordMapper extends BaseMapper<KeywordEntity> +{ + /** + * 查询关键词列表 + * @return + */ + public List<KeywordEntity> selectConfigList(IPage<KeywordEntity> page, Integer state); + + /** + * 查询详情 + * @return + */ + public KeywordEntity selectConfigData(@Param("Id") String Id, + @Param("name") String name); + + + /** + * 添加关键词 + * @return + */ + public int insertConfig(KeywordEntity entity); + + /** + * 编辑关键词 + * @return + */ + public int updateConfig(KeywordEntity entity); + + /** + * 删除关键词 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @param + * @return + */ + public int countNum(); + + /** + * 更具名字查询关键词列表(不分页) + * @return + */ + List<KeywordEntity> selectByName(@Param("keyWord") String keyWord); + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/MenuMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/MenuMapper.java new file mode 100644 index 0000000..7575604 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/MenuMapper.java @@ -0,0 +1,47 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dg.core.db.gen.entity.MenuEntity; + +import java.util.List; + +public interface MenuMapper extends BaseMapper<MenuEntity> +{ + + + /** + * 获取菜单列表 + * @return + */ + public List<MenuEntity> selectConfigList(); + + + /** + * 添加新菜单 + * @return + */ + public int insertConfig(MenuEntity entity); + + /** + * 更新菜单 + * @param entity + * @return + */ + public int updateConfig(MenuEntity entity); + + /** + * 删除菜单 + * @param Id + * @return + */ + public int deleteConfigById(Long Id); + + /** + * 统计数量 + * @return + */ + public int countNum(); + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/OrganizationChartMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/OrganizationChartMapper.java new file mode 100644 index 0000000..7b18e3d --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/OrganizationChartMapper.java @@ -0,0 +1,50 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import org.springframework.data.repository.query.Param; + +import java.util.List; + + +public interface OrganizationChartMapper extends BaseMapper<OrganizationChartEntity> +{ + /** + * 查询机构列表 + */ + public List<OrganizationChartEntity> selectConfigList(@Param("parentId") String parentId, + @Param("grade") String grade); + + /** + * 新增机构 + */ + public int insertConfig(OrganizationChartEntity entity); + + /** + * 更新机构 + */ + public int updateConfig(OrganizationChartEntity entity); + + /** + * 删除机构 + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + */ + public int countNum(); + + /** + * 根据关键词查取消组织机构 + */ + List<OrganizationChartEntity> selectByKeyWord(String keyWord); + + /** + * 根据id查取消组织机构 + */ + OrganizationChartEntity selectConfigById(@Param("id") String id); + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/ReplyTemplateMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/ReplyTemplateMapper.java new file mode 100644 index 0000000..1f8a4f9 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/ReplyTemplateMapper.java @@ -0,0 +1,57 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.ReplyTemplateEntity; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface ReplyTemplateMapper extends BaseMapper<ReplyTemplateEntity> +{ + + /** + * 获取模板列表 + * @return + */ + public List<ReplyTemplateEntity> selectConfigList(IPage<ReplyTemplateEntity> page, Integer state, @Param("Name") String Name); + + + /** + * 获取详情 + * @param Id + * @return + */ + public ReplyTemplateEntity selectConfigData(String Id); + + /** + * 新增模板 + * @param entity + * @return + */ + public int insertConfig(ReplyTemplateEntity entity); + + /** + * 更新模板 + * @param entity + * @return + */ + public int updateConfig(ReplyTemplateEntity entity); + + /** + * 删除模板 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 获取数量 + * @return + */ + public int countNum(String Name); + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/RoleManagementMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/RoleManagementMapper.java new file mode 100644 index 0000000..29a161a --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/RoleManagementMapper.java @@ -0,0 +1,54 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.RoleManagementEntity; + +import java.util.List; + + +public interface RoleManagementMapper extends BaseMapper<RoleManagementEntity> +{ + + + /** + * 查询角色列表 + * @param page + * @param state + * @return + */ + public List<RoleManagementEntity> selectConfigList(IPage<RoleManagementEntity> page, Integer state); + + /** + * 新增角色 + * @param entity + * @return + */ + public int insertConfig(RoleManagementEntity entity); + + /** + * 编辑角色 + * @param entity + * @return + */ + public int updateConfig(RoleManagementEntity entity); + + /** + * 删除角色 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计条数 + * @return + */ + public int countNum(); + + + + + + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/SlideshowMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/SlideshowMapper.java new file mode 100644 index 0000000..5a2a314 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/SlideshowMapper.java @@ -0,0 +1,16 @@ +package com.dg.core.db.gen.mapper; + +import com.dg.core.db.gen.entity.Slideshow; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 轮播图 Mapper 接口 + * </p> + * + * @author fengjin + * @since 2022-09-19 + */ +public interface SlideshowMapper extends BaseMapper<Slideshow> { + +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/SysUserMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/SysUserMapper.java new file mode 100644 index 0000000..3f2bc60 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/SysUserMapper.java @@ -0,0 +1,62 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.SysUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +/** + * <p> + * 用户信息表 Mapper 接口 + * </p> + * + * @author xiang + * @since 2022-07-11 + */ +public interface SysUserMapper extends BaseMapper<SysUser> { + + SysUser getUserById(Long id); + SysUser getUserByAccount(String account); + + /** + * 查询聊天列表 + * + * @return 参数配置信息 + */ + public List<SysUser> selectConfigList(IPage<SysUser> page, Integer state,@Param("userType") String userType); + + + /** + * 新增聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int insertConfig(SysUser config); + + /** + * 更新聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int updateConfig(SysUser config); + + /** + * 删除聊天记录 + * + * @param id 聊天记录主键id + * @return 结果 + */ + public int deleteConfigById(String id); + + + /** + * 获取数据库总条数(批量) + * + * @return 结果 + */ + public int selectNum(String userType); +} diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/TransactionEventMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/TransactionEventMapper.java new file mode 100644 index 0000000..acb9b84 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/TransactionEventMapper.java @@ -0,0 +1,135 @@ +package com.dg.core.db.gen.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.manual.pojo.Search; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface TransactionEventMapper extends BaseMapper<TransactionEvent> +{ + + /** + * 查询导办事务详情 + * @param Id + * @return + */ + public TransactionEvent selectConfigData(String Id); + + /** + * 导办事物列表 + * @param + * @return + */ + public List<TransactionEvent> selectConfigList(IPage<TransactionEvent> page, Integer state, + @Param("matterAndUser") String matterAndUser, + @Param("classifyGrade") String classifyGrade); + + /** + * 新增导办事务 + * @param entity + * @return + */ + public int insertConfig(TransactionEvent entity); + + /** + * 修改导办事务 + * @param entity + * @return + */ + public int updateConfig(TransactionEvent entity); + + /** + * 删除接口 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @param + * @return + */ + public int countNum(@Param("matterAndUser") String matterAndUser, + @Param("classifyGrade") String classifyGrade); + + /** + * 导办事务搜索 + * @param matterName + * @return + */ + List<TransactionEvent> queryMatterNameList(IPage<TransactionEvent> page, Integer state, String matterName); + + /** + * 导办事务搜索(不带分页) + * @param matterName + * @return + */ + List<TransactionEvent> queryMatterNameList(String matterName); + + /** + * 导办事务搜索统计数量 + * @param matterName + * @return + */ + int countNumByMatterName(String matterName); + + /** + * 根据分类ID事务搜索统计数量 + * @param classifyId + * @return + */ + int countNumByClassifyIdList(@Param("classifyId") String classifyId,@Param("departmentId") Integer departmentId); + + /** + * 搜索后更新导办事务 + * @param matterName + * @return + */ + int updateConfigByMatterName(String matterName); + + /** + * 根据分离查询导办事务 + * @param classifyId + * @return + */ + List<TransactionEvent> queryByClassifyIdList(@Param("classifyId") String classifyId,@Param("departmentId") Integer departmentId); + + /** + * 查询导办事务求和 + * @return + */ + TransactionEvent sumTransactionNum(); + + /** + * 根据关键词导办事务(部门也会统计进去)搜索(分页) + * @param keyWord + * @return + */ + List<Search> selectSearch(IPage<Search> page, Integer state, String keyWord); + + /** + * 根据关键词导办事务(部门也会统计进去)搜索(不分页) + * @param keyWord + * @return + */ + List<Search> selectSearch( String keyWord); + + + /** + * 根据关联词导办事务搜索搜索(分页) + * @param keyWord + * @return + */ + List<Search> selectSearchAssociate(IPage<Search> page, Integer state, String keyWord); + + /** + * 根据关联词导办事务搜索搜索(不分页) + * @param keyWord + * @return + */ + List<Search> selectSearchAssociate( String keyWord); +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/mapper/MUserMapper.java b/flower_city/src/main/java/com/dg/core/db/manual/mapper/MUserMapper.java new file mode 100644 index 0000000..1739727 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/mapper/MUserMapper.java @@ -0,0 +1,9 @@ +package com.dg.core.db.manual.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dg.core.db.manual.pojo.MUser; +import org.springframework.stereotype.Component; + +@Component +public interface MUserMapper extends BaseMapper<MUser> { +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ConstantPropertiesUtil.java b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ConstantPropertiesUtil.java new file mode 100644 index 0000000..d25edb3 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ConstantPropertiesUtil.java @@ -0,0 +1,34 @@ +package com.dg.core.db.manual.mapper.util; + +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Component; +import org.springframework.beans.factory.annotation.Value; +@Component +public class ConstantPropertiesUtil implements InitializingBean { + + @Value("${wx.open.app_id}") + private String appId; + + @Value("${wx.open.app_secret}") + private String appSecret; + + @Value("${wx.open.redirect_url}") + private String redirectUrl; + + @Value("${yygh.baseUrl}") + private String yyghBaseUrl; + + public static String WX_OPEN_APP_ID; + public static String WX_OPEN_APP_SECRET; + public static String WX_OPEN_REDIRECT_URL; + + public static String YYGH_BASE_URL; + + @Override + public void afterPropertiesSet() throws Exception { + WX_OPEN_APP_ID = appId; + WX_OPEN_APP_SECRET = appSecret; + WX_OPEN_REDIRECT_URL = redirectUrl; + YYGH_BASE_URL = yyghBaseUrl; + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ExcelHandlerAdapter.java b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ExcelHandlerAdapter.java new file mode 100644 index 0000000..87dffd5 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/ExcelHandlerAdapter.java @@ -0,0 +1,19 @@ +package com.dg.core.db.manual.mapper.util; + +/** + * Excel数据格式处理适配器 + * + * @author ruoyi + */ +public interface ExcelHandlerAdapter +{ + /** + * 格式化 + * + * @param value 单元格数据值 + * @param args excel注解args参数组 + * + * @return 处理后的值 + */ + Object format(Object value, String[] args); +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/HttpClientUtils.java b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/HttpClientUtils.java new file mode 100644 index 0000000..80af856 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/HttpClientUtils.java @@ -0,0 +1,294 @@ +package com.dg.core.db.manual.mapper.util; + +import io.netty.channel.ConnectTimeoutException; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.Consts; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.conn.ssl.TrustStrategy; +import org.apache.http.conn.ssl.X509HostnameVerifier; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.message.BasicNameValuePair; +import java.util.Map.Entry; +import org.apache.http.ssl.SSLContextBuilder; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocket; +import java.io.IOException; +import java.net.SocketTimeoutException; +import java.security.GeneralSecurityException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class HttpClientUtils { + + public static final int connTimeout=10000; + public static final int readTimeout=10000; + public static final String charset="UTF-8"; + private static CloseableHttpClient client = null; + + static { + PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); + cm.setMaxTotal(128); + cm.setDefaultMaxPerRoute(128); + client = HttpClients.custom().setConnectionManager(cm).build(); + } + + public static String postParameters(String url, String parameterStr) throws ConnectTimeoutException, SocketTimeoutException, Exception{ + return post(url,parameterStr,"application/x-www-form-urlencoded",charset,connTimeout,readTimeout); + } + + public static String postParameters(String url, String parameterStr,String charset, Integer connTimeout, Integer readTimeout) throws ConnectTimeoutException, SocketTimeoutException, Exception{ + return post(url,parameterStr,"application/x-www-form-urlencoded",charset,connTimeout,readTimeout); + } + + public static String postParameters(String url, Map<String, String> params) throws ConnectTimeoutException, + SocketTimeoutException, Exception { + return postForm(url, params, null, connTimeout, readTimeout); + } + + public static String postParameters(String url, Map<String, String> params, Integer connTimeout,Integer readTimeout) throws ConnectTimeoutException, + SocketTimeoutException, Exception { + return postForm(url, params, null, connTimeout, readTimeout); + } + + public static String get(String url) throws Exception { + return get(url, charset, null, null); + } + + public static String get(String url, String charset) throws Exception { + return get(url, charset, connTimeout, readTimeout); + } + + /** + * 发送一个 Post 请求, 使用指定的字符集编码. + * + * @param url + * @param body RequestBody + * @param mimeType 例如 application/xml "application/x-www-form-urlencoded" a=1&b=2&c=3 + * @param charset 编码 + * @param connTimeout 建立链接超时时间,毫秒. + * @param readTimeout 响应超时时间,毫秒. + * @return ResponseBody, 使用指定的字符集编码. + * @throws ConnectTimeoutException 建立链接超时异常 + * @throws SocketTimeoutException 响应超时 + * @throws Exception + */ + public static String post(String url, String body, String mimeType,String charset, Integer connTimeout, Integer readTimeout) + throws ConnectTimeoutException, SocketTimeoutException, Exception { + CloseableHttpClient client = null; + HttpPost post = new HttpPost(url); + String result = ""; + try { + if (StringUtils.isNotBlank(body)) { + HttpEntity entity = new StringEntity(body, ContentType.create(mimeType, charset)); + post.setEntity(entity); + } + // 设置参数 + RequestConfig.Builder customReqConf = RequestConfig.custom(); + if (connTimeout != null) { + customReqConf.setConnectTimeout(connTimeout); + } + if (readTimeout != null) { + customReqConf.setSocketTimeout(readTimeout); + } + post.setConfig(customReqConf.build()); + + HttpResponse res; + if (url.startsWith("https")) { + // 执行 Https 请求. + client = createSSLInsecureClient(); + res = client.execute(post); + } else { + // 执行 Http 请求. + client = HttpClientUtils.client; + res = client.execute(post); + } + result = IOUtils.toString(res.getEntity().getContent(), charset); + } finally { + post.releaseConnection(); + if (url.startsWith("https") && client != null&& client instanceof CloseableHttpClient) { + ((CloseableHttpClient) client).close(); + } + } + return result; + } + + + /** + * 提交form表单 + * + * @param url + * @param params + * @param connTimeout + * @param readTimeout + * @return + * @throws ConnectTimeoutException + * @throws SocketTimeoutException + * @throws Exception + */ + public static String postForm(String url, Map<String, String> params, Map<String, String> headers, Integer connTimeout,Integer readTimeout) throws ConnectTimeoutException, + SocketTimeoutException, Exception { + + CloseableHttpClient client = null; + HttpPost post = new HttpPost(url); + try { + if (params != null && !params.isEmpty()) { + List<NameValuePair> formParams = new ArrayList<NameValuePair>(); + Set<Map.Entry<String, String>> entrySet = params.entrySet(); + for (Entry<String, String> entry : entrySet) { + formParams.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); + } + UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, Consts.UTF_8); + post.setEntity(entity); + } + + if (headers != null && !headers.isEmpty()) { + for (Entry<String, String> entry : headers.entrySet()) { + post.addHeader(entry.getKey(), entry.getValue()); + } + } + // 设置参数 + RequestConfig.Builder customReqConf = RequestConfig.custom(); + if (connTimeout != null) { + customReqConf.setConnectTimeout(connTimeout); + } + if (readTimeout != null) { + customReqConf.setSocketTimeout(readTimeout); + } + post.setConfig(customReqConf.build()); + HttpResponse res = null; + if (url.startsWith("https")) { + // 执行 Https 请求. + client = createSSLInsecureClient(); + res = client.execute(post); + } else { + // 执行 Http 请求. + client = HttpClientUtils.client; + res = client.execute(post); + } + return IOUtils.toString(res.getEntity().getContent(), "UTF-8"); + } finally { + post.releaseConnection(); + if (url.startsWith("https") && client != null + && client instanceof CloseableHttpClient) { + ((CloseableHttpClient) client).close(); + } + } + } + + /** + * 发送一个 GET 请求 + */ + public static String get(String url, String charset, Integer connTimeout,Integer readTimeout) + throws ConnectTimeoutException,SocketTimeoutException, Exception { + + CloseableHttpClient client = null; + HttpGet get = new HttpGet(url); + String result = ""; + try { + // 设置参数 + RequestConfig.Builder customReqConf = RequestConfig.custom(); + if (connTimeout != null) { + customReqConf.setConnectTimeout(connTimeout); + } + if (readTimeout != null) { + customReqConf.setSocketTimeout(readTimeout); + } + get.setConfig(customReqConf.build()); + + HttpResponse res = null; + + if (url.startsWith("https")) { + // 执行 Https 请求. + client = createSSLInsecureClient(); + res = client.execute(get); + } else { + // 执行 Http 请求. + client = HttpClientUtils.client; + res = client.execute(get); + } + + result = IOUtils.toString(res.getEntity().getContent(), charset); + } finally { + get.releaseConnection(); + if (url.startsWith("https") && client != null && client instanceof CloseableHttpClient) { + ((CloseableHttpClient) client).close(); + } + } + return result; + } + + /** + * 从 response 里获取 charset + */ + @SuppressWarnings("unused") + private static String getCharsetFromResponse(HttpResponse ressponse) { + // Content-Type:text/html; charset=GBK + if (ressponse.getEntity() != null && ressponse.getEntity().getContentType() != null && ressponse.getEntity().getContentType().getValue() != null) { + String contentType = ressponse.getEntity().getContentType().getValue(); + if (contentType.contains("charset=")) { + return contentType.substring(contentType.indexOf("charset=") + 8); + } + } + return null; + } + + /** + * 创建 SSL连接 + * @return + * @throws GeneralSecurityException + */ + private static CloseableHttpClient createSSLInsecureClient() throws GeneralSecurityException { + try { + SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() { + public boolean isTrusted(X509Certificate[] chain,String authType) throws CertificateException { + return true; + } + }).build(); + + SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, new X509HostnameVerifier() { + + @Override + public boolean verify(String arg0, SSLSession arg1) { + return true; + } + + @Override + public void verify(String host, SSLSocket ssl) + throws IOException { + } + + @Override + public void verify(String host, X509Certificate cert) + throws SSLException { + } + + @Override + public void verify(String host, String[] cns, + String[] subjectAlts) throws SSLException { + } + }); + return HttpClients.custom().setSSLSocketFactory(sslsf).build(); + + } catch (GeneralSecurityException e) { + throw e; + } + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java new file mode 100644 index 0000000..3f5f97b --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java @@ -0,0 +1,52 @@ +package com.dg.core.db.manual.mapper.util; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import org.springframework.beans.factory.annotation.Value; + +import java.io.File; +import java.util.Collections; + +public class MapperGenerator { + @Value("spring.datasource.url") + String url = "jdbc:mysql://10.8.0.74:3306/flower_city_automessage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&allowMultiQueries=true&serverTimezone=GMT%2B8"; + @Value("spring.datasource.username") + String username = "root"; + @Value("spring.datasource.password") + String password = "nahanMysqlPwd&&RemoteRemote2019nahan"; + + public void gen() { + String userdir = System.getProperty("user.dir");//获取当前工作目录 + String outputDir = userdir + File.separator + "src" + File.separator + "main"; + + FastAutoGenerator.create(url, username, password) + .globalConfig(builder -> { + builder.author("fengjin") // 设置作者 +// .enableSwagger() // 开启 swagger 模式 + .fileOverride() // 覆盖已生成文件 + .outputDir(outputDir + File.separator + "java"); // 指定输出目录 + }) + .packageConfig(builder -> { + builder.parent("com.dg.core.db.gen") // 设置父包名 +// .moduleName("system") // 设置父包模块名 + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, outputDir + + File.separator + "resources" + File.separator + "mapper")); // 设置mapperXml生成路径 + }) + .strategyConfig(builder -> { +// builder.addInclude(""); + builder.addInclude("agreement") // 设置需要生成的表名 + .addTablePrefix("t_", "c_"); // 设置过滤表前缀 + }) + .templateConfig(builder -> { + builder.controller(""); + builder.service(""); + builder.serviceImpl(""); + }) + .execute(); + } + + public static void main(String[] args) { + MapperGenerator m = new MapperGenerator(); + m.gen(); + } +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/PageUtils.java b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/PageUtils.java new file mode 100644 index 0000000..587078b --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/mapper/util/PageUtils.java @@ -0,0 +1,28 @@ +package com.dg.core.db.manual.mapper.util; + + +/** + * 分页工具类 + * + * @author ruoyi + */ +public class PageUtils {} +// extends PageHelper +//{ +// /** +// * 设置请求分页数据 +// */ +// public static void startPage() +// { +// PageDomain pageDomain = TableSupport.buildPageRequest(); +// Integer pageNum = pageDomain.getPageNum(); +// Integer pageSize = pageDomain.getPageSize(); +// +// if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) +// { +// String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); +// Boolean reasonable = pageDomain.getReasonable(); +// PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(false); +// } +// } +//} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/LargeScreen.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/LargeScreen.java new file mode 100644 index 0000000..5d36a74 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/LargeScreen.java @@ -0,0 +1,56 @@ +package com.dg.core.db.manual.pojo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class LargeScreen implements Serializable +{ + + + + /** + * 微信群数 + */ + private int groupNum=0; + + /** + * 关键词数 + */ + private int wordNum=0; + + /** + * 覆盖家庭 + */ + private int homeNum=0; + /** + * 参与人员 + */ + private int staffNum=0; + + //敏感词数量 + private int mNum; + //抓取信息 + private int zNum; + //匹配数量 + private int pNum=0; + + + /** + * 检测信息 + */ + private int testingInformation=0; + + + /** + * 热门舆情 + */ + private int hotPublicOpinion=0; + + /** + * 关注数量 + */ + private int attention=0; + +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/MUser.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/MUser.java new file mode 100644 index 0000000..06dacbf --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/MUser.java @@ -0,0 +1,40 @@ +package com.dg.core.db.manual.pojo; + +public class MUser { + private Long id; + private String name; + private Integer age; + private String email; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/MsgLocal.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/MsgLocal.java new file mode 100644 index 0000000..7a4c58d --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/MsgLocal.java @@ -0,0 +1,32 @@ +package com.dg.core.db.manual.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +public class MsgLocal implements Serializable +{ + /** + * 主键 + */ + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.AUTO) + private Long id; + private String msgTitle; + private String msgContent; + private String groups; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime creationTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime sendTime; + private Long userId; + private String userName; + private int msgType; +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/QueryResults.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/QueryResults.java new file mode 100644 index 0000000..0dacb81 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/QueryResults.java @@ -0,0 +1,28 @@ +package com.dg.core.db.manual.pojo; + +import com.dg.core.db.gen.entity.KeywordEntity; +import com.dg.core.db.gen.entity.TransactionEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel("自公告门户网搜索结果") +@Data +public class QueryResults { + + + @ApiModelProperty("数量") + private long total; + + @ApiModelProperty("办事指南列表或者部门") + private List<Search> searchList; + + @ApiModelProperty("推荐办事指南列表") + private List<Search> transactionEventList; + + @ApiModelProperty("联想词列表") + private List<KeywordEntity> keywordEntityList; + +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/RecommendResult.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/RecommendResult.java new file mode 100644 index 0000000..f773d65 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/RecommendResult.java @@ -0,0 +1,24 @@ +package com.dg.core.db.manual.pojo; + +import com.dg.core.db.gen.entity.KeywordEntity; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import com.dg.core.db.gen.entity.TransactionEvent; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel("自公告门户网智能推荐结果") +@Data +public class RecommendResult { + + @ApiModelProperty("办事指南列表") + private List<TransactionEvent> transactionEventList; + + @ApiModelProperty("联想词列表") + private List<KeywordEntity> keywordEntityList; + + @ApiModelProperty("办事部门列表") + private List<OrganizationChartEntity> organizationChartEntityList; +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/Search.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/Search.java new file mode 100644 index 0000000..defdbd5 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/Search.java @@ -0,0 +1,19 @@ +package com.dg.core.db.manual.pojo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("自公告门户网搜索数据") +@Data +public class Search { + + @ApiModelProperty("搜索结果标题") + private String title; + + @ApiModelProperty("搜索结果内容(部门是简历,指南则是改指南的分级)") + private String content; + + @ApiModelProperty("浏览次数") + private Integer views; +} diff --git a/flower_city/src/main/java/com/dg/core/db/manual/pojo/WordUser.java b/flower_city/src/main/java/com/dg/core/db/manual/pojo/WordUser.java new file mode 100644 index 0000000..d83f9da --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/db/manual/pojo/WordUser.java @@ -0,0 +1,27 @@ +package com.dg.core.db.manual.pojo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +/** + * <p> + * 群管理 + * </p> + * + * @author xiang + * @since 2022-07-05 + */ +@Data +@TableName("word_user") +public class WordUser implements Serializable +{ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + private Long wordId; + private Long userId; + +} diff --git a/flower_city/src/main/java/com/dg/core/exception/DemoModeException.java b/flower_city/src/main/java/com/dg/core/exception/DemoModeException.java new file mode 100644 index 0000000..7dde0e1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/DemoModeException.java @@ -0,0 +1,15 @@ +package com.dg.core.exception; + +/** + * 演示模式异常 + * + * @author ruoyi + */ +public class DemoModeException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public DemoModeException() + { + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/GlobalException.java b/flower_city/src/main/java/com/dg/core/exception/GlobalException.java new file mode 100644 index 0000000..6d525b5 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/GlobalException.java @@ -0,0 +1,58 @@ +package com.dg.core.exception; + +/** + * 全局异常 + * + * @author ruoyi + */ +public class GlobalException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + /** + * 错误提示 + */ + private String message; + + /** + * 错误明细,内部调试错误 + * + * 和 {@link CommonResult#getDetailMessage()} 一致的设计 + */ + private String detailMessage; + + /** + * 空构造方法,避免反序列化问题 + */ + public GlobalException() + { + } + + public GlobalException(String message) + { + this.message = message; + } + + public String getDetailMessage() + { + return detailMessage; + } + + public GlobalException setDetailMessage(String detailMessage) + { + this.detailMessage = detailMessage; + return this; + } + + public String getMessage() + { + return message; + } + + public GlobalException setMessage(String message) + { + this.message = message; + return this; + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/exception/ServiceException.java b/flower_city/src/main/java/com/dg/core/exception/ServiceException.java new file mode 100644 index 0000000..c017848 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/ServiceException.java @@ -0,0 +1,73 @@ +package com.dg.core.exception; + +/** + * 业务异常 + * + * @author ruoyi + */ +public final class ServiceException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + /** + * 错误码 + */ + private Integer code; + + /** + * 错误提示 + */ + private String message; + + /** + * 错误明细,内部调试错误 + * + * 和 {@link CommonResult#getDetailMessage()} 一致的设计 + */ + private String detailMessage; + + /** + * 空构造方法,避免反序列化问题 + */ + public ServiceException() + { + } + + public ServiceException(String message) + { + this.message = message; + } + + public ServiceException(String message, Integer code) + { + this.message = message; + this.code = code; + } + + public String getDetailMessage() + { + return detailMessage; + } + + public String getMessage() + { + return message; + } + + public Integer getCode() + { + return code; + } + + public ServiceException setMessage(String message) + { + this.message = message; + return this; + } + + public ServiceException setDetailMessage(String detailMessage) + { + this.detailMessage = detailMessage; + return this; + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/exception/UtilException.java b/flower_city/src/main/java/com/dg/core/exception/UtilException.java new file mode 100644 index 0000000..cac14d8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/UtilException.java @@ -0,0 +1,26 @@ +package com.dg.core.exception; + +/** + * 工具类异常 + * + * @author ruoyi + */ +public class UtilException extends RuntimeException +{ + private static final long serialVersionUID = 8247610319171014183L; + + public UtilException(Throwable e) + { + super(e.getMessage(), e); + } + + public UtilException(String message) + { + super(message); + } + + public UtilException(String message, Throwable throwable) + { + super(message, throwable); + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/BaseException.java b/flower_city/src/main/java/com/dg/core/exception/file/BaseException.java new file mode 100644 index 0000000..af21660 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/BaseException.java @@ -0,0 +1,83 @@ +package com.dg.core.exception.file; + +import org.apache.commons.lang3.StringUtils; + +/** + * 基础异常 + * + * @author + */ +public class BaseException extends RuntimeException { + private static final long serialVersionUID = 1L; + + /** + * 所属模块 + */ + private String module; + + /** + * 错误码 + */ + private String code; + + /** + * 错误码对应的参数 + */ + private Object[] args; + + /** + * 错误消息 + */ + private String defaultMessage; + + public BaseException(String module, String code, Object[] args, String defaultMessage) { + this.module = module; + this.code = code; + this.args = args; + this.defaultMessage = defaultMessage; + } + + public BaseException(String module, String code, Object[] args) { + this(module, code, args, null); + } + + public BaseException(String module, String defaultMessage) { + this(module, null, null, defaultMessage); + } + + public BaseException(String code, Object[] args) { + this(null, code, args, null); + } + + public BaseException(String defaultMessage) { + this(null, null, null, defaultMessage); + } + + @Override + public String getMessage() { + String message = null; + if (!StringUtils.isEmpty(code)) { + message = MessageUtils.message(code, args); + } + if (message == null) { + message = defaultMessage; + } + return message; + } + + public String getModule() { + return module; + } + + public String getCode() { + return code; + } + + public Object[] getArgs() { + return args; + } + + public String getDefaultMessage() { + return defaultMessage; + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/FileException.java b/flower_city/src/main/java/com/dg/core/exception/file/FileException.java new file mode 100644 index 0000000..82b7ff8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/FileException.java @@ -0,0 +1,19 @@ +package com.dg.core.exception.file; + + + +/** + * 文件信息异常类 + * + * @author ruoyi + */ +public class FileException extends BaseException +{ + private static final long serialVersionUID = 1L; + + public FileException(String code, Object[] args) + { + super("file", code, args, null); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/FileNameLengthLimitExceededException.java b/flower_city/src/main/java/com/dg/core/exception/file/FileNameLengthLimitExceededException.java new file mode 100644 index 0000000..8de8a2f --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/FileNameLengthLimitExceededException.java @@ -0,0 +1,16 @@ +package com.dg.core.exception.file; + +/** + * 文件名称超长限制异常类 + * + * @author ruoyi + */ +public class FileNameLengthLimitExceededException extends FileException +{ + private static final long serialVersionUID = 1L; + + public FileNameLengthLimitExceededException(int defaultFileNameLength) + { + super("upload.filename.exceed.length", new Object[] { defaultFileNameLength }); + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/FileSizeLimitExceededException.java b/flower_city/src/main/java/com/dg/core/exception/file/FileSizeLimitExceededException.java new file mode 100644 index 0000000..1b536c3 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/FileSizeLimitExceededException.java @@ -0,0 +1,16 @@ +package com.dg.core.exception.file; + +/** + * 文件名大小限制异常类 + * + * @author ruoyi + */ +public class FileSizeLimitExceededException extends FileException +{ + private static final long serialVersionUID = 1L; + + public FileSizeLimitExceededException(long defaultMaxSize) + { + super("upload.exceed.maxSize", new Object[] { defaultMaxSize }); + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/InvalidExtensionException.java b/flower_city/src/main/java/com/dg/core/exception/file/InvalidExtensionException.java new file mode 100644 index 0000000..6bd872b --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/InvalidExtensionException.java @@ -0,0 +1,84 @@ +package com.dg.core.exception.file; + + + +import org.apache.tomcat.util.http.fileupload.FileUploadException; + +import java.util.Arrays; + +/** + * 文件上传 误异常类 + * + * @author ruoyi + */ +public class InvalidExtensionException extends FileUploadException +{ + private static final long serialVersionUID = 1L; + + private String[] allowedExtension; + private String extension; + private String filename; + + public InvalidExtensionException(String[] allowedExtension, String extension, String filename) + { + super("filename : [" + filename + "], extension : [" + extension + "], allowed extension : [" + Arrays.toString(allowedExtension) + "]"); + this.allowedExtension = allowedExtension; + this.extension = extension; + this.filename = filename; + } + + public String[] getAllowedExtension() + { + return allowedExtension; + } + + public String getExtension() + { + return extension; + } + + public String getFilename() + { + return filename; + } + + public static class InvalidImageExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } + + public static class InvalidFlashExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } + + public static class InvalidMediaExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } + + public static class InvalidVideoExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/MessageUtils.java b/flower_city/src/main/java/com/dg/core/exception/file/MessageUtils.java new file mode 100644 index 0000000..d3cf7ef --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/MessageUtils.java @@ -0,0 +1,25 @@ +package com.dg.core.exception.file; + +import org.springframework.context.MessageSource; +import org.springframework.context.i18n.LocaleContextHolder; + +/** + * 获取i18n资源文件 + * + * @author ruoyi + */ +public class MessageUtils { + /** + * 根据消息键和参数 获取消息 委托给spring messageSource + * + * @param code + * 消息键 + * @param args + * 参数 + * @return 获取国际化翻译值 + */ + public static String message(String code, Object... args) { + MessageSource messageSource = SpringUtils.getBean(MessageSource.class); + return messageSource.getMessage(code, args, LocaleContextHolder.getLocale()); + } +} diff --git a/flower_city/src/main/java/com/dg/core/exception/file/SpringUtils.java b/flower_city/src/main/java/com/dg/core/exception/file/SpringUtils.java new file mode 100644 index 0000000..c3f449d --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/exception/file/SpringUtils.java @@ -0,0 +1,136 @@ +package com.dg.core.exception.file; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; +import org.springframework.util.ObjectUtils; + +/** + * spring工具类 方便在非spring管理环境中获取bean + * + * @author huanghongfa + */ +@Slf4j +@Component +public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware { + /** Spring应用上下文环境 */ + private static ConfigurableListableBeanFactory beanFactory; + + private static ApplicationContext applicationContext; + + /** + * 获取对象 + * + * @param name + * @return Object 一个以所给名字注册的bean的实例 + * @throws BeansException + * + */ + @SuppressWarnings("unchecked") + public static <T> T getBean(String name) throws BeansException { + return (T)beanFactory.getBean(name); + } + + /** + * 获取类型为requiredType的对象 + * + * @param clz + * @return + * @throws BeansException + * + */ + public static <T> T getBean(Class<T> clz) throws BeansException { + T result = beanFactory.getBean(clz); + return result; + } + + /** + * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true + * + * @param name + * @return boolean + */ + public static boolean containsBean(String name) { + return beanFactory.containsBean(name); + } + + /** + * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) + * + * @param name + * @return boolean + * @throws NoSuchBeanDefinitionException + * + */ + public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { + return beanFactory.isSingleton(name); + } + + /** + * @param name + * @return Class 注册对象的类型 + * @throws NoSuchBeanDefinitionException + * + */ + public static Class<?> getType(String name) throws NoSuchBeanDefinitionException { + return beanFactory.getType(name); + } + + /** + * 如果给定的bean名字在bean定义中有别名,则返回这些别名 + * + * @param name + * @return + * @throws NoSuchBeanDefinitionException + * + */ + public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { + return beanFactory.getAliases(name); + } + + /** + * 获取aop代理对象 + * + * @param invoker + * @return + */ + @SuppressWarnings("unchecked") + public static <T> T getAopProxy(T invoker) { + return (T)AopContext.currentProxy(); + } + + /** + * 获取当前的环境配置,无配置返回null + * + * @return 当前的环境配置 + */ + public static String[] getActiveProfiles() { + return applicationContext.getEnvironment().getActiveProfiles(); + } + + /** + * 获取当前的环境配置,当有多个环境配置时,只获取第一个 + * + * @return 当前的环境配置 + */ + public static String getActiveProfile() { + final String[] activeProfiles = getActiveProfiles(); + return !ObjectUtils.isEmpty(activeProfiles) ? activeProfiles[0] : null; + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + SpringUtils.beanFactory = beanFactory; + } + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + SpringUtils.applicationContext = applicationContext; + } +} diff --git a/flower_city/src/main/java/com/dg/core/file/FileTypeUploadUtils.java b/flower_city/src/main/java/com/dg/core/file/FileTypeUploadUtils.java new file mode 100644 index 0000000..0cfbbb5 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/file/FileTypeUploadUtils.java @@ -0,0 +1,94 @@ +package com.dg.core.file; + +import com.dg.core.exception.file.FileSizeLimitExceededException; +import com.dg.core.exception.file.InvalidExtensionException; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Objects; + +/** + * 文件上传工具类 + * + * @author + */ +public class FileTypeUploadUtils { + /** + * 默认大小 50M + */ + public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024; + + /** + * 默认的文件名最大长度 100 + */ + public static final int DEFAULT_FILE_NAME_LENGTH = 100; + + + /** + * 文件大小校验 + * + * @param file 上传的文件 + * @return + * @throws FileSizeLimitExceededException 如果超出最大大小 + * @throws InvalidExtensionException + */ + public static final void assertAllowed(MultipartFile file, String[] allowedExtension) + throws FileSizeLimitExceededException, InvalidExtensionException { + long size = file.getSize(); + if (size > DEFAULT_MAX_SIZE) { + throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024); + } + + String fileName = file.getOriginalFilename(); + String extension = getExtension(file); + if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension)) { + if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION) { + throw new InvalidExtensionException.InvalidImageExtensionException(allowedExtension, extension, + fileName); + } else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION) { + throw new InvalidExtensionException.InvalidFlashExtensionException(allowedExtension, extension, + fileName); + } else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION) { + throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension, + fileName); + } else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION) { + throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension, + fileName); + } else { + throw new InvalidExtensionException(allowedExtension, extension, fileName); + } + } + + } + + /** + * 判断MIME类型是否是允许的MIME类型 + * + * @param extension + * @param allowedExtension + * @return + */ + public static final boolean isAllowedExtension(String extension, String[] allowedExtension) { + for (String str : allowedExtension) { + if (str.equalsIgnoreCase(extension)) { + return true; + } + } + return false; + } + + /** + * 获取文件名的后缀 + * + * @param file 表单文件 + * @return 后缀名 + */ + public static final String getExtension(MultipartFile file) { + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + if (StringUtils.isEmpty(extension)) { + extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType())); + } + return extension; + } +} diff --git a/flower_city/src/main/java/com/dg/core/file/FtpConstants.java b/flower_city/src/main/java/com/dg/core/file/FtpConstants.java new file mode 100644 index 0000000..ef763ae --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/file/FtpConstants.java @@ -0,0 +1,38 @@ +package com.dg.core.file; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: ftp + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-11-30 13:39 + **/ +public class FtpConstants { + /** + * ftp站点 + */ + public static final String FTPHOST = "47.104.148.185"; + /** + * 端口号 + */ + public static final Integer FTPPORT = 22; + /** + * ftp访问用户名 + */ + public static final String FTPUSERNAME = "root"; + /** + * ftp访问密码 + */ + public static final String FTPPASSWORD = "evanN7F2K5M6"; + /** + * excel模板 + */ + public static final String FTPFILEPATH_MUBAN = "/mnt/data/ftp/muban/"; + /** + * 党员保存 + */ + public static final String FTPFILEPATH_IDCARD = "/mnt/data/ftp/idcard/"; + /** + * http访问路径 + */ + public static final String HTTP_URL = "http://image.panzhihua.nhys.cdnhxx.com/"; +} diff --git a/flower_city/src/main/java/com/dg/core/file/MimeTypeUtils.java b/flower_city/src/main/java/com/dg/core/file/MimeTypeUtils.java new file mode 100644 index 0000000..c0145e7 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/file/MimeTypeUtils.java @@ -0,0 +1,59 @@ +package com.dg.core.file; + +/** + * 媒体类型工具类 + * + * @author + */ +public class MimeTypeUtils +{ + public static final String IMAGE_PNG = "image/png"; + + public static final String IMAGE_JPG = "image/jpg"; + + public static final String IMAGE_JPEG = "image/jpeg"; + + public static final String IMAGE_BMP = "image/bmp"; + + public static final String IMAGE_GIF = "image/gif"; + + public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" }; + + public static final String[] FLASH_EXTENSION = { "swf", "flv" }; + + public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg", + "asf", "rm", "rmvb" }; + + public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" }; + + public static final String[] DEFAULT_ALLOWED_EXTENSION = { + // 图片 + "bmp", "gif", "jpg", "jpeg", "png", + // word excel powerpoint + "doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt", + // 压缩文件 + "rar", "zip", "gz", "bz2", + // 视频格式 + "mp4", "avi", "rmvb", + // pdf + "pdf" }; + + public static String getExtension(String prefix) + { + switch (prefix) + { + case IMAGE_PNG: + return "png"; + case IMAGE_JPG: + return "jpg"; + case IMAGE_JPEG: + return "jpeg"; + case IMAGE_BMP: + return "bmp"; + case IMAGE_GIF: + return "gif"; + default: + return ""; + } + } +} diff --git a/flower_city/src/main/java/com/dg/core/file/SFTPUtil.java b/flower_city/src/main/java/com/dg/core/file/SFTPUtil.java new file mode 100644 index 0000000..b01e9d2 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/file/SFTPUtil.java @@ -0,0 +1,374 @@ +package com.dg.core.file; + +import com.jcraft.jsch.*; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.util.Properties; +import java.util.Vector; + +/** + * @version 1.0.0 + * @ClassName: SFTPUtil + * @Description: sftp连接工具类 + */ +public class SFTPUtil { + private transient Logger log = LoggerFactory.getLogger(this.getClass()); + + private ChannelSftp sftp; + + private Session session; + + // FTP 登录用户名 + private String userName; + // FTP 登录密码 + private String password; + // FTP 服务器地址IP地址 + private String host; + // FTP 端口 + private int port; + + /** + * 构造基于密码认证的sftp对象 + * + * @param userName + * @param password + * @param host + * @param port + */ + public SFTPUtil(String userName, String password, String host, int port) { + this.userName = userName; + this.password = password; + this.host = host; + this.port = port; + } + + public SFTPUtil() { + this.userName = FtpConstants.FTPUSERNAME; + this.password = FtpConstants.FTPPASSWORD; + this.host = FtpConstants.FTPHOST; + this.port = FtpConstants.FTPPORT; + } + + public static void main(String[] args) throws SftpException, IOException { + SFTPUtil sftp = new SFTPUtil("root", "evanN7F2K5M6", "47.104.148.185", 22); + sftp.login(); + File file = new File("F:\\settings.xml"); + InputStream is = new FileInputStream(file); + // 多级目录创建并上传 + sftp.uploadMore("/mnt/data/ftp/ss", "settings.xml", is); + sftp.logout(); + } + + /** + * 连接sftp服务器 + * + * @throws Exception + */ + public void login() { + try { + JSch jsch = new JSch(); + log.info("sftp connect by host:{} username:{}", host, userName); + + session = jsch.getSession(userName, host, port); + log.info("Session is build"); + if (password != null) { + session.setPassword(password); + } + Properties config = new Properties(); + config.put("StrictHostKeyChecking", "no"); + + session.setConfig(config); + session.connect(); + log.info("Session is connected"); + + Channel channel = session.openChannel("sftp"); + channel.connect(); + log.info("channel is connected"); + + sftp = (ChannelSftp)channel; + log.info(String.format("sftp server host:[%s] port:[%s] is connect successfull", host, port)); + } catch (JSchException e) { + log.error("Cannot connect to specified sftp server : {}:{} \n Exception message is: {}", host, port, + e.getMessage()); + } + } + + /** + * 关闭连接 server + */ + public void logout() { + if (sftp != null) { + if (sftp.isConnected()) { + sftp.disconnect(); + log.info("sftp is closed already"); + } + } + if (session != null) { + if (session.isConnected()) { + session.disconnect(); + log.info("sshSession is closed already"); + } + } + } + + /** + * 递归根据路径创建文件夹 + * + * @param dirs + * 根据 / 分隔后的数组文件夹名称 + * @param tempPath + * 拼接路径 + * @param length + * 文件夹的格式 + * @param index + * 数组下标 + * @return + */ + public void mkdirDir(String[] dirs, String tempPath, int length, int index) { + // 以"/a/b/c/d"为例按"/"分隔后,第0位是"";顾下标从1开始 + index++; + if (index < length) { + // 目录不存在,则创建文件夹 + tempPath += "/" + dirs[index]; + } + try { + log.info("检测目录[" + tempPath + "]"); + sftp.cd(tempPath); + if (index < length) { + mkdirDir(dirs, tempPath, length, index); + } + } catch (SftpException ex) { + log.warn("创建目录[" + tempPath + "]"); + try { + sftp.mkdir(tempPath); + sftp.cd(tempPath); + } catch (SftpException e) { + e.printStackTrace(); + log.error("创建目录[" + tempPath + "]失败,异常信息[" + e.getMessage() + "]"); + + } + log.info("进入目录[" + tempPath + "]"); + mkdirDir(dirs, tempPath, length, index); + } + } + + /** + * 将输入流的数据上传到sftp作为文件(多层目录) + * + * @param directory + * 上传到该目录(多层目录) + * @param sftpFileName + * sftp端文件名 + * @param input + * 输入流 + * @throws SftpException + * @throws Exception + */ + public void uploadMore(String directory, String sftpFileName, InputStream input) throws SftpException { + try { + sftp.cd(directory); + } catch (SftpException e) { + // 目录不存在,则创建文件夹 + String[] dirs = directory.split("/"); + String tempPath = ""; + int index = 0; + mkdirDir(dirs, tempPath, dirs.length, index); + } + sftp.put(input, sftpFileName);// 上传文件 + } + + /** + * 将输入流的数据上传到sftp作为文件 + * + * @param directory + * 上传到该目录(单层目录) + * @param sftpFileName + * sftp端文件名 + * @param input + * 输入流 + * @throws SftpException + * @throws Exception + */ + public void upload(String directory, String sftpFileName, InputStream input) throws SftpException { + try { + sftp.cd(directory); + } catch (SftpException e) { + log.warn("directory is not exist"); + sftp.mkdir(directory); + sftp.cd(directory); + } + sftp.put(input, sftpFileName); + log.info("file:{} is upload successful", sftpFileName); + } + + /** + * 上传单个文件 + * + * @param directory + * 上传到sftp目录 + * @param uploadFile + * 要上传的文件,包括路径 + * @throws FileNotFoundException + * @throws SftpException + * @throws Exception + */ + public void upload(String directory, String uploadFile) throws FileNotFoundException, SftpException { + File file = new File(uploadFile); + upload(directory, file.getName(), new FileInputStream(file)); + } + + /** + * 将byte[]上传到sftp,作为文件。注意:从String生成byte[]是,要指定字符集。 + * + * @param directory + * 上传到sftp目录 + * @param sftpFileName + * 文件在sftp端的命名 + * @param byteArr + * 要上传的字节数组 + * @throws SftpException + * @throws Exception + */ + public void upload(String directory, String sftpFileName, byte[] byteArr) throws SftpException { + upload(directory, sftpFileName, new ByteArrayInputStream(byteArr)); + } + + /** + * 将字符串按照指定的字符编码上传到sftp + * + * @param directory + * 上传到sftp目录 + * @param sftpFileName + * 文件在sftp端的命名 + * @param dataStr + * 待上传的数据 + * @param charsetName + * sftp上的文件,按该字符编码保存 + * @throws UnsupportedEncodingException + * @throws SftpException + * @throws Exception + */ + public void upload(String directory, String sftpFileName, String dataStr, String charsetName) + throws UnsupportedEncodingException, SftpException { + upload(directory, sftpFileName, new ByteArrayInputStream(dataStr.getBytes(charsetName))); + } + + /** + * 下载文件 + * + * @param directory + * 下载目录 + * @param downloadFile + * 下载的文件 + * @param saveFile + * 存在本地的路径 + * @throws SftpException + * @throws FileNotFoundException + * @throws Exception + */ + public void download(String directory, String downloadFile, String saveFile) + throws SftpException, FileNotFoundException { + if (directory != null && !"".equals(directory)) { + sftp.cd(directory); + } + File file = new File(saveFile); + sftp.get(downloadFile, new FileOutputStream(file)); + log.info("file:{} is download successful", downloadFile); + } + + /** + * 下载文件 + * + * @param directory + * 下载目录 + * @param downloadFile + * 下载的文件名 + * @return 字节数组 + * @throws SftpException + * @throws IOException + * @throws Exception + */ + public byte[] download(String directory, String downloadFile) throws SftpException, IOException { + if (directory != null && !"".equals(directory)) { + sftp.cd(directory); + } + InputStream is = sftp.get(downloadFile); + byte[] fileData = IOUtils.toByteArray(is); + log.info("file:{} is download successful", downloadFile); + return fileData; + } + + /** + * 下载文件 + * + * @param directory + * 下载目录 + * @param downloadFile + * 下载的文件名 + * @return 字节数组 + * @throws SftpException + * @throws IOException + * @throws Exception + */ + public InputStream downloadInputStream(String directory, String downloadFile) throws SftpException, IOException { + if (directory != null && !"".equals(directory)) { + sftp.cd(directory); + } + InputStream is = sftp.get(downloadFile); + // byte[] fileData = IOUtils.toByteArray(is); + // log.info("file:{} is download successful", downloadFile); + return is; + } + + /** + * 删除文件 + * + * @param directory + * 要删除文件所在目录 + * @param deleteFile + * 要删除的文件 + * @throws SftpException + * @throws Exception + */ + public void delete(String directory, String deleteFile) throws SftpException { + sftp.cd(directory); + sftp.rm(deleteFile); + } + + /** + * 列出目录下的文件 + * + * @param directory + * 要列出的目录 + * @return + * @throws SftpException + */ + public Vector<?> listFiles(String directory) throws SftpException { + return sftp.ls(directory); + } + + /** + * 判断文件或者目录是否存在 + * + * @param path + * 目录或者文件的路径 + * @return 存在结果 + */ + public boolean isExistDir(String path) { + boolean isExist = false; + try { + SftpATTRS sftpATTRS = sftp.lstat(path); + isExist = true; + return sftpATTRS.isDir(); + } catch (Exception e) { + if (e.getMessage().toLowerCase().equals("no such file")) { + isExist = false; + } + } + return isExist; + + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java b/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java new file mode 100644 index 0000000..c4f6854 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java @@ -0,0 +1,71 @@ +package com.dg.core.interceptor; + +import com.dg.core.Constant; +import com.dg.core.annotation.Authorization; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.manager.TokenManager; +import org.apache.catalina.connector.ResponseFacade; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; +import java.text.SimpleDateFormat; +import java.time.ZoneId; +import java.util.Calendar; +import java.util.Date; + +/** + * 自定义拦截器,判断此次请求是否有权限 + */ +/** + * 自定义拦截器,判断此次请求是否有权限 + */ +@Component +public class AuthorizationInterceptor extends HandlerInterceptorAdapter { + @Autowired + private TokenManager manager; + + + @Autowired + com.dg.core.service.ISysUserService IUserService; + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + //如果不是映射到方法直接通过 + if (!(handler instanceof HandlerMethod)) { + return true; + } + + HandlerMethod handlerMethod = (HandlerMethod) handler; + Method method = handlerMethod.getMethod(); + Object bean = handlerMethod.getBean(); + + //从header中得到token + String token = request.getHeader(Constant.AUTHORIZATION); + if (manager.checkToken(token)) { + //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入 + request.setAttribute(Constant.CURRENT_USER_ID, manager.getUserId(token)); + SysUser ss = IUserService.getUserById(manager.getUserId(token)); + + return true; + } + + //如果验证token失败,并且方法或类注明了Authorization,返回401错误 + if (method.getAnnotation(Authorization.class) != null || bean.getClass().getAnnotation(Authorization.class) != null) { + String reponse = "{\"result\": 449, \"message\": \"Overdue token\"}"; + response.setStatus(200); + response.setCharacterEncoding(StandardCharsets.UTF_8.toString()); + ResponseFacade facade = (ResponseFacade) response; + facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length); + facade.getWriter().write(reponse); + return false; + } + return true; + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java new file mode 100644 index 0000000..fd6a87c --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java @@ -0,0 +1,74 @@ +package com.dg.core.manager; + +import com.dg.core.Constant; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.script.DigestUtils; +import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; +import org.springframework.stereotype.Component; + +import java.util.UUID; +import java.util.concurrent.TimeUnit; + +/** + * 通过Redis存储和验证token的实现类 + */ +@Component +public class RedisTokenManager implements TokenManager { + + private RedisTemplate<String, String> redis; + + @Qualifier("redisTemplate") + @Autowired + public void setRedis(RedisTemplate redis) { + this.redis = redis; + //泛型设置成Long后必须更改对应的序列化方案 + redis.setKeySerializer(new JdkSerializationRedisSerializer()); + } + + @Override + public String createToken(long userId, long userRole) { + //使用uuid作为源token + String uuid = UUID.randomUUID().toString().replace("-", ""); + String token = DigestUtils.sha1DigestAsHex(uuid + userId + "e23ktjsdf") + "-" + userRole; + //存储到redis并设置过期时间 + redis.boundValueOps(token).set(String.valueOf(userId), Constant.TOKEN_EXPIRES_HOUR, TimeUnit.HOURS); + redis.boundValueOps(String.valueOf(userId)).set(token, Constant.TOKEN_EXPIRES_HOUR, TimeUnit.HOURS); + return token; + } + + + public boolean checkToken(String token) { + if (token == null) { + return false; + } + String userId = redis.boundValueOps(token).get(); + if (userId == null) { + return false; + } + //如果验证成功,说明此用户进行了一次有效操作,延长token的过期时间 + redis.boundValueOps(token).expire(Constant.TOKEN_EXPIRES_HOUR, TimeUnit.HOURS); + return true; + } + + + @Override + public long getUserId(String token) { + if (token == null) { + return -1; + } + String userId = redis.boundValueOps(token).get(); + return Long.parseLong(userId); + } + + public void deleteToken(String token) { + redis.delete(token); + } + + @Override + public String getTokenByUserId(long userId) { + return redis.boundValueOps(String.valueOf(userId)).get(); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/manager/TokenManager.java b/flower_city/src/main/java/com/dg/core/manager/TokenManager.java new file mode 100644 index 0000000..63733bf --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/manager/TokenManager.java @@ -0,0 +1,25 @@ +package com.dg.core.manager; + +public interface TokenManager { + /** + * 创建一个token关联上指定用户 + * + * @param userId 指定用户的id + * @return 生成的token + */ + public String createToken(long userId, long role); + + /** + * 检查token是否有效 + * + * @param token + * @return 是否有效 + */ + public boolean checkToken(String token); + + public long getUserId(String token); + + public void deleteToken(String token); + + public String getTokenByUserId(long userId); +} diff --git a/flower_city/src/main/java/com/dg/core/resolvers/CurrentUserMethodArgumentResolver.java b/flower_city/src/main/java/com/dg/core/resolvers/CurrentUserMethodArgumentResolver.java new file mode 100644 index 0000000..4294cae --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/resolvers/CurrentUserMethodArgumentResolver.java @@ -0,0 +1,46 @@ +package com.dg.core.resolvers; + +import com.dg.core.Constant; +import com.dg.core.annotation.CurrentUser; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.service.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.MethodParameter; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.support.WebDataBinderFactory; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.method.support.HandlerMethodArgumentResolver; +import org.springframework.web.method.support.ModelAndViewContainer; +import org.springframework.web.multipart.support.MissingServletRequestPartException; + +/** + * 增加方法注入,将含有CurrentUser注解的方法参数注入当前登录用户 + */ +@Component +public class CurrentUserMethodArgumentResolver implements HandlerMethodArgumentResolver { + + @Autowired + private ISysUserService userService; + + @Override + public boolean supportsParameter(MethodParameter parameter) { + //如果参数类型是User并且有CurrentUser注解则支持 + if (parameter.getParameterType().isAssignableFrom(SysUser.class) && + parameter.hasParameterAnnotation(CurrentUser.class)) { + return true; + } + return false; + } + + @Override + public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { + //取出鉴权时存入的登录用户Id + Long currentUserId = (Long) webRequest.getAttribute(Constant.CURRENT_USER_ID, RequestAttributes.SCOPE_REQUEST); + if (currentUserId != null) { + //从数据库中查询并返回 + return userService.getUserById(currentUserId); + } + throw new MissingServletRequestPartException(Constant.CURRENT_USER_ID); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/IAgreementService.java b/flower_city/src/main/java/com/dg/core/service/IAgreementService.java new file mode 100644 index 0000000..d9290bf --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IAgreementService.java @@ -0,0 +1,23 @@ +package com.dg.core.service; + +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.Agreement; + +import java.util.List; + +public interface IAgreementService { + + Agreement queryByAgreement(String agreement); + + /** + * 获取相关附件列表(不分页) + * @return + */ + List<Agreement> selectConfigList(); + + /** + * 修改相关附件 + * @return + */ + ResultData update(Agreement agreement); +} diff --git a/flower_city/src/main/java/com/dg/core/service/IAreaCodeService.java b/flower_city/src/main/java/com/dg/core/service/IAreaCodeService.java new file mode 100644 index 0000000..954c969 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IAreaCodeService.java @@ -0,0 +1,14 @@ +package com.dg.core.service; + +import com.dg.core.db.gen.entity.AreaCode2022; + +import java.util.List; + +public interface IAreaCodeService { + + /** + * 根据指南id获取所属地区 + * @return + */ + List<AreaCode2022> getAreaCodeByTransactionId(Integer transactionId); +} diff --git a/flower_city/src/main/java/com/dg/core/service/IClassifyAdministrationService.java b/flower_city/src/main/java/com/dg/core/service/IClassifyAdministrationService.java new file mode 100644 index 0000000..c3c43f1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IClassifyAdministrationService.java @@ -0,0 +1,66 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.ClassifyAdministration; +import com.dg.core.db.gen.entity.TransactionEvent; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface IClassifyAdministrationService { + /** + * 获取管理菜单列表 + * @return + */ + public List<ClassifyAdministration> selectConfigList(String classifyName, String classifyGrade); + + + /** + * 获取管理菜单列表 + * @return + */ + public List<ClassifyAdministration> selectConfigList(IPage<ClassifyAdministration> page, + Integer state, + String classifyName, String classifyGrade); + + /** + * 新增分类 + * @param entity + * @return + */ + public int insertConfig(ClassifyAdministration entity); + + /** + * 更新分类 + * @param entity + * @return + */ + public int updateConfig(ClassifyAdministration entity); + + /** + * 删除分类 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + + /** + * 统计数量 + * @return + */ + public int countNum(String classifyName,String classifyGrade); + + + /** + * 获取管理菜单列表(已分级) + * @return + */ + List<ClassifyAdministration> selectConfigListByParentId(String parentId,Integer departmentId); + + /** + * 获取管理菜单列表(根目录分页) + * @return + */ + List<ClassifyAdministration> selectRootList (IPage<ClassifyAdministration> page, Integer stat,String parentId,Integer departmentId); +} diff --git a/flower_city/src/main/java/com/dg/core/service/IElseAccessoryService.java b/flower_city/src/main/java/com/dg/core/service/IElseAccessoryService.java new file mode 100644 index 0000000..1e617c6 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IElseAccessoryService.java @@ -0,0 +1,57 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.ElseAccessoryEntity; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface IElseAccessoryService { + + /** + * 获取附件列表 + * @param page + * @param state + * @param Name + * @return + */ + public List<ElseAccessoryEntity> selectConfigList(IPage<ElseAccessoryEntity> page, Integer state, @Param("Name") String Name); + + /** + * 获取附件列表全部 + * @param Name + * @return + */ + public List<ElseAccessoryEntity> selectConfigList(String Name); + + + /** + * 新增列表 + * @param entity + * @return + */ + public int insertConfig(ElseAccessoryEntity entity); + + /** + * 更新列表 + * @param entity + * @return + */ + public int updateConfig(ElseAccessoryEntity entity); + + /** + * 删除 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @param Name + * @return + */ + public int countNum(String Name); + + +} diff --git a/flower_city/src/main/java/com/dg/core/service/IGuideEvolveService.java b/flower_city/src/main/java/com/dg/core/service/IGuideEvolveService.java new file mode 100644 index 0000000..05f789c --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IGuideEvolveService.java @@ -0,0 +1,43 @@ +package com.dg.core.service; + + +import com.dg.core.db.gen.entity.GuideEvolveEntity; + +import java.util.List; + +public interface IGuideEvolveService +{ + /** + * 查询记录列表 + * @return + */ + public List<GuideEvolveEntity> selectConfigList(String guideId); + + /** + * 新增记录 + * @param entity + * @return + */ + public int insertConfig(GuideEvolveEntity entity); + + /** + * 更新记录 + * @param entity + * @return + */ + public int updateConfig(GuideEvolveEntity entity); + + /** + * 删除记录 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @return + */ + public int countNum(); + +} diff --git a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java new file mode 100644 index 0000000..cb2e428 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java @@ -0,0 +1,36 @@ +package com.dg.core.service; + +import com.dg.core.db.gen.entity.GuideRepairOrder; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface IGuideRepairOrderService { + + int addOrder(GuideRepairOrder guideRepairOrder); + + /** + * 获取详情 + * @param Id + * @param orderNum + * @return + */ + public GuideRepairOrder selectConfigData(String Id, + String orderNum); + + + /** + * 分配人员 + * @param order + * @return + */ + public int updateConfig(GuideRepairOrder order); + + /** + * 获取个人中心工单数据 + * @param submitUserId + * @return + */ + List<GuideRepairOrder> selectBySubmitId(String submitUserId); + +} diff --git a/flower_city/src/main/java/com/dg/core/service/IKeywordService.java b/flower_city/src/main/java/com/dg/core/service/IKeywordService.java new file mode 100644 index 0000000..8c05e44 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IKeywordService.java @@ -0,0 +1,48 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.KeywordEntity; + +import java.util.List; + +public interface IKeywordService { + /** + * 查询关键词列表 + * @return + */ + public List<KeywordEntity> selectConfigList(IPage<KeywordEntity> page, Integer state); + + /** + * 查询详情 + * @return + */ + public KeywordEntity selectConfigData(String Id, + String name); + + + /** + * 添加关键词 + * @return + */ + public int insertConfig(KeywordEntity entity); + + /** + * 编辑关键词 + * @return + */ + public int updateConfig(KeywordEntity entity); + + /** + * 删除关键词 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @param Id + * @return + */ + public int countNum(); +} diff --git a/flower_city/src/main/java/com/dg/core/service/IMenuService.java b/flower_city/src/main/java/com/dg/core/service/IMenuService.java new file mode 100644 index 0000000..03dff9a --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IMenuService.java @@ -0,0 +1,42 @@ +package com.dg.core.service; + +import com.dg.core.db.gen.entity.MenuEntity; + +import java.util.List; + +public interface IMenuService +{ + /** + * 获取菜单列表 + * @return + */ + public List<MenuEntity> selectConfigList(); + + + /** + * 添加新菜单 + * @return + */ + public int insertConfig(MenuEntity entity); + + /** + * 更新菜单 + * @param entity + * @return + */ + public int updateConfig(MenuEntity entity); + + /** + * 删除菜单 + * @param Id + * @return + */ + public int deleteConfigById(Long Id); + + + /** + * 统计数量 + * @return + */ + public int countNum(); +} diff --git a/flower_city/src/main/java/com/dg/core/service/IOrganizationChartService.java b/flower_city/src/main/java/com/dg/core/service/IOrganizationChartService.java new file mode 100644 index 0000000..447730d --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IOrganizationChartService.java @@ -0,0 +1,44 @@ +package com.dg.core.service; + +import com.dg.core.db.gen.entity.OrganizationChartEntity; + +import java.util.List; + +public interface IOrganizationChartService +{ + /** + * 查询机构列表 + */ + public List<OrganizationChartEntity> selectConfigList(String parentId,String grade); + + /** + * 新增机构 + */ + public int insertConfig(OrganizationChartEntity entity); + + /** + * 更新机构 + */ + public int updateConfig(OrganizationChartEntity entity); + + /** + * 删除机构 + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + */ + public int countNum(); + + /** + * 查询机构列表(不分级不分页按等级排序) + */ + List<OrganizationChartEntity> selectList(); + + + /** + * 根据id查取消组织机构 + */ + OrganizationChartEntity selectConfigById(String id); +} diff --git a/flower_city/src/main/java/com/dg/core/service/IReplyTemplateService.java b/flower_city/src/main/java/com/dg/core/service/IReplyTemplateService.java new file mode 100644 index 0000000..5b8ad7a --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IReplyTemplateService.java @@ -0,0 +1,50 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.ReplyTemplateEntity; + +import java.util.List; + +public interface IReplyTemplateService +{ + /** + * 获取模板列表 + * @return + */ + public List<ReplyTemplateEntity> selectConfigList(IPage<ReplyTemplateEntity> page, Integer state,String Name); + + /** + * 获取详情 + * @param Id + * @return + */ + public ReplyTemplateEntity selectConfigData(String Id); + + /** + * 新增模板 + * @param entity + * @return + */ + public int insertConfig(ReplyTemplateEntity entity); + + /** + * 更新模板 + * @param entity + * @return + */ + public int updateConfig(ReplyTemplateEntity entity); + + /** + * 删除模板 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 获取数量 + * @return + */ + public int countNum(String Name); + +} diff --git a/flower_city/src/main/java/com/dg/core/service/IRoleManagementService.java b/flower_city/src/main/java/com/dg/core/service/IRoleManagementService.java new file mode 100644 index 0000000..8c4dd20 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/IRoleManagementService.java @@ -0,0 +1,44 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.RoleManagementEntity; + +import java.util.List; + +public interface IRoleManagementService +{ + /** + * 查询角色列表 + * @param page + * @param state + * @return + */ + public List<RoleManagementEntity> selectConfigList(IPage<RoleManagementEntity> page, Integer state); + + /** + * 新增角色 + * @param entity + * @return + */ + public int insertConfig(RoleManagementEntity entity); + + /** + * 编辑角色 + * @param entity + * @return + */ + public int updateConfig(RoleManagementEntity entity); + + /** + * 删除角色 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计条数 + * @return + */ + public int countNum(); +} diff --git a/flower_city/src/main/java/com/dg/core/service/ISlideshowService.java b/flower_city/src/main/java/com/dg/core/service/ISlideshowService.java new file mode 100644 index 0000000..c3a0ea2 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/ISlideshowService.java @@ -0,0 +1,55 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.Slideshow; +import com.dg.core.db.gen.entity.SysUser; + +import java.util.List; + +public interface ISlideshowService { + + /** + * 查询轮播图列表(分页) + * + * @return 参数配置信息 + */ + List<Slideshow> selectConfigList(IPage<SysUser> page, Integer state); + + /** + * 查询轮播图列表(不分页) + * + * @return 参数配置信息 + */ + List<Slideshow> selectList(); + + /** + * 根据id 查询轮播图数据 + * + * @return 参数配置信息 + */ + Slideshow queryById(Integer id); + + /** + * 新增轮播图数据 + * + * @return 参数配置信息 + */ + ResultData add(Slideshow slideshow); + + /** + * 修改轮播图数据 + * + * @return 参数配置信息 + */ + ResultData update(Slideshow slideshow); + + + /** + * 删除轮播图数据 + * + * @return 参数配置信息 + */ + ResultData delete(Integer id); + +} diff --git a/flower_city/src/main/java/com/dg/core/service/ISysUserService.java b/flower_city/src/main/java/com/dg/core/service/ISysUserService.java new file mode 100644 index 0000000..610a239 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/ISysUserService.java @@ -0,0 +1,53 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.SysUser; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface ISysUserService { + SysUser getUserById(Long id); + SysUser getUserByAccount(String account); + /** + * 查询聊天列表 + * + * @return 参数配置信息 + */ + public List<SysUser> selectConfigList(IPage<SysUser> page, Integer state,String userType); + + + /** + * 新增聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int insertConfig(SysUser config); + + /** + * 更新聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int updateConfig(SysUser config); + + /** + * 删除聊天记录 + * + * @param id 聊天记录主键id + * @return 结果 + */ + public int deleteConfigById(String id); + + + /** + * 获取数据库总条数(批量) + * + * @return 结果 + */ + public int selectNum(String userType); + + +} diff --git a/flower_city/src/main/java/com/dg/core/service/ITransactionEventService.java b/flower_city/src/main/java/com/dg/core/service/ITransactionEventService.java new file mode 100644 index 0000000..74dcbf3 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/ITransactionEventService.java @@ -0,0 +1,106 @@ +package com.dg.core.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.manual.pojo.QueryResults; +import com.dg.core.db.manual.pojo.RecommendResult; +import com.dg.core.db.manual.pojo.Search; + +import java.util.List; + +public interface ITransactionEventService +{ + /** + * 查询导办事务详情 + * @param Id + * @return + */ + public TransactionEvent selectConfigData(String Id); + + /** + * 导办事物列表 + * @return + */ + public List<TransactionEvent> selectConfigList(IPage<TransactionEvent> page, Integer state, + String matterAndUser, String classifyGrade); + + /** + * 新增导办事务 + * @param entity + * @return + */ + public int insertConfig(TransactionEvent entity); + + /** + * 修改导办事务 + * @param entity + * @return + */ + public int updateConfig(TransactionEvent entity); + + /** + * 删除接口 + * @param Id + * @return + */ + public int deleteConfigById(String Id); + + /** + * 统计数量 + * @return + */ + public int countNum(String matterAndUser,String classifyGrade); + + /** + * 导办事务搜索 + * @param keyWord + * @return + */ + QueryResults queryMatterNameList(IPage<Search> page, Integer state,Integer recommendSize, String keyWord); + + /** + * 导办事务搜索统计数量 + * @param matterName + * @return + */ + int countNumByMatterName(String matterName); + + /** + * 根据分离查询导办事务 + * @param classifyId + * @return + */ + List<TransactionEvent> queryByClassifyIdList(String classifyId,Integer departmentId); + + /** + * 根据查询时间查询导办事务 + * @return + */ + List<TransactionEvent> queryByQueryTime(); + + /** + * 根据浏览次数查询导办事务 + * @return + */ + List<TransactionEvent> queryByBrowseNum(); + + /** + * 查询导办事务求和 + * @return + */ + TransactionEvent sumTransactionNum(); + + int countNumByClassifyIdList(String classifyId, Integer departmentId); + + /** + * 导办事物列表(不分页) + * @return + */ + List<TransactionEvent> selectList(); + + /** + * 智能咨询 + * @return + */ + RecommendResult smartConsulting(String keyWord); +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/AgreementServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/AgreementServiceImpl.java new file mode 100644 index 0000000..5af6558 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/AgreementServiceImpl.java @@ -0,0 +1,37 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.Agreement; +import com.dg.core.db.gen.mapper.AgreementMapper; +import com.dg.core.service.IAgreementService; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; + +@Service +public class AgreementServiceImpl extends ServiceImpl<AgreementMapper, Agreement> implements IAgreementService { + + @Override + public Agreement queryByAgreement(String agreement) { + return baseMapper.selectOne(new QueryWrapper<Agreement>().lambda().eq(Agreement::getAgreement, agreement)); + } + + @Override + public List<Agreement> selectConfigList() { + return baseMapper.selectConfigList(); + } + + @Override + public ResultData update(Agreement agreement){ + agreement.setUpdateTime(LocalDateTime.now()); + int i = baseMapper.updateById(agreement); + if(i>0) + return ResultData.success(); + else + return ResultData.error(); + + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/AreaCodeServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/AreaCodeServiceImpl.java new file mode 100644 index 0000000..01d7434 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/AreaCodeServiceImpl.java @@ -0,0 +1,62 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.AreaCode2022; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.gen.mapper.AreaCode2022Mapper; +import com.dg.core.db.gen.mapper.OrganizationChartMapper; +import com.dg.core.db.gen.mapper.TransactionEventMapper; +import com.dg.core.service.IAreaCodeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Service +public class AreaCodeServiceImpl extends ServiceImpl<AreaCode2022Mapper, AreaCode2022> implements IAreaCodeService { + + @Resource + private OrganizationChartMapper organizationChartMapper; + + @Resource + private TransactionEventMapper transactionEventMapper; + + @Override + public List<AreaCode2022> getAreaCodeByTransactionId(Integer transactionId){ + TransactionEvent transactionEvent = transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda(). + eq(TransactionEvent::getId, transactionId)); + OrganizationChartEntity organizationChartEntity = organizationChartMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda() + .eq(OrganizationChartEntity::getId, transactionEvent.getDepartmentId())); + List<String> areaCodes=new ArrayList<>(); + if (organizationChartEntity!=null){ + if (organizationChartEntity.getCity()!=null) + areaCodes.add(organizationChartEntity.getCity()); + if (organizationChartEntity.getDistrict()!=null) + areaCodes.add(organizationChartEntity.getDistrict()); + if (organizationChartEntity.getVillage()!=null) + areaCodes.add(organizationChartEntity.getVillage()); + getAreaCodeIds(areaCodes,organizationChartEntity); + } + return baseMapper.selectByIdSet(areaCodes); + } + + public List<String> getAreaCodeIds(List<String> areaCodes, OrganizationChartEntity organizationChartEntity){ + organizationChartEntity = organizationChartMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda() + .eq(OrganizationChartEntity::getParentId, organizationChartEntity.getId())); + if (organizationChartEntity!=null){ + if (organizationChartEntity.getCity()!=null) + areaCodes.add(organizationChartEntity.getCity()); + if (organizationChartEntity.getDistrict()!=null) + areaCodes.add(organizationChartEntity.getDistrict()); + if (organizationChartEntity.getVillage()!=null) + areaCodes.add(organizationChartEntity.getVillage()); + getAreaCodeIds(areaCodes,organizationChartEntity); + } + return areaCodes; + } + + +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/ClassifyAdministrationImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/ClassifyAdministrationImpl.java new file mode 100644 index 0000000..74f4505 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/ClassifyAdministrationImpl.java @@ -0,0 +1,67 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.ClassifyAdministration; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.gen.mapper.ClassifyAdministrationMapper; +import com.dg.core.service.IClassifyAdministrationService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ClassifyAdministrationImpl extends ServiceImpl<ClassifyAdministrationMapper, ClassifyAdministration> + implements IClassifyAdministrationService +{ + + @Override + public List<ClassifyAdministration> selectConfigList(String classifyName, String classifyGrade) { + return baseMapper.selectConfigList( classifyName, classifyGrade); + } + + @Override + public List<ClassifyAdministration> selectConfigList(IPage<ClassifyAdministration> page, + Integer state, String classifyName, String classifyGrade) { + return baseMapper.selectConfigList(page,state, classifyName, classifyGrade); + } + + @Override + public List<ClassifyAdministration> selectConfigListByParentId(String parentId,Integer departmentId){ + List<ClassifyAdministration> classifyAdministrationEntities = baseMapper.selectRootList(parentId ,departmentId); + for (ClassifyAdministration classifyAdministrationEntitie: classifyAdministrationEntities) { + classifyAdministrationEntitie.setClassifyAdministrationEntityList(selectConfigListByParentId(classifyAdministrationEntitie.getId().toString(),departmentId)); + } + return classifyAdministrationEntities; + } + + @Override + public List<ClassifyAdministration> selectRootList(IPage<ClassifyAdministration> page, Integer stat,String parentId,Integer departmentId) { + List<ClassifyAdministration> classifyAdministrations = baseMapper.selectRootList(page, stat,"0" ,departmentId); + for (ClassifyAdministration classifyAdministrationEntitie: classifyAdministrations) { + classifyAdministrationEntitie.setClassifyAdministrationEntityList(selectConfigListByParentId(classifyAdministrationEntitie.getId().toString(),departmentId)); + } + return classifyAdministrations; + } + + @Override + public int insertConfig(ClassifyAdministration entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(ClassifyAdministration entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum(String classifyName,String classifyGrade) { + return baseMapper.countNum(classifyName,classifyGrade); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/ElseAccessoryImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/ElseAccessoryImpl.java new file mode 100644 index 0000000..a8f0f32 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/ElseAccessoryImpl.java @@ -0,0 +1,46 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.ElseAccessoryEntity; +import com.dg.core.db.gen.mapper.ElseAccessoryMapper; +import com.dg.core.service.IElseAccessoryService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ElseAccessoryImpl extends ServiceImpl<ElseAccessoryMapper, ElseAccessoryEntity> + implements IElseAccessoryService +{ + + @Override + public List<ElseAccessoryEntity> selectConfigList(IPage<ElseAccessoryEntity> page, Integer state, String Name) { + return baseMapper.selectConfigList(page,state,Name); + } + + @Override + public List<ElseAccessoryEntity> selectConfigList(String Name) { + return baseMapper.selectConfigList(Name); + } + + @Override + public int insertConfig(ElseAccessoryEntity entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(ElseAccessoryEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum(String Name) { + return baseMapper.countNum(Name); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideEvolveImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideEvolveImpl.java new file mode 100644 index 0000000..6929e90 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideEvolveImpl.java @@ -0,0 +1,39 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.GuideEvolveEntity; +import com.dg.core.db.gen.mapper.GuideEvolveMapper; +import com.dg.core.service.IGuideEvolveService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class GuideEvolveImpl extends ServiceImpl<GuideEvolveMapper, GuideEvolveEntity> implements IGuideEvolveService +{ + + @Override + public List<GuideEvolveEntity> selectConfigList(String guideId) { + return baseMapper.selectConfigList(guideId); + } + + @Override + public int insertConfig(GuideEvolveEntity entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(GuideEvolveEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum() { + return baseMapper.countNum(); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java new file mode 100644 index 0000000..48357b8 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java @@ -0,0 +1,81 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.GuideRepairOrder; +import com.dg.core.db.gen.entity.GuideRepairOrderImage; +import com.dg.core.db.gen.entity.Slideshow; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.gen.mapper.GuideRepairOrderImageMapper; +import com.dg.core.db.gen.mapper.GuideRepairOrderMapper; +import com.dg.core.db.gen.mapper.TransactionEventMapper; +import com.dg.core.service.IGuideRepairOrderService; +import com.dg.core.util.Snowflake; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class GuideRepairOrderServiceImpl extends ServiceImpl<GuideRepairOrderMapper, GuideRepairOrder> implements IGuideRepairOrderService { + + @Resource + private TransactionEventMapper transactionEventMapper; + + @Resource + private GuideRepairOrderImageMapper guideRepairOrderImageMapper; + + @Override + public int addOrder(GuideRepairOrder guideRepairOrder){ + + TransactionEvent transactionEvent = transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda(). + eq(TransactionEvent::getId, guideRepairOrder.getMatterId())); + guideRepairOrder.setOrderNum(Long.toString(Snowflake.getId())); + guideRepairOrder.setMatterName(transactionEvent.getMatterName()); + guideRepairOrder.setDepartmentId(transactionEvent.getDepartmentId()); + guideRepairOrder.setClassifyId(transactionEvent.getClassifyId()); + guideRepairOrder.setState("1"); + transactionEvent.setTransactionNum(transactionEvent.getTransactionNum()+1); + String[] images = guideRepairOrder.getImages().split(","); + for (String image: images) { + GuideRepairOrderImage guideRepairOrderImage = new GuideRepairOrderImage(); + guideRepairOrderImage.setId(Snowflake.getId()); + guideRepairOrderImage.setGuideRepairOrderId(guideRepairOrder.getOrderNum()); + guideRepairOrderImage.setUrl(image); + guideRepairOrderImage.setType(1); + guideRepairOrderImageMapper.insert(guideRepairOrderImage); + } + if (guideRepairOrder.getOrderNum()!=null){ + GuideRepairOrderImage guideRepairOrderImage = new GuideRepairOrderImage(); + guideRepairOrderImage.setId(Snowflake.getId()); + guideRepairOrderImage.setGuideRepairOrderId(guideRepairOrder.getOrderNum()); + guideRepairOrderImage.setUrl(guideRepairOrder.getVideo()); + guideRepairOrderImage.setType(2); + guideRepairOrderImageMapper.insert(guideRepairOrderImage); + } + int ans= baseMapper.insert(guideRepairOrder); + int i = transactionEventMapper.updateById(transactionEvent); + if (ans>0&&i>0) + return 1; + else + return 0; + + } + + @Override + public GuideRepairOrder selectConfigData(String Id, String orderNum) { + return baseMapper.selectConfigData(Id,orderNum); + } + + @Override + public int updateConfig(GuideRepairOrder order) { + return baseMapper.updateConfig(order); + } + + @Override + public List<GuideRepairOrder> selectBySubmitId(String submitUserId) { + return baseMapper.selectBySubmitId(submitUserId); + } + + +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/KeywordImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/KeywordImpl.java new file mode 100644 index 0000000..23cc982 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/KeywordImpl.java @@ -0,0 +1,48 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.KeywordEntity; +import com.dg.core.db.gen.mapper.KeywordMapper; +import com.dg.core.service.IKeywordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class KeywordImpl extends ServiceImpl<KeywordMapper, KeywordEntity> implements IKeywordService { + + + @Override + public List<KeywordEntity> selectConfigList(IPage<KeywordEntity> page, Integer state) { + return baseMapper.selectConfigList(page,state); + } + + @Override + public KeywordEntity selectConfigData(String Id, String name) { + return baseMapper.selectConfigData(Id,name); + } + + @Override + public int insertConfig(KeywordEntity entity) + { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(KeywordEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum() { + return baseMapper.countNum(); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/MenuImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/MenuImpl.java new file mode 100644 index 0000000..10fe596 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/MenuImpl.java @@ -0,0 +1,38 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.MenuEntity; +import com.dg.core.db.gen.mapper.MenuMapper; +import com.dg.core.service.IMenuService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class MenuImpl extends ServiceImpl<MenuMapper, MenuEntity> implements IMenuService +{ + @Override + public List<MenuEntity> selectConfigList() { + return baseMapper.selectConfigList(); + } + + @Override + public int insertConfig(MenuEntity entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(MenuEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(Long Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum() { + return baseMapper.countNum(); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java new file mode 100644 index 0000000..3b57e21 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java @@ -0,0 +1,79 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import com.dg.core.db.gen.mapper.OrganizationChartMapper; +import com.dg.core.service.IOrganizationChartService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class OrganizationChartImpl extends ServiceImpl<OrganizationChartMapper, OrganizationChartEntity> + implements IOrganizationChartService +{ + + @Override + public List<OrganizationChartEntity> selectConfigList(String parentId,String grade) + { + List<OrganizationChartEntity> ocList=baseMapper.selectConfigList("","1"); + + for (OrganizationChartEntity entity:ocList) + { + entity.setChild(baseMapper.selectConfigList(entity.getId()+"","")); + + if (entity.getChild()!=null) + { + entity.setChild(this.selectConfigList(entity.getId().toString())); + } + } + return ocList; + } + + @Override + public int insertConfig(OrganizationChartEntity entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(OrganizationChartEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum() { + return baseMapper.countNum(); + } + + + + + public List<OrganizationChartEntity> selectConfigList(String parentsId) { + List<OrganizationChartEntity> list =baseMapper.selectConfigList(parentsId,""); + for (OrganizationChartEntity sysStreet:list) { + sysStreet.setChild(baseMapper.selectConfigList(sysStreet.getId().toString(),"")); + if (sysStreet.getChild()!=null) + { + sysStreet.setChild(this.selectConfigList(sysStreet.getId().toString())); + } + + } + return list; + } + + @Override + public List<OrganizationChartEntity> selectList(){ + return baseMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda().orderByAsc(OrganizationChartEntity::getGrade)); + } + + @Override + public OrganizationChartEntity selectConfigById(String id) { + return baseMapper.selectConfigById(id); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/ReplyTemplateImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/ReplyTemplateImpl.java new file mode 100644 index 0000000..36e0d66 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/ReplyTemplateImpl.java @@ -0,0 +1,46 @@ +package com.dg.core.service.impl; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.ReplyTemplateEntity; +import com.dg.core.db.gen.mapper.ReplyTemplateMapper; +import com.dg.core.service.IReplyTemplateService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ReplyTemplateImpl extends ServiceImpl<ReplyTemplateMapper, ReplyTemplateEntity> implements IReplyTemplateService +{ + + @Override + public List<ReplyTemplateEntity> selectConfigList(IPage<ReplyTemplateEntity> page, Integer state,String Name) { + return baseMapper.selectConfigList(page,state,Name); + } + + @Override + public ReplyTemplateEntity selectConfigData(String Id) { + return baseMapper.selectConfigData(Id); + } + + @Override + public int insertConfig(ReplyTemplateEntity entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(ReplyTemplateEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum(String Name) { + return baseMapper.countNum(Name); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/RoleManagementImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/RoleManagementImpl.java new file mode 100644 index 0000000..19ca722 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/RoleManagementImpl.java @@ -0,0 +1,38 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.RoleManagementEntity; +import com.dg.core.db.gen.mapper.RoleManagementMapper; +import com.dg.core.service.IRoleManagementService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class RoleManagementImpl extends ServiceImpl<RoleManagementMapper, RoleManagementEntity> implements IRoleManagementService { + @Override + public List<RoleManagementEntity> selectConfigList(IPage<RoleManagementEntity> page, Integer state) { + return baseMapper.selectConfigList(page,state); + } + + @Override + public int insertConfig(RoleManagementEntity entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(RoleManagementEntity entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum() { + return baseMapper.countNum(); + } +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/SlideshowServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/SlideshowServiceImpl.java new file mode 100644 index 0000000..e1f4839 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/SlideshowServiceImpl.java @@ -0,0 +1,78 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.ClassifyAdministration; +import com.dg.core.db.gen.entity.Slideshow; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.db.gen.mapper.SlideshowMapper; +import com.dg.core.service.ISlideshowService; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; + +@Service +public class SlideshowServiceImpl extends ServiceImpl<SlideshowMapper, Slideshow> implements ISlideshowService { + + + @Override + public List<Slideshow> selectConfigList(IPage<SysUser> page, Integer state) { + return null; + } + + @Override + public List<Slideshow> selectList() { + return baseMapper.selectList(new QueryWrapper<Slideshow>().lambda()); + } + + @Override + public Slideshow queryById(Integer id) { + return baseMapper.selectOne(new QueryWrapper<Slideshow>().lambda().eq(Slideshow::getId,id)); + } + + @Override + public ResultData add(Slideshow slideshow){ + if (slideshow.getUrl()==null||slideshow.getUrl()=="") + return ResultData.error("图片地址不能为空"); + if (slideshow.getLinkType()==null) + return ResultData.error("跳转链接类型不能为空"); + if (slideshow.getTitle()==null||slideshow.getTitle()=="") + return ResultData.error("标题不能为空"); + if (slideshow.getLinkType().equals(2)&&(slideshow.getContent()==null||slideshow.getContent()=="")) + return ResultData.error("类型为富文本时,富文本内容不能为空"); + if (slideshow.getLinkType().equals(4)&&(slideshow.getLink()==null||slideshow.getLink()=="")) + return ResultData.error("类型为微信文章时,文章链接容不能为空"); + slideshow.setCreateTime(LocalDateTime.now()); + return ResultData.success( baseMapper.insert(slideshow)) ; + } + + @Override + public ResultData update(Slideshow slideshow){ + if (slideshow.getUrl()==null||slideshow.getUrl()=="") + return ResultData.error("图片地址不能为空"); + if (slideshow.getLinkType()==null) + return ResultData.error("跳转链接类型不能为空"); + if (slideshow.getTitle()==null||slideshow.getTitle()=="") + return ResultData.error("标题不能为空"); + if (slideshow.getLinkType().equals(2)&&(slideshow.getContent()==null||slideshow.getContent()=="")) + return ResultData.error("类型为富文本时,富文本内容不能为空"); + if (slideshow.getLinkType().equals(4)&&(slideshow.getLink()==null||slideshow.getLink()=="")) + return ResultData.error("类型为微信文章时,文章链接容不能为空"); + return ResultData.success(baseMapper.updateById(slideshow)); + + } + + @Override + public ResultData delete(Integer id){ + int i = baseMapper.deleteById(id); + if(i>0) + return ResultData.success(); + else + return ResultData.error(); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java new file mode 100644 index 0000000..e7ced70 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java @@ -0,0 +1,82 @@ +package com.dg.core.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.db.gen.mapper.SysUserMapper; +import com.dg.core.service.ISysUserService; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +@Service +public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService +{ + + @Override + public SysUser getUserById(Long id) { + return baseMapper.selectById(id); + } + + @Override + public SysUser getUserByAccount(String account) { + HashMap<String, Object> map = new HashMap(); + map.put("login_name", account); + List<SysUser> sysUsers = baseMapper.selectByMap(map); + if (sysUsers.size() > 0) { + return sysUsers.get(0); + } + return null; + } + + @Override + public List<SysUser> selectConfigList(IPage<SysUser> page, Integer state,String userType) { + return baseMapper.selectConfigList(page, state,userType); + } + + + + + /** + * 新增聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int insertConfig(SysUser config) + { + return baseMapper.insertConfig(config); + } + + /** + * 更新聊天记录 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int updateConfig(SysUser config) + { + return baseMapper.updateConfig(config); + } + + /** + * 删除聊天记录 + * + * @param id 聊天记录主键id + * @return 结果 + */ + public int deleteConfigById(String id) + { + return baseMapper.deleteConfigById(id); + } + + @Override + public int selectNum(String userType) { + return baseMapper.selectNum(userType); + } + + + +} diff --git a/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java new file mode 100644 index 0000000..6c991ea --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java @@ -0,0 +1,135 @@ +package com.dg.core.service.impl; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.db.gen.entity.KeywordEntity; +import com.dg.core.db.gen.entity.OrganizationChartEntity; +import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.db.gen.entity.TransactionEvent; +import com.dg.core.db.gen.mapper.KeywordMapper; +import com.dg.core.db.gen.mapper.OrganizationChartMapper; +import com.dg.core.db.gen.mapper.TransactionEventMapper; +import com.dg.core.db.manual.pojo.QueryResults; +import com.dg.core.db.manual.pojo.RecommendResult; +import com.dg.core.db.manual.pojo.Search; +import com.dg.core.service.ITransactionEventService; + +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Service +public class TransactionEventImpl extends ServiceImpl<TransactionEventMapper, TransactionEvent> implements ITransactionEventService { + + @Resource + private OrganizationChartMapper organizationChartMapper; + + @Resource + private KeywordMapper keywordMapper; + + @Override + public TransactionEvent selectConfigData(String Id) { + return baseMapper.selectConfigData(Id); + } + + @Override + public List<TransactionEvent> selectConfigList(IPage<TransactionEvent> page, Integer state, + String matterAndUser, String classifyGrade) { + return baseMapper.selectConfigList(page, state, matterAndUser, classifyGrade); + } + + @Override + public int insertConfig(TransactionEvent entity) { + return baseMapper.insertConfig(entity); + } + + @Override + public int updateConfig(TransactionEvent entity) { + return baseMapper.updateConfig(entity); + } + + @Override + public int deleteConfigById(String Id) { + return baseMapper.deleteConfigById(Id); + } + + @Override + public int countNum(String matterAndUser,String classifyGrade) { + return baseMapper.countNum( matterAndUser, classifyGrade); + } + + @Override + public QueryResults queryMatterNameList(IPage<Search> page,Integer state, Integer recommendSize,String keyWord) { + QueryResults queryResults = new QueryResults(); + List<Search> searches = baseMapper.selectSearch(page, state, keyWord); + queryResults.setSearchList(searches); + List<Search> searchesAssociate = baseMapper.selectSearchAssociate(page, recommendSize, keyWord); + queryResults.setTransactionEventList(searchesAssociate); + queryResults.setKeywordEntityList( keywordMapper.selectByName(keyWord)); + queryResults.setTotal((baseMapper.selectSearch(keyWord).size())+(baseMapper.selectSearchAssociate(keyWord).size())); + return queryResults; + } + + + @Override + public RecommendResult smartConsulting(String keyWord){ + RecommendResult recommendResult=new RecommendResult(); + List<KeywordEntity> keywordEntityList=new ArrayList<>(); + List<TransactionEvent> transactionEventEntities = baseMapper.queryMatterNameList(keyWord); + recommendResult.setTransactionEventList(transactionEventEntities); + for (TransactionEvent transactionEvent: transactionEventEntities) { + String[] associateNames = transactionEvent.getAssociateNames().split(","); + for (String associateName: associateNames) { + KeywordEntity keywordEntity = new KeywordEntity(); + keywordEntity.setName(associateName); + keywordEntityList.add(keywordEntity); + } + + } + recommendResult.setKeywordEntityList(keywordEntityList); + List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByKeyWord(keyWord); + recommendResult.setOrganizationChartEntityList(organizationChartEntities); + return recommendResult; + } + + @Override + public int countNumByMatterName(String matterName) { + return baseMapper.countNumByMatterName(matterName); + } + + @Override + public List<TransactionEvent> queryByClassifyIdList(String classifyId,Integer departmentId) { + return baseMapper.queryByClassifyIdList(classifyId,departmentId); + } + + @Override + public List<TransactionEvent> queryByQueryTime() { + List<TransactionEvent> transactionEvents = baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda().orderByDesc(TransactionEvent::getQueryTime)); + return transactionEvents; + } + + @Override + public List<TransactionEvent> queryByBrowseNum() { + List<TransactionEvent> transactionEvents = baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda().orderByDesc(TransactionEvent::getBrowseNum)); + return transactionEvents; + } + + @Override + public TransactionEvent sumTransactionNum() { + return baseMapper.sumTransactionNum(); + } + + @Override + public int countNumByClassifyIdList(String classifyId, Integer departmentId) { + return baseMapper.countNumByClassifyIdList(classifyId,departmentId); + } + + @Override + public List<TransactionEvent> selectList(){ + return baseMapper.selectList(new QueryWrapper<TransactionEvent>().lambda()); + } +} diff --git a/flower_city/src/main/java/com/dg/core/task/SendWsListener.java b/flower_city/src/main/java/com/dg/core/task/SendWsListener.java new file mode 100644 index 0000000..d05cbe6 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/task/SendWsListener.java @@ -0,0 +1,96 @@ +package com.dg.core.task; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; +import javax.servlet.annotation.WebListener; +import java.util.Calendar; +import java.util.Date; +import java.util.Timer; +import java.util.TimerTask; + +@WebListener +public class SendWsListener implements ServletContextListener { + @Override + public void contextDestroyed(ServletContextEvent arg0) { + System.out.println("定时发送Xml信息监听--已关闭!"); + } + + @Override + public void contextInitialized(ServletContextEvent arg0) { + Calendar calendar = Calendar.getInstance(); + int year = calendar.get(Calendar.YEAR); + int month = calendar.get(Calendar.MONTH); + //设置24小时制度,Calendar.HOUR是12小时制度 + int day = calendar.get(Calendar.DAY_OF_MONTH); + calendar.set(year, month, day, 8, 00, 00); + // 当天8点(默认执行时间) + Date defaultdate = calendar.getTime(); + Date sendDate = null; + if (defaultdate.before(new Date())) { + // 若当前时间超过了defaultdate时间,当天不再执行,则将执行时间sendDate改为明天8点 + calendar.add(Calendar.DATE, 1); + sendDate = calendar.getTime(); + }else { + // 若当前时间没有超过defaultdate时间,则将执行时间sendDate改为defaultdate + sendDate = defaultdate; + } + + + /** + * ----------------每刻任务 ---------------- + * 启动服务器后,若此时时间没过8点,等待。到了8点自动执行一次,15分钟后再执行一次,周而复始 + * 启动服务器后,若此时时间超过8点,会立刻执行一次,等到15分钟后再次执行一次,周而复始 到了第二天,不会再判断是否是8点,这个开始时间,只会判断一次而已 + */ + Timer qTimer = new Timer(); + qTimer.schedule(new TimerTask() { + + @Override + public void run() { + System.out.println("每刻任务已执行"); + // TODO 写你的逻辑 + } + }, defaultdate, 1 * 60 * 1000);// 定时每15分钟 + System.out.println("每刻定时发送Xml信息监听--已启动!"); + + /** + * ----------------每日任务 ---------------- + * 启动服务器后,若此时时间没过8点,等待。到了8点自动执行一次,24小时后(第二天8点)再执行一次,周而复始 + * 启动服务器后,若此时时间已经超过8点,则等到24小时后(第二天8点)才执行一次,周而复始 + */ + Timer dTimer = new Timer(); + dTimer.schedule(new TimerTask() { + + @Override + public void run() { + System.out.println("每日任务已经执行"); + // TODO 写你的逻辑 + } + }, sendDate, 24 * 60 * 60 * 1000);// 定时24小时:24 * 60 * 60 * 1000 + System.out.println("每日定时发送Xml信息监听--已启动!"); + + /** + * ----------------每月任务 ---------------- + * 启动服务器后,若此时时间没过8点,等待。到了8点自动执行判断是否是当前月份的1号,若是则执行一次, + * 24小时后(第二天8点)再执行一次判断(每月1号以后后的29天或30天后才会是下月1号,再执行一次),周而复始 启动服务器后,若此时时间已经超过8点,会立刻执行一次,等到下个月1号再次执行一次,周而复始 + */ + Timer mTimer = new Timer(); + mTimer.schedule(new TimerTask() { + + @Override + public void run() { + Calendar c = Calendar.getInstance(); + int day = c.get(Calendar.DAY_OF_MONTH); + System.out.println("月任务 判断中"); + if (day == 1) { + // 每天执行,若为每月1号才执行 + System.out.println("月任务执行已执行"); + // TODO 写你的逻辑 + } + + } + }, sendDate, 24 * 60 * 60 * 1000);// 每天执行一次检查 + + System.out.println("每月定时发送Xml信息监听--已启动!"); + + } +} \ No newline at end of file diff --git a/flower_city/src/main/java/com/dg/core/task/SwaggerConfig.java b/flower_city/src/main/java/com/dg/core/task/SwaggerConfig.java new file mode 100644 index 0000000..8ee1a1f --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/task/SwaggerConfig.java @@ -0,0 +1,51 @@ +package com.dg.core.task; + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; + +@Configuration +@EnableSwagger2 +public class SwaggerConfig { + + //配置了Swagger的Docket的bean实例 + @Bean + public Docket docket(Environment environment){ + + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .enable(true) //配置是否启用Swagger,如果是false,在浏览器将无法访问 + .select()// 通过.select()方法,去配置扫描接口,RequestHandlerSelectors配置如何扫描接口 + .apis(RequestHandlerSelectors.basePackage("com.dg.core")) + // 配置如何通过path过滤,即这里只扫描请求以/longdi开头的接口 +// .paths(PathSelectors.ant("/longdi/**")) + .build(); + + } + + + //配置文档信息 + private ApiInfo apiInfo() { + Contact contact = new Contact("花城e+", "http://localhost:8181/swagger-ui/index.html", "项目"); + return new ApiInfo( + "花城e+接口文档", // 标题 + "花城e+接口文档", // 描述 + "v1.0", // 版本 + "http://localhost:8181/swagger-ui/index.html", // 组织链接 + contact, // 联系人信息 + "Apach 2.0 许可", // 许可 + "许可链接", // 许可连接 + new ArrayList<>()// 扩展 + ); + } + +} diff --git a/flower_city/src/main/java/com/dg/core/util/DateUtils.java b/flower_city/src/main/java/com/dg/core/util/DateUtils.java new file mode 100644 index 0000000..9441f30 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/DateUtils.java @@ -0,0 +1,222 @@ +package com.dg.core.util; + +import org.apache.commons.lang3.time.DateFormatUtils; + +import java.lang.management.ManagementFactory; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.*; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * 时间工具类 + * + * @author ruoyi + */ +public class DateUtils extends org.apache.commons.lang3.time.DateUtils +{ + public static String YYYY = "yyyy"; + + public static String YYYY_MM = "yyyy-MM"; + + public static String YYYY_MM_DD = "yyyy-MM-dd"; + + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + + public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + + private static String[] parsePatterns = { + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", + "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + + /** + * 获取当前Date型日期 + * + * @return Date() 当前日期 + */ + public static Date getNowDate() + { + return new Date(); + } + + /** + * 获取当前日期, 默认格式为yyyy-MM-dd + * + * @return String + */ + public static String getDate() + { + return dateTimeNow(YYYY_MM_DD); + } + + public static final String getTime() + { + return dateTimeNow(YYYY_MM_DD_HH_MM_SS); + } + + public static final String dateTimeNow() + { + return dateTimeNow(YYYYMMDDHHMMSS); + } + + public static final String dateTimeNow(final String format) + { + return parseDateToStr(format, new Date()); + } + + public static final String dateTime(final Date date) + { + return parseDateToStr(YYYY_MM_DD, date); + } + + public static final String parseDateToStr(final String format, final Date date) + { + return new SimpleDateFormat(format).format(date); + } + + public static final Date dateTime(final String format, final String ts) + { + try + { + return new SimpleDateFormat(format).parse(ts); + } + catch (ParseException e) + { + throw new RuntimeException(e); + } + } + + /** + * 日期路径 即年/月/日 如2018/08/08 + */ + public static final String datePath() + { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyy/MM/dd"); + } + + /** + * 日期路径 即年/月/日 如20180808 + */ + public static final String dateTime() + { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyyMMdd"); + } + + /** + * 日期型字符串转化为日期 格式 + */ + public static Date parseDate(Object str) + { + if (str == null) + { + return null; + } + try + { + return parseDate(str.toString(), parsePatterns); + } + catch (ParseException e) + { + return null; + } + } + + /** + * 获取服务器启动时间 + */ + public static Date getServerStartDate() + { + long time = ManagementFactory.getRuntimeMXBean().getStartTime(); + return new Date(time); + } + + /** + * 计算相差天数 + */ + public static int differentDaysByMillisecond(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); + } + + /** + * 计算两个时间差 + */ + public static String getDatePoor(Date endDate, Date nowDate) + { + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long nm = 1000 * 60; + // long ns = 1000; + // 获得两个时间的毫秒时间差异 + long diff = endDate.getTime() - nowDate.getTime(); + // 计算差多少天 + long day = diff / nd; + // 计算差多少小时 + long hour = diff % nd / nh; + // 计算差多少分钟 + long min = diff % nd % nh / nm; + // 计算差多少秒//输出结果 + // long sec = diff % nd % nh % nm / ns; + return day + "天" + hour + "小时" + min + "分钟"; + } + + /** + * 增加 LocalDateTime ==> Date + */ + public static Date toDate(LocalDateTime temporalAccessor) + { + ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + /** + * 增加 LocalDate ==> Date + */ + public static Date toDate(LocalDate temporalAccessor) + { + LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); + ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + /** + * 获取当前日期前(后)x天的日期 + * + * @param day + * 天数(如果day数为负数,说明是此日期前的天数) + * @param sdf 日期格式 + */ + public static String getBeforNumDay(SimpleDateFormat sdf,int day) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, day); + return sdf.format(calendar.getTime()); + } + + /** + * 获取当前日期前(后)n天的日期集合 + * @param sdf 时间格式化字符 + * @param dayNum 前(后)的天数 + * @param isAround 1.前 2.后 + * @return 当前日期前(后)n天的日期集合 + */ + public static List<String> getLastDayDateList(SimpleDateFormat sdf,Integer dayNum,Integer isAround){ + List<String> dateList = new ArrayList<>(); + for (int i = dayNum; i > 0; i--) { + String date = ""; + if(isAround.equals(2)){ + date = getBeforNumDay(sdf,i); + }else{ + date = getBeforNumDay(sdf,-i); + } + dateList.add(date); + } + return dateList; + } +} diff --git a/flower_city/src/main/java/com/dg/core/util/IdUtils.java b/flower_city/src/main/java/com/dg/core/util/IdUtils.java new file mode 100644 index 0000000..468fc38 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/IdUtils.java @@ -0,0 +1,49 @@ +package com.dg.core.util; + +/** + * ID生成器工具类 + * + * @author ruoyi + */ +public class IdUtils +{ + /** + * 获取随机UUID + * + * @return 随机UUID + */ + public static String randomUUID() + { + return UUID.randomUUID().toString(); + } + + /** + * 简化的UUID,去掉了横线 + * + * @return 简化的UUID,去掉了横线 + */ + public static String simpleUUID() + { + return UUID.randomUUID().toString(true); + } + + /** + * 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID + * + * @return 随机UUID + */ + public static String fastUUID() + { + return UUID.fastUUID().toString(); + } + + /** + * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID + * + * @return 简化的UUID,去掉了横线 + */ + public static String fastSimpleUUID() + { + return UUID.fastUUID().toString(true); + } +} diff --git a/flower_city/src/main/java/com/dg/core/util/MyBatisPlusConfig.java b/flower_city/src/main/java/com/dg/core/util/MyBatisPlusConfig.java new file mode 100644 index 0000000..8d378c1 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/MyBatisPlusConfig.java @@ -0,0 +1,22 @@ +package com.dg.core.util; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@MapperScan("com.zyd.mapper") +public class MyBatisPlusConfig { + /** + * 分页插件 + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } +} diff --git a/flower_city/src/main/java/com/dg/core/util/MyUtil.java b/flower_city/src/main/java/com/dg/core/util/MyUtil.java new file mode 100644 index 0000000..2bb11b2 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/MyUtil.java @@ -0,0 +1,8 @@ +package com.dg.core.util; + + +public class MyUtil { + + + +} diff --git a/flower_city/src/main/java/com/dg/core/util/Snowflake.java b/flower_city/src/main/java/com/dg/core/util/Snowflake.java new file mode 100644 index 0000000..061cf6c --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/Snowflake.java @@ -0,0 +1,17 @@ +package com.dg.core.util; + + +import cn.hutool.core.util.IdUtil; + +/** + * 雪花id获取工具类 + * @author lyq + * @date 2022-03-04 + */ +public class Snowflake { + public static long getId() { + cn.hutool.core.lang.Snowflake snowflake = IdUtil.getSnowflake(1, 1); + long id = snowflake.nextId(); + return id; + } +} diff --git a/flower_city/src/main/java/com/dg/core/util/TableDataInfo.java b/flower_city/src/main/java/com/dg/core/util/TableDataInfo.java new file mode 100644 index 0000000..653f869 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/TableDataInfo.java @@ -0,0 +1,85 @@ +package com.dg.core.util; + +import java.io.Serializable; +import java.util.List; + +/** + * 表格分页数据对象 + * + * @author ruoyi + */ +public class TableDataInfo implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 总记录数 */ + private long total; + + /** 列表数据 */ + private List<?> rows; + + /** 消息状态码 */ + private int result; + + /** 消息内容 */ + private String msg; + + /** + * 表格数据对象 + */ + public TableDataInfo() + { + } + + /** + * 分页 + * + * @param list 列表数据 + * @param total 总记录数 + */ + public TableDataInfo(List<?> list, long total) + { + this.rows = list; + this.total = total; + } + + public long getTotal() + { + return total; + } + + public void setTotal(long total) + { + this.total = total; + } + + public List<?> getRows() + { + return rows; + } + + public void setRows(List<?> rows) + { + this.rows = rows; + } + + public int getResult() + { + return result; + } + + public void setResult(int result) + { + this.result = result; + } + + public String getMsg() + { + return msg; + } + + public void setMsg(String msg) + { + this.msg = msg; + } +} diff --git a/flower_city/src/main/java/com/dg/core/util/UUID.java b/flower_city/src/main/java/com/dg/core/util/UUID.java new file mode 100644 index 0000000..46ee487 --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/util/UUID.java @@ -0,0 +1,486 @@ +package com.dg.core.util; + + +import com.dg.core.exception.UtilException; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.Random; +import java.util.concurrent.ThreadLocalRandom; + +/** + * 提供通用唯一识别码(universally unique identifier)(UUID)实现 + * + * @author ruoyi + */ +public final class UUID implements java.io.Serializable, Comparable<UUID> +{ + private static final long serialVersionUID = -1185015143654744140L; + + /** + * SecureRandom 的单例 + * + */ + private static class Holder + { + static final SecureRandom numberGenerator = getSecureRandom(); + } + + /** 此UUID的最高64有效位 */ + private final long mostSigBits; + + /** 此UUID的最低64有效位 */ + private final long leastSigBits; + + /** + * 私有构造 + * + * @param data 数据 + */ + private UUID(byte[] data) + { + long msb = 0; + long lsb = 0; + assert data.length == 16 : "data must be 16 bytes in length"; + for (int i = 0; i < 8; i++) + { + msb = (msb << 8) | (data[i] & 0xff); + } + for (int i = 8; i < 16; i++) + { + lsb = (lsb << 8) | (data[i] & 0xff); + } + this.mostSigBits = msb; + this.leastSigBits = lsb; + } + + /** + * 使用指定的数据构造新的 UUID。 + * + * @param mostSigBits 用于 {@code UUID} 的最高有效 64 位 + * @param leastSigBits 用于 {@code UUID} 的最低有效 64 位 + */ + public UUID(long mostSigBits, long leastSigBits) + { + this.mostSigBits = mostSigBits; + this.leastSigBits = leastSigBits; + } + + /** + * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。 + * + * @return 随机生成的 {@code UUID} + */ + public static UUID fastUUID() + { + return randomUUID(false); + } + + /** + * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 + * + * @return 随机生成的 {@code UUID} + */ + public static UUID randomUUID() + { + return randomUUID(true); + } + + /** + * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 + * + * @param isSecure 是否使用{@link SecureRandom}如果是可以获得更安全的随机码,否则可以得到更好的性能 + * @return 随机生成的 {@code UUID} + */ + public static UUID randomUUID(boolean isSecure) + { + final Random ng = isSecure ? Holder.numberGenerator : getRandom(); + + byte[] randomBytes = new byte[16]; + ng.nextBytes(randomBytes); + randomBytes[6] &= 0x0f; /* clear version */ + randomBytes[6] |= 0x40; /* set to version 4 */ + randomBytes[8] &= 0x3f; /* clear variant */ + randomBytes[8] |= 0x80; /* set to IETF variant */ + return new UUID(randomBytes); + } + + /** + * 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。 + * + * @param name 用于构造 UUID 的字节数组。 + * + * @return 根据指定数组生成的 {@code UUID} + */ + public static UUID nameUUIDFromBytes(byte[] name) + { + MessageDigest md; + try + { + md = MessageDigest.getInstance("MD5"); + } + catch (NoSuchAlgorithmException nsae) + { + throw new InternalError("MD5 not supported"); + } + byte[] md5Bytes = md.digest(name); + md5Bytes[6] &= 0x0f; /* clear version */ + md5Bytes[6] |= 0x30; /* set to version 3 */ + md5Bytes[8] &= 0x3f; /* clear variant */ + md5Bytes[8] |= 0x80; /* set to IETF variant */ + return new UUID(md5Bytes); + } + + /** + * 根据 {@link #toString()} 方法中描述的字符串标准表示形式创建{@code UUID}。 + * + * @param name 指定 {@code UUID} 字符串 + * @return 具有指定值的 {@code UUID} + * @throws IllegalArgumentException 如果 name 与 {@link #toString} 中描述的字符串表示形式不符抛出此异常 + * + */ + public static UUID fromString(String name) + { + String[] components = name.split("-"); + if (components.length != 5) + { + throw new IllegalArgumentException("Invalid UUID string: " + name); + } + for (int i = 0; i < 5; i++) + { + components[i] = "0x" + components[i]; + } + + long mostSigBits = Long.decode(components[0]).longValue(); + mostSigBits <<= 16; + mostSigBits |= Long.decode(components[1]).longValue(); + mostSigBits <<= 16; + mostSigBits |= Long.decode(components[2]).longValue(); + + long leastSigBits = Long.decode(components[3]).longValue(); + leastSigBits <<= 48; + leastSigBits |= Long.decode(components[4]).longValue(); + + return new UUID(mostSigBits, leastSigBits); + } + + /** + * 返回此 UUID 的 128 位值中的最低有效 64 位。 + * + * @return 此 UUID 的 128 位值中的最低有效 64 位。 + */ + public long getLeastSignificantBits() + { + return leastSigBits; + } + + /** + * 返回此 UUID 的 128 位值中的最高有效 64 位。 + * + * @return 此 UUID 的 128 位值中最高有效 64 位。 + */ + public long getMostSignificantBits() + { + return mostSigBits; + } + + /** + * 与此 {@code UUID} 相关联的版本号. 版本号描述此 {@code UUID} 是如何生成的。 + * <p> + * 版本号具有以下含意: + * <ul> + * <li>1 基于时间的 UUID + * <li>2 DCE 安全 UUID + * <li>3 基于名称的 UUID + * <li>4 随机生成的 UUID + * </ul> + * + * @return 此 {@code UUID} 的版本号 + */ + public int version() + { + // Version is bits masked by 0x000000000000F000 in MS long + return (int) ((mostSigBits >> 12) & 0x0f); + } + + /** + * 与此 {@code UUID} 相关联的变体号。变体号描述 {@code UUID} 的布局。 + * <p> + * 变体号具有以下含意: + * <ul> + * <li>0 为 NCS 向后兼容保留 + * <li>2 <a href="http://www.ietf.org/rfc/rfc4122.txt">IETF RFC 4122</a>(Leach-Salz), 用于此类 + * <li>6 保留,微软向后兼容 + * <li>7 保留供以后定义使用 + * </ul> + * + * @return 此 {@code UUID} 相关联的变体号 + */ + public int variant() + { + // This field is composed of a varying number of bits. + // 0 - - Reserved for NCS backward compatibility + // 1 0 - The IETF aka Leach-Salz variant (used by this class) + // 1 1 0 Reserved, Microsoft backward compatibility + // 1 1 1 Reserved for future definition. + return (int) ((leastSigBits >>> (64 - (leastSigBits >>> 62))) & (leastSigBits >> 63)); + } + + /** + * 与此 UUID 相关联的时间戳值。 + * + * <p> + * 60 位的时间戳值根据此 {@code UUID} 的 time_low、time_mid 和 time_hi 字段构造。<br> + * 所得到的时间戳以 100 毫微秒为单位,从 UTC(通用协调时间) 1582 年 10 月 15 日零时开始。 + * + * <p> + * 时间戳值仅在在基于时间的 UUID(其 version 类型为 1)中才有意义。<br> + * 如果此 {@code UUID} 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。 + * + * @throws UnsupportedOperationException 如果此 {@code UUID} 不是 version 为 1 的 UUID。 + */ + public long timestamp() throws UnsupportedOperationException + { + checkTimeBase(); + return (mostSigBits & 0x0FFFL) << 48// + | ((mostSigBits >> 16) & 0x0FFFFL) << 32// + | mostSigBits >>> 32; + } + + /** + * 与此 UUID 相关联的时钟序列值。 + * + * <p> + * 14 位的时钟序列值根据此 UUID 的 clock_seq 字段构造。clock_seq 字段用于保证在基于时间的 UUID 中的时间唯一性。 + * <p> + * {@code clockSequence} 值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。 如果此 UUID 不是基于时间的 UUID,则此方法抛出 + * UnsupportedOperationException。 + * + * @return 此 {@code UUID} 的时钟序列 + * + * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1 + */ + public int clockSequence() throws UnsupportedOperationException + { + checkTimeBase(); + return (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48); + } + + /** + * 与此 UUID 相关的节点值。 + * + * <p> + * 48 位的节点值根据此 UUID 的 node 字段构造。此字段旨在用于保存机器的 IEEE 802 地址,该地址用于生成此 UUID 以保证空间唯一性。 + * <p> + * 节点值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。<br> + * 如果此 UUID 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。 + * + * @return 此 {@code UUID} 的节点值 + * + * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1 + */ + public long node() throws UnsupportedOperationException + { + checkTimeBase(); + return leastSigBits & 0x0000FFFFFFFFFFFFL; + } + + /** + * 返回此{@code UUID} 的字符串表现形式。 + * + * <p> + * UUID 的字符串表示形式由此 BNF 描述: + * + * <pre> + * {@code + * UUID = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node> + * time_low = 4*<hexOctet> + * time_mid = 2*<hexOctet> + * time_high_and_version = 2*<hexOctet> + * variant_and_sequence = 2*<hexOctet> + * node = 6*<hexOctet> + * hexOctet = <hexDigit><hexDigit> + * hexDigit = [0-9a-fA-F] + * } + * </pre> + * + * </blockquote> + * + * @return 此{@code UUID} 的字符串表现形式 + * @see #toString(boolean) + */ + @Override + public String toString() + { + return toString(false); + } + + /** + * 返回此{@code UUID} 的字符串表现形式。 + * + * <p> + * UUID 的字符串表示形式由此 BNF 描述: + * + * <pre> + * {@code + * UUID = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node> + * time_low = 4*<hexOctet> + * time_mid = 2*<hexOctet> + * time_high_and_version = 2*<hexOctet> + * variant_and_sequence = 2*<hexOctet> + * node = 6*<hexOctet> + * hexOctet = <hexDigit><hexDigit> + * hexDigit = [0-9a-fA-F] + * } + * </pre> + * + * </blockquote> + * + * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串 + * @return 此{@code UUID} 的字符串表现形式 + */ + public String toString(boolean isSimple) + { + final StringBuilder builder = new StringBuilder(isSimple ? 32 : 36); + // time_low + builder.append(digits(mostSigBits >> 32, 8)); + if (!isSimple) + { + builder.append('-'); + } + // time_mid + builder.append(digits(mostSigBits >> 16, 4)); + if (!isSimple) + { + builder.append('-'); + } + // time_high_and_version + builder.append(digits(mostSigBits, 4)); + if (!isSimple) + { + builder.append('-'); + } + // variant_and_sequence + builder.append(digits(leastSigBits >> 48, 4)); + if (!isSimple) + { + builder.append('-'); + } + // node + builder.append(digits(leastSigBits, 12)); + + return builder.toString(); + } + + /** + * 返回此 UUID 的哈希码。 + * + * @return UUID 的哈希码值。 + */ + @Override + public int hashCode() + { + long hilo = mostSigBits ^ leastSigBits; + return ((int) (hilo >> 32)) ^ (int) hilo; + } + + /** + * 将此对象与指定对象比较。 + * <p> + * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true}。 + * + * @param obj 要与之比较的对象 + * + * @return 如果对象相同,则返回 {@code true};否则返回 {@code false} + */ + @Override + public boolean equals(Object obj) + { + if ((null == obj) || (obj.getClass() != UUID.class)) + { + return false; + } + UUID id = (UUID) obj; + return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits); + } + + // Comparison Operations + + /** + * 将此 UUID 与指定的 UUID 比较。 + * + * <p> + * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID。 + * + * @param val 与此 UUID 比较的 UUID + * + * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1。 + * + */ + @Override + public int compareTo(UUID val) + { + // The ordering is intentionally set up so that the UUIDs + // can simply be numerically compared as two numbers + return (this.mostSigBits < val.mostSigBits ? -1 : // + (this.mostSigBits > val.mostSigBits ? 1 : // + (this.leastSigBits < val.leastSigBits ? -1 : // + (this.leastSigBits > val.leastSigBits ? 1 : // + 0)))); + } + + // ------------------------------------------------------------------------------------------------------------------- + // Private method start + /** + * 返回指定数字对应的hex值 + * + * @param val 值 + * @param digits 位 + * @return 值 + */ + private static String digits(long val, int digits) + { + long hi = 1L << (digits * 4); + return Long.toHexString(hi | (val & (hi - 1))).substring(1); + } + + /** + * 检查是否为time-based版本UUID + */ + private void checkTimeBase() + { + if (version() != 1) + { + throw new UnsupportedOperationException("Not a time-based UUID"); + } + } + + /** + * 获取{@link SecureRandom},类提供加密的强随机数生成器 (RNG) + * + * @return {@link SecureRandom} + */ + public static SecureRandom getSecureRandom() + { + try + { + return SecureRandom.getInstance("SHA1PRNG"); + } + catch (NoSuchAlgorithmException e) + { + throw new UtilException(e); + } + } + + /** + * 获取随机数生成器对象<br> + * ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。 + * + * @return {@link ThreadLocalRandom} + */ + public static ThreadLocalRandom getRandom() + { + return ThreadLocalRandom.current(); + } +} diff --git a/flower_city/src/main/resources/application.properties b/flower_city/src/main/resources/application.properties new file mode 100644 index 0000000..5a947cb --- /dev/null +++ b/flower_city/src/main/resources/application.properties @@ -0,0 +1,56 @@ +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.username=root +spring.datasource.password=nahanMysqlPwd&&RemoteRemote2019nahan +#spring.datasource.url=jdbc:mysql://10.8.0.74:3306/flower_city_automessage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&allowMultiQueries=true&serverTimezone=GMT%2B8 +#spring.datasource.url=jdbc:mysql://localhost:3306/flower_city_automessage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&allowMultiQueries=true&serverTimezone=GMT%2B8 +spring.datasource.url=jdbc:mysql://10.8.0.74:3306/huacheng_smart_life?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&allowMultiQueries=true&serverTimezone=GMT%2B8 + + + + +#datasource: +#type: com.alibaba.druid.pool.DruidDataSource +#driverClassName: com.mysql.cj.jdbc.Driver +#url: jdbc:mysql://182.151.2.19:3306/huacheng_smart_life?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 +#username: root +#password: nahanMysqlPwd&&RemoteRemote2019nahan + + +server.port=8080 +#server.port=8088 + +swagger.enabled=true +swagger.pathMapping=/ +#Redis +spring.redis.host=127.0.0.1 +spring.redis.port=6379 + + +spring.mvc.pathmatch.matching-strategy=ant_path_matcher + + +spring.servlet.multipart.max-file-size=20MB +spring.servlet.multipart.max-request-size=50MB + +# ?????? +# ???? ??? Windows??D:/ruoyi/uploadPath?Linux?? /home/ruoyi/uploadPath? +#profile=E:/java/flower_city_automessage/flower_citys/files +profile=D:/tupianshuju + + +wx.open.app_id=wx118de8a734d269f0 +wx.open.app_secret=0264342daefde5cd70a6adada09ee5b1 +wx.open.redirect_url=http://yq.cdnhxx.com:8080/ucenter/wx/callback +yygh.baseUrl=http://localhost:8080 + + + +ftp.username=root +ftp.password=6-gj!bx@TNb!Dwpjd]1h1Kvqmc +ftp.host=182.151.31.48 +ftp.port=22 +ftp.url=http://test.panzhihua.nhys.cdnhxx.com/ + + + + diff --git a/flower_city/src/main/resources/mapper/AgreementMapper.xml b/flower_city/src/main/resources/mapper/AgreementMapper.xml new file mode 100644 index 0000000..5caedd8 --- /dev/null +++ b/flower_city/src/main/resources/mapper/AgreementMapper.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.AgreementMapper"> + <resultMap type="com.dg.core.db.gen.entity.Agreement" id="AgreementResult"> + <id property="id" column="id" /> + <id property="agreement" column="agreement" /> + <id property="updateUserId" column="update_user_id" /> + <id property="updateTime" column="update_time" /> + <id property="createTime" column="create_time" /> + <id property="createUserId" column="create_user_id" /> + <id property="agreementContent" column="agreement_content" /> + </resultMap> + + <sql id="selectAgreement"> + select id,agreement, + (select user_name from automessage_sys_user where user_id=a.update_user_id)updateUserName, + update_user_id,create_time, + (select user_name from automessage_sys_user where user_id=a.create_user_id)createUserName, + create_user_id,agreement_content FROM automessage_agreement a + </sql> + + <select id="selectConfigList" resultMap="AgreementResult"> + <include refid="selectAgreement" /> + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/AreaCode2022Mapper.xml b/flower_city/src/main/resources/mapper/AreaCode2022Mapper.xml new file mode 100644 index 0000000..9745c84 --- /dev/null +++ b/flower_city/src/main/resources/mapper/AreaCode2022Mapper.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.AreaCode2022Mapper"> + <resultMap type="com.dg.core.db.gen.entity.AreaCode2022" id="AreaCodeResult"> + <id property="code" column="code" /> + <id property="name" column="name" /> + <id property="level" column="level" /> + <id property="pcode" column="pcode" /> + </resultMap> + + <sql id="selectAreaCode"> + select code,name,level,pcode FROM area_code_2022 + </sql> + + <select id="selectByIdSet" resultMap="AreaCodeResult"> + <include refid="selectAreaCode" /> + WHERE code IN + <foreach collection="list" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/ClassifyAdministrationMapper.xml b/flower_city/src/main/resources/mapper/ClassifyAdministrationMapper.xml new file mode 100644 index 0000000..ed99221 --- /dev/null +++ b/flower_city/src/main/resources/mapper/ClassifyAdministrationMapper.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.ClassifyAdministrationMapper"> + + <resultMap type="com.dg.core.db.gen.entity.ClassifyAdministration" id="ClassifyAdministrationEntityResult"> + <id property="id" column="id" /> + <id property="classifyGrade" column="classify_grade" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="classifyIcon" column="classify_icon" /> + <id property="parentId" column="parent_id" /> + <id property="classifyName" column="classify_name" /> + + </resultMap> + + <sql id="selectClassifyAdministrationEntityVo"> + SELECT + id, + classify_grade, + create_time, + update_time, + parent_id, + (select ca.classify_name from automessage_classify_administration as ca where ca.id= automessage_classify_administration.parent_id) as parentName, + classify_name, + classify_icon + FROM + automessage_classify_administration + </sql> + + <select id="selectConfigList" resultMap="ClassifyAdministrationEntityResult"> + <include refid="selectClassifyAdministrationEntityVo"/> + <where> + <if test="classifyName != null and classifyName != ''"> + AND classify_name like concat('%', #{classifyName}, '%') + </if> + <if test="classifyGrade != null and classifyGrade != ''"> + AND classify_grade = #{classifyGrade} + </if> + </where> + order by create_time desc + </select> + + <select id="selectRootList" resultMap="ClassifyAdministrationEntityResult"> + <include refid="selectClassifyAdministrationEntityVo"/> + <where> + parent_id=#{parentId} + <if test="departmentId!=null"> + and id in ( + select classify_id from transaction_event where department_id=#{departmentId} UNION + select parent_id from classify_administration where id in (select classify_id FROM transaction_event where department_id=#{departmentId}) ) + </if> + </where> + </select> + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.ClassifyAdministration"> + insert into automessage_classify_administration ( + <if test="id != null">id,</if> + <if test="classifyGrade != null and classifyGrade != '' ">classify_grade,</if> + <if test="parentId != null">parent_id,</if> + <if test="classifyName != null and classifyName != '' ">classify_name,</if> + <if test="classifyIcon != null and classifyIcon != '' ">classify_icon,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="classifyGrade != null and classifyGrade != '' ">#{classifyGrade},</if> + <if test="parentId != null">#{parentId},</if> + <if test="classifyName != null and classifyName != '' ">#{classifyName},</if> + <if test="classifyIcon != null and classifyIcon != '' ">#{classifyIcon},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.ClassifyAdministration"> + update automessage_classify_administration + <set> + <if test="id != null">id=#{id},</if> + <if test="classifyGrade != null and classifyGrade != '' ">classify_grade=#{classifyGrade},</if> + <if test="parentId != null">parent_id=#{parentId},</if> + <if test="classifyName != null and classifyName != '' ">classify_name=#{classifyName},</if> + <if test="classifyIcon != null and classifyIcon != '' ">classify_icon=#{classifyIcon},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + <delete id="deleteConfigById" parameterType="String"> + delete from automessage_classify_administration where id= #{id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_classify_administration + <where> + <if test="classifyName != null and classifyName != ''"> + AND classify_name like concat('%', #{classifyName}, '%') + </if> + <if test="classifyGrade != null and classifyGrade != ''"> + AND classify_grade = #{classifyGrade} + </if> + </where> + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/ElseAccessoryMapper.xml b/flower_city/src/main/resources/mapper/ElseAccessoryMapper.xml new file mode 100644 index 0000000..ae4d6ab --- /dev/null +++ b/flower_city/src/main/resources/mapper/ElseAccessoryMapper.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.ElseAccessoryMapper"> + + <resultMap type="com.dg.core.db.gen.entity.ElseAccessoryEntity" id="ElseAccessoryEntityResult"> + <id property="id" column="id" /> + <id property="departmentId" column="department_id" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="name" column="name" /> + <id property="url" column="url" /> + + </resultMap> + + <sql id="selectElseAccessoryEntityVo"> + SELECT + id, + department_id, + (select organization_name from automessage_organization_chart where automessage_organization_chart.id=automessage_else_accessory.department_id) as departmentName, + create_time, + update_time, + url, + name + FROM + automessage_else_accessory + </sql> + + <select id="selectConfigList" resultMap="ElseAccessoryEntityResult"> + <include refid="selectElseAccessoryEntityVo"/> + <where> + <if test="Name != null and Name != ''"> + AND automessage_else_accessory.name like concat('%', #{Name}, '%') + </if> + </where> + order by create_time desc + </select> + + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.ElseAccessoryEntity"> + insert into automessage_else_accessory ( + <if test="id != null">id,</if> + <if test="departmentId != null and departmentId != '' ">department_id,</if> + <if test="name != null and name != '' ">name,</if> + <if test="url != null and url != '' ">url,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="departmentId != null and departmentId != '' ">#{departmentId},</if> + <if test="name != null and name != '' ">#{name},</if> + <if test="url != null and url != '' ">#{url},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.ElseAccessoryEntity"> + update automessage_else_accessory + <set> + <if test="id != null">id=#{id},</if> + <if test="departmentId != null and departmentId != '' ">department_id=#{departmentId},</if> + <if test="name != null and name != '' ">name=#{name},</if> + <if test="url != null and url != '' ">url=#{url},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_else_accessory where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_else_accessory + <where> + <if test="Name != null and Name != ''"> + AND automessage_else_accessory.name like concat('%', #{Name}, '%') + </if> + </where> + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/GuideEvolveMapper.xml b/flower_city/src/main/resources/mapper/GuideEvolveMapper.xml new file mode 100644 index 0000000..2ce892f --- /dev/null +++ b/flower_city/src/main/resources/mapper/GuideEvolveMapper.xml @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.GuideEvolveMapper"> + + <resultMap type="com.dg.core.db.gen.entity.GuideEvolveEntity" id="GuideEvolveResult"> + <id property="id" column="id" /> + <id property="departmentalId" column="departmental_id" /> + <id property="toUserId" column="to_user_id" /> + <id property="fromUserId" column="from_user_id" /> + <id property="state" column="state" /> + <id property="remark" column="remark" /> + <id property="guideId" column="guide_id" /> + <id property="transactionId" column="transaction_id" /> + <id property="accessoryId" column="accessory_id" /> + <id property="accessoryName" column="accessory_name" /> + <id property="accessoryUrl" column="accessory_url" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="fromDepartmentalId" column="from_departmental_id" /> + + </resultMap> + + <sql id="selectGuideEvolveVo"> + SELECT + id, + departmental_id, + to_user_id, + from_user_id, + state, + remark, + guide_id, + transaction_id, + accessory_id, + accessory_name, + accessory_url, + from_departmental_id, + create_time, + update_time + FROM + automessage_guide_evolve + </sql> + + <select id="selectConfigList" resultMap="GuideEvolveResult"> + <include refid="selectGuideEvolveVo"/> + <where> + <if test="guideId != null and guideId != ''"> + AND guide_id=#{guideId} + </if> + </where> + order by create_time desc + </select> + + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.GuideEvolveEntity"> + insert into automessage_guide_evolve ( + <if test="id != null">id,</if> + <if test="departmentalId != null and departmentalId != '' ">departmental_id,</if> + <if test="toUserId != null and toUserId != '' ">to_user_id,</if> + <if test="fromUserId != null and fromUserId != '' ">from_user_id,</if> + <if test="state != null and state != '' ">state,</if> + <if test="remark != null and remark != '' ">remark,</if> + <if test="guideId != null and guideId != '' ">guide_id,</if> + <if test="transactionId != null and transactionId != '' ">transaction_id,</if> + <if test="accessoryId != null and accessoryId != '' ">accessory_id,</if> + <if test="accessoryName != null and accessoryName != '' ">accessory_name,</if> + <if test="accessoryUrl != null and accessoryUrl != '' ">accessory_url,</if> + <if test="fromDepartmentalId != null and fromDepartmentalId != '' ">from_departmental_id,</if> + update_time, + create_time + )values( + <if test="departmentalId != null and departmentalId != '' ">#{departmentalId},</if> + <if test="toUserId != null and toUserId != '' ">#{toUserId},</if> + <if test="fromUserId != null and fromUserId != '' ">#{fromUserId},</if> + <if test="state != null and state != '' ">#{state},</if> + <if test="remark != null and remark != '' ">#{remark},</if> + <if test="guideId != null and guideId != '' ">#{guideId},</if> + <if test="transactionId != null and transactionId != '' ">#{transactionId},</if> + <if test="accessoryId != null and accessoryId != '' ">#{accessoryId},</if> + <if test="accessoryName != null and accessoryName != '' ">#{accessoryName},</if> + <if test="accessoryUrl != null and accessoryUrl != '' ">#{accessoryUrl},</if> + <if test="fromDepartmentalId != null and fromDepartmentalId != '' ">#{fromDepartmentalId},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.GuideEvolveEntity"> + update automessage_guide_evolve + <set> + <if test="departmentalId != null and departmentalId != '' ">departmental_id=#{departmentalId},</if> + <if test="toUserId != null and toUserId != '' ">to_user_id=#{toUserId},</if> + <if test="fromUserId != null and fromUserId != '' ">from_user_id=#{fromUserId},</if> + <if test="state != null and state != '' ">state=#{state},</if> + <if test="remark != null and remark != '' ">remark=#{remark},</if> + <if test="guideId != null and guideId != '' ">guide_id=#{guideId},</if> + <if test="transactionId != null and transactionId != '' ">transaction_id=#{transactionId},</if> + <if test="accessoryId != null and accessoryId != '' ">accessory_id=#{accessoryId},</if> + <if test="accessoryName != null and accessoryName != '' ">accessory_name=#{accessoryName},</if> + <if test="accessoryUrl != null and accessoryUrl != '' ">accessory_url=#{accessoryUrl},</if> + <if test="fromDepartmentalId != null and fromDepartmentalId != '' ">from_departmental_id=#{fromDepartmentalId},</if> + update_time=sysdate() + </set> + where id= #{Id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_guide_evolve where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_guide_evolve + </select> + +</mapper> + + + + + diff --git a/flower_city/src/main/resources/mapper/GuideRepairOrderImageMapper.xml b/flower_city/src/main/resources/mapper/GuideRepairOrderImageMapper.xml new file mode 100644 index 0000000..30b971d --- /dev/null +++ b/flower_city/src/main/resources/mapper/GuideRepairOrderImageMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.GuideRepairOrderImageMapper"> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml new file mode 100644 index 0000000..b736670 --- /dev/null +++ b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.GuideRepairOrderMapper"> + + <resultMap type="com.dg.core.db.gen.entity.GuideRepairOrder" id="GuideRepairOrderResult"> + <id property="id" column="id" /> + <id property="orderNum" column="order_num" /> + <id property="matterId" column="matter_id" /> + <id property="matterName" column="matter_name" /> + <id property="departmentId" column="department_id" /> + <id property="classifyId" column="classify_id" /> + <id property="consultContent" column="consult_content" /> + <id property="consultUserName" column="consult_user_name" /> + <id property="submitUserId" column="submit_user_id" /> + <id property="guideUserId" column="guide_user_id" /> + <id property="guideDepartmentId" column="guide_department_id" /> + <id property="state" column="state" /> + <id property="consultUserPhone" column="consult_user_phone" /> + <id property="submitUserPhone" column="submit_user_phone" /> + <id property="guideUserPhone" column="guide_user_phone" /> + <id property="areaCode" column="area_code" /> + <id property="detailedAddress" column="detailed_address" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="evaluateContent" column="evaluate_content" /> + <id property="suggest" column="suggest" /> + <id property="evaluateState" column="evaluate_state" /> + <id property="serviceState" column="service_state" /> + <id property="images" column="images" /> + <id property="video" column="video" /> + </resultMap> + + <sql id="selectGuideRepairOrderVo"> + SELECT + id, + order_num, + matter_id, + matter_name, + department_id, + classify_id, + consult_content, + consult_user_name, + submit_user_id, + guide_user_id, + guide_department_id, + state, + consult_user_phone, + submit_user_phone, + guide_user_phone, + area_code, + detailed_address, + create_time, + update_time, + evaluate_content, + suggest, + evaluate_state, + service_state, + video, + images + FROM + automessage_guide_repair_order + </sql> + + <select id="selectConfigData" resultMap="GuideRepairOrderResult"> + <include refid="selectGuideRepairOrderVo"/> + <where> + <if test="Id != null and Id != ''"> + AND id=#{Id} + </if> + <if test="orderNum != null and orderNum != ''"> + AND order_num=#{orderNum} + </if> + </where> + </select> + + + <select id="selectBySubmitId" resultMap="GuideRepairOrderResult"> + <include refid="selectGuideRepairOrderVo"/> + where submit_user_id=#{id} and ( state not in (3,5) or ( state in (3,5) and create_time>sysdate()-60 + )) + </select> + + + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.GuideRepairOrder"> + update automessage_guide_repair_order + <set> + <if test="guideUserId != null and guideUserId != '' ">guide_user_id=#{guideUserId},</if> + <if test="guideDepartmentId != null and guideDepartmentId != '' ">guide_department_id=#{guideDepartmentId},</if> + <if test="state != null and state != '' ">state=#{state},</if> + <if test="guideUserPhone != null and guideUserPhone != '' ">guide_user_phone=#{guideUserPhone},</if> + <if test="evaluateState != null and evaluateState != '' ">evaluate_state=#{evaluateState},</if> + <if test="evaluateContent != null and evaluateContent != '' ">evaluate_content=#{evaluateContent},</if> + <if test="suggest != null and suggest != '' ">suggest=#{suggest},</if> + <if test="serviceState != null ">service_state=#{serviceState},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + + <select id="countNum" resultType="integer"> + select count(id) from automessage_guide_repair_order + </select> + + +</mapper> diff --git a/flower_city/src/main/resources/mapper/KeywordMapper.xml b/flower_city/src/main/resources/mapper/KeywordMapper.xml new file mode 100644 index 0000000..b1774ce --- /dev/null +++ b/flower_city/src/main/resources/mapper/KeywordMapper.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.KeywordMapper"> + + <resultMap type="com.dg.core.db.gen.entity.KeywordEntity" id="KeywordEntityResult"> + <id property="id" column="id" /> + <id property="name" column="name" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="transactionId" column="transaction_id" /> + + </resultMap> + + <sql id="selectKeywordEntityVo"> + SELECT + id, + name, + create_time, + update_time, + transaction_id + FROM + automessage_keyword + </sql> + + <select id="selectConfigList" resultMap="KeywordEntityResult"> + <include refid="selectKeywordEntityVo"/> + <!-- <where>--> + <!-- <if test="userName != null and userName != ''">--> + <!-- AND user_name like concat('%', #{userName}, '%')--> + <!-- </if>--> + <!-- <if test="streetName != null and streetName != ''">--> + <!-- AND street_name like concat('%', #{streetName}, '%')--> + <!-- </if>--> + <!-- <if test="loginName != null and loginName != ''">--> + <!-- AND login_name like concat('%', #{loginName}, '%')--> + <!-- </if>--> + <!-- <if test="phonenumber != null and phonenumber != ''">--> + <!-- AND phonenumber like concat('%', #{phonenumber}, '%')--> + <!-- </if>--> + <!-- <if test="roleId != null and roleId != ''">--> + <!-- AND role_id=#{roleId}--> + <!-- </if>--> + + <!-- </where>--> + + order by create_time desc + </select> + + + <select id="selectConfigData" resultMap="KeywordEntityResult"> + <include refid="selectKeywordEntityVo"/> + <where> + <if test="Id != null and Id != ''"> + AND automessage_keyword.id=#{Id} + </if> + <if test="name != null and name != ''"> + AND automessage_keyword.name=#{name} + </if> + </where> + </select> + + <select id="selectByName" resultMap="KeywordEntityResult"> + <include refid="selectKeywordEntityVo"/> + <where> + name like concat('%',#{keyWord}, '%') + </where> + </select> + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.KeywordEntity"> + insert into automessage_keyword ( + <if test="id != null">id,</if> + <if test="name != null and name != '' ">name,</if> + <if test="transactionId != null and transactionId !='' ">transaction_id,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="name != null and name != '' ">#{name},</if> + <if test="transactionId != null and transactionId !='' ">#{transactionId},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.KeywordEntity"> + update automessage_keyword + <set> + <if test="id != null">id=#{id},</if> + <if test="name != null and name != '' ">name=#{name},</if> + <if test="transactionId != null and transactionId !='' ">transaction_id=#{transactionId},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_keyword where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_keyword + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/MenuMapper.xml b/flower_city/src/main/resources/mapper/MenuMapper.xml new file mode 100644 index 0000000..b43c0c2 --- /dev/null +++ b/flower_city/src/main/resources/mapper/MenuMapper.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.MenuMapper"> + + <resultMap type="com.dg.core.db.gen.entity.MenuEntity" id="MenuEntityResult"> + <id property="id" column="id" /> + <id property="title" column="title" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="remark" column="remark" /> + <id property="parentId" column="parent_id" /> + + </resultMap> + + <sql id="selectMenuEntityVo"> + SELECT + id, + title, + create_time, + update_time, + parent_id, + remark + FROM + automessage_menu + </sql> + + <select id="selectConfigList" resultMap="MenuEntityResult"> + <include refid="selectMenuEntityVo"/> +<!-- <where>--> +<!-- <if test="userName != null and userName != ''">--> +<!-- AND user_name like concat('%', #{userName}, '%')--> +<!-- </if>--> +<!-- <if test="streetName != null and streetName != ''">--> +<!-- AND street_name like concat('%', #{streetName}, '%')--> +<!-- </if>--> +<!-- <if test="loginName != null and loginName != ''">--> +<!-- AND login_name like concat('%', #{loginName}, '%')--> +<!-- </if>--> +<!-- <if test="phonenumber != null and phonenumber != ''">--> +<!-- AND phonenumber like concat('%', #{phonenumber}, '%')--> +<!-- </if>--> +<!-- <if test="roleId != null and roleId != ''">--> +<!-- AND role_id=#{roleId}--> +<!-- </if>--> + +<!-- </where>--> + + order by create_time desc + </select> + + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.MenuEntity"> + insert into automessage_menu ( + <if test="id != null">id,</if> + <if test="title != null and title != '' ">title,</if> + <if test="parentId != null">parent_id,</if> + <if test="remark != null and remark != '' ">remark,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="title != null and title != '' ">#{title},</if> + <if test="parentId != null">#{parentId},</if> + <if test="remark != null and remark != '' ">#{remark},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.MenuEntity"> + update automessage_menu + <set> + <if test="id != null">id=#{id},</if> + <if test="title != null and title != '' ">title=#{title},</if> + <if test="parentId != null">parent_id=#{parentId},</if> + <if test="remark != null and remark != '' ">remark=#{remark},</if> + update_time=sysdate() + </set> + where id= #{Id} + </update> + + <delete id="deleteConfigById" parameterType="Long"> + delete from automessage_menu where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_menu + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/OrganizationChartMapper.xml b/flower_city/src/main/resources/mapper/OrganizationChartMapper.xml new file mode 100644 index 0000000..2221f27 --- /dev/null +++ b/flower_city/src/main/resources/mapper/OrganizationChartMapper.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.OrganizationChartMapper"> + + <resultMap type="com.dg.core.db.gen.entity.OrganizationChartEntity" id="OrganizationChartResult"> + <id property="id" column="id" /> + <id property="organizationName" column="organization_name" /> + <id property="city" column="city" /> + <id property="district" column="district" /> + <id property="village" column="village" /> + <id property="detailedAddress" column="detailed_address" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="parentId" column="parent_id" /> + <id property="grade" column="grade" /> + <id property="resume" column="resume" /> + <id property="contactNumber" column="contact_number" /> + <id property="departmentalApplication" column="departmental_application" /> + + </resultMap> + + <sql id="selectOrganizationChartVo"> + SELECT + id, + resume, + organization_name, + contact_number, + departmental_application, + create_time, + update_time, + parent_id, + (select organization_name from automessage_organization_chart as oc where oc.id=automessage_organization_chart.parent_id) as parentName, + city, + district, + village, + detailed_address, + grade, + resume,contact_number + FROM + automessage_organization_chart + </sql> + + <select id="selectConfigById" resultMap="OrganizationChartResult"> + <include refid="selectOrganizationChartVo"/> + where id= #{id} + </select> + + <select id="selectConfigList" resultMap="OrganizationChartResult"> + <include refid="selectOrganizationChartVo"/> + <where> + <if test="parentId != null and parentId != ''"> + AND parent_id=#{parentId} + </if> + + <if test="grade != null and grade != ''"> + AND grade=#{grade} + </if> + + </where> + + + </select> + + <select id="selectByKeyWord" resultMap="OrganizationChartResult"> + <include refid="selectOrganizationChartVo"/> + where organization_name like concat('%', #{keyWord}, '%') or #{keyWord} like concat('%', organization_name, '%') + or detailed_address like concat('%', #{keyWord}, '%') or #{keyWord} like concat('%', detailed_address, '%') + or resume like concat('%', #{keyWord}, '%') or #{keyWord} like concat('%', resume, '%') + </select> + + + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.OrganizationChartEntity"> + insert into automessage_organization_chart ( + <if test="id != null">id,</if> + <if test="organizationName != null and organizationName != '' ">organization_name,</if> + <if test="parentId != null">parent_id,</if> + <if test="city != null and city != '' ">city,</if> + <if test="district != null and district != '' ">district,</if> + <if test="village != null and village != '' ">village,</if> + <if test="detailedAddress != null and detailedAddress != '' ">detailed_address,</if> + <if test="grade != null and grade != '' ">grade,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="organizationName != null and organizationName != '' ">#{organizationName},</if> + <if test="parentId != null">#{parentId},</if> + <if test="city != null and city != '' ">#{city},</if> + <if test="district != null and district != '' ">#{district},</if> + <if test="village != null and village != '' ">#{village},</if> + <if test="detailedAddress != null and detailedAddress != '' ">#{detailedAddress},</if> + <if test="grade != null and grade != '' ">#{grade},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.OrganizationChartEntity"> + update automessage_organization_chart + <set> + <if test="id != null">id=#{id},</if> + <if test="organizationName != null and organizationName != '' ">organization_name=#{organizationName},</if> + <if test="parentId != null">parent_id=#{parentId},</if> + <if test="city != null and city != '' ">city=#{city},</if> + <if test="district != null and district != '' ">district=#{district},</if> + <if test="village != null and village != '' ">village=#{village},</if> + <if test="detailedAddress != null and detailedAddress != '' ">detailed_address=#{detailedAddress},</if> + <if test="grade != null and grade != '' ">grade=#{grade},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_organization_chart where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_organization_chart + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/ReplyTemplateMapper.xml b/flower_city/src/main/resources/mapper/ReplyTemplateMapper.xml new file mode 100644 index 0000000..c6d133f --- /dev/null +++ b/flower_city/src/main/resources/mapper/ReplyTemplateMapper.xml @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.ReplyTemplateMapper"> + + <resultMap type="com.dg.core.db.gen.entity.ReplyTemplateEntity" id="ReplyTemplateResult"> + <id property="id" column="id" /> + <id property="name" column="name" /> + <id property="handleState" column="handle_state" /> + <id property="response" column="response" /> + <id property="guidance" column="guidance" /> + <id property="accessoryUrl" column="accessory_url" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="accessoryName" column="accessory_name" /> + <id property="videoUrl" column="video_url" /> + <id property="videoName" column="video_name" /> + <id property="createUserId" column="create_user_id" /> + <id property="departmentId" column="department_id" /> + <id property="pictureUrl" column="picture_url" /> + <id property="pictureName" column="picture_name" /> + <id property="accessoryId" column="accessory_id" /> + + </resultMap> + + <sql id="selectReplyTemplateVo"> + SELECT + id, + name, + create_time, + update_time, + handle_state, + response, + accessory_url, + accessory_name, + video_url, + video_name, + picture_url, + picture_name, + department_id, + create_user_id, + accessory_id, + (select organization_name from automessage_organization_chart where automessage_organization_chart.id=automessage_reply_template.department_id) as departmentName, + (select user_name from automessage_sys_user where automessage_sys_user.user_id=automessage_reply_template.create_user_id) as createUser, + guidance + FROM + automessage_reply_template + </sql> + + <select id="selectConfigList" resultMap="ReplyTemplateResult"> + <include refid="selectReplyTemplateVo"/> + <where> + <if test="Name != null and Name != ''"> + AND name=#{Name} + </if> + </where> + + </select> + + + <select id="selectConfigData" parameterType="string" resultMap="ReplyTemplateResult"> + <include refid="selectReplyTemplateVo"/> + where id=#{Id} + </select> + + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.ReplyTemplateEntity"> + insert into automessage_reply_template ( + <if test="id != null">id,</if> + <if test="name != null and name != '' ">name,</if> + <if test="handleState != null and handleState != '' ">handle_state,</if> + <if test="response != null and response != '' ">response,</if> + <if test="guidance != null and guidance != '' ">guidance,</if> + <if test="accessoryUrl != null and accessoryUrl != '' ">accessory_url,</if> + <if test="accessoryName != null and accessoryName != '' ">accessory_name,</if> + <if test="videoUrl != null and videoUrl != '' ">video_url,</if> + <if test="videoName != null and videoName != '' ">video_name,</if> + <if test="pictureUrl != null and pictureUrl != '' ">picture_url,</if> + <if test="pictureName != null and pictureName != '' ">picture_name,</if> + <if test="createUserId != null and createUserId != '' ">create_user_id,</if> + <if test="departmentId != null and departmentId != '' ">department_id,</if> + <if test="accessoryId != null and accessoryId != '' ">accessory_id,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="name != null and name != '' ">#{name},</if> + <if test="handleState != null and handleState != '' ">#{handleState},</if> + <if test="response != null and response != '' ">#{response},</if> + <if test="guidance != null and guidance != '' ">#{guidance},</if> + <if test="accessoryUrl != null and accessoryUrl != '' ">#{accessoryUrl},</if> + <if test="accessoryName != null and accessoryName != '' ">#{accessoryName},</if> + <if test="videoUrl != null and videoUrl != '' ">#{videoUrl},</if> + <if test="videoName != null and videoName != '' ">#{videoName},</if> + <if test="pictureUrl != null and pictureUrl != '' ">#{pictureUrl},</if> + <if test="pictureName != null and pictureName != '' ">#{pictureName},</if> + <if test="createUserId != null and createUserId != '' ">#{createUserId},</if> + <if test="departmentId != null and departmentId != '' ">#{departmentId},</if> + <if test="accessoryId != null and accessoryId != '' ">#{accessoryId},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.ReplyTemplateEntity"> + update automessage_reply_template + <set> + <if test="id != null">id=#{id},</if> + <if test="name != null and name != '' ">name=#{name},</if> + <if test="handleState != null and handleState != '' ">handle_state=#{handleState},</if> + <if test="response != null and response != '' ">response=#{response},</if> + <if test="guidance != null and guidance != '' ">guidance=#{guidance},</if> + <if test="accessoryUrl != null and accessoryUrl != '' ">accessory_url=#{accessoryUrl},</if> + <if test="accessoryName != null and accessoryName != '' ">accessory_name=#{accessoryName},</if> + <if test="videoUrl != null and videoUrl != '' ">video_url=#{videoUrl},</if> + <if test="videoName != null and videoName != '' ">video_name=#{videoName},</if> + <if test="pictureUrl != null and pictureUrl != '' ">picture_url=#{pictureUrl},</if> + <if test="pictureName != null and pictureName != '' ">picture_name=#{pictureName},</if> + <if test="createUserId != null and createUserId != '' ">create_user_id=#{createUserId},</if> + <if test="departmentId != null and departmentId != '' ">department_id=#{departmentId},</if> + <if test="accessoryId != null and accessoryId != '' ">accessory_id=#{accessoryId},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_reply_template where id= #{Id} + </delete> + + <select id="countNum" parameterType="string" resultType="integer"> + select count(id) from automessage_reply_template + <where> + <if test="Name != null and Name != ''"> + AND name=#{Name} + </if> + </where> + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/RoleManagementMapper.xml b/flower_city/src/main/resources/mapper/RoleManagementMapper.xml new file mode 100644 index 0000000..cd3f599 --- /dev/null +++ b/flower_city/src/main/resources/mapper/RoleManagementMapper.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.RoleManagementMapper"> + + <resultMap type="com.dg.core.db.gen.entity.RoleManagementEntity" id="RoleManagementEntityResult"> + <id property="id" column="id" /> + <id property="roleName" column="role_name" /> + <id property="createUserId" column="create_user_id" /> + <id property="createTime" column="create_time" /> + <id property="updateUserId" column="update_user_id" /> + <id property="updateTime" column="update_time" /> + <id property="permission" column="permission" /> + + </resultMap> + + <sql id="selectRoleManagementEntityVo"> + SELECT + id, + role_name, + permission, + create_time, + update_time, + create_user_id, + update_user_id + FROM + automessage_role_management + </sql> + + <select id="selectConfigList" resultMap="RoleManagementEntityResult"> + <include refid="selectRoleManagementEntityVo"/> + <!-- <where>--> + <!-- <if test="userName != null and userName != ''">--> + <!-- AND user_name like concat('%', #{userName}, '%')--> + <!-- </if>--> + <!-- <if test="streetName != null and streetName != ''">--> + <!-- AND street_name like concat('%', #{streetName}, '%')--> + <!-- </if>--> + <!-- <if test="loginName != null and loginName != ''">--> + <!-- AND login_name like concat('%', #{loginName}, '%')--> + <!-- </if>--> + <!-- <if test="phonenumber != null and phonenumber != ''">--> + <!-- AND phonenumber like concat('%', #{phonenumber}, '%')--> + <!-- </if>--> + <!-- <if test="roleId != null and roleId != ''">--> + <!-- AND role_id=#{roleId}--> + <!-- </if>--> + + <!-- </where>--> + + order by create_time desc + </select> + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.RoleManagementEntity"> + insert into automessage_role_management ( + <if test="id != null">id,</if> + <if test="roleName != null and roleName != '' ">role_name,</if> + <if test="permission != null">permission,</if> + <if test="createUserId != null and createUserId != '' ">create_user_id,</if> + <if test="updateUserId != null and updateUserId != '' ">update_user_id,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="roleName != null and roleName != '' ">#{roleName},</if> + <if test="permission != null and permission != '' " >#{permission},</if> + <if test="createUserId != null and createUserId != '' ">#{createUserId},</if> + <if test="updateUserId != null and updateUserId != '' ">#{updateUserId},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.RoleManagementEntity"> + update automessage_role_management + <set> + <if test="id != null">id=#{id},</if> + <if test="roleName != null and roleName != '' ">role_name=#{roleName},</if> + <if test="permission != null and permission != '' " >permission=#{permission},</if> + <if test="createUserId != null and createUserId != '' ">create_user_id=#{createUserId},</if> + <if test="updateUserId != null and updateUserId != '' ">update_user_id=#{updateUserId},</if> + update_time=sysdate() + </set> + where id= #{Id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_role_management where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_role_management + </select> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/SlideshowMapper.xml b/flower_city/src/main/resources/mapper/SlideshowMapper.xml new file mode 100644 index 0000000..ac37d7d --- /dev/null +++ b/flower_city/src/main/resources/mapper/SlideshowMapper.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.SlideshowMapper"> + <resultMap type="com.dg.core.db.gen.entity.Slideshow" id="SlideshowResult"> + <id property="id" column="id" /> + <id property="url" column="url" /> + <id property="createTime" column="create_time" /> + <id property="linkType" column="link_type" /> + <id property="link" column="link" /> + <id property="title" column="title" /> + <id property="content" column="content" /> + </resultMap> + +</mapper> diff --git a/flower_city/src/main/resources/mapper/SysUserMapper.xml b/flower_city/src/main/resources/mapper/SysUserMapper.xml new file mode 100644 index 0000000..0b00097 --- /dev/null +++ b/flower_city/src/main/resources/mapper/SysUserMapper.xml @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.SysUserMapper"> + + <resultMap type="com.dg.core.db.gen.entity.SysUser" id="SysUserResult"> + <id property="userId" column="user_id" /> + <result property="loginName" column="login_name" /> + <result property="userName" column="user_name" /> + <result property="userType" column="user_type" /> + <result property="phonenumber" column="phonenumber" /> + <result property="sex" column="sex" /> + <result property="avatar" column="avatar" /> + <result property="password" column="password" /> + <result property="salt" column="salt" /> + <result property="status" column="status" /> + <result property="delFlag" column="del_flag" /> + <result property="loginIp" column="login_ip" /> + <result property="loginDate" column="login_date" /> + <result property="pwdUpdateDate" column="pwd_update_date" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <result property="roleIds" column="role_ids" /> + <result property="dataPermission" column="data_permission" /> + <result property="departmentId" column="department_id" /> + <result property="stairId" column="stair_id" /> + <result property="secondLevelId" column="second_level_id" /> + <result property="departmentName" column="department_name" /> + <result property="departmentArea" column="department_area" /> + <result property="leisureState" column="leisure_state" /> + <result property="masterIds" column="master_ids" /> + <result property="masterNames" column="master_names" /> + <result property="transactionIds" column="transaction_ids" /> + <result property="transactionNames" column="transaction_names" /> + </resultMap> + + <sql id="selectSysUserVo"> + SELECT + user_id, + login_name, + user_name, + user_type, + phonenumber, + sex, + avatar, + password, + salt, + status, + del_flag, + login_ip, + login_date, + pwd_update_date, + create_by, + create_time, + update_by, + update_time, + remark, + role_ids, + data_permission, + department_id, + stair_id, + second_level_id, + department_area, + leisure_state, + master_ids, + master_names, + transaction_ids, + transaction_names, + (select organization_name from automessage_organization_chart where automessage_sys_user.department_id=automessage_organization_chart.id) as department_name + FROM + automessage_sys_user + </sql> + + + <select id="selectNum" resultType="integer"> + select count(user_id) from sys_user + <where> + <if test="userType != null and userType != ''"> + AND user_type=#{userType} + </if> + + </where> + </select> + + <select id="selectConfigList" parameterType="string" resultMap="SysUserResult"> + <include refid="selectSysUserVo"/> + <where> +<!-- <if test="userName != null and userName != ''">--> +<!-- AND user_name like concat('%', #{userName}, '%')--> +<!-- </if>--> + <if test="userType != null and userType != ''"> + AND user_type=#{userType} + </if> + + </where> + order by create_time desc + </select> + + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.SysUser"> + insert into automessage_sys_user ( + create_time + <if test="userId != null and userId != '' ">,user_id</if> + <if test="loginName != null and loginName != '' ">,login_name</if> + <if test="userName != null and userName != '' ">,user_name</if> + <if test="userType != null and userType != '' ">,user_type</if> + <if test="phonenumber != null and phonenumber != '' ">,phonenumber</if> + <if test="sex != null and sex != '' ">,sex</if> + <if test="avatar != null and avatar != '' ">,avatar</if> + <if test="password != null and password != '' ">,password</if> + <if test="salt != null and salt != '' ">,salt</if> + <if test="status != null and status != '' ">,status</if> + <if test="delFlag != null and delFlag != '' ">,del_flag</if> + <if test="loginIp != null and loginIp != '' ">,login_ip</if> + <if test="loginDate != null ">,login_date</if> + <if test="pwdUpdateDate != null ">,pwd_update_date</if> + <if test="createBy != null and createBy != '' ">,create_by</if> + <if test="updateBy != null and updateBy != '' ">,update_by</if> + <if test="updateTime != null ">,update_time</if> + <if test="remark != null and remark != '' ">,remark</if> + <if test="roleIds != null and roleIds != '' ">,role_ids</if> + <if test="dataPermission != null and dataPermission != '' ">,data_permission</if> + <if test="departmentId != null and departmentId != '' ">,department_id</if> + <if test="stairId != null and stairId != '' ">,stair_id</if> + <if test="secondLevelId != null and secondLevelId != '' ">,second_level_id</if> + <if test="departmentName != null and departmentName != '' ">,department_name</if> + <if test="departmentArea != null and departmentArea != '' ">,department_area</if> + <if test="leisureState != null and leisureState != '' ">,leisure_state</if> + <if test="masterIds != null and masterIds != '' ">,master_ids</if> + <if test="masterNames != null and masterNames != '' ">,master_names</if> + <if test="transactionIds != null and transactionIds != '' ">,transaction_ids</if> + <if test="transactionNames != null and transactionNames != '' ">,transaction_names</if> + )values( + sysdate() + <if test="userId != null and userId != '' ">,#{userId}</if> + <if test="loginName != null and loginName != '' ">,#{loginName}</if> + <if test="userName != null and userName != '' ">,#{userName}</if> + <if test="userType != null and userType != '' ">,#{userType}</if> + <if test="phonenumber != null and phonenumber != '' ">,#{phonenumber}</if> + <if test="sex != null and sex != '' ">,#{sex}</if> + <if test="avatar != null and avatar != '' ">,#{avatar}</if> + <if test="password != null and password != '' ">,#{password}</if> + <if test="salt != null and salt != '' ">,#{salt}</if> + <if test="status != null and status != '' ">,#{status}</if> + <if test="delFlag != null and delFlag != '' ">,#{delFlag}</if> + <if test="loginIp != null and loginIp != '' ">,#{loginIp}</if> + <if test="loginDate != null ">,#{loginDate}</if> + <if test="pwdUpdateDate != null and pwdUpdateDate != '' ">,#{pwdUpdateDate}</if> + <if test="createBy != null and createBy != '' ">,#{createBy}</if> + <if test="updateBy != null and updateBy != '' ">,#{updateBy}</if> + <if test="updateTime != null ">,#{updateTime}</if> + <if test="remark != null and remark != '' ">,#{remark}</if> + <if test="roleIds != null and roleIds != '' ">,#{roleIds}</if> + <if test="dataPermission != null and dataPermission != '' ">,#{dataPermission}</if> + <if test="departmentId != null and departmentId != '' ">,#{departmentId}</if> + <if test="stairId != null and stairId != '' ">,#{stairId}</if> + <if test="secondLevelId != null and secondLevelId != '' ">,#{secondLevelId}</if> + <if test="departmentName != null and departmentName != '' ">,#{departmentName}</if> + <if test="departmentArea != null and departmentArea != '' ">,#{departmentArea}</if> + <if test="leisureState != null and leisureState != '' ">,#{leisureState}</if> + <if test="masterIds != null and masterIds != '' ">,#{masterIds}</if> + <if test="masterNames != null and masterNames != '' ">,#{masterNames}</if> + <if test="transactionIds != null and transactionIds != '' ">,#{transactionIds}</if> + <if test="transactionNames != null and transactionNames != '' ">,#{transactionNames}</if> + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.SysUser"> + update automessage_sys_user + <set> + <if test="userId != null and userId != '' ">user_id=#{userId}</if> + <if test="loginName != null and loginName != '' ">,login_name=#{loginName}</if> + <if test="userName != null and userName != '' ">,user_name=#{userName}</if> + <if test="userType != null and userType != '' ">,user_type=#{userType}</if> + <if test="phonenumber != null and phonenumber != '' ">,phonenumber=#{phonenumber}</if> + <if test="sex != null and sex != '' ">,sex=#{sex}</if> + <if test="avatar != null and avatar != '' ">,avatar=#{avatar}</if> + <if test="password != null and password != '' ">,password=#{password}</if> + <if test="salt != null and salt != '' ">,salt=#{salt}</if> + <if test="status != null and status != '' ">,status=#{status}</if> + <if test="delFlag != null and delFlag != '' ">,del_flag=#{delFlag}</if> + <if test="loginIp != null and loginIp != '' ">,login_ip=#{loginIp}</if> + <if test="loginDate != null ">,login_date=#{loginDate}</if> + <if test="pwdUpdateDate != null ">,pwd_update_date=#{pwdUpdateDate}</if> + <if test="createBy != null and createBy != '' ">,create_by=#{createBy}</if> + <if test="createTime != null ">,create_time=#{createTime}</if> + <if test="updateBy != null and updateBy != '' ">,update_by=#{updateBy}</if> + <if test="remark != null and remark != '' ">,remark=#{remark}</if> + <if test="roleIds != null and roleIds != '' ">,role_ids=#{roleIds}</if> + <if test="dataPermission != null and dataPermission != '' ">,data_permission=#{dataPermission}</if> + <if test="departmentId != null and departmentId != '' ">,department_id=#{departmentId}</if> + <if test="stairId != null and stairId != '' ">,stair_id=#{stairId}</if> + <if test="secondLevelId != null and secondLevelId != '' ">,second_level_id=#{secondLevelId}</if> + <if test="departmentName != null and departmentName != '' ">,department_name=#{departmentName}</if> + <if test="departmentArea != null and departmentArea != '' ">,department_area=#{departmentArea}</if> + <if test="leisureState != null and leisureState != '' ">,leisure_state=#{leisureState}</if> + <if test="masterIds != null and masterIds != '' ">,master_ids=#{masterIds}</if> + <if test="masterNames != null and masterNames != '' ">,master_names=#{masterNames}</if> + <if test="transactionIds != null and transactionIds != '' ">,transaction_ids=#{transactionIds}</if> + <if test="transactionNames != null and transactionNames != '' ">,transaction_names=#{transactionNames}</if> + ,update_time=sysdate() + </set> + where user_id= #{userId} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_sys_user where user_id= #{id} + </delete> + + + + +</mapper> diff --git a/flower_city/src/main/resources/mapper/TransactionEventMapper.xml b/flower_city/src/main/resources/mapper/TransactionEventMapper.xml new file mode 100644 index 0000000..c34b4fc --- /dev/null +++ b/flower_city/src/main/resources/mapper/TransactionEventMapper.xml @@ -0,0 +1,340 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dg.core.db.gen.mapper.TransactionEventMapper"> + + <resultMap type="com.dg.core.db.gen.entity.TransactionEvent" id="TransactionEventEntityResult"> + <id property="id" column="id" /> + <id property="departmentId" column="department_id" /> + <id property="departmentArea" column="department_area" /> + <id property="classifyId" column="classify_id" /> + <id property="matterName" column="matter_name" /> + <id property="associateIds" column="associate_ids" /> + <id property="transactionNum" column="transaction_num" /> + <id property="browseNum" column="browse_num" /> + <id property="basicInformation" column="basic_information" /> + <id property="acceptConditions" column="accept_conditions" /> + <id property="applicationMaterial" column="application_material" /> + <id property="handlingProcedures" column="handling_procedures" /> + <id property="rates" column="rates" /> + <id property="createTime" column="create_time" /> + <id property="updateTime" column="update_time" /> + <id property="queryTime" column="query_time" /> + + <id property="associateNames" column="associate_names" /> + <id property="queryTime" column="query_time" /> + <id property="basicInformationUrl" column="basic_information_url" /> + <id property="acceptConditionsUrl" column="accept_conditions_url" /> + <id property="applicationMaterialUrl" column="application_material_url" /> + <id property="handlingProceduresUrl" column="handling_procedures_url" /> + <id property="ratesUrl" column="rates_url" /> + <id property="basicInformationFileName" column="basic_information_file_name" /> + <id property="acceptConditionsFileName" column="accept_conditions_file_name" /> + <id property="applicationMaterialFileName" column="application_material_file_name" /> + <id property="handlingProceduresFileName" column="handling_procedures_file_name" /> + <id property="ratesFileName" column="rates_file_name" /> + <id property="operationalGuidelineUrl" column="operational_guideline_url" /> + <id property="operationalGuidelineVideoUrl" column="operational_guideline_video_url" /> + + <id property="setGist" column="set_gist" /> + <id property="setGistUrl" column="set_gist_url" /> + <id property="setGistName" column="set_gist_name" /> + + <id property="commonProblem" column="common_problem" /> + <id property="commonProblemUrl" column="common_problem_url" /> + <id property="commonProblemName" column="common_problem_name" /> + + </resultMap> + + <sql id="selectTransactionEventEntityVo"> + SELECT + id, + department_id, + department_area, + classify_id, + matter_name, + associate_ids, + transaction_num, + browse_num, + basic_information, + accept_conditions, + application_material, + handling_procedures, + rates, + create_time, + update_time, + query_time, + associate_names, + basic_information_url, + accept_conditions_url, + application_material_url, + handling_procedures_url, + rates_url, + basic_information_file_name, + accept_conditions_file_name, + application_material_file_name, + handling_procedures_file_name, + rates_file_name, + operational_guideline_url, + set_gist, + set_gist_url, + set_gist_name, + common_problem, + common_problem_url, + common_problem_name, + operational_guideline_video_url, + (select classify_name from automessage_classify_administration where automessage_classify_administration.id=automessage_transaction_event.classify_id) as classifyName, + (select organization_name from automessage_organization_chart where automessage_organization_chart.id=automessage_transaction_event.department_id) as departmentName, + concat( + (select classify_name from automessage_classify_administration where id=(select parent_id from automessage_classify_administration where id=automessage_transaction_event.classify_id)), + '>',(select classify_name from automessage_classify_administration where id=automessage_transaction_event.classify_id) + ) sumClassifyName + FROM + automessage_transaction_event + </sql> + + <sql id="selectTransactionEventList"> + SELECT + id, + department_id, + department_area, + classify_id, + (select classify_name from automessage_classify_administration where automessage_classify_administration.id=automessage_transaction_event.classify_id) as classifyName, + (select organization_name from automessage_organization_chart where automessage_organization_chart.id=automessage_transaction_event.department_id) as departmentName, + matter_name, + associate_ids, + associate_names, + transaction_num, + browse_num, + create_time, + update_time + FROM + automessage_transaction_event + </sql> + + <select id="selectConfigData" parameterType="string" resultMap="TransactionEventEntityResult"> + <include refid="selectTransactionEventEntityVo"/> + where id=#{Id} + </select> + + <select id="selectConfigList" resultMap="TransactionEventEntityResult"> + <include refid="selectTransactionEventList"/> + <where> + <if test="matterAndUser != null and matterAndUser != ''"> + AND associate_names like concat('%', #{matterAndUser}, '%') or matter_name like concat('%', #{matterAndUser}, '%') + </if> + <if test="classifyGrade != null and classifyGrade != ''"> + AND (select classify_grade from automessage_classify_administration where automessage_classify_administration.id=classify_id) = #{classifyGrade} + </if> + </where> + order by create_time desc + </select> + + <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.TransactionEvent"> + insert into automessage_transaction_event ( + <if test="id != null">id,</if> + <if test="departmentId != null and departmentId != '' ">department_id,</if> + <if test="departmentArea != null">department_area,</if> + <if test="classifyId != null and classifyId != '' ">classify_id,</if> + <if test="matterName != null and matterName != '' ">matter_name,</if> + <if test="associateIds != null and associateIds != '' ">associate_ids,</if> + <if test="transactionNum != null ">transaction_num,</if> + <if test="browseNum != null ">browse_num,</if> + <if test="basicInformation != null and basicInformation != '' ">basic_information,</if> + <if test="acceptConditions != null and acceptConditions != '' ">accept_conditions,</if> + <if test="applicationMaterial != null and applicationMaterial != '' ">application_material,</if> + <if test="handlingProcedures != null and handlingProcedures != '' ">handling_procedures,</if> + <if test="rates != null and rates != '' ">rates,</if> + <if test="associateNames != null and associateNames != '' ">associate_names,</if> + <if test="queryTime != null">query_time,</if> + <if test="basicInformationUrl != null and basicInformationUrl != '' ">basic_information_url,</if> + <if test="acceptConditionsUrl != null and acceptConditionsUrl != '' ">accept_conditions_url,</if> + <if test="applicationMaterialUrl != null and applicationMaterialUrl != '' ">application_material_url,</if> + <if test="handlingProceduresUrl != null and handlingProceduresUrl != '' ">handling_procedures_url,</if> + <if test="ratesUrl != null and ratesUrl != '' ">rates_url,</if> + <if test="basicInformationFileName != null and basicInformationFileName != '' ">basic_information_file_name,</if> + <if test="acceptConditionsFileName != null and acceptConditionsFileName != '' ">accept_conditions_file_name,</if> + <if test="applicationMaterialFileName != null and applicationMaterialFileName != '' ">application_material_file_name,</if> + <if test="handlingProceduresFileName != null and handlingProceduresFileName != '' ">handling_procedures_file_name,</if> + <if test="ratesFileName != null and ratesFileName != '' ">rates_file_name,</if> + <if test="operationalGuidelineUrl != null and operationalGuidelineUrl != '' ">operational_guideline_url,</if> + <if test="operationalGuidelineVideoUrl != null and operationalGuidelineVideoUrl != '' ">operational_guideline_video_url,</if> + <if test="setGist != null and setGist != '' ">set_gist,</if> + <if test="setGistUrl != null and setGistUrl != '' ">set_gist_url,</if> + <if test="setGistName != null and setGistName != '' ">set_gist_name,</if> + <if test="commonProblem != null and commonProblem != '' ">common_problem,</if> + <if test="commonProblemUrl != null and commonProblemUrl != '' ">common_problem_url,</if> + <if test="commonProblemName != null and commonProblemName != '' ">common_problem_name,</if> + update_time, + create_time + )values( + <if test="id != null">#{id},</if> + <if test="departmentId != null and departmentId != '' ">#{departmentId},</if> + <if test="departmentArea != null">#{departmentArea},</if> + <if test="classifyId != null and classifyId != '' ">#{classifyId},</if> + <if test="matterName != null and matterName != '' ">#{matterName},</if> + <if test="associateIds != null and associateIds != '' ">#{associateIds},</if> + <if test="transactionNum != null ">#{transactionNum},</if> + <if test="browseNum != null ">#{browseNum},</if> + <if test="basicInformation != null and basicInformation != '' ">#{basicInformation},</if> + <if test="acceptConditions != null and acceptConditions != '' ">#{acceptConditions},</if> + <if test="applicationMaterial != null and applicationMaterial != '' ">#{applicationMaterial},</if> + <if test="handlingProcedures != null and handlingProcedures != '' ">#{handlingProcedures},</if> + <if test="rates != null and rates != '' ">#{rates},</if> + <if test="associateNames != null and associateNames != '' ">#{associateNames},</if> + <if test="queryTime != null">#{queryTime},</if> + <if test="basicInformationUrl != null and basicInformationUrl != '' ">#{basicInformationUrl},</if> + <if test="acceptConditionsUrl != null and acceptConditionsUrl != '' ">#{acceptConditionsUrl},</if> + <if test="applicationMaterialUrl != null and applicationMaterialUrl != '' ">#{applicationMaterialUrl},</if> + <if test="handlingProceduresUrl != null and handlingProceduresUrl != '' ">#{handlingProceduresUrl},</if> + <if test="ratesUrl != null and ratesUrl != '' ">#{ratesUrl},</if> + <if test="basicInformationFileName != null and basicInformationFileName != '' ">#{basicInformationFileName},</if> + <if test="acceptConditionsFileName != null and acceptConditionsFileName != '' ">#{acceptConditionsFileName},</if> + <if test="applicationMaterialFileName != null and applicationMaterialFileName != '' ">#{applicationMaterialFileName},</if> + <if test="handlingProceduresFileName != null and handlingProceduresFileName != '' ">#{handlingProceduresFileName},</if> + <if test="ratesFileName != null and ratesFileName != '' ">#{ratesFileName},</if> + <if test="operationalGuidelineUrl != null and operationalGuidelineUrl != '' ">#{operationalGuidelineUrl},</if> + <if test="operationalGuidelineVideoUrl != null and operationalGuidelineVideoUrl != '' ">#{operationalGuidelineVideoUrl},</if> + <if test="setGist != null and setGist != '' ">#{setGist},</if> + <if test="setGistUrl != null and setGistUrl != '' ">#{setGistUrl},</if> + <if test="setGistName != null and setGistName != '' ">#{setGistName},</if> + <if test="commonProblem != null and commonProblem != '' ">#{commonProblem},</if> + <if test="commonProblemUrl != null and commonProblemUrl != '' ">#{commonProblemUrl},</if> + <if test="commonProblemName != null and commonProblemName != '' ">#{commonProblemName},</if> + sysdate(), + sysdate() + ) + </insert> + + <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.TransactionEvent"> + update automessage_transaction_event + <set> + <if test="id != null">id=#{id},</if> + <if test="departmentId != null and departmentId != '' ">department_id=#{departmentId},</if> + <if test="departmentArea != null">department_area=#{departmentArea},</if> + <if test="classifyId != null and classifyId != '' ">classify_id=#{classifyId},</if> + <if test="matterName != null and matterName != '' ">matter_name=#{matterName},</if> + <if test="associateIds != null and associateIds != '' ">associate_ids=#{associateIds},</if> + <if test="transactionNum != null ">transaction_num=#{transactionNum},</if> + <if test="browseNum != null ">browse_num=#{browseNum},</if> + <if test="basicInformation != null and basicInformation != '' ">basic_information=#{basicInformation},</if> + <if test="acceptConditions != null and acceptConditions != '' ">accept_conditions=#{acceptConditions},</if> + <if test="applicationMaterial != null and applicationMaterial != '' ">application_material=#{applicationMaterial},</if> + <if test="handlingProcedures != null and handlingProcedures != '' ">handling_procedures=#{handlingProcedures},</if> + <if test="rates != null and rates != '' ">rates=#{rates},</if> + <if test="associateNames != null and associateNames != '' ">associate_names=#{associateNames},</if> + <if test="queryTime != null">query_time=#{queryTime},</if> + <if test="basicInformationUrl != null and basicInformationUrl != '' ">basic_information_url=#{basicInformationUrl},</if> + <if test="acceptConditionsUrl != null and acceptConditionsUrl != '' ">accept_conditions_url=#{acceptConditionsUrl},</if> + <if test="applicationMaterialUrl != null and applicationMaterialUrl != '' ">application_material_url=#{applicationMaterialUrl},</if> + <if test="handlingProceduresUrl != null and handlingProceduresUrl != '' ">handling_procedures_url=#{handlingProceduresUrl},</if> + <if test="ratesUrl != null and ratesUrl != '' ">rates_url=#{ratesUrl},</if> + <if test="basicInformationFileName != null and basicInformationFileName != '' ">basic_information_file_name=#{basicInformationFileName},</if> + <if test="acceptConditionsFileName != null and acceptConditionsFileName != '' ">accept_conditions_file_name=#{acceptConditionsFileName},</if> + <if test="applicationMaterialFileName != null and applicationMaterialFileName != '' ">application_material_file_name=#{applicationMaterialFileName},</if> + <if test="handlingProceduresFileName != null and handlingProceduresFileName != '' ">handling_procedures_file_name=#{handlingProceduresFileName},</if> + <if test="ratesFileName != null and ratesFileName != '' ">rates_file_name=#{ratesFileName},</if> + <if test="operationalGuidelineUrl != null and operationalGuidelineUrl != '' ">operational_guideline_url=#{operationalGuidelineUrl},</if> + <if test="setGist != null and setGist != '' ">set_gist=#{setGist},</if> + <if test="setGistUrl != null and setGistUrl != '' ">set_gist_url=#{setGistUrl},</if> + <if test="setGistName != null and setGistName != '' ">set_gist_name=#{setGistName},</if> + <if test="commonProblem != null and commonProblem != '' ">common_problem=#{commonProblem},</if> + <if test="commonProblemUrl != null and commonProblemUrl != '' ">common_problem_url=#{commonProblemUrl},</if> + <if test="commonProblemName != null and commonProblemName != '' ">common_problem_name=#{commonProblemName},</if> + <if test="operationalGuidelineVideoUrl != null and operationalGuidelineVideoUrl != '' ">operational_guideline_video_url=#{operationalGuidelineVideoUrl},</if> + update_time=sysdate() + </set> + where id= #{id} + </update> + + <delete id="deleteConfigById" parameterType="string"> + delete from automessage_transaction_event where id= #{Id} + </delete> + + <select id="countNum" resultType="integer"> + select count(id) from automessage_transaction_event + <where> + <if test="matterAndUser != null and matterAndUser != ''"> + AND associate_names like concat('%', #{matterAndUser}, '%') or matter_name like concat('%', #{matterAndUser}, '%') + </if> + <if test="classifyGrade != null and classifyGrade != ''"> + AND (select classify_grade from classify_administration where classify_grade.id=classify_id) = #{classifyGrade} + </if> + </where> + </select> + + + <select id="queryMatterNameList" resultMap="TransactionEventEntityResult"> + <include refid="selectTransactionEventEntityVo"/> + <where> + <if test="matterName != null and matterName != ''"> + AND (matter_name like concat('%', #{matterName}, '%') or #{matterName} like concat('%', matter_name, '%')) + </if> + + </where> + order by create_time desc + </select> + + <select id="sumTransactionNum" resultMap="TransactionEventEntityResult"> + select sum(transaction_num)sumTransactionNum,count(*) counttransaction FROM automessage_transaction_event + </select> + + <select id="queryByClassifyIdList" resultMap="TransactionEventEntityResult"> + <include refid="selectTransactionEventEntityVo"/> + where (classify_id= #{classifyId} or classify_id in (select id FROM automessage_classify_administration where parent_id =#{classifyId} )) + <if test="departmentId!=null"> + and department_id=#{departmentId} + </if> + order by create_time desc + </select> + + <select id="countNumByClassifyIdList" resultType="integer"> + select count(id) from automessage_transaction_event + where (classify_id= #{classifyId} or classify_id in (select id FROM automessage_classify_administration where parent_id =#{classifyId} )) + <if test="departmentId!=null"> + and department_id=#{departmentId} + </if> + order by create_time desc + </select> + + + <update id="updateConfigByMatterName" parameterType="com.dg.core.db.gen.entity.TransactionEvent"> + update automessage_transaction_event + <set> + browse_num=browse_num+1,query_time=sysdate() + </set> + <where> + matter_name like concat('%', #{matterName}, '%') + </where> + + </update> + + <select id="countNumByMatterName" resultType="integer"> + select count(id) from automessage_transaction_event + <where> + <if test="matterName != null and matterName != ''"> + AND matter_name like concat('%', #{matterName}, '%') + </if> + + </where> + </select> + + <select id="selectSearch" resultType="com.dg.core.db.manual.pojo.Search"> + select title,content,views FROM( + select organization_name title,resume content,null views from automessage_organization_chart UNION + select matter_name title,concat((select classify_name from automessage_classify_administration + where id=(select parent_id from automessage_classify_administration where id=automessage_transaction_event.classify_id)), + '>',(select classify_name from automessage_classify_administration where id=automessage_transaction_event.classify_id)) content, + transaction_num views from automessage_transaction_event + ) k + where k.title like concat('%',#{keyWord}, '%') or k.content like concat('%', #{keyWord}, '%') + </select> + + <select id="selectSearchAssociate" resultType="com.dg.core.db.manual.pojo.Search"> + select matter_name title,concat((select classify_name from automessage_classify_administration + where id=(select parent_id from automessage_classify_administration where id=automessage_transaction_event.classify_id)), + '>',(select classify_name from automessage_classify_administration where id=automessage_transaction_event.classify_id)) content, + transaction_num views from automessage_transaction_event where associate_names like concat('%',#{keyWord}, '%') + </select> + + +</mapper> diff --git a/flower_city/src/test/java/com/dg/core/WMApplicationTests.java b/flower_city/src/test/java/com/dg/core/WMApplicationTests.java new file mode 100644 index 0000000..4d2b87e --- /dev/null +++ b/flower_city/src/test/java/com/dg/core/WMApplicationTests.java @@ -0,0 +1,13 @@ +package com.dg.core; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class WMApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/hs_err_pid36404.log b/hs_err_pid36404.log deleted file mode 100644 index 04a69c6..0000000 --- a/hs_err_pid36404.log +++ /dev/null @@ -1,198 +0,0 @@ -# -# There is insufficient memory for the Java Runtime Environment to continue. -# Native memory allocation (mmap) failed to map 134217728 bytes for Failed to commit area from 0x0000000081c00000 to 0x0000000089c00000 of length 134217728. -# Possible reasons: -# The system is out of physical RAM or swap space -# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap -# Possible solutions: -# Reduce memory load on the system -# Increase physical memory or swap space -# Check if swap backing store is full -# Decrease Java heap size (-Xmx/-Xms) -# Decrease number of Java threads -# Decrease Java thread stack sizes (-Xss) -# Set larger code cache with -XX:ReservedCodeCacheSize= -# This output file may be truncated or incomplete. -# -# Out of Memory Error (./src/hotspot/os/windows/os_windows.cpp:3301), pid=36404, tid=8528 -# -# JRE version: (11.0.11+9) (build ) -# Java VM: OpenJDK 64-Bit Server VM (11.0.11+9-b1341.60, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64) -# No core dump will be written. Minidumps are not enabled by default on client versions of Windows -# - ---------------- S U M M A R Y ------------ - -Command Line: org.jetbrains.git4idea.http.GitAskPassApp Username for 'http://gitlab.nhys.cdnhxx.com': - -Host: Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz, 6 cores, 7G, Windows 10 , 64 bit Build 19041 (10.0.19041.207) -Time: Mon Jul 19 18:25:39 2021 �й���ʱ�� elapsed time: 0.020709 seconds (0d 0h 0m 0s) - ---------------- T H R E A D --------------- - -Current thread (0x00000158851b6000): JavaThread "Unknown thread" [_thread_in_vm, id=8528, stack(0x0000003aed700000,0x0000003aed800000)] - -Stack: [0x0000003aed700000,0x0000003aed800000] -Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) -V [jvm.dll+0x5f5c8a] -V [jvm.dll+0x779405] -V [jvm.dll+0x77aa1d] -V [jvm.dll+0x77b0d3] -V [jvm.dll+0x244bc8] -V [jvm.dll+0x5f3084] -V [jvm.dll+0x5e7fe5] -V [jvm.dll+0x30098b] -V [jvm.dll+0x3008fa] -V [jvm.dll+0x3007d2] -V [jvm.dll+0x3056b6] -V [jvm.dll+0x34e353] -V [jvm.dll+0x34ea56] -V [jvm.dll+0x34e453] -V [jvm.dll+0x2db398] -V [jvm.dll+0x2dc547] -V [jvm.dll+0x757bf7] -V [jvm.dll+0x7593ec] -V [jvm.dll+0x35b8d9] -V [jvm.dll+0x73b38e] -V [jvm.dll+0x3c3cc3] -V [jvm.dll+0x3c60e1] -C [jli.dll+0x5373] -C [ucrtbase.dll+0x21542] -C [KERNEL32.DLL+0x16fd4] -C [ntdll.dll+0x4cec1] - - ---------------- P R O C E S S --------------- - -Threads class SMR info: -_java_thread_list=0x00000158830a0110, length=0, elements={ -} - -Java Threads: ( => current thread ) - -Other Threads: - 0x000001588317d000 GCTaskThread "GC Thread#0" [stack: 0x0000003aed800000,0x0000003aed900000] [id=31824] - 0x00000158851fc800 ConcurrentGCThread "G1 Main Marker" [stack: 0x0000003aed900000,0x0000003aeda00000] [id=9432] - 0x00000158851fe800 ConcurrentGCThread "G1 Conc#0" [stack: 0x0000003aeda00000,0x0000003aedb00000] [id=28756] - -[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffd7a87b9f7] - -VM state:not at safepoint (not fully initialized) - -VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) -[0x00000158851b2420] Heap_lock - owner thread: 0x00000158851b6000 - -Heap address: 0x0000000081c00000, size: 2020 MB, Compressed Oops mode: Non-zero based: 0x0000000081c00000 -Narrow klass base: 0x0000000000000000, Narrow klass shift: 0 - -GC Heap History (0 events): -No events - -Deoptimization events (0 events): -No events - -Classes redefined (0 events): -No events - -Internal exceptions (0 events): -No events - -Events (1 events): -Event: 0.010 Loaded shared library D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\zip.dll - - -Dynamic libraries: -0x00007ff6ee870000 - 0x00007ff6ee87a000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\java.exe -0x00007ffda5130000 - 0x00007ffda5324000 C:\windows\SYSTEM32\ntdll.dll -0x00007ffda4c20000 - 0x00007ffda4cdd000 C:\windows\System32\KERNEL32.DLL -0x00007ffda2710000 - 0x00007ffda29d7000 C:\windows\System32\KERNELBASE.dll -0x00007ffda2ed0000 - 0x00007ffda2fd0000 C:\windows\System32\ucrtbase.dll -0x00007ffd9c0b0000 - 0x00007ffd9c0c9000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\jli.dll -0x00007ffda3720000 - 0x00007ffda38c0000 C:\windows\System32\USER32.dll -0x00007ffda2d20000 - 0x00007ffda2d42000 C:\windows\System32\win32u.dll -0x00007ffda40e0000 - 0x00007ffda410a000 C:\windows\System32\GDI32.dll -0x00007ffda2c10000 - 0x00007ffda2d1a000 C:\windows\System32\gdi32full.dll -0x00007ffda2b70000 - 0x00007ffda2c0d000 C:\windows\System32\msvcp_win.dll -0x00007ffd8c120000 - 0x00007ffd8c3ba000 C:\windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1_none_b555e41d4684ddec\COMCTL32.dll -0x00007ffda4ce0000 - 0x00007ffda4d7e000 C:\windows\System32\msvcrt.dll -0x00007ffd9bfd0000 - 0x00007ffd9bfe7000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\VCRUNTIME140.dll -0x00007ffda4ef0000 - 0x00007ffda4f20000 C:\windows\System32\IMM32.DLL -0x00007ffd79c20000 - 0x00007ffd79cbd000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\msvcp140.dll -0x00007ffd7a590000 - 0x00007ffd7b0d9000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\server\jvm.dll -0x00007ffda4f30000 - 0x00007ffda4fda000 C:\windows\System32\ADVAPI32.dll -0x00007ffda3950000 - 0x00007ffda39eb000 C:\windows\System32\sechost.dll -0x00007ffda39f0000 - 0x00007ffda3b13000 C:\windows\System32\RPCRT4.dll -0x00007ffda3fa0000 - 0x00007ffda3fa8000 C:\windows\System32\PSAPI.DLL -0x00007ffd90640000 - 0x00007ffd90649000 C:\windows\SYSTEM32\WSOCK32.dll -0x00007ffda4e80000 - 0x00007ffda4eeb000 C:\windows\System32\WS2_32.dll -0x00007ffda2020000 - 0x00007ffda202a000 C:\windows\SYSTEM32\VERSION.dll -0x00007ffd88dd0000 - 0x00007ffd88df7000 C:\windows\SYSTEM32\WINMM.dll -0x00007ffda2560000 - 0x00007ffda2573000 C:\windows\System32\kernel.appcore.dll -0x00007ffd92480000 - 0x00007ffd92491000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\verify.dll -0x00007ffd8e470000 - 0x00007ffd8e654000 C:\windows\SYSTEM32\DBGHELP.DLL -0x00007ffd8da70000 - 0x00007ffd8da9c000 C:\windows\SYSTEM32\dbgcore.DLL -0x00007ffda2e50000 - 0x00007ffda2ecf000 C:\windows\System32\bcryptPrimitives.dll -0x00007ffd92340000 - 0x00007ffd92369000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\java.dll -0x00007ffd9e180000 - 0x00007ffd9e18b000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\jimage.dll -0x00007ffd921c0000 - 0x00007ffd921d8000 D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\zip.dll - -dbghelp: loaded successfully - version: 4.0.5 - missing functions: none -symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin;C:\windows\SYSTEM32;C:\windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1_none_b555e41d4684ddec;D:\java\JetBrains\IntelliJ IDEA 2021.1.3\jbr\bin\server - -VM Arguments: -java_command: org.jetbrains.git4idea.http.GitAskPassApp Username for 'http://gitlab.nhys.cdnhxx.com': -java_class_path (initial): D:/java/JetBrains/IntelliJ IDEA 2021.1.3/plugins/git4idea/lib/git4idea-rt.jar;D:/java/JetBrains/IntelliJ IDEA 2021.1.3/lib/xmlrpc-2.0.1.jar;D:/java/JetBrains/IntelliJ IDEA 2021.1.3/lib/commons-codec-1.15.jar -Launcher Type: SUN_STANDARD - -[Global flags] - intx CICompilerCount = 3 {product} {ergonomic} - uint ConcGCThreads = 2 {product} {ergonomic} - uint G1ConcRefinementThreads = 6 {product} {ergonomic} - size_t G1HeapRegionSize = 1048576 {product} {ergonomic} - uintx GCDrainStackTargetSize = 64 {product} {ergonomic} - size_t InitialHeapSize = 134217728 {product} {ergonomic} - size_t MarkStackSize = 4194304 {product} {ergonomic} - size_t MaxHeapSize = 2118123520 {product} {ergonomic} - size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} - uintx NonNMethodCodeHeapSize = 5830732 {pd product} {ergonomic} - uintx NonProfiledCodeHeapSize = 122913754 {pd product} {ergonomic} - uintx ProfiledCodeHeapSize = 122913754 {pd product} {ergonomic} - uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} - bool SegmentedCodeCache = true {product} {ergonomic} - bool UseCompressedClassPointers = true {lp64_product} {ergonomic} - bool UseCompressedOops = true {lp64_product} {ergonomic} - bool UseG1GC = true {product} {ergonomic} - bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} - -Logging: -Log output configuration: - #0: stdout all=warning uptime,level,tags - #1: stderr all=off uptime,level,tags - -Environment Variables: -JAVA_HOME=D:\java\jdk1.8.0_102 -CLASSPATH=.;D:\java\jdk1.8.0_102\lib;D:\java\jdk1.8.0_102\lib\tools.jar -PATH=D:\java\git\mingw64\libexec\git-core;D:\java\git\mingw64\libexec\git-core;D:\java\git\mingw64\bin;D:\java\git\usr\bin;C:\Users\Administrator\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0;C:\windows\System32\OpenSSH;D:\java\jdk1.8.0_102\bin;D:\java\jdk1.8.0_102\jre\bin;D:\java\maven-3.8.1\bin;%mysql%\bin;D:\java\git\cmd;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps -USERNAME=Administrator -DISPLAY=:0.0 -LC_ALL=en_US.UTF-8 -OS=Windows_NT -PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 10, GenuineIntel - - - ---------------- S Y S T E M --------------- - -OS: Windows 10 , 64 bit Build 19041 (10.0.19041.207) -OS uptime: 10 days 7:26 hours - -CPU:total 6 (initial active 6) (6 cores per cpu, 1 threads per core) family 6 model 158 stepping 10 microcode 0xb4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, tsc, tscinvbit, bmi1, bmi2, adx, fma - -Memory: 4k page, system-wide physical 8072M (459M free) -TotalPageFile size 20873M (AvailPageFile size 36M) -current process WorkingSet (physical memory assigned to process): 10M, peak: 10M -current process commit charge ("private bytes"): 56M, peak: 184M - -vm_info: OpenJDK 64-Bit Server VM (11.0.11+9-b1341.60) for windows-amd64 JRE (11.0.11+9-b1341.60), built on Jun 4 2021 08:17:54 by "" with MS VC++ 14.0 (VS2015) - -END. diff --git a/springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml b/springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml index df925d9..5fbcbc9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml @@ -7,24 +7,24 @@ <sourceOutputDir name="target/generated-sources/annotations" /> <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <outputRelativeToContentRoot value="true" /> - <module name="applets" /> - <module name="service_property" /> - <module name="grid_backstage" /> - <module name="timejob" /> - <module name="config_server" /> - <module name="grid_app" /> - <module name="auth" /> <module name="service_grid" /> + <module name="applets" /> <module name="service_community" /> - <module name="eureka_server" /> - <module name="zuul" /> - <module name="community_backstage" /> - <module name="applets_backstage" /> - <module name="shop_backstage" /> - <module name="service_api" /> <module name="service_user" /> + <module name="service_property" /> + <module name="service_api" /> + <module name="auth" /> <module name="service_partybuilding" /> + <module name="grid_backstage" /> + <module name="zuul" /> + <module name="applets_backstage" /> + <module name="community_backstage" /> + <module name="shop_backstage" /> + <module name="grid_app" /> <module name="common" /> + <module name="config_server" /> + <module name="eureka_server" /> + <module name="timejob" /> </profile> </annotationProcessing> <bytecodeTargetLevel> diff --git a/springcloud_k8s_panzhihuazhihuishequ/.idea/encodings.xml b/springcloud_k8s_panzhihuazhihuishequ/.idea/encodings.xml index 075b0bb..c36b18e 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/.idea/encodings.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/.idea/encodings.xml @@ -5,6 +5,7 @@ <file url="file://$PROJECT_DIR$/applets" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/applets/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/applets/src/main/resources" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/applets/src/main/resources/lib" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/applets_backstage" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/applets_backstage/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/applets_backstage/src/main/resources" charset="UTF-8" /> @@ -14,6 +15,7 @@ <file url="file://$PROJECT_DIR$/auth/src/main/resources/bootstrap.yml" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/common" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/common/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/common/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/community_backstage" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/community_backstage/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/community_backstage/src/main/resources" charset="UTF-8" /> @@ -24,20 +26,34 @@ <file url="file://$PROJECT_DIR$/eureka_server/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/eureka_server/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/grid_app" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/grid_app/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/grid_app/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/grid_backstage" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/grid_backstage/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/grid_backstage/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_api" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/service_api/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/service_api/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_community" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_community/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_community/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_grid" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/service_grid/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/service_grid/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_partybuilding" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_partybuilding/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_partybuilding/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_property" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/service_property/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/service_property/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_user" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_user/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/service_user/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/shop_backstage" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/shop_backstage/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/shop_backstage/src/main/resources" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/timejob" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/timejob/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/timejob/src/main/resources" charset="UTF-8" /> diff --git a/springcloud_k8s_panzhihuazhihuishequ/grid_app/grid_app.iml b/springcloud_k8s_panzhihuazhihuishequ/grid_app/grid_app.iml index 50aedaf..b650488 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/grid_app/grid_app.iml +++ b/springcloud_k8s_panzhihuazhihuishequ/grid_app/grid_app.iml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <component name="FacetManager"> - <facet type="Spring" name="Spring"> - <configuration /> - </facet> <facet type="web" name="Web"> <configuration> <webroots /> </configuration> </facet> + <facet type="Spring" name="Spring"> + <configuration /> + </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <output url="file://$MODULE_DIR$/target/classes" /> diff --git a/springcloud_k8s_panzhihuazhihuishequ/grid_backstage/grid_backstage.iml b/springcloud_k8s_panzhihuazhihuishequ/grid_backstage/grid_backstage.iml index c8982d4..a68a9a9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/grid_backstage/grid_backstage.iml +++ b/springcloud_k8s_panzhihuazhihuishequ/grid_backstage/grid_backstage.iml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <component name="FacetManager"> - <facet type="Spring" name="Spring"> - <configuration /> - </facet> <facet type="web" name="Web"> <configuration> <webroots /> </configuration> </facet> + <facet type="Spring" name="Spring"> + <configuration /> + </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <output url="file://$MODULE_DIR$/target/classes" /> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_api/service_api.iml b/springcloud_k8s_panzhihuazhihuishequ/service_api/service_api.iml index cac4e0f..10a39fc 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_api/service_api.iml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_api/service_api.iml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <component name="FacetManager"> - <facet type="Spring" name="Spring"> - <configuration /> - </facet> <facet type="web" name="Web"> <configuration> <webroots /> @@ -13,6 +10,9 @@ </sourceRoots> </configuration> </facet> + <facet type="Spring" name="Spring"> + <configuration /> + </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <output url="file://$MODULE_DIR$/target/classes" /> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDynServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDynServiceImpl.java index fd38262..4918406 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDynServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDynServiceImpl.java @@ -69,7 +69,7 @@ if (!ObjectUtils.isEmpty(records)) { records.forEach(comActDynVO1 -> { if(comActDynVO1.getCategory()!=null&&comActDynVO1.getCategory()==4){ - comActDynVO.setContent(null); + comActDynVO1.setContent(null); }else { String content = comActDynVO1.getContent(); if (!ObjectUtils.isEmpty(content)) { diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDynDOMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDynDOMapper.xml index e4fb386..da1aad4 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDynDOMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDynDOMapper.xml @@ -157,7 +157,8 @@ cadt.`name` AS typeName, cadt.color AS typeColor, ca.NAME AS communityName, - d.release_time + d.release_time, + d.category FROM com_act_dyn d LEFT JOIN ( SELECT dyn_id, count( id ) AS readNum FROM com_act_dyn_user GROUP BY dyn_id ) u ON d.id = u.dyn_id diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/service_grid.iml b/springcloud_k8s_panzhihuazhihuishequ/service_grid/service_grid.iml index d0df6ad..573b930 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/service_grid.iml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/service_grid.iml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <component name="FacetManager"> - <facet type="Spring" name="Spring"> - <configuration /> - </facet> <facet type="web" name="Web"> <configuration> <webroots /> @@ -12,6 +9,9 @@ <root url="file://$MODULE_DIR$/src/main/resources" /> </sourceRoots> </configuration> + </facet> + <facet type="Spring" name="Spring"> + <configuration /> </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> @@ -154,6 +154,7 @@ <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.3" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.2.3" level="project" /> + <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.4.RELEASE" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.21" level="project" /> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_property/service_property.iml b/springcloud_k8s_panzhihuazhihuishequ/service_property/service_property.iml index d52c767..a70d701 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_property/service_property.iml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_property/service_property.iml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <component name="FacetManager"> - <facet type="Spring" name="Spring"> - <configuration /> - </facet> <facet type="web" name="Web"> <configuration> <webroots /> </configuration> + </facet> + <facet type="Spring" name="Spring"> + <configuration /> </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> @@ -153,6 +153,7 @@ <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.3" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.2.3" level="project" /> + <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.4.RELEASE" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.21" level="project" /> <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.18" level="project" /> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java index a2f5809..61a13c0 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java @@ -3538,7 +3538,7 @@ @Override public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) { if(StringUtils.isNotEmpty(phone)){ - SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).orderByDesc(SysUserDO::getCreateAt).last("limit 1")); + SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).eq(SysUserDO::getAppId,"wx118de8a734d269f0").orderByDesc(SysUserDO::getCreateAt).last("limit 1")); if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){ String status=""; String accessToken=""; -- Gitblit v1.7.1