getUsable($card_type, $amount,$store_ids); if (empty($info)) { $trans->commit(); Log::record("cards_helper::reserve 找不到可用的卡了", Log::ERR); return [false,"没有可用的卡密了"]; } $card = new CardPaper($info); $card_id = $card->card_id(); $model->reserve($card_id); $trans->commit(); $ret = $model->where(['card_id' => $card_id]) ->update(['member_id' => $userid, 'order_id' => $order_id, 'receive_card_no' => $user_card_no, 'receive_card_type' => $user_card_type, 'out_store_id' => $out_store_id, 'reserved_time' => time()]); $rows = $model->affected_rows(); return [true,$card]; } catch (Exception $e) { $trans->rollback(); Log::record("cards_helper::reserve exception {$e}", Log::ERR); return [false,$e->getMessage()]; } } static public function assign($order_id, $oper_name="") { try { if($order_id <= 0) return false; $model = Model('card_key'); $ret = $model->assign($order_id, $oper_name); $rows = $model->affected_rows(); return ($ret && $rows > 0); } catch (Exception $e) { Log::record("cards_helper::assign exception {$e}", Log::ERR); return false; } } static public function reuse_card($card_id) { try { $model = Model('card_key'); $ret = $model->reuse_card($card_id); $rows = $model->affected_rows(); return ($ret && $rows > 0); } catch (Exception $e) { Log::record("cards_helper::reuse exception {$e}", Log::ERR); return false; } } static public function reuse($order_id) { try { if($order_id <= 0) return false; $model = Model('card_key'); $ret = $model->reuse($order_id); $rows = $model->affected_rows(); return ($ret && $rows > 0); } catch (Exception $e) { Log::record("cards_helper::reuse exception {$e}", Log::ERR); return false; } } static public function freeze($order_id,$err_msg='') { try { if($order_id <= 0) return false; $model = Model('card_key'); $ret = $model->freeze($order_id,$err_msg); $rows = $model->affected_rows(); return ($ret && $rows > 0); } catch (Exception $e) { Log::record("cards_helper::freeze exception {$e}", Log::ERR); return false; } } static public function manual_freeze($card_id,$err_msg='') { try { $model = Model('card_key'); $trans = new trans_wapper($model, __METHOD__); $ret = $model->manual_freeze($card_id,$err_msg); $rows = $model->affected_rows(); $trans->commit(); return ($ret && $rows > 0); } catch (Exception $e) { Log::record("cards_helper::manual_freeze exception {$e}", Log::ERR); $trans->rollback(); return false; } } static public function unfreeze($card_id) { try { $model = Model('card_key'); $ret = $model->unfreeze($card_id); $rows = $model->affected_rows(); return ($ret && $rows > 0); } catch (Exception $e) { Log::record("cards_helper::unfreeze exception {$e}", Log::ERR); return false; } } }