<?php /** * MemberMedalModel.class.php * 用户勋章表 Model */ namespace Common\Model; class MemberMedalModel extends AbstractModel { // 构造方法 public function __construct() { parent::__construct(); } /** * 增加人员获得勋章数 * @param $imId * @param $uid * @return array|bool */ public function addMedalTotal($imId, $uid) { if (empty($imId) || empty($uid)) { return false; } $sql = "UPDATE `oa_integral_member_medal` SET `im_total` = `im_total` + 1 WHERE `im_id` = {$imId} AND `mem_uid` = '{$uid}' AND `domain` = ? AND `status` < ?"; return $this->_m->execsql($sql, [QY_DOMAIN, $this->get_st_delete()]); } /** * 根据用户IDS 获取用户获得勋章总数 * @param $uids * @return array|bool */ public function getMemMedalTotal($uids) { if (empty($uids)) { return false; } $sql = "SELECT count(*) as medal_total, mem_uid FROM oa_integral_member_medal WHERE mem_uid IN (?) AND `domain` = ? AND `status` < ? GROUP BY mem_uid"; return $this->_m->fetch_array($sql, [ $uids, QY_DOMAIN, $this->get_st_delete() ]); } /** * 取获得勋章的用户 * @author tangxingguo * @param $conds * @return array */ public function getUids($conds) { $data = $this->buildSql($conds); $sql = "SELECT `mem_uid` FROM __TABLE__ WHERE {$data['where']} GROUP BY `mem_uid`"; return $this->_m->fetch_array($sql, $data['params']); } /** * 处理条件语句及其值 * @author tangxingguo * @param array $conds 条件 * @return array */ public function buildSql($conds) { // 条件 $where = '`domain` = ? AND `status` < ?'; // 条件的值 $params = [ QY_DOMAIN, $this->get_st_delete(), ]; // 组合搜索条件及值 if (isset($conds['mem_uid'])) { $mem_uids = implode("','", $conds['mem_uid']); $where .= " AND `mem_uid` in ('{$mem_uids}')"; } if (isset($conds['mem_username'])) { $where .= " AND `mem_username` LIKE '%{$conds['mem_username']}%'"; } return [ 'where' => $where, 'params' => $params, ]; } }