JSON, string, map conversion

Source: Internet
Author: User

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, "China Merchants Bank");
Bankmap.put (short) 2, "GF Bank");
Bankmap.put (short) 3, "Everbright Bank");
Bankmap.put (short) 4, "Huaxia Bank");
Bankmap.put (short) 5, "CCB");
Bankmap.put (short) 6, "Minsheng Bank");
Bankmap.put (short) 7, "ABC");
Bankmap.put (short) 8, "Pune Bank");
Bankmap.put (short) 9, "Henyep Bank");
Bankmap.put ((short) 10, "Bank of China");
Bankmap.put (short) 11, "Citic Bank");
Bankmap.put (short) 12, "ICBC");
Bankmap.put (short) 13, "Bank of Communications");
Bankmap.put (short) 14, "Ping An Bank");
Bankmap.put (short) 15, "Postal Savings Bank");
Bankmap.put (short) 16, "Guangzhou Agricultural Business Bank");
Bankmap.put (short) 17, "Zhejiang Rural Credit");
Bankmap.put (short) 18, "Shanghai Bank");
Bankmap.put (short) 19, "Bank of Guangzhou");
Bankmap.put (short) 20, "Bank of Beijing");
Bankmap.put (short) 21, "Nanjing Bank");
Bankmap.put (short) 22, "Huizhou Merchants Bank");
Bankmap.put (short) 23, "Tianjin Bank");
Bankmap.put (short) 24, "Suzhou Bank");
Bankmap.put (short) 25, "Bank of Jiangsu");
Bankmap.put (short) 26, "Ningbo Bank");
Bankmap.put (short) 27, "Bank of Hangzhou");
Bankmap.put (short) 28, "Bank of Chongqing");
Bankmap.put (short) 29, "Changsha Bank");
Bankmap.put (short) 30, "Min Tai Bank");
Bankmap.put (short) 31, "Taizhou Bank");
Bankmap.put (short) 32, "Zhejiang Merchants Bank");
}


@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 {

Get User ID
TestCase TestCase = Commonutil_2.gettestcasebean (allcases, "Case1", "case1-1");
TestUser = integer.valueof (testcase.param1);
billID = integer.valueof (TESTCASE.PARAM2);
Spare = TESTCASE.PARAM3;


Get 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;

Delete, add data
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);
Update data
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 of expected values
list<bankbilldetail_test> excepted_detaillist = get_excepted_details (testuser);

++++++++++++++ Actual value +++++++++++++
String Actual_value =
iauditbilldetailservice.t06 (testuser);
System.out.println ("Actual_value value:" + actual_value);
String parsing
String Summary = Json.parseobject (Actual_value). GetString ("Summary");
String Detail = Json.parseobject (actual_value). getString ("Detail");
jsonarray list =json.parsearray (Detail);
Assertion
Assert.assertequals ("List", summary);
Assert.assertnotnull (list);
for (int i =0;i<list.size (); i++) {

String st = List.get (i). toString ();//list a single element into a string
objectmapper objectmapper = new Objectmapper ();
map map = Objectmapper.readvalue (St, Map.class);//convert String to Map.
SimpleDateFormat sdf = new SimpleDateFormat ("Yyyy-mm-dd HH:mm:ss");
Date Date=sdf.parse (Map.get ("Postdate"). toString ());//convert String to Date type
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);
}

Define Data Cleansing
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));
}
Update 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);
Update 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);
Update 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, string, map conversion

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.