|
@@ -1,14 +1,29 @@
|
|
package com.txz.operating.service.impl;
|
|
package com.txz.operating.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
+import cn.hutool.http.HttpUtil;
|
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
import com.txz.operating.dao.DimensionMapper;
|
|
import com.txz.operating.dao.DimensionMapper;
|
|
|
|
+import com.txz.operating.model.DayStatistics;
|
|
import com.txz.operating.model.Dimension;
|
|
import com.txz.operating.model.Dimension;
|
|
|
|
+import com.txz.operating.model.DimensionSection;
|
|
|
|
+import com.txz.operating.service.DayStatisticsService;
|
|
|
|
+import com.txz.operating.service.DimensionSectionService;
|
|
import com.txz.operating.service.DimensionService;
|
|
import com.txz.operating.service.DimensionService;
|
|
import com.txz.operating.core.AbstractService;
|
|
import com.txz.operating.core.AbstractService;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import tk.mybatis.mapper.entity.Condition;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.util.List;
|
|
|
|
+@Slf4j
|
|
|
|
|
|
/**
|
|
/**
|
|
* Created by CodeGenerator on 2025/09/01.
|
|
* Created by CodeGenerator on 2025/09/01.
|
|
@@ -19,4 +34,50 @@ public class DimensionServiceImpl extends AbstractService<Dimension> implements
|
|
@Resource
|
|
@Resource
|
|
private DimensionMapper rDimensionMapper;
|
|
private DimensionMapper rDimensionMapper;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private DimensionSectionService dimensionSectionService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ private DayStatisticsService dayStatisticsService;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void execute(Dimension dimension, String time, Long sectionId) {
|
|
|
|
+ Condition condition = new Condition(DimensionSection.class);
|
|
|
|
+ condition.createCriteria().andEqualTo("dimensionId",dimension.getId());
|
|
|
|
+ List<DimensionSection> sections = dimensionSectionService.findByCondition(condition);
|
|
|
|
+ if (CollUtil.isEmpty(sections)){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ DateTime yesterday = DateUtil.yesterday();
|
|
|
|
+ if (StrUtil.isNotBlank(time)){
|
|
|
|
+ yesterday = DateUtil.parse(time);
|
|
|
|
+ }
|
|
|
|
+ for (DimensionSection section:sections) {
|
|
|
|
+ if (sectionId == null || sectionId .compareTo(section.getId()) == 0 ){
|
|
|
|
+ DayStatistics temp = new DayStatistics();
|
|
|
|
+ temp.setSeq(dimension.getSeq());
|
|
|
|
+ temp.setDimensionId(dimension.getId());
|
|
|
|
+ temp.setSectionId(section.getId());
|
|
|
|
+ temp.setSectionName(section.getName());
|
|
|
|
+ temp.setStatisticsTotal(BigDecimal.ZERO);
|
|
|
|
+ temp.setStatisticsValue(BigDecimal.ZERO);
|
|
|
|
+ if (dimension.getInterType() == (byte) 6){
|
|
|
|
+ String param = section.getParamValue();
|
|
|
|
+ if (StrUtil.containsAny(param,"${date}")){
|
|
|
|
+ param = param.replace("${date}",DateUtil.format(yesterday,"yyyy-MM-dd"));
|
|
|
|
+ }
|
|
|
|
+ String ret = HttpUtil.post(dimension.getInterUrl(),param);
|
|
|
|
+ if (StrUtil.isBlank(ret)){
|
|
|
|
+ log.error("调用接口请求失败:"+ret);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ JSONObject object = JSONUtil.parseObj(ret);
|
|
|
|
+ temp.setStatisticsTotal(new BigDecimal(object.get("data").toString()));
|
|
|
|
+ temp.setStatisticsValue(new BigDecimal(object.get("data").toString()));
|
|
|
|
+ }
|
|
|
|
+ temp.setCutDay(DateUtil.offsetDay(yesterday,dimension.getDecreaseNum()));
|
|
|
|
+ dayStatisticsService.save(temp);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|