From b74c5f7f92a764349c72abe35ab480d3a1aba746 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 3 Jul 2020 10:28:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=BD=91=E6=A0=BC=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E8=AE=B0=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/GridVisitedDao.java | 7 ++++- .../service/impl/GridVisitedServiceImpl.java | 28 ++++++++++++------- .../main/resources/mapper/GridVisitedDao.xml | 16 ++++++++++- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridVisitedDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridVisitedDao.java index efa4fb8189..4efb9ad241 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridVisitedDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridVisitedDao.java @@ -23,6 +23,9 @@ import com.epmet.dto.GridVisitedDTO; import com.epmet.entity.GridLatestEntity; import com.epmet.entity.GridVisitedEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 网格访问记录表 用户对网格访问的一个记录,只有在访问网格首页时才存储数据,一个用户一天对一个网格的访问只有一条记录 @@ -33,6 +36,8 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GridVisitedDao extends BaseDao { - GridVisitedDTO selectGridVisitedByGridIdAndUserId(GridVisitedDTO formDTO); + List selectGridVisitedByGridIdAndUserId(GridVisitedDTO formDTO); int updateByVisitedId(GridVisitedDTO dto); + void deleteBatch(@Param("ids") List ids); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java index 4faed63857..1b8f1aaa17 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridVisitedServiceImpl.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; @@ -42,10 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 网格访问记录表 用户对网格访问的一个记录,只有在访问网格首页时才存储数据,一个用户一天对一个网格的访问只有一条记录 @@ -165,16 +163,26 @@ public class GridVisitedServiceImpl extends BaseServiceImpl dto = baseDao.selectGridVisitedByGridIdAndUserId(gridVisitedDTO); GridVisitedEntity entity = null; - if (dto == null || dto.getId() == null) { + boolean result = false; + if(null == dto || dto.size() <= NumConstant.ZERO){ entity = ConvertUtils.sourceToTarget(gridVisitedDTO, GridVisitedEntity.class); return insert(entity); - } else { - dto.setUpdatedBy(visitedFormDTO.getUserId()); - dto.setUpdatedTime(date); - return BaseServiceImpl.retBool(gridVisitedDao.updateByVisitedId(dto)); + }else{ + dto.get(NumConstant.ZERO).setUpdatedBy(visitedFormDTO.getUserId()); + dto.get(NumConstant.ZERO).setUpdatedTime(date); + result = BaseServiceImpl.retBool(gridVisitedDao.updateByVisitedId(dto.get(NumConstant.ZERO))); + if(dto.size() > NumConstant.ONE){ + List ids = new LinkedList<>(); + dto.subList(NumConstant.ONE,dto.size()).forEach(obj -> { + ids.add(obj.getId()); + }); + baseDao.deleteBatch(ids); + } + } + return result; } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/GridVisitedDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/GridVisitedDao.xml index 8eb0c72a93..57d2470ebe 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/GridVisitedDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/GridVisitedDao.xml @@ -48,13 +48,27 @@ AND to_days(vi.visit_time) = to_days(#{visitTime}) + ORDER BY + vi.visit_time DESC UPDATE grid_visited - SET updated_by = #{updatedBy}, + SET + visit_time = #{updatedTime}, + updated_by = #{updatedBy}, updated_time = #{updatedTime} WHERE id = #{id} + + + UPDATE grid_visited + SET del_flag = '1', + updated_time = now() + WHERE + + ID = #{id} + + \ No newline at end of file