diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index a83bba6689..f79dfc1fc0 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -140,7 +140,7 @@ public interface IssueVoteDetailDao extends BaseDao { * @author zxc * @date 2021/12/29 2:02 下午 */ - List statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId); + List statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId,@Param("status")Boolean status); /** * @Description 根据议题ID查询折线图一天的数据 diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java index d42489fb48..16734cfe0f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.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.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -339,12 +340,12 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl daysBetween = DateUtils.getDaysBetween(form.getStartDate(), form.getEndDate()); customerIds.forEach(customerId -> { daysBetween.forEach(dateId -> { - statisticVote(customerId,dateId); + statisticVote(customerId,yyyyMMddToLine(dateId)); }); }); }else { if (StringUtils.isBlank(form.getDateId())){ - form.setDateId(LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", "")); + form.setDateId(LocalDate.now().minusDays(NumConstant.ONE).toString()); } customerIds.forEach(customerId -> { statisticVote(customerId, form.getDateId()); @@ -352,6 +353,14 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId); + List dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, true); if (CollectionUtils.isNotEmpty(dayAdd)){ //累计 - List allDayAdd = issueVoteDetailDao.statisticVote(customerId, null); + List allDayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, false); dayAdd.forEach(d -> allDayAdd.stream().filter(a -> a.getIssueId().equals(d.getIssueId())).forEach(a -> { d.setOppositionCount(a.getOppositionCount()); d.setSupportCount(a.getSupportCount()); d.setTotalCount(a.getTotalCount()); })); List needInsert = ConvertUtils.sourceToTarget(dayAdd, IssueVoteStatisticalDailyEntity.class); - Integer delNum; - do { - delNum = baseDao.delHistoryData(customerId, dateId); - } while (delNum != null && delNum > NumConstant.ZERO); - List> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED); - partition.forEach(p -> { - baseDao.insertBatch(p); - }); + delAndInsert(needInsert,customerId,dateId); } } + @Transactional(rollbackFor = Exception.class) + public void delAndInsert(List needInsert,String customerId,String dateId){ + Integer delNum; + do { + delNum = baseDao.delHistoryData(customerId, dateId); + } while (delNum != null && delNum > NumConstant.ZERO); + List> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + baseDao.insertBatch(p); + }); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index def42fc563..7e3512afcc 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -186,10 +186,10 @@