Browse Source

1.优化维度初始化

master
wxz 5 years ago
parent
commit
80ad274a44
  1. 95
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java
  2. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java
  3. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/LastExecRecordDao.java
  4. 28
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java
  5. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimAgencyService.java
  6. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimCustomerService.java
  7. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimDepartmentService.java
  8. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimGridService.java
  9. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimAgencyServiceImpl.java
  10. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimCustomerServiceImpl.java
  11. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimDepartmentServiceImpl.java
  12. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java
  13. 1
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml
  14. 4
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/LastExecRecordDao.xml

95
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java

@ -1,9 +1,12 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.service.StatsDimService; import com.epmet.service.StatsDimService;
import com.epmet.service.stats.*; import com.epmet.service.stats.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -16,6 +19,8 @@ import java.util.List;
@RequestMapping("dim") @RequestMapping("dim")
public class DimController { public class DimController {
Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
private DimDateService dimDateService; private DimDateService dimDateService;
@ -37,8 +42,82 @@ public class DimController {
@Autowired @Autowired
private DimAgencyService dimAgencyService; private DimAgencyService dimAgencyService;
/**
* 初始化所有维度
*
* @return
*/
@PostMapping("/all/init")
public Result initAll() {
try {
dimDateService.initDimDate();
logger.info("初始化按日维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化按日维度失败:%s", errorStackTrace));
}
try {
statsDimService.initGridDim();
logger.info("初始化网格维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化网格维度失败:%s", errorStackTrace));
}
try {
statsDimService.initAgencyDim();
logger.info("初始化机关维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化机关维度失败:%s", errorStackTrace));
}
try {
statsDimService.initCustomerDim();
logger.info("初始化客户维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化客户维度失败:%s", errorStackTrace));
}
try {
statsDimService.initDepartmentDim();
logger.info("初始化部门维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化部门维度失败:%s", errorStackTrace));
}
try {
dimMonthService.initMonthDim();
logger.info("初始化按月维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化按月维度失败:%s", errorStackTrace));
}
try {
quarterService.initQuarterDim();
logger.info("初始化季度维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化季度维度失败:%s", errorStackTrace));
}
try {
dimYearService.initYearDim();
logger.info("初始化年度维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化年度维度失败:%s", errorStackTrace));
}
try {
dimWeekService.initWeekDim();
logger.info("初始化按周维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化按周维度失败:%s", errorStackTrace));
}
return new Result();
}
/** /**
* 初始化按日维度 * 初始化按日维度
*
* @return * @return
*/ */
@PostMapping("/date/init") @PostMapping("/date/init")
@ -49,6 +128,7 @@ public class DimController {
/** /**
* 初始化网格维度 * 初始化网格维度
*
* @return * @return
*/ */
@PostMapping("/grid/init") @PostMapping("/grid/init")
@ -59,6 +139,7 @@ public class DimController {
/** /**
* 初始化机关单位维度 * 初始化机关单位维度
*
* @return * @return
*/ */
@PostMapping("/agency/init") @PostMapping("/agency/init")
@ -69,6 +150,7 @@ public class DimController {
/** /**
* 客户维度 * 客户维度
*
* @return * @return
*/ */
@PostMapping("/customer/init") @PostMapping("/customer/init")
@ -79,6 +161,7 @@ public class DimController {
/** /**
* 部门维度 * 部门维度
*
* @return * @return
*/ */
@PostMapping("/department/init") @PostMapping("/department/init")
@ -89,6 +172,7 @@ public class DimController {
/** /**
* 月维度 * 月维度
*
* @return * @return
*/ */
@PostMapping("/month/init") @PostMapping("/month/init")
@ -99,6 +183,7 @@ public class DimController {
/** /**
* 季度维度 * 季度维度
*
* @return * @return
*/ */
@PostMapping("/quarter/init") @PostMapping("/quarter/init")
@ -109,6 +194,7 @@ public class DimController {
/** /**
* 年度维度 * 年度维度
*
* @return * @return
*/ */
@PostMapping("/year/init") @PostMapping("/year/init")
@ -119,6 +205,7 @@ public class DimController {
/** /**
* 按周维度 * 按周维度
*
* @return * @return
*/ */
@PostMapping("/week/init") @PostMapping("/week/init")
@ -128,26 +215,26 @@ public class DimController {
} }
/** /**
* @Description 所有机构
* @param * @param
* @return * @return
* @Description 所有机构
* @author wangc * @author wangc
* @date 2020.06.18 10:34 * @date 2020.06.18 10:34
**/ **/
@GetMapping("allagency") @GetMapping("allagency")
public List<AgencySubTreeDto> allAgency(){ public List<AgencySubTreeDto> allAgency() {
return dimAgencyService.getAllAgency(); return dimAgencyService.getAllAgency();
} }
/** /**
* @Description 顶级机构
* @param * @param
* @return * @return
* @Description 顶级机构
* @author wangc * @author wangc
* @date 2020.06.18 10:34 * @date 2020.06.18 10:34
**/ **/
@GetMapping("topagency") @GetMapping("topagency")
public List<AgencySubTreeDto> topAgency(){ public List<AgencySubTreeDto> topAgency() {
return dimAgencyService.getTopAgency(); return dimAgencyService.getTopAgency();
} }
} }

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java

@ -25,6 +25,7 @@ import com.epmet.entity.stats.DimAgencyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -79,4 +80,5 @@ public interface DimAgencyDao extends BaseDao<DimAgencyEntity> {
* @return * @return
*/ */
List<DimAgencyEntity> getAgencyListByCustomerId(@Param("customerId") String customerId); List<DimAgencyEntity> getAgencyListByCustomerId(@Param("customerId") String customerId);
} }

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/LastExecRecordDao.java

@ -22,6 +22,8 @@ import com.epmet.entity.stats.LastExecRecordEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
/** /**
* 最后一次执行记录表 * 最后一次执行记录表
* *
@ -32,4 +34,12 @@ import org.apache.ibatis.annotations.Param;
public interface LastExecRecordDao extends BaseDao<LastExecRecordEntity> { public interface LastExecRecordDao extends BaseDao<LastExecRecordEntity> {
LastExecRecordEntity getLastExecRecord(@Param("statsSubject") String statsSubject); LastExecRecordEntity getLastExecRecord(@Param("statsSubject") String statsSubject);
/**
* 更新统计主体的执行时间
* @param date
* @param subject
* @return
*/
int updateExecTimeBySubject(@Param("date") Date date, @Param("subject") String subject);
} }

28
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java

@ -55,11 +55,6 @@ public class StatsDimServiceImpl implements StatsDimService {
@Override @Override
public void initGridDim() { public void initGridDim() {
LastExecRecordEntity lastExecRecord = lastExecRecordService.getLastExecRecord(StatsSubject.DIM_GRID);
if (lastExecRecord == null) {
lastExecRecord = lastExecRecordService.createLastExecRecord(StatsSubject.DIM_GRID);
}
DimGridEntity lastCreatedGridDim = dimGridService.getLastCreatedGridDim(); DimGridEntity lastCreatedGridDim = dimGridService.getLastCreatedGridDim();
List<CustomerGridEntity> grids; List<CustomerGridEntity> grids;
if (lastCreatedGridDim == null) { if (lastCreatedGridDim == null) {
@ -68,17 +63,15 @@ public class StatsDimServiceImpl implements StatsDimService {
} else { } else {
// 非首次初始化 // 非首次初始化
// 结束时间边界与开始时间边界,包含开始时间不包含结束时间。结束时间可以为空,则查询从开始时间往后的所有新创建网格 // 结束时间边界与开始时间边界,包含开始时间不包含结束时间。结束时间可以为空,则查询从开始时间往后的所有新创建网格
//Date endTimeBorder = DateUtils.parse(DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD);
Date startTimeBorder = DateUtils.parse(DateUtils.format(lastCreatedGridDim.getCreatedTime(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD); Date startTimeBorder = DateUtils.parse(DateUtils.format(lastCreatedGridDim.getCreatedTime(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD);
Date endTimeBorder = DateUtils.parse(DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD);
grids = customerGridService.listGridsByCreateTime(startTimeBorder, null); grids = customerGridService.listGridsByCreateTime(startTimeBorder, endTimeBorder);
} }
List<DimGridEntity> gridDims = convertCustomerGrid2GridDim(grids); List<DimGridEntity> gridDims = convertCustomerGrid2GridDim(grids);
if (!CollectionUtils.isEmpty(gridDims)) { if (!CollectionUtils.isEmpty(gridDims)) {
dimGridService.addGridDims(gridDims); dimGridService.initGridDims(gridDims);
lastExecRecord.setExecTime(new Date());
lastExecRecordService.updateById(lastExecRecord);
} }
} }
@ -119,11 +112,7 @@ public class StatsDimServiceImpl implements StatsDimService {
List<CustomerAgencyEntity> agencies = customerAgencyService.listAgenciesByCreateTime(statsStartTime, statsEndTime); List<CustomerAgencyEntity> agencies = customerAgencyService.listAgenciesByCreateTime(statsStartTime, statsEndTime);
if (!CollectionUtils.isEmpty(agencies)) { if (!CollectionUtils.isEmpty(agencies)) {
dimAgencyService.addAgencyDims(agencies); dimAgencyService.initAgencyDims(agencies);
lastExecRecord.setExecTime(new Date());
// 记录最后一次统计时间
lastExecRecordService.updateById(lastExecRecord);
} }
} }
@ -145,12 +134,7 @@ public class StatsDimServiceImpl implements StatsDimService {
List<CustomerEntity> customers = customerService.listValidCustomersByCreateTime(statsStartTime, statsEndTime); List<CustomerEntity> customers = customerService.listValidCustomersByCreateTime(statsStartTime, statsEndTime);
if (!CollectionUtils.isEmpty(customers)) { if (!CollectionUtils.isEmpty(customers)) {
dimCustomerService.addCustomerDims(customers); dimCustomerService.initCustomerDims(customers);
lastExecRecord.setExecTime(new Date());
// 记录最后一次统计时间
lastExecRecordService.updateById(lastExecRecord);
} }
} }
@ -169,7 +153,7 @@ public class StatsDimServiceImpl implements StatsDimService {
List<CustomerDepartmentEntity> departments = departmentService.listDepartmentsByCreatedTime(statsStartTime, statsEndTime); List<CustomerDepartmentEntity> departments = departmentService.listDepartmentsByCreatedTime(statsStartTime, statsEndTime);
if (!CollectionUtils.isEmpty(departments)) { if (!CollectionUtils.isEmpty(departments)) {
dimDepartmentService.addDepartmentDims(departments); dimDepartmentService.initDepartmentDims(departments);
lastExecRecord.setExecTime(new Date()); lastExecRecord.setExecTime(new Date());
// 记录最后一次统计时间 // 记录最后一次统计时间
lastExecRecordService.updateById(lastExecRecord); lastExecRecordService.updateById(lastExecRecord);

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimAgencyService.java

@ -24,6 +24,7 @@ import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.org.CustomerAgencyEntity; import com.epmet.entity.org.CustomerAgencyEntity;
import com.epmet.entity.stats.DimAgencyEntity; import com.epmet.entity.stats.DimAgencyEntity;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -103,7 +104,11 @@ public interface DimAgencyService extends BaseService<DimAgencyEntity> {
**/ **/
List<DimAgencyDTO> getDimAgencyList(DimAgencyDTO dto); List<DimAgencyDTO> getDimAgencyList(DimAgencyDTO dto);
void addAgencyDims(List<CustomerAgencyEntity> agencies); /**
* 初始化机关维度
* @param agencies
*/
void initAgencyDims(List<CustomerAgencyEntity> agencies);
/** /**
* @Description 查询所有机关以及它下级机关的信息 * @Description 查询所有机关以及它下级机关的信息
@ -132,4 +137,5 @@ public interface DimAgencyService extends BaseService<DimAgencyEntity> {
* @author: jianjun liu * @author: jianjun liu
*/ */
List<DimAgencyEntity> getAgencyListByCustomerId(String customerId); List<DimAgencyEntity> getAgencyListByCustomerId(String customerId);
} }

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimCustomerService.java

@ -111,5 +111,5 @@ public interface DimCustomerService extends BaseService<DimCustomerEntity> {
* 添加客户维度 * 添加客户维度
* @param customers * @param customers
*/ */
void addCustomerDims(List<CustomerEntity> customers); void initCustomerDims(List<CustomerEntity> customers);
} }

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimDepartmentService.java

@ -94,7 +94,7 @@ public interface DimDepartmentService extends BaseService<DimDepartmentEntity> {
*/ */
void delete(String[] ids); void delete(String[] ids);
void addDepartmentDims(List<CustomerDepartmentEntity> departments); void initDepartmentDims(List<CustomerDepartmentEntity> departments);
/** /**
* desc: 根据客户Id获取 部门数据 * desc: 根据客户Id获取 部门数据

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimGridService.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.stats.DimGridDTO; import com.epmet.dto.stats.DimGridDTO;
import com.epmet.entity.stats.DimGridEntity; import com.epmet.entity.stats.DimGridEntity;
import com.epmet.entity.stats.LastExecRecordEntity;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -95,7 +96,11 @@ public interface DimGridService extends BaseService<DimGridEntity> {
DimGridEntity getLastCreatedGridDim(); DimGridEntity getLastCreatedGridDim();
void addGridDims(List<DimGridEntity> gridDims); /**
* 初始化网格维度
* @param gridDims
*/
void initGridDims(List<DimGridEntity> gridDims);
/** /**
* desc: 根据客户Id获取 该客户下所有的网格数据 * desc: 根据客户Id获取 该客户下所有的网格数据

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimAgencyServiceImpl.java

@ -26,7 +26,9 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.RobotConstant; import com.epmet.constant.RobotConstant;
import com.epmet.constant.StatsSubject;
import com.epmet.dao.stats.DimAgencyDao; import com.epmet.dao.stats.DimAgencyDao;
import com.epmet.dao.stats.LastExecRecordDao;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.org.CustomerAgencyEntity; import com.epmet.entity.org.CustomerAgencyEntity;
@ -52,6 +54,9 @@ import java.util.stream.Collectors;
@Service @Service
public class DimAgencyServiceImpl extends BaseServiceImpl<DimAgencyDao, DimAgencyEntity> implements DimAgencyService { public class DimAgencyServiceImpl extends BaseServiceImpl<DimAgencyDao, DimAgencyEntity> implements DimAgencyService {
@Autowired
private LastExecRecordDao lastExecRecordDao;
@Override @Override
public PageData<DimAgencyDTO> page(Map<String, Object> params) { public PageData<DimAgencyDTO> page(Map<String, Object> params) {
IPage<DimAgencyEntity> page = baseDao.selectPage( IPage<DimAgencyEntity> page = baseDao.selectPage(
@ -115,10 +120,9 @@ public class DimAgencyServiceImpl extends BaseServiceImpl<DimAgencyDao, DimAgenc
return baseDao.selectDimAgencyList(dto); return baseDao.selectDimAgencyList(dto);
} }
@Transactional @Transactional(rollbackFor = Exception.class)
@Override @Override
public void addAgencyDims(List<CustomerAgencyEntity> agencies) { public void initAgencyDims(List<CustomerAgencyEntity> agencies) {
Date now = new Date();
for (CustomerAgencyEntity agency : agencies) { for (CustomerAgencyEntity agency : agencies) {
DimAgencyEntity dimAgencyEntity = new DimAgencyEntity(); DimAgencyEntity dimAgencyEntity = new DimAgencyEntity();
dimAgencyEntity.setAgencyName(agency.getOrganizationName()); dimAgencyEntity.setAgencyName(agency.getOrganizationName());
@ -132,6 +136,8 @@ public class DimAgencyServiceImpl extends BaseServiceImpl<DimAgencyDao, DimAgenc
dimAgencyEntity.setId(agency.getId()); dimAgencyEntity.setId(agency.getId());
baseDao.insert(dimAgencyEntity); baseDao.insert(dimAgencyEntity);
} }
lastExecRecordDao.updateExecTimeBySubject(new Date(), StatsSubject.DIM_AGENCY);
} }
/** /**

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimCustomerServiceImpl.java

@ -26,13 +26,16 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.RobotConstant; import com.epmet.constant.RobotConstant;
import com.epmet.constant.StatsSubject;
import com.epmet.dao.stats.DimCustomerDao; import com.epmet.dao.stats.DimCustomerDao;
import com.epmet.dao.stats.LastExecRecordDao;
import com.epmet.dto.stats.DimCustomerDTO; import com.epmet.dto.stats.DimCustomerDTO;
import com.epmet.entity.crm.CustomerEntity; import com.epmet.entity.crm.CustomerEntity;
import com.epmet.entity.stats.DimCustomerEntity; import com.epmet.entity.stats.DimCustomerEntity;
import com.epmet.service.stats.DimCustomerService; import com.epmet.service.stats.DimCustomerService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -51,6 +54,9 @@ import java.util.Map;
@Slf4j @Slf4j
public class DimCustomerServiceImpl extends BaseServiceImpl<DimCustomerDao, DimCustomerEntity> implements DimCustomerService { public class DimCustomerServiceImpl extends BaseServiceImpl<DimCustomerDao, DimCustomerEntity> implements DimCustomerService {
@Autowired
private LastExecRecordDao lastExecRecordDao;
@Override @Override
public PageData<DimCustomerDTO> page(Map<String, Object> params) { public PageData<DimCustomerDTO> page(Map<String, Object> params) {
IPage<DimCustomerEntity> page = baseDao.selectPage( IPage<DimCustomerEntity> page = baseDao.selectPage(
@ -114,7 +120,7 @@ public class DimCustomerServiceImpl extends BaseServiceImpl<DimCustomerDao, DimC
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void addCustomerDims(List<CustomerEntity> customers) { public void initCustomerDims(List<CustomerEntity> customers) {
for (CustomerEntity customer : customers) { for (CustomerEntity customer : customers) {
DimCustomerEntity dim = new DimCustomerEntity(); DimCustomerEntity dim = new DimCustomerEntity();
dim.setCustomerName(customer.getCustomerName()); dim.setCustomerName(customer.getCustomerName());
@ -123,5 +129,6 @@ public class DimCustomerServiceImpl extends BaseServiceImpl<DimCustomerDao, DimC
dim.setId(customer.getId()); dim.setId(customer.getId());
baseDao.insert(dim); baseDao.insert(dim);
} }
lastExecRecordDao.updateExecTimeBySubject(new Date(), StatsSubject.DIM_CUSTOMER);
} }
} }

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimDepartmentServiceImpl.java

@ -24,13 +24,16 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.RobotConstant; import com.epmet.constant.RobotConstant;
import com.epmet.constant.StatsSubject;
import com.epmet.dao.stats.DimDepartmentDao; import com.epmet.dao.stats.DimDepartmentDao;
import com.epmet.dao.stats.LastExecRecordDao;
import com.epmet.dto.stats.DimDepartmentDTO; import com.epmet.dto.stats.DimDepartmentDTO;
import com.epmet.entity.org.CustomerDepartmentEntity; import com.epmet.entity.org.CustomerDepartmentEntity;
import com.epmet.entity.stats.DimDepartmentEntity; import com.epmet.entity.stats.DimDepartmentEntity;
import com.epmet.service.stats.DimDepartmentService; import com.epmet.service.stats.DimDepartmentService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -49,6 +52,9 @@ import java.util.Map;
@Service @Service
public class DimDepartmentServiceImpl extends BaseServiceImpl<DimDepartmentDao, DimDepartmentEntity> implements DimDepartmentService { public class DimDepartmentServiceImpl extends BaseServiceImpl<DimDepartmentDao, DimDepartmentEntity> implements DimDepartmentService {
@Autowired
private LastExecRecordDao lastExecRecordDao;
@Override @Override
public PageData<DimDepartmentDTO> page(Map<String, Object> params) { public PageData<DimDepartmentDTO> page(Map<String, Object> params) {
IPage<DimDepartmentEntity> page = baseDao.selectPage( IPage<DimDepartmentEntity> page = baseDao.selectPage(
@ -103,8 +109,7 @@ public class DimDepartmentServiceImpl extends BaseServiceImpl<DimDepartmentDao,
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void addDepartmentDims(List<CustomerDepartmentEntity> departments) { public void initDepartmentDims(List<CustomerDepartmentEntity> departments) {
Date now = new Date();
for (CustomerDepartmentEntity department : departments) { for (CustomerDepartmentEntity department : departments) {
DimDepartmentEntity dim = new DimDepartmentEntity(); DimDepartmentEntity dim = new DimDepartmentEntity();
dim.setAgencyId(department.getAgencyId()); dim.setAgencyId(department.getAgencyId());
@ -115,6 +120,7 @@ public class DimDepartmentServiceImpl extends BaseServiceImpl<DimDepartmentDao,
dim.setId(department.getId()); dim.setId(department.getId());
baseDao.insert(dim); baseDao.insert(dim);
} }
lastExecRecordDao.updateExecTimeBySubject(new Date(), StatsSubject.DIM_DEPARTMENT);
} }
@Override @Override

17
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java

@ -25,15 +25,21 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.StatsSubject;
import com.epmet.dao.stats.DimGridDao; import com.epmet.dao.stats.DimGridDao;
import com.epmet.dao.stats.LastExecRecordDao;
import com.epmet.dto.stats.DimGridDTO; import com.epmet.dto.stats.DimGridDTO;
import com.epmet.entity.stats.DimGridEntity; import com.epmet.entity.stats.DimGridEntity;
import com.epmet.entity.stats.LastExecRecordEntity;
import com.epmet.service.stats.DimGridService; import com.epmet.service.stats.DimGridService;
import com.epmet.service.stats.LastExecRecordService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -46,6 +52,9 @@ import java.util.Map;
@Service @Service
public class DimGridServiceImpl extends BaseServiceImpl<DimGridDao, DimGridEntity> implements DimGridService { public class DimGridServiceImpl extends BaseServiceImpl<DimGridDao, DimGridEntity> implements DimGridService {
@Autowired
private LastExecRecordDao lastExecRecordDao;
@Override @Override
public PageData<DimGridDTO> page(Map<String, Object> params) { public PageData<DimGridDTO> page(Map<String, Object> params) {
IPage<DimGridEntity> page = baseDao.selectPage( IPage<DimGridEntity> page = baseDao.selectPage(
@ -103,12 +112,18 @@ public class DimGridServiceImpl extends BaseServiceImpl<DimGridDao, DimGridEntit
return baseDao.getLastCreatedGridDimEntity(); return baseDao.getLastCreatedGridDimEntity();
} }
/**
* 初始化网格维度
* @param gridDims
*/
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void addGridDims(List<DimGridEntity> gridDims) { public void initGridDims(List<DimGridEntity> gridDims) {
for (DimGridEntity gridDim : gridDims) { for (DimGridEntity gridDim : gridDims) {
baseDao.insert(gridDim); baseDao.insert(gridDim);
} }
lastExecRecordDao.updateExecTimeBySubject(new Date(), StatsSubject.DIM_GRID);
} }
@Override @Override

1
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml

@ -9,7 +9,6 @@
VALUE (#{id}, #{agencyName}, #{customerId}, #{pid}, #{pids}, #{allParentName}, #{level}, #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime}) VALUE (#{id}, #{agencyName}, #{customerId}, #{pid}, #{pids}, #{allParentName}, #{level}, #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime})
</insert> </insert>
<select id="selectDimAgencyList" resultType="com.epmet.dto.stats.DimAgencyDTO"> <select id="selectDimAgencyList" resultType="com.epmet.dto.stats.DimAgencyDTO">
SELECT SELECT
* *

4
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/LastExecRecordDao.xml

@ -21,5 +21,9 @@
WHERE SUBJECT = #{statsSubject} WHERE SUBJECT = #{statsSubject}
</select> </select>
<!--更新统计主体的执行时间-->
<update id="updateExecTimeBySubject">
UPDATE last_exec_record SET EXEC_TIME = #{date} WHERE SUBJECT = #{subject}
</update>
</mapper> </mapper>
Loading…
Cancel
Save