IBPSService.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.jyxt.getdatabyrestful.service;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.beans.factory.annotation.Value;
  7. import org.springframework.jdbc.core.JdbcTemplate;
  8. import org.springframework.stereotype.Component;
  9. import java.sql.Timestamp;
  10. import java.util.*;
  11. @Component
  12. public class IBPSService {
  13. private static final Logger log = LoggerFactory.getLogger(IBPSService.class);
  14. @Value("${config.qrymode}")
  15. private String qrymode;
  16. @Autowired
  17. private JdbcTemplate jdbcTemplate;
  18. private static final ObjectMapper mapper = new ObjectMapper();
  19. public List<Map<String,Object>> getUndoList(){
  20. List<Map<String,Object>> undoList = new ArrayList<>();
  21. String sqlQryUndo = "SELECT * from t_snwsdjkjlb where date(create_time_)=CURRENT_DATE and shi_fou_guo_shen_='待处理'";
  22. log.info("excute sql:"+sqlQryUndo);
  23. undoList = jdbcTemplate.queryForList(sqlQryUndo);
  24. return undoList;
  25. }
  26. public List<Map<String,Object>> getConfList(){
  27. List<Map<String,Object>> configList = new ArrayList<>();
  28. String sqlQryConf = "select * from t_wsdcjpzb where shi_fou_qi_yong_='是'";
  29. log.info("excute sql:"+sqlQryConf);
  30. configList = jdbcTemplate.queryForList(sqlQryConf);
  31. return configList;
  32. }
  33. public String UpdateData(String TableName, String id, String retJsonStr, String JsonFlag, String timeSlot, String timeStr){
  34. // 解析状态标志
  35. String[] flags = JsonFlag.split("\\^"); // 注意:^是正则表达式特殊字符,需要转义
  36. String finishFlag = flags[0];
  37. String contrlFlag = flags[1];
  38. // 准备更新时间和失控状态
  39. // String updateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
  40. Timestamp updateTime = new Timestamp(new Date().getTime());
  41. String shiKongZhuangT = "0".equals(contrlFlag) ? "正常" : "失控";
  42. String sqlTime = "";
  43. if(timeSlot.equals("上午")){
  44. sqlTime = "shang_wu_jian_kon";
  45. }
  46. if(timeSlot.equals("下午")){
  47. sqlTime = "xia_wu_jian_kong_";
  48. }
  49. // 构建SQL语句
  50. String sql;
  51. Object[] params;
  52. if ("1".equals(finishFlag)) {
  53. // 已完成的情况
  54. sql = "UPDATE " + TableName + " SET lie_biao_shu_ju_=?, update_time_=?, bei_zhu_='自动导入', "
  55. + "shi_kong_zhuang_t=?, shi_fou_guo_shen_='已完成',"+sqlTime+"=? WHERE id_=?";
  56. params = new Object[]{retJsonStr, updateTime, shiKongZhuangT, timeStr, id};
  57. } else {
  58. // 未完成的情况
  59. sql = "UPDATE " + TableName + " SET lie_biao_shu_ju_=?, update_time_=?, bei_zhu_='自动导入', "
  60. + "shi_kong_zhuang_t=?,"+sqlTime+"=? WHERE id_=?";
  61. params = new Object[]{retJsonStr, updateTime, shiKongZhuangT, timeStr, id};
  62. }
  63. try {
  64. // 执行更新操作
  65. int affectedRows = 0;
  66. if(qrymode.equals("0")){
  67. log.info("Ready to update:TableName,{},id:{},retJsonStr:{},JsonFlag:{}",TableName,id,retJsonStr,JsonFlag);
  68. affectedRows = jdbcTemplate.update(sql, params);
  69. } else {
  70. log.info("qry mode,TableName,{},id:{},retJsonStr:{},JsonFlag:{}",TableName,id,retJsonStr,JsonFlag);
  71. affectedRows = 1;
  72. }
  73. if (affectedRows > 0) {
  74. return "1"; // 更新成功
  75. } else {
  76. log.warn("更新失败,未找到匹配的记录。表: " + TableName + ", ID: " + id);
  77. return "0"; // 更新失败
  78. }
  79. } catch (Exception e) {
  80. log.error("数据库更新失败: " + e.getMessage(), e);
  81. return "0"; // 更新失败
  82. }
  83. }
  84. }