소스 검색

解决 统计图重复导致发生异常

DESKTOP-VAEGFGM\zqc 2 주 전
부모
커밋
35f0938d06

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/visits/MdeVisitsMapper.java

@@ -46,7 +46,7 @@ public interface MdeVisitsMapper extends BaseMapperX<MdeVisitsDO> {
 
     }
 
-    default MdeVisitsDO getMdeVisitsByUserIdAndTypeAndBizIdAndDate(Long userId, String type, Long bizId, LocalDateTime date) {
+    default List<MdeVisitsDO> getMdeVisitsByUserIdAndTypeAndBizIdAndDate(Long userId, String type, Long bizId, LocalDateTime date) {
         LambdaQueryWrapperX<MdeVisitsDO> wrapperX = new LambdaQueryWrapperX<MdeVisitsDO>()
                 .eqIfPresent(MdeVisitsDO::getType, type)
                 .eqIfPresent(MdeVisitsDO::getBizId, bizId)
@@ -54,6 +54,6 @@ public interface MdeVisitsMapper extends BaseMapperX<MdeVisitsDO> {
 
         wrapperX.eqIfPresent(MdeVisitsDO::getUserId, userId);
 
-        return selectOne(wrapperX);
+        return selectList(wrapperX);
     }
 }

+ 3 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/visits/MdeVisitsServiceImpl.java

@@ -87,9 +87,9 @@ public class MdeVisitsServiceImpl implements MdeVisitsService {
 
         Long userId = LoginUserContext.getUserId2();
 
-        MdeVisitsDO visitsDO = mdeVisitsMapper.
+        List<MdeVisitsDO> visitsDO = mdeVisitsMapper.
                 getMdeVisitsByUserIdAndTypeAndBizIdAndDate(null==userId?0L:userId, reqVO.getType(), reqVO.getBizId(), reqVO.getDate());
-        if (null == visitsDO) {
+        if (null == visitsDO ||visitsDO.isEmpty()) {
             // 新增
             MdeVisitsDO visits = new MdeVisitsDO();
             visits.setUserId(null==userId?0L:userId);
@@ -102,7 +102,7 @@ public class MdeVisitsServiceImpl implements MdeVisitsService {
         }
 
         // 增加访问量
-        visitsDO.setCount(visitsDO.getCount() + 1);
+        visitsDO.get(0).setCount(visitsDO.get(0).getCount() + 1);
         mdeVisitsMapper.updateById(visitsDO);
     }