コード例 #1
0
ファイル: member.php プロジェクト: syjzwjj/quyeba
 private function load_info()
 {
     #获取会员基本信息
     $obj_member =& $this->app->model('members');
     $obj_pam_account = app::get('pam')->model('account');
     $member_info = $obj_member->getList('*', array('member_id' => $this->app->member_id));
     $pam_account = $obj_pam_account->getList('*', array('account_id' => $this->app->member_id));
     //$member_sdf = $obj_member->dump($this->app->member_id,"*",array(':account@pam'=>array('*')));
     if (!$member_info || !$pam_account) {
         return;
     }
     /** 重新组合sdf **/
     $member_info[0]['birthday'] = $member_info[0]['b_year'] . '-' . $member_info[0]['b_month'] . '-' . $member_info[0]['b_day'];
     $member_sdf = array('pam_account' => array('account_id' => $pam_account[0]['account_id'], 'account_type' => $pam_account[0]['account_type'], 'login_name' => $pam_account[0]['login_name'], 'login_password' => $pam_account[0]['login_password'], 'disabled' => $pam_account[0]['disabled'], 'createtime' => $pam_account[0]['createtime']), 'member_lv' => array('member_group_id' => $member_info[0]['member_lv_id']), 'contact' => array('name' => $member_info[0]['name'], 'lastname' => $member_info[0]['lastname'], 'firstname' => $member_info[0]['firstname'], 'area' => $member_info[0]['area'], 'addr' => $member_info[0]['addr'], 'phone' => array('mobile' => $member_info[0]['mobile'], 'telephone' => $member_info[0]['tel']), 'email' => $member_info[0]['email'], 'zipcode' => $member_info[0]['zip']), 'score' => array('total' => $member_info[0]['point'], 'freeze' => $member_info[0]['point_freeze']), 'order_num' => $member_info[0]['order_num'], 'refer_id' => $member_info[0]['refer_id'], 'refer_url' => $member_info[0]['refer_url'], 'b_year' => $member_info[0]['b_year'], 'b_month' => $member_info[0]['b_month'], 'b_day' => $member_info[0]['b_day'], 'profile' => array('gender' => $member_info[0]['sex'], 'birthday' => $member_info[0]['birthday']), 'addon' => $member_info[0]['addon'], 'wedlock' => $member_info[0]['wedlock'], 'education' => $member_info[0]['education'], 'vocation' => $member_info[0]['vocation'], 'interest' => $member_info[0]['interest'], 'advance' => array('total' => $member_info[0]['advance'], 'freeze' => $member_info[0]['advance_freeze']), 'point_history' => $member_info[0]['point_history'], 'score_rate' => $member_info[0]['score_rate'], 'reg_ip' => $member_info[0]['reg_ip'], 'vocation' => $member_info[0]['vocation'], 'regtime' => $member_info[0]['regtime'], 'state' => $member_info[0]['state'], 'vocation' => $member_info[0]['vocation'], 'pay_time' => $member_info[0]['pay_time'], 'biz_money' => $member_info[0]['biz_money'], 'fav_tags' => $member_info[0]['fav_tags'], 'custom' => $member_info[0]['custom'], 'currency' => $member_info[0]['cur'], 'vocation' => $member_info[0]['vocation'], 'lang' => $member_info[0]['lang'], 'unreadmsg' => $member_info[0]['unreadmsg'], 'disabled' => $member_info[0]['disabled'], 'remark' => $member_info[0]['remark'], 'vocation' => $member_info[0]['vocation'], 'remark_type' => $member_info[0]['remark_type'], 'login_count' => $member_info[0]['login_count'], 'experience' => $member_info[0]['experience'], 'foreign_id' => $member_info[0]['foreign_id'], 'member_refer' => $member_info[0]['member_refer'], 'source' => $member_info[0]['source']);
     /** 访问member相关的meta **/
     $member_meta = dbeav_meta::get_meta_column($obj_member->table_name(1));
     foreach ((array) $member_meta['metaColumn'] as $meta_column) {
         $obj_meta_value = new dbeav_meta($obj_member->table_name(1), $meta_column);
         $arr_meta_value = $obj_meta_value->value->db->select('SELECT * FROM ' . $obj_meta_value->value->table . ' WHERE `mr_id`=' . $obj_meta_value->mr_id . ' AND `pk`=' . $this->app->member_id);
         if ($arr_meta_value) {
             $member_sdf['contact'][$meta_column] = $arr_meta_value[0]['value'];
         } else {
             $member_sdf['contact'][$meta_column] = '';
         }
     }
     $service = kernel::service('pam_account_login_name');
     if (is_object($service)) {
         if (method_exists($service, 'get_login_name')) {
             $member_sdf['pam_account']['login_name'] = $service->get_login_name($member_sdf['pam_account']);
         }
     }
     $this->member['member_id'] = $member_sdf['pam_account']['account_id'];
     $this->member['uname'] = $member_sdf['pam_account']['login_name'];
     $this->member['name'] = $member_sdf['contact']['name'];
     $this->member['sex'] = $member_sdf['profile']['gender'];
     $this->member['point'] = $member_sdf['score']['total'];
     $this->member['usage_point'] = $this->member['point'];
     $obj_extend_point = kernel::service('b2c.member_extend_point_info');
     if ($obj_extend_point) {
         // 当前会员拥有的积分
         $obj_extend_point->get_real_point($this->member['member_id'], $this->member['point']);
         // 当前会员实际可以使用的积分
         $obj_extend_point->get_usage_point($this->member['member_id'], $this->member['usage_point']);
     }
     $this->member['experience'] = $member_sdf['experience'];
     $this->member['email'] = $member_sdf['contact']['email'];
     $this->member['member_lv'] = $member_sdf['member_lv']['member_group_id'];
     $this->member['advance'] = $member_sdf['advance'];
     #获取会员等级
     $obj_mem_lv =& $this->app->model('member_lv');
     $levels = $obj_mem_lv->getList('name,disabled', array('member_lv_id' => $member_sdf['member_lv']['member_group_id']));
     //$levels = $obj_mem_lv->dump($member_sdf['member_lv']['member_group_id']);
     if ($levels[0]['disabled'] == 'false') {
         $this->member['levelname'] = $levels[0]['name'];
     }
     #获取待付款订单数
     $orders = $this->app->model('orders');
     $un_pay_orders = $orders->getList('order_id', array('member_id' => $this->member['member_id'], 'pay_status' => 0, 'status' => 'active'));
     $this->member['un_pay_orders'] = count($un_pay_orders);
     #获取回复信息
     $mem_msg = $this->app->model('member_comments');
     $object_type = array('msg', 'discuss', 'ask');
     $aData = $mem_msg->getList('*', array('to_id' => $this->member['member_id'], 'for_comment_id' => 'all', 'object_type' => $object_type, 'has_sent' => 'true', 'inbox' => 'true', 'mem_read_status' => 'false', 'display' => 'true'));
     unset($mem_msg);
     $this->member['un_readmsg'] = count($aData);
 }
