From b5960d1968e007b91d4d33dd7cbb74f1b566f2c1 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 10:20:01 +0800
Subject: [PATCH] 到期时间修改
---
src/main/java/org/springblade/modules/FTP/MysqlCenlint.java | 290 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 227 insertions(+), 63 deletions(-)
diff --git a/src/main/java/org/springblade/modules/FTP/MysqlCenlint.java b/src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
index fe1f72c..3a5cbe8 100644
--- a/src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
+++ b/src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
@@ -1,40 +1,193 @@
package org.springblade.modules.FTP;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.springblade.common.utils.InvestigateUtil;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
+import java.util.Date;
+import static org.springblade.common.config.FtpConfig.localPath;
+import static org.springblade.common.config.FtpConfig.sqlConnect;
+
+@Component
public class MysqlCenlint {
+
+ @Autowired
+ private IUserService userService;
+
+ //声明对象
+ private static MysqlCenlint mysqlCenlint;
+
+ /**
+ * 初始化
+ */
+ @PostConstruct
+ public void init(){
+ mysqlCenlint = this;
+ mysqlCenlint.userService = this.userService;
+ }
+
+ /**
+ * sql 连接
+ * @param sql
+ */
+ public static void sqlConnect(String sql,Integer type){
+ String driver = "com.mysql.cj.jdbc.Driver";
+ String url = sqlConnect; //换成要连接的数据库信息
+ String user = "root";
+ String password = "zhba0728";
+ Connection conn = null;
+ PreparedStatement ps = null;
+ try {
+ Class.forName ( driver );
+ conn = (Connection) DriverManager.getConnection ( url, user, password );
+ if (!conn.isClosed ()) {
+ System.out.println ( "数据库连接成功:" );
+ String sqls = sql;
+ ps = conn.prepareStatement ( sqls );
+ //判断是否为修改,删除
+ if (type==1){
+ //修改删除
+ ps.executeUpdate();
+ }else {
+ //新增
+ ps.execute();
+ }
+ }
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ } catch (SQLException e) {
+ e.printStackTrace ();
+ }finally {
+ try {
+ ps.close();
+ conn.close();
+ } catch (SQLException throwables) {
+ throwables.printStackTrace();
+ }
+ }
+ }
+
/**
* 连接mysql数据库 新增
* @param sql
*/
public static void inster(String sql) {
+ sqlConnect(sql,2);
try {
- int ColumnCount;
- //int RowCount;
- String driver = "com.mysql.jdbc.Driver";
- String url = "jdbc:mysql://223.82.109.183:2083/zhba"; //换成要连接的数据库信息
- String user = "root";
- String password = "zhba0728";
- Class.forName ( driver );
- Connection conn = (Connection) DriverManager.getConnection ( url, user, password );
- if (!conn.isClosed ()) {
- System.out.println ( "数据库连接成功:" );
- String sqls = sql; //sql
- PreparedStatement ps = conn.prepareStatement ( sqls );
- boolean execute = ps.execute();
- ps.close ();
- conn.close ();
+ Thread.sleep(300);
+ //对比 sql 字符串,如果是是往用户表里插入保安员数据,则调用公安审查接口
+ String insertUserSql = "insert into blade_user";
+ if (sql.contains(insertUserSql)){
+ //如果包含,调用公安接口进行保安员审查
+ getMxaminationSecurityInfo(sql);
}
- } catch (ClassNotFoundException e) {
- e.printStackTrace ();
- } catch (SQLException e) {
- e.printStackTrace ();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 审查保安员
+ * @param sqls 新增的sql 语句
+ */
+ private static void getMxaminationSecurityInfo(String sqls) {
+ //解析sql,读取数据,取出角色,如果是保安员,则审查,如果不是就不审查
+ //获取第一个 ( ) 的位置
+ int a = sqls.indexOf("(");
+ int b = sqls.indexOf(")");
+ //获取第二个 ( )的位置
+ a = sqls.indexOf("(",a+1);
+ b = sqls.indexOf(")",b+1);
+ //截取字符串
+ String subSql = sqls.substring(a, b);
+ String[] splitSql = subSql.split(",");
+ //读取角色
+ String roleId = splitSql[10];
+ //去除单引号
+ String subRoleId = roleId.substring(1, roleId.length() - 1);
+ //如果是保安员
+ if (subRoleId.equals("1412226235153731586")){
+ //读取身份证号
+ String cardid = splitSql[12];
+ //去除单引号
+ String subCardid = cardid.substring(1, cardid.length() - 1);
+ User user = new User();
+ String userId = splitSql[0].substring(2, splitSql[0].length() - 1);
+ user.setId(Long.parseLong(userId));
+ System.out.println("身份证:"+subCardid);
+ //远程调用接口
+ String body = InvestigateUtil.httpGetOne(subCardid);
+ JSONObject jsonObject = new JSONObject(body);
+ Object data = jsonObject.get("data");
+ JSONObject jsonData = new JSONObject(data.toString());
+ JSONArray res = jsonData.getJSONArray("res");
+ //设置审核时间
+ user.setAuditTime(new Date());
+ if (res.length() == 0) {
+ //没有数据正常
+ user.setExaminationType("0");
+ } else {
+ int count = 0;
+ user.setExaminationType("1");
+ for (int i = 0; i < res.length(); i++) {
+ if (res.getJSONObject(i).get("zdrylbjh").toString() != null
+ && res.getJSONObject(i).get("zdrylbjh").toString() != ""
+ && res.getJSONObject(i).get("zdrylbjh").toString() != "null"
+ ) {
+ user.setExaminationMx(res.getJSONObject(i).get("zdrylbjh").toString());
+ //更新用户数据
+ mysqlCenlint.userService.updateById(user);
+ break;
+ }
+ if (res.getJSONObject(i).get("zdryxlmc").toString() != null
+ && res.getJSONObject(i).get("zdryxlmc").toString() != ""
+ && res.getJSONObject(i).get("zdryxlmc").toString() != "null"
+ ) {
+ user.setExaminationMx(res.getJSONObject(i).get("zdryxlmc").toString());
+ //更新用户数据
+ mysqlCenlint.userService.updateById(user);
+ break;
+ }
+ if (res.getJSONObject(i).get("ztrylx").toString() != null
+ && res.getJSONObject(i).get("ztrylx").toString() != ""
+ && res.getJSONObject(i).get("ztrylx").toString() != "null"
+ ) {
+ user.setExaminationMx(res.getJSONObject(i).get("ztrylx").toString());
+ //更新用户数据
+ mysqlCenlint.userService.updateById(user);
+ break;
+ }
+// if (res.getJSONObject(i).get("ajlbmc").toString() != null
+// && res.getJSONObject(i).get("ajlbmc").toString() != "") {
+// user.setExaminationMx(res.getJSONObject(i).get("ajlbmc").toString());
+// //更新用户数据
+// userService.updateById(user);
+// break;
+// }
+ count++;
+ //条件中的数据都为空,则审查为正常
+ if (count==res.length()){
+ //更新用户数据,设为正常
+ user.setExaminationType("0");
+ mysqlCenlint.userService.updateById(user);
+ }
+ }
+ }
+ //更新用户数据
+ mysqlCenlint.userService.updateById(user);
}
}
@@ -43,28 +196,29 @@
* @param sql
*/
public static void update(String sql) {
- try {
- int ColumnCount;
- //int RowCount;
- String driver = "com.mysql.jdbc.Driver";
- String url = "jdbc:mysql://223.82.109.183:2083/zhba"; //换成要连接的数据库信息
- String user = "root";
- String password = "zhba0728";
- Class.forName ( driver );
- Connection conn = (Connection) DriverManager.getConnection ( url, user, password );
- if (!conn.isClosed ()) {
- System.out.println ( "数据库连接成功:" );
- String sqls = sql; //sql
- PreparedStatement ps = conn.prepareStatement ( sqls );
- ps.executeUpdate();
- ps.close ();
- conn.close ();
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace ();
- } catch (SQLException e) {
- e.printStackTrace ();
- }
+ sqlConnect(sql,1);
+// try {
+// int ColumnCount;
+// //int RowCount;
+// String driver = "com.mysql.cj.jdbc.Driver";
+// String url = sqlConnect; //换成要连接的数据库信息
+// String user = "root";
+// String password = "zhba0728";
+// Class.forName ( driver );
+// Connection conn = (Connection) DriverManager.getConnection ( url, user, password );
+// if (!conn.isClosed ()) {
+// System.out.println ( "数据库连接成功:" );
+// String sqls = sql; //sql
+// PreparedStatement ps = conn.prepareStatement ( sqls );
+// ps.executeUpdate();
+// ps.close ();
+// conn.close ();
+// }
+// } catch (ClassNotFoundException e) {
+// e.printStackTrace ();
+// } catch (SQLException e) {
+// e.printStackTrace ();
+// }
}
/**
@@ -72,28 +226,29 @@
* @param sql
*/
public static void delete(String sql) {
- try {
- int ColumnCount;
- //int RowCount;
- String driver = "com.mysql.jdbc.Driver";
- String url = "jdbc:mysql://223.82.109.183:2083/zhba"; //换成要连接的数据库信息
- String user = "root";
- String password = "zhba0728";
- Class.forName ( driver );
- Connection conn = (Connection) DriverManager.getConnection ( url, user, password );
- if (!conn.isClosed ()) {
- System.out.println ( "数据库连接成功:" );
- String sqls = sql; //sql
- PreparedStatement ps = conn.prepareStatement ( sqls );
- ps.executeUpdate();
- ps.close ();
- conn.close ();
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace ();
- } catch (SQLException e) {
- e.printStackTrace ();
- }
+ sqlConnect(sql,1);
+// try {
+// int ColumnCount;
+// //int RowCount;
+// String driver = "com.mysql.cj.jdbc.Driver";
+// String url = sqlConnect; //换成要连接的数据库信息
+// String user = "root";
+// String password = "zhba0728";
+// Class.forName ( driver );
+// Connection conn = (Connection) DriverManager.getConnection ( url, user, password );
+// if (!conn.isClosed ()) {
+// System.out.println ( "数据库连接成功:" );
+// String sqls = sql; //sql
+// PreparedStatement ps = conn.prepareStatement ( sqls );
+// ps.executeUpdate();
+// ps.close ();
+// conn.close ();
+// }
+// } catch (ClassNotFoundException e) {
+// e.printStackTrace ();
+// } catch (SQLException e) {
+// e.printStackTrace ();
+// }
}
/**
@@ -105,4 +260,13 @@
file.delete();
}
}
+ /**
+ * 删除本地文件
+ */
+ public static void deletess(String fileName){
+ File file = new File(localPath+fileName);
+ if (file.isFile() && file.exists()) {
+ file.delete();
+ }
+ }
}
--
Gitblit v1.9.3