lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -1,23 +1,16 @@
package com.doumee.task;
import com.doumee.biz.system.SystemDictDataBiz;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncOrgUserServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.net.URI;
import java.util.Date;
import java.util.Map;
/**
 * 定时任务
@@ -29,9 +22,16 @@
@EnableScheduling
public class ScheduleTool {
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    private HkSyncImgServiceImpl hkSyncImgService;
    @Autowired
    private HkSyncEmpowerServiceImpl hkSyncEmpowerService;
    @Autowired
    private HkSyncOrgUserServiceImpl hkSyncOrgUserService;
    @Autowired
    private HkSyncVisitServiceImpl hkSyncVisitService;
    @Autowired
    private MemberService memberService;
    /**
     * 是否开发者
     */
@@ -43,60 +43,74 @@
     * 缓存省市区
     * @throws Exception
     */
    @Scheduled(fixedDelay=24*60*60*1000)
    public void cacheCampus() throws Exception {
    @Scheduled(fixedDelay= 60*1000)
    public void downloadHkImg() throws Exception {
        hkSyncImgService.downHKImgs(0);
    }
     /**
     * 每天凌晨重置所有订单code类初始值
    /**
     * 定时同步组织信息到海康系统
     * @throws Exception
     */
    @Scheduled(cron="0 0 0 * * ?")
    public void resetOrderCodes() throws Exception {
    @Scheduled(fixedDelay= 60*1000)
    public void syncOrgData() {
        hkSyncOrgUserService.syncOrgData();
    }
    /**
     * 定时同步用户信息到海康系统
     * @throws Exception
     */
    @Scheduled(fixedDelay= 60*1000)
    public void syncUserData()  {
        hkSyncOrgUserService.syncUserData();
    }
    /**
     * 定时同步申请通过的访客数据到海康系统
     * @throws Exception
     */
    @Scheduled(fixedDelay= 60*1000)
    public void syncVisitData()  {
        hkSyncVisitService.syncVisitData();
    }
    /**
     * 定时同步内部人员授权到海康系统
     * @throws Exception
     */
    @Scheduled(fixedDelay= 60*1000)
    public void syncEmpowerData()  {
        hkSyncEmpowerService.syncEmpowerData();
    }
    /**
     * 定时查询人员下发海康结果(任务是否已下载结束)
     * @throws Exception
     */
    @Scheduled(fixedDelay= 60*1000)
    public void syncEmpowerResultData()  {
        hkSyncEmpowerService.syncEmpowerResultData();
    }
    /**
     * 定时查询人员实际下发权限结果,是否已经下载成功
     * @throws Exception
     */
    @Scheduled(fixedDelay= 60*1000)
    public void syncEmpowerDetailData()  {
        hkSyncEmpowerService.syncEmpowerDetailData();
    }
    /**
     * 定时同步车辆包期到海康系统
     * @throws Exception
     */
    @Scheduled(fixedDelay= 60*1000)
    public void syncParkBookData()  {
        hkSyncImgService.syncParkBookData();
    }
    /**
     * 发送get请求
     * @param url 请求URL
     * @param param 请求参数 key:value url携带参数 或者无参可不填
     * @return
     * 定时冻结内部人员
     */
    public  String doGet(String url, Map<String, String> param) {
        // 创建Httpclient对象
        CloseableHttpClient httpclient = HttpClients.createDefault();
        String resultString = "";
        CloseableHttpResponse response = null;
        try {
            // 创建uri
            URIBuilder builder = new URIBuilder(url);
            if (param != null) {
                for (String key : param.keySet()) {
                    builder.addParameter(key, param.get(key));
                }
            }
            URI uri = builder.build();
            // 创建http GET请求
            HttpGet httpGet = new HttpGet(uri);
            // 执行请求
            response = httpclient.execute(httpGet);
            // 判断返回状态是否为200
            if (response.getStatusLine().getStatusCode() == 200) {
                resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (response != null) {
                    response.close();
                }
                httpclient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return resultString;
    @Scheduled(fixedDelay= 60*1000)
    public void memberFreeze()  {
        memberService.memberFreeze();
    }
}