|
|
@ -1,6 +1,7 @@ |
|
|
<?php |
|
|
<?php |
|
|
namespace app\admin\controller; |
|
|
namespace app\admin\controller; |
|
|
|
|
|
|
|
|
|
|
|
use app\task\controller\Task; |
|
|
use think\Db; |
|
|
use think\Db; |
|
|
use think\facade\Request; |
|
|
use think\facade\Request; |
|
|
use think\facade\Session; |
|
|
use think\facade\Session; |
|
|
@ -40,6 +41,33 @@ class Client extends Common{ |
|
|
return $this->fetch(); |
|
|
return $this->fetch(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//查询30天内 是否为第一报备人 |
|
|
|
|
|
public function searchClient() |
|
|
|
|
|
{ |
|
|
|
|
|
$id = Request::param('id'); |
|
|
|
|
|
//查询所有管理员(去除admin) |
|
|
|
|
|
$adminResult = Db::name('admin')->where('group_id', '<>', 1)->field('admin_id,username')->select(); |
|
|
|
|
|
$this->assign('adminResult', $adminResult); |
|
|
|
|
|
|
|
|
|
|
|
if (Request::isAjax()) { |
|
|
|
|
|
// |
|
|
|
|
|
$_data = Db::table('crm_leads')->where(['id' => $id])->field('house,building,number')->find(); |
|
|
|
|
|
if (empty($_data)) { |
|
|
|
|
|
return json(['code' => -200, 'msg' => '数据不存在!', 'data' => []]); |
|
|
|
|
|
} |
|
|
|
|
|
//小于30天判断 |
|
|
|
|
|
$now = date('Y-m-d H:i:s',strtotime('-1 month')); |
|
|
|
|
|
$data_list = Db::table('crm_leads')->where($_data)->where('at_time', '>', $now)->order('at_time','ASC')->select(); |
|
|
|
|
|
if (isset($data_list[0]['id']) && $id == $data_list[0]['id']) { |
|
|
|
|
|
$msg = ['code' => 0, 'msg' => '是否为第一报备:是', 'data' => []]; |
|
|
|
|
|
} else { |
|
|
|
|
|
$msg = ['code' => -200, 'msg' => '是否为第一报备:否', 'data' => []]; |
|
|
|
|
|
} |
|
|
|
|
|
return json($msg); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//(我的客户)列表 |
|
|
//(我的客户)列表 |
|
|
public function perCliList(){ |
|
|
public function perCliList(){ |
|
|
|
|
|
|
|
|
@ -272,14 +300,14 @@ class Client extends Common{ |
|
|
$data['pro'] = Request::param('pro'); |
|
|
$data['pro'] = Request::param('pro'); |
|
|
$data['city'] = Request::param('city'); |
|
|
$data['city'] = Request::param('city'); |
|
|
$data['area'] = Request::param('area'); |
|
|
$data['area'] = Request::param('area'); |
|
|
$data['house'] = Request::param('house'); |
|
|
$data['house'] = trim(Request::param('house')); |
|
|
$data['building'] = Request::param('building'); |
|
|
$data['building'] = trim(Request::param('building')); |
|
|
$data['number'] = Request::param('number'); |
|
|
$data['number'] = trim(Request::param('number')); |
|
|
|
|
|
|
|
|
$wdata = array( |
|
|
$wdata = array( |
|
|
'pro'=>$data['pro'], |
|
|
// 'pro'=>$data['pro'], |
|
|
'city'=>$data['city'], |
|
|
// 'city'=>$data['city'], |
|
|
'area'=>$data['area'], |
|
|
// 'area'=>$data['area'], |
|
|
'house'=>$data['house'], |
|
|
'house'=>$data['house'], |
|
|
'building'=>$data['building'], |
|
|
'building'=>$data['building'], |
|
|
'number'=>$data['number'] |
|
|
'number'=>$data['number'] |
|
|
@ -346,10 +374,13 @@ class Client extends Common{ |
|
|
if (Request::isAjax()){ |
|
|
if (Request::isAjax()){ |
|
|
$data = Request::param(); |
|
|
$data = Request::param(); |
|
|
$data['ut_time'] = date("Y-m-d H:i:s",time()); |
|
|
$data['ut_time'] = date("Y-m-d H:i:s",time()); |
|
|
|
|
|
$data['house'] = trim($data['house']); |
|
|
|
|
|
$data['building'] = trim($data['building']); |
|
|
|
|
|
$data['number'] = trim($data['number']); |
|
|
$wdata = array( |
|
|
$wdata = array( |
|
|
'pro'=>$data['pro'], |
|
|
// 'pro'=>$data['pro'], |
|
|
'city'=>$data['city'], |
|
|
// 'city'=>$data['city'], |
|
|
'area'=>$data['area'], |
|
|
// 'area'=>$data['area'], |
|
|
'house'=>$data['house'], |
|
|
'house'=>$data['house'], |
|
|
'building'=>$data['building'], |
|
|
'building'=>$data['building'], |
|
|
'number'=>$data['number'] |
|
|
'number'=>$data['number'] |
|
|
@ -1013,11 +1044,17 @@ class Client extends Common{ |
|
|
} |
|
|
} |
|
|
$pre_point = $admin_point['in_point']; |
|
|
$pre_point = $admin_point['in_point']; |
|
|
|
|
|
|
|
|
//再计算抵扣积分 提货金额*0.01 = 可抵扣金额 * (积分/金额比) |
|
|
//再计算抵扣积分 提货金额 = 可抵扣金额 * (积分/金额比) |
|
|
$can_out_money = intval(intval($data['take_money'])*0.01); |
|
|
$can_out_money = intval($data['take_money']); |
|
|
|
|
|
$out_point = intval($can_out_money*$out_mpney_point_rate); |
|
|
|
|
|
if($admin_point['in_point']<$out_point){ |
|
|
|
|
|
//看最多可抵扣积分和金额 |
|
|
|
|
|
$can_out_money = intval($admin_point['in_point']/$out_mpney_point_rate); |
|
|
$out_point = intval($can_out_money*$out_mpney_point_rate); |
|
|
$out_point = intval($can_out_money*$out_mpney_point_rate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//如果当前用户的在期积分大于抵扣积分 生成抵扣积分记录 扣除想要的积分值 |
|
|
//如果当前用户的在期积分大于抵扣积分 生成抵扣积分记录 扣除想要的积分值 |
|
|
if($admin_point['in_point']>$out_point){ |
|
|
if($out_point>0){ |
|
|
$out_point_log = []; |
|
|
$out_point_log = []; |
|
|
$out_point_log['aid'] = $data['aid']; |
|
|
$out_point_log['aid'] = $data['aid']; |
|
|
$out_point_log['take_id'] = $result; |
|
|
$out_point_log['take_id'] = $result; |
|
|
@ -1028,6 +1065,7 @@ class Client extends Common{ |
|
|
$out_point_log['after_point'] = $admin_point['in_point'] - $out_point; |
|
|
$out_point_log['after_point'] = $admin_point['in_point'] - $out_point; |
|
|
$out_point_log['active_id'] = $data['active_id']; |
|
|
$out_point_log['active_id'] = $data['active_id']; |
|
|
$out_point_log['active_name'] = $activeInfo['name']; |
|
|
$out_point_log['active_name'] = $activeInfo['name']; |
|
|
|
|
|
$out_point_log['take_money'] = intval($data['take_money']); |
|
|
$out_point_log['money'] = $can_out_money; |
|
|
$out_point_log['money'] = $can_out_money; |
|
|
$out_point_log['point'] = $out_point; |
|
|
$out_point_log['point'] = $out_point; |
|
|
$out_point_log['remark'] = $activeInfo['content']; |
|
|
$out_point_log['remark'] = $activeInfo['content']; |
|
|
@ -1039,13 +1077,13 @@ class Client extends Common{ |
|
|
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setDec('in_point',$out_point); |
|
|
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setDec('in_point',$out_point); |
|
|
//依次扣除 用户id 要扣除多少分 |
|
|
//依次扣除 用户id 要扣除多少分 |
|
|
$this->subAdminPoint($data['aid'],$out_point); |
|
|
$this->subAdminPoint($data['aid'],$out_point); |
|
|
}else{ |
|
|
|
|
|
$out_point = 0; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//重新获取最新的数据了 |
|
|
//重新获取最新的数据了 |
|
|
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find(); |
|
|
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find(); |
|
|
//再计算提货积分 提货金额 * (积分/金额比) |
|
|
//再计算提货积分 提货金额 * (积分/金额比) |
|
|
$in_point = intval(intval($data['take_money'])*$get_money_point_rate); |
|
|
$in_point = intval(intval($data['take_money']-$can_out_money)*$get_money_point_rate); |
|
|
|
|
|
if($in_point>0){ |
|
|
|
|
|
|
|
|
$out_point_log = []; |
|
|
$out_point_log = []; |
|
|
$out_point_log['aid'] = $data['aid']; |
|
|
$out_point_log['aid'] = $data['aid']; |
|
|
@ -1056,7 +1094,8 @@ class Client extends Common{ |
|
|
$out_point_log['after_point'] = $admin_point['in_point'] + $in_point; |
|
|
$out_point_log['after_point'] = $admin_point['in_point'] + $in_point; |
|
|
$out_point_log['active_id'] = $data['active_id']; |
|
|
$out_point_log['active_id'] = $data['active_id']; |
|
|
$out_point_log['active_name'] = $activeInfo['name']; |
|
|
$out_point_log['active_name'] = $activeInfo['name']; |
|
|
$out_point_log['money'] = intval($data['take_money']); |
|
|
$out_point_log['take_money'] = intval($data['take_money']); |
|
|
|
|
|
$out_point_log['money'] = intval($data['take_money']-$can_out_money); |
|
|
$out_point_log['point'] = $out_point_log['use_point'] = $in_point; |
|
|
$out_point_log['point'] = $out_point_log['use_point'] = $in_point; |
|
|
$out_point_log['remark'] = $activeInfo['content']; |
|
|
$out_point_log['remark'] = $activeInfo['content']; |
|
|
$out_point_log['out_time'] = strtotime(date('Y-m-d',strtotime('+1 years +1 days')))-1; |
|
|
$out_point_log['out_time'] = strtotime(date('Y-m-d',strtotime('+1 years +1 days')))-1; |
|
|
@ -1067,6 +1106,9 @@ class Client extends Common{ |
|
|
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setInc('point',$in_point); |
|
|
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setInc('point',$in_point); |
|
|
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setInc('in_point',$in_point); |
|
|
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setInc('in_point',$in_point); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//重新获取最新的数据了 |
|
|
//重新获取最新的数据了 |
|
|
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find(); |
|
|
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find(); |
|
|
//再生成积分变动消息 |
|
|
//再生成积分变动消息 |
|
|
@ -1082,7 +1124,11 @@ class Client extends Common{ |
|
|
$message['point'] = $admin_point['point']; |
|
|
$message['point'] = $admin_point['point']; |
|
|
$message['remark'] = str_replace(["{pre_point}","{take_money}","{out_point}","{get_point}","{point}","{active_content}"],[$pre_point,intval($data['take_money']),$out_point,$in_point,$admin_point['point'],$activeInfo['content']],$weixin_template_0); |
|
|
$message['remark'] = str_replace(["{pre_point}","{take_money}","{out_point}","{get_point}","{point}","{active_content}"],[$pre_point,intval($data['take_money']),$out_point,$in_point,$admin_point['point'],$activeInfo['content']],$weixin_template_0); |
|
|
$message['add_time'] = time(); |
|
|
$message['add_time'] = time(); |
|
|
Db::table('admin_point_message')->insert($message); |
|
|
$messageId = Db::table('admin_point_message')->insert($message,0,1); |
|
|
|
|
|
if($messageId){ |
|
|
|
|
|
$task = new Task(); |
|
|
|
|
|
$task->sendWxMessageById($messageId); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
$msg = ['code' => 0,'msg'=>'添加成功!','data'=>[]]; |
|
|
$msg = ['code' => 0,'msg'=>'添加成功!','data'=>[]]; |
|
|
return json($msg); |
|
|
return json($msg); |
|
|
@ -1096,7 +1142,7 @@ class Client extends Common{ |
|
|
return $this->fetch('client/take_add'); |
|
|
return $this->fetch('client/take_add'); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//用户积分列表 |
|
|
//我的积分列表 |
|
|
public function userPointList(){ |
|
|
public function userPointList(){ |
|
|
if(request()->isPost()){ |
|
|
if(request()->isPost()){ |
|
|
$page =input('page')?input('page'):1; |
|
|
$page =input('page')?input('page'):1; |
|
|
@ -1113,19 +1159,32 @@ class Client extends Common{ |
|
|
return $this->fetch('client/point_list'); |
|
|
return $this->fetch('client/point_list'); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//我的积分列表 |
|
|
|
|
|
public function personPointList(){ |
|
|
|
|
|
$aid = $this->sys_admin_info['admin_id']; |
|
|
|
|
|
$result = db('admin') |
|
|
|
|
|
-> alias("a") |
|
|
|
|
|
-> join('admin_point b','a.admin_id=b.aid') |
|
|
|
|
|
->where('a.admin_id',$aid) |
|
|
|
|
|
->find(); |
|
|
|
|
|
$this->assign("result",$result); |
|
|
|
|
|
return $this->fetch('client/point_list3'); |
|
|
|
|
|
} |
|
|
//用户积分列表 |
|
|
//用户积分列表 |
|
|
public function userPointDetail(){ |
|
|
public function userPointDetail(){ |
|
|
$aid = input("id"); |
|
|
$aid = input("id"); |
|
|
if($this->sys_admin_info['group_id'] == 11){ |
|
|
if($this->sys_admin_info['group_id'] == 11){ |
|
|
$aid = $this->sys_admin_info['admin__id']; |
|
|
$aid = $this->sys_admin_info['admin_id']; |
|
|
} |
|
|
} |
|
|
if(request()->isPost()){ |
|
|
if(request()->isPost()){ |
|
|
$page =input('page')?input('page'):1; |
|
|
$page =input('page')?input('page'):1; |
|
|
$pageSize =input('limit')?input('limit'):config('pageSize'); |
|
|
$pageSize =input('limit')?input('limit'):config('pageSize'); |
|
|
$list = db('admin_point_log') |
|
|
$list = db('admin_point_log') |
|
|
->field("b.*,a.username") |
|
|
->field("b.*,a.username,c.remark as take_remark,c.good_name") |
|
|
-> alias("b") |
|
|
-> alias("b") |
|
|
-> join('admin a','a.admin_id=b.aid') |
|
|
-> join('admin a','a.admin_id=b.aid') |
|
|
|
|
|
-> join('admin_take c','b.take_id=c.id') |
|
|
->where('b.aid',$aid) |
|
|
->where('b.aid',$aid) |
|
|
->order("id desc") |
|
|
->order("id desc") |
|
|
->paginate(array('list_rows'=>$pageSize,'page'=>$page)) |
|
|
->paginate(array('list_rows'=>$pageSize,'page'=>$page)) |
|
|
@ -1135,6 +1194,26 @@ class Client extends Common{ |
|
|
$this->assign("id",$aid); |
|
|
$this->assign("id",$aid); |
|
|
return $this->fetch('client/point_detail'); |
|
|
return $this->fetch('client/point_detail'); |
|
|
} |
|
|
} |
|
|
|
|
|
//用户积分列表 |
|
|
|
|
|
public function personPointDetail(){ |
|
|
|
|
|
$aid = $this->sys_admin_info['admin_id']; |
|
|
|
|
|
if(request()->isPost()){ |
|
|
|
|
|
$page =input('page')?input('page'):1; |
|
|
|
|
|
$pageSize =input('limit')?input('limit'):config('pageSize'); |
|
|
|
|
|
$list = db('admin_point_log') |
|
|
|
|
|
->field("b.*,a.username,c.remark as take_remark,c.good_name") |
|
|
|
|
|
-> alias("b") |
|
|
|
|
|
-> join('admin a','a.admin_id=b.aid') |
|
|
|
|
|
-> join('admin_take c','b.take_id=c.id') |
|
|
|
|
|
->where('b.aid',$aid) |
|
|
|
|
|
->order("id desc") |
|
|
|
|
|
->paginate(array('list_rows'=>$pageSize,'page'=>$page)) |
|
|
|
|
|
->toArray(); |
|
|
|
|
|
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$list['data'],'count'=>$list['total'],'rel'=>1]; |
|
|
|
|
|
} |
|
|
|
|
|
$this->assign("id",$aid); |
|
|
|
|
|
return $this->fetch('client/point_detail2'); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 将扣除的积分指定到每条记录上 |
|
|
// 将扣除的积分指定到每条记录上 |
|
|
public function subAdminPoint($aid=0,$out_point=0){ |
|
|
public function subAdminPoint($aid=0,$out_point=0){ |
|
|
|