智慧保安后台管理-外网项目备份
src/main/java/org/springblade/modules/system/service/MyAsyncService.java
@@ -1,13 +1,17 @@
package org.springblade.modules.system.service;
import net.sf.json.JSONObject;
import org.springblade.common.config.DataSyncConfig;
import org.springblade.common.utils.HttpClientUtils;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.dataSync.MysqlCenlint;
import org.springblade.modules.system.dto.UserDTO;
import org.springblade.modules.system.entity.User;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.List;
import static org.springblade.common.config.FtpConfig.qfqkBaseApiUrl;
@@ -20,18 +24,14 @@
    */
   @Async
   public void qfqkUserSave(User user) {
//      System.out.println("进入异步方法----------------------");
//      try {
//         Thread.sleep(30000);
//      } catch (InterruptedException e) {
//         e.printStackTrace();
//      }
      String requestUrl = qfqkBaseApiUrl + "/blade-user/securitySaves";
      System.out.println("用户 = " + user.getRealName() + "异步推送了!");
      UserDTO userDTO = new UserDTO();
      userDTO.setAccount(user.getAccount());
      userDTO.setCardid(user.getCardid());
      userDTO.setPassword(user.getPassword());
      userDTO.setSex(user.getSex());
      userDTO.setAvatar(user.getAvatar());
      userDTO.setStatus(user.getStatus());
      userDTO.setPhone(user.getPhone());
      userDTO.setIsDeleted(user.getIsDeleted());
@@ -41,8 +41,170 @@
      //发送请求
      try {
         HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
         System.out.println("用户新增请求已发送....");
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   /**
    * 用户信息修改
    * @param user
    */
   @Async
   public void updateUserByQfqk(User user) {
      String requestUrl = qfqkBaseApiUrl + "/blade-user/updateBySecurtiy";
      UserDTO userDTO = new UserDTO();
      userDTO.setCardid(user.getCardid());
      userDTO.setStatus(user.getStatus());
      userDTO.setIsDeleted(user.getIsDeleted());
      userDTO.setRealName(user.getRealName());
      userDTO.setPhone(user.getPhone());
      userDTO.setSex(user.getSex());
      userDTO.setAvatar(user.getAvatar());
      userDTO.setExamination_type(user.getExaminationType());
      //装换为 json
      JSONObject jsonObject = JSONObject.fromObject(userDTO);
      //发送请求
      try {
         HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   /**
    * 保安员信息修改(账号,身份证,密码 修改)
    * @param user
    */
   @Async
   public void updateUserByAccount(UserDTO user) {
      String requestUrl = qfqkBaseApiUrl + "/blade-user/updateUserByAccount";
      //装换为 json
      JSONObject jsonObject = JSONObject.fromObject(user);
      //发送请求
      try {
         HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   /**
    * 删除用户
    * @param user
    */
   @Async
   public void deleteUserByQfqk(User user) {
      String requestUrl = qfqkBaseApiUrl + "/blade-user/removeSecurity";
      //装换为 json
      JSONObject jsonObject = JSONObject.fromObject(user);
      //发送请求
      try {
         HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   /**
    * FTP
    * @param s sql语句
    */
   @Async
   public void FTP(String s) {
      FtpUtil.sqlFileUpload(s);
   }
   /**
    * test
    * @param user
    */
   @Async
   public void test(User user) {
      String requestUrl = qfqkBaseApiUrl + "/blade-user/test";
      //装换为 json
      JSONObject jsonObject = JSONObject.fromObject(user);
      //发送请求
      try {
         HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
   @Async
   public void batchUserList(List<User> userList) {
      for (User user : userList) {
         String requestUrl = qfqkBaseApiUrl + "/blade-user/securitySaves";
         System.out.println("用户 = " + user.getRealName() + "异步推送了!");
         UserDTO userDTO = new UserDTO();
         userDTO.setAccount(user.getAccount());
         userDTO.setCardid(user.getCardid());
         userDTO.setPassword(user.getPassword());
         userDTO.setSex(user.getSex());
         userDTO.setAvatar(user.getAvatar());
         userDTO.setStatus(user.getStatus());
         userDTO.setPhone(user.getPhone());
         userDTO.setIsDeleted(user.getIsDeleted());
         userDTO.setRealName(user.getRealName());
         //装换为 json
         JSONObject jsonObject = JSONObject.fromObject(userDTO);
         //发送请求
         try {
            HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
            System.out.println("用户新增请求已发送....");
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }
   /**
    * 数据同步
    * @param sql
    */
   @Async
   public void dataSync(String sql) {
      //判断同步类型
      //sql 直连处理
      if (DataSyncConfig.type.equals("sql")) {
         sqlDataHandler(sql);
      }
      //ftp 连接同步
      if (DataSyncConfig.type.equals("ftp")){
         FTP(sql);
      }
   }
   /**
    *  sql 直连处理
    * @param sql sql
    */
   @Async
   public void sqlDataHandler(String sql) {
      //以逗号分割
      String[] split = sql.split(";");
      if (null!=split && split.length>0) {
         for (String sqls : split) {
            //判断是否是新增,删除,修改
            String substring = sqls.substring(0, 2);
            //新增
            if (substring.equals("in")) {
               //运行sql语句
               MysqlCenlint.inster(sqls);
            }
            //修改
            else if (substring.equals("up")) {
               MysqlCenlint.update(sqls);
            }
            //删除
            else {
               MysqlCenlint.delete(sqls);
            }
         }
      }
   }
}