123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- <?php
- namespace app\admin\controller;
- use app\admin\common\User as UserCommon;
- use think\Exception;
- use think\facade\Db;
- use think\facade\Validate;
- //【公司账号管理】
- class UserCompanyBasic extends Base
- {
- //列表
- public function getList()
- {
- $param = $this->request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10,'islevel'=>1,'relaComNo'=>''], 'post', 'trim');
- //排除超管账号
- $where=[['a.is_del','=',0]];
- if($param['relaComNo'] != '') $where[]=['a.companyNo','=',$param['relaComNo']];
- $uid =Db::name("user_role")
- ->alias("a")
- ->leftJoin("role b","a.roleid=b.id")
- ->where([["b.level","=",1],["a.is_del","=",0]])
- ->where($where)
- ->column("uid");
- $param['uid'] = $uid;
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('userCompanyBasicList', $param);
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }
- //添加
- public function add()
- {
- $param = $this->request->only(['nickname', 'mobile', 'email' => '', 'companyArr' => []], 'post', 'trim');
- $val = Validate::rule([
- 'nickname|真实姓名' => 'require|min:2|max:200',
- 'mobile|手机号' => 'require|number|length:11|mobile',
- 'email|邮箱' => 'email',
- 'companyArr|关联业务公司' => 'array|max:100',
- ]);
- if (!$val->check($param)) return json_show(1004, $val->getError());
- $val_company = Validate::rule([
- 'companyCode|公司编码' => 'require|length:18',
- 'companyName|公司名称' => 'require',
- 'company_type|公司类型' => 'require|number',
- 'is_main|是否默认公司' => 'require|in:0,1',
- 'roleid|角色id' => 'require|number|gt:0',
- 'itemid|部门id' => 'require|number|gt:0',
- ]);
- foreach ($param['companyArr'] as $company) {
- if (!$val_company->check($company)) {
- return json_show(1004, $val_company->getError());
- break;
- }
- }
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('userCompanyBasicAdd', $param);
- if(!isset($rs['code']) || $rs['code']!=0) return json_show($rs['code'], $rs['message'], $rs['data']);
- else{
- Db::startTrans();
- try{
- $date = date('Y-m-d H:i:s');
- $insert_data=[];
- foreach ($param['companyArr'] as $company) {
- $insert_data[] = [
- 'uid' => $rs['data']['uid'],
- 'nickname'=>$param['nickname'],
- 'roleid' => $company['roleid'],
- 'companyNo' => $company['companyCode'],
- 'company_type' => $company['company_type'],
- 'itemid' => $company['itemid'],
- 'status' => 1,
- 'is_main' => $company['is_main'],
- 'is_del' => 0,
- 'addtime' => $date,
- 'updatetime' => $date,
- ];
- }
- Db::name('user_role')->insertAll($insert_data);
- Db::commit();
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }catch (Exception $exception){
- Db::rollback();
- return json_show(1004,'账户注册失败,'.$exception->getMessage());
- }
- }
- }
- //删除
- public function delete()
- {
- $param = $this->request->only(['ids'], 'post', 'trim');
- $val = Validate::rule(['ids|账号ID' => 'require|array|max:100']);
- if (!$val->check($param)) return json_show(1004, $val->getError());
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('userCompanyBasicDelete', $param);
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }
- //编辑
- public function update()
- {
- $param = $this->request->only(['id', 'nickname', 'mobile', 'email' => '', 'portrait' => '', 'sex' => '',], 'post');
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('userCompanyBasicUpdate', $param);
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }
- //启禁用
- public function status()
- {
- $param = $this->request->only(['id', 'status'], 'post', 'trim');
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('userCompanyBasicStatus', $param);
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }
- //修改密码
- public function password()
- {
- $param = $this->request->only(['id', 'password'], 'post', 'trim');
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('setpasswd', $param);
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }
- //详情
- public function info(){
- $param = $this->request->only(['id'], 'post', 'trim');
- $userCommon = new UserCommon();
- $rs = $userCommon->handle('userCompanyBasicInfo', $param);
- return json_show($rs['code'], $rs['message'], $rs['data']);
- }
- }
|