OrderDao.java 2.37 KB
package com.ectrip.cyt.db;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import java.util.ArrayList;
import java.util.List;

/**
 * @author dengchen
 *         Created by  2016/9/14.
 */
public class OrderDao {

    private OrderDbHrlper mHelper;

    public OrderDao(Context context) {
        if (mHelper == null) {
            synchronized (OrderDao.class){
                if (mHelper==null){
                    mHelper = new OrderDbHrlper(context);
                }
            }
        }
    }


    /**
     * 订单请求失败后,添加流水号
     *
     * @param orderid 订单号
     * @param pid  流水号
     * @return 返回true添加成功,返回false添加失败
     */
    public boolean add(String orderid, String pid) {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(OrderDbString.TableHistroy.INVITASION_PID, pid);
        values.put(OrderDbString.TableHistroy.INVITASION_ORDER, orderid);

        long insert = db.insert(OrderDbString.TableHistroy.TABLE_NAME, null, values);
        db.close();
        return insert != -1;
    }

    /**
     * 删除一条数据
     *
     * @return 返回true删除成功,返回false删除失败
     */
    public int deleteByOrder(String order) {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String whereClause = OrderDbString.TableHistroy.INVITASION_ORDER + "=?";
        int delete = db.delete(OrderDbString.TableHistroy.TABLE_NAME, whereClause, new String[]{order});

        db.close();
        return delete;
    }

    /**
     * 根据当前订单号查询流水号,返回浏览历史所需的的集合
     *
     * @param order
     * @return
     */
    public List<String> findByOrder(String order) {
        SQLiteDatabase db = mHelper.getReadableDatabase();
        String sql = OrderDbString.TableHistroy.QUERY_ALL_SQL;
        Cursor cursor = db.rawQuery(sql, new String[]{order});
        List<String> list = new ArrayList<>();
        if (cursor != null) {
            while (cursor.moveToNext()) {

                String pid = cursor.getString(0);
                list.add(pid);
            }
            cursor.close();
        }else {
            return null;
        }
        db.close();
        return list;
    }


}