package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.modular.system.model.TLocation;
import com.stylefeng.guns.modular.system.dao.TLocationMapper;
import com.stylefeng.guns.modular.system.service.ITLocationService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
*
* 地点 服务实现类
*
*
* @author 吕雪
* @since 2020-09-04
*/
@Service
public class TLocationServiceImpl extends ServiceImpl implements ITLocationService {
@Autowired
private GDMapElectricFenceUtil gdMapElectricFenceUtil;
/**
* 定时任务更新线上围栏的有效时间
* @throws Exception
*/
@Override
public void updateFence() throws Exception {
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + 35);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List type = this.selectList(new EntityWrapper().eq("type", 2));
for(TLocation location : type){
if((date.getTime() - location.getUpdateTime().getTime()) > 30 * 24 * 60 * 60 * 1000){//更新一个月之前的数据
String[] s = location.getGid().split("_");
String[] s1 = location.getCoordinate().split("_");
for(int i = 0; i < s.length; i++){
String[] split = s1[i].split(";");
gdMapElectricFenceUtil.updateElectricFenc(s[i], "location_" + location.getId(),
(split.length > 2 ? "" : split[0]), (split.length > 2 ? "" : split[1]),
(split.length > 2 ? s1[i] : ""), sdf.format(calendar.getTime()));
}
}
}
}
}