コード例 #2
0
ファイル: model.php プロジェクト: syjzwjj/quyeba
 public function update($data, $filter, $mustUpdate = null)
 {
     if ($this->use_meta) {
         $pk = $this->get_pk_list($filter);
         foreach ($this->metaColumn as $col) {
             if (!in_array($col, array_keys($data))) {
                 continue;
             }
             $obj_meta = new dbeav_meta($this->table_name(true), $col);
             $obj_meta->update($data[$col], $pk);
             unset($data[$col]);
         }
     }
     return parent::update($data, $this->_filter($filter), $mustUpdate);
 }
コード例 #3
0
ファイル: orders.php プロジェクト: noikiy/Ecstore-to-odoo
 /**
  * 重写getList方法
  */
 public function getList($cols = '*', $filter = array(), $offset = 0, $limit = -1, $orderType = null)
 {
     if (!$cols) {
         $cols = $this->defaultCols;
     }
     if (!empty($this->appendCols)) {
         $cols .= ',' . $this->appendCols;
     }
     if ($this->use_meta) {
         $meta_info = $this->prepare_select($cols);
     }
     $orderType = $orderType ? $orderType : $this->defaultOrder;
     $sql = 'SELECT ' . $cols . ' FROM `' . $this->table_name(true) . '` WHERE ' . $this->_filter_sql($filter);
     if ($orderType) {
         $sql .= ' ORDER BY ' . (is_array($orderType) ? implode($orderType, ' ') : $orderType);
     }
     $data = $this->db->selectLimit($sql, $limit, $offset);
     $this->tidy_data($data, $cols);
     if ($this->use_meta && count($meta_info['metacols']) && $data) {
         foreach ($meta_info['metacols'] as $col) {
             $obj_meta = new dbeav_meta($this->table_name(true), $col, $meta_info['has_pk']);
             $obj_meta->select($data);
         }
     }
     $arr_list = $data;
     $obj_extends_order_service = kernel::serviceList('b2c_order_extends_actions');
     if ($obj_extends_order_service) {
         foreach ($obj_extends_order_service as $obj) {
             $obj->extend_list($arr_list);
         }
     }
     $info_object = kernel::service('sensitive_information');
     if (is_object($info_object)) {
         $info_object->opinfo($arr_list, 'b2c_mdl_orders', __FUNCTION__);
     }
     return $arr_list;
 }