diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml index 32cdbb8688..3661fc8c37 100644 --- a/epmet-admin/epmet-admin-server/pom.xml +++ b/epmet-admin/epmet-admin-server/pom.xml @@ -245,6 +245,9 @@ false + + false + true diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index 5d8ac8a789..5f67b41712 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -351,6 +351,9 @@ false + + false + wxcb6ce2ed0c5ae54c c7f74941ee97fa9b2e1065772d34c397 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/resolver/LoginUserHandlerMethodArgumentResolver.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/resolver/LoginUserHandlerMethodArgumentResolver.java index 5c725c2ec4..79ee2d538a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/resolver/LoginUserHandlerMethodArgumentResolver.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/resolver/LoginUserHandlerMethodArgumentResolver.java @@ -27,8 +27,14 @@ import org.springframework.core.MethodParameter; import org.springframework.stereotype.Service; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; +import org.springframework.web.servlet.HandlerMapping; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import java.util.Map; /** * 有@LoginUser注解的方法参数,注入当前登录用户 @@ -68,6 +74,12 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, NativeWebRequest request, WebDataBinderFactory factory) throws Exception { + + HttpServletRequest nativeReq = (HttpServletRequest) request.getNativeRequest(); + String requestURI = nativeReq.getRequestURI(); + + logger.info("【LoginUserHandlerMethodArgumentResolver】请求uri:{}", requestURI); + //app-client-userId String redisKey = request.getHeader(Constant.APP_USER_KEY); if (StringUtils.isEmpty(redisKey)) { diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index a4567dfc65..e09410668d 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -497,6 +497,10 @@ false + + + false + lb://epmet-auth-server diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index aaa119e446..a147811112 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -510,6 +510,8 @@ epmet: - /data/stats/basereport/** - /data/stats/governance/** - /third/private-epmet/push-component-access-token + - /data/stats/plugins/ofs/** + - /data/stats/plugins/workrecord/** # 对外开放接口认证白名单 diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index c9c6c26b1c..64f67470f9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -570,6 +570,9 @@ false + + false + true diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java index ea95c436a8..abb0f137f5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java @@ -167,7 +167,7 @@ public class EvaluationIndexServiceImpl implements EvaluationIndexService { //1.查询组织信息 ScreenCustomerAgencyDTO dto = evaluationIndexDao.getByAgencyId(agencyId); if (dto == null) { - log.error(String.format("组织信息不存在,组织Id->%s"), agencyId); + log.error(String.format("组织信息不存在,组织Id->%s", agencyId)); return new ScreenAgencyOrGridListDTO(); } //2.根据组织级别判断查询直属组织或网格列表 diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 185b224577..43c7bffcae 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -329,6 +329,9 @@ false + + false + true diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index dba76e743a..714dfa2c01 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -603,6 +603,8 @@ false + + false false diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java index af4ef095f6..e099b5f89d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -55,7 +55,7 @@ public interface ProjectConstant { /** * 统计数据执行失败日志前缀 */ - String STATS_FAILED_PREFIX = "统计数据执行失败:%s 客户ID:%s,统计日期:%s"; + String STATS_FAILED_PREFIX = "统计数据执行失败:%s 客户ID:%s,统计日期:%s,异常信息:%s"; /** * 自身 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index ca81ce0ba7..a25e563a07 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -50,6 +50,7 @@ import com.epmet.service.org.CustomerGridService; import com.epmet.service.stats.DimAgencyService; import com.epmet.service.stats.DimCustomerPartymemberService; import com.epmet.service.stats.DimCustomerService; +import com.epmet.util.DimIdGenerator; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -59,6 +60,8 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; @@ -695,10 +698,22 @@ public class DemoController { @PostMapping("governRankDaily") public Result governRankDaily(@RequestBody CustomerIdAndDateIdFormDTO formDTO){ - governRankDataExtractService.extractGridDataDaily(formDTO.getCustomerId(), formDTO.getDateId()); - governRankDataExtractService.extractCommunityDataDaily(formDTO.getCustomerId(), formDTO.getDateId()); - governRankDataExtractService.extractStreetDataDaily(formDTO.getCustomerId(), formDTO.getDateId()); - governRankDataExtractService.extractDistrictDataDaily(formDTO.getCustomerId(), formDTO.getDateId()); + List dateIds = new ArrayList<>(); + if ((StringUtils.isBlank(formDTO.getStartDate()) && StringUtils.isBlank(formDTO.getEndDate()))){ + if (StringUtils.isNotBlank(formDTO.getDateId())){ + dateIds.add(formDTO.getDateId()); + }else { + dateIds.add(DimIdGenerator.getDateDimId(DateUtils.addDateDays(new Date(), -1))); + } + }else { + dateIds = DateUtils.getDaysBetween(formDTO.getStartDate(), formDTO.getEndDate()); + } + dateIds.forEach(dateId -> { + governRankDataExtractService.extractGridDataDaily(formDTO.getCustomerId(), dateId); + governRankDataExtractService.extractCommunityDataDaily(formDTO.getCustomerId(), dateId); + governRankDataExtractService.extractStreetDataDaily(formDTO.getCustomerId(), dateId); + governRankDataExtractService.extractDistrictDataDaily(formDTO.getCustomerId(), dateId); + }); return new Result(); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java index dc082b44ca..bdc1999ff7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.ProjectConstant; @@ -29,7 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.Calendar; @@ -138,7 +138,7 @@ public class StatsUserServiceImpl implements StatsUserService { UserStatisticalData agencyData = userService.traverseAgencyUser(agencies, date, timeDimension); userStatisticalService.insertUniquely(agencyData); } catch (Exception e) { - log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, ModuleConstant.EXCEPTION_DING_INTERCEPTOR_PREFIX_AGENCY_USER_STATISTICAL, customerId, new Date().toString(), e.getMessage())); + log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, ModuleConstant.EXCEPTION_DING_INTERCEPTOR_PREFIX_AGENCY_USER_STATISTICAL, customerId, new Date().toString(), ExceptionUtils.getErrorStackTrace(e))); } //5.计算网格统计数据、生成唯一性统计数据 @@ -146,7 +146,7 @@ public class StatsUserServiceImpl implements StatsUserService { UserStatisticalData gridData = userService.traverseGridUser(agencies, date, timeDimension); userStatisticalService.insertUniquely(gridData); } catch (Exception e) { - log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, ModuleConstant.EXCEPTION_DING_INTERCEPTOR_PREFIX_GRID_USER_STATISTICAL, customerId, new Date().toString(), e.getMessage())); + log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, ModuleConstant.EXCEPTION_DING_INTERCEPTOR_PREFIX_GRID_USER_STATISTICAL, customerId, new Date().toString(), ExceptionUtils.getErrorStackTrace(e))); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java index 50b3ade54f..3e3c0c8b61 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/user/impl/UserStatisticalServiceImpl.java @@ -6,15 +6,17 @@ import com.epmet.dao.stats.user.*; import com.epmet.dto.stats.user.*; import com.epmet.dto.stats.user.result.UserStatisticalData; import com.epmet.service.stats.user.UserStatisticalService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; /** * @Description @@ -22,10 +24,10 @@ import java.util.List; * @Auth wangc * @Date 2020-06-23 14:27 */ +@Slf4j @Service public class UserStatisticalServiceImpl implements UserStatisticalService { - private static final Logger logger = LoggerFactory.getLogger(UserStatisticalServiceImpl.class); @Autowired private FactParticipationUserAgencyDailyDao participationUserAgencyDailyDao; @@ -51,104 +53,229 @@ public class UserStatisticalServiceImpl implements UserStatisticalService { @Autowired private FactRegUserGridMonthlyDao regUserGridMonthlyDao; + @Autowired + private ExecutorService executorService; + @Override - @Transactional(rollbackFor = Exception.class) public void insertUniquely(UserStatisticalData data) { - if (null == data) return ; + if (null == data) { + return; + } + long start = System.currentTimeMillis(); + if (StringUtils.isBlank(data.getDateId()) || StringUtils.isBlank(data.getMonthId())) { + log.error("缺失重要参数:dateId或monthId"); + return; + } + CountDownLatch countDownLatch = new CountDownLatch(8); + executorService.submit(() -> { + try { + insertParticipationUserAgencyDaily(data); + } catch (Exception e) { + log.error("insertParticipationUserAgencyDaily exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + executorService.submit(() -> { + try { + insertParticipationUserAgencyMonthly(data); + } catch (Exception e) { + log.error("insertParticipationUserAgencyMonthly exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + executorService.submit(() -> { + try { + insertParticipationUserGridMonthly(data); + } catch (Exception e) { + log.error("insertParticipationUserGridMonthly exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + executorService.submit(() -> { + try { + insertParticipationUserGridDaily(data); + } catch (Exception e) { + log.error("insertParticipationUserGridDaily exception", e); + } finally { + countDownLatch.countDown(); + } + }); - if(StringUtils.isBlank(data.getDateId()) || StringUtils.isBlank(data.getMonthId())){ - logger.warn("缺失重要参数:dateId或monthId"); - return ; + executorService.submit(() -> { + try { + insertRegUserAgencyDaily(data); + } catch (Exception e) { + log.error("insertRegUserAgencyDaily exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + executorService.submit(() -> { + try { + insertRegUserAgencyMonthly(data); + } catch (Exception e) { + log.error("insertRegUserAgencyMonthly exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + executorService.submit(() -> { + try { + insertRegUserGridDaily(data); + } catch (Exception e) { + log.error("insertRegUserGridDaily exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + executorService.submit(() -> { + try { + insertRegUserGridMonthly(data); + } catch (Exception e) { + log.error("insertRegUserGridMonthly exception", e); + } finally { + countDownLatch.countDown(); + } + }); + + + try { + countDownLatch.await(); + } catch (InterruptedException e) { + log.error("countDownLatch exception", e); } - if(null != data.getPartiAgencyDailyList() && data.getPartiAgencyDailyList().size() > NumConstant.ZERO){ + /* insertParticipationUserAgencyDaily(data); + insertParticipationUserAgencyMonthly(data); + insertParticipationUserGridMonthly(data); + insertParticipationUserGridDaily(data); + insertRegUserAgencyDaily(data); + insertRegUserAgencyMonthly(data); + insertRegUserGridDaily(data); + insertRegUserGridMonthly(data);*/ + + log.warn("执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-start, data.getCustomerId()); + } + + @Transactional(rollbackFor = Exception.class) + public void insertRegUserGridMonthly(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getRegGridMonthlyList())) { Integer delNum; do { - delNum = participationUserAgencyDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getPartiAgencyDailyList(), NumConstant.ONE_HUNDRED); + delNum = regUserGridMonthlyDao.deleteByParams(data.getMonthId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegGridMonthlyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - participationUserAgencyDailyDao.insertBatch(p); + regUserGridMonthlyDao.insertBatch(p); }); } + } - if(null != data.getPartiAgencyMonthlyList() && data.getPartiAgencyMonthlyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertRegUserGridDaily(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getRegGridDailyList())) { Integer delNum; do { - delNum = participationUserAgencyMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getPartiAgencyMonthlyList(), NumConstant.ONE_HUNDRED); + delNum = regUserGridDailyDao.deleteByParams(data.getDateId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegGridDailyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - participationUserAgencyMonthlyDao.insertBatch(p); + regUserGridDailyDao.insertBatch(p); }); } + } - if(null != data.getPartiGridMonthlyList() && data.getPartiGridMonthlyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertRegUserAgencyMonthly(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getRegAgencyMonthlyList())) { Integer delNum; do { - delNum = participationUserGridMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getPartiGridMonthlyList(), NumConstant.ONE_HUNDRED); + delNum = regUserAgencyMonthlyDao.deleteByParams(data.getMonthId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegAgencyMonthlyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - participationUserGridMonthlyDao.insertBatch(p); + regUserAgencyMonthlyDao.insertBatch(p); }); } + } - if(null != data.getPartiGridDailyList() && data.getPartiGridDailyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertRegUserAgencyDaily(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getRegAgencyDailyList())) { Integer delNum; do { - delNum = participationUserGridDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getPartiGridDailyList(), NumConstant.ONE_HUNDRED); + delNum = regUserAgencyDailyDao.deleteByParams(data.getDateId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getRegAgencyDailyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - participationUserGridDailyDao.insertBatch(p); + regUserAgencyDailyDao.insertBatch(p); }); } + } - if(null != data.getRegAgencyDailyList() && data.getRegAgencyDailyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertParticipationUserGridDaily(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getPartiGridDailyList())) { Integer delNum; do { - delNum = regUserAgencyDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getRegAgencyDailyList(), NumConstant.ONE_HUNDRED); + delNum = participationUserGridDailyDao.deleteByParams(data.getDateId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiGridDailyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - regUserAgencyDailyDao.insertBatch(p); + participationUserGridDailyDao.insertBatch(p); }); } + } - if(null != data.getRegAgencyMonthlyList() && data.getRegAgencyMonthlyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertParticipationUserGridMonthly(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getPartiGridMonthlyList())) { Integer delNum; do { - delNum = regUserAgencyMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getRegAgencyMonthlyList(), NumConstant.ONE_HUNDRED); + delNum = participationUserGridMonthlyDao.deleteByParams(data.getMonthId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiGridMonthlyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - regUserAgencyMonthlyDao.insertBatch(p); + participationUserGridMonthlyDao.insertBatch(p); }); } + } - if(null != data.getRegGridDailyList() && data.getRegGridDailyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertParticipationUserAgencyMonthly(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getPartiAgencyMonthlyList())) { Integer delNum; do { - delNum = regUserGridDailyDao.deleteByParams(data.getDateId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getRegGridDailyList(), NumConstant.ONE_HUNDRED); + delNum = participationUserAgencyMonthlyDao.deleteByParams(data.getMonthId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiAgencyMonthlyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - regUserGridDailyDao.insertBatch(p); + participationUserAgencyMonthlyDao.insertBatch(p); }); } + } - if(null != data.getRegGridMonthlyList() && data.getRegGridMonthlyList().size() > NumConstant.ZERO){ + @Transactional(rollbackFor = Exception.class) + public void insertParticipationUserAgencyDaily(UserStatisticalData data) { + if (CollectionUtils.isNotEmpty(data.getPartiAgencyDailyList())) { Integer delNum; do { - delNum = regUserGridMonthlyDao.deleteByParams(data.getMonthId(),data.getCustomerId()); - }while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); - List> partition = ListUtils.partition(data.getRegGridMonthlyList(), NumConstant.ONE_HUNDRED); + delNum = participationUserAgencyDailyDao.deleteByParams(data.getDateId(), data.getCustomerId()); + } while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND); + List> partition = ListUtils.partition(data.getPartiAgencyDailyList(), NumConstant.ONE_HUNDRED); partition.forEach(p -> { - regUserGridMonthlyDao.insertBatch(p); + participationUserAgencyDailyDao.insertBatch(p); }); } - } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java index c154ead20b..95c7c333ff 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java @@ -152,7 +152,7 @@ public class UserServiceImpl implements UserService { isParty.set(true); } }); - result.put(userId,isParty.get() == true ? NumConstant.ONE : NumConstant.ZERO); + result.put(userId, isParty.get() ? NumConstant.ONE : NumConstant.ZERO); }); } for (String userId : userIds) { @@ -932,8 +932,8 @@ public class UserServiceImpl implements UserService { } regGridD.setPartymemberProportion(regGridD.getRegTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)regGridD.getPartymemberTotal()/(float)regGridD.getRegTotal()))); regGridD.setWarmHeartedProportion(regGridD.getRegTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)regGridD.getWarmHeartedTotal()/(float)regGridD.getRegTotal()))); - partiGridD.setPartymemberProportion(partiGridD.getPartymemberTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)partiGridD.getPartymemberTotal()/(float)partiGridD.getRegTotal() ))); - partiGridD.setWarmHeartedProportion(partiGridD.getPartymemberTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)partiGridD.getWarmHeartedTotal()/(float)partiGridD.getRegTotal() ))); + partiGridD.setPartymemberProportion(partiGridD.getRegTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)partiGridD.getPartymemberTotal()/(float)partiGridD.getRegTotal() ))); + partiGridD.setWarmHeartedProportion(partiGridD.getRegTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float)partiGridD.getWarmHeartedTotal()/(float)partiGridD.getRegTotal() ))); regGridM.setPartymemberProportion(regGridD.getPartymemberProportion()); regGridM.setWarmHeartedProportion(regGridD.getWarmHeartedProportion()); partiGridM.setPartymemberProportion(partiGridD.getPartymemberProportion()); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenGovernRankDataDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenGovernRankDataDailyDao.xml index b738c0f217..88f2b71e92 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenGovernRankDataDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenGovernRankDataDailyDao.xml @@ -27,7 +27,7 @@ delete from screen_govern_rank_data_daily where CUSTOMER_ID = #{customerId} - AND DATE_ID <= #{dateId} + AND DATE_ID = #{dateId} and ORG_TYPE=#{orgType} @@ -91,4 +91,4 @@ - \ 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 09de8b0f25..b1218dbe2c 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml @@ -277,6 +277,8 @@ false + + false true 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 06a966a303..4e27c15d03 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -260,6 +260,8 @@ false + + false true diff --git a/epmet-module/epmet-ext/epmet-ext-server/pom.xml b/epmet-module/epmet-ext/epmet-ext-server/pom.xml index faf7cb0922..bebc41ab98 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/pom.xml +++ b/epmet-module/epmet-ext/epmet-ext-server/pom.xml @@ -339,6 +339,8 @@ false + + false true diff --git a/epmet-module/epmet-heart/epmet-heart-server/pom.xml b/epmet-module/epmet-heart/epmet-heart-server/pom.xml index ac1f514cec..b5b36b0ee1 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/pom.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/pom.xml @@ -263,7 +263,7 @@ false - true + false true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/epmet-job/epmet-job-server/pom.xml b/epmet-module/epmet-job/epmet-job-server/pom.xml index 1731ac910a..e29f5759e5 100644 --- a/epmet-module/epmet-job/epmet-job-server/pom.xml +++ b/epmet-module/epmet-job/epmet-job-server/pom.xml @@ -245,6 +245,9 @@ false + + false + true diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml index 97a801f969..e0cbb99af4 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml @@ -102,6 +102,7 @@ feign: config: default: loggerLevel: FULL + readTimeout: 600000 okhttp: enabled: true @@ -115,10 +116,10 @@ hystrix: execution: isolation: thread: - timeoutInMilliseconds: 90000 #缺省为1000 + timeoutInMilliseconds: 600000 #缺省为1000 ribbon: - ReadTimeout: 300000 + ReadTimeout: 600000 ConnectTimeout: 300000 dingTalk: diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 5c9768296a..87d40ea5fb 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -331,6 +331,9 @@ false + + false + true diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index 3a0f9cd454..e8b08e97cc 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -259,6 +259,8 @@ false + + false true diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml index 620bad9d41..1a4f6eb6f9 100644 --- a/epmet-module/epmet-point/epmet-point-server/pom.xml +++ b/epmet-module/epmet-point/epmet-point-server/pom.xml @@ -283,6 +283,8 @@ false + + false true diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index 6090c1a743..a885af4c93 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -319,6 +319,8 @@ false + + false true diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml index 299c03e7ac..28e033fa3b 100644 --- a/epmet-module/gov-access/gov-access-server/pom.xml +++ b/epmet-module/gov-access/gov-access-server/pom.xml @@ -238,6 +238,8 @@ false + + false true diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index c4c7c2146b..0e81d0360b 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-server/pom.xml @@ -218,6 +218,8 @@ false + + false true diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index f25c9fea6a..a28e3463a8 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -291,6 +291,8 @@ false + + false true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java index 5f05c984d5..adc4a8935b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueProjectTagDictRedis.java @@ -112,7 +112,7 @@ public class IssueProjectTagDictRedis { if (!CollectionUtils.isEmpty(_default)) { result.put(ModuleConstants.DEFAULT_TAG_CATEGORY_NAME, _default); } else { - log.error("there is no default tag data in database , customerId : {},category:{}", customerId, ifOtherOnly ? null : category); + log.warn("there is no default tag data in database , customerId : {},category:{}", customerId, ifOtherOnly ? null : category); } diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index 0f5266756d..b8206f3b95 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -232,6 +232,8 @@ false + + false diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index c0b1e136a9..2bc10abf21 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -293,6 +293,8 @@ false + + false true diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index ba501c15bf..f49d89d16a 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -286,6 +286,8 @@ false + + false true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index 3435fb2bfb..0403af0463 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -249,6 +249,8 @@ false + + false true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/oper-access/oper-access-server/pom.xml b/epmet-module/oper-access/oper-access-server/pom.xml index e4dd1d870a..147992b041 100644 --- a/epmet-module/oper-access/oper-access-server/pom.xml +++ b/epmet-module/oper-access/oper-access-server/pom.xml @@ -234,6 +234,8 @@ false + + false true diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index 7bf8e220de..c058e133cb 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -283,7 +283,7 @@ false - true + false true diff --git a/epmet-module/oper-customize/oper-customize-server/pom.xml b/epmet-module/oper-customize/oper-customize-server/pom.xml index c7e92b84ff..8c68930e9c 100644 --- a/epmet-module/oper-customize/oper-customize-server/pom.xml +++ b/epmet-module/oper-customize/oper-customize-server/pom.xml @@ -266,6 +266,8 @@ false + + false true diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index ed8dd00950..117e26696c 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -352,6 +352,10 @@ false + + + false + true diff --git a/epmet-module/resi-guide/resi-guide-server/pom.xml b/epmet-module/resi-guide/resi-guide-server/pom.xml index 4cf6f0f33f..94b83622e0 100644 --- a/epmet-module/resi-guide/resi-guide-server/pom.xml +++ b/epmet-module/resi-guide/resi-guide-server/pom.xml @@ -256,6 +256,9 @@ false + + false + true diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index a8083d10de..299e457a6d 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -201,6 +201,8 @@ false + + false true diff --git a/epmet-module/resi-home/resi-home-server/pom.xml b/epmet-module/resi-home/resi-home-server/pom.xml index 2991ddd0a7..23a2239cac 100644 --- a/epmet-module/resi-home/resi-home-server/pom.xml +++ b/epmet-module/resi-home/resi-home-server/pom.xml @@ -222,6 +222,10 @@ false + + + false + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index 3dc61e993e..9101e0841f 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -238,6 +238,10 @@ false + + + false + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index 0921d16762..f52ffd6714 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -265,6 +265,9 @@ false + + false + true diff --git a/epmet-module/resi-voice/resi-voice-server/pom.xml b/epmet-module/resi-voice/resi-voice-server/pom.xml index 04aa056d32..0fc30b2de3 100644 --- a/epmet-module/resi-voice/resi-voice-server/pom.xml +++ b/epmet-module/resi-voice/resi-voice-server/pom.xml @@ -203,6 +203,9 @@ false + + false + diff --git a/epmet-openapi/epmet-openapi-scan/pom.xml b/epmet-openapi/epmet-openapi-scan/pom.xml index f038ac9ec4..3c3f385f5e 100644 --- a/epmet-openapi/epmet-openapi-scan/pom.xml +++ b/epmet-openapi/epmet-openapi-scan/pom.xml @@ -204,6 +204,9 @@ false + + false + diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 281e8b3efe..79c3f816af 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -293,6 +293,9 @@ false + + false + true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java index 66a82f226a..53933da2ae 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java @@ -2,6 +2,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -62,6 +63,7 @@ public class StaffPatrolController { * @author zhaoqifeng * @date 2021/6/7 16:46 */ + @NoRepeatSubmit @PostMapping("startpatrol") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOT_GOVERN_PATROL) public Result startPatrol(@LoginUser TokenDto tokenDto, @RequestBody StartPatrolFormDTO formDTO) { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index acb101464e..0f4d76d821 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -152,6 +152,9 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl 1){ + logger.error("queryUserBaseInfoFromCache userId:{} exist more than one record",userId); + } UserBaseInfoResultDTO userBaseInfoResultDTO = userBaseInfoResultDTOS.get(0); logger.debug("getUserResiInfoDTO userId:{},result:{}", userId,JSON.toJSONString(userBaseInfoResultDTO)); return userBaseInfoResultDTO;