package com.malk.ruisi.service.impl; import com.alibaba.fastjson.JSONObject; import com.malk.ruisi.service.BankNameService; import com.malk.server.aliwork.YDConf; import com.malk.server.aliwork.YDParam; import com.malk.server.aliwork.YDR; import com.malk.server.common.VenR; import com.malk.server.dingtalk.DDConf; import com.malk.server.dingtalk.DDR_New; import com.malk.service.aliwork.YDClient; import com.malk.service.dingtalk.DDClient; import com.malk.utils.UtilHttp; import com.malk.utils.UtilMap; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.annotations.Select; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Slf4j public class BankNameServiceImpl implements BankNameService { @Autowired private YDClient ydClient; @Autowired private DDClient ddClient; @Autowired private YDConf ydConf; @Autowired private DDConf ddConf; @Override public void BankName() { //1、数据库 List bankList = new ArrayList<>(); String sql = "SELECT * FROM V_BE_BEBANK"; String jdbcUrl = "jdbc:oracle:thin:@10.30.53.26:1521:orcldb"; String userName = "riverdeep86"; String password = "riverdeep86"; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection(jdbcUrl, userName, password); Statement statement = conn.createStatement(); ResultSet resultSet = statement.executeQuery(sql); int i=0; while (resultSet.next()){ i++; System.out.println(i+"-"+resultSet.getFetchSize()); System.out.println(resultSet.getString("FNUMBER")); String fid = resultSet.getString("FID"); String funmber = resultSet.getString("FNUMBER"); String fnameL2 = resultSet.getString("FNAME_L2"); String flastupdatetime = resultSet.getString("FLASTUPDATETIME"); HashMap bankmap = new HashMap<>(); bankmap.put("FID",fid); bankmap.put("FNUMBER",funmber); bankmap.put("FNAME_L2",fnameL2); bankmap.put("FLASTUPDATETIME",flastupdatetime); bankList.add(bankmap); } resultSet.close(); statement.close(); conn.close(); }catch (Exception e){ e.printStackTrace(); } //异常处理集合 ArrayList list1 = new ArrayList<>(); int i=0; //2、操作数据 for (Map bank : bankList) { i++; log.info("{}/{}",i,bankList.size()); String sc = "textField_lvkosqky, textField_luaz6x59, textField_luaz6x5a, textField_lvkosqkz"; String FID = bank.get("FID").toString()!=null?bank.get("FID").toString():"数据库此字段为空"; String FNUMBER = bank.get("FNUMBER").toString()!=null?bank.get("FNUMBER").toString():"数据库此字段为空"; String FNAME = bank.get("FNAME_L2").toString()!=null?bank.get("FNAME_L2").toString():"数据库此字段为空"; String FLASTUPDATETIME = bank.get("FLASTUPDATETIME").toString()!=null?bank.get("FLASTUPDATETIME").toString():"数据库此字段为空"; try{ /*List list=(List) ydClient.queryData(YDParam.builder().formUuid("FORM-72E05C080017421A8E22B36A8835847AARFT") .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_lvkosqky",bank.get("FID")))) .build(), YDConf.FORM_QUERY.retrieve_list).getData(); String s = convertToJson(bank.get("FID").toString()!=null?bank.get("FID").toString():"数据库此字段为空", bank.get("FNUMBER").toString()!=null?bank.get("FNUMBER").toString():"数据库此字段为空", bank.get("FNAME_L2").toString()!=null?bank.get("FNAME_L2").toString():"数据库此字段为空", bank.get("FLASTUPDATETIME").toString()!= null?bank.get("FLASTUPDATETIME").toString():"数据库此字段为空"); if(list!=null&&list.size()>0){ ydClient.operateData(YDParam.builder().formInstanceId(list.get(0).get("formInstanceId").toString()).updateFormDataJson(s).build(), YDConf.FORM_OPERATION.update); }else{ ydClient.operateData(YDParam.builder().formUuid("FORM-72E05C080017421A8E22B36A8835847AARFT").formDataJson(s).build(), YDConf.FORM_OPERATION.create); }*/ String string = ydClient.operateData(YDParam.builder() .formUuid("FORM-72E05C080017421A8E22B36A8835847AARFT") .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_lvkosqky",FID))) .formDataJson(JSONObject.toJSONString(UtilMap.map(sc, FID, FNUMBER, FNAME,FLASTUPDATETIME))) .build(), YDConf.FORM_OPERATION.upsert).toString(); System.out.println("数据:"+string); }catch (Exception e){//异常处理----------- e.printStackTrace(); log.info("bank:{}",bank); list1.add(bank);//存放错误信息 } } log.info("异常数据集合:{}",list1); } /*字段封装方法*/ public static String convertToJson(String fid, String fnumber, String fnameL2, String flastupdatetime) { // 创建一个JSONObject来保存数据 JSONObject jsonObject = new JSONObject(); jsonObject.put("textField_lvkosqky", fid); jsonObject.put("textField_luaz6x59", fnumber); jsonObject.put("textField_luaz6x5a", fnameL2); jsonObject.put("textField_lvkosqkz", flastupdatetime); // 将JSONObject转换为JSON字符串 String jsonString = jsonObject.toString(); // 返回JSON字符串 return jsonString; } }