cur_page = 'apigoods';
}
public function get_goods_option_data()
{
$id = I('get.id',28);
$token = I('get.token');
$sku_str = I('get.sku_str','45_53');
//45_53
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$goods_model = D('Home/Goods');
$goods_option_mult_value = M('goods_option_mult_value')->where(array(
'goods_id' => $id
))->order('id asc')->select();
$goods_option_mult_value_ref = array();
foreach ($goods_option_mult_value as $key => $val) {
$val['image'] = C('SITE_URL') . resize($val['image'], 200, 200);
$goods_option_mult_value[$key] = $val;
$goods_option_mult_value_ref[$val['rela_goodsoption_valueid']] = $val;
}
$need_data = array();
$level_info = $goods_model->get_member_level_info($member_id, $id);
$member_disc = 100;
if( !empty($level_info) )
{
$member_disc = $level_info['member_discount'];
}
$max_member_level = M('member_level')->order('level desc')->find();
/**
$max_member_level = M('member_level')->order('level desc')->find();
$goods[0]['memberprice'] = round( ($goods[0]['danprice'] * $member_disc) / 100 ,2);
$max_get_money = round( ($goods[0]['danprice'] * (100 - $max_member_level['discount']) ) / 100 ,2);
if(!empty($pin_info))
{
$pin_info['member_pin_price'] = round( ($pin_info['pin_price'] * $member_disc) / 100 ,2);
$max_get_money = round( ($pin_info['pin_price'] * (100 - $max_member_level['discount']) ) / 100 ,2);
}
**/
$goods_option_mult_value_ref[$sku_str]['member_pin_price'] = round( ($goods_option_mult_value_ref[$sku_str]['pin_price'] * $member_disc) / 100 ,2);
$goods_option_mult_value_ref[$sku_str]['memberprice'] = round( ($goods_option_mult_value_ref[$sku_str]['dan_price'] * $member_disc) / 100 ,2);
$goods_option_mult_value_ref[$sku_str]['max_member_pin_price'] = 0;
$goods_option_mult_value_ref[$sku_str]['max_memberprice'] = 0;
if( !empty($max_member_level) )
{
$goods_option_mult_value_ref[$sku_str]['max_member_pin_price'] = round( ($goods_option_mult_value_ref[$sku_str]['pin_price'] * (100 - $max_member_level['discount']) ) / 100 ,2);
$goods_option_mult_value_ref[$sku_str]['max_memberprice'] = round( ($goods_option_mult_value_ref[$sku_str]['dan_price'] * (100 - $max_member_level['discount']) ) / 100 ,2);
}
$need_data['value'] = $goods_option_mult_value_ref[$sku_str];
echo json_encode( array('code' =>0 , 'data' =>$need_data ) );
die();
}
public function seller_info2()
{
$seller_id = I('get.id');
$seller_info = M('seller')->field('s_true_name,s_logo')->where( array('s_id' => $seller_id) )->find();
$seller_info['s_logo'] = C('SITE_URL').'Uploads/image/'.$seller_info['s_logo'];
$seller_model = D('Home/Seller');
$seller_count = $seller_model->getStoreSellerCount($seller_id);
$goods_count = M('goods')->where( array('store_id' => $seller_id) )->count();
$store_class_list = M('store_bind_class')->where( array('seller_id' => $seller_id) )->order('bid asc')->select();
$store_class_ids = array();
foreach($store_class_list as $class_val)
{
$store_class_ids[] = $class_val['class_1'];
}
$category_list = array();
if( !empty($store_class_ids) )
{
$category_list = M('goods_category')->field('id,name')->where( array('id' => array('in', $store_class_ids) ) )->select();
}
$seller_info['seller_count'] = $seller_count;
$seller_info['goods_count'] = $goods_count;
$need_data = array();
$need_data['seller_info'] = $seller_info;
$need_data['category_list'] = $category_list;
echo json_encode( array('code' => 0 , 'data' => $need_data) );
die();
}
public function search()
{
/**
C('SITE_URLS').resize($val['fan_image'], 220, 220)
**/
$parent_list = M('goods_category')->where( array('pid' =>0, 'is_search' =>1) )->order('c_sort_order desc,sort_order desc')->select();
//logo
foreach($parent_list as $key => $val)
{
if( !empty($val['logo']) )
{
$val['logo'] = C('SITE_URL').resize($val['logo'], 220, 220);
}
$child_list = M('goods_category')->where( array('pid' => $val['id'], 'is_search' =>1) )->order('c_sort_order desc,sort_order desc')->select();
foreach($child_list as $kk => $vv)
{
if( !empty($vv['logo']) )
{
$vv['logo'] = C('SITE_URL').resize($vv['logo'], 220, 220);
}
$child_list[$kk] = $vv;
}
$val['child_list'] = $child_list;
$parent_list[$key] = $val;
}
echo json_encode( array('code' => 0, 'data' => $parent_list) );
die();
//$this->parent_list = $parent_list;
}
/**
获取积分兑换商品
**/
public function get_integral_goods()
{
$goods_model = D('Home/Goods');
$pre_page = 10;
$page = I('get.page',1);
$condition = array('type' => 'integral', 'status'=>1,'quantity' =>array('gt',0) );
$offset = ($page -1) * $pre_page;
$list = M('goods')->where($condition)->order('seller_count+virtual_count desc,goods_id asc')->limit($offset,$pre_page)->select();
if(!empty($list)) {
foreach($list as $key => $v){
$goods_price_arr = $goods_model->get_goods_price($v['goods_id']);
$list[$key]['pinprice'] = $goods_price_arr['price'];
$list[$key]['image']=C('SITE_URL'). resize($v['image'], 400, 400);
}
}
foreach($list as $key => $val)
{
$val['seller_count'] += $val['virtual_count'];
$list[$key] = $val;
}
$integral_rules = C('integral_description');
$qian=array("\r\n");
$hou=array("@F@");
$integral_rules_str = str_replace($qian,$hou,$integral_rules);
$integral_rules_str = explode('@F@',$integral_rules_str);
if( !empty($list) )
{
echo json_encode( array('code' => 0, 'data' => $list , 'integral_rules_str' => $integral_rules_str ) );
die();
} else {
echo json_encode( array('code' => 1 , 'integral_rules_str' => $integral_rules_str) );
die();
}
}
public function get_category_goods()
{
$goods_model = D('Home/Goods');
$pre_page = 10;
$page = I('get.page',1);
$id = I('get.id',0);
$goods_ids_arr = M('goods_to_category')->where("class_id1 ={$id} or class_id2 ={$id} or class_id3 = {$id} ")->field('goods_id')->select();
$ids_arr = array();
foreach($goods_ids_arr as $val){
$ids_arr[] = $val['goods_id'];
}
$ids_str = implode(',',$ids_arr);
//lottery pintuan oneyuan normal
$condition = array('goods_id' => array('in',$ids_str),'type' => array('in', array('normal','oneyuan','lottery','pintuan') ) , 'status'=>1,'quantity' =>array('gt',0) );
$offset = ($page -1) * $pre_page;
$list = M('goods')->where($condition)->order('seller_count+virtual_count desc,goods_id asc')->limit($offset,$pre_page)->select();
if(!empty($list)) {
foreach($list as $key => $v){
$goods_price_arr = $goods_model->get_goods_price($v['goods_id']);
$list[$key]['pinprice'] = $goods_price_arr['price'];
//
//$goods[0]['danprice'] = $goods_price_arr['danprice'];
//$price_dol = explode('.', $goods_price_arr['pin_price']);
$list[$key]['image']=C('SITE_URL'). resize($v['image'], 400, 400);
}
}
foreach($list as $key => $val)
{
$val['seller_count'] += $val['virtual_count'];
$list[$key] = $val;
}
if( !empty($list) )
{
echo json_encode( array('code' => 0, 'data' => $list ) );
die();
} else {
echo json_encode( array('code' => 1) );
die();
}
}
/**
我的助力
**/
public function assist_free_coupon_me()
{
$token = I('get.token');
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$free_ad_list = M('plugins_slider')->where( array('type' => 'free_ad') )->order('slider_id desc')->find();
$per_page = 10;
$page = I('get.page',1);
$offset = ($page - 1) * $per_page;
$sql = 'select z.id,z.need_person,z.total_money as pinprice,z.deal_money,z.end_time,z.state,g.goods_id,g.name,g.quantity,g.price,g.danprice,g.image,g.fan_image,g.store_id,g.seller_count,g.virtual_count
from '.C('DB_PREFIX').'goods as g ,'.C('DB_PREFIX').'bargain_order as z
where z.member_id = '.$member_id.' and z.goods_id = g.goods_id order by z.end_time desc limit '.$offset.','.$per_page;
$list = M()->query($sql);
foreach($list as $key => $v){
//$has_zan_count = M('zan_order_detail')->where( array('zan_order_id' => $v['id']) )->count();
//$list[$key]['has_zan_count'] = $has_zan_count;
if($v['state'] == 0 && $v['end_time'] < time())
{
$list[$key]['state'] = 2;
}
$list[$key]['seller_count'] += $v['virtual_count'];
$list[$key]['image']= C('SITE_URL').resize($v['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
}
if(!empty($list))
{
echo json_encode( array('code' => 0, 'data' => $list ) );
die();
}else{
echo json_encode( array('code' => 1) );
die();
}
}
/**
砍价详情
**/
public function bargain_detail()
{
$is_me = false;
$has_kan = false;
$token = I('get.token');
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$id = I('get.id');
$bargain_info = M('bargain_order')->where( array('id' => $id) )->find();
$bargain_info['already_money'] = round($bargain_info['total_money']-$bargain_info['deal_money'],2);
if($bargain_info['member_id'] == $member_id)
{
$is_me = true;
}
if($bargain_info['state'] != 1 && $bargain_info['end_time'] > time() )
{
$bargain_info['state'] = 3;
}
$has_kan_count = M('bargain_order_detail')->where( array('member_id' => $member_id,'bargain_order_id' => $id) )->count();
if($has_kan_count >0)
{
$has_kan = true;
}
//end_time
$now_time = time();
$goods_info = M('goods')->field('name,price,seller_count,virtual_count,image,fan_image')->where( array('goods_id' => $bargain_info['goods_id']) )->find();
$goods_info['image'] = C('SITE_URL').resize($goods_info['image'],300,300);
//fan_image
if(!empty($goods_info['fan_image']))
{
$goods_info['image'] = C('SITE_URL').resize($goods_info['fan_image'],300,300);
}
$goods_info['seller_count'] += $goods_info['virtual_count'];
$kan_order_list = M('bargain_order_detail')->where( array('bargain_order_id' =>$id) )->order('addtime desc')->limit(15)->select();
$need_data = array();
$need_data['kan_order_list'] = $kan_order_list;
$need_data['bargain_info'] = $bargain_info;
$need_data['goods_info'] = $goods_info;
$need_data['is_me'] = $is_me;
$need_data['has_kan'] = $has_kan;
//$this->kan_order_list = $kan_order_list;
//$this->bargain_info = $bargain_info;
//$this->goods_info = $goods_info;
//$this->is_me = $is_me;
//$this->has_kan = $has_kan;
//member_id
$member_info = M('member')->where( array('member_id' => $bargain_info['member_id']) )->find();
$need_data['member_info'] = $member_info;
//$this->member_info = $member_info;
$kan_description = C('kan_description');
$qian=array("\r\n");
$hou=array("@F@");
$kan_description_str = str_replace($qian,$hou,$kan_description);
$kan_description_str = explode('@F@',$kan_description_str);
//$this->kan_description_str = $kan_description_str;
//$this->kan_description_str = $kan_description_str;
$need_data['kan_description_str'] = $kan_description_str;
$kan_rules = C('kan_rules');
$qian=array("\r\n");
$hou=array("@F@");
$kan_rules_str = str_replace($qian,$hou,$kan_rules);
$kan_rules_str = explode('@F@',$kan_rules_str);
//$this->kan_rules_str = $kan_rules_str;
$need_data['kan_rules_str'] = $kan_rules_str;
$kan_person_count = C('kan_person_count');
//$this->kan_person_count = $kan_person_count;
$need_data['kan_person_count'] = $kan_person_count;
//随机商品 8 个
$sql='SELECT goods_id,image,fan_image,price,danprice,name,seller_count,virtual_count FROM '.C('DB_PREFIX').'goods WHERE status=1 and type="normal" and quantity >0 ORDER BY rand() LIMIT 0,8';
$list=M()->query($sql);
$hashids = new \Lib\Hashids(C('PWD_KEY'), C('URL_ID'));
foreach ($list as $k => $v) {
$list[$k]['seller_count'] += $list[$k]['virtual_count'];
$list[$k]['image']= C('SITE_URL').resize($v['image'], C('goods_related_thumb_width'), C('goods_related_thumb_height'));
if(!empty($v['fan_image'])){
$list[$k]['image']= C('SITE_URL').resize($v['fan_image'], C('goods_related_thumb_width'), C('goods_related_thumb_height'));
}else {
$list[$k]['image']= C('SITE_URL').resize($v['image'], C('goods_related_thumb_width'), C('goods_related_thumb_height'));
}
}
//$this->related_goods=$list;
$need_data['related_goods'] = $list;
$bargain_order = M('bargain_order')->where( array('id' => $id) )->find();
$goods_id = $bargain_order['goods_id'];
$goods_info = M('goods')->where( array('goods_id' => $goods_id) )->find();
//"我正在参加拼多多官方砍价,砍到0元就可以免费拿啦,帮我砍一下吧"
$desc = "我正在参加".C('SITE_NAME')."砍价,砍到0元就可以免费拿啦,帮我砍一下吧";
//$this->share_logo = C('SITE_URL').resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
$need_data['share_logo'] = C('SITE_URL').resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
$share_logo = '';
if(!empty($goods_info['fan_image'])){
$share_logo = C('SITE_URL').resize($goods_info['fan_image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
}else {
$share_logo = C('SITE_URL').resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
}
if(!empty($goods_description['water_image']))
{
$share_logo = C('SITE_URL').'/Uploads/image/'.$goods_description['water_image'];
}
$need_data['share_logo'] = $share_logo;
//Subject/assist_bargain_coupon_detail/id/10.html kan_rules_str
$need_data['indexsharetitle'] = '['.C('SITE_NAME')."]我在砍价免费拿".$goods_info['name'].",帮我砍价,0元拿回家!";
$need_data['url'] = C('SITE_URL')."/index.php?s=/Subject/assist_bargain_coupon_detail/id/{$id}/rmid/{$hash_member_id}";
$need_data['indexsharesummary'] = $desc;
$need_data['cur_time'] = time();
echo json_encode( array('code' => 0, 'data' => $need_data) );
die();
}
/**
分享成功后,砍
**/
public function share_success_kan()
{
$id = I('get.id');
$token = I('get.token');
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
//$member_id = session('user_auth.uid');
$bargain_order = M('bargain_order')->where( array('id' => $id) )->find();
//is_share
if($bargain_order['is_share'] == 0 && $member_id == $bargain_order['member_id'] )
{
$order_detail = M('bargain_order_detail')->where( array('member_id' => $member_id, 'bargain_order_id' => $id) )->find();
$old = $order_detail['kan_money'];
$state = $this->_bang_kan_order($id,$member_id,true,true );
$bargain_order = M('bargain_order')->where( array('id' => $id) )->find();
$bargain_order['kan_money'] = round($bargain_order['total_money'] - $bargain_order['deal_money'],2);
$bargain_order['deal_money'] = round($bargain_order['deal_money'],2);
$bargain_order['already_money'] = round($bargain_order['total_money']-$bargain_order['deal_money'],2);
if($bargain_order['state'] != 1 && $bargain_order['end_time'] > time() )
{
$bargain_order['state'] = 3;
}
//{"code":0,"li_html":"","order_detail":{"id":"45","member_id":"456","kan_money":0.28,"bargain_order_id":"26","addtime":"1531465747","is_sleft":"1","avatar":"https:\/\/wx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqiajGaVicwDKXSNwdia7lyovicLib6cMDWNdR9Ce6sA9icfqibYbPYbXSq8x8uMB8zArckA67icRzSjDsSFA\/132","nickname":"\u4f59\u5efa"},"bargain_order":{"total_money":"5.00","deal_money":3.37,"kan_money":1.63,"already_money":1.63}}
$order_detail = M('bargain_order_detail')->where( array('member_id' => $member_id, 'bargain_order_id' => $id) )->find();
$order_detail['kan_money'] = round($order_detail['kan_money'] - $old, 2);
$li_html = "";
$kan_order_list = M('bargain_order_detail')->where( array('bargain_order_id' =>$id) )->order('addtime desc')->limit(15)->select();
echo json_encode( array('code' => 0,'li_html' => $li_html,'kan_order_list' => $kan_order_list, 'order_detail' => $order_detail, 'bargain_order' => $bargain_order) );
die();
}else{
echo json_encode( array('code' => 1) );
die();
}
}
/**
帮忙别人砍价
**/
public function kan_others_bargain()
{
$id = I('get.id',0);
$token = I('get.token');
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
if(empty($member_id))
{
echo json_encode( array('code' => 5, 'msg' => '请先登录') );
die();
}
$state = $this->_bang_kan_order($id,$member_id,false);
//1;//已经帮忙砍过
//2; //活动已经成功,或者已经结束
//3;//今天已经不能再帮别人砍价
//4 砍价失败
//0成功
if($state > 0)
{
$msg = '';
switch($state)
{
case 1 :
$msg = '已经帮忙砍过了';
break;
case 2:
$msg = '活动已经结束';
break;
case 3:
$msg = '今天已经不能再帮别人砍价了';
break;
case 4:
$msg = '砍价失败';
break;
}
echo json_encode( array('code' => $state, 'msg' => $msg) );
die();
}else{
$bargain_order = M('bargain_order')->field('total_money,deal_money')->where( array('id' => $id) )->find();
$bargain_order['kan_money'] = round($bargain_order['total_money'] - $bargain_order['deal_money'],2);
$bargain_order['deal_money'] = round($bargain_order['deal_money'],2);
$bargain_order['already_money'] = round($bargain_order['total_money']-$bargain_order['deal_money'],2);
$bargain_order['state'] = 3;
$order_detail = M('bargain_order_detail')->where( array('member_id' => $member_id, 'bargain_order_id' => $id) )->find();
$order_detail['kan_money'] = round($order_detail['kan_money'], 2);
$li_html = "";
echo json_encode( array('code' => 0,'li_html' => $li_html, 'order_detail' => $order_detail, 'bargain_order' => $bargain_order) );
die();
}
}
public function get_user_goods_qrcode2()
{
$token = I('get.token');
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$goods_id = I('get.goods_id');
$goods_share_image = M('goods_share_image')->where( array('member_id' =>$member_id,'goods_id' => $goods_id ) )->find();
if( !empty($goods_share_image) )
{
$result = array('code' => 0, 'image_path' => $goods_share_image['image_path']);
echo json_encode($result);
die();
}else {
$goods_model = D('Home/Goods');
$goods_description = M('goods_description')->where( array('goods_id' =>$goods_id) )->find();
if( empty($goods_description['wepro_qrcode_image']) || true)
{
$this->get_weshare_image($goods_id);
$goods_description = M('goods_description')->where( array('goods_id' =>$goods_id) )->find();
}
$rocede_path = $goods_model->_get_goods_user_wxqrcode($goods_id,$member_id);
$res = $goods_model->_get_compare_qrcode_bgimg($goods_description['wepro_qrcode_image'], $rocede_path);
$data = array();
$data['member_id'] = $member_id;
$data['goods_id'] = $goods_id;
$data['image_path'] = $res['full_path'];
$data['addtime'] = time();
M('goods_share_image')->add($data);
$result = array('code' => 0, 'image_path' => $res['full_path']);
echo json_encode($result);
die();
}
}
private function get_weshare_image($goods_id)
{
//400*400 fan_image
//get_goods_price($goods_id)
$goods_info = M('goods')->where( array('goods_id' => $goods_id) )->find();
$goods_img = ROOT_PATH.'Uploads/image/'.$goods_info['image'];
if( !empty($goods_info['fan_image']) )
{
$goods_img = ROOT_PATH.'Uploads/image/'.$goods_info['fan_image'];
}
$goods_model = D('Home/Goods');
$goods_price = $goods_model->get_goods_price($goods_id);
$goods_price['market_price'] = $goods_info['price'];
//price
$goods_title = $goods_info['name'];
$need_img = $goods_model->_get_compare_zan_img($goods_img,$goods_title,$goods_price);
//贴上二维码图
//$rocede_path = $goods_model->_get_goods_user_wxqrcode($goods_id,$member_id);
//$res = $goods_model->_get_compare_qrcode_bgimg($need_img['need_path'], $rocede_path);
M('goods_description')->where( array('goods_id' =>$goods_id) )->save( array('wepro_qrcode_image' =>$need_img['need_path']) );
return true;
}
/**
砍价开始
**/
public function get_user_goods_qrcode()
{
$token = I('get.token');
//user_favgoods
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$data_json = file_get_contents('php://input');
$data = json_decode($data_json, true);
if(empty($data))
{
$this->get_user_goods_qrcode2();
die();
}
$address_id = $data['address_id'];
$goods_id = $data['goods_id'];
$need_optionc = $data['sku_str'];
$goods_model = D('Home/Goods');
//寻找现在是否有未完成的订单,如果有的话,那么就不要继续生成了
$goods_info = M('goods')->field('image,name')->where( array('goods_id' => $goods_id) )->find();
$bargain_goods_info = M('bargain_goods')->where( array('goods_id' => $goods_id) )->find();
//pin_count,pin_hour,
//pin_price
$now_time = time();
$old_zan_order = M('bargain_order')->where("member_id={$member_id} and goods_id={$goods_id} and state =0 and begin_time < {$now_time} and end_time > {$now_time}")->find();
if( !empty($old_zan_order) )
{
//一个会员当前一个商品 只能发出去一个二维码
echo json_encode( array('code' => 0, 'id' => $old_zan_order['id']) );
die();
}
//zan_order
$zan_order_data = array();
$zan_order_data['member_id'] = $member_id;
$zan_order_data['goods_id'] = $goods_id;
$zan_order_data['sku_str'] = $need_optionc;
$zan_order_data['state'] = 0;
$price = $bargain_goods_info['bargain_price'];
//goods_option_mult_value
if( !empty($need_optionc) )
{
$goods_option_mult_value = M('goods_option_mult_value')->where( array('rela_goodsoption_valueid' => $need_optionc,'goods_id' =>$goods_id) )->find();
if(!empty($goods_option_mult_value))
{
$price = $goods_option_mult_value['pin_price'];
}
}
$zan_order_data['need_person'] = empty($bargain_goods_info['bargain_count']) ? 1: $bargain_goods_info['bargain_count'];
$zan_order_data['total_person'] = empty($bargain_goods_info['bargain_count']) ? 1: $bargain_goods_info['bargain_count'];
$zan_order_data['deal_money'] = $price;
$zan_order_data['total_money'] = $price;
$zan_order_data['begin_time'] = $now_time;
$zan_order_data['end_time'] = $now_time + 3600 * $bargain_goods_info['hour'];
$zan_order_data['add_time'] = time();
$zan_order_data['order_id'] = 0;
$zan_order_data['address_id'] = $address_id;
$zan_order_id = M('bargain_order')->add($zan_order_data);
//bargain_order_detail
//member_id kan_money bargain_order_id addtime avatar nickname
$state = $this->_bang_kan_order($zan_order_id,$member_id,true);
echo json_encode( array('code' =>0, 'id' => $zan_order_id) );
die();
}
/**
开始砍价表
**/
private function _bang_kan_order($bargain_order_id,$member_id,$is_self = false, $just_update = false )
{
//检测是否砍过了
$has_order = M('bargain_order_detail')->where( array('member_id'=>$member_id, 'bargain_order_id' =>$bargain_order_id) )->find();
if(!empty($has_order) && !$just_update)
{
return 1;//已经帮忙砍过
}
//活动是否正常
$bargain_order_info = M('bargain_order')->where( array('id' => $bargain_order_id) )->find();
if( $bargain_order_info['state'] != 0 )
{
return 2; //活动已经成功,或者已经结束
}
$now_time = strtotime( date('Y-m-d').' 00:00:00' );
$end_time = $now_time + 86400;
$kan_person_count = C('kan_person_count');
if(!$is_self)
{
//检测今天帮别人砍价的次数
//addtime
//bargain_order_detail
$kan_count = M('bargain_order_detail')->where( array('addtime' =>array('between', array($now_time,$end_time) ), 'member_id'=>$member_id,'is_sleft' =>0 ) )->count();
//$condition['id'] = array(between,array('1','8'));
if($kan_person_count >0 && $kan_count >= $kan_person_count)
{
return 3;//今天已经不能再帮别人砍价
}
}
//开始砍价流程
if($bargain_order_info['need_person'] > 0)
{
$per_money = $bargain_order_info['deal_money'] / $bargain_order_info['need_person'];
if($bargain_order_info['need_person'] >2)
{
$per_money = $per_money * 2;
}
}else{
$per_money = round($bargain_order_info['deal_money'] ,2);
}
$min = 1;
$max = $per_money * 100;
$ran_money = round( mt_rand($min,$max) / 100 , 2) ;
if($bargain_order_info['need_person'] < 0)
{
$win_rd = mt_rand(1,9);
if($win_rd >=5)
{
$ran_money = $bargain_order_info['deal_money'];
}
}
$member_info = M('member')->field('uname,avatar,we_openid')->where( array('member_id' => $member_id) )->find();
//TODO 插入砍价详细订单
if($just_update)
{
$res = M('bargain_order_detail')->where( array('bargain_order_id' => $bargain_order_id,'member_id' =>$member_id ) )->setInc('kan_money',$ran_money);
//setInc
M('bargain_order')->where( array('id' => $bargain_order_id) )->save( array('is_share' => 1) );
} else{
$ins_data = array();
$ins_data['member_id'] = $member_id;
$ins_data['kan_money'] = $ran_money;
$ins_data['bargain_order_id'] = $bargain_order_id;
$ins_data['addtime'] = time();
$ins_data['is_sleft'] = $is_self ? 1: 0;
$ins_data['avatar'] = $member_info['avatar'];
$ins_data['nickname'] = $member_info['uname'];
$res = M('bargain_order_detail')->add($ins_data);
}
if($res)
{
if(!$just_update)
{
M('bargain_order')->where( array('id' => $bargain_order_id) )->setDec('need_person',1);
}
M('bargain_order')->where( array('id' => $bargain_order_id) )->setDec('deal_money',$ran_money);
$bargain_order_info = M('bargain_order')->where( array('id' => $bargain_order_id) )->find();
if($bargain_order_info['deal_money'] <=0 )
{
//TODO send msg
$model = D('Home/Goods');
$order_id = $model->_zan_bargain_order($bargain_order_id);
//M('zan_order')->where( array('id' => $zan_order_id) )->save( array('order_id' => $order_id,'state' => 1) );
M('bargain_order')->where( array('id' => $bargain_order_id) )->save( array('order_id' => $order_id,'state' => 1) );
//add order
$or_member_info = M('member')->field('openid,we_openid')->where( array('member_id' => $bargain_order_info['member_id']) )->find();
$or_open_id = $or_member_info['we_openid'];
//$or_open_id = 'o0n_HwcGIfwf5b8PN8-gmNfsJBLA';
$goods_info = M('goods')->field('name')->where( array('goods_id' => $bargain_order_info['goods_id']) )->find();
//转小程序模板消息
/**
5zZUGZhK46PzcJeAIidv_cdsJ6OaCCXe0PtGen0yvOA
复制
标题
砍价成功通知
关键词
商品名称
{{keyword1.DATA}}
砍价状态
{{keyword2.DATA}}
备注
{{keyword3.DATA}}
**/
$first_title = "您参与:".$goods_info['name'];
$keyword1 = '您的活动已砍价成功';
$url = C('SITE_URL')."/index.php?s=/Order/info/id/{$order_id}.html";
$template_data['keyword1'] = array('value' => $first_title, 'color' => '#030303');
$template_data['keyword2'] = array('value' => '砍价成功', 'color' => '#030303');
$template_data['keyword3'] = array('value' => '当前活动已成功,等待发货', 'color' => '#030303');
$pay_order_msg_info = M('config')->where( array('name' => 'weprogram_template_kan_msg') )->find();
$template_id = $pay_order_msg_info['value'];
$pagepath = 'pages/order/order?id='.$order_id;
$member_formid_info = M('member_formid')->where( array('member_id' => $bargain_order_info['member_id'], 'formid' =>array('neq',''),'state' => 0) )->order('id desc')->find();
if( !empty($member_formid_info) )
{
$rs = send_wxtemplate_msg($template_data,$url,$pagepath,$or_open_id,$template_id,$member_formid_info['formid']);
//更新
M('member_formid')->where( array('id' => $member_formid_info['id']) )->save( array('state' => 1) );
}
}
return 0;
}else{
return 4;//砍价失败
}
}
public function get_category_keyword_goods()
{
$pre_page = 10;
$page = I('get.page',1);
$keyword = I('get.keyword','');
$sort = I('get.sort', 'desc');
$cur_type = I('get.cur_type','default');//default seller_count price
$cur_price_index = I('get.cur_price_index',0);
$search_min_price = I('get.search_min_price',0);
$search_max_price = I('get.search_max_price',0);
$goods_model = D('Home/Goods');
$condition = array('name' => array('like','%'.$keyword.'%'), 'status'=>1,'quantity' =>array('gt',0) );
$condition['type'] = array('NEQ','assistance');//'normal';
$orderby = "seller_count {$sort},goods_id {$sort}";
if($cur_type == 'seller_count')
{
$orderby = "seller_count+virtual_count desc";
}else if($cur_type == 'price'){
$orderby = "danprice {$sort}";
}
if($cur_price_index > 0)
{
if($search_min_price > 0 && $search_max_price > 0)
{
//$sql['jobSalary'] = array('between','0,1000');
$condition['danprice'] = array('between',"{$search_min_price},{$search_max_price}");
}else if($search_min_price > 0)
{
//'quantity' =>array('gt',0)
$condition['danprice'] = array('egt', $search_min_price);
} else if($search_max_price > 0){
$condition['danprice'] = array('elt', $search_max_price);
}
//$search_min_price = I('get.search_min_price');
//$search_max_price = I('get.search_max_price');
}
//$condition['lock_type'] = 'normal';
$offset = ($page -1) * $pre_page;
$list = M('goods')->where($condition)->order($orderby)->limit($offset,$pre_page)->select();
if(!empty($list)) {
foreach($list as $key => $v){
$goods_price_arr = $goods_model->get_goods_price($v['goods_id']);
$list[$key]['pinprice'] = $goods_price_arr['price'];
$list[$key]['image']=C('SITE_URL'). resize($v['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
}
}
foreach($list as $key => $val)
{
$val['seller_count'] += $val['virtual_count'];
$list[$key] = $val;
}
if( !empty($list) )
{
echo json_encode( array('code' => 0, 'data' => $list ) );
die();
} else {
echo json_encode( array('code' => 1) );
die();
}
}
public function get_goods_fujin_tuan()
{
$id = I('get.id');
$count = I('get.count',2);
$pin_model = D('Home/Pin');
//正在进行中的商品团
$fujin_tuan = $pin_model->get_goods_pintuan($id,$count);
$fujin_list = $fujin_tuan['list'];
echo json_encode( array('code' => 0, 'cur_time' => time(), 'data' => $fujin_list) );
die();
//$this->fujin_tuan = $fujin_tuan;
}
public function upload_image(){
$dir=I('get.dir','goods');
$dir .= '/'.date('Y-m-d');
//$this->del_old_image();
$upload = new \Think\Upload();// 实例化上传类
$image_dir=ROOT_PATH.'Uploads/image/'.$dir;
RecursiveMkdir($image_dir);
$upload->autoSub = false;
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = $image_dir.'/';
$info = $upload->upload();
if(!$info) {
$data['result'] = false;
$this->ajaxReturn($data);
}else{// 上传成功
//{"image_thumb":"Uploads\/image\/cache\/goods\/2017-11-01\/59f9460eac183-100x100.jpg",
//"image":"goods\/2017-11-01\/59f9460eac183.jpg"}
$filename=$dir.'/'.$info['file']['savepath'].$info['file']['savename'];
$data['image_thumb'] = C('SITE_URL').resize($filename, 300, 300);
$data['image'] = C('SITE_URL').'Uploads/image/'.$filename;
$data['image_o'] = $filename;
$this->ajaxReturn($data);
}
}
public function get_goods_simple() {
$id = I('get.id');
$goods_info = M('goods')->where( array('goods_id' => $id) )->find();
$goods_info['image'] = C('SITE_URL') . resize($goods_info['image'], 400 , 400);
if ($goods[0]['type'] == 'pintuan' || $goods[0]['type'] == 'lottery') {
$pin_info = M('pin_goods')->where(array(
'goods_id' => $id
))->find();
}
$need_data = array();
$need_data['goods_id'] = $id;
$need_data['name'] = $goods_info['name'];
$need_data['price'] = empty($pin_info) ? $goods_info['danprice'] : $pin_info['pin_price'];
$need_data['image'] = $goods_info['image'];
echo json_encode( array('code' =>0, 'data' => $need_data) );
die();
}
public function get_goods_detail() {
die();
}
/**
商品评价
**/
public function comment_info()
{
$goods_id = I('get.goods_id',0);
$token = I('get.token');
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$result = array('code' =>0);
if( empty($member_id))
{
$result['msg'] = '未登录';
echo json_encode($result);
die();
}
$goods_info = M('goods')->where( array('goods_id' => $goods_id ) )->find();
if(empty($goods_info)) {
$result['msg'] = '没有此商品';
echo json_encode($result);
die();
}
$page = I('get.page',1);
$per_page = I('get.per_page',10);
// $per_page = 4;
$offset = ($page - 1) * $per_page;
$sql = "select o.*,m.name as name2,m.avatar as avatar2 from ".C('DB_PREFIX')."order_comment as o left join ".C('DB_PREFIX')."member as m on o.member_id=m.member_id
where o.state =1 and o.goods_id = {$goods_id} order by o.add_time desc limit {$offset},{$per_page}";
$list=M()->query($sql);
foreach($list as $key => $val)
{
if( empty($val['user_name']) )
{
$val['name'] = $val['name2'];
$val['avatar'] = $val['avatar2'];
}else{
$val['name'] = $val['user_name'];
}
if($val['type'] == 0)
{
$order_goods_info = M('order_goods')->field('order_goods_id')->where( array('order_id' => $val['order_id'],'goods_id' => $id) )->find();
$order_option_info = M('order_option')->field('value')->where( array('order_id' =>$val['order_id'],'order_goods_id' => $order_goods_info['order_goods_id']) )->select();
$option_arr = array();
foreach($order_option_info as $option)
{
$option_arr[] = $option['value'];
}
$option_str = implode(',', $option_arr);
}else{
$option_str = '';
}
if( !empty($val['images']) )
{
$img_list = unserialize($val['images']);
if(!empty($img_list))
{
$need_img_list = array();
foreach($img_list as $kk => $vv)
{
if( empty($vv) )
{
continue;
}
$vv = C('SITE_URL'). resize($vv, C('goods_thumb_width'), C('goods_thumb_height'));
$img_list[$kk] = $vv;
$need_img_list[$kk] = $vv;
}
$val['images'] = $need_img_list;
}else{
$val['images'] = array();
}
}
//{{item.addtime}}
// {{item.option_str}}
$val['add_time'] = date('Y-m-d', $val['add_time']) ;
$val['option_str'] = $option_str;
$list[$key] = $val;
}
$result = array();
$result['code'] = 1;
$result['list'] = $list;
echo json_encode($result);
die();
}
public function get_lottery_info()
{
///goods_id/30
$goods_id = I('get.goods_id',0);
// $goods_info = M('goods')->where( array('goods_id' => $goods_id,'type' => 'lottery') )->find();
$goods_info = M('goods')->where( array('goods_id' => $goods_id) )->find();
$pin_goods = M('pin_goods')->where( array('goods_id' => $goods_id) )->find();
if(empty($goods_info)) {
die('非法操作');
}
$page = I('get.page',1);
$per_page = I('get.per_page',4);
$per_page = 1000;
$offset = ($page - 1) * $per_page;
$goods_info['image'] = C('SITE_URL').resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
$sql = "select m.avatar,m.uname,o.order_num_alias,o.shipping_tel from ".C('DB_PREFIX')."order as o ,".C('DB_PREFIX')."order_goods as og,".C('DB_PREFIX')."member as m
where o.lottery_win = 1 and o.order_id = og.order_id and og.goods_id and o.member_id = m.member_id and og.goods_id = {$goods_id} and o.date_added > ".$pin_goods['begin_time']." order by o.order_id asc limit {$offset},{$per_page}";
//begin_time
$this->goods_info = $goods_info;
$list=M()->query($sql);
$count_sql = "select count(o.order_num_alias) as count from ".C('DB_PREFIX')."order as o ,".C('DB_PREFIX')."order_goods as og,".C('DB_PREFIX')."member as m
where o.lottery_win = 1 and o.order_id = og.order_id and og.goods_id and o.member_id = m.member_id and og.goods_id = {$goods_id} ";
$count=M()->query($count_sql);
$count = $count[0]['count'];
$max_page = ceil($count / $per_page);
$this->pin_goods = $pin_goods;
$this->list = $list;
$this->goods_id = $goods_id;
//if(empty($list)) {
// $jia_page = $page - $max_page;
// $offset = ($jia_page - 1) * $per_page;
$sql = "select avatar,uname,order_sn as order_num_alias,mobile as shipping_tel from
".C('DB_PREFIX')."jiaorder
where goods_id = {$goods_id} and addtime > ".$pin_goods['begin_time']." order by id asc limit {$offset},{$per_page}";
// where goods_id = {$goods_id} order by id asc limit {$offset},{$per_page}";
$lists=M()->query($sql);
foreach($lists as $vv)
{
$list[] = $vv;
}
// $this->list = $list;
// }
if(!empty($list))
{
foreach($list as $key => $val)
{
$list[$key]['shipping_tel'] = substr($val['shipping_tel'],0,3)."*****".substr($val['shipping_tel'],-3,3);
}
$need_data = array();
$need_data['code'] = 0;
$need_data['goods_info'] = $goods_info;
$need_data['pin_goods'] = $pin_goods;
$need_data['data'] = $list;
}else {
$need_data = array();
$need_data['code'] = 0;
$need_data['goods_info'] = $goods_info;
$need_data['pin_goods'] = $pin_goods;
$need_data['data'] = $list;
}
echo json_encode($need_data);
die();
}
function get_subcategory()
{
// /id/'+cur_pid
$cate_id = I('get.id',0);
$level = 0;
$cur_cate_name = '';
//name
if($cate_id > 0)
{
$parinfo = M('goods_category')->where( array('id' => $cate_id) )->find();
$cur_cate_name = $parinfo['name'];
if($parinfo['pid'] > 0)
{
$level = 2;
}
}
$goods_category_list = M('goods_category')->where( array('pid' => $cate_id) )->order('sort_order desc, id asc')->select();
foreach($goods_category_list as $key => $val)
{
$val['logo'] = C('SITE_URL').'Uploads/image/'.$val['logo'];
$goods_category_list[$key] = $val;
}
if(!empty($goods_category_list))
{
echo json_encode( array('code' => 0,'level' => $level, 'cur_cate_name' => $cur_cate_name,'data' => $goods_category_list) );
die();
} else{
echo json_encode( array('code' => 1,'level' => $level,'cur_cate_name' => $cur_cate_name) );
die();
}
}
/**
获得商户优惠券
**/
public function get_seller_quan()
{
$seller_id = I('get.store_id',1);
$where = "";
$where = "total_count>send_count and store_id ={$seller_id} and is_index_show=1 and end_time>".time();
$quan_list = M('voucher')->where($where)->order('add_time desc')->limit(4)->select();
echo json_encode( array('code' => 0, 'quan_list' => $quan_list) );
die();
}
public function seller_info()
{
$seller_id = I('get.id',0);
//s_true_name s_logo
$seller_info = M('seller')->field('s_true_name,s_logo,s_banner')->where( array('s_id' => $seller_id) )->find();
$seller_info['s_logo'] = C('SITE_URL').'Uploads/image/'.$seller_info['s_logo'];
if( empty($seller_info['s_banner']) )
{
$seller_info['s_banner'] = C('SITE_URL').'Common/mogu/image/170923_1bk3970j2eb9jia57aa8k3i661ck5_750x270.jpg';
} else{
$seller_info['s_banner'] = C('SITE_URL').'Uploads/image/'.$seller_info['s_banner'];
}
//s_banner
$seller_model = D('Home/Seller');
$seller_count = $seller_model->getStoreSellerCount($seller_id);
$goods_count = M('goods')->where( array('store_id' => $seller_id) )->count();
$seller_info['seller_count'] = $seller_count;
$seller_info['goods_count'] = $goods_count;
//$this->goods_count = $goods_count;
//$this->seller_count = $seller_count;
$store_class_list = M('store_bind_class')->where( array('seller_id' => $seller_id) )->order('bid asc')->select();
$store_class_ids = array();
foreach($store_class_list as $class_val)
{
$store_class_ids[] = $class_val['class_1'];
}
$category_list = array();
if( !empty($store_class_ids) )
{
$category_list = M('goods_category')->field('id,name,logo')->where( array('id' => array('in', $store_class_ids) ) )->select();
foreach($category_list as $key => $val)
{
$val['logo'] = C('SITE_URL').'Uploads/image/'.$val['logo'];
$category_list[$key] = $val;
}
}
//["name"]=> string(12) "食品食品" ["logo"]=>
//$this->category_list = $category_list;
$fans_count = M('user_favstore')->where( array('store_id' => $seller_id) )->count();
$seller_info['fans_count'] = $fans_count;
$seller_info['category_list'] = $category_list;
$where = "";
$where = "total_count>send_count and store_id ={$seller_id} and is_index_show=1 and end_time>".time();
$quan_list = M('voucher')->where($where)->order('add_time desc')->limit(4)->select();
$seller_info['quan_list'] = $quan_list;
//$this->quan_list = $quan_list;
echo json_encode( array('code' =>0, 'data' => $seller_info) );
die();
}
public function getQuan()
{
$token = I('get.token');
//user_favgoods
$weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
$member_id = $weprogram_token['member_id'];
$data_json = file_get_contents('php://input');
$data = json_decode($data_json, true);
$result = array('code' => 0,'msg' => '被抢光啦');
$quan_id = $data['quan_id'];
if($quan_id >0){
$quan_model = D('Home/Voucher');
$res = $quan_model->send_user_voucher_byId($quan_id,$member_id,true);
//1 被抢光了 2 已领过 3 领取成功
$mes_arr = array(1 => '被抢光了',2 => '已领过', 3 => '领取成功');
$result['code'] = $res;
$result['msg'] = $mes_arr[$res];
}
echo json_encode($result);
die();
}
public function notify_order()
{
//$map['id'] = array('neq',100);
$notify_order = M('notify_order')->where( array('state' => array('lt', 1)) )->order('state asc,id asc')->find();
//username
$result = array('ret' => 0);
if(empty($notify_order))
{
echo json_encode($result);
die();
}
M('notify_order')->where( array('id' => $notify_order['id']) )->setInc('state', 1);
$miao = (time() -$notify_order['order_time']) % 60;
$result['ret'] = 1;
$result['username'] = $notify_order['username'];
$result['avatar'] = $notify_order['avatar'];
$result['order_id'] = $notify_order['order_id'];
$result['order_url'] = $notify_order['order_url'];
$result['miao'] = $miao;
//->save( array('state' => 1) );
echo json_encode($result);
die();
}
public function seller_goods_list()
{
$pre_page = I('get.pre_page',2);
$page = I('get.page',1);
$seller_id = I('get.seller_id',0);
$gid = I('get.gid',0);
$keyword = I('get.keyword','');
$order_by = I('get.order_by','default');
switch($order_by)
{
case 'default':
$order_by = 'sort_order asc';
break;
case 'hot':
$order_by = 'seller_count desc';
break;
case 'new':
$order_by = 'goods_id desc';
break;
}
$where = " and (g.type='pintuan' or g.type='lottery') and g.store_id = {$seller_id} and g.status =1 and g.quantity > 0 ";
$offset = ($page -1) * $pre_page;
if( $gid > 0)
{
$where .= " and (gt.class_id1 = {$gid} or gt.class_id2 = {$gid} or gt.class_id3 = {$gid}) ";
}
if( !empty($keyword) )
{
$where .= " and g.name like '%{$keyword}%' ";
}
$sql = "select g.* from ".C('DB_PREFIX')."goods as g ,".C('DB_PREFIX')."goods_to_category as gt
where g.goods_id = gt.goods_id {$where} order by {$order_by} limit {$offset},{$pre_page} ";
$list = M()->query($sql);
$goods_data = array();
if(!empty($list)) {
foreach($list as $key => $v){
//$list[$key]['seller_count'] += $v['virtual_count'];
$tmp_goods = array();
$tmp_goods['goods_id'] = $v['goods_id'];
$tmp_goods['name'] = $v['name'];
$tmp_goods['quantity'] = $v['quantity'];
$tmp_goods['image'] = C('SITE_URL').'Uploads/image/' .$v['image'];
$tmp_goods['price'] = $v['price'];
$tmp_goods['danprice'] = $v['danprice'];
$tmp_goods['seller_count'] = $v['seller_count']+$v['virtual_count'];
$tmp_goods['fav_count'] = M('user_favgoods')->where( array('goods_id' => $v['goods_id']) ) ->count();
$goods_data[] = $tmp_goods;
//$list[$key]['image']=resize($v['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
}
}
if( empty($goods_data) )
{
echo json_encode( array('code' => 1) );
die();
} else {
echo json_encode( array('code' => 0, 'data' => $goods_data) );
die();
}
}
}