101captain
2022-04-24 179d1fc7eb24ee7e53c930d01c94d72740dd95f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.panzhihua.service_community.service.impl;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.community.acid.ComActAcidRecordDTO;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.acid.ComAcidAreaVO;
import com.panzhihua.common.model.vos.community.acid.ComAcidStaticVO;
import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.entity.ComActAcidRecord;
import com.panzhihua.service_community.dao.ComActAcidRecordDao;
import com.panzhihua.service_community.service.ComActAcidRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
/**
 * (ComActAcidRecord)表服务实现类
 * projectName 成都呐喊信息技术有限公司-智慧社区项目
 * description: 相关功能
 *
 * @author zzj
 * @since 2022-04-12 15:29:58
 */
@Slf4j
@Service
public class ComActAcidRecordServiceImpl extends ServiceImpl<ComActAcidRecordDao, ComActAcidRecord> implements ComActAcidRecordService {
 
    @Resource
    private RabbitTemplate rabbitTemplate;
    @Override
    public R pageList(ComActAcidRecordDTO comActAcidRecordDTO) {
        return R.ok(this.baseMapper.pageList(new Page<>(comActAcidRecordDTO.getPage(), comActAcidRecordDTO.getSize()),comActAcidRecordDTO));
    }
 
    @Override
    public R export(ComActAcidRecordDTO comActAcidRecordDTO) {
        return R.ok(this.baseMapper.export(comActAcidRecordDTO));
    }
 
    @Override
    public R insertRecord(ComActAcidRecordVO comActAcidRecordVO) {
        if(StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())){
            rabbitTemplate.convertAndSend("huacheng.acid.exchange", "huacheng.acid.key", comActAcidRecordVO, message -> {
                message.getMessageProperties().setHeader("x-delay", 24*60*60*1000);
                return message;
            });
        }
        ComActAcidRecord comActAcidRecord=new ComActAcidRecord();
        BeanUtils.copyProperties(comActAcidRecordVO,comActAcidRecord);
        comActAcidRecord.setCreateTime(new Date());
        return R.ok(this.save(comActAcidRecord));
    }
 
    @Override
    public R fiveCount(String localCity) {
        return R.ok(this.baseMapper.fiveCount(localCity));
    }
    @Override
    public R fiveCountPlus(String date) {
        return R.ok(this.baseMapper.fiveCountPlus(date));
    }
 
    @Override
    public R statics(String date) {
        List<ComAcidStaticVO> comAcidStaticVOS=new ArrayList<>();
        String[] area={"东区","西区","仁和区","米易县","盐边县","钒钛新城"};
        String[] country={"上海市","吉林省","广东省","江苏省","浙江省","山东省","湖北省","山西省","黑龙江省","广西壮族自治区","河北省","辽宁省","河南省","福建省","安徽省","南昌市","西宁市","西安市","文山州","兰州市","邵阳市"};
        for(String areaName:area){
            ComAcidStaticVO comAcidStaticVO=this.baseMapper.areaStatics(areaName,date);
            comAcidStaticVO.setAreaName(areaName);
            List<ComAcidAreaVO> comAcidAreaVOS=new ArrayList<>();
            for(String countryName:country){
                Integer count=this.baseMapper.countryStatics(countryName,date,areaName);
                ComAcidAreaVO comAcidAreaVO=new ComAcidAreaVO();
                comAcidAreaVO.setName(countryName);
                comAcidAreaVO.setCount(count);
                comAcidAreaVOS.add(comAcidAreaVO);
            }
            comAcidStaticVO.setComAcidAreaVOS(comAcidAreaVOS);
            comAcidStaticVOS.add(comAcidStaticVO);
        }
        return R.ok(comAcidStaticVOS);
    }
}