where(array('merchant_id' => $merchant_id, 'status' => 1, 'type' => $type))->find(); return $res; } /** * 获取正在开启中的同类型红包 * @param $merchant_id 商户id * @param $type 类型 * @return mixed */ /** * 获取正在开启中的同时段同类型红包 * @param $merchant_id 商户id * @param $type 类型 * @param $start_time 开始时间 * @param $end_time 结束时间 * @return mixed */ public function getStartingReward($merchant_id, $type, $start_time, $end_time) { $map = array( 'merchant_id' => $merchant_id, 'status' => 1, 'is_del' => 0, 'type' => $type, array( array( 'less_number' => array('gt', 0), 'is_number' => 1, ), array( 'less_money' => array('gt', 0), 'is_money' => 1, ), 'end_time' => array('between', "{$start_time},{$end_time}"), 'start_time' => array('between', "{$start_time},{$end_time}"), array( 'start_time' => array('elt', $start_time), 'end_time' => array('egt', $end_time), ), '_logic' => 'OR' ), ); $reward = $this->getFind($map); return $reward; } /** * 关闭已失效的红包 * @param $merchant_id 商户id * @param $type 类型 * @return mixed */ public function closeInvalidReward($merchant_id, $type = null) { $map = array( 'merchant_id' => $merchant_id, 'status' => 1, 'is_del' => 0, array( array( 'less_number' => array('elt', 0), 'is_number' => 1, ), array( 'less_money' => array('elt', 0), 'is_money' => 1, ), 'end_time' => array('lt', time()), '_logic' => 'OR' ), ); if (!empty($type)) { $map['type'] = $type; } $close = $this->updateOrder($map, array('status' => 0)); return $close; } }