101captain
2022-04-29 22e8f5555ab36a021943ad5e5a90e602c4d659d4
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
@@ -1,14 +1,17 @@
package com.panzhihua.service_community.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.model.vos.community.acid.*;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComActAcidDangerMemberDao;
import com.panzhihua.service_community.entity.ComActAcidDangerMember;
@@ -52,12 +55,36 @@
    @Override
    public R export(ComActAcidRecordDTO comActAcidRecordDTO) {
        return R.ok(this.baseMapper.export(comActAcidRecordDTO));
        List<ComActAcidRecordExcelVO> comActAcidRecordExcelVOS=this.baseMapper.export(comActAcidRecordDTO);
        comActAcidRecordExcelVOS.forEach(comActAcidRecordExcelVO -> {
            if(StringUtils.isNotEmpty(comActAcidRecordExcelVO.getTouristCity())&&comActAcidRecordExcelVO.getTouristCity().contains("[")){
                JSONArray jsonArray = JSON.parseArray(comActAcidRecordExcelVO.getTouristCity());
                if(jsonArray.isEmpty()){
                    comActAcidRecordExcelVO.setTouristCity("");
                }
                else {
                    StringBuilder touristCity= new StringBuilder();
                    for(int i=0;i<jsonArray.size();i++){
                        JSONObject jsonObject=jsonArray.getJSONObject(i);
                        String name=jsonObject.getString("name");
                        if(StringUtils.isNotEmpty(name)){
                            touristCity.append(name).append(";");
                        }
                    }
                    comActAcidRecordExcelVO.setTouristCity(touristCity.toString());
                }
            }
        });
        return R.ok(comActAcidRecordExcelVOS);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R insertRecord(ComActAcidRecordVO comActAcidRecordVO) {
        Integer count= this.baseMapper.selectCount(new QueryWrapper<ComActAcidRecord>().lambda().eq(ComActAcidRecord::getIdCard,comActAcidRecordVO.getIdCard()).ge(ComActAcidRecord::getCreateTime, DateUtils.getCurrentDate(DateUtils.yyyyMMdd_format)));
        if(count>0){
            return R.fail("请勿重复提交");
        }
        if(StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())){
            rabbitTemplate.convertAndSend("huacheng.acid.exchange", "huacheng.acid.key", comActAcidRecordVO, message -> {
                message.getMessageProperties().setHeader("x-delay", 24*60*60*1000);
@@ -78,10 +105,6 @@
                    || dangerArea.equals("是") || outsideCity.equals("是") || acidTest.equals("阳性")) {
                //风险人员
                saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1);
//                rabbitTemplate.convertAndSend("huacheng.acid.danger.exchange", "huacheng.acid.danger.key", comActAcidRecordVO, message -> {
//                    message.getMessageProperties().setHeader("x-delay", 24*60*60*1000);
//                    return message;
//                });
                return R.ok();
            }
            if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) {
@@ -119,6 +142,18 @@
            dangerMember.setUpdateTime(new Date());
            comActAcidDangerMemberDao.updateById(dangerMember);
        }
        ComActAcidDangerMemberVO dangerMemberVO = new ComActAcidDangerMemberVO();
        BeanUtils.copyProperties(dangerMember, dangerMemberVO);
        String realAddress = comActAcidRecordVO.getRealAddress();
        if (realAddress.contains("区")) {
            dangerMemberVO.setRelationName(realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("区") + 1));
        } else {
            dangerMemberVO.setRelationName(realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("县") + 1));
        }
        rabbitTemplate.convertAndSend("huacheng.acid.danger.exchange", "huacheng.acid.danger.key", dangerMemberVO, message -> {
            message.getMessageProperties().setHeader("x-delay", 5*60*1000);
            return message;
        });
    }
    @Override