package com.lotaai.canguiayw.sqllitedb;
|
|
import com.blankj.utilcode.util.LogUtils;
|
import com.lotaai.canguiayw.application.ActivityLifecycleApplcation;
|
|
import org.greenrobot.greendao.query.QueryBuilder;
|
|
import java.util.List;
|
|
public class SqlliteDbManage {
|
private static SqlliteDbManage sqlliteDbManage;
|
|
private SqlliteDbManage() {
|
|
}
|
|
public static synchronized SqlliteDbManage getInstance() {
|
if (sqlliteDbManage == null) {
|
sqlliteDbManage = new SqlliteDbManage();
|
}
|
return sqlliteDbManage;
|
}
|
|
private DaoSession getDaoSession() {
|
DaoSession daoSession = ActivityLifecycleApplcation.getInstance().getDaoSession();
|
return daoSession;
|
}
|
|
/**
|
* 添加主订单信息
|
*
|
* @param model
|
*/
|
public void insertOrderInfo(Order model) {
|
DaoSession daoSession = getDaoSession();
|
daoSession.insertOrReplace(model);
|
}
|
|
/**
|
* 添加订单明细信息信息
|
*
|
* @param model
|
*/
|
public void insertOrUpdateOrderDetailInfo(OrderDetail model) {
|
DaoSession daoSession = getDaoSession();
|
daoSession.insertOrReplace(model);
|
}
|
|
|
/**
|
* 根据状态查询订单信息
|
*
|
* @param state
|
* @return
|
*/
|
public List<Order> selectOrtdersByState(int state) {
|
LogUtils.i("selectOrtdersByState:" + state);
|
DaoSession daoSession = getDaoSession();
|
QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
|
// QueryBuilder<Order> queryBuilder
|
// = qb.where(OrderDao.Properties.State.eq(state)).orderAsc(OrderDao.Properties.OrderNo);
|
|
QueryBuilder<Order> queryBuilder
|
= qb.where(OrderDao.Properties.OrderNo.like("GB%")).orderAsc(OrderDao.Properties.OrderNo);
|
List<Order> ordersList = queryBuilder.list();
|
if (ordersList == null || ordersList.size() == 0) {
|
return null;
|
}
|
return ordersList;
|
}
|
|
/**
|
* 根据订单号查询订单信息
|
*
|
* @param orderNo
|
* @return
|
*/
|
public Order selectOrtder(String orderNo) {
|
DaoSession daoSession = getDaoSession();
|
QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
|
QueryBuilder<Order> queryBuilder
|
= qb.where(OrderDao.Properties.OrderNo.eq(orderNo)).orderAsc(OrderDao.Properties.OrderNo);
|
List<Order> ordersList = queryBuilder.list();
|
if (ordersList == null || ordersList.size() == 0) {
|
return null;
|
}
|
return ordersList.get(0);
|
}
|
|
/**
|
* 根据订单号查询订单明细信息
|
*
|
* @param orderNo
|
* @return
|
*/
|
public List<OrderDetail> selectOrtderDetails(String orderNo) {
|
DaoSession daoSession = getDaoSession();
|
QueryBuilder<OrderDetail> qb = daoSession.queryBuilder(OrderDetail.class);
|
QueryBuilder<OrderDetail> queryBuilder
|
= qb.where(OrderDetailDao.Properties.OrderNo.eq(orderNo)).orderAsc(OrderDao.Properties.OrderNo);
|
List<OrderDetail> orderDetailList = queryBuilder.list();
|
if (orderDetailList == null || orderDetailList.size() == 0) {
|
return null;
|
}
|
return orderDetailList;
|
}
|
|
public void deltetOrders(String orderNo) {
|
DaoSession daoSession = getDaoSession();
|
Order order = selectOrtder(orderNo);
|
if (order != null) {
|
daoSession.delete(order);
|
}
|
List<OrderDetail> details = selectOrtderDetails(orderNo);
|
if (details != null) {
|
for (int i = 0; i < details.size(); i++) {
|
daoSession.delete(details.get(i));
|
}
|
}
|
}
|
|
}
|