'/index.php/Retail/PlugReward/editad', 'redSwitch' => '/index.php/Retail/PlugReward/redSwitch', 'reward_details' => '/index.php/Retail/PlugReward/reward_details', 'redDelete' => '/index.php/Retail/PlugReward/redDelete', ); $authArr = checkFunction($arr); $this->assign('authArr', $authArr); $this->display(); } // 红包添加 public function desss() { $this->display(); } // 红包列表页 public function redlist() { $type = I('post.type'); // 活动类型 $status = I('post.status'); //红包状态 $starttime = I('post.starttime'); //开始时间 $endtime = I('post.endtime'); //结束时间 if($status!=''){ if($status==2){ $time['endtime'] = array('lt',time()); }else{ $map['status'] = $status; } } if(!empty($type)){ $map['type'] = $type; } $user = session('merchant_userinfo'); $map['merchantid'] = $user['id']; $map['is_del'] = 0; if (!empty($starttime) && !empty($endtime)) { $starttime = strtotime($starttime); $endtime = strtotime($endtime); $where['addtime'] = array('between',"$starttime,$endtime"); if($status!='' && $status==2){ $count = M('reward')->where($map)->where($where)->where($time)->count(); $info = M('reward')->where($map)->where($where)->where($time)->page($_POST['page'], $_POST['limit'])->order('id desc')->select(); }else{ $count = M('reward')->where($map)->where($where)->count(); $info = M('reward')->where($map)->where($where)->page($_POST['page'], $_POST['limit'])->order('id desc')->select(); } }else{ if($status!='' && $status==2){ $count = M('reward')->where($map)->where($time)->count(); $info = M('reward')->where($map)->where($time)->page($_POST['page'], $_POST['limit'])->order('id desc')->select(); }else{ $count = M('reward')->where($map)->count(); $info = M('reward')->where($map)->page($_POST['page'], $_POST['limit'])->order('id desc')->select(); } } $res['code'] = 0; $res['count'] = $count; $res['data'] = $info; $this->ajaxReturn($res); } //添加红包 public function editad() { $user = session('merchant_userinfo'); $merchantid = $user['id']; // print_r($user);die; if (IS_POST) { $name = I('post.name');//活动名称 $reward_type = I('post.reward_type');//红包类型 $starttime = I('post.starttime'); $endtime = I('post.endtime'); if (empty($name)) { $res['status'] = 0; $res['msg'] = '请填写活动名称'; $this->ajaxReturn($res); } //固定金额 if ($reward_type ==1) { $fixed_money = I('post.fixed_money'); $number = I('post.number'); if(empty($fixed_money) || empty($number)){ $res['status'] = 0; $res['msg'] = '固定金额或数量不能为空'; $this->ajaxReturn($res); } $Ad['fixed_money'] = $fixed_money; $Ad['number'] = $number; $Ad['lessnumber'] = $number; }elseif ($reward_type ==2) { //随机金额 $minmoney = I('post.minmoney'); $maxmoney = I('post.maxmoney'); if(empty($minmoney) || empty($maxmoney)){ $res['status'] = 0; $res['msg'] = '最大最小金额不能为空'; $this->ajaxReturn($res); }elseif ($minmoney>=$maxmoney) { $res['status'] = 0; $res['msg'] = '最小金额不能比最大金额大'; $this->ajaxReturn($res); } $money = I('post.money')?I('post.money'):NULL; $number = I('post.number'); if(!empty($money)){ if ($money<$maxmoney) { $res['status'] = 0; $res['msg'] = '总金额不能小于最大金额'; $this->ajaxReturn($res); } } if($money==NULL){ $Ad['is_money'] = 0; } if(empty($number)){ $Ad['is_number'] = 0; } $Ad['minmoney'] = $minmoney; $Ad['maxmoney'] = $maxmoney; $Ad['money'] = $money; $Ad['number'] = $number; $Ad['lessnumber'] = $number; $Ad['lessmoney'] = $money; }elseif ($reward_type ==3) { // 梯度金额 $reward_list = I('post.reward_list'); if(empty($reward_list)){ $res['status'] = 0; $res['msg'] = '梯度金额不能为空'; $this->ajaxReturn($res); } $nub_json = json_decode($reward_list,true); $number = 0; foreach ($nub_json as $val) { $number += $val['nub']; } $money = I('post.money')?I('post.money'):NULL; if($money!=NULL){ $Ad['is_money'] = 1; } $Ad['money'] = $money; $Ad['reward_list'] = $reward_list; $Ad['number'] = $number; $Ad['lessnumber'] = $number; $Ad['lessmoney'] = $money; } if (!$starttime || !$endtime) { $res['status'] = 0; $res['msg'] = '请选择正确的时间'; $this->ajaxReturn($res); } // 活动类型 $type = I('post.type'); // 领取限制 $is_everyday = I('post.is_everyday'); if($is_everyday==2){ $Ad['day_max_time'] = I('post.day_max_time'); }elseif ($is_everyday==3) { $Ad['day_max_money'] = I('post.day_max_money')?I('post.day_max_money'):NULL; } //消费金额限制 if ($type == 2 || $type == 4) { $needmoney = I('post.needmoney'); if (empty($needmoney)) { $res['status'] = 0; $res['msg'] = '消费金额不正确'; $this->ajaxReturn($res); } $Ad['needmoney'] = $needmoney; } if($type == 2 || $type == 3 || $type == 4){ //活动门店限制 $is_limit_store = I('post.is_limit_store'); $Ad['is_limit_store'] = $is_limit_store; if($is_limit_store==1){ $limit_store_id = I('post.limit_store_id'); $Ad['limit_store_id'] = $limit_store_id; } //非会员限制 if($type == 3 || $type == 4){ $is_vip = I('post.is_vip'); $Ad['is_vip'] = $is_vip; } //会员等级限制 $is_class_limit = I('post.is_class_limit'); $Ad['is_class_limit'] = $is_class_limit; if($is_class_limit == 1){ $class_type = I('post.class_type'); $Ad['class_type'] = $class_type; } } $Ad['name'] = $name; $Ad['reward_type'] = $reward_type; $Ad['type'] = $type; $Ad['starttime'] = strtotime($starttime); $Ad['endtime'] = strtotime($endtime); $Ad['merchantid'] = $merchantid; $Ad['is_everyday'] = $is_everyday; $map['merchantid'] = $merchantid; $map['type'] = $type; $one = M('reward')->where($map)->order('phase desc')->find(); // 查询是否存在数据。 if ($one) { $sdata['status'] = 0; $where['id'] = $one['id']; M('reward')->where($where)->save($sdata); $Ad['status'] = $one['status']; $Ad['addtime'] = time(); $Ad['phase'] = $one['phase'] + 1; // 开启新的红包数据。 $ret = M('reward')->add($Ad); } else { $Ad['addtime'] = time(); $Ad['phase'] = 1; $Ad['status'] = 0; // 添加红包时为关闭状态; $ret = M('reward')->add($Ad); } if ($ret !== false) { $res['status'] = 1; $res['msg'] = '红包编辑成功'; if ($one) { if ($one['status'] == 0) { $res['msg'] = '红包添加成功,当前为关闭状态,开启红包功能请到红包主页'; } else { $res['msg'] = '红包添加成功,当前为开启转台,修改状态请到红包主页'; } } if (!$one) { $res['msg'] = '红包添加成功,当前为关闭状态,开启请到红包主页'; } } else { $res['status'] = 2; $res['msg'] = '请检查参数'; } // echo json_encode($res,JSON_UNESCAPED_UNICODE); $this->ajaxReturn($res); } } // 参加红包活动的店铺选项接口 public function mananger() { $user = session('merchant_userinfo'); $where['merchantid'] = $user['id']; $res = M('retail_store')->field('id,storetag')->where($where)->select(); $this->ajaxReturn($res); } // 参加红包活动的会员等级选项接口 public function vipGrade() { $user = session('merchant_userinfo'); $integral = M('retail_vip_integral')->field('id,cardname,min_integral')->where(['merchantid'=>$user['id']])->select(); $this->ajaxReturn($integral); } //删除红包 public function redDelete() { $where['id'] = I('post.id'); $res = M('reward')->where($where)->find(); if ($res) { if ($res['status'] == 1) { $data['status'] = 0; $data['msg'] = '请先关闭红包'; $this->ajaxReturn($data); } $rt = M('reward')->where($where)->save(array('is_del'=>1)); if ($rt) { $data['status'] = 1; $data['msg'] = '删除成功'; } else { $data['status'] = 0; $data['msg'] = '删除失败'; } } $this->ajaxReturn($data); } //红包开启关闭 public function redSwitch() { $user = session('merchant_userinfo'); $map['merchantid'] = $user['id']; if (IS_POST) { $id = I('post.id'); $status = I('post.status'); if ($status == 1) { $res = M('reward')->where(array('id' => $id))->save(array('status' => 0)); if ($res) { $data['status'] = 1; $data['value'] = 0; $data['msg'] = '关闭成功'; } else { $data['status'] = 0; $data['value'] = 0; $data['msg'] = '关闭失败'; } } else { $times = time(); $endtime = M('reward')->where(array('id' => $id))->getField('endtime'); $starttime = M('reward')->where(array('id' => $id))->getField('starttime'); if ($times > $endtime) { $data['status'] = 0; $data['value'] = 0; $data['msg'] = '开启失败,活动已过期!'; $this->ajaxReturn($data); } $type = M('reward')->where(array('id' => $id))->getField('type'); if($type==2){ $turntable_type = 4; }elseif ($type==3) { $turntable_type = 2; }elseif ($type==4) { $turntable_type = 3; }else{ $turntable_type = 1; } $map['status'] = 1; $map['type'] = $type; // 多开 $turntable = M('turntable')->where(array('merchantid' => $map['merchantid'], 'status' => 1, 'turntable_type' => $turntable_type))->select(); $info = M('reward')->where($map)->select(); if ($info) { $data['status'] = 0; $data['value'] = 0; foreach ($info as $value) { $status = $starttime - $value['starttime']; if ($status > 0) { $status2 = $starttime - $value['endtime']; if ($status2 <= 0) { $data['msg'] = '开启失败,请先关闭同类型同时间段开启的红包!'; $this->ajaxReturn($data); } } else { $status2 = $endtime - $value['starttime']; if ($status2 > 0) { $data['msg'] = '开启失败,请先关闭同类型同时间段开启的红包!'; $this->ajaxReturn($data); } } } } if($turntable) { $data['status'] = 0; $data['value'] = 0; foreach ($turntable as $val) { $status = $starttime - $val['start_time']; if ($status > 0) { $status2 = $starttime - $val['end_time']; if ($status2 <= 0) { $data['msg'] = '开启失败,请先关闭同类型同时间段开启的大转盘!'; $this->ajaxReturn($data); } } else { $status2 = $endtime - $val['start_time']; if ($status2 > 0) { $data['msg'] = '开启失败,请先关闭同类型同时间段开启的大转盘!'; $this->ajaxReturn($data); } } } } $res = M('reward')->where(array('id' => $id))->save(array('status' => 1)); if ($res) { $data['status'] = 1; $data['value'] = 1; $data['msg'] = '开启成功'; } else { $data['status'] = 0; $data['value'] = 0; $data['msg'] = '开启失败'; } } $this->ajaxReturn($data); } } //红包领取详情 public function reward_details() { $starttime = I('post.starttime'); //开始时间 $endtime = I('post.endtime'); //结束时间 $storeid = I('post.storeid'); //门店id if(!empty($storeid)){ $map['storeid'] = $storeid; } $map['reward_id'] = I('post.id');//红包id $user = session('merchant_userinfo'); $map['merchantid'] = $user['merchantid']; $map['status'] = 1; if(!empty($starttime) && !empty($endtime)){ $starttime = strtotime($starttime); $endtime = strtotime($endtime); $where['addtime'] = array('between',"$starttime,$endtime"); $count = M('reward_record')->where($map)->where($where)->count(); $info = M('reward_record')->field('id,vid,money,addtime,storeid')->where($map)->where($where)->page($_POST['page'], $_POST['limit'])->select(); }else{ $count = M('reward_record')->where($map)->count(); $info = M('reward_record')->field('id,vid,money,addtime,storeid')->where($map)->page($_POST['page'], $_POST['limit'])->select(); } foreach ($info as &$val) { $val['nickname'] = M('retail_vip')->where(array('id' => $val['vid']))->getField('nickname'); $val['name'] = M('retail_vip')->where(array('id' => $val['vid']))->getField('name'); $val['mobile_phone'] = M('retail_vip')->where(array('id' => $val['vid']))->getField('mobile_phone'); $val['storename'] = M('retail_store')->where(array('id' => $val['storeid']))->getField('storetag'); $val['addtime'] = date('Y-m-d', $val['addtime']); } $res['code'] = 0; $res['count'] = $count; $res['data'] = $info; $this->ajaxReturn($res); } }