java 原生的定时任务(项目一启动便执行定时任务)
package com.risen.wechat.controller;
import com.risen.base.frame.controller.ExeMvcAction;
import com.risen.core.dao.ICoreOrganizationDao;
import com.risen.core.model.CoreOrganization;
import com.risen.hp.fastjson.JSON;
import com.risen.hp.fastjson.JSONArray;
import com.risen.hp.fastjson.JSONObject;
import com.risen.wechat.unit.HttpUtil;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import java.sql.*;
import java.util.*;
import java.util.Date;
@Controller
public class RisenTaskAction extends ExeMvcAction implements InitializingBean {
@Autowired
private ICoreOrganizationDao coreOrganizationDao;
public static void save(CoreOrganization coreOrganization) {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
String sql = "INSERT INTO core_organization(CRORG_UUID,CRORG_LEVEL_CODE,CRORG_NUMBER,CRORG_PARENT_UUID" +
",CRORG_NAME,CRORG_FULL_NAME,CRORG_ADDRESS,CRORG_PHONE,CRORG_TYPE,CRORG_STATUS,CRORG_ORDER) values(?,?,?,?,?,?,?,?,?,?,?) ";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://60.191.64.2:9421/risen_badj?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",
"root", "");
ps = conn.prepareStatement(sql);
ps.setString(1, coreOrganization.getCrorgUuid());
ps.setString(2, coreOrganization.getCrorgLevelCode());
ps.setString(3, coreOrganization.getCrorgNumber());
ps.setString(4, coreOrganization.getCrorgParentUuid());
ps.setString(5, coreOrganization.getCrorgName());
ps.setString(6, coreOrganization.getCrorgFullName());
ps.setString(7, coreOrganization.getCrorgAddress());
ps.setString(8, coreOrganization.getCrorgPhone());
ps.setString(9, coreOrganization.getCrorgType());
ps.setString(10, coreOrganization.getCrorgStatus());
ps.setInt(11, coreOrganization.getCrorgOrder());
ps.executeUpdate();
System.out.println("插入成功(* ̄︶ ̄)");
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
public static void update(CoreOrganization coreOrganization) {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
String sql = "UPDATE core_organization SET " +
"CRORG_LEVEL_CODE = ?, " +
"CRORG_NUMBER = ?, " +
"CRORG_PARENT_UUID = ?, " +
"CRORG_NAME = ?, " +
"CRORG_FULL_NAME = ?, " +
"CRORG_ADDRESS = ?, " +
"CRORG_PHONE = ?, " +
"CRORG_TYPE = ?, " +
"CRORG_STATUS = ?, " +
"CRORG_ORDER = ?, " +
"CRORG_UPDATE_TIME = ? " +
"WHERE CRORG_UUID = ?";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://60.191.64.2:9421/risen_badj?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",
"root", "");
ps = conn.prepareStatement(sql);
ps.setString(1, coreOrganization.getCrorgLevelCode());
ps.setString(2, coreOrganization.getCrorgNumber());
ps.setString(3, coreOrganization.getCrorgParentUuid());
ps.setString(4, coreOrganization.getCrorgName());
ps.setString(5, coreOrganization.getCrorgFullName());
ps.setString(6, coreOrganization.getCrorgAddress());
ps.setString(7, coreOrganization.getCrorgPhone());
ps.setString(8, coreOrganization.getCrorgType());
ps.setString(9, coreOrganization.getCrorgStatus());
ps.setInt(10, coreOrganization.getCrorgOrder());
Date d = new Date();
Timestamp timestamp = new Timestamp(d.getTime());
ps.setTimestamp(11, timestamp);
ps.setString(12, coreOrganization.getCrorgUuid());
ps.executeUpdate();
System.out.println("更新成功(* ̄︶ ̄)");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
@Override
public void afterPropertiesSet() throws Exception {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
CoreOrganization coreOrganization = new CoreOrganization();
String url = "http://122.224.90.132:8085/public/app/getCoreOrganization.action";
JSONObject jsonObject = HttpUtil.sendGetJson(url, "");
String data = jsonObject.getString("data");
JSONArray objects = JSON.parseArray(data);
System.out.println(objects);
Map<String, Map<String, String>> map = new HashMap<>();
List<String> list1 = new ArrayList<>();
if (objects.size() > 0) {
for (int i = 0; i < objects.size(); i++) {
JSONObject job = objects.getJSONObject(i);
String crorgUuid = null;
try {
crorgUuid = job.get("crorgUuid").toString();
} catch (Exception e) {
crorgUuid = "";
}
String crorgLevelCode = null;
try {
crorgLevelCode = job.get("crorgLevelCode").toString();
} catch (Exception e) {
crorgLevelCode = "";
}
String crorgNumber = null;
try {
crorgNumber = job.get("crorgNum").toString();
} catch (Exception e) {
crorgNumber = "";
}
String crorgParentUuid = null;
try {
crorgParentUuid = job.get("crorgParentUuid").toString();
} catch (Exception e) {
crorgParentUuid = "";
}
String crorgName = null;
try {
crorgName = job.get("crorgShortName").toString();
} catch (Exception e) {
crorgName = "";
}
String crorgFullName = null;
try {
crorgFullName = job.get("crorgFullName").toString();
} catch (Exception e) {
crorgFullName = "";
}
String crorgAddress = null;
try {
crorgAddress = job.get("crorgAddress").toString();
} catch (Exception e) {
crorgAddress = "";
}
String crorgPhone = null;
try {
crorgPhone = job.get("crorgPhone").toString();
} catch (Exception e) {
crorgPhone = "";
}
String crorgType = null;
try {
crorgType = job.get("crorgType").toString();
} catch (Exception e) {
crorgType = "";
}
String crorgStatus = null;
try {
crorgStatus = job.get("crorgStatus").toString();
} catch (Exception e) {
crorgStatus = "";
}
Integer crorgOrder = null;
try {
crorgOrder = Integer.parseInt(job.get("crorgOrd").toString());
} catch (Exception e) {
crorgOrder = -1;
}
List<CoreOrganization> list2 = coreOrganizationDao.findByIdList(Arrays.asList(crorgUuid));
coreOrganization.setCrorgUuid(crorgUuid);
coreOrganization.setCrorgLevelCode(crorgLevelCode);
coreOrganization.setCrorgNumber(crorgNumber);
coreOrganization.setCrorgParentUuid(crorgParentUuid);
coreOrganization.setCrorgName(crorgName);
coreOrganization.setCrorgFullName(crorgFullName);
coreOrganization.setCrorgAddress(crorgAddress);
coreOrganization.setCrorgPhone(crorgPhone);
coreOrganization.setCrorgType(crorgType);
coreOrganization.setCrorgStatus(crorgStatus);
coreOrganization.setCrorgOrder(crorgOrder);
if (list2.size() == 0) {
save(coreOrganization);
} else {
update(coreOrganization);
}
}
}
}
}, 1000, 20000);
}
}