123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php declare(strict_types=1);
- namespace mtopcard;
- use trans_wapper;
- use Exception;
- use Log;
- class cards_helper
- {
- static public function reserve($card_type, $amount, $userid, $user_card_no, $user_card_type,$order_id,$store_ids = [],$out_store_id = 0)
- {
- try
- {
- if($order_id <= 0) {
- return [false,'没有对应的订单号'];
- }
- $model = Model('card_key');
- $trans = new trans_wapper($model, __METHOD__);
- $info = $model->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;
- }
- }
- }
|