kaiyu
2021-09-14 0aed1c0e6a91207c15fa34f49a7dfa9b6e2b64c5
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -4,20 +4,27 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.SpecialDevice;
import com.moral.api.entity.SpecialDeviceHistory;
import com.moral.api.mapper.HistorySecondCruiserMapper;
import com.moral.api.mapper.HistorySecondSpecialMapper;
import com.moral.api.mapper.SpecialDeviceMapper;
import com.moral.api.service.OrganizationService;
import com.moral.api.service.SpecialDeviceHistoryService;
import com.moral.api.service.SpecialDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.util.DateUtils;
import com.moral.util.GeodesyUtils;
import com.moral.util.TokenUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -37,6 +44,18 @@
    @Autowired
    private SpecialDeviceHistoryService specialDeviceHistoryService;
    @Autowired
    OrganizationService organizationService;
    @Autowired
    SpecialDeviceMapper specialDeviceMapper;
    @Autowired
    private HistorySecondCruiserMapper historySecondCruiserMapper;
    @Autowired
    RedisTemplate redisTemplate;
    private final static Double dis = 50d;
@@ -84,6 +103,30 @@
        return filterData(data);
    }
    public SpecialDevice getSpecialDeviceMapByMac(String mac) {
        QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>();
        wrapper.eq("mac", mac);
        wrapper.eq("is_delete", Constants.NOT_DELETE);
        return specialDeviceMapper.selectOne(wrapper);
    }
    @Override
    public List<String> getDatesByMac(String mac) {
        Map<String, Object> userInfo = (Map) TokenUtils.getUserInfo();
        Map<String, Object> orgInfo = (Map) userInfo.get("organization");
        Integer orgId = (Integer) orgInfo.get("id");
        Map<String, Object> params = new HashMap<>();
        params.put("orgId", orgId);
        params.put("mac", mac);
        Date start = DateUtils.addMonths(new Date(), -6);
        params.put("start", DateUtils.dateToDateString(start));
        return historySecondCruiserMapper.getDates(params);
    }
    //根据距离筛选数据
    private List<Map<String, Object>> filterData(List<Map<String, Object>> data) {
        List<Map<String, Object>> result = new ArrayList<>();