CommunityheadModel.class.php 17 KB

1
  1. <?php /** * lionfish 商城系统 * * ========================================================================== * @link http://www.liofis.com/ * @copyright Copyright (c) 2015 liofis.com. * @license http://www.liofis.com/license.html License * ========================================================================== * * @author fish * */ namespace Seller\Model; class CommunityheadModel{ public function modify_head($data) { if($data['id'] > 0) { //update ims_ $id = $data['id']; unset($data['id']); M('lionfish_community_head')->where( array('id' => $id ) )->save( $data ); }else{ //insert $id = M('lionfish_community_head')->add($data); } return $id; } //begin /** 根据会员id获取团长id **/ public function get_head_id_by_member_id($member_id) { $head_info = M('lionfish_community_head')->field('id')->where( array('member_id' => $member_id ) )->find(); return $head_info['id']; } /** 根据团长id获取会员id **/ public function get_agent_member_id($agent_head_id = 0) { $head_info = M('lionfish_community_head')->field('member_id')->where( array('id' => $agent_head_id) )->find(); return $head_info['member_id']; } //end public function insert_head_goods($goods_id, $head_id) { global $_W; global $_GPC; $head_goods_info = M('lionfish_community_head_goods')->where( array('goods_id' => $goods_id,'head_id' => $head_id) )->find(); if( empty($head_goods_info) ) { $data = array(); $data['head_id'] = $head_id; $data['goods_id'] = $goods_id; $data['addtime'] = time(); M('lionfish_community_head_goods')->add($data); } } //begin /** 获取商品对应团长等级对应的分佣比例情况 **/ public function get_goods_head_level_bili( $goods_id ) { $goods_common_info = M('lionfish_comshop_good_common') ->field('is_modify_head_commission,community_head_commission_modify')->where( array('goods_id' => $goods_id ) )->find(); $community_head_level = M('lionfish_comshop_community_head_level')->order('id asc')->select(); $head_commission_levelname = D('Home/Front')->get_config_by_name('head_commission_levelname'); $default_comunity_money = D('Home/Front')->get_config_by_name('default_comunity_money'); $list = array( array('id' => '0','level'=>0,'levelname' => empty($head_commission_levelname) ? '默认等级' : $head_commission_levelname, 'commission' => $default_comunity_money, ) ); $open_community_head_leve = D('Home/Front')->get_config_by_name('open_community_head_leve'); $head_commission_info_gd = D('Home/Front')->get_goods_common_field( $goods_id , 'community_head_commission'); if( !empty($head_commission_info_gd) && $head_commission_info_gd['community_head_commission'] > 0 ) { $list = array( array('id' => '0','level'=>0,'levelname' => empty($head_commission_levelname) ? '默认等级' : $head_commission_levelname, 'commission' => $head_commission_info_gd['community_head_commission'], ) ); } $is_head_takegoods = D('Home/Front')->get_config_by_name('is_head_takegoods'); $is_head_takegoods = isset($is_head_takegoods) && $is_head_takegoods == 1 ? 1 : 0; if( $is_head_takegoods == 1 ) { $community_head_level = array_merge($list, $community_head_level); }else{ $community_head_level = $list ; } $result = array(); if( $goods_common_info['is_modify_head_commission'] == 1 && $is_head_takegoods == 1) { $result = unserialize($goods_common_info['community_head_commission_modify']); foreach ($community_head_level as $head_level) { if (!isset($result['head_level' . $head_level['id']])) { $result['head_level' . $head_level['id']] = $head_level['commission']; } } }else{ if( !empty($community_head_level) ) { foreach( $community_head_level as $head_level) { $result['head_level'.$head_level['id']] = $head_level['commission']; } } } return $result; } //end public function show_communityhead_page() { $condition = ' '; $keyword = I('get.keyword','','trim'); if (!empty($keyword)) { $condition .= ' and ( m.username like "'.'%' . $keyword . '%'.'" or ch.community_name like "'.'%' . $keyword . '%'.'" or ch.head_name like "'.'%' . $keyword . '%'.'" or ch.head_mobile like "'.'%' . $keyword . '%'.'" or ch.address like "'.'%' . $keyword . '%'.'") '; } $start = I('get.start',''); $end = I('get.end',''); if (!empty($start) && !empty($end)) { $starttime = strtotime($start); $endtime = strtotime($end); $condition .= ' AND ch.apptime >= '.$starttime.' AND ch.apptime <= '.$endtime; } $comsiss_state = I('get.comsiss_state',''); if ($comsiss_state != '') { $condition .= ' and ch.state=' . intval($_GPC['comsiss_state']); } $sql_count = 'SELECT count(1) as count FROM ' .C('DB_PREFIX'). 'lionfish_community_head as ch ,'.C('DB_PREFIX').'member as m WHERE ch.member_id = m.member_id ' . $condition; $count_arr = M()->query($sql_count); $count = $count_arr[0]['count']; $Page = new \Think\Page($count,C('BACK_PAGE_NUM')); $show = $Page->show();// 分页显示输出 $sql = 'SELECT ch.*,m.we_openid,m.username,m.avatar FROM ' . C('DB_PREFIX') . "lionfish_community_head as ch, ".C('DB_PREFIX')."member as m \r\n WHERE ch.member_id = m.member_id " . $condition . ' order by ch.id desc '; $export = I('get.export',''); if (empty($export)) { $sql .= ' limit '.$Page->firstRow.','.$Page->listRows; } $list = M()->query($sql); $all_sell_count = M('lionfish_comshop_goods')->where( "is_all_sale=1" )->count(); foreach( $list as $key => $val ) { //commission_info $commission_info = M('lionfish_community_head_commiss')->where( array('head_id' => $val['id']) )->find(); $commission_info['commission_total'] = $commission_info['money']+ $commission_info['dongmoney'] + $commission_info['getmoney']; $val['commission_info'] = $commission_info; //普通等级 $member_info = M('lionfish_comshop_member')->where( array('member_id' => $val['member_id'] ) )->find(); //get_area_info($id=0) $val['province_name'] = D('seller/area')->get_area_info($val['province_id']); $val['city_name'] = D('seller/area')->get_area_info($val['city_id']); $val['area_name'] = D('seller/area')->get_area_info($val['area_id']); $val['country_name'] = D('seller/area')->get_area_info($val['country_id']); $ct_arr = M()->query("select count(hg.id) as count from ".C('DB_PREFIX')."lionfish_community_head_goods as hg , ".C('DB_PREFIX')."lionfish_comshop_good_common as gc where hg.goods_id = gc.goods_id and hg.head_id =".$val['id']); $val['goods_count'] = $ct_arr[0]['count']; $val['goods_count'] += $val['all_sell_count']; //$val['member_info'] = $member_info; $list[$key] = $val; } if ($_GPC['export'] == '1') { foreach ($list as &$row) { //$row['username'] = $val['member_info']['username']; //$row['we_openid'] = $val['member_info']['we_openid']; $row['commission_total'] = 0; $row['getmoney'] = 0; $row['fulladdress'] = $row['province_name'].$row['city_name'].$row['area_name'].$row['country_name'].$row['address']; $row['addtime'] = date('Y-m-d H:i:s', $row['addtime']); $row['apptime'] = date('Y-m-d H:i:s', $row['apptime']); $row['state'] = $row['state'] == 1 ? '已审核':'未审核'; } unset($row); $columns = array( array('title' => 'ID', 'field' => 'member_id', 'width' => 12), array('title' => '微信用户名', 'field' => 'username', 'width' => 12), array('title' => '团长名称', 'field' => 'head_name', 'width' => 12), array('title' => '联系方式', 'field' => 'head_name', 'width' => 12), array('title' => '在售商品数量', 'field' => 'goods_count', 'width' => 24), array('title' => 'openid', 'field' => 'we_openid', 'width' => 24), array('title' => '累计佣金', 'field' => 'commission_total', 'width' => 12), array('title' => '打款佣金', 'field' => 'getmoney', 'width' => 12), array('title' => '省', 'field' => 'province_name', 'width' => 12), array('title' => '市', 'field' => 'city_name', 'width' => 12), array('title' => '区', 'field' => 'area_name', 'width' => 12), array('title' => '街道/镇', 'field' => 'country_name', 'width' => 12), array('title' => '提货地址', 'field' => 'address', 'width' => 24), array('title' => '完整提货地址', 'field' => 'fulladdress', 'width' => 24), array('title' => '注册时间', 'field' => 'addtime', 'width' => 12), array('title' => '成为团长时间', 'field' => 'apptime', 'width' => 12), array('title' => '审核状态', 'field' => 'state', 'width' => 12) ); //load_model_class('excel')->export($list, array('title' => '团长数据-' . date('Y-m-d-H-i', time()), 'columns' => $columns)); } return array( 'empty'=>'<tr><td colspan="20">~~暂无数据</td></tr>', 'list'=>$list, 'page'=>$show ); } public function is_community($communityId){ // 社区团长是否存在 and state=1 $community = M('lionfish_community_head')->field('member_id')->where( array('id' => $communityId,'enable' => 1, 'state' => 1) )->find(); $is_community = true; if(!empty($community) && !empty($community['member_id']) && $community['member_id'] !=0){ $communityInfo = M('lionfish_comshop_member')->field('member_id')->where( array('member_id' => $community['member_id'] ) )->find(); (!empty($communityInfo) && $communityInfo['member_id']) ? $is_community = true : $is_community = false; } else { $is_community = false; } return $is_community; } public function show_comment_page($search = array()){ $sql='SELECT * FROM '.C('DB_PREFIX').'order_comment where 1= 1 '; if(isset($search['goods_id'])) { $sql.=" and goods_id=".$search['goods_id']; } if( isset($search['goods_name']) && !empty($search['goods_name']) ) { $sql.=" and goods_name like '%".$search['goods_name']."%'"; } if( isset($search['order_num_alias']) && !empty($search['order_num_alias']) ) { $sql.=" and order_num_alias like '%".$search['order_num_alias']."%'"; } $count=count(M()->query($sql)); $Page = new \Think\Page($count,C('BACK_PAGE_NUM')); $show = $Page->show();// 分页显示输出 $sql.=' order by state asc,add_time desc LIMIT '.$Page->firstRow.','.$Page->listRows; $list=M()->query($sql); foreach($list as $key => $val) { // goods_id name image if(empty($val['goods_name'])) { $goods_info = M('goods')->field('goods_id,name,image')->where( array('goods_id' => $val['goods_id']) )->find(); $val['goods_name'] = $goods_info['name']; $val['goods_image'] = $goods_info['image']; M('order_comment')->where( array('comment_id' => $val['comment_id']) ) ->save( array('goods_name' =>$val['goods_name'],'goods_image' =>$val['goods_image'] ) ); } //member_id order_comment order_id if(empty($val['order_num_alias'])) { $order_info = M('order')->field('order_num_alias')->where( array('order_id' => $val['order_id']) )->find(); $val['order_num_alias'] = $order_info['order_num_alias']; M('order_comment')->where( array('comment_id' => $val['comment_id']) ) ->save( array('order_num_alias' =>$val['order_num_alias'] ) ); } if(empty($val['user_name'])) { $member_info = M('member')->field('name,avatar')->where( array('member_id' => intval($val['member_id'])) )->find(); $val['user_name'] = $member_info['name']; $val['avatar'] = $member_info['avatar']; M('order_comment')->where( array('comment_id' => $val['comment_id']) ) ->save( array('user_name' =>$val['user_name'], 'avatar' =>$val['avatar'] ) ); } $list[$key] = $val; } return array( 'empty'=>'<tr><td colspan="20">~~暂无数据</td></tr>', 'list'=>$list, 'page'=>$show ); /** $where = array(); if(!empty($search) && isset($search['store_id'])) { $where['store_id'] = $search['store_id']; } $count=M('pick_up')->where($where)->count(); $Page = new \Think\Page($count,C('BACK_PAGE_NUM')); $show = $Page->show();// 分页显示输出 $list = M('pick_up')->where($where)->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select(); return array( 'empty'=>'<tr><td colspan="20">~~暂无数据</td></tr>', 'list'=>$list, 'page'=>$show ); **/ } public function show_pickup_member_page( $search = array() ) { $where = array(); if(!empty($search) && isset($search['store_id'])) { $where['store_id'] = $search['store_id']; } if(!empty($search) && isset($search['pick_up_id'])) { $where['pick_up_id'] = $search['pick_up_id']; } // $count=M('pick_member')->where($where)->count(); $Page = new \Think\Page($count,C('BACK_PAGE_NUM')); $show = $Page->show();// 分页显示输出 $list = M('pick_member')->where($where)->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select(); foreach( $list as $key => $val ) { if( $val['pick_up_id'] == 0) { $val['pick_name'] = '<span class="red">所有店铺</span>'; }else{ $pick_up_info = M('pick_up')->field('pick_name')->where( array('id' => $val['pick_up_id']) )->find(); $val['pick_name'] = $pick_up_info['pick_name']; } $pick_order_count = M('pick_order')->where( array('pick_member_id' => $val['member_id']) )->count(); //name $val['pick_order_count'] = $pick_order_count; $val['member_info'] = M('member')->field('name,avatar')->where( array('member_id' => $val['member_id']) )->find(); $list[$key] = $val; } return array( 'empty'=>'<tr><td colspan="20">~~暂无数据</td></tr>', 'list'=>$list, 'page'=>$show ); } function GetDistance($lng1,$lat1,$lng2,$lat2){ $lng1 = floatval( $lng1 ); $lat1 = floatval( $lat1 ); $lng2 = floatval( $lng2 ); $lat2 = floatval( $lat2 ); //将角度转为狐度 $radLat1=deg2rad($lat1);//deg2rad()函数将角度转换为弧度 $radLat2=deg2rad($lat2); $radLng1=deg2rad($lng1); $radLng2=deg2rad($lng2); $a=$radLat1-$radLat2; $b=$radLng1-$radLng2; $s=2*asin(sqrt(pow(sin($a/2),2)+cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)))*6378.137*1000;//计算出来的结果单位为米 return floor($s); /** * 单位:km * SELECT geo_id, `name`,( 6371 * acos ( cos ( radians(33.958887) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(118.302416) ) + sin ( radians(33.958887) ) * sin( radians( lat ) ) ) ) AS distance FROM geo HAVING distance < 20 ORDER BY distance LIMIT 0 , 20; */ /** * select ROUND(6378.138*2*ASIN(SQRT(POW(SIN(($latitude*PI()/180-latitude*PI()/180)/2),2)+COS($latitude*PI()/180)*COS(latitude*PI()/180)*POW(SIN(($longitude*PI()/180-longitude*PI()/180)/2),2)))*1000) AS distance FROM shop having distance <= 5000 order by distance asc */ } public function is_community_rest($communityId){ $community = M('lionfish_community_head')->field('rest')->where( array('enable' => 1,'state' => 1,'id' => $communityId ) )->find(); $is_community_rest = 0; if(!empty($community) && !empty($community['rest']) && $community['rest'] !=0){ $is_community_rest = 1; } else { $is_community_rest = 0; } return $is_community_rest; } public function check_goods_can_community($goods_id, $community_id) { $goods_info = M('lionfish_comshop_goods')->field('is_all_sale,type')->where( array('id' => $goods_id ) )->find(); if( $goods_info['is_all_sale'] == 1 ) { return true; }else{ if( $goods_info['type'] == 'integral' ) { return true; } $rel_info = M('lionfish_community_head_goods')->where( array('head_id' => $community_id, 'goods_id' =>$goods_id ) )->find(); if( !empty($rel_info) ) { return true; }else{ return false; } } } } ?>