JSON,字串,MAP轉換

來源:互聯網
上載者:User

標籤:null   hashmap   bean   unit   tostring   .text   not   car   abi   

package com.tree.autotest.testcase.IAuditBillDetailService;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.datatrees.basisdata.bankbill.service.IAuditBillDetailService;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Maps;
import com.tree.autotest.BaseJunit4Test;
import com.tree.autotest.commons.CommonUtil_2;
import com.tree.autotest.commons.TestCase;
import com.tree.autotest.jdbc.DBIdConstant;
import com.tree.autotest.jdbc.ManagedSqlUtil;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import javax.annotation.PostConstruct;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
* Created by lyh on 17/2/23.
*/
public class Test06 extends BaseJunit4Test{
@Autowired
private IAuditBillDetailService iAuditBillDetailService;

private boolean handleOk;
private String insertSql1,insertSql2,insertSql3,insertSql4;
private static String excel;
private static Map allCases;
private Integer testuser;
private Integer billid;
private String spare;

private Map<Short, String> bankMap = Maps.newHashMap();

@PostConstruct
public void init() {
bankMap.put((short)1, "招商銀行");
bankMap.put((short)2, "廣發銀行");
bankMap.put((short)3, "光大銀行");
bankMap.put((short)4, "華夏銀行");
bankMap.put((short)5, "建設銀行");
bankMap.put((short)6, "民生銀行");
bankMap.put((short)7, "農業銀行");
bankMap.put((short)8, "浦發銀行");
bankMap.put((short)9, "興業銀行");
bankMap.put((short)10, "中國銀行");
bankMap.put((short)11, "中信銀行");
bankMap.put((short)12, "工商銀行");
bankMap.put((short)13, "交通銀行");
bankMap.put((short)14, "平安銀行");
bankMap.put((short)15, "郵政儲蓄銀行");
bankMap.put((short)16, "廣州農商銀行");
bankMap.put((short)17, "浙江農信");
bankMap.put((short)18, "上海銀行");
bankMap.put((short)19, "廣州銀行");
bankMap.put((short)20, "北京銀行");
bankMap.put((short)21, "南京銀行");
bankMap.put((short)22, "徽商銀行");
bankMap.put((short)23, "天津銀行");
bankMap.put((short)24, "蘇州銀行");
bankMap.put((short)25, "江蘇銀行");
bankMap.put((short)26, "寧波銀行");
bankMap.put((short)27, "杭州銀行");
bankMap.put((short)28, "重慶銀行");
bankMap.put((short)29, "長沙銀行");
bankMap.put((short)30, "民泰銀行");
bankMap.put((short)31, "台州銀行");
bankMap.put((short)32, "浙商銀行");
}


@Before
public void setUp() throws SQLException {
excel = "src/main/resources/case/IAuditBillDetailService/TestT06.xlsx";
allCases = CommonUtil_2.getAllCases(excel);
}

@Test
public void test_case_1() throws Exception {

//擷取使用者ID
TestCase testcase = CommonUtil_2.getTestCaseBean(allCases, "case1", "case1-1");
testuser = Integer.valueOf(testcase.param1);
billid = Integer.valueOf(testcase.param2);
spare = testcase.param3;


//擷取SQL
insertSql1 = testcase.stepSql;
insertSql2 = CommonUtil_2.getTestCaseBean(allCases, "case1", "case1-2").stepSql;
insertSql3 = CommonUtil_2.getTestCaseBean(allCases, "case1", "case1-3").stepSql;
insertSql4 = CommonUtil_2.getTestCaseBean(allCases, "case1", "case1-4").stepSql;

//刪除,添加資料
handleOk &= deleteData(testuser,spare);
handleOk &= ManagedSqlUtil.insertBySql(insertSql1, DBIdConstant.MySql_Basisdata_ID);
handleOk &= ManagedSqlUtil.insertBySql(insertSql2,DBIdConstant.MySql_Basisdata_ID);
handleOk &= ManagedSqlUtil.insertBySql(insertSql3,DBIdConstant.MySql_Basisdata_ID);
handleOk &= ManagedSqlUtil.insertBySql(insertSql4,DBIdConstant.MySql_Basisdata_ID);
//更新資料
handleOk &=updateBillId(testuser,spare);
// Date date =DateTime.now().toDate();
// DateTime deadline = new DateTime(date).plusMonths(-18);
// DateTime specialDeadline = deadline.dayOfMonth().withMinimumValue();

// System.out.println("DateUtils.getDateTimeNow().toDate()" + specialDeadline);

//預期值列表
List<BankBillDetail_test> excepted_detaillist = get_excepted_details(testuser);

//++++++++++++++實際值+++++++++++++
String actual_value =
iAuditBillDetailService.T06(testuser);
System.out.println("actual_value值:" + actual_value);
//字串解析
String summary = JSON.parseObject(actual_value).getString("Summary");
String Detail = JSON.parseObject(actual_value).getString("Detail");
JSONArray list =JSON.parseArray(Detail);
//斷言
Assert.assertEquals("List", summary);
Assert.assertNotNull(list);
for(int i =0;i<list.size();i++) {

String st = list.get(i).toString();//list單個元素轉換為字串
ObjectMapper objectMapper = new ObjectMapper();
Map map = objectMapper.readValue(st, Map.class);//將字串轉換為Map.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=sdf.parse(map.get("PostDate").toString());//將字串轉換為Date類型
Assert.assertEquals(bankMap.get(excepted_detaillist.get(i).getBankId()), map.get("BankName"));
Assert.assertEquals(excepted_detaillist.get(i).getCardNo(), map.get("CardNo"));
Assert.assertEquals(excepted_detaillist.get(i).getTransTypeLevel1(), map.get("Type"));
Assert.assertEquals(excepted_detaillist.get(i).getDescription(), map.get("Description"));
Assert.assertEquals(excepted_detaillist.get(i).getPostDate().getTime(),date.getTime());
}

}


@After
public void tearDown() throws SQLException {
handleOk &= deleteData(testuser,spare);
}

//定義資料清理
public boolean deleteData(Integer userid,String spare) {
String deleteSql1 = "delete from t_bill where userid="+userid+" ;";
String deleteSql2 = "delete from t_bill_detail where spare1=‘"+spare+"‘;";
String deleteSql3 = "delete from t_bill_extrainfo where userid = "+userid+";";
String deleteSql4 = "delete from t_bill_installment_summary where spare1=‘"+spare+"‘ ;";
handleOk &= ManagedSqlUtil.deleteBySql(deleteSql1, DBIdConstant.MySql_Basisdata_ID);
handleOk &= ManagedSqlUtil.deleteBySql(deleteSql2, DBIdConstant.MySql_Basisdata_ID);
handleOk &= ManagedSqlUtil.deleteBySql(deleteSql3, DBIdConstant.MySql_Basisdata_ID);
handleOk &= ManagedSqlUtil.deleteBySql(deleteSql4, DBIdConstant.MySql_Basisdata_ID);
return handleOk;
}

public Boolean updateBillId(Integer userId,String Spare) throws SQLException{
String searchSql="select Id from t_bill where userid="+userId+";";
ResultSet rs =ManagedSqlUtil.selectBySql(searchSql,DBIdConstant.MySql_Basisdata_ID);
List<Integer> list = new ArrayList<Integer>();
while(rs.next()){
list.add(rs.getInt(1));
}
//更新t_bill_detail
String updateSql1="update t_bill_detail set billid="+list.get(0)+" where spare1=‘"+Spare+"‘;";
handleOk &= ManagedSqlUtil.updateBySql(updateSql1,DBIdConstant.MySql_Basisdata_ID);
//更新t_bill_extrainfo
String updateSql2="update t_bill_extrainfo set billid="+list.get(0)+" where userid="+userId+";";
handleOk &= ManagedSqlUtil.updateBySql(updateSql2, DBIdConstant.MySql_Basisdata_ID);
//更新t_bill_installment_summary
String updateSql3="update t_bill_installment_summary set billid="+list.get(0)+" where spare1=‘"+Spare+"‘;";
handleOk &= ManagedSqlUtil.updateBySql(updateSql3, DBIdConstant.MySql_Basisdata_ID);
return handleOk;
}
public List<BankBillDetail_test> get_excepted_details(Integer userid) throws SQLException {
String searchSql = "select BankId,CardNo,Level1TransType,Description,AmountMoney,PostDate from t_bill_detail where level1TransType=‘Level1_Comsumption‘ and TransactionTypeId =8 and billid in (select id from t_bill where userid="+userid+");";
ResultSet rs =ManagedSqlUtil.selectBySql(searchSql,DBIdConstant.MySql_Basisdata_ID);
List<BankBillDetail_test> list = new ArrayList<BankBillDetail_test>();
while(rs.next()){
BankBillDetail_test bankBillDetail = new BankBillDetail_test();
bankBillDetail.setBankId(rs.getShort("BankId"));
bankBillDetail.setCardNo(rs.getString("CardNo"));
bankBillDetail.setTransTypeLevel1(rs.getString("Level1TransType"));
bankBillDetail.setDescription(rs.getString("Description"));
bankBillDetail.setAmountManey(rs.getDouble("AmountMoney"));
bankBillDetail.setPostDate(rs.getDate("PostDate"));
list.add(bankBillDetail);
}
return list;
}
}

JSON,字串,MAP轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.