diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 8acbdd9bf6..907c1d62f7 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -148,6 +148,8 @@ http://127.0.0.1:8092 http://127.0.0.1:8093 + + http://127.0.0.1:8094 @@ -201,6 +203,8 @@ lb://gov-org-server lb://oper-access-server + + http://resi-mine-server diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 6f15b8e5c7..067ec4dd30 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -147,6 +147,15 @@ spring: filters: - StripPrefix=1 - CpAuth=true + #居民端个人信息 + - id: resi-mine-server + uri: @gateway.routes.resi-mine-server.uri@ + order: 15 + predicates: + - Path=${server.servlet.context-path}/resi/mine/** + filters: + - StripPrefix=1 + - CpAuth=true nacos: discovery: server-addr: @nacos.server-addr@ @@ -183,6 +192,7 @@ renren: - /oper/access/** - /sys/** - /resi/guide/** + - /resi/mine/** management: endpoints: web: @@ -245,6 +255,7 @@ epmet: - /oper/access/** - /resi/guide/stranger/getgridhome - /auth/login/logout + - /resi/mine/** swaggerUrls: jwt: diff --git a/epmet-module/pom.xml b/epmet-module/pom.xml index a35e85adb9..4ace2972f1 100644 --- a/epmet-module/pom.xml +++ b/epmet-module/pom.xml @@ -24,6 +24,7 @@ resi-guide gov-org oper-access + resi-mine diff --git a/epmet-module/resi-mine/pom.xml b/epmet-module/resi-mine/pom.xml new file mode 100644 index 0000000000..ad431995d0 --- /dev/null +++ b/epmet-module/resi-mine/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + com.epmet + epmet-module + 2.0.0 + + + com.epmet + resi-mine + pom + + + resi-mine-client + resi-mine-server + + + diff --git a/epmet-module/resi-mine/resi-mine-client/pom.xml b/epmet-module/resi-mine/resi-mine-client/pom.xml new file mode 100644 index 0000000000..3841644651 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-client/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + + com.epmet + resi-mine + 2.0.0 + + + resi-mine-client + jar + + + + com.epmet + epmet-commons-tools + 2.0.0 + + + io.springfox + springfox-swagger2 + + + io.springfox + springfox-swagger-ui + + + + + ${project.artifactId} + + + diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/form/.gitkeep b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/form/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/.gitkeep b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml new file mode 100644 index 0000000000..6e973e581e --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -0,0 +1,154 @@ + + + 4.0.0 + + + com.epmet + resi-mine + 2.0.0 + + resi-mine-server + jar + + + + com.epmet + resi-mine-client + 2.0.0 + + + com.epmet + epmet-commons-tools + 2.0.0 + + + com.epmet + epmet-commons-mybatis + 2.0.0 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework + spring-context-support + + + org.springframework.boot + spring-boot-starter-actuator + + + de.codecentric + spring-boot-admin-starter-client + ${spring.boot.admin.version} + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + io.github.openfeign + feign-httpclient + 10.3.0 + + + com.epmet + epmet-user-client + 2.0.0 + compile + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + ${project.basedir}/src/main/java + + + true + ${basedir}/src/main/resources + + + + + + dev + + true + + + 8094 + dev + + + + + + epmet + elink@833066 + + 0 + 122.152.200.70 + 6379 + 123456 + + false + 122.152.200.70:8848 + fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b + + + false + + + + + test + + + 8094 + test + + + + + + epmet + elink@833066 + + 0 + 122.152.200.70 + 6379 + 123456 + + true + 122.152.200.70:8848 + fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b + + + false + + + + + diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/ResiMineApplication.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/ResiMineApplication.java new file mode 100644 index 0000000000..a8e461d66a --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/ResiMineApplication.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +/** + * 模块 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ResiMineApplication { + + public static void main(String[] args) { + SpringApplication.run(ResiMineApplication.class, args); + } + +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/config/ModuleConfigImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/config/ModuleConfigImpl.java new file mode 100644 index 0000000000..91a66e87be --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/config/ModuleConfigImpl.java @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.config; + +import com.epmet.commons.tools.config.ModuleConfig; +import org.springframework.stereotype.Service; + +/** + * 模块配置信息 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Service +public class ModuleConfigImpl implements ModuleConfig { + @Override + public String getName() { + return "resimine"; + } +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/config/SwaggerConfig.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/config/SwaggerConfig.java new file mode 100644 index 0000000000..262f1bc07b --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/config/SwaggerConfig.java @@ -0,0 +1,68 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.config; + +import com.epmet.commons.tools.constant.Constant; +import io.swagger.annotations.ApiOperation; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.ApiKey; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.List; + +import static com.google.common.collect.Lists.newArrayList; + +/** + * Swagger配置 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Configuration +@EnableSwagger2 +public class SwaggerConfig implements WebMvcConfigurer { + + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + //加了ApiOperation注解的类,才生成接口文档 + .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + .paths(PathSelectors.any()) + .build() + .directModelSubstitute(java.util.Date.class, String.class) + .securitySchemes(security()); + + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("人人开源") + .description("模块接口文档") + .termsOfServiceUrl("https://www.renren.io") + .version("1.1.0") + .build(); + } + + private List security() { + return newArrayList( + new ApiKey(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER, "header") + ); + } + +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/controller/ResiMineGridController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/controller/ResiMineGridController.java new file mode 100644 index 0000000000..7348057d21 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/controller/ResiMineGridController.java @@ -0,0 +1,35 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.LatestGridInfoResultDTO; +import com.epmet.service.ResiMineGridService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description 居民端用户网格信息相关接口入口 + * @Author yinzuomei + * @Date 2020/3/24 11:02 + */ +@RestController +@RequestMapping("minegrid") +public class ResiMineGridController { + @Autowired + private ResiMineGridService resiMineGridService; + + /** + * @return com.epmet.resi.mine.dto.result.LatestGridInfoResultDTO + * @param tokenDto + * @Author yinzuomei + * @Description 获取用户最近访问网格 + * @Date 2020/3/24 11:10 + **/ + @GetMapping("getlatestgridinfo") + public Result getLatestGridInfo(@LoginUser TokenDto tokenDto){ + return resiMineGridService.getLatestGridInfo(tokenDto); + } +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/dao/.gitkeep b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/dao/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/entity/.gitkeep b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/entity/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/excel/.gitkeep b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/excel/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/exception/ModuleErrorCode.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/exception/ModuleErrorCode.java new file mode 100644 index 0000000000..1206c71b9a --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/exception/ModuleErrorCode.java @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.exception; + + +import com.epmet.commons.tools.exception.ErrorCode; + +/** + * 模块错误编码,由9位数字组成,前6位为模块编码,后3位为业务编码 + *

