<?php

namespace app\api\controller\company;

use app\common\controller\Apic;
use think\Db;
use fast\Random;
/**
 * 员工管理
 */
class Staff extends Apic
{
    protected $noNeedLogin = [];
    protected $noNeedRight = '*';



    //列表
    public function lists(){
        $list = Db::name('company_staff')->field('id,company_id,truename,mobile')->where('company_id',$this->auth->company_id)->autopage()->select();

        $this->success('success',$list);
    }

    //新增
    public function add(){
        //验证
        if($this->auth->type != 1){
            $this->error('只有门店老板才能设置');
        }

        $data = [
            'truename'   => input('truename',''),
            'mobile'     => input('mobile',''),
            'company_id' => $this->auth->company_id,
            'type'       => 2,
        ];

        //密码
        $password = input('password','123456');
        $salt = Random::alnum();
        $newpassword = $this->getEncryptPassword($password, $salt);
        $data['password'] = $newpassword;
        $data['salt']     = $salt;


        //检查
        $check2 = Db::name('company_staff')->where('mobile',$data['mobile'])->find();
        if($check2){
            $this->error('该手机已经被注册为员工或商户管理员');
        }

        Db::name('company_staff')->insertGetId($data);
        $this->success('添加成功');
    }

    /**
     * 获取密码加密后的字符串
     * @param string $password 密码
     * @param string $salt     密码盐
     * @return string
     */
    public function getEncryptPassword($password, $salt = '')
    {
        return md5(md5($password) . $salt);
    }

    //详情
    public function info(){
        $id = input('id',0);
        $info = Db::name('company_staff')->field('id,company_id,truename,mobile')->where('id',$id)->find();
        $this->success(1,$info);
    }

    //编辑
    public function edit(){
        //验证
        if($this->auth->type != 1){
            $this->error('只有门店老板才能设置');
        }

        $id = input('id',0);
        $data = [
            'truename' => input('truename',''),
            'mobile' => input('mobile',''),
        ];

        //密码
        $password = input('password','123456');
        $salt = Random::alnum();
        $newpassword = $this->getEncryptPassword($password, $salt);
        $data['password'] = $newpassword;
        $data['salt']     = $salt;

        //检查
        $check2 = Db::name('company_staff')->where('id','neq',$id)->where('mobile',$data['mobile'])->find();
        if($check2){
            $this->error('该手机已经被注册为员工或商户管理员');
        }

        Db::name('company_staff')->where('id',$id)->update($data);

        $this->success('编辑成功');
    }
}
