diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java index 00864276e1..61f7c117cb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java @@ -17,14 +17,13 @@ package com.epmet.dataaggre.entity.epmettduck; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 用户访问问卷记录表 * @@ -38,9 +37,10 @@ public class PrVistRecordEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; - /** - * - */ + /** + * + */ + @TableId(type = IdType.ID_WORKER_STR) private String id; /** @@ -58,9 +58,4 @@ public class PrVistRecordEntity extends BaseEpmetEntity { */ private String userType; - /** - * 项目key - */ - private String projectKey; - } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java index 691e4cdc95..e505cf6995 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java @@ -101,4 +101,10 @@ public interface PrVistRecordService extends BaseService { * @Date 2021/9/23 14:16 */ PrVistRecordDTO getNewestRecord(String staffId); -} \ No newline at end of file + + /** + * desc:插入或更新记录 + * @param param + */ + void insertOrUpdate(PrVistRecordDTO param); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java index 04d4c7425e..a958594b83 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java @@ -254,39 +254,16 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl insertPrVistRecord(TDuckListFormDTO formDTO) { - return Executors.newCachedThreadPool().submit(()->{ - log.info("insertPrVistRecord start ========="); - PrVistRecordDTO param = new PrVistRecordDTO(); - param.setCustomerId(formDTO.getCustomerId()); - param.setUserId(formDTO.getUserId()); - param.setUserType(formDTO.getOrgType()); - param.setProjectKey(formDTO.getClient()); - PrVistRecordDTO newestRecord = prVistRecordService.getNewestRecord(formDTO.getUserId()); - PrVistRecordEntity entity = ConvertUtils.sourceToTarget(PrVistRecordDTO.class, PrVistRecordEntity.class); - if (newestRecord == null) { - prVistRecordService.insert(entity); - } else { - entity = new PrVistRecordEntity(); - entity.setId(newestRecord.getId()); - prVistRecordService.updateById(entity); - } - log.info("insertPrVistRecord end ========="); - }); - } - /** * @Description orgIds拼接 * @Param pids @@ -827,7 +804,7 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl 0) { + if (list.get(0).getCreatedTime().compareTo(visitRecord.getUpdatedTime()) > 0) { result.setRedPoint(NumConstant.ONE_STR); } else { result.setRedPoint(NumConstant.ZERO_STR); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java index fbc0034277..7c25410b56 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java @@ -115,12 +115,33 @@ public class PrVistRecordServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PrVistRecordEntity::getUserId, staffId); - wrapper.orderByDesc(PrVistRecordEntity::getCreatedTime); + wrapper.orderByDesc(PrVistRecordEntity::getUpdatedTime); + wrapper.last("limit 1"); List list = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(list)) { return null; } - return ConvertUtils.sourceToTarget(list, PrVistRecordDTO.class).get(0); + return ConvertUtils.sourceToTarget(list.get(0), PrVistRecordDTO.class); } -} \ No newline at end of file + @Override + public void insertOrUpdate(PrVistRecordDTO param) { + //Executors.newCachedThreadPool().submit(()-> { + try { + + PrVistRecordDTO newestRecord = this.getNewestRecord(param.getUserId()); + if (newestRecord == null) { + PrVistRecordEntity entity = ConvertUtils.sourceToTarget(param, PrVistRecordEntity.class); + this.insert(entity); + } else { + PrVistRecordEntity entity = new PrVistRecordEntity(); + entity.setId(newestRecord.getId()); + this.updateById(entity); + } + } catch (Exception e) { + log.error("insertPrVistRecord excption", e); + } + //}); + } + +}