diff --git a/doc/epmet-cloud.md b/doc/epmet-cloud.md new file mode 100644 index 0000000000..43cd0d2f63 --- /dev/null +++ b/doc/epmet-cloud.md @@ -0,0 +1,13 @@ + +## 开发环境使用 +##### 本机调用开发环境 +``` +开发环境已经搭建好了 +在最新的代码中: + 默认情况下,所有服务的pom.xml中应该启用dev环境,其他环境的active应该被注释掉(dev-local不再有用,可以删除) +根据dev环境中的配置,微服务会注册到nacos,并且调用其他微服务的时候会从nacos中取目标微服务的ip来发送请求 +因此,本地电脑不再需要启动所有服务,只需要启动要开发的服务即可;默认情况下,本机的微服务在调用目标微服务的时候,都是调用的服务器,不再请求本地。 +例如:有A、B2个服务,并且A调用B,如果我们只需要开发A服务,那本地只启动A服务即可,A调用B的时候,会调用服务器的B服务。 +如果需要开发AB2个服务,那么将A中的FeignClient的url属性指向localhost。 +PS:目前正在测试通过负载均衡器和本地环境变量实现动态修改目标服务IP,成功之后就不需要再修改FeignClient的url,配置一下环境变量即可,到时候具体说 +``` \ No newline at end of file diff --git a/epmet-admin/epmet-admin-server/Dockerfile b/epmet-admin/epmet-admin-server/Dockerfile index 38da8a0872..c0b3c72e27 100644 --- a/epmet-admin/epmet-admin-server/Dockerfile +++ b/epmet-admin/epmet-admin-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8082 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-admin/epmet-admin-server/docker-compose.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-admin/epmet-admin-server/docker-compose.yml rename to epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml index b77b2d2e39..12296879cc 100644 --- a/epmet-admin/epmet-admin-server/docker-compose.yml +++ b/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-admin-server: container_name: epmet-admin-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-admin-server:0.3.3 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-admin-server:0.3.6 ports: - "8082:8082" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..968d9f745f --- /dev/null +++ b/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-admin-server: + container_name: epmet-admin-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-admin-server:0.3.6 + ports: + - "8082:8082" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml index cf9ae81208..acd3ed2875 100644 --- a/epmet-admin/epmet-admin-server/pom.xml +++ b/epmet-admin/epmet-admin-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.3 + 0.3.6 com.epmet epmet-admin @@ -83,7 +83,7 @@ - dev-local + dev true @@ -103,7 +103,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -113,13 +113,13 @@ - dev + test 8082 - dev + test @@ -142,35 +142,5 @@ - - test - - - 8082 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-auth/Dockerfile b/epmet-auth/Dockerfile index ab95a2ca96..c106eaf299 100644 --- a/epmet-auth/Dockerfile +++ b/epmet-auth/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8081 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-auth/docker-compose.yml b/epmet-auth/deploy/docker-compose-dev.yml similarity index 63% rename from epmet-auth/docker-compose.yml rename to epmet-auth/deploy/docker-compose-dev.yml index 7695c9f72b..5a52f95588 100644 --- a/epmet-auth/docker-compose.yml +++ b/epmet-auth/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-auth-server: container_name: epmet-auth-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-auth:0.3.4 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.7 ports: - "8081:8081" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-auth/deploy/docker-compose-test.yml b/epmet-auth/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..b891e605b6 --- /dev/null +++ b/epmet-auth/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-auth-server: + container_name: epmet-auth-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-auth:0.3.7 + ports: + - "8081:8081" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index 2e5dfaeedc..d7510729ac 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.4 + 0.3.7 com.epmet epmet-cloud @@ -125,7 +125,7 @@ - dev-local + dev true @@ -139,7 +139,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -162,13 +162,13 @@ - dev + test 8081 - dev + test 0 @@ -197,42 +197,5 @@ 651f02d71ed3f123dfb584b8bf0f4d8b - - - test - - - 8081 - test - - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - - wx67fdf7da3fee1890 - ae15094f485af9e5c6b5a8a55945332a - 111 - 111 - - wx9b6102a8ee5add65 - 16fdb68bc2b3e732324ba5d8b8a9b5e2 - - wx3d1372029eb816a3 - 651f02d71ed3f123dfb584b8bf0f4d8b - - diff --git a/epmet-auth/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-auth/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-auth/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java index fbc883c70f..477195041b 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java @@ -40,7 +40,8 @@ public class GovLoginController { @PostMapping(value = "/loginwxmp/loginbywxcode") public Result loginByWxCode(@RequestBody GovWxmpFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - return govLoginService.loginByWxCode(formDTO); + UserTokenResultDTO userTokenResultDTO=govLoginService.loginByWxCode(formDTO); + return new Result().ok(userTokenResultDTO); } /** @@ -53,7 +54,8 @@ public class GovLoginController { @PostMapping(value = "/loginwxmp/sendsmscode") public Result sendSmsCode(@RequestBody SendSmsCodeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - return govLoginService.sendSmsCode(formDTO); + govLoginService.sendSmsCode(formDTO); + return new Result(); } /** @@ -66,7 +68,8 @@ public class GovLoginController { @PostMapping(value = "/loginwxmp/getmyorg") public Result> getmyorg(@RequestBody StaffOrgsFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - return govLoginService.getMyOrg(formDTO); + List staffOrgs=govLoginService.getMyOrg(formDTO); + return new Result>().ok(staffOrgs); } /** @@ -79,7 +82,8 @@ public class GovLoginController { @PostMapping(value = "/loginwxmp/enterorg") public Result enterOrg(@RequestBody GovWxmpEnteOrgFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - return govLoginService.enterOrg(formDTO); + UserTokenResultDTO userTokenResultDTO=govLoginService.enterOrg(formDTO); + return new Result().ok(userTokenResultDTO); } /** @@ -91,7 +95,8 @@ public class GovLoginController { **/ @PostMapping("/loginwxmp/loginout") public Result loginOut(@LoginUser TokenDto tokenDto) { - return govLoginService.loginOut(tokenDto); + govLoginService.loginOut(tokenDto); + return new Result(); } } diff --git a/epmet-auth/src/main/java/com/epmet/service/GovLoginService.java b/epmet-auth/src/main/java/com/epmet/service/GovLoginService.java index f61e9c8fab..37b78533b5 100644 --- a/epmet-auth/src/main/java/com/epmet/service/GovLoginService.java +++ b/epmet-auth/src/main/java/com/epmet/service/GovLoginService.java @@ -24,7 +24,7 @@ public interface GovLoginService { * @Description 政府端微信小程序登录-发送验证码 * @Date 2020/4/18 10:59 **/ - Result sendSmsCode(SendSmsCodeFormDTO formDTO); + void sendSmsCode(SendSmsCodeFormDTO formDTO); /** * @param formDTO @@ -33,7 +33,7 @@ public interface GovLoginService { * @Description 3、手机验证码获取组织 * @Date 2020/4/18 21:11 **/ - Result> getMyOrg(StaffOrgsFormDTO formDTO); + List getMyOrg(StaffOrgsFormDTO formDTO); /** * @param formDTO @@ -42,7 +42,7 @@ public interface GovLoginService { * @Description 政府端小程序根据wxCode获取上一次登录信息,返回token * @Date 2020/4/20 11:23 **/ - Result loginByWxCode(GovWxmpFormDTO formDTO); + UserTokenResultDTO loginByWxCode(GovWxmpFormDTO formDTO); /** * @param formDTO @@ -51,7 +51,7 @@ public interface GovLoginService { * @Description 4、选择组织,进入首页 * @Date 2020/4/20 13:08 **/ - Result enterOrg(GovWxmpEnteOrgFormDTO formDTO); + UserTokenResultDTO enterOrg(GovWxmpEnteOrgFormDTO formDTO); /** * @return com.epmet.commons.tools.utils.Result @@ -60,5 +60,5 @@ public interface GovLoginService { * @Description 政府端工作人员退出登录 * @Date 2020/4/21 22:08 **/ - Result loginOut(TokenDto tokenDto); + void loginOut(TokenDto tokenDto); } diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java index 7ad0fae480..b7023b0f37 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.service.impl; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import com.epmet.common.token.constant.LoginConstant; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -67,28 +68,27 @@ public class GovLoginServiceImpl implements GovLoginService { * @Date 2020/4/18 10:59 **/ @Override - public Result sendSmsCode(SendSmsCodeFormDTO formDTO) { + public void sendSmsCode(SendSmsCodeFormDTO formDTO) { //1、校验手机号是否符合规范 if (!PhoneValidatorUtils.isMobile(formDTO.getMobile())) { logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getMobile(), EpmetErrorCode.ERROR_PHONE.getCode(), EpmetErrorCode.ERROR_PHONE.getMsg())); - return new Result().error(EpmetErrorCode.ERROR_PHONE.getCode()); + throw new RenException(EpmetErrorCode.ERROR_PHONE.getCode()); } //2、根据手机号校验用户是否存在 Result> customerStaffResult = epmetUserFeignClient.checkCustomerStaff(formDTO.getMobile()); if (!customerStaffResult.success()) { logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getMobile(), customerStaffResult.getCode(), customerStaffResult.getMsg())); - return new Result().error(customerStaffResult.getCode()); + throw new RenException(customerStaffResult.getCode()); } //3、发送短信验证码 Result> smsCodeResult = messageFeignClient.sendSmsCaptcha(formDTO.getMobile()); if (!smsCodeResult.success()) { logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getMobile(), smsCodeResult.getCode(), smsCodeResult.getMsg())); - return new Result().error(smsCodeResult.getCode()); + throw new RenException(smsCodeResult.getCode()); } //4、保存短信验证码(删除现有短信验证码、将新的短信验证码存入Redis) captchaRedis.saveSmsCode(formDTO, smsCodeResult.getData().get("code")); logger.info(String.format("发送短信验证码成功,手机号[%s]", formDTO.getMobile())); - return new Result(); } /** @@ -99,18 +99,18 @@ public class GovLoginServiceImpl implements GovLoginService { * @Date 2020/4/18 21:11 **/ @Override - public Result> getMyOrg(StaffOrgsFormDTO formDTO) { + public List getMyOrg(StaffOrgsFormDTO formDTO) { //1、根据手机号查询到用户信息 Result> customerStaffResult = epmetUserFeignClient.checkCustomerStaff(formDTO.getMobile()); if (!customerStaffResult.success()) { logger.error(String.format("手机验证码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getMobile(), customerStaffResult.getCode(), customerStaffResult.getMsg())); - return new Result().error(customerStaffResult.getCode()); + throw new RenException(customerStaffResult.getCode()); } //2、验证码是否正确 String rightSmsCode = captchaRedis.getSmsCode(formDTO.getMobile()); if (!formDTO.getSmsCode().equals(rightSmsCode)) { logger.error(String.format("验证码错误code[%s],msg[%s]",EpmetErrorCode.MOBILE_CODE_ERROR.getCode(),EpmetErrorCode.MOBILE_CODE_ERROR.getMsg())); - return new Result>().error(EpmetErrorCode.MOBILE_CODE_ERROR.getCode()); + throw new RenException(EpmetErrorCode.MOBILE_CODE_ERROR.getCode()); } //3、查询用户所有的组织信息 List customerIdList = new ArrayList<>(); @@ -120,11 +120,15 @@ public class GovLoginServiceImpl implements GovLoginService { StaffOrgFormDTO staffOrgFormDTO = new StaffOrgFormDTO(); staffOrgFormDTO.setCustomerIdList(customerIdList); Result> result = govOrgFeignClient.getStaffOrgList(staffOrgFormDTO); - return result; + if(result.success()&&null!=result.getData()){ + return result.getData(); + } + logger.error(String .format("手机验证码获取组织,调用%s服务失败,入参手机号%s,验证码%s,返回错误码%s,错误提示信息%s", ServiceConstant.GOV_ORG_SERVER,formDTO.getMobile(),formDTO.getSmsCode(),result.getCode(),result.getMsg())); + return new ArrayList<>(); } @Override - public Result loginByWxCode(GovWxmpFormDTO formDTO) { + public UserTokenResultDTO loginByWxCode(GovWxmpFormDTO formDTO) { //1、解析微信用户 WxMaJscode2SessionResult wxMaJscode2SessionResult = loginService.getWxMaUser(formDTO.getApp(), formDTO.getWxCode()); if(null!=wxMaJscode2SessionResult){ @@ -133,7 +137,7 @@ public class GovLoginServiceImpl implements GovLoginService { Result latestStaffWechat = epmetUserFeignClient.getLatestStaffWechatLoginRecord(wxMaJscode2SessionResult.getOpenid()); if (!latestStaffWechat.success() || null == latestStaffWechat.getData()) { logger.error(String.format("没有获取到用户最近一次登录账户信息,code[%s],msg[%s]", EpmetErrorCode.PLEASE_LOGIN.getCode(), EpmetErrorCode.PLEASE_LOGIN.getMsg())); - return new Result().error(EpmetErrorCode.PLEASE_LOGIN.getCode()); + throw new RenException(EpmetErrorCode.PLEASE_LOGIN.getCode()); } StaffLatestAgencyResultDTO staffLatestAgencyResultDTO = latestStaffWechat.getData(); //2、记录staff_wechat @@ -146,7 +150,7 @@ public class GovLoginServiceImpl implements GovLoginService { this.saveLatestGovTokenDto(staffLatestAgencyResultDTO, wxMaJscode2SessionResult, token); UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO(); userTokenResultDTO.setToken(token); - return new Result().ok(userTokenResultDTO); + return userTokenResultDTO; } //保存tokenDto到redis @@ -244,7 +248,7 @@ public class GovLoginServiceImpl implements GovLoginService { } @Override - public Result enterOrg(GovWxmpEnteOrgFormDTO formDTO) { + public UserTokenResultDTO enterOrg(GovWxmpEnteOrgFormDTO formDTO) { //1、需要校验要登录的客户,是否被禁用 CustomerStaffFormDTO customerStaffFormDTO = new CustomerStaffFormDTO(); customerStaffFormDTO.setCustomerId(formDTO.getCustomerId()); @@ -252,7 +256,7 @@ public class GovLoginServiceImpl implements GovLoginService { Result customerStaffDTOResult = epmetUserFeignClient.getCustomerStaffInfo(customerStaffFormDTO); if (!customerStaffDTOResult.success() || null == customerStaffDTOResult.getData()) { logger.error(String.format("获取工作人员信息失败,手机号[%s],客户id:[%s],code[%s],msg[%s]", formDTO.getMobile(), formDTO.getCustomerId(), customerStaffDTOResult.getCode(), customerStaffDTOResult.getMsg())); - return new Result().error(customerStaffDTOResult.getCode()); + throw new RenException(customerStaffDTOResult.getCode()); } CustomerStaffDTO customerStaff = customerStaffDTOResult.getData(); //2、解析微信用户 @@ -267,17 +271,16 @@ public class GovLoginServiceImpl implements GovLoginService { this.saveGovTokenDto(formDTO.getRootAgencyId(), formDTO.getCustomerId(), customerStaff.getUserId(), wxMaJscode2SessionResult, token); UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO(); userTokenResultDTO.setToken(token); - return new Result().ok(userTokenResultDTO); + return userTokenResultDTO; } @Override - public Result loginOut(TokenDto tokenDto) { + public void loginOut(TokenDto tokenDto) { if(null == tokenDto){ logger.error("token解析失败,直接跳转重新登录即可"); throw new RenException("当前用户信息获取失败"); } cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId()); - return new Result(); } //保存登录日志 diff --git a/epmet-commons/epmet-commons-service-call/pom.xml b/epmet-commons/epmet-commons-service-call/pom.xml new file mode 100644 index 0000000000..bb36df7e4c --- /dev/null +++ b/epmet-commons/epmet-commons-service-call/pom.xml @@ -0,0 +1,33 @@ + + + + epmet-commons + com.epmet + 2.0.0 + + 4.0.0 + + epmet-commons-service-call + 0.3.1 + + + + 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 + + + + \ No newline at end of file diff --git a/epmet-commons/epmet-commons-service-call/src/main/java/com/epmet/loadbalancer/EpmetRequestLoadBalancerRule.java b/epmet-commons/epmet-commons-service-call/src/main/java/com/epmet/loadbalancer/EpmetRequestLoadBalancerRule.java new file mode 100644 index 0000000000..4bd075dad0 --- /dev/null +++ b/epmet-commons/epmet-commons-service-call/src/main/java/com/epmet/loadbalancer/EpmetRequestLoadBalancerRule.java @@ -0,0 +1,94 @@ +package com.epmet.loadbalancer; + +import com.netflix.client.config.IClientConfig; +import com.netflix.loadbalancer.ILoadBalancer; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ZoneAvoidanceRule; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.core.env.Environment; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +/** + * Epmet负载均衡算法规则类。当前支持读取环境变量,将请求重定向到指定的HOST:PORT + * + * @RibbonClient(name = "MS-PROXY", configuration = EpmetRequestLoadBalancerRule.class) + * + * @Bean + * @LoadBalanced + * public RestTemplate getRestTemplate() { + * return new RestTemplate(); + * } + * + * @Bean + * public IRule getMyLoadBalancerRule(Environment env) { + * EpmetRequestLoadBalancerRule rule = new EpmetRequestLoadBalancerRule(); + * rule.setEnv(env); + * return rule; + * } + * + */ +public class EpmetRequestLoadBalancerRule extends ZoneAvoidanceRule { + + private static Logger logger = LoggerFactory.getLogger(EpmetRequestLoadBalancerRule.class); + + private Environment env; + + public EpmetRequestLoadBalancerRule() { + } + + public void setEnv(Environment env) { + this.env = env; + } + + @Override + public void initWithNiwsConfig(IClientConfig iClientConfig) { + + } + + /** + * 此处会取环境变量中"测试服务器"的值, + * @param key + * @return + */ + @Override + public Server choose(Object key) { + ILoadBalancer loadBalancer = getLoadBalancer(); + List servers = loadBalancer.getReachableServers(); + if (CollectionUtils.isEmpty(servers)) { + logger.error("自定义负载均衡器:ReachableServers列表为空"); + return super.choose(key); + } + Server server = servers.get(0); + String appName = server.getMetaInfo().getAppName(); + String serviceName = appName.split("@@")[1]; + String hostEnvKey = getHostEnvKey(serviceName); + String portEnvKey = getPortEnvKey(serviceName); + String epmetGovOrgHost = env.getProperty(hostEnvKey); + String epmetGovOrgPort = env.getProperty(portEnvKey); + if (StringUtils.isAnyBlank(epmetGovOrgHost, epmetGovOrgPort)) { + // 没有配置,走父类均衡器 + return super.choose(key); + } + + server.setHost(epmetGovOrgHost); + server.setPort(Integer.valueOf(epmetGovOrgPort)); + return server; + } + + /** + * 获取host环境变量Key + * @param serviceName + * @return + */ + public String getHostEnvKey(String serviceName) { + return serviceName.replace("-", "_").concat("_HOST").toUpperCase(); + } + + public String getPortEnvKey(String serviceName) { + return serviceName.replace("-", "_").concat("_PORT").toUpperCase(); + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java new file mode 100644 index 0000000000..7ff4486544 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java @@ -0,0 +1,150 @@ +package com.epmet.commons.tools.aspect; + +import com.epmet.commons.tools.exception.ErrorCode; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.Result; +import org.aspectj.lang.ProceedingJoinPoint; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.dao.DuplicateKeyException; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志切面 + * @Author wxz + * @Description + **/ +public abstract class BaseRequestLogAspect { + + private static final Logger log = LoggerFactory.getLogger(BaseRequestLogAspect.class); + + /** + * 由子类实现该方法。并且调用proceed(ProceedingJoinPoint point, HttpServletRequest request)方法 + * @param point + * @return + * @throws Throwable + */ + public abstract Object proceed(ProceedingJoinPoint point) throws Throwable; + + /** + * 处理日志,异常 + * @param point + * @param request + * @return + * @throws Throwable + */ + protected Object proceed(ProceedingJoinPoint point, HttpServletRequest request) throws Throwable { + String requestURI = request.getRequestURI(); + + long id = Thread.currentThread().getId(); + Result result; + Exception exception = null; + try { + Object[] args = point.getArgs(); + log.info(">>>>>>>>请求信息>>>>>>>>:线程ID:{},url:{},请求参数:{}", id, requestURI, objectsToString(args)); + result = (Result)point.proceed(); + log.info("<<<<<<<<正常响应<<<<<<<<:线程ID:{},响应数据:{}", id, result.toString()); + } catch (RenException e) { + exception = e; + result = handleRenException(e); + } catch (ValidateException e) { + exception = e; + result = handleValidateException(e); + } catch (DuplicateKeyException e) { + exception = e; + result = handlerDuplicateKeyException(e); + } catch (RuntimeException re) { + exception = re; + result = handlerRuntimeException(re); + } catch (Exception e) { + exception = e; + result = handlerException(e); + } finally { + if (exception != null) { + log.info("<<<<<<<<异常响应<<<<<<<<:线程ID:{},异常信息:{}", id, ExceptionUtils.getErrorStackTrace(exception)); + } + } + return result; + } + + /** + * 处理Exception + * @param e + * @return + */ + private Result handlerException(Exception e) { + Result result=new Result().error(); + result.setData(e.getMessage()); + return result; + } + + /** + * 处理Key重复异常 + * @return + */ + private Result handlerDuplicateKeyException(DuplicateKeyException ex) { + return new Result().error(ErrorCode.DB_RECORD_EXISTS); + } + + /** + * 处理运行时异常 + * @return + */ + private Result handlerRuntimeException(RuntimeException ex) { + Result result=new Result().error(); + result.setData(ex.getMessage()); + return result; + } + + /** + * 处理校验异常 + * @param ex + * @return + */ + private Result handleValidateException(ValidateException ex) { + Result result=new Result(); + result.setCode(ex.getCode()); + result.setMsg(ex.getMsg()); + return result; + } + + /** + * 处理RenException + * @param e + * @return + */ + private Result handleRenException(RenException e) { + if (e.getCode() > 8000) { + Result result=new Result().error(e.getCode()); + result.setData(e.getMsg()); + return result; + } + Result result=new Result().error(); + result.setData(e.getMsg()); + return result; + } + + /** + * 将请求对象转换为String + * @param args + * @return + */ + private String objectsToString(Object[] args) { + if (args == null) { + return null; + } else { + StringBuilder builder = new StringBuilder("["); + for (Object object : args) { + if (object != null) { + builder.append(object.toString()); + builder.append(","); + } + } + builder.append("]"); + return builder.toString(); + } + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ThreadLocalInitAspect.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ThreadLocalInitAspect.java index bd59b29094..d42d3f7f55 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ThreadLocalInitAspect.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ThreadLocalInitAspect.java @@ -27,7 +27,7 @@ import org.springframework.stereotype.Component; **/ @Aspect @Component -@Order(0) +@Order(1) public class ThreadLocalInitAspect { private static final Logger log = LoggerFactory.getLogger(ThreadLocalInitAspect.class); diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java index 34703ba3a8..8b05b1dc71 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java @@ -37,7 +37,7 @@ import java.util.Map; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ -@RestControllerAdvice +//@RestControllerAdvice public class RenExceptionHandler { private static final Logger logger = LoggerFactory.getLogger(RenExceptionHandler.class); @Autowired diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java index f97f6f48db..22cf316326 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java @@ -8,10 +8,12 @@ package com.epmet.commons.tools.utils; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ErrorCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.ToString; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; @@ -123,4 +125,9 @@ public class Result implements Serializable { public void setData(T data) { this.data = data; } + + @Override + public String toString() { + return JSON.toJSONString(this); + } } diff --git a/epmet-commons/pom.xml b/epmet-commons/pom.xml index 350503fdae..3f25f5b1b5 100644 --- a/epmet-commons/pom.xml +++ b/epmet-commons/pom.xml @@ -21,6 +21,7 @@ epmet-common-clienttoken epmet-commons-tools-wx-ma epmet-commons-tools-wx-mp + epmet-commons-service-call diff --git a/epmet-gateway/Dockerfile b/epmet-gateway/Dockerfile index f14c4a8d68..a237b2929f 100644 --- a/epmet-gateway/Dockerfile +++ b/epmet-gateway/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8080 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-gateway/docker-compose.yml b/epmet-gateway/deploy/docker-compose-dev.yml similarity index 63% rename from epmet-gateway/docker-compose.yml rename to epmet-gateway/deploy/docker-compose-dev.yml index 330e7dfed7..47061acece 100644 --- a/epmet-gateway/docker-compose.yml +++ b/epmet-gateway/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-gateway-server: container_name: epmet-gateway-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-gateway:0.3.5 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.7 ports: - "8080:8080" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-gateway/deploy/docker-compose-test.yml b/epmet-gateway/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..d8edfb6ef0 --- /dev/null +++ b/epmet-gateway/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-gateway-server: + container_name: epmet-gateway-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-gateway:0.3.7 + ports: + - "8080:8080" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 4029f58948..b96276ef8a 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.5 + 0.3.7 com.epmet epmet-cloud @@ -86,10 +86,10 @@ - dev-local + dev - true - + true + 8080 @@ -99,7 +99,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -109,100 +109,6 @@ lb://epmet-auth-server - - - lb://epmet-admin-server - - - lb://epmet-oss-server - - - lb://epmet-message-server - - - lb://epmet-activiti-server - - - lb://epmet-job-server - - - - http://127.0.0.1:8087 - - - http://127.0.0.1:8088 - - lb://oper-customize-server - - - lb://oper-crm-server - - - lb://resi-guide-server - - - - http://127.0.0.1:8092 - - lb://oper-access-server - - - lb://resi-mine-server - - - lb://resi-group-server - - - - http://127.0.0.1:8096 - - - http://127.0.0.1:8097 - - - http://127.0.0.1:8098 - - - http://127.0.0.1:8099 - - - - lb://resi-hall-server - - - lb://gov-issue-server - - - lb://gov-project-server - - http://127.0.0.1:8103 - - - - - dev - - - 8080 - - - 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com - 6379 - EpmEtrEdIs!q@w - - true - 192.168.10.150:8848 - 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae - - - false - - - - lb://epmet-auth-server lb://epmet-admin-server @@ -261,14 +167,14 @@ 0 - 10.10.10.248 + r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com 6379 - 123456 + EpmEtrEdIs!q@w true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - f640d73c-9082-4abb-a901-38a060ae13ce + 192.168.10.150:8848 + 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae + false diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile b/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile index 8df45bff54..a1d2ad6f1a 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile +++ b/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8086 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/docker-compose.yml b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/epmet-activiti/epmet-activiti-server/docker-compose.yml rename to epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml index aa02958dbb..f3b9c04a2e 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/docker-compose.yml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-activiti-server: container_name: epmet-activiti-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-activiti-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-activiti-server:0.3.0 ports: - "8086:8086" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-test.yml b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..f312b829c2 --- /dev/null +++ b/epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-activiti-server: + container_name: epmet-activiti-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-activiti-server:0.3.0 + ports: + - "8086:8086" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml index bec82016e8..53056a4216 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml @@ -157,7 +157,7 @@ - dev-local + dev true @@ -187,13 +187,10 @@ - dev - + test 8086 - dev + test @@ -216,32 +213,5 @@ - - test - - 8086 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/epmet-common-service/common-service-server/Dockerfile b/epmet-module/epmet-common-service/common-service-server/Dockerfile index 456b190e80..46b45ca2e0 100644 --- a/epmet-module/epmet-common-service/common-service-server/Dockerfile +++ b/epmet-module/epmet-common-service/common-service-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8103 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/docker-compose.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/epmet-common-service/common-service-server/docker-compose.yml rename to epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml index 9af8426d0d..b84c43234b 100644 --- a/epmet-module/epmet-common-service/common-service-server/docker-compose.yml +++ b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: common-service-server: container_name: common-service-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/common-service-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/common-service-server:0.3.1 ports: - "8103:8103" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..aa89e5dcf7 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + container_name: common-service-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/common-service-server:0.3.1 + common-service-server: + ports: + - "8103:8103" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index 933a40b48d..57283d4d84 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.0 + 0.3.1 com.epmet epmet-common-service @@ -85,7 +85,7 @@ - dev-local + dev true @@ -107,7 +107,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -117,7 +117,7 @@ - dev + test @@ -127,7 +127,7 @@ - + epmet elink@833066 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/epmet-demo/epmet-demo-server/pom.xml b/epmet-module/epmet-demo/epmet-demo-server/pom.xml index 55e1cd3dd8..e7e518d3b0 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/pom.xml +++ b/epmet-module/epmet-demo/epmet-demo-server/pom.xml @@ -100,7 +100,7 @@ - dev-local + dev true @@ -120,7 +120,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -130,8 +130,8 @@ - dev - @@ -159,35 +159,5 @@ - - test - - - 8088 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/epmet-job/epmet-job-server/Dockerfile b/epmet-module/epmet-job/epmet-job-server/Dockerfile index 72a8e2950b..890caf7ec9 100644 --- a/epmet-module/epmet-job/epmet-job-server/Dockerfile +++ b/epmet-module/epmet-job/epmet-job-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8084 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-job/epmet-job-server/docker-compose.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/epmet-job/epmet-job-server/docker-compose.yml rename to epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml index 1c3b34e875..25916804ec 100644 --- a/epmet-module/epmet-job/epmet-job-server/docker-compose.yml +++ b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-job-server: container_name: epmet-job-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-job-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.1 ports: - "8084:8084" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..1fd4ef1cc1 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-job-server: + container_name: epmet-job-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-job-server:0.3.1 + ports: + - "8084:8084" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/epmet-job/epmet-job-server/pom.xml b/epmet-module/epmet-job/epmet-job-server/pom.xml index 7eefa6619d..e6311d1045 100644 --- a/epmet-module/epmet-job/epmet-job-server/pom.xml +++ b/epmet-module/epmet-job/epmet-job-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.0 + 0.3.1 com.epmet epmet-job @@ -96,7 +96,7 @@ - dev-local + dev true @@ -116,7 +116,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -126,13 +126,13 @@ - dev + test 8084 - dev + test @@ -155,35 +155,5 @@ - - test - - - 8084 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/epmet-message/epmet-message-server/Dockerfile b/epmet-module/epmet-message/epmet-message-server/Dockerfile index 36720c4a38..1a3aea849b 100644 --- a/epmet-module/epmet-message/epmet-message-server/Dockerfile +++ b/epmet-module/epmet-message/epmet-message-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8085 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/docker-compose.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/epmet-message/epmet-message-server/docker-compose.yml rename to epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml index d857148255..f0acd8bb7b 100644 --- a/epmet-module/epmet-message/epmet-message-server/docker-compose.yml +++ b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-message-server: container_name: epmet-message-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-message-server:0.3.3 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-message-server:0.3.5 ports: - "8085:8085" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..65ca93ed9f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-message-server: + container_name: epmet-message-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-message-server:0.3.5 + ports: + - "8085:8085" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index c010cc11c2..63ab6a55a7 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.3 + 0.3.5 com.epmet epmet-message @@ -117,7 +117,7 @@ - dev-local + dev true @@ -137,7 +137,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -147,13 +147,13 @@ - dev + test 8085 - dev + test @@ -176,35 +176,5 @@ - - test - - - 8085 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/epmet-oss/epmet-oss-server/Dockerfile b/epmet-module/epmet-oss/epmet-oss-server/Dockerfile index 2e985a6189..678d2b3ff2 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/Dockerfile +++ b/epmet-module/epmet-oss/epmet-oss-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8083 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-oss/epmet-oss-server/docker-compose.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml similarity index 52% rename from epmet-module/epmet-oss/epmet-oss-server/docker-compose.yml rename to epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml index 6fec47cd33..5ff4ca3c46 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/docker-compose.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml @@ -2,12 +2,15 @@ version: "3.7" services: epmet-oss-server: container_name: epmet-oss-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.0 +# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.2 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.7 ports: - "8083:8083" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..cd0fd5f759 --- /dev/null +++ b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml @@ -0,0 +1,18 @@ +version: "3.7" +services: + epmet-oss-server: + container_name: epmet-oss-server-test +# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-oss-server:0.3.2 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:0.3.7 + ports: + - "8083:8083" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index 1739dca832..39c11018a9 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.0 + 0.3.7 com.epmet epmet-oss @@ -119,7 +119,7 @@ - dev-local + dev true @@ -139,7 +139,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -149,13 +149,13 @@ - dev + test 8083 - dev + test @@ -178,35 +178,5 @@ - - test - - - 8083 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-access/gov-access-server/Dockerfile b/epmet-module/gov-access/gov-access-server/Dockerfile index af8e62bd87..3ef453e6ca 100644 --- a/epmet-module/gov-access/gov-access-server/Dockerfile +++ b/epmet-module/gov-access/gov-access-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8099 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/docker-compose.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/gov-access/gov-access-server/docker-compose.yml rename to epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml index 948d404bb1..8757440506 100644 --- a/epmet-module/gov-access/gov-access-server/docker-compose.yml +++ b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: gov-access-server: container_name: gov-access-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-access-server:0.3.8 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.10 ports: - "8099:8099" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..6743816caf --- /dev/null +++ b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + gov-access-server: + container_name: gov-access-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-access-server:0.3.10 + ports: + - "8099:8099" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml index 2e3d316e31..f52504e33e 100644 --- a/epmet-module/gov-access/gov-access-server/pom.xml +++ b/epmet-module/gov-access/gov-access-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.8 + 0.3.10 gov-access com.epmet @@ -88,7 +88,7 @@ - dev-local + dev true @@ -108,7 +108,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -118,13 +118,13 @@ - dev + test 8099 - dev + test @@ -147,36 +147,6 @@ - - test - - - 8099 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-grid/gov-grid-server/Dockerfile b/epmet-module/gov-grid/gov-grid-server/Dockerfile index eac05300ee..def4428089 100644 --- a/epmet-module/gov-grid/gov-grid-server/Dockerfile +++ b/epmet-module/gov-grid/gov-grid-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8097 -ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/docker-compose.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/gov-grid/gov-grid-server/docker-compose.yml rename to epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml index cedb451dc3..bba4cc4cb9 100644 --- a/epmet-module/gov-grid/gov-grid-server/docker-compose.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-grid-server:0.3.14 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.16 ports: - "8097:8097" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..3385acda1f --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + gov-grid-server: + container_name: gov-grid-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.16 + ports: + - "8097:8097" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index 0401f32b80..9a1b48aa86 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - 0.3.14 + 0.3.16 com.epmet gov-grid @@ -92,7 +92,7 @@ - dev-local + dev true @@ -106,7 +106,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -116,13 +116,13 @@ - dev + test 8097 - dev + test 0 @@ -139,30 +139,6 @@ - - test - - - 8097 - test - - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java index 48d96dff8f..5b7fbdf89f 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java @@ -51,7 +51,9 @@ public class ResiPartyMemberController { @PostMapping("auditing") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTYAUTH_AUDITINGLIST) public Result> auditing(@RequestBody AuditingPartyMemberFormDTO formDTO) { - return resiPartyMemberService.auditing(formDTO); + ValidatorUtils.validateEntity(formDTO); + List list=resiPartyMemberService.auditing(formDTO); + return new Result>().ok(list); } /** @@ -64,7 +66,9 @@ public class ResiPartyMemberController { @PostMapping("audited") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTYAUTH_AUDITHISTORY) public Result> audited(@RequestBody AuditedPartyMemberFormDTO formDTO) { - return resiPartyMemberService.audited(formDTO); + ValidatorUtils.validateEntity(formDTO); + List list=resiPartyMemberService.audited(formDTO); + return new Result>().ok(list); } /** diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java index f0a2bdb58e..3a04d1c64b 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java @@ -37,7 +37,7 @@ public interface ResiPartyMemberService { * @Description 待审核列表 * @Date 2020/4/26 16:04 **/ - Result> auditing(AuditingPartyMemberFormDTO formDTO); + List auditing(AuditingPartyMemberFormDTO formDTO); /** * @return com.epmet.commons.tools.utils.Result> * @param formDTO @@ -45,7 +45,7 @@ public interface ResiPartyMemberService { * @Description 党员认证-审核历史列表(审核历史:只包括自动审核失败和拒绝的审核失败:居民未填写补充信息。) * @Date 2020/4/26 23:32 **/ - Result> audited(AuditedPartyMemberFormDTO formDTO); + List audited(AuditedPartyMemberFormDTO formDTO); /** * diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java index 68482892fb..d2f4ccc899 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; @@ -39,37 +40,37 @@ public class ResiPartyMemberServiceImpl implements ResiPartyMemberService { private ResiPartymemberFeignClient resiPartymemberFeignClient; @Override - public Result> auditing(AuditingPartyMemberFormDTO formDTO) { - UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, UnderReviewParyMemberFormDTO.class); + public List auditing(AuditingPartyMemberFormDTO formDTO) { List list = new ArrayList<>(); + UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, UnderReviewParyMemberFormDTO.class); Result> result = resiPartymemberFeignClient.auditingPartyMember(underReviewParyMemberFormDTO); if (!result.success()) { - logger.error(String.format("调用resi-partymember-server模块失败,错误提示%s", result.getMsg())); + logger.error(String.format("调用%s服务查询单元认证-待审核列表失败,入参网格id[%s],错误码%s,错误提示%s", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId(), result.getCode(), result.getMsg())); throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); } if (null == result.getData() || result.getData().isEmpty()) { - logger.info(String.format("网格id[%s],待审核党员列表查询为空", formDTO.getGridId())); - return new Result>().ok(list); + logger.info(String.format("调用%s服务查询党员认证-待审核列表,入参网格id[%s],待审核党员列表查询为空", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId())); + return list; } list = ConvertUtils.sourceToTarget(result.getData(), AuditingPartyMemberResultDTO.class); - return new Result>().ok(list); + return list; } @Override - public Result> audited(AuditedPartyMemberFormDTO formDTO) { - ReviewedParyMemberFormDTO reviewedParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, ReviewedParyMemberFormDTO.class); + public List audited(AuditedPartyMemberFormDTO formDTO) { List list = new ArrayList<>(); + ReviewedParyMemberFormDTO reviewedParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, ReviewedParyMemberFormDTO.class); Result> result = resiPartymemberFeignClient.auditedPartyMember(reviewedParyMemberFormDTO); if (!result.success()) { - logger.error(String.format("调用resi-partymember-server模块失败,错误提示%s", result.getMsg())); + logger.error(String.format("调用%s服务查询党员认证-审核历史列表失败,入参网格id[%s],错误码%s,错误提示%s", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId(), result.getCode(), result.getMsg())); throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); } if (null == result.getData() || result.getData().isEmpty()) { - logger.info(String.format("网格id[%s],待审核党员列表查询为空", formDTO.getGridId())); - return new Result>().ok(list); + logger.info(String.format("调用%s服务查询党员认证-审核历史列表为空,入参网格id[%s],待审核党员列表查询为空", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId())); + return list; } list = ConvertUtils.sourceToTarget(result.getData(), AuditedPartyMemberResultDTO.class); - return new Result>().ok(list); + return list; } /** diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java new file mode 100644 index 0000000000..aa19fd2872 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 议题人员选择(查询当前组织的上两级组织、当前组织和所有下级组织)--接口入参 + * @Author sun + */ +@Data +public class ProcessorListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "议题Id不能为空") + private String issueId; + +} + diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java new file mode 100644 index 0000000000..d7e4cd1801 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/13 16:14 + */ +@Data +public class ShiftProjectListFromDTO implements Serializable { + + private static final long serialVersionUID = -1132054225167531812L; + /** + * 网格Id + */ + private String gridId; + /** + * 当前页 + */ + private Integer pageNo; + /** + * 每页记录数 + */ + private Integer pageSize; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java new file mode 100644 index 0000000000..28cc52de44 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/13 16:16 + */ +@Data +public class ShiftProjectListResultDTO implements Serializable { + private static final long serialVersionUID = -8616067919204282328L; + /** + * 议题Id + */ + private String issueId; + /** + * 议题标题 + */ + private String issueTitle; + /** + * 转成项目时间 + */ + private Long shiftedTime; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; + /** + * 当前处理部门 + */ + private List departmentNameList; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/Dockerfile b/epmet-module/gov-issue/gov-issue-server/Dockerfile index b2cda1b84a..c3261f957f 100644 --- a/epmet-module/gov-issue/gov-issue-server/Dockerfile +++ b/epmet-module/gov-issue/gov-issue-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8101 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/docker-compose.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/gov-issue/gov-issue-server/docker-compose.yml rename to epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml index 95f65aac18..bfaab5b48d 100644 --- a/epmet-module/gov-issue/gov-issue-server/docker-compose.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-issue-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.2 ports: - "8101:8101" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..96f7056a8b --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + gov-issue-server: + container_name: gov-issue-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.1 + ports: + - "8101:8101" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index 69712c31b5..a72b9835c0 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.0 + 0.3.2 gov-issue com.epmet @@ -78,6 +78,12 @@ 2.0.0 compile + + com.epmet + gov-project-client + 2.0.0 + compile + com.epmet gov-org-client @@ -112,7 +118,7 @@ - dev-local + dev true @@ -132,7 +138,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -142,13 +148,13 @@ - dev + test 8101 - dev + test @@ -171,36 +177,6 @@ - - test - - - 8101 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/.gitkeep b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index 064c3bd19a..4996d5e69f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -5,10 +5,12 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.CommonIssueListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.ClosedIssueListResultDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.result.VotingIssueListResultDTO; +import com.epmet.dto.result.ShiftProjectListResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -53,6 +55,18 @@ public class IssueController { List list = issueService.queryVotingIssueCount(gridIdList); return new Result>().ok(list); } + + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + @PostMapping("shiftprojectlist") + public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { + return new Result>().ok(issueService.getShiftProjectList(fromDTO)); + } /** * @Description 话题转议题 供群组话题服务调用 * @param issueShiftedFromTopicFormDTO diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 5a4c14ef6f..2a20b116ca 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -6,6 +6,9 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.IssueService; @@ -59,6 +62,19 @@ public class IssueManageController { return new Result().ok(issueService.departmentStaffList(formDTO)); } + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + @PostMapping("shiftprojectlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST) + public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { + return new Result>().ok(issueService.getShiftProjectList(fromDTO)); + } + /** * @Description 详情折线图 * @param issueId @@ -81,6 +97,19 @@ public class IssueManageController { return new Result>().ok(issueVoteStatisticalService.evaluationList(formDTO)); } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题人员选择 + **/ + @PostMapping("processorlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) + public Result processorList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessorListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(issueService.processorList(formDTO)); + } + /** * @Description 获取表决中议题列表 * @param issueListFormDTO diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java index b0e9a205db..93a29f1fa9 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IssueDTO; import com.epmet.dto.form.CommonIssueListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.result.ClosedIssueListResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.result.VotingIssueListResultDTO; @@ -46,6 +47,15 @@ public interface IssueDao extends BaseDao { */ IssueResultDTO issueDetail(IssueDetailFormDTO formDTO); + /** + * 根据网格ID查找已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param fromDTO 参数 + * @return java.util.List + */ + List selectIssueListByGridId(ShiftProjectListFromDTO fromDTO); + /** * @Description 新增一条议题 * @param issueDTO diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 448afc2e58..8520e454b5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -6,6 +6,7 @@ import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.CustomerGridFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.ProcessorListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; @@ -35,4 +36,13 @@ public interface GovOrgFeignClient { **/ @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") Result departmentStaffList(@PathVariable("agencyId") String agencyId); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 根据当前组织ID查询上两级组织、当前组织和所有下级(迭代)组织 + **/ + @PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}") + Result getProcessorList(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java new file mode 100644 index 0000000000..d5e801c8ce --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java @@ -0,0 +1,30 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ShiftProjectResultDTO; +import com.epmet.feign.fallback.GovProjectFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:26 + */ +@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class) +public interface GovProjectFeignClient { + /** + * 根据议题查询项目 + * @author zhaoqifeng + * @date 2020/5/13 16:55 + * @param fromDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/project/project/shiftprojectlist") + Result> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO); +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 336832326b..8b9d94fd3e 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.ProcessorListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -24,4 +25,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result departmentStaffList(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); } + + @Override + public Result getProcessorList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java new file mode 100644 index 0000000000..b48e24873f --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java @@ -0,0 +1,24 @@ +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.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ShiftProjectResultDTO; +import com.epmet.feign.GovProjectFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:26 + */ +@Component +public class GovProjectFeignClientFallBack implements GovProjectFeignClient { + @Override + public Result> getProjectByIssue(ShiftProjectsFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO); + } +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/.gitkeep b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index f1f91f4d98..935e4e6067 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -1,6 +1,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.CommonIssueListFormDTO; @@ -40,6 +42,15 @@ public interface IssueService extends BaseService { * @Description 议题管理-部门人员选择 **/ DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); + + /** + * 已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + List getShiftProjectList(ShiftProjectListFromDTO fromDTO); /** * @param gridIdList * @return java.util.List @@ -82,4 +93,12 @@ public interface IssueService extends BaseService { * @date 2020.05.14 16:08 **/ GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueDetail); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题人员选择 + **/ + ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/.gitkeep b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index a09e95b5c6..794d64760a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -17,6 +17,9 @@ import com.epmet.dto.IssueProcessDTO; import com.epmet.dto.IssueVoteStatisticalDTO; import com.epmet.dto.form.CommonIssueListFormDTO; import com.epmet.dao.IssueProcessDao; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; @@ -26,6 +29,7 @@ import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovProjectFeignClient; import com.epmet.feign.MessageFeignClient; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.redis.GovIssueRedis; @@ -47,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -58,20 +63,23 @@ import java.util.List; @Service public class IssueServiceImpl extends BaseServiceImpl implements IssueService { + @Autowired + private IssueDao issueDao; + @Autowired + private GovOrgFeignClient govOrgFeignClient; + @Autowired + private IssueProcessDao issueProcessDao; + @Autowired + private ResiGroupFeignClient resiGroupFeignClient; + @Autowired + private MessageFeignClient messageFeignClient; + @Autowired + private GovIssueRedis govIssueRedis; + @Autowired + private GovProjectFeignClient govProjectFeignClient; + protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class); - @Autowired - private IssueDao issueDao; - @Autowired - private GovOrgFeignClient govOrgFeignClient; - @Autowired - private IssueProcessDao issueProcessDao; - @Autowired - private ResiGroupFeignClient resiGroupFeignClient; - @Autowired - private MessageFeignClient messageFeignClient; - @Autowired - private GovIssueRedis govIssueRedis; @Autowired private IssueProcessService issueProcessService; @Autowired @@ -79,121 +87,167 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Autowired private IssueProjectRelationService issueProjectRelationService; - /** - * @Description 议题详情 - * @param issueDetail - * @author zxc - * @date 2020/5/11 10:04 - */ - @Override - public IssueResultDTO detail(IssueDetailFormDTO issueDetail) { - //议题信息 - IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); - return issueResult; - } + /** + * @param issueDetail + * @Description 议题详情 + * @author zxc + * @date 2020/5/11 10:04 + */ + @Override + public IssueResultDTO detail(IssueDetailFormDTO issueDetail) { + //议题信息 + IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); + return issueResult; + } - /** - * @param formDTO - * @return - * @Author sun - * @Description 议题管理-关闭议题 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void closeIssue(CloseIssueFormDTO formDTO) { - Date date = new Date(); - //1:更新议题详情表数据 - IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); - if (null == entity) { - throw new RenException(IssueConstant.SELECT_EXCEPTION); - } - entity.setIssueStatus(IssueConstant.ISSUE_CLOSED); - entity.setCloseReason(formDTO.getCloseReason()); - entity.setResolveType(formDTO.getResolveType()); - entity.setVotingDeadline(date); - entity.setClosedTime(date); - if (baseDao.updateById(entity) < NumConstant.ONE) { - throw new RenException(IssueConstant.UPPDATE_EXCEPTION); - } - //2:调用gov-org服务,查询组织网格名称 - AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO(); - agencyGridResultDTO.setAgencyId(entity.getOrgId()); - agencyGridResultDTO.setGridId(entity.getGridId()); - Result resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO); - agencyGridResultDTO = resultDTO.getData(); - //3:议题进展记录表新增数据 - IssueProcessEntity processEntity = new IssueProcessEntity(); - processEntity.setIssueId(formDTO.getIssueId()); - processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED); - processEntity.setOrgType(IssueConstant.ISSUE_GRID); - processEntity.setOrgId(entity.getOrgId()); - processEntity.setOperationExplain(formDTO.getCloseReason()); - processEntity.setOrgName(agencyGridResultDTO.getAgencyName()+"-"+agencyGridResultDTO.getGridName()); - issueProcessDao.insert(processEntity); - //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 - if(!saveUserMessageList(formDTO, entity).success()){ - throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); - } - } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-关闭议题 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void closeIssue(CloseIssueFormDTO formDTO) { + Date date = new Date(); + //1:更新议题详情表数据 + IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); + if (null == entity) { + throw new RenException(IssueConstant.SELECT_EXCEPTION); + } + entity.setIssueStatus(IssueConstant.ISSUE_CLOSED); + entity.setCloseReason(formDTO.getCloseReason()); + entity.setResolveType(formDTO.getResolveType()); + entity.setVotingDeadline(date); + entity.setClosedTime(date); + if (baseDao.updateById(entity) < NumConstant.ONE) { + throw new RenException(IssueConstant.UPPDATE_EXCEPTION); + } + //2:调用gov-org服务,查询组织网格名称 + AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO(); + agencyGridResultDTO.setAgencyId(entity.getOrgId()); + agencyGridResultDTO.setGridId(entity.getGridId()); + Result resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO); + agencyGridResultDTO = resultDTO.getData(); + //3:议题进展记录表新增数据 + IssueProcessEntity processEntity = new IssueProcessEntity(); + processEntity.setIssueId(formDTO.getIssueId()); + processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED); + processEntity.setOrgType(IssueConstant.ISSUE_GRID); + processEntity.setOrgId(entity.getOrgId()); + processEntity.setOperationExplain(formDTO.getCloseReason()); + processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName()); + issueProcessDao.insert(processEntity); + //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 + if (!saveUserMessageList(formDTO, entity).success()) { + throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); + } + } - @Override - public List queryVotingIssueCount(List gridIdList) { - List list=new ArrayList<>(); - for(String gridId:gridIdList){ - GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO=new GridVotingIssueCountResultDTO(); - gridVotingIssueCountResultDTO.setGridId(gridId); - Long auditingCount=govIssueRedis.queryVotingIssueCount(gridId); - gridVotingIssueCountResultDTO.setCount(auditingCount); - list.add(gridVotingIssueCountResultDTO); - } - return list; - } + @Override + public List queryVotingIssueCount(List gridIdList) { + List list = new ArrayList<>(); + for (String gridId : gridIdList) { + GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO(); + gridVotingIssueCountResultDTO.setGridId(gridId); + Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId); + gridVotingIssueCountResultDTO.setCount(auditingCount); + list.add(gridVotingIssueCountResultDTO); + } + return list; + } - /** - * @Description 关闭议题给话题创建人和议题发起人发送消息 - * @author sun - */ - private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity){ - //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) - Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); - if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { - throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); - } - ResiTopicDTO topicDTO = resultTopicDTO.getData(); - //2:分别给话题创建人、议题发起人发送消息 - List msgList = new ArrayList<>(); - UserMessageFormDTO msgDTO = new UserMessageFormDTO(); - msgDTO.setCustomerId(entity.getCustomerId()); - msgDTO.setGridId(entity.getGridId()); - msgDTO.setApp(AppClientConstant.APP_RESI); - msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); - String messageContent = ""; - if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { - messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); - } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { - messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); - } - msgDTO.setMessageContent(messageContent); - msgDTO.setReadFlag(ReadFlagConstant.UN_READ); - msgDTO.setUserId(topicDTO.getCreatedBy()); - msgList.add(msgDTO); - msgDTO.setUserId(entity.getCreatedBy()); - msgList.add(msgDTO); - return messageFeignClient.saveUserMessageList(msgList); - } + /** + * @Description 关闭议题给话题创建人和议题发起人发送消息 + * @author sun + */ + private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity) { + //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) + Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); + if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { + throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); + } + ResiTopicDTO topicDTO = resultTopicDTO.getData(); + //2:分别给话题创建人、议题发起人发送消息 + List msgList = new ArrayList<>(); + UserMessageFormDTO msgDTO = new UserMessageFormDTO(); + msgDTO.setCustomerId(entity.getCustomerId()); + msgDTO.setGridId(entity.getGridId()); + msgDTO.setApp(AppClientConstant.APP_RESI); + msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); + String messageContent = ""; + if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { + messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); + } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { + messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); + } + msgDTO.setMessageContent(messageContent); + msgDTO.setReadFlag(ReadFlagConstant.UN_READ); + msgDTO.setUserId(topicDTO.getCreatedBy()); + msgList.add(msgDTO); + msgDTO.setUserId(entity.getCreatedBy()); + msgList.add(msgDTO); + return messageFeignClient.saveUserMessageList(msgList); + } - /** - * @param formDTO - * @return - * @Author sun - * @Description 议题管理-部门人员选择 - **/ - @Override - public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { - //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 - Result resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); - return resultDTOResult.getData(); - } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + @Override + public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { + //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 + Result resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + return resultDTOResult.getData(); + } + + @Override + public List getShiftProjectList(ShiftProjectListFromDTO fromDTO) { + List resultList = new ArrayList<>(); + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List issueList = baseDao.selectIssueListByGridId(fromDTO); + if (null == issueList || issueList.size() == 0) { + return resultList; + } + //遍历获取所有的userId + List issueIds = issueList.stream().map(IssueEntity::getId).collect(Collectors.toList()); + ShiftProjectsFromDTO shiftProjectsFromDTO = new ShiftProjectsFromDTO(); + shiftProjectsFromDTO.setIssueIds(issueIds); + List projectList = govProjectFeignClient.getProjectByIssue(shiftProjectsFromDTO).getData(); + resultList = issueList.stream().flatMap(issue -> projectList.stream().filter(p -> issue.getId().equals(p.getOriginId())).map(project ->{ + ShiftProjectListResultDTO shiftProject = new ShiftProjectListResultDTO(); + shiftProject.setIssueId(issue.getId()); + shiftProject.setIssueTitle(issue.getIssueTitle()); + shiftProject.setDepartmentNameList(project.getDepartmentNameList()); + shiftProject.setPublicReply(project.getPublicReply()); + shiftProject.setShiftedTime(project.getCreatedTime().getTime()); + shiftProject.setProjectStatus(project.getStatus()); + return shiftProject; + })).collect(Collectors.toList()); + return resultList; + } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题人员选择 + **/ + @Override + public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) { + //1:查询当前议题工作人员所属组织Id + IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); + if (null == entity) { + throw new RenException(IssueConstant.SELECT_EXCEPTION); + } + //2:调用gov-org服务,查询组织树 + Result resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId()); + return resultDTOResult.getData(); + } /** * @Description 话题转为议题入口 返回生成的议题Id diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml index 8afc8fa26f..a783ebb88b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml @@ -44,6 +44,17 @@ AND del_flag = 0 + + diff --git a/epmet-module/gov-mine/gov-mine-server/Dockerfile b/epmet-module/gov-mine/gov-mine-server/Dockerfile index 0bdb6f026f..583d3041e9 100644 --- a/epmet-module/gov-mine/gov-mine-server/Dockerfile +++ b/epmet-module/gov-mine/gov-mine-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8098 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-mine/gov-mine-server/docker-compose.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/gov-mine/gov-mine-server/docker-compose.yml rename to epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml index 27c711fc44..57ca9f2f4e 100644 --- a/epmet-module/gov-mine/gov-mine-server/docker-compose.yml +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: gov-mine-server: container_name: gov-mine-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-mine-server:0.3.8 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.11 ports: - "8098:8098" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..ca53f7b8b9 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + gov-mine-server: + container_name: gov-mine-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-mine-server:0.3.11 + ports: + - "8098:8098" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index 0eb920057f..52fb15e28e 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.8 + 0.3.11 com.epmet gov-mine @@ -45,20 +45,27 @@ spring-boot-admin-starter-client ${spring.boot.admin.version} + + + com.epmet + epmet-commons-service-call + 0.3.1 + + - + com.epmet gov-org-client @@ -105,7 +112,7 @@ - dev-local + dev true @@ -119,7 +126,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -129,13 +136,13 @@ - dev + test 8098 - dev + test 0 @@ -152,30 +159,6 @@ - - test - - - 8098 - test - - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - \ No newline at end of file diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/config/LoadBalancerConfig.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/config/LoadBalancerConfig.java new file mode 100644 index 0000000000..150e7253ab --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/config/LoadBalancerConfig.java @@ -0,0 +1,29 @@ +package com.epmet.config; + +import com.epmet.loadbalancer.EpmetRequestLoadBalancerRule; +import com.netflix.loadbalancer.IRule; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + +@Configuration +public class LoadBalancerConfig { + + //@Bean + //@LoadBalanced + //public RestTemplate getRestTemplate() { + // return new RestTemplate(); + //} + + /** + * 自定义负载均衡算法bean + * @return + */ + //@Bean + //public IRule getMyLoadBalancerRule(Environment env) { + // EpmetRequestLoadBalancerRule rule = new EpmetRequestLoadBalancerRule(); + // rule.setEnv(env); + // return rule; + //} + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java index 692ac17669..329d12ef4b 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java @@ -82,7 +82,8 @@ public class StaffAgencyController { public Result switchGrid(@LoginUser TokenDto tokenDto, @RequestBody SwitchGridFormDTO switchGridFormDTO) { switchGridFormDTO.setStaffId(tokenDto.getUserId()); ValidatorUtils.validateEntity(switchGridFormDTO); - return staffAgencyService.switchGrid(switchGridFormDTO); + staffAgencyService.switchGrid(switchGridFormDTO); + return new Result(); } /** diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java index da353a9f37..d6ee5eeb3c 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java @@ -57,7 +57,7 @@ public interface StaffAgencyService { * @Description 切换网格 * @Date 2020/4/23 10:49 **/ - Result switchGrid(SwitchGridFormDTO switchGridFormDTO); + void switchGrid(SwitchGridFormDTO switchGridFormDTO); /** * @Description 得到工作人员最后一次登录的网格 diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java index 2cbda237bb..ae7a56de8f 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java @@ -215,12 +215,14 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { return staffGridResult; } } - return new Result().error(StaffAgencyConstant.QUERY_LATEST_GRID_INFO_FAILED); + logger.error(String.format("客户id%s,staffId%s查询最后一次登录网格为空",latestGridFormDTO.getCustomerId(),latestGridFormDTO.getStaffId())); + //.error(StaffAgencyConstant.QUERY_LATEST_GRID_INFO_FAILED) + return new Result<>(); } @Override - public Result switchGrid(SwitchGridFormDTO switchGridFormDTO) { + public void switchGrid(SwitchGridFormDTO switchGridFormDTO) { //记录网格访问记录 StaffGridVisitedFormDTO staffGridVisitedFormDTO = ConvertUtils.sourceToTarget(switchGridFormDTO, StaffGridVisitedFormDTO.class); Result saveStaffGridVisitedRecord = epmetUserFeignClient.saveStaffGridVisitedRecord(staffGridVisitedFormDTO); @@ -230,7 +232,6 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { /* //查询网格的权限 Set opeKeys = accessService.listOpeKeysByStaffId(switchGridFormDTO.getStaffId(), null, switchGridFormDTO.getGridId()); return new Result>().ok(opeKeys);*/ - return new Result(); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java new file mode 100644 index 0000000000..a02fdb01ee --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java @@ -0,0 +1,43 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 组织信息 + * + * @author sun + */ +@Data +public class AgencyResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 机关组织Id + */ + private String agencyId = ""; + /** + * 机关组织名称 + */ + private String agencyName = ""; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java new file mode 100644 index 0000000000..117976dee8 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java @@ -0,0 +1,52 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 下级组织信息(迭代对象) + * + * @author sun + */ +@Data +public class AgencySubResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 机关组织Id + */ + private String agencyId = ""; + /** + * 机关组织名称 + */ + private String agencyName = ""; + /** + * 下级组织信息 + */ + private List subAgencyList; + /** + * 当前组织的所有上级组织Id + */ + private String pids = ""; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ProcessorListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ProcessorListResultDTO.java new file mode 100644 index 0000000000..cede6e5170 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ProcessorListResultDTO.java @@ -0,0 +1,48 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 项目人员选择(查询当前组织的上两级组织和所有下级组织)--接口返参 + * + * @author sun + */ +@Data +public class ProcessorListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 当前组织的上两级组织信息 + */ + private List parentAgencyList; + /** + * 当前组织信息 + */ + private AgencyResultDTO agencyList; + /** + * 下级组织信息(迭代) + */ + private List subAgencyList; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/Dockerfile b/epmet-module/gov-org/gov-org-server/Dockerfile index 15c4d6ed03..b079f1ff77 100644 --- a/epmet-module/gov-org/gov-org-server/Dockerfile +++ b/epmet-module/gov-org/gov-org-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8092 -ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/docker-compose.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/gov-org/gov-org-server/docker-compose.yml rename to epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml index 7414547eb5..ca5bdc1094 100644 --- a/epmet-module/gov-org/gov-org-server/docker-compose.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-org-server:0.3.31 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.34 ports: - "8092:8092" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..55a2ae514f --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + gov-org-server: + container_name: gov-org-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.33 + ports: + - "8092:8092" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index c731a93fb9..8bae1a2d21 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.31 + 0.3.34 com.epmet gov-org @@ -40,20 +40,30 @@ org.springframework.boot spring-boot-starter-actuator + + com.epmet + epmet-commons-service-call + 0.3.1 + + + + + + - + @@ -103,7 +113,7 @@ - dev-local + dev true @@ -123,7 +133,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -133,13 +143,13 @@ - dev + test 8092 - dev + test @@ -162,35 +172,5 @@ - - test - - - 8092 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/config/LoadBalanceConfig.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/config/LoadBalanceConfig.java new file mode 100644 index 0000000000..97bd3ae321 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/config/LoadBalanceConfig.java @@ -0,0 +1,23 @@ +package com.epmet.config; + +import com.epmet.loadbalancer.EpmetRequestLoadBalancerRule; +import com.netflix.loadbalancer.IRule; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + +@Configuration +public class LoadBalanceConfig { + + /** + * 自定义负载均衡算法bean + * @return + */ + //@Bean + //public IRule getMyLoadBalancerRule(Environment env) { + // EpmetRequestLoadBalancerRule rule = new EpmetRequestLoadBalancerRule(); + // rule.setEnv(env); + // return rule; + //} + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 6434a318b6..73728f19de 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -17,7 +17,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -28,10 +30,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; -import com.epmet.dto.result.AgencyDeptGridResultDTO; -import com.epmet.dto.result.AgencyGridResultDTO; -import com.epmet.dto.result.DepartmentStaffListResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; +import com.epmet.dto.result.*; import com.epmet.excel.CustomerAgencyExcel; import com.epmet.service.CustomerAgencyService; import org.springframework.beans.factory.annotation.Autowired; @@ -142,4 +141,15 @@ public class CustomerAgencyController { return new Result().ok(customerAgencyService.getAgencyDeptGridList(formDTO)); } + /** + * @param agencyId + * @return + * @Author sun + * @Description 根据当前组织ID查询上两级组织、本级组织和所有下级(迭代)组织 + **/ + @PostMapping("getprocessorlist/{agencyId}") + public Result getProcessorList(@PathVariable("agencyId") String agencyId) { + return new Result().ok(customerAgencyService.getProcessorList(agencyId)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index a83d872672..a9846b3a76 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -19,10 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.result.AgencyListResultDTO; -import com.epmet.dto.result.ParentListResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; -import com.epmet.dto.result.SubListResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -95,4 +92,12 @@ public interface CustomerAgencyDao extends BaseDao { * @Description 批量查询组织信息 **/ List selectAgencyListByIds(@Param("agencyIdList") List agencyIdList); + + /** + * @param subAgencyPids + * @return + * @Author sun + * @Description 查询当前组织的下一级组织列表 + **/ + List selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index b79c1c6cfb..96132b35da 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -23,10 +23,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; -import com.epmet.dto.result.AgencyDeptGridResultDTO; -import com.epmet.dto.result.AgencyGridResultDTO; -import com.epmet.dto.result.DepartmentStaffListResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; import java.util.List; @@ -132,4 +129,12 @@ public interface CustomerAgencyService extends BaseService * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息 **/ AgencyDeptGridResultDTO getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 根据当前组织ID查询上两级组织、本级组织和所有下级(迭代)组织 + **/ + ProcessorListResultDTO getProcessorList(String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 2218c26341..2981b5919b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -320,4 +321,65 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl parentAgencyList = new ArrayList<>(); + //1:查询当前组织信息 + CustomerAgencyEntity entity = baseDao.selectById(agencyId); + AgencyResultDTO agencyList = new AgencyResultDTO(); + agencyList.setAgencyId(entity.getId()); + agencyList.setAgencyName(entity.getOrganizationName()); + processorList.setAgencyList(agencyList); + //2:查询当前组织的上两级组织,按层级排序 + String pids = entity.getPids(); + String[] args = pids.split(":"); + List agencyIdList = new ArrayList<>(); + if (args.length < NumConstant.ONE) { + processorList.setParentAgencyList(parentAgencyList); + } else { + if (args.length > NumConstant.ONE) { + agencyIdList.add(args[args.length - NumConstant.TWO]); + } + if (args.length > NumConstant.ZERO) { + agencyIdList.add(args[args.length - NumConstant.ONE]); + } + List parentList = baseDao.selectAgencyListByIds(agencyIdList); + parentList.forEach(parent->{ + AgencyResultDTO agency = new AgencyResultDTO(); + agency.setAgencyId(parent.getId()); + agency.setAgencyName(parent.getOrganizationName()); + parentAgencyList.add(agency); + }); + processorList.setParentAgencyList(parentAgencyList); + } + //3:迭代查询当前组织的所有下级组织列表 + List subAgencyList = getDepartmentList(entity.getPids() + ":" + entity.getId()); + processorList.setSubAgencyList(subAgencyList); + + return processorList; + } + + /** + * @param subAgencyPids 当前组织的下一级组织的pids字段值(当前组织的pids+":"+当前组织Id) + * @return + * @Author 迭代查询当前组织的所有下级组织树结构数据 + */ + private List getDepartmentList(String subAgencyPids) { + List subAgencyList = baseDao.selectSubAgencyList(subAgencyPids); + if (subAgencyList.size() > NumConstant.ZERO) { + for (AgencySubResultDTO sub : subAgencyList) { + List subAgency = getDepartmentList(sub.getPids() + ":" + sub.getAgencyId()); + sub.setSubAgencyList(subAgency); + } + } + return subAgencyList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java index 44f14521b1..2eb0873cc8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java @@ -119,6 +119,9 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl getStaffGridOrderByGridName(LatestGridFormDTO latestGridFormDTO) { CustomerGridDTO grid = baseDao.selectStaffGridOrderByGridName(latestGridFormDTO); + if(null==grid){ + return new Result<>(); + } CustomerGridByUserIdResultDTO result = new CustomerGridByUserIdResultDTO(); result.setGridName(grid.getGridName()); result.setGridId(grid.getId()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 41cce6fb8e..1b5fdf92a5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -118,5 +118,22 @@ ca.id = #{agencyId} + ORDER BY field( + ca.id, + + #{agencyId} + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java index 356bff7769..ef8c8f0d11 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java @@ -38,6 +38,11 @@ public class ProjectDTO implements Serializable { */ private String id; + /** + * 客户ID + */ + private String customerId; + /** * 机关ID */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java new file mode 100644 index 0000000000..764412d461 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目人员选择(查询当前组织的上两级组织、当前组织和所有下级组织)--接口入参 + * @Author sun + */ +@Data +public class ProcessorListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目人员关联Id不能为空") + private String projectStaffId; + +} + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java new file mode 100644 index 0000000000..97df9f343b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/13 16:47 + */ +@Data +public class ShiftProjectsFromDTO implements Serializable { + private static final long serialVersionUID = 3832656052193286163L; + /** + * 议题ID + */ + List issueIds; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java new file mode 100644 index 0000000000..2f372a1b24 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java @@ -0,0 +1,53 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:45 + */ +@Data +public class ShiftProjectResultDTO implements Serializable { + + private static final long serialVersionUID = 4807330131467747264L; + /** + * 唯一标识 + */ + private String id; + + /** + * 来源ID + */ + private String originId; + + /** + * 项目标题 + */ + private String title; + + /** + * 状态:待处理 pending,结案closed + */ + private String status; + + /** + * 结案说明 + */ + private String publicReply; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 当前处理部门 + */ + private List departmentNameList; + +} diff --git a/epmet-module/gov-project/gov-project-server/Dockerfile b/epmet-module/gov-project/gov-project-server/Dockerfile index adb8530981..88b6575415 100644 --- a/epmet-module/gov-project/gov-project-server/Dockerfile +++ b/epmet-module/gov-project/gov-project-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8102 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/docker-compose.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/gov-project/gov-project-server/docker-compose.yml rename to epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml index 71d21eb11b..f81da526df 100644 --- a/epmet-module/gov-project/gov-project-server/docker-compose.yml +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: gov-project-server: container_name: gov-project-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-project-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.2 ports: - "8102:8102" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..5579a748f7 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + gov-project-server: + container_name: gov-project-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:0.3.1 + ports: + - "8102:8102" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 1588d4238f..95f677175b 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.0 + 0.3.2 gov-project com.epmet @@ -106,7 +106,7 @@ - dev-local + dev true @@ -126,7 +126,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -136,13 +136,13 @@ - dev + test 8102 - dev + test @@ -165,36 +165,6 @@ - - test - - - 8102 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 78d79402c1..d341afd494 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -84,5 +84,5 @@ public interface ProjectConstant { /** * 更新项目人员关联表数据失败 */ - String DATe_EXCEPTION = "未勾选流转人员"; + String DATE_EXCEPTION = "未勾选流转人员"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index d0ff226582..804be2a6d3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -26,6 +26,8 @@ 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.ProjectDTO; +import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.excel.ProjectExcel; import com.epmet.service.ProjectService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,17 @@ public class ProjectController { ExcelUtils.exportExcelToTarget(response, null, list, ProjectExcel.class); } + /** + * 根据议题查询项目 + * @author zhaoqifeng + * @date 2020/5/13 16:55 + * @param fromDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("shiftprojectlist") + public Result> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO) { + List list = projectService.getProjectByIssue(fromDTO); + return new Result>().ok(list); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index f252c27770..28c14a862e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -12,6 +12,7 @@ import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectSatisfactionDetailService; import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; +import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -51,6 +52,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:14 */ @PostMapping("pendprojectlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_PENDING_LIST) public Result> getPendProjectList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { List result = projectTraceService.getPendProjectList(tokenDto, fromDTO); return new Result>().ok(result); @@ -66,6 +68,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:19 */ @PostMapping("createdlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CREATED_LIST) public Result> getCreatedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { List result = projectTraceService.getCreatedList(tokenDto, fromDTO); return new Result>().ok(result); @@ -81,6 +84,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:21 */ @PostMapping("involvedlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_INVOLVED_LIST) public Result> getInvolvedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { List result = projectTraceService.getInvolvedList(tokenDto, fromDTO); return new Result>().ok(result); @@ -96,6 +100,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:25 */ @PostMapping("projectdetail") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) public Result getProjectDetail(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { ProjectDetailResultDTO result = projectTraceService.getProjectDetail(tokenDto, fromDTO); return new Result().ok(result); @@ -111,6 +116,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:27 */ @PostMapping("closeproject") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CLOSE) public Result closed(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) { projectTraceService.closed(tokenDto, fromDTO); return new Result(); @@ -125,6 +131,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:30 */ @PostMapping("returnablelist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN) public Result> getReturnableList(@RequestBody ReturnListFromDTO fromDTO) { List result = projectTraceService.getReturnableList(fromDTO); return new Result>().ok(result); @@ -140,6 +147,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:32 */ @PostMapping("return") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN) public Result projectReturn(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) { projectTraceService.projectReturn(tokenDto, fromDTO); return new Result(); @@ -197,5 +205,32 @@ public class ProjectTraceController { projectProcessService.transfer(formDTO); return new Result(); } + + /** + * 我的处理部门 + * @author zhaoqifeng + * @date 2020/5/14 14:22 + * @param tokenDto + * @param fromDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("mydepartmentlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) + public Result> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { + return new Result>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO)); + } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-项目人员选择 + **/ + @PostMapping("processorlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) + public Result processorList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessorListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(projectTraceService.processorList(formDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index c84c8d6f2d..95561d448e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -20,7 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.form.ShiftProjectsFromDTO; import com.epmet.dto.result.ProjectDetailResultDTO; import com.epmet.entity.ProjectEntity; import org.apache.ibatis.annotations.Mapper; @@ -85,4 +85,13 @@ public interface ProjectDao extends BaseDao { */ ProjectDetailResultDTO selectProjectDetail(@Param("id") String id); + /** + * 根据议题ID获取项目列表 + * @author zhaoqifeng + * @date 2020/5/13 17:01 + * @param fromDTO + * @return java.util.List + */ + List selectShiftProjectList(ShiftProjectsFromDTO fromDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java index a0c82726ea..38de1c8e93 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java @@ -38,6 +38,11 @@ public class ProjectEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; + /** + * 客户ID + */ + private String customerId; + /** * 机关ID */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectExcel.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectExcel.java index 00424b5fc6..8bbdf111d7 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectExcel.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectExcel.java @@ -34,6 +34,9 @@ public class ProjectExcel { @Excel(name = "唯一标识") private String id; + @Excel(name = " 客户ID") + private String customerId; + @Excel(name = " 机关ID") private String agencyId; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 5038fa4206..a086079472 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -8,6 +8,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.ProcessorListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; @@ -46,4 +47,13 @@ public interface GovOrgFeignClient { @PostMapping(value = "/gov/org/customeragency/getagencydeptgridlist") Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO); + /** + * @param agencyId + * @return + * @Author sun + * @Description 根据当前组织ID查询上两级组织、当前组织和所有下级(迭代)组织 + **/ + @PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}") + Result getProcessorList(@PathVariable("agencyId") String agencyId); + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 3588d47287..1fad4e06c6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -10,6 +10,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.ProcessorListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -33,4 +34,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyDeptGridList", formDTO); } + + @Override + public Result getProcessorList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index aa523854d3..751e31ba03 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -19,10 +19,13 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ProjectDetailFromDTO; import com.epmet.dto.form.ReturnListFromDTO; import com.epmet.dto.form.TransferFormDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; @@ -122,4 +125,5 @@ public interface ProjectProcessService extends BaseService * @Description 项目跟踪-转其他部门 **/ void transfer(TransferFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index cb39927bf0..f482b79abd 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -21,14 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectDTO; -import com.epmet.dto.form.ProjectClosedFromDTO; -import com.epmet.dto.form.ProjectDetailFromDTO; -import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.form.ReturnFromDTO; -import com.epmet.dto.result.CreatedListResultDTO; -import com.epmet.dto.result.InvolvedListResultDTO; -import com.epmet.dto.result.PendProjectListResultDTO; -import com.epmet.dto.result.ProjectDetailResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; import java.util.List; @@ -159,4 +153,13 @@ public interface ProjectService extends BaseService { * @return void */ void projectReturn(ReturnFromDTO fromDTO); + + /** + * 根据议题查询项目 + * @author zhaoqifeng + * @date 2020/5/13 16:55 + * @param fromDTO + * @return java.util.List + */ + List getProjectByIssue(ShiftProjectsFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index f91afc3c3a..a3ebf9d74c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -88,4 +88,23 @@ public interface ProjectTraceService { * @date 2020/5/11 16:32 */ void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO); + + /** + * 我的处理部门 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/14 14:24 + */ + List myDepartmentList(TokenDto tokenDto, ProjectDetailFromDTO fromDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-项目人员选择 + **/ + ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 38a3f8c9dc..0939efc749 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -196,7 +196,7 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl staffList = formDTO.getStaffList(); if (null == staffList || staffList.size() < NumConstant.ONE) { - throw new RenException(ProjectConstant.DATe_EXCEPTION); + throw new RenException(ProjectConstant.DATE_EXCEPTION); } //3.1:调用gov-org服务,获取所有勾选人员对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值 List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList()); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index a9aa55a296..19946355bd 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -296,6 +296,7 @@ public class ProjectServiceImpl extends BaseServiceImpl getProjectByIssue(ShiftProjectsFromDTO fromDTO) { + List resultList = new ArrayList<>(); + List projectList = baseDao.selectShiftProjectList(fromDTO); + projectList.forEach(project -> { + ShiftProjectResultDTO shiftProject = ConvertUtils.sourceToTarget(project, ShiftProjectResultDTO.class); + List departmentNameList = baseDao.selectDepartmentNameList(project); + shiftProject.setDepartmentNameList(departmentNameList); + resultList.add(shiftProject); + }); + return resultList; + } + /** * 获取客户定制的可滞留天数 * diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 69448b017a..3166c2497c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -1,10 +1,17 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.ProjectConstant; +import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.entity.ProjectStaffEntity; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; +import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +29,10 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { private ProjectService projectService; @Autowired private ProjectProcessService projectProcessService; + @Autowired + private ProjectStaffService projectStaffService; + @Autowired + private GovOrgFeignClient govOrgFeignClient; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -63,4 +74,25 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { fromDTO.setUserId(tokenDto.getUserId()); projectService.projectReturn(fromDTO); } + + @Override + public List myDepartmentList(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + ProjectStaffDTO projectStaffDTO = new ProjectStaffDTO(); + projectStaffDTO.setProjectId(fromDTO.getProjectId()); + projectStaffDTO.setStaffId(fromDTO.getUserId()); + return projectStaffService.getDepartmentNameList(projectStaffDTO); + } + + @Override + public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) { + //1:查询当前工作人员所属组织Id + ProjectStaffEntity staffEntity = projectStaffService.selectById(formDTO.getProjectStaffId()); + if (null == staffEntity) { + throw new RenException(ProjectConstant.SELECT_PROJECTSTAFF_EXCEPTION); + } + //2:调用gov-org服务,查询组织树 + Result resultDTOResult = govOrgFeignClient.getProcessorList(staffEntity.getOrgId()); + return resultDTOResult.getData(); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db.migration/epmet_gov_project.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db.migration/epmet_gov_project.sql index f87285eecd..9265cad8c9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db.migration/epmet_gov_project.sql +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db.migration/epmet_gov_project.sql @@ -41,7 +41,7 @@ CREATE TABLE `customer_project_parameter` ( DROP TABLE IF EXISTS `project`; CREATE TABLE `project` ( `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识', - `AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 机关ID', + `AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '机关ID', `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '来源:议题issue', `ORIGIN_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源ID', `TITLE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '项目标题', @@ -129,7 +129,7 @@ CREATE TABLE `project_staff` ( `GRID_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '网格ID', `ORG_ID_PATH` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属机关(11:22:33)', `STAFF_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '人员ID', - `IS_HANDLE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否处理:未处理unhandle,已处理handle', + `IS_HANDLE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否处理:未处理unhandled,已处理handle', `DEL_FLAG` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '删除标识:0.未删除 1.已删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', @@ -148,3 +148,5 @@ alter table project_process add column OPERATION_NAME varchar(200) NOT NULL COMM alter table project_staff add column DEPARTMENT_NAME varchar(200) NOT NULL COMMENT '处理部门' after STAFF_ID; alter table project_process add column DEPARTMENT_NAME varchar(200) NOT NULL COMMENT '处理部门' after PROJECT_ID; + +alter table project add column CUSTOMER_ID varchar(64) NOT NULL COMMENT '客户ID' after ID; diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index e7cc041e78..492465f853 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -134,6 +134,21 @@ WHERE p.DEL_FLAG = '0' AND p.ID = #{id} + \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/Dockerfile b/epmet-module/oper-access/oper-access-server/Dockerfile index bde41338e6..48f2a3dea5 100644 --- a/epmet-module/oper-access/oper-access-server/Dockerfile +++ b/epmet-module/oper-access/oper-access-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8093 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/docker-compose.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/oper-access/oper-access-server/docker-compose.yml rename to epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml index 5cfa3206cd..613e8ff293 100644 --- a/epmet-module/oper-access/oper-access-server/docker-compose.yml +++ b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: oper-access-server: container_name: oper-access-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-access-server:0.3.4 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-access-server:0.3.6 ports: - "8093:8093" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..fb5831137b --- /dev/null +++ b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + oper-access-server: + container_name: oper-access-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-access-server:0.3.6 + ports: + - "8093:8093" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/pom.xml b/epmet-module/oper-access/oper-access-server/pom.xml index 55dbb0f047..ead4e79273 100644 --- a/epmet-module/oper-access/oper-access-server/pom.xml +++ b/epmet-module/oper-access/oper-access-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 0.3.4 + 0.3.6 oper-access com.epmet @@ -93,59 +93,29 @@ - dev-local + dev true - - 8093 - dev - - - - - - epmet_oper_access_user - EpmEt-db-UsEr - - 0 - 192.168.1.130 - 6379 - 123456 - - false - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - - - dev - 8093 dev - + - epmet - elink@833066 + epmet_oper_access_user + EpmEt-db-UsEr 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.1.130 6379 - EpmEtrEdIs!q@w + 123456 true - 192.168.10.150:8848 - 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae + 122.152.200.70:8848 + fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b false @@ -163,19 +133,19 @@ - + epmet elink@833066 0 - 10.10.10.248 + r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com 6379 - 123456 + EpmEtrEdIs!q@w true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b + 192.168.10.150:8848 + 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae false diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/oper-crm/oper-crm-server/Dockerfile b/epmet-module/oper-crm/oper-crm-server/Dockerfile index bb97bee10e..696964e45a 100644 --- a/epmet-module/oper-crm/oper-crm-server/Dockerfile +++ b/epmet-module/oper-crm/oper-crm-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8090 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/docker-compose.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/oper-crm/oper-crm-server/docker-compose.yml rename to epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml index 01275c1887..2c4a57b403 100644 --- a/epmet-module/oper-crm/oper-crm-server/docker-compose.yml +++ b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: oper-crm-server: container_name: oper-crm-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-crm-server:0.3.5 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:0.3.7 ports: - "8090:8090" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..e2111ec9b6 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + oper-crm-server: + container_name: oper-crm-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-crm-server:0.3.7 + ports: + - "8090:8090" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index 1a911314f8..d4272fbbc9 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.5 + 0.3.7 com.epmet oper-crm @@ -91,7 +91,7 @@ - dev-local + dev true @@ -111,7 +111,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -121,13 +121,13 @@ - dev + test 8090 - dev + test @@ -150,35 +150,5 @@ - - test - - - 8090 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/oper-customize/oper-customize-server/Dockerfile b/epmet-module/oper-customize/oper-customize-server/Dockerfile index 0dc758020b..08eccce004 100644 --- a/epmet-module/oper-customize/oper-customize-server/Dockerfile +++ b/epmet-module/oper-customize/oper-customize-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8089 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/docker-compose.yml b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/oper-customize/oper-customize-server/docker-compose.yml rename to epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml index aa3c04f679..8e2903fed2 100644 --- a/epmet-module/oper-customize/oper-customize-server/docker-compose.yml +++ b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: oper-customize-server: container_name: oper-customize-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-customize-server:0.3.6 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-customize-server:0.3.8 ports: - "8089:8089" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..45827ee1bd --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + oper-customize-server: + container_name: oper-customize-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-customize-server:0.3.8 + ports: + - "8089:8089" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/pom.xml b/epmet-module/oper-customize/oper-customize-server/pom.xml index 65825b904f..9b1397bf37 100644 --- a/epmet-module/oper-customize/oper-customize-server/pom.xml +++ b/epmet-module/oper-customize/oper-customize-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.6 + 0.3.8 com.epmet oper-customize @@ -85,7 +85,7 @@ - dev-local + dev true @@ -105,7 +105,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -115,13 +115,13 @@ - dev + test 8089 - dev + test @@ -144,35 +144,5 @@ - - test - - - 8089 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java index 1f697182b0..c2163d560c 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java @@ -53,7 +53,6 @@ public class HomeServiceImpl implements HomeService { public Result getHomeDesignByCustomer(CustomerHomeFormDTO formDTO) { HomeDesignByCustomerResultDTO resultDTO = new HomeDesignByCustomerResultDTO(); //根据客户id,所属端获取客户首页配置的设计稿 - formDTO.setStatus(OperCustomizeConstant.STATUS_DRAFT); List list = customerHomeDetailDao.selectCustomerHomeDetail(formDTO); List titleList = new ArrayList<>(); List topList = new ArrayList<>(); diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyingMemberFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyingMemberFormDTO.java index 4ab61b072f..f55ade60b2 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyingMemberFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyingMemberFormDTO.java @@ -25,4 +25,10 @@ public class ApplyingMemberFormDTO implements Serializable { private Integer pageNo; private Integer pageSize=20; + + /** + * 从token中获取的用户ID + */ + @NotBlank(message = "用户id不能为空") + private String userId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/GroupMemberListFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/GroupMemberListFormDTO.java index e42fdb7c1f..010c24c30d 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/GroupMemberListFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/GroupMemberListFormDTO.java @@ -26,4 +26,9 @@ public class GroupMemberListFormDTO implements Serializable { private Integer pageSize=20; + /** + * 从token中获取的用户ID + */ + @NotBlank(message = "用户id不能为空") + private String userId; } diff --git a/epmet-module/resi-group/resi-group-server/Dockerfile b/epmet-module/resi-group/resi-group-server/Dockerfile index f349a97319..b4a767cfc8 100644 --- a/epmet-module/resi-group/resi-group-server/Dockerfile +++ b/epmet-module/resi-group/resi-group-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8095 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/docker-compose.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/resi-group/resi-group-server/docker-compose.yml rename to epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml index 479cc485a8..f45a475f69 100644 --- a/epmet-module/resi-group/resi-group-server/docker-compose.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/resi-group-server:0.3.16 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.18 ports: - "8095:8095" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..c094af1ae4 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + resi-group-server: + container_name: resi-group-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-group-server:0.3.18 + ports: + - "8095:8095" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index b22be3af4e..8f24985c42 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.16 + 0.3.18 com.epmet resi-group @@ -109,7 +109,7 @@ - dev-local + dev true @@ -124,12 +124,12 @@ epmet_resi_group_user EpmEt-db-UsEr - 1 + 0 192.168.1.130 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -139,13 +139,13 @@ - dev - 8095 - dev + test @@ -154,7 +154,7 @@ epmet elink@833066 - 1 + 0 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com 6379 EpmEtrEdIs!q@w @@ -168,35 +168,5 @@ - - test - - - 8095 - test - - - - - - epmet - elink@833066 - - 1 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java index 1364dcbba8..cf50b0b4b3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java @@ -60,7 +60,8 @@ public class GroupInvitationController { @RequestBody CreateGroupInvitationFormDTO formDTO) { formDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(formDTO); - return groupInvitationService.createGroupInvitation(formDTO); + CreateGroupInvitationResultDTO createGroupInvitationResultDTO=groupInvitationService.createGroupInvitation(formDTO); + return new Result().ok(createGroupInvitationResultDTO); } /** @@ -75,7 +76,8 @@ public class GroupInvitationController { @RequestBody LinkGroupInfoFormDTO formDTO) { formDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(formDTO); - return groupInvitationService.getLinkGroupInfo(formDTO); + LinkGroupInfoResultDTO linkGroupInfoResultDTO=groupInvitationService.getLinkGroupInfo(formDTO); + return new Result().ok(linkGroupInfoResultDTO); } /** @@ -92,6 +94,7 @@ public class GroupInvitationController { formDTO.setUserId(tokenDto.getUserId()); formDTO.setApp(tokenDto.getApp()); ValidatorUtils.validateEntity(formDTO); - return groupInvitationService.accetInvitation(formDTO); + groupInvitationService.accetInvitation(formDTO); + return new Result(); } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java index adc45ff5b2..053c4e036e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java @@ -106,7 +106,7 @@ public interface GroupInvitationService extends BaseService createGroupInvitation(CreateGroupInvitationFormDTO formDTO); + CreateGroupInvitationResultDTO createGroupInvitation(CreateGroupInvitationFormDTO formDTO); /** * @return com.epmet.commons.tools.utils.Result @@ -115,7 +115,7 @@ public interface GroupInvitationService extends BaseService getLinkGroupInfo(LinkGroupInfoFormDTO formDTO); + LinkGroupInfoResultDTO getLinkGroupInfo(LinkGroupInfoFormDTO formDTO); /** * @return com.epmet.commons.tools.utils.Result @@ -124,5 +124,5 @@ public interface GroupInvitationService extends BaseService createGroupInvitation(CreateGroupInvitationFormDTO formDTO) { + public CreateGroupInvitationResultDTO createGroupInvitation(CreateGroupInvitationFormDTO formDTO) { //1、只有群主可以邀请新成员(这块界面限制死了,只有群主才能看到邀请新成员按钮) //2、审核通过(讨论中)的群才可以分享邀请连接 ResiGroupDTO resiGroupDTO = resiGroupService.get(formDTO.getGroupId()); @@ -181,7 +178,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl().ok(resultDTO); + return resultDTO; } /** @@ -192,13 +189,9 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl getLinkGroupInfo(LinkGroupInfoFormDTO formDTO) { + public LinkGroupInfoResultDTO getLinkGroupInfo(LinkGroupInfoFormDTO formDTO) { //0、校验是否存在该邀请连接(判断是会否被删除连接、是否失效、群状态) - Result validResult = this.checkLinkValid(formDTO.getInvitationId()); - if (!validResult.success()) { - return new Result().error(validResult.getCode(), validResult.getMsg()); - } - GroupInvitationDTO groupInvitationDTO=validResult.getData(); + GroupInvitationDTO groupInvitationDTO=this.checkLinkValid(formDTO.getInvitationId()); LinkGroupInfoResultDTO linkGroupInfoResultDTO = new LinkGroupInfoResultDTO(); //1、查询是否在群内 ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectGroupMemberInfo(groupInvitationDTO.getResiGroupId(), formDTO.getUserId()); @@ -214,12 +207,12 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl().ok(linkGroupInfoResultDTO); + return linkGroupInfoResultDTO; } /** @@ -240,9 +233,9 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl checkLinkValid(String invitationId) { + private GroupInvitationDTO checkLinkValid(String invitationId) { //校验是否存在该邀请连接 GroupInvitationDTO groupInvitationDTO = this.get(invitationId); //Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false; if (null == groupInvitationDTO) { - return new Result().error(EpmetErrorCode.LOSE_EFFICACY.getCode(), EpmetErrorCode.LOSE_EFFICACY.getMsg()); + logger.error(String.format("根据链接【%s】查看群邀请信息异常,错误码:%s,错误提示:%s",invitationId,EpmetErrorCode.LOSE_EFFICACY.getCode(), EpmetErrorCode.LOSE_EFFICACY.getMsg())); + throw new RenException(EpmetErrorCode.LOSE_EFFICACY.getCode()); } if (null != groupInvitationDTO && !groupInvitationDTO.getValidEndTime().after(new Date())) { - return new Result().error(EpmetErrorCode.LOSE_EFFICACY.getCode(), EpmetErrorCode.LOSE_EFFICACY.getMsg()); + logger.error(String.format("根据链接【%s】查看群邀请信息异常,错误码:%s,错误提示:%s",invitationId,EpmetErrorCode.LOSE_EFFICACY.getCode(), EpmetErrorCode.LOSE_EFFICACY.getMsg())); + throw new RenException(EpmetErrorCode.LOSE_EFFICACY.getCode()); } - ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(groupInvitationDTO.getResiGroupId()); + /*ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(groupInvitationDTO.getResiGroupId()); if (null == resiGroupEntity) { logger.info("组不存在"); //TODO @@ -290,8 +285,8 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl().ok(groupInvitationDTO); + }*/ + return groupInvitationDTO; } /** @@ -302,13 +297,9 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl validResult = this.checkLinkValid(formDTO.getInvitationId()); - if (!validResult.success()) { - return new Result().error(validResult.getCode(), validResult.getMsg()); - } - GroupInvitationDTO groupInvitationDTO=validResult.getData(); + GroupInvitationDTO groupInvitationDTO=this.checkLinkValid(formDTO.getInvitationId()); //2、校验是否已经注册居民 ResiGroupDTO resiGroupDTO = resiGroupService.get(groupInvitationDTO.getResiGroupId()); UserRoleDTO userRoleDTO=new UserRoleDTO(); @@ -319,7 +310,8 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl> getGroupMemberList(@LoginUser TokenDto tokenDto, @RequestBody GroupMemberListFormDTO groupMemberListFormDTO) { + groupMemberListFormDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(groupMemberListFormDTO); - return resiGroupMemberService.getGroupMemberList(groupMemberListFormDTO); + List list=resiGroupMemberService.getGroupMemberList(groupMemberListFormDTO); + return new Result>().ok(list); } /** @@ -88,9 +91,11 @@ public class ResiGroupMemberController { **/ @PostMapping("getapplyingmember") public Result> getApplyingMember(@LoginUser TokenDto tokenDto, - @RequestBody ApplyingMemberFormDTO applyingMemberFormDTO) { + @RequestBody ApplyingMemberFormDTO applyingMemberFormDTO) { + applyingMemberFormDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(applyingMemberFormDTO); - return resiGroupMemberService.getApplyingMember(applyingMemberFormDTO); + List list = resiGroupMemberService.getApplyingMember(applyingMemberFormDTO); + return new Result>().ok(list); } /** @@ -107,7 +112,8 @@ public class ResiGroupMemberController { agreeApplyFormDTO.setUserId(tokenDto.getUserId()); agreeApplyFormDTO.setApp(tokenDto.getApp()); ValidatorUtils.validateEntity(agreeApplyFormDTO); - return resiGroupMemberService.agreeApply(agreeApplyFormDTO); + resiGroupMemberService.agreeApply(agreeApplyFormDTO); + return new Result(); } /** @@ -123,7 +129,8 @@ public class ResiGroupMemberController { @RequestBody DisagreeApplyFormDTO disagreeApplyFormDTO) { disagreeApplyFormDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(disagreeApplyFormDTO); - return resiGroupMemberService.disAgreeApply(disagreeApplyFormDTO); + resiGroupMemberService.disAgreeApply(disagreeApplyFormDTO); + return new Result(); } /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java index e0f9e4420e..0fea515cc6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java @@ -114,16 +114,16 @@ public interface ResiGroupMemberService extends BaseService> getGroupMemberList(GroupMemberListFormDTO groupMemberListFormDTO); + List getGroupMemberList(GroupMemberListFormDTO groupMemberListFormDTO); /** * @return com.epmet.commons.tools.utils.Result> @@ -132,7 +132,7 @@ public interface ResiGroupMemberService extends BaseService> getApplyingMember(ApplyingMemberFormDTO applyingMemberFormDTO); + List getApplyingMember(ApplyingMemberFormDTO applyingMemberFormDTO); /** * @param agreeApplyFormDTO @@ -141,7 +141,7 @@ public interface ResiGroupMemberService extends BaseService> getGroupMemberList(GroupMemberListFormDTO groupMemberListFormDTO) { + public List getGroupMemberList(GroupMemberListFormDTO groupMemberListFormDTO) { int pageIndex = (groupMemberListFormDTO.getPageNo() - NumConstant.ONE) * groupMemberListFormDTO.getPageSize(); groupMemberListFormDTO.setPageNo(pageIndex); List list = baseDao.selectListGroupMember(groupMemberListFormDTO); @@ -258,9 +259,11 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl>().ok(list); + return list; } /** @@ -271,7 +274,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl> getApplyingMember(ApplyingMemberFormDTO applyingMemberFormDTO) { + public List getApplyingMember(ApplyingMemberFormDTO applyingMemberFormDTO) { int pageIndex = (applyingMemberFormDTO.getPageNo() - NumConstant.ONE) * applyingMemberFormDTO.getPageSize(); applyingMemberFormDTO.setPageNo(pageIndex); List list = baseDao.selectListApplyingMember(applyingMemberFormDTO); @@ -293,10 +296,12 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl>().ok(list); + return list; } /** @@ -307,17 +312,17 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl 4.0.0 - 0.3.4 + 0.3.6 com.epmet resi-guide @@ -108,7 +108,7 @@ - dev-local + dev true @@ -128,7 +128,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -138,13 +138,13 @@ - dev - 8091 - dev + test @@ -167,35 +167,5 @@ - - test - - - 8091 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/resi-hall/resi-hall-server/Dockerfile b/epmet-module/resi-hall/resi-hall-server/Dockerfile index a799989bd3..59cacab9be 100644 --- a/epmet-module/resi-hall/resi-hall-server/Dockerfile +++ b/epmet-module/resi-hall/resi-hall-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8100 -ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/docker-compose.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/resi-hall/resi-hall-server/docker-compose.yml rename to epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml index 27f5503f0b..befeeecbad 100644 --- a/epmet-module/resi-hall/resi-hall-server/docker-compose.yml +++ b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: resi-hall-server: container_name: resi-hall-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/resi-hall-server:0.3.0 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-hall-server:0.3.2 ports: - "8100:8100" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..d202cbe37e --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + resi-hall-server: + container_name: resi-hall-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-hall-server:0.3.1 + ports: + - "8100:8100" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index 4c3d9cdefc..132ecfa98c 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - 0.3.0 + 0.3.2 resi-hall com.epmet @@ -45,6 +45,12 @@ feign-httpclient 10.3.0 + + com.epmet + gov-issue-client + 2.0.0 + compile + @@ -72,7 +78,7 @@ - dev-local + dev true @@ -86,7 +92,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -96,13 +102,13 @@ - dev + test 8100 - dev + test 0 @@ -119,29 +125,5 @@ - - test - - - 8100 - test - - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index 4ae0a0952e..cd5191d7ba 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -161,6 +161,17 @@ public class IssueController { return new Result>().ok(issueService.projectEvaluationList(formDTO)); } + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("shiftproject") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) + public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO formDTO){ + return new Result>().ok(issueService.getShiftProjectList(formDTO)); + } + /** * @Description 获取表决中议题列表 * @param issueListFormDTO diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index e65812e3a4..2c7a8cb9b4 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -18,8 +18,8 @@ import java.util.List; * @dscription * @date 2020/5/11 10:32 */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class,url = "localhost:8087") -//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) +//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class,url = "localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) public interface EpmetUserFeignClient { /** diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index 0ac6037189..b4903c1d10 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -1,8 +1,6 @@ package com.epmet.feign; -import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -78,6 +76,16 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist") Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO); + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + @PostMapping("/gov/issue/issue/shiftprojectlist") + Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO); + /** * @Description 获取表决中议题列表 * @param issueListFormDTO diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index b7d6b4f6dc..84634ff843 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -1,7 +1,6 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; @@ -53,6 +52,11 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO); } + @Override + public Result> getShiftProjectList(ShiftProjectListFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectList", fromDTO); + } + @Override public Result> votingList(CommonIssueListFormDTO issueListFormDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "votingList", issueListFormDTO); diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java index 7127ec9eee..156c51e375 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java @@ -95,4 +95,13 @@ public interface IssueService { */ List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/14 14:11 + * @param formDTO + * @return java.util.List + */ + List getShiftProjectList(ShiftProjectListFromDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index e2baa08fd5..51fcfe5d68 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -39,8 +39,8 @@ public class IssueServiceImpl implements IssueService { private GovProjectFeignClient govProjectFeignClient; /** - * @Description 议题详情 * @param issueDetail + * @Description 议题详情 * @author zxc * @date 2020/5/11 10:04 */ @@ -50,18 +50,18 @@ public class IssueServiceImpl implements IssueService { //议题信息 Result issueResultDTOResult = govIssueFeignClient.detail(issueDetail); IssueResultDTO issueResult = issueResultDTOResult.getData(); - if (issueResult==null){ + if (issueResult == null) { return issueDetailResult; } - BeanUtils.copyProperties(issueResult,issueDetailResult); + BeanUtils.copyProperties(issueResult, issueDetailResult); //话题发起人 IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); initiatorFormDTO.setUserId(issueResult.getUserId()); if (!StringUtils.isBlank(issueResult.getUserId())) { IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); - if (initiatorResult==null){ + if (initiatorResult == null) { issueDetailResult.setIssueInitiator(""); - }else { + } else { issueDetailResult.setIssueInitiator(initiatorResult.getIssueInitiator()); } } @@ -70,9 +70,9 @@ public class IssueServiceImpl implements IssueService { belongGridName.setGridId(issueResult.getGridId()); if (!StringUtils.isBlank(issueResult.getGridId())) { BelongGridNameResultDTO belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName).getData(); - if (belongGridNameResult==null){ + if (belongGridNameResult == null) { issueDetailResult.setBelongsGridName(""); - }else { + } else { issueDetailResult.setBelongsGridName(belongGridNameResult.getBelongsGridName()); } } @@ -81,9 +81,9 @@ public class IssueServiceImpl implements IssueService { topicInfoFormDTO.setTopicId(issueResult.getTopicId()); if (!StringUtils.isBlank(issueResult.getTopicId())) { TopicInfoDTO topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData(); - if (topicInfoDTOResult==null){ + if (topicInfoDTOResult == null) { issueDetailResult.setTopicInfo(new TopicInfoDTO()); - }else { + } else { issueDetailResult.setTopicInfo(topicInfoDTOResult); } } @@ -91,8 +91,8 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 议题表决折线图 * @param issueId + * @Description 议题表决折线图 * @author zxc * @date 2020/5/12 8:49 */ @@ -103,12 +103,12 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 支持议题 * @param issueId + * @Description 支持议题 * @author zxc */ @Override - public void support(TokenDto tokenDto,IssueIdFormDTO issueId) { + public void support(TokenDto tokenDto, IssueIdFormDTO issueId) { VoteFormDTO voteFormDTO = new VoteFormDTO(); voteFormDTO.setAttitude("support"); voteFormDTO.setCreatedBy(tokenDto.getUserId()); @@ -117,12 +117,12 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 反对议题 * @param issueId + * @Description 反对议题 * @author zxc */ @Override - public void oppose(TokenDto tokenDto,IssueIdFormDTO issueId) { + public void oppose(TokenDto tokenDto, IssueIdFormDTO issueId) { VoteFormDTO voteFormDTO = new VoteFormDTO(); voteFormDTO.setAttitude("opposition"); voteFormDTO.setCreatedBy(tokenDto.getUserId()); @@ -131,8 +131,8 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 表决中议题详情——支持、反对数 * @param issueId + * @Description 表决中议题详情——支持、反对数 * @author zxc */ @Override @@ -142,9 +142,9 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId + * @Description 满意度评价初始化——已关闭 * @author zxc */ @Override @@ -157,9 +157,9 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价初始化——已转项目 * @param tokenDto * @param projectId + * @Description 满意度评价初始化——已转项目 * @author zxc */ @Override @@ -172,19 +172,19 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 提交满意度评价——已关闭 * @param evaluateFormDTO + * @Description 提交满意度评价——已关闭 * @author zxc */ @Override - public void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO) { + public void evaluate(TokenDto tokenDto, EvaluateFormDTO evaluateFormDTO) { evaluateFormDTO.setUserId(tokenDto.getUserId()); govIssueFeignClient.evaluate(evaluateFormDTO); } /** - * @Description 提交满意度评价——已转项目 * @param projectEvaluateFormDTO + * @Description 提交满意度评价——已转项目 * @author zxc */ @Override @@ -194,15 +194,15 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价列表——已关闭 * @param formDTO + * @Description 满意度评价列表——已关闭 * @author zxc */ @Override public List evaluationList(EvaluationListFormDTO formDTO) { Result> listResult = govIssueFeignClient.evaluationList(formDTO); List data = listResult.getData(); - if (data.size()==NumConstant.ZERO||data==null){ + if (data.size() == NumConstant.ZERO || data == null) { return new ArrayList<>(); } //获取头像和昵称 eg:山东路168号-周先生 @@ -224,14 +224,14 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价列表——已转项目 * @param formDTO + * @Description 满意度评价列表——已转项目 * @author zxc */ @Override public List projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { List listResult = govProjectFeignClient.projectEvaluationList(formDTO).getData(); - if (listResult.size()==NumConstant.ZERO||listResult.equals(null)){ + if (listResult.size() == NumConstant.ZERO || listResult.equals(null)) { return new ArrayList<>(); } //获取头像和昵称 eg:山东路168号-周先生 @@ -251,4 +251,13 @@ public class IssueServiceImpl implements IssueService { })).collect(Collectors.toList()); return resultList; } + + @Override + public List getShiftProjectList(ShiftProjectListFromDTO formDTO) { + List resultList = govIssueFeignClient.getShiftProjectList(formDTO).getData(); + if (null == resultList || resultList.size() == NumConstant.ZERO) { + return new ArrayList<>(); + } + return resultList; + } } diff --git a/epmet-module/resi-mine/resi-mine-server/Dockerfile b/epmet-module/resi-mine/resi-mine-server/Dockerfile index e1bde0a979..1278acc61a 100644 --- a/epmet-module/resi-mine/resi-mine-server/Dockerfile +++ b/epmet-module/resi-mine/resi-mine-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8094 -ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-mine/resi-mine-server/docker-compose.yml b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/resi-mine/resi-mine-server/docker-compose.yml rename to epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml index aa8bb80ca1..9d9246e7d1 100644 --- a/epmet-module/resi-mine/resi-mine-server/docker-compose.yml +++ b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: resi-mine-server: container_name: resi-mine-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/resi-mine-server:0.3.7 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:0.3.10 ports: - "8094:8094" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..683470a329 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + resi-mine-server: + container_name: resi-mine-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-mine-server:0.3.9 + ports: + - "8094:8094" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index 838b8c2c4f..c366ff0dae 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.7 + 0.3.10 com.epmet resi-mine @@ -110,7 +110,7 @@ - dev-local + dev true @@ -130,7 +130,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -140,13 +140,13 @@ - dev + test 8094 - dev + test @@ -169,35 +169,5 @@ - - test - - - 8094 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 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/aspect/RequestLogAspect.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java index 9a1d262509..bb6bcc34ae 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java @@ -34,7 +34,8 @@ public class ResiMineGridController { **/ @GetMapping("getlatestgridinfo") public Result getLatestGridInfo(@LoginUser TokenDto tokenDto){ - return resiMineGridService.getLatestGridInfo(tokenDto); + LatestGridInfoResultDTO latestGridInfoResultDTO=resiMineGridService.getLatestGridInfo(tokenDto); + return new Result().ok(latestGridInfoResultDTO); } /** diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/ResiMineGridService.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/ResiMineGridService.java index 73a98ad7a4..f4f398306c 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/ResiMineGridService.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/ResiMineGridService.java @@ -20,7 +20,7 @@ public interface ResiMineGridService { * @param tokenDto * @return com.epmet.commons.tools.utils.Result */ - Result getLatestGridInfo(TokenDto tokenDto); + LatestGridInfoResultDTO getLatestGridInfo(TokenDto tokenDto); /** * @return diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java index 2207f5c491..61f9e675b3 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.modules.grid.service.impl; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -41,16 +42,21 @@ public class ResiMineGridServiceImpl implements ResiMineGridService { * @Date 2020/3/24 11:11 **/ @Override - public Result getLatestGridInfo(TokenDto tokenDto) { + public LatestGridInfoResultDTO getLatestGridInfo(TokenDto tokenDto) { if (null == tokenDto || StringUtils.isBlank(tokenDto.getUserId())) { - logger.error(ModuleConstant.USER_NOT_NULL); + logger.error(String.format("居民端【%s】获取用户最近访问的网格失败:错误提示:%s",tokenDto.getUserId(),ModuleConstant.USER_NOT_NULL)); throw new RenException(ModuleConstant.USER_NOT_NULL); } if(!AppClientConstant.APP_RESI.equals(tokenDto.getApp())){ - logger.error(ModuleConstant.FOR_RESI_CALL); + logger.error(String.format("居民端【%s】获取用户最近访问的网格失败,错误提示:%s",tokenDto.getUserId(),ModuleConstant.FOR_RESI_CALL)); throw new RenException(ModuleConstant.FOR_RESI_CALL); } - return epmetUserFeignClient.getLatestGridInfoByUserId(tokenDto.getUserId()); + Result userResult=epmetUserFeignClient.getLatestGridInfoByUserId(tokenDto.getUserId()); + if(userResult.success()&&null!=userResult.getData()){ + return userResult.getData(); + } + logger.error(String.format("居民端用户【%s】获取用户最近访问网格失败,调用%s服务入参userId:%s,错误码:%s,错误提示:%s", tokenDto.getUserId(),ServiceConstant.EPMET_USER_SERVER,tokenDto.getUserId(),userResult.getCode(),userResult.getMsg())); + return null; } /** diff --git a/epmet-module/resi-partymember/resi-partymember-server/Dockerfile b/epmet-module/resi-partymember/resi-partymember-server/Dockerfile index 321b1bffb1..98190f2cd2 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/Dockerfile +++ b/epmet-module/resi-partymember/resi-partymember-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8096 -ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/docker-compose.yml b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml similarity index 62% rename from epmet-module/resi-partymember/resi-partymember-server/docker-compose.yml rename to epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml index 1761a56387..51f180e0d3 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/docker-compose.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: resi-partymember-server: container_name: resi-partymember-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/resi-partymember-server:0.3.17 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:0.3.19 ports: - "8096:8096" network_mode: host # 使用现有网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..7cb52e45d7 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + resi-partymember-server: + container_name: resi-partymember-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-partymember-server:0.3.19 + ports: + - "8096:8096" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index 88d6a9cee4..0c076571b1 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.17 + 0.3.19 com.epmet resi-partymember @@ -120,7 +120,7 @@ - dev-local + dev true @@ -140,7 +140,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -150,13 +150,13 @@ - dev + test 8096 - dev + test @@ -179,35 +179,5 @@ - - test - - - 8096 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-user/epmet-user-server/Dockerfile b/epmet-user/epmet-user-server/Dockerfile index e55cc4a531..2495f36a46 100644 --- a/epmet-user/epmet-user-server/Dockerfile +++ b/epmet-user/epmet-user-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar EXPOSE 8087 -ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-user/epmet-user-server/docker-compose.yml b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml similarity index 63% rename from epmet-user/epmet-user-server/docker-compose.yml rename to epmet-user/epmet-user-server/deploy/docker-compose-dev.yml index 0bb7fd6a21..6f9f48020d 100644 --- a/epmet-user/epmet-user-server/docker-compose.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml @@ -2,12 +2,14 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-dev - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-user-server:0.3.25 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.28 ports: - "8087:8087" network_mode: host # 不会创建新的网络 volumes: - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" deploy: resources: limits: diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..68fc10a166 --- /dev/null +++ b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml @@ -0,0 +1,17 @@ +version: "3.7" +services: + epmet-user-server: + container_name: epmet-user-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-user-server:0.3.28 + ports: + - "8087:8087" + network_mode: host # 不会创建新的网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index b4cfaa0275..db9737f45c 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.25 + 0.3.28 com.epmet epmet-user @@ -105,7 +105,7 @@ - dev-local + dev true @@ -125,7 +125,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b @@ -135,13 +135,13 @@ - dev - 8087 - dev + test @@ -164,35 +164,5 @@ - - test - - - 8087 - test - - - - - - epmet - elink@833066 - - 0 - 10.10.10.248 - 6379 - 123456 - - true - 122.152.200.70:8848 - fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b - - - false - - - diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..49581cf63c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +}