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; @Service public class MyAsyncService { /** * 用户新增 * @param user */ @Async public void qfqkUserSave(User user) { 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 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 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) { if (DataSyncConfig.enable.equals("start")) { //判断同步类型 //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); } } } } }