* @version : HUOSDK 8.0 */ namespace huo\model\finance; use huo\model\common\CommonModel; use huolib\constant\OrderConst; class PtbChargeModel extends CommonModel { protected $name = 'ptb_charge'; // 开启自动写入时间戳字段 protected $autoWriteTimestamp = true; public function mem() { return $this->belongsTo('huo\model\member\MemberModel', 'mem_id', 'id') ->field('id,username,nickname,agent_id'); } public function agent() { return $this->belongsTo('huo\model\user\UserModel', 'from_id', 'id')->field('id,user_login'); } /** * 扣回 * @return \think\model\relation\HasOne */ public function back() { return $this->hasOne(PtbBackModel::className(), 'back_order_id', 'order_id'); } /** * @param array $data * * @return bool|array */ public function createOrder($data) { $_data['order_id'] = get_val($data, 'order_id', ''); $_data['mem_id'] = get_val($data, 'mem_id', 0); $_data['from_id'] = get_val($data, 'from_id', 0); $_data['type'] = get_val($data, 'type', 0); $_data['amount'] = get_val($data, 'amount', 0.00); $_data['real_amount'] = get_val($data, 'real_amount', 0.00); $_data['ptb_cnt'] = get_val($data, 'ptb_cnt', 0); $_data['rebate_cnt'] = get_val($data, 'rebate_cnt', 0); $_data['discount'] = get_val($data, 'discount', 1); $_data['payway'] = get_val($data, 'payway', ''); $_data['ip'] = get_val($data, 'ip', request()->ip()); $_data['status'] = get_val($data, 'status', OrderConst::PAY_STATUS_NOT); if ($_obj = self::create($_data, true)) { $_data['id'] = $_obj->id; return $_data; } else { return false; } } /** * @param array $order_data * @param string $pay_id * * @return bool */ public function updateOrder($order_data, $pay_id) { $_map['id'] = $pay_id; $_data = $order_data; $_rs = self::update($_data, $_map, true); if (false == $_rs) { return false; } else { return true; } } /** * @param $order_id * * @return array|false */ public function getStatus($order_id) { $_map['order_id'] = $order_id; $_status = $this->where($_map)->value('status'); if (false == $_status) { return false; } $_rdata['status'] = $_status; return $_rdata; } /** * @param $order_id * * @return array|false */ public function getDetail($order_id) { $_map['order_id'] = $order_id; $_data = $this->where($_map)->find(); if (false == $_data) { return false; } if (is_object($_data)) { $_data = $_data->toArray(); } return $_data; } }