|
|
@ -20,13 +20,19 @@ package com.epmet.service.impl; |
|
|
|
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.page.PageData; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.dao.GridVisitedDao; |
|
|
|
import com.epmet.dto.CustomerGridDTO; |
|
|
|
import com.epmet.dto.GridVisitedDTO; |
|
|
|
import com.epmet.dto.form.GovOrgFormDTO; |
|
|
|
import com.epmet.dto.form.VisitedFormDTO; |
|
|
|
import com.epmet.entity.GridVisitedEntity; |
|
|
|
import com.epmet.feign.GovOrgFeignClient; |
|
|
|
import com.epmet.redis.GridVisitedRedis; |
|
|
|
import com.epmet.service.GridLatestService; |
|
|
|
import com.epmet.service.GridVisitedService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
@ -34,6 +40,7 @@ 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; |
|
|
|
|
|
|
@ -48,6 +55,10 @@ public class GridVisitedServiceImpl extends BaseServiceImpl<GridVisitedDao, Grid |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private GridVisitedRedis gridVisitedRedis; |
|
|
|
@Autowired |
|
|
|
private GovOrgFeignClient govOrgFeignClient; |
|
|
|
@Autowired |
|
|
|
private GridLatestService gridLatestService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<GridVisitedDTO> page(Map<String, Object> params) { |
|
|
@ -101,4 +112,44 @@ public class GridVisitedServiceImpl extends BaseServiceImpl<GridVisitedDao, Grid |
|
|
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void saveLatestAndVisited(VisitedFormDTO formDTO) throws Exception { |
|
|
|
//1:调用gov-org服务 查询客户网格表数据
|
|
|
|
GovOrgFormDTO dto = new GovOrgFormDTO(); |
|
|
|
dto.setGridId(formDTO.getGridId()); |
|
|
|
Result<CustomerGridDTO> result = govOrgFeignClient.getCustomerGridByGridId(dto); |
|
|
|
if(!result.success()){ |
|
|
|
throw new Exception("查询客户网格表数据失败!"); |
|
|
|
} |
|
|
|
CustomerGridDTO cu = result.getData(); |
|
|
|
|
|
|
|
//2:网格访问记录表新增数据
|
|
|
|
saveGridVisited(formDTO,cu); |
|
|
|
|
|
|
|
//3:最近访问网格表新增数据
|
|
|
|
gridLatestService.saveGridLatest(formDTO,cu); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public void saveGridVisited(VisitedFormDTO formDTO,CustomerGridDTO cu) { |
|
|
|
Date date = new Date(); |
|
|
|
GridVisitedDTO vi = new GridVisitedDTO(); |
|
|
|
vi.setIsRegister(0);//token中获取是否注册
|
|
|
|
vi.setCustomerId(cu.getCustomerId()); |
|
|
|
vi.setGridId(cu.getId()); |
|
|
|
vi.setCustomerUserId(formDTO.getUserId()); |
|
|
|
vi.setVisitTime(date); |
|
|
|
vi.setUpdatedTime(date); |
|
|
|
//查询是否存在历史数据(一个用户一天对一个网格只存在一条访问记录)
|
|
|
|
GridVisitedEntity dto = baseDao.getGridVisitedByIds(vi); |
|
|
|
GridVisitedEntity entity = ConvertUtils.sourceToTarget(dto, GridVisitedEntity.class); |
|
|
|
if(dto==null||dto.getId()==null){ |
|
|
|
insert(entity); |
|
|
|
}else{ |
|
|
|
entity.setUpdatedTime(date); |
|
|
|
updateById(entity); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |