|
@@ -15,18 +15,53 @@ class Customer extends Apic
|
|
|
|
|
|
//头部统计
|
|
|
public function index(){
|
|
|
-
|
|
|
+ $where = [
|
|
|
+ 'company_id' => $this->auth->company_id,
|
|
|
+ ];
|
|
|
+ if($this->auth->type == 2){
|
|
|
+ $where['staff_id'] = $this->auth->id;
|
|
|
+ }
|
|
|
+ //全部
|
|
|
+ $customer_all = Db::name('user_wallet')->where($where)->count();
|
|
|
+ //今日
|
|
|
+ $starttime = strtotime(date('Y-m-d'));
|
|
|
+ $endtime = $starttime + 86399;
|
|
|
+ $where['createtime'] = ['BETWEEN',[$starttime,$endtime]];
|
|
|
+ $customer_today = Db::name('user_wallet')->where($where)->count();
|
|
|
+ //七日
|
|
|
+ $starttime = strtotime(date('Y-m-d')) - 518400;
|
|
|
+ $where['createtime'] = ['BETWEEN',[$starttime,$endtime]];
|
|
|
+ $customer_week = Db::name('user_wallet')->where($where)->count();
|
|
|
+
|
|
|
+ //
|
|
|
+ $rs = [
|
|
|
+ 'today'=>$customer_today,
|
|
|
+ 'week' => $customer_week,
|
|
|
+ 'all' => $customer_all,
|
|
|
+ ];
|
|
|
+
|
|
|
+ $this->success(1,$rs);
|
|
|
}
|
|
|
|
|
|
//列表
|
|
|
public function lists(){
|
|
|
+ $keyword = input('keyword','');
|
|
|
+
|
|
|
+ $where = [
|
|
|
+ 'w.company_id' => $this->auth->company_id,
|
|
|
+ ];
|
|
|
+ if(!empty($keyword)){
|
|
|
+ $where['user.nickname|user.mobile'] = ['LIKE','%'.$keyword.'%'];
|
|
|
+ }
|
|
|
+
|
|
|
$list = Db::name('user_wallet')->alias('w')
|
|
|
->field('w.*,user.nickname,user.mobile,user.avatar')
|
|
|
->join('user','w.user_id = user.id','LEFT')
|
|
|
- ->where('w.company_id',$this->auth->company_id)
|
|
|
+ ->where($where)
|
|
|
->order('id desc')->autopage()->select();
|
|
|
$list = list_domain_image($list,['avatar']);
|
|
|
|
|
|
+ //追加车牌
|
|
|
if(!empty($list)){
|
|
|
$user_ids = array_column($list,'user_id');
|
|
|
$user_car = Db::name('user_car')->where('user_id','IN',$user_ids)->select();
|
|
@@ -47,46 +82,79 @@ class Customer extends Apic
|
|
|
|
|
|
//新增
|
|
|
public function add(){
|
|
|
- $field = ['price','giftprice'];
|
|
|
- $data = request_post_hub($field);
|
|
|
|
|
|
- $data['company_id'] = $this->auth->company_id;
|
|
|
- $data['status'] = 1;
|
|
|
|
|
|
- Db::startTrans();
|
|
|
- $config_id = Db::name('recharge_config')->insertGetId($data);
|
|
|
- if(!$config_id){
|
|
|
- Db::rollback();
|
|
|
- $this->error('添加失败');
|
|
|
+ $this->success('添加成功');
|
|
|
+ }
|
|
|
+
|
|
|
+ //余额管理
|
|
|
+ public function changemoney(){
|
|
|
+ $id = input('id',0);
|
|
|
+ $user_id = input('user_id',0);
|
|
|
+ $type = input('type',1); //1增加,2减少
|
|
|
+ $money = input('money',0);
|
|
|
+
|
|
|
+ $number = $type == 1 ? $money : -$money;
|
|
|
+ $logtype = $type == 1 ? 101 : 102;
|
|
|
+
|
|
|
+
|
|
|
+ //检查
|
|
|
+ $map = [
|
|
|
+ 'id' => $id,
|
|
|
+ 'user_id' => $user_id,
|
|
|
+ 'company_id' => $this->auth->company_id,
|
|
|
+ ];
|
|
|
+ $check = Db::name('user_wallet')->where($map)->find();
|
|
|
+ if(!$check){
|
|
|
+ $this->error('错误的客户');
|
|
|
}
|
|
|
|
|
|
- //赠送卡券
|
|
|
- $gift_data = input('gift_data','','trim');
|
|
|
- $gift_data = json_decode(htmlspecialchars_decode($gift_data),true);
|
|
|
-
|
|
|
- if(is_array($gift_data) && !empty($gift_data)){
|
|
|
- $recharge_gift = [];
|
|
|
- foreach($gift_data as $key => $val){
|
|
|
- $recharge_gift[] = [
|
|
|
- 'config_id' => $config_id,
|
|
|
- 'coupon_id' => $val['coupon_id'],
|
|
|
- 'number' => $val['number'],
|
|
|
- ];
|
|
|
- }
|
|
|
- if(!empty($recharge_gift)){
|
|
|
- $rs_gift = Db::name('recharge_gift')->insertAll($recharge_gift);
|
|
|
- if($rs_gift === false){
|
|
|
- Db::rollback();
|
|
|
- $this->error('添加失败');
|
|
|
- }
|
|
|
- }
|
|
|
+ Db::startTrans();
|
|
|
+ $rs = model('wallet')->lockChangeAccountRemain($this->auth->company_id,$user_id,'money',$number,$logtype,$remark='门店操作余额');
|
|
|
+ if($rs['status'] === false){
|
|
|
+ Db::rollback();
|
|
|
+ $this->error($rs['msg']);
|
|
|
}
|
|
|
|
|
|
Db::commit();
|
|
|
+ $this->success();
|
|
|
+ }
|
|
|
|
|
|
- $this->success('添加成功');
|
|
|
+ //客户详情
|
|
|
+ public function userinfo(){
|
|
|
+ $user_id = input('user_id',0);
|
|
|
+
|
|
|
+ $map = [
|
|
|
+ 'w.user_id' => $user_id,
|
|
|
+ 'w.company_id' => $this->auth->company_id,
|
|
|
+ ];
|
|
|
+
|
|
|
+ $info = Db::name('user_wallet')->alias('w')
|
|
|
+ ->field('w.*,user.nickname,user.mobile,user.avatar')
|
|
|
+ ->join('user','w.user_id = user.id','LEFT')
|
|
|
+ ->where($map)->find();
|
|
|
+
|
|
|
+ $info = info_domain_image($info,['avatar']);
|
|
|
+
|
|
|
+ $this->success(1,$info);
|
|
|
}
|
|
|
|
|
|
+ //某客户消费明细
|
|
|
+ public function moneylog(){
|
|
|
+ $user_id = input('user_id',0);
|
|
|
+
|
|
|
+ $map = [
|
|
|
+ 'user_id' => $user_id,
|
|
|
+ 'company_id' => $this->auth->company_id,
|
|
|
+ ];
|
|
|
+
|
|
|
+ $list = Db::name('user_money_log')->where($map)->order('id desc')->autopage()->select();
|
|
|
+ foreach($list as $key => &$val){
|
|
|
+ $val['change_value'] = $val['change_value'] > 0 ? '+'.$val['change_value'] : $val['change_value'];
|
|
|
+ $val['remark'] = '['.$val['remark'].'] '.$val['change_value'].',余额'.$val['remain'];
|
|
|
+ }
|
|
|
+ $this->success(1,$list);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|