+ * 如:100001001(100001代表模块,001代表业务代码) + *

+ * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +public interface ModuleErrorCode extends ErrorCode { + +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java new file mode 100644 index 0000000000..0143c55acd --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -0,0 +1,27 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.LatestGridInfoResultDTO; +import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +/** + * @Description 居民端陌生人导览 调用epmet-user服务 + * @Author sun + */ +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) +public interface EpmetUserFeignClient { + + /** + * @param userId + * @return com.epmet.resi.mine.dto.result.LatestGridInfoResultDTO + * @Author yinzuomei + * @Description 根据居民id查询最后一次访问的网格信息 + * @Date 2020/3/24 13:05 + **/ + @GetMapping(value = "epmetuser/gridlatest/getLatestGridInfoByUserId/{userId}") + Result getLatestGridInfoByUserId(@PathVariable("userId") String userId); +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java new file mode 100644 index 0000000000..6e912e7417 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -0,0 +1,29 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.LatestGridInfoResultDTO; +import com.epmet.feign.EpmetUserFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Description 居民端-陌生人导览 调用epmet-user服务 + * @Author sun + * @Date 2020/3/16 + */ +@Component +public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { + + /** + * @param userId + * @return com.epmet.resi.mine.dto.result.LatestGridInfoResultDTO + * @Author yinzuomei + * @Description 根据居民id查询最后一次访问的网格信息 + * @Date 2020/3/24 13:05 + **/ + @Override + public Result getLatestGridInfoByUserId(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getLatestGridInfoByUserId", userId); + } +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/service/ResiMineGridService.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/service/ResiMineGridService.java new file mode 100644 index 0000000000..33c5f4d73d --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/service/ResiMineGridService.java @@ -0,0 +1,21 @@ +package com.epmet.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.LatestGridInfoResultDTO; + +/** + * @Description 居民端用户网格信息service + * @Author yinzuomei + * @Date 2020/3/24 11:04 + */ +public interface ResiMineGridService { + /** + * 获取用户最近访问网格 + * + * @Author yinzuomei + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + */ + Result getLatestGridInfo(TokenDto tokenDto); +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/service/impl/ResiMineGridServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/service/impl/ResiMineGridServiceImpl.java new file mode 100644 index 0000000000..891d41bf51 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/service/impl/ResiMineGridServiceImpl.java @@ -0,0 +1,42 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.LatestGridInfoResultDTO; +import com.epmet.feign.EpmetUserFeignClient; +import com.epmet.service.ResiMineGridService; +import com.epmet.utils.ModuleConstant; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description 居民端用户网格信息service + * @Author yinzuomei + * @Date 2020/3/24 11:04 + */ +@Service +public class ResiMineGridServiceImpl implements ResiMineGridService { + + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + + /** + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取用户最近访问网格 + * @Date 2020/3/24 11:11 + **/ + @Override + public Result getLatestGridInfo(TokenDto tokenDto) { + if (null == tokenDto || StringUtils.isBlank(tokenDto.getUserId())) { + return new Result().error(ModuleConstant.USER_NOT_NULL); + } + if(!AppClientConstant.APP_RESI.equals(tokenDto.getApp())){ + return new Result().error(ModuleConstant.FOR_RESI_CALL); + } + return epmetUserFeignClient.getLatestGridInfoByUserId(tokenDto.getUserId()); + } +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/utils/ModuleConstant.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/utils/ModuleConstant.java new file mode 100644 index 0000000000..eb482b07f3 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/utils/ModuleConstant.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.utils; + +import com.epmet.commons.tools.constant.Constant; + +/** + * 模块常量 + * + * @author Mark sunlightcs@gmail.com + * @since 1.1.0 + */ +public interface ModuleConstant extends Constant { + + /** + * tokenDto不能为null userId不能为空 + */ + String USER_NOT_NULL="用户信息不能为空"; + + /** + * 接口只限居民端调用 + */ + String FOR_RESI_CALL="当前接口只限居民端调用"; +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000000..f602718744 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml @@ -0,0 +1,106 @@ +server: + port: @server.port@ + servlet: + context-path: /resi/mine + +spring: + main: + allow-bean-definition-overriding: true + application: + name: resi-mine-server + #环境 dev|test|prod + profiles: + active: dev + messages: + encoding: UTF-8 + basename: i18n/messages,i18n/messages_common + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd HH:mm:ss + redis: + database: @spring.redis.index@ + host: @spring.redis.host@ + port: @spring.redis.port@ + password: @spring.redis.password@ + timeout: 30s + datasource: + druid: + #MySQL + driver-class-name: com.mysql.cj.jdbc.Driver + url: @spring.datasource.druid.url@ + username: @spring.datasource.druid.username@ + password: @spring.datasource.druid.password@ + cloud: + nacos: + discovery: + server-addr: @nacos.server-addr@ + #nacos的命名空间ID,默认是public + namespace: @nacos.discovery.namespace@ + #不把自己注册到注册中心的地址 + register-enabled: @nacos.register-enabled@ + ip: @nacos.ip@ + config: + enabled: @nacos.config-enabled@ + server-addr: @nacos.server-addr@ + namespace: @nacos.config.namespace@ + group: @nacos.config.group@ + file-extension: yaml + #指定共享配置,且支持动态刷新 +# ext-config: +# - data-id: datasource.yaml +# group: ${spring.cloud.nacos.config.group} +# refresh: true +# - data-id: common.yaml +# group: ${spring.cloud.nacos.config.group} +# refresh: true +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS + +mybatis-plus: + mapper-locations: classpath:/mapper/**/*.xml + #实体扫描,多个package用逗号或者分号分隔 + typeAliasesPackage: com.epmet.resi.mine.entity + global-config: + #数据库相关配置 + db-config: + #主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID"; + id-type: ID_WORKER + #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断" + field-strategy: NOT_NULL + #驼峰下划线转换 + column-underline: true + banner: false + #原生配置 + configuration: + map-underscore-to-camel-case: true + cache-enabled: false + call-setters-on-nulls: true + jdbc-type-for-null: 'null' + +feign: + hystrix: + enabled: true + client: + config: + default: + loggerLevel: BASIC + httpclient: + enabled: true + +hystrix: + command: + default: + execution: + isolation: + thread: + timeoutInMilliseconds: 60000 #缺省为1000 + +ribbon: + ReadTimeout: 300000 + ConnectTimeout: 300000 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages.properties new file mode 100644 index 0000000000..a7091dbb43 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages.properties @@ -0,0 +1 @@ +#Default diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_en_US.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_en_US.properties new file mode 100644 index 0000000000..9e895e4281 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_en_US.properties @@ -0,0 +1 @@ +#English diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_zh_CN.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_zh_CN.properties new file mode 100644 index 0000000000..b21fd22eca --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_zh_CN.properties @@ -0,0 +1 @@ +#\u7B80\u4F53\u4E2D\u6587 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_zh_TW.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_zh_TW.properties new file mode 100644 index 0000000000..4433dba45a --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/messages_zh_TW.properties @@ -0,0 +1 @@ +#\u7E41\u4F53\u4E2D\u6587 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation.properties new file mode 100644 index 0000000000..56ca909c46 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation.properties @@ -0,0 +1 @@ +#Default \ No newline at end of file diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_en_US.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_en_US.properties new file mode 100644 index 0000000000..9e895e4281 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_en_US.properties @@ -0,0 +1 @@ +#English diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_zh_CN.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_zh_CN.properties new file mode 100644 index 0000000000..b21fd22eca --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_zh_CN.properties @@ -0,0 +1 @@ +#\u7B80\u4F53\u4E2D\u6587 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_zh_TW.properties b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_zh_TW.properties new file mode 100644 index 0000000000..4433dba45a --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/i18n/validation_zh_TW.properties @@ -0,0 +1 @@ +#\u7E41\u4F53\u4E2D\u6587 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml new file mode 100644 index 0000000000..a038b82fe7 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + debug + + + ${CONSOLE_LOG_PATTERN} + + UTF-8 + + + + + + + + ${log.path}/debug.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + ${log.path}/debug-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + debug + ACCEPT + DENY + + + + + + + ${log.path}/info.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + ${log.path}/info-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + info + ACCEPT + DENY + + + + + + + ${log.path}/warn.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/warn-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + warn + ACCEPT + DENY + + + + + + + ${log.path}/error.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/error-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + ERROR + ACCEPT + DENY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestGridInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestGridInfoResultDTO.java new file mode 100644 index 0000000000..829a1cd2d5 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestGridInfoResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 获取用户最近访问网格返参DTO + * @Author yinzuomei + * @Date 2020/3/24 11:09 + */ +@Data +public class LatestGridInfoResultDTO implements Serializable { + private static final long serialVersionUID = 8548569698676898706L; + + /** + * 用户最后一次访问的网格对应的客户id + */ + private String customerId; + + /** + * 用户最后一次访问的网格 + */ + private String gridId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/GridVisitedConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/GridVisitedConstant.java index c21ad1761e..cfd7228e97 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/GridVisitedConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/GridVisitedConstant.java @@ -14,16 +14,24 @@ package com.epmet.constant; * @since 1.0.0 */ public interface GridVisitedConstant { + /** * 查询异常 */ String QUERY_EXCEPTION = "查询客户网格表数据失败!"; + /** * 网格访问记录表新增数据失败 */ String SAVE_VISITED = "网格访问记录表新增数据失败!"; + /** * 最近访问网格表新增数据失败 */ String SAVE_LATEST = "最近访问网格表新增数据失败!"; + + /** + * tokenDto中的userId不能为空 + */ + String USER_ID_NOTNULL="用户id不能为空"; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridLatestController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridLatestController.java index a6c1500b02..6ef6cdab25 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridLatestController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridLatestController.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.GridLatestDTO; +import com.epmet.dto.result.LatestGridInfoResultDTO; import com.epmet.excel.GridLatestExcel; import com.epmet.service.GridLatestService; import org.springframework.beans.factory.annotation.Autowired; @@ -45,7 +46,7 @@ import java.util.Map; @RestController @RequestMapping("gridlatest") public class GridLatestController { - + @Autowired private GridLatestService gridLatestService; @@ -91,4 +92,15 @@ public class GridLatestController { ExcelUtils.exportExcelToTarget(response, null, list, GridLatestExcel.class); } -} \ No newline at end of file + /** + * @return com.epmet.commons.tools.utils.Result + * @param userId + * @Author yinzuomei + * @Description 根据居民id查询最后一次访问的网格信息 + * @Date 2020/3/24 13:09 + **/ + @GetMapping("getLatestGridInfoByUserId/{userId}") + public Result getLatestGridInfoByUserId(@PathVariable("userId") String userId){ + return gridLatestService.getLatestGridInfoByUserId(userId); + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridLatestDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridLatestDao.java index 52af37226a..8c4b30eeac 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridLatestDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridLatestDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.GridLatestDTO; +import com.epmet.dto.result.LatestGridInfoResultDTO; import com.epmet.entity.GridLatestEntity; import org.apache.ibatis.annotations.Mapper; @@ -32,4 +33,13 @@ import org.apache.ibatis.annotations.Mapper; public interface GridLatestDao extends BaseDao { GridLatestEntity getGridLatestByIds(GridLatestDTO formDTO); -} \ No newline at end of file + + /** + * @return com.epmet.dto.result.LatestGridInfoResultDTO + * @param userId + * @Author yinzuomei + * @Description 根据居民id查询最后一次访问的网格信息 + * @Date 2020/3/24 13:17 + **/ + LatestGridInfoResultDTO selectLatestGridInfoByUserId(String userId); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java index 41321a1e1c..fc41f0c32d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java @@ -19,9 +19,11 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.GridLatestDTO; import com.epmet.dto.form.VisitedFormDTO; +import com.epmet.dto.result.LatestGridInfoResultDTO; import com.epmet.entity.GridLatestEntity; import java.util.List; @@ -100,4 +102,14 @@ public interface GridLatestService extends BaseService { * @param formDTO */ boolean saveGridLatest(VisitedFormDTO formDTO, CustomerGridDTO cu); -} \ No newline at end of file + + /** + * @param userId + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 根据居民id查询最后一次访问的网格信息 + * @Date 2020/3/24 13:10 + **/ + Result getLatestGridInfoByUserId(String userId); + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java index f2f2b98555..449407f058 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java @@ -23,10 +23,13 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.GridVisitedConstant; import com.epmet.dao.GridLatestDao; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.GridLatestDTO; import com.epmet.dto.form.VisitedFormDTO; +import com.epmet.dto.result.LatestGridInfoResultDTO; import com.epmet.entity.GridLatestEntity; import com.epmet.redis.GridLatestRedis; import com.epmet.service.GridLatestService; @@ -132,5 +135,18 @@ public class GridLatestServiceImpl extends BaseServiceImpl + * @Author yinzuomei + * @Description 根据居民id查询最后一次访问的网格信息 + * @Date 2020/3/24 13:10 + **/ + @Override + public Result getLatestGridInfoByUserId(String userId) { + if(StringUtils.isBlank(userId)){ + return new Result().error(GridVisitedConstant.USER_ID_NOTNULL); + } + return new Result().ok(baseDao.selectLatestGridInfoByUserId(userId)); + } +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/GridLatestDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/GridLatestDao.xml index ed9eaa6398..8aecc2fc5a 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/GridLatestDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/GridLatestDao.xml @@ -49,4 +49,18 @@ - \ No newline at end of file + + +