$uniacid)); if(empty($data)) { return error(-1, '会员卡不存在或已经被删除'); } if(!empty($data['color'])) { $data['color'] = iunserializer($data['color']); } $data['color'] = iunserializer($data['color']); $data['background'] = iunserializer($data['background']); $data['fields'] = iunserializer($data['fields']); $data['discount'] = iunserializer($data['discount']); if(!empty($data['discount']) && $data['discount_type'] != 0) { $discount = array(); foreach($data['discount'] as $key=>$val) { $key_condition = 'condition_'.$data['discount_type']; $key_discount = 'discount_'.$data['discount_type']; $discount[$key] = array( 'condition' => $val[$key_condition], 'discount' => ($data['discount_type'] == 1 ? $val[$key_discount] : ($val[$key_discount]/10)), ); } $data['discount'] = $discount; } $data['grant'] = iunserializer($data['grant']); return $data; } function card_member($uid = 0) { global $_W; $uid = intval($uid); if($uid <= 0) { $uid = $_W['member']['uid']; } $data = pdo_get('mc_card_members', array('uniacid' => $_W['uniacid'], 'uid' => $uid)); if(empty($data)) { return error(-1, '会员还没有领取会员卡'); } return $data; } function card_credit_setting() { global $_W; $set = array(); $set = pdo_get('mc_card_credit_set', array('uniacid' => $_W['uniacid'])); if(!empty($set)) { $set['sign'] = iunserializer($set['sign']); $set['share'] = iunserializer($set['share']); } return $set; } function card_notice_stat() { global $_W; $new_id = pdo_fetchcolumn('SELECT notice_id FROM ' . tablename('mc_card_notices_unread') . ' WHERE uniacid = :uniacid AND uid = :uid AND type = 1 ORDER BY notice_id DESC LIMIT 1', array(':uid' => $_W['member']['uid'], ':uniacid' => $_W['uniacid'])); $new_id = intval($new_id); $notices = pdo_fetchall('SELECT id FROM ' . tablename('mc_card_notices') . ' WHERE uniacid = :uniacid AND type = 1 AND (groupid = 0 OR groupid = :groupid) AND id > :id', array(':uniacid' => $_W['uniacid'], ':groupid' => $_W['member']['groupid'], ':id' => $new_id)); if(!empty($notices)) { foreach($notices as &$notice) { $insert = array( 'uniacid' => $_W['uniacid'], 'uid' => $_W['member']['uid'], 'notice_id' => $notice['id'], 'is_new' => 1, 'type' => 1, ); pdo_insert('mc_card_notices_unread', $insert); } } $total = 0; $total = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('mc_card_notices_unread') . ' WHERE uniacid = :uniacid AND uid = :uid AND is_new = 1', array(':uniacid' => $_W['uniacid'], ':uid' => $_W['member']['uid'])); return $total; } function card_params_setting($setting_name = '') { global $_W; $setting = pdo_get('mc_card', array('uniacid' => $_W['uniacid'], 'status' => '1')); $params = json_decode($setting['params'], true); if (!empty($params)) { foreach ($params as $value) { $params_new[$value['id']] = $value; } } if (!empty($setting_name)) { return $params_new[$setting_name]; } else { return $params_new; } } function card_discount_fee($fee) { global $_W; $fee = floatval($fee); $card_settings = card_setting(); $discount_params = $card_settings['discount']; if (!empty($card_settings['discount_type'])) { $group = mc_fetch($_W['member']['uid'], array('groupid')); if ($card_settings['discount_type'] == 1) { if ($discount_params[$group['groupid']]['condition'] <= $fee) { $final_fee = $fee - $discount_params[$group['groupid']]['discount']; } else { $final_fee = $fee; } } elseif ($card_settings['discount_type'] == 2) { if ($discount_params[$group['groupid']]['condition'] <= $fee) { $final_fee = $fee * $discount_params[$group['groupid']]['discount']; } else { $final_fee = $fee; } } return $final_fee; } else { return $fee; } }