public long addOrUpdatePay(PayOrder order) { if (!enbleLocalStore) { return -1L; } SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = payOrder2cv(order); long row = -1L; try { row = db.insertOrThrow(TABLE_NAME, null, cv); } catch (SQLException e) { String where = "userId= ? AND orderNumber= ? "; String[] value = {String.valueOf(order.getUserId()), order.getOrderNumber()}; row = db.update(TABLE_NAME, cv, where, value); } return row; }
/** * 根据payOrder对象生成数据库需要的数据 * * @param order * @return */ private ContentValues payOrder2cv(PayOrder order) { ContentValues cv = new ContentValues(); cv.put("orderNumber", order.getOrderNumber()); cv.put("appId", order.getAppId()); cv.put("amount", order.getAmount()); cv.put("userId", order.getUserId()); cv.put("payment", order.getPayment()); cv.put("bid", order.getBid()); cv.put("descr", order.getDescr()); cv.put("payResultEncode", order.getPayResultEncode()); cv.put("payStatusCode", order.getPayStatusCode()); cv.put("dealTime", order.getDealTime().getTime()); cv.put("orderTime", order.getOrderTime().getTime()); cv.put("serverState", order.getServerState()); cv.put("sandBox", order.isSandBox()); Log.d("dddd", String.valueOf(order.isSandBox())); cv.put("localEncode", order.getLocalEncode()); return cv; }