<?php /** * ConvertModel.class.php * 奖品申请表 Model * @author: zhoutao * @version: $Id$ * @copyright: vchangyi.com */ namespace Common\Model; class ConvertModel extends AbstractModel { /** 奖品申请状态:待处理 */ const CONVERT_STATUS_ING = 1; /** 奖品申请状态:已同意 */ const CONVERT_STATUS_AGREE = 2; /** 奖品申请状态:已拒绝 */ const CONVERT_STATUS_DEFUSE = 3; /** 奖品申请状态:已取消 */ const CONVERT_STATUS_CANCEL = 4; /** @var array 奖品申请状态 */ protected $convertStatus = [ self::CONVERT_STATUS_ING => '待处理', self::CONVERT_STATUS_AGREE => '已同意', self::CONVERT_STATUS_DEFUSE => '已拒绝', self::CONVERT_STATUS_CANCEL => '已取消', ]; // 构造方法 public function __construct() { parent::__construct(); } /** * 微信端查询符合条件的奖品兑换记录总数 * @param $conds * @return array|bool */ public function countWxPrizeConvert($conds) { if (empty($conds['memUid'])) { return false; } $where = ' WHERE oic.`domain`=?'; $params = array( QY_DOMAIN, ); $where .= ' AND oic.`uid` = ?'; $params[] = $conds['memUid']; $sql = 'SELECT count(*) FROM oa_integral_convert oic LEFT JOIN oa_integral_prize oip ON oic.ia_id=oip.ia_id ' . $where; return $this->_m->result($sql, $params); } /** * 管理平台查询符合条件的奖品兑换记录总数 * @param $conds * @return array|bool */ public function countPrizeConvert($conds) { $where = ' WHERE oic.`domain`=?'; $params = array( QY_DOMAIN, ); // 奖品ID if (!empty($conds['ia_id'])) { $where .= ' AND oic.`ia_id` = ?'; $params[] = $conds['ia_id']; } // 兑换状态 if (!empty($conds['convert_status'])) { $where .= ' AND oic.`convert_status` = ?'; $params[] = $conds['convert_status']; } // 奖品名称 if (!empty($conds['name'])) { $where .= ' AND oip.`name` LIKE ?'; $params[] = '%' . $conds['name'] . '%'; } // 手机 if (!empty($conds['applicant_phone'])) { $where .= ' AND oic.`applicant_phone` LIKE ?'; $params[] = '%' . $conds['applicant_phone'] . '%'; } // 兑换编号 if (!empty($conds['number'])) { $where .= ' AND oic.`number` LIKE ?'; $params[] = '%' . $conds['number'] . '%'; } // 申请开始时间 if (!empty($conds['startTime'])) { $where .= ' AND oic.`created` >= ?'; $params[] = $conds['startTime']; } // 申请结束时间 if (!empty($conds['endTime'])) { $where .= ' AND oic.`created` <= ?'; $params[] = $conds['endTime']; } // 如果按部门或者用户查询 if(!empty($conds['uids'])){ $where .= ' AND oic.`uid` in (?)'; $params[] = $conds['uids']; } $sql = 'SELECT count(*) FROM oa_integral_convert oic LEFT JOIN oa_integral_prize oip ON oic.ia_id=oip.ia_id ' . $where; return $this->_m->result($sql, $params); } /** * 管理平台查询奖品兑换分页列表 * @param $conds * @param null $pageOption * @param array $orderOption * @return array|bool */ public function getPrizeConvertPageList($conds, $pageOption = null, $orderOption = array()) { $where = ' WHERE oic.`domain`=?'; $params = array( QY_DOMAIN, ); // 奖品ID if (!empty($conds['ia_id'])) { $where .= ' AND oic.`ia_id` = ?'; $params[] = $conds['ia_id']; } // 兑换状态 if (!empty($conds['convert_status'])) { $where .= ' AND oic.`convert_status` = ?'; $params[] = $conds['convert_status']; } // 奖品名称 if (!empty($conds['name'])) { $where .= ' AND oip.`name` LIKE ?'; $params[] = '%' . $conds['name'] . '%'; } // 手机 if (!empty($conds['applicant_phone'])) { $where .= ' AND oic.`applicant_phone` LIKE ?'; $params[] = '%' . $conds['applicant_phone'] . '%'; } // 兑换编号 if (!empty($conds['number'])) { $where .= ' AND oic.`number` LIKE ?'; $params[] = '%' . $conds['number'] . '%'; } // 申请开始时间 if (!empty($conds['startTime'])) { $where .= ' AND oic.`created` >= ?'; $params[] = $conds['startTime']; } // 申请结束时间 if (!empty($conds['endTime'])) { $where .= ' AND oic.`created` <= ?'; $params[] = $conds['endTime']; } // 如果按部门或者用户查询 if(!empty($conds['uids'])){ $where .= ' AND oic.`uid` in (?)'; $params[] = $conds['uids']; } // 排序 $orderby = ' ORDER BY oic.`created` DESC'; // 分页参数 $limit = ''; if (!$this->_limit($limit, $pageOption)) { return false; } $sql = "SELECT oic.`ia_id`, oic.`ic_id`, oic.`created` AS apply_time, oic.`updated` AS operate_time, oic.`convert_status`, oic.`number`, oic.`operator`, oic.`integral`, oic.`uid`, oic.`applicant_phone`, oip.`name` FROM oa_integral_convert oic LEFT JOIN oa_integral_prize oip ON oic.ia_id=oip.ia_id " . $where . $orderby . $limit; return $this->_m->fetch_array($sql, $params); } /** * 微信端查询奖品兑换分页列表 * @param $conds * @param null $pageOption * @param array $orderOption * @return array|bool */ public function getWxPrizeConvertPageList($conds, $pageOption = null, $orderOption = array()) { if (empty($conds['memUid'])) { return false; } $where = ' WHERE oic.`domain`=?'; $params = array( QY_DOMAIN, ); $where .= ' AND oic.`uid` = ?'; $params[] = $conds['memUid']; // 排序 $orderby = 'ORDER BY oic.`created` DESC'; // 分页参数 $limit = ''; if (!$this->_limit($limit, $pageOption)) { return false; } $sql = "SELECT oic.`ic_id`, oic.`created` AS apply_time, oic.`convert_status`, oic.`integral`, oip.`name`, oip.`picture` FROM oa_integral_convert oic LEFT JOIN oa_integral_prize oip ON oic.ia_id=oip.ia_id " . $where . $orderby . $limit; return $this->_m->fetch_array($sql, $params); } public function getWxPrizeConvertDetailByParams($conds) { $where = ' WHERE oic.`status`<? AND oic.`domain`=?'; $params = array( self::ST_DELETE, QY_DOMAIN, ); $where .= ' AND oic.`uid` = ?'; $params[] = $conds['memUid']; if(!empty($conds['ic_id'])) { $where .= "AND oic.`ic_id` = ? "; $params[] = $conds['ic_id']; } if(!empty($conds['ucintegral_id'])) { $where .= "AND oic.`ucintegral_id` = ? "; $params[] = $conds['ucintegral_id']; } $sql = "SELECT oic.`ic_id`, oic.`ia_id`, oic.`operator`, oic.`ucintegral_id`, oic.`convert_status`, oic.`number`, oic.`integral`, oic.`uid`, oic.`applicant_phone`, oic.`applicant_email`, oic.`applicant_mark`, oic.`created`, oip.`name`, oip.`status` AS `prize_status`, oip.`picture` FROM oa_integral_convert oic LEFT JOIN oa_integral_prize oip ON oic.`ia_id` = oip.`ia_id` " . $where; return $this->_m->fetch_row($sql, $params); } }