* @version : Huosdk 8.0 */ namespace huoRebate\model; use huolib\constant\OrderConst; use think\Model; class RebateOrderPayModel extends Model { protected $name = 'rebate_order_pay'; // 开启自动写入时间戳字段 protected $autoWriteTimestamp = true; /** * @return \think\model\relation\BelongsTo */ public function pay() { return $this->belongsTo('huo\model\order\OrderModel', 'order_id'); } /** * 添加返利订单 * * @param $data * * @return bool|mixed */ public function add($data) { $_data['ro_id'] = get_val($data, 'ro_id', 0); $_data['order_id'] = get_val($data, 'order_id', ''); $_data['mem_id'] = get_val($data, 'mem_id', 0); $_data['app_id'] = get_val($data, 'app_id', 0); $_data['status'] = get_val($data, 'status', OrderConst::REBATE_STATUS_NOT); if ($_obj = self::create($_data, true)) { $_data['id'] = $_obj->id; return $_data; } else { return false; } } /** * 查询详细信息 * * @param string $order_id SDK订单编号 * * @param array $status 状态 * * @return array|bool|false */ public function getDetail($order_id, $status = []) { $_map['order_id'] = $order_id; if (!empty($status)) { $_map['status'] = ['in', $status]; } $_data = self::where($_map)->find(); if (false == $_data) { return false; } if (is_object($_data)) { $_data = $_data->toArray(); } return $_data; } /** * 获取是否存在 * * @param $order_id * @param array $status * * @return int|string */ public function getCnt($order_id, $status = [OrderConst::REBATE_STATUS_NOT, OrderConst::REBATE_STATUS_SUC]) { $_map['order_id'] = $order_id; if (!empty($status)) { $_map['status'] = ['in', $status]; } $_cnt = self::where($_map)->count(); if (false == $_cnt) { return 0; } return $_cnt; } /** * 通过mem_id与app_id获取已申请返利的订单ID * * @param $mem_id * @param $app_id * @param array $status * * @return array */ public function getOrdersByMemApp( $mem_id, $app_id = 0, $status = [OrderConst::REBATE_STATUS_NOT, OrderConst::REBATE_STATUS_SUC] ) { $_map['mem_id'] = $mem_id; if (!empty($app_id)) { $_map['app_id'] = $app_id; } if (!empty($status)) { $_map['status'] = ['in', $status]; } $_order_ids = self::where($_map)->column('order_id'); if (empty($_order_ids)) { return []; } return $_order_ids; } }