1.SHAUtils 加密解密
package com.test.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHAUtils {
public static String sha1(String text) {
MessageDigest md = null;
String outStr = null;
try {
md = MessageDigest.getInstance("SHA-1");
byte[] digest = md.digest(text.getBytes());
outStr = byteToString(digest);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
return outStr;
}
private static String byteToString(byte[] digest) {
StringBuilder buf = new StringBuilder();
for (int i = 0; i < digest.length; i++) {
String tempStr = Integer.toHexString(digest[i] & 0xff);
if (tempStr.length() == 1) {
buf.append("0").append(tempStr);
} else {
buf.append(tempStr);
}
}
return buf.toString().toLowerCase();
}
public static void main(String[] args) {
System.out
.println(sha1("[{\"zuCard\":\"1000111100015155783\",\"fuCard\":\"1000111100015155793\",\"jine\":\"10\",\"jifen\":\"0\",\"yonghu\":\"��ϼ\",\"keyCode\":\"6ebd6b905f381487ef4567e5db47b224584c690e\"}]"));
}
}
2.map 转json
package com.test.util;
import java.util.Map;
import com.google.gson.Gson;
public class JsonUtils {
public static <T> String mapToJson(Map<String, T> map) {
Gson gson = new Gson();
String jsonStr = gson.toJson(map);
return jsonStr;
}
}
3.jdbc
package com.test.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class JdbcUtils {
static Connection conn = null;
static Statement st = null;
static ResultSet rs = null;
static PreparedStatement ps = null;
public static Connection getConnection() throws Exception {
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream(
"dbinfo.properties");
Properties prop = new Properties();
try {
prop.load(in);
String driver = prop.getProperty("driver");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username,
password);
if (conn != null) {
return conn;
} else {
throw new RuntimeException("connection is null!");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void release(Connection conn, Statement st, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
rs = null;
}
if (st != null) {
try {
// �رո���ִ��SQL�����Statement����
st.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static String getPwd(String account) {
String sql = "select password from account where account=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
rs = ps.executeQuery();
if (rs.next()) {
String pwd = rs.getString(1);
return pwd;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return null;
}
public static String getFirstCard(String account) {
String sql = "select card_no from p_card_info where card_account=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
rs = ps.executeQuery();
if (rs.next()) {
String firstCard = rs.getString(1);
return firstCard;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return null;
}
public static List<Map<String, String>> getAllCards(String account) {
String sql = "select card_no from p_card_info where card_account=? and card_type=?";
List<Map<String, String>> cardsList = new ArrayList<Map<String, String>>();
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
map.put("cardNo", rs.getString(1));
cardsList.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return cardsList;
}
public static boolean isCardExist(String account, String number) {
String sql = "select card_no from p_card_info where card_account=? and card_type=? and card_no=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
ps.setString(3, number);
rs = ps.executeQuery();
if (rs.next()) {
String card_no = rs.getString(1);
if (card_no != null) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return false;
}
public static List<Map<String, String>> getAllChildrenCards(String number) {
String sql = "select card_no,card_status from crawler_child_card where parent_card_no=? and card_type=?";
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, number);
ps.setString(2, "zsh");
rs = ps.executeQuery();
ResultSetMetaData rsMeta = rs.getMetaData();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
int columnNum = rsMeta.getColumnCount();
for (int i = 1; i <= columnNum; i++) {
String cardNo = rs.getString(1);
String cardStatus = rs.getString(2);
map.put("cardNo", cardNo);
map.put("cardStatus", cardStatus);
list.add(map);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static boolean isMainCardContainChildrenCard(String childrenNo,
String mainNo) {
String sql = "select card_no,card_balance from crawler_child_card where card_no=? and parent_card_no=? and card_type=?";
List<String> list = new ArrayList<String>();
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
String card_no = rs.getString(1);
list.add(card_no);
if (list.contains(childrenNo)) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return false;
}
public static List<Map<String, String>> getChildrenCardInfo(
String childrenNo, String mainNo) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select card_no,card_balance from crawler_child_card where card_no=? and parent_card_no=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String cardNo = rs.getString(1);
String cardBalance = rs.getString(2);
map.put("cardNo", cardNo);
map.put("cardBalance", cardBalance);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getTranctionLogRecord(
String childrenNo, String startDate,String endDate) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select holders,card_no,amount,balance,count,model,price,fuel_date,reward,address,extype from fuel_record where card_no=? and card_type=? and FROM_UNIXTIME(fuel_date,\"%Y-%m-%d\") between ? and ?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, "zsh");
ps.setString(3, startDate);
ps.setString(4, endDate);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String holders = rs.getString(1);
String cardNo = rs.getString(2);
double amountDB = rs.getDouble(3);
String amount = Double.toString(amountDB*100);
double balanceDB = rs.getDouble(4);
String balance = Double.toString(balanceDB*100);
double countDB = rs.getDouble(5);
String count = Double.toString(countDB*100);
String model = rs.getString(6);
double priceDB = rs.getDouble(7);
String price = Double.toString(priceDB*100);
long fuelDateDB = rs.getLong(8);
String fuelDate=DateUtils.time24(new Date(fuelDateDB));
double rewardDB = rs.getDouble(9);
String reward = Double.toString(rewardDB*100);
String address = rs.getString(10);
String extype = rs.getString(11);
map.put("holders", holders);
map.put("cardNo", cardNo);
map.put("amount", amount);
map.put("balance", balance);
map.put("litre", count);
map.put("oilName", model);
map.put("price", price);
map.put("opeTime", fuelDate);
map.put("reward", reward);
map.put("nodeTag", address);
map.put("traName", extype);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getYuFenPeiLogRecord(
String mainNo,String childrenNo, String startDate,String endDate) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select amount,card_no,ope_time,card_holder,node_tag,card_integral,tra_name from assign_data where card_no=? and parent_card=? and card_type=? and FROM_UNIXTIME(ope_time,\"%Y-%m-%d\") between ? and ?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
ps.setString(4, startDate);
ps.setString(5, endDate);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
double amountDB = rs.getDouble(1);
String amount = Double.toString(amountDB*100);
String cardNo = rs.getString(2);
long fuelDateDB = rs.getLong(3);
String fuelDate=DateUtils.time24(new Date(fuelDateDB));
String cardHolder = rs.getString(4);
String nodeTag = rs.getString(5);
String cardIntegral = rs.getString(6);
String traName = rs.getString(7);
map.put("amount", amount);
map.put("cardNo", cardNo);
map.put("opeTime", fuelDate);
map.put("cardHolder", cardHolder);
map.put("nodeTag", nodeTag);
map.put("cardIntegral", cardIntegral);
map.put("traName", traName);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static Map<String, String> getBalanceCardList(
String mainNo,String cardNum) {
Map<String, String> map = new HashMap<String, String>();
String sql = "select card_no,pre_balance,card_integral,pre_integral,card_balance from crawler_child_card where card_no=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
String cardNo = rs.getString(1);
String preBalance = rs.getString(2);
String cardIntegral = rs.getString(3);
String preIntegral = rs.getString(4);
String cardBalance = rs.getString(5);
map.put("cardNo", cardNo);
map.put("preBalance", preBalance);
map.put("cardIntegral", cardIntegral);
map.put("preIntegral", preIntegral);
map.put("cardBalance", cardBalance);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return map;
}
public static List<Map<String, String>> getChildBalanceCardList(
String mainNo,String cardNum) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select card_no,pre_balance,card_integral,pre_integral,card_balance from crawler_child_card where parent_card_no=? and card_no!=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String cardNo = rs.getString(1);
String preBalance = rs.getString(2);
String cardIntegral = rs.getString(3);
String preIntegral = rs.getString(4);
String cardBalance = rs.getString(5);
map.put("cardNo", cardNo);
map.put("preBalance", preBalance);
map.put("cardIntegral", cardIntegral);
map.put("preIntegral", preIntegral);
map.put("cardBalance", cardBalance);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getChargeDetail(
String mainNo,String startDate,String endDate) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select advpay_type,amount,nodeTag,openTime from charge_detail where card_no=? and card_type=? and FROM_UNIXTIME(openTime,\"%Y-%m-%d\") between ? and ?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, "zsh");
ps.setString(3, startDate);
ps.setString(4, endDate);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String advpayType = rs.getString(1);
double amountDB = rs.getDouble(2);
String amount = Double.toString(amountDB*100);
String nodeTag = rs.getString(3);
long fuelDateDB = rs.getLong(4);
String fuelDate=DateUtils.time24(new Date(fuelDateDB));
map.put("advpayType", advpayType);
map.put("amount", amount);
map.put("nodeTag", nodeTag);
map.put("opeTime", fuelDate);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getCurrentCardBalance(
String mainNo) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select card_no,balance,status from p_card_info where card_no=? and card_type=? ";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String cardNo = rs.getString(1);
double balanceDB = rs.getDouble(2);
String balance = Double.toString(balanceDB*100);
String cardStatus = rs.getString(3);
map.put("cardNo", cardNo);
map.put("balance", balance);
map.put("cardStatus", cardStatus);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
}
package com.test.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class JdbcUtils {
static Connection conn = null;
static Statement st = null;
static ResultSet rs = null;
static PreparedStatement ps = null;
public static Connection getConnection() throws Exception {
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream(
"dbinfo.properties");
Properties prop = new Properties();
try {
prop.load(in);
String driver = prop.getProperty("driver");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username,
password);
if (conn != null) {
return conn;
} else {
throw new RuntimeException("connection is null!");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void release(Connection conn, Statement st, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
rs = null;
}
if (st != null) {
try {
// �رո���ִ��SQL�����Statement����
st.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static String getPwd(String account) {
String sql = "select password from account where account=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
rs = ps.executeQuery();
if (rs.next()) {
String pwd = rs.getString(1);
return pwd;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return null;
}
public static String getFirstCard(String account) {
String sql = "select card_no from p_card_info where card_account=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
rs = ps.executeQuery();
if (rs.next()) {
String firstCard = rs.getString(1);
return firstCard;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return null;
}
public static List<Map<String, String>> getAllCards(String account) {
String sql = "select card_no from p_card_info where card_account=? and card_type=?";
List<Map<String, String>> cardsList = new ArrayList<Map<String, String>>();
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
map.put("cardNo", rs.getString(1));
cardsList.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return cardsList;
}
public static boolean isCardExist(String account, String number) {
String sql = "select card_no from p_card_info where card_account=? and card_type=? and card_no=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, account);
ps.setString(2, "zsh");
ps.setString(3, number);
rs = ps.executeQuery();
if (rs.next()) {
String card_no = rs.getString(1);
if (card_no != null) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return false;
}
public static List<Map<String, String>> getAllChildrenCards(String number) {
String sql = "select card_no,card_status from crawler_child_card where parent_card_no=? and card_type=?";
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, number);
ps.setString(2, "zsh");
rs = ps.executeQuery();
ResultSetMetaData rsMeta = rs.getMetaData();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
int columnNum = rsMeta.getColumnCount();
for (int i = 1; i <= columnNum; i++) {
String cardNo = rs.getString(1);
String cardStatus = rs.getString(2);
map.put("cardNo", cardNo);
map.put("cardStatus", cardStatus);
list.add(map);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static boolean isMainCardContainChildrenCard(String childrenNo,
String mainNo) {
String sql = "select card_no,card_balance from crawler_child_card where card_no=? and parent_card_no=? and card_type=?";
List<String> list = new ArrayList<String>();
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
String card_no = rs.getString(1);
list.add(card_no);
if (list.contains(childrenNo)) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return false;
}
public static List<Map<String, String>> getChildrenCardInfo(
String childrenNo, String mainNo) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select card_no,card_balance from crawler_child_card where card_no=? and parent_card_no=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String cardNo = rs.getString(1);
String cardBalance = rs.getString(2);
map.put("cardNo", cardNo);
map.put("cardBalance", cardBalance);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getTranctionLogRecord(
String childrenNo, String startDate,String endDate) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select holders,card_no,amount,balance,count,model,price,fuel_date,reward,address,extype from fuel_record where card_no=? and card_type=? and FROM_UNIXTIME(fuel_date,\"%Y-%m-%d\") between ? and ?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, "zsh");
ps.setString(3, startDate);
ps.setString(4, endDate);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String holders = rs.getString(1);
String cardNo = rs.getString(2);
double amountDB = rs.getDouble(3);
String amount = Double.toString(amountDB*100);
double balanceDB = rs.getDouble(4);
String balance = Double.toString(balanceDB*100);
double countDB = rs.getDouble(5);
String count = Double.toString(countDB*100);
String model = rs.getString(6);
double priceDB = rs.getDouble(7);
String price = Double.toString(priceDB*100);
long fuelDateDB = rs.getLong(8);
String fuelDate=DateUtils.time24(new Date(fuelDateDB));
double rewardDB = rs.getDouble(9);
String reward = Double.toString(rewardDB*100);
String address = rs.getString(10);
String extype = rs.getString(11);
map.put("holders", holders);
map.put("cardNo", cardNo);
map.put("amount", amount);
map.put("balance", balance);
map.put("litre", count);
map.put("oilName", model);
map.put("price", price);
map.put("opeTime", fuelDate);
map.put("reward", reward);
map.put("nodeTag", address);
map.put("traName", extype);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getYuFenPeiLogRecord(
String mainNo,String childrenNo, String startDate,String endDate) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select amount,card_no,ope_time,card_holder,node_tag,card_integral,tra_name from assign_data where card_no=? and parent_card=? and card_type=? and FROM_UNIXTIME(ope_time,\"%Y-%m-%d\") between ? and ?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, childrenNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
ps.setString(4, startDate);
ps.setString(5, endDate);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
double amountDB = rs.getDouble(1);
String amount = Double.toString(amountDB*100);
String cardNo = rs.getString(2);
long fuelDateDB = rs.getLong(3);
String fuelDate=DateUtils.time24(new Date(fuelDateDB));
String cardHolder = rs.getString(4);
String nodeTag = rs.getString(5);
String cardIntegral = rs.getString(6);
String traName = rs.getString(7);
map.put("amount", amount);
map.put("cardNo", cardNo);
map.put("opeTime", fuelDate);
map.put("cardHolder", cardHolder);
map.put("nodeTag", nodeTag);
map.put("cardIntegral", cardIntegral);
map.put("traName", traName);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static Map<String, String> getBalanceCardList(
String mainNo,String cardNum) {
Map<String, String> map = new HashMap<String, String>();
String sql = "select card_no,pre_balance,card_integral,pre_integral,card_balance from crawler_child_card where card_no=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
String cardNo = rs.getString(1);
String preBalance = rs.getString(2);
String cardIntegral = rs.getString(3);
String preIntegral = rs.getString(4);
String cardBalance = rs.getString(5);
map.put("cardNo", cardNo);
map.put("preBalance", preBalance);
map.put("cardIntegral", cardIntegral);
map.put("preIntegral", preIntegral);
map.put("cardBalance", cardBalance);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return map;
}
public static List<Map<String, String>> getChildBalanceCardList(
String mainNo,String cardNum) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select card_no,pre_balance,card_integral,pre_integral,card_balance from crawler_child_card where parent_card_no=? and card_no!=? and card_type=?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, mainNo);
ps.setString(3, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String cardNo = rs.getString(1);
String preBalance = rs.getString(2);
String cardIntegral = rs.getString(3);
String preIntegral = rs.getString(4);
String cardBalance = rs.getString(5);
map.put("cardNo", cardNo);
map.put("preBalance", preBalance);
map.put("cardIntegral", cardIntegral);
map.put("preIntegral", preIntegral);
map.put("cardBalance", cardBalance);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getChargeDetail(
String mainNo,String startDate,String endDate) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select advpay_type,amount,nodeTag,openTime from charge_detail where card_no=? and card_type=? and FROM_UNIXTIME(openTime,\"%Y-%m-%d\") between ? and ?";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, "zsh");
ps.setString(3, startDate);
ps.setString(4, endDate);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String advpayType = rs.getString(1);
double amountDB = rs.getDouble(2);
String amount = Double.toString(amountDB*100);
String nodeTag = rs.getString(3);
long fuelDateDB = rs.getLong(4);
String fuelDate=DateUtils.time24(new Date(fuelDateDB));
map.put("advpayType", advpayType);
map.put("amount", amount);
map.put("nodeTag", nodeTag);
map.put("opeTime", fuelDate);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
public static List<Map<String, String>> getCurrentCardBalance(
String mainNo) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
String sql = "select card_no,balance,status from p_card_info where card_no=? and card_type=? ";
try {
conn = JdbcUtils.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, mainNo);
ps.setString(2, "zsh");
rs = ps.executeQuery();
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
String cardNo = rs.getString(1);
double balanceDB = rs.getDouble(2);
String balance = Double.toString(balanceDB*100);
String cardStatus = rs.getString(3);
map.put("cardNo", cardNo);
map.put("balance", balance);
map.put("cardStatus", cardStatus);
list.add(map);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(conn, st, rs);
}
return list;
}
}
4.date
package com.test.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class DateUtils {
public static Long nowDateTime() {
return System.currentTimeMillis() / 1000;
}
/**
* 日期短格式yyyy-MM-dd
*/
public static final String DATE_SHORT = "yyyy-MM-dd";
/**
* 24小时格式
*/
public static final String DATE_MINUTES = "yyyy-MM-dd HH:mm:ss";
/**
* 12小时格式
*/
public static final String DATE_MINUTES_12 = "yyyy-MM-dd hh-mm-ss";
private static final String dateFormate_Now = "yyyyMMdd";
private static final SimpleDateFormat dateformat = new SimpleDateFormat(DATE_MINUTES);
private static final SimpleDateFormat dateformat_now = new SimpleDateFormat(dateFormate_Now);
// public static final String ZERO_TIME = " 00:00:00";
public static String longToShowDiffDate(Long diff) {
String time = "";
if (diff > 0) {
diff = diff / 1000;
Long day = diff / (3600 * 24);
if (day > 0) {
time += day + "天";
}
Long hour = diff % (3600 * 24) / (3600);
if (hour > 0) {
time += (hour + 1) + "小时";
} else {
time += 1 + "小时";
}
// Long minute = diff % 3600 / 60;
// if (minute > 0) {
// time += minute + "分";
// }
// Long second = diff % (60) / 60;
// if (second > 0) {
// time += second + "秒";
// }
}
return time;
}
public static String longToShowDate(Long diff) {
String time = "";
if (diff > 0) {
diff = diff / 1000;
Long hour = diff / (3600);
if (hour > 0) {
time += hour + "小时";
}
Long minute = diff % 3600 / 60;
if (minute > 0) {
time += minute + "分";
}
Long second = diff % (60) / 60;
if (second > 0) {
time += second + "秒";
}
}
return time;
}
public static String longToDate(Long input, String patten) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(input * 1000);
return new SimpleDateFormat(patten).format(calendar.getTime());
}
public static Date lastDayOfMonth(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
return formatDate(cal.getTime());
}
public static Date firstDayOfMonth(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE));
return formatDate(cal.getTime());
}
/**
* 获取指定时间所在月份的第一天
*
* @param date 日期
* @return
*/
public static Date firstDayOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, 1);
return calendar.getTime();
}
/**
* 获取指定时间所在月份的最后一天
*
* @param date
* @return
*/
public static Date lastDayOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.MONTH, 1);
calendar.add(Calendar.DATE, -1);
return calendar.getTime();
}
public static String getDateText(Date date) {
if (date != null) {
return dateformat.format(date);
}
return "";
}
public static String getCurrentDateText() {
Date date = new Date();
return dateformat_now.format(date);
}
public static String dayMove(String date, int len) {
return dateMove(date, len, Calendar.DATE, DATE_SHORT);
}
public static String dayMove(Date date, int len) {
return dateMove(date, len, Calendar.DATE, DATE_SHORT);
}
public static String dayMove(Date date, int len, String pattern) {
return dateMove(date, len, Calendar.DATE, pattern);
}
public static String dayMove(String date, int len, String pattern) {
return dateMove(date, len, Calendar.DATE, pattern);
}
public static Date dayMoveNoFormat(Date date, int len) {
return dateMoveToDate(date, len, Calendar.DATE);
}
public static String mouthMove(Date date, int len) {
return dateMove(date, len, Calendar.MONTH, DATE_SHORT);
}
public static String mouthMove(String date, int len) {
return dateMove(date, len, Calendar.MONTH, DATE_SHORT);
}
public static String mouthMove(Date date, int len, String pattern) {
return dateMove(date, len, Calendar.MONTH, pattern);
}
public static String mouthMove(String date, int len, String pattern) {
return dateMove(date, len, Calendar.MONTH, pattern);
}
public static String yearMove(String date, int len) {
return dateMove(date, len, Calendar.YEAR, DATE_SHORT);
}
public static String yearMove(Date date, int len) {
return dateMove(date, len, Calendar.YEAR, DATE_SHORT);
}
public static String yearMove(String date, int len, String pattern) {
return dateMove(date, len, Calendar.YEAR, pattern);
}
public static String yearMove(Date date, int len, String pattern) {
return dateMove(date, len, Calendar.YEAR, pattern);
}
private static String dateMove(String date, int len, int field, String pattern) {
return dateMove(stringToDate(date, pattern), len, field, pattern);
}
private static String dateMove(Date date, int len, int field, String pattern) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(field, len);
return dateToString(cal.getTime(), pattern);
}
public static String hourMove(Date date, Integer len, String pattern) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR_OF_DAY, len);
return dateToString(cal.getTime(), pattern);
}
public static Date hourMove(Date date, Integer len) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR_OF_DAY, len);
return cal.getTime();
}
private static Date dateMoveToDate(Date date, int len, int field) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(field, len);
return cal.getTime();
}
public static String time() {
return dateToString(new Date(), DATE_MINUTES_12);
}
public static String time24() {
return time24(new Date());
}
public static String time24(Date date) {
return dateToString(date, DATE_MINUTES);
}
public static String nowDate() {
return dateToString(new Date(), DATE_SHORT);
}
public static boolean isSameDate(Date date) {
if (dateToString(new Date()).equals(dateToString(date))) {
return true;
}
return false;
}
public static Date dateReducingTime(Date date, int minute) {
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, -minute);
return calendar.getTime();
}
/**
* 将当前时间减少几分钟
*
* @param minute
* @return
*/
public static Date currentDateReducingTime(int minute) {
Calendar calendar = new GregorianCalendar();
return dateReducingTime(calendar.getTime(), minute);
}
/**
* @return String
* @description -返回系统现在时间的毫秒数
*/
public static String timeMilliseconds() {
return String.valueOf(new Date().getTime());
}
/**
* @param pattern -格式 <br>
* Date date -日期对象
* @return String -日期字符串
* @description 将日期对象date转化成格式pattern的日期字符串
*/
public static String dateToString(Date date, String pattern) {
return new SimpleDateFormat(pattern).format(date);
}
/**
* @param date
* @return String
* @description 返回指定时间的字符串 (yyyy-MM-dd hh-mm-ss),12小时格式
*/
public static String timeToString(Date date) {
return dateToString(date, DATE_MINUTES_12);
}
public static String dateToString(Date date) {
if (date != null) {
return dateToString(date, DATE_SHORT);
} else {
return null;
}
}
/**
* @param dateStr -日期字符串 <br>
* String pattern -转化格式
* @return Date -转化成功返回该格式的日期对象,失败返回null
* @description -按格式pattern将字符串dateStr转化为日期
*/
public static Date stringToDate(String dateStr, String pattern) {
Date date = null;
try {
date = new SimpleDateFormat(pattern).parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static Date stringTo12Time(String timeStr) {
return stringToDate(timeStr, DATE_MINUTES_12);
}
public static Date stringTo24Time(String timeStr) {
return stringToDate(timeStr, DATE_MINUTES);
}
public static Date stringToDate(String dateStr) {
return stringToDate(dateStr, DATE_SHORT);
}
public static String format(String dateString, String pattern) {
String result = null;
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
try {
result = dateFormat.format(dateFormat.parse(dateString));
} catch (ParseException e) {
e.printStackTrace();
}
return result;
}
public static String format(String dateString) {
return format(dateString, DATE_SHORT);
}
/**
* @param date 日期字
* @param days 加多少天
* @return
*/
public static Date addDays(Date date, int days) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + days);
return formatDate(calendar.getTime());
}
public static Date formatDate(Date date) {
String dateString = dateToString(date);
return stringToDate(dateString);
}
public static String formatDate(Date date, String pattern) {
return dateToString(date, pattern);
}
/**
* 判断当前日期 > 传入的日期 返回true。
* 判断当前日期 <= 传入的日期 返回false。
*
* @param vDate
* @return
*/
public static boolean isAfterDate(Date vDate) {
Calendar nowDate = GregorianCalendar.getInstance();
return nowDate.after(vDate);
}
/**
* 判断日期的相隔天数
*
* @param startDate
* @param endDate
* @return
*/
public static int distDates(Date startDate, Date endDate) {
long totalDate = 0;
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endalendar = Calendar.getInstance();
endalendar.setTime(endDate);
long timestart = startCalendar.getTimeInMillis();
long timeend = endalendar.getTimeInMillis();
totalDate = Math.abs((timeend - timestart)) / (1000 * 60 * 60 * 24);
return Long.valueOf(totalDate).intValue();
}
/**
* 判断传入的日期与服务器当前日期的相隔天数
*
* @param vDate
* @return
*/
public static int distCurrentDates(Date vDate) {
return distDates(new Date(), vDate);
}
/**
* 判断日期相隔的时、分、秒
*/
public static Long[] distTime(Date startDate, Date endDate) {
long hour = 0;
long min = 0;
long sec = 0;
if (startDate != null && endDate != null) {
long time1 = startDate.getTime();
long time2 = endDate.getTime();
long diff;
if (time1 < time2) {
hour = 0L;
min = 0L;
sec = 0L;
} else {
diff = time1 - time2;
hour = diff / (60 * 60 * 1000);
min = ((diff / (60 * 1000)) - hour * 60);
sec = (diff / 1000 - hour * 60 * 60 - min * 60);
}
}
Long[] times = {hour, min, sec};
return times;
}
/**
* 判断日期相隔的天、时、分
*/
public static Long[] distMinute(Date startDate, Date endDate) {
long day = 0;
long hour = 0;
long min = 0;
if (startDate != null && endDate != null) {
long time1 = startDate.getTime();
long time2 = endDate.getTime();
long diff;
if (time1 < time2) {
day = 0L;
hour = 0L;
min = 0L;
} else {
diff = time1 - time2;
day = diff / (1000 * 60 * 60 * 24);
hour = (diff / (60 * 60 * 1000) - day * 24);
min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
}
}
Long[] times = {day, hour, min};
return times;
}
/**
* 判断传入日期与服务器当期日期相隔的时、分、秒
*/
public static Long[] distCurrentTime(Date vDate) {
return distTime(vDate, new Date());
}
/**
* 判断传入日期与服务器当期日期相隔的天、时、分
*/
public static Long[] distCurrentMinute(Date vDate) {
return distMinute(vDate, new Date());
}
/**
* 返回当前日期的星期数
* 星期天为1,星期一为:2星期二为3,以此类推星期天为7
*
* @return
*/
public static int dayOfWeek() {
Calendar nowDate = GregorianCalendar.getInstance();
return nowDate.get(Calendar.DAY_OF_WEEK);
}
/**
* 获取传入日期的星期
*
* @param date
* @return
*/
public static String dayWeek(Date date) {
String[] weeks = {"sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int dayInweek = cal.get(Calendar.DAY_OF_WEEK) - 1;
return weeks[dayInweek];
}
/**
* 获取传入日期的星期
*
* @param date
* @return
*/
public static String chinaDayWeek(Date date) {
String[] weeks = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int dayInweek = cal.get(Calendar.DAY_OF_WEEK) - 1;
return weeks[dayInweek];
}
/**
* 当前时间与传入时间的比较
*/
public static boolean distTime(String startTime, String endTime) {
Calendar nowTime = Calendar.getInstance();
Calendar sTime = Calendar.getInstance();
Calendar eTime = Calendar.getInstance();
nowTime.set(Calendar.SECOND, 0);
String[] sa = startTime.split(":");
String[] ea = endTime.split(":");
if (sa.length > 1 && ea.length > 1) {
sTime.set(Calendar.HOUR_OF_DAY, Integer.valueOf(sa[0]));
sTime.set(Calendar.MINUTE, Integer.valueOf(sa[1]));
eTime.set(Calendar.HOUR_OF_DAY, Integer.valueOf(ea[0]));
eTime.set(Calendar.MINUTE, Integer.valueOf(ea[1]));
return nowTime.compareTo(sTime) > 0 && nowTime.compareTo(eTime) < 0;
}
return true;
}
public static Date lastWeekBegin() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.DATE, -8);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
Calendar dayInWeek = (Calendar) calendar.clone();
dayInWeek.add(Calendar.DATE, calendar.getActualMinimum(Calendar.DAY_OF_WEEK) - dayOfWeek + 1);
Date firstDayInWeek = dayInWeek.getTime();
return formatDate(firstDayInWeek);
}
public static Date lastWeekEnd() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(lastWeekBegin());
calendar.add(Calendar.DATE, 6);
Date endDayInWeek = calendar.getTime();
return formatDate(endDayInWeek);
}
/**
* 返回date集合
*
* @param begin
* @param end
* @return
*/
public static List<Date> days(String begin, String end) {
int distDates = distDates(stringToDate(begin), stringToDate(end)) + 1;
List<Date> days = new ArrayList<Date>();
for (int i = 1; i <= distDates; i++) {
days.add(dayMoveNoFormat(stringToDate(begin), distDates - i));
}
return days;
}
public static List<Date> days(Date begin, Date end) {
int distDates = distDates(begin, end) + 1;
List<Date> days = new ArrayList<Date>();
for (int i = 1; i <= distDates; i++) {
days.add(dayMoveNoFormat(begin, distDates - i));
}
return days;
}
public static List<Date> days(String dateStr) {
Date date = stringToDate(dateStr);
List<Date> days = new ArrayList<Date>();
for (int i = 0; i < 2; i++) {
days.add(DateUtils.dayMoveNoFormat(date, 0 - i));
}
return days;
}
public static String getUnixTimeString(Long unixTime) {
Date date = new Date();
date.setTime(unixTime*1000);
return DateUtils.dateToString(date);
}
public static String getUnixTimeString(Long unixTime,String pattern) {
Date date = new Date();
date.setTime(unixTime*1000);
return DateUtils.dateToString(date,pattern);
}
public static long dateTime() {
return System.currentTimeMillis()/1000;
}
public static long dateTime(Date date) {
return date.getTime()/1000;
}
}