You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
202
hyhproject/home2/model/ShopUsers.php
Executable file
202
hyhproject/home2/model/ShopUsers.php
Executable file
@ -0,0 +1,202 @@
|
||||
<?php
|
||||
namespace wstmart\home\model;
|
||||
use think\Db;
|
||||
/**
|
||||
* ============================================================================
|
||||
* 门店管理员类
|
||||
*/
|
||||
class ShopUsers extends Base{
|
||||
/**
|
||||
* 角色列表
|
||||
*/
|
||||
public function pageQuery(){
|
||||
$shopId = (int)session('WST_USER.shopId');
|
||||
$userName = input("userName/s");
|
||||
$where = ["s.shopId"=>$shopId,"s.dataFlag"=>1];
|
||||
if($userName != ""){
|
||||
$where["loginName"] = ["like","%".$userName."%"];
|
||||
}
|
||||
$page = $this->alias('s')
|
||||
->join("__SHOP_ROLES__ r","s.roleId=r.id","LEFT")
|
||||
->join("__USERS__ u", "u.userId=s.userId and u.dataFlag=1")
|
||||
->field('s.id,s.shopId,s.roleId,u.userName,u.loginName,u.createTime,u.userStatus,r.roleName')
|
||||
->where($where)
|
||||
->paginate(input('pagesize/d'))->toArray();
|
||||
return $page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id获取店铺用户
|
||||
*/
|
||||
public function getById(){
|
||||
$id = (int)input('id');
|
||||
$shopId = (int)session('WST_USER.shopId');
|
||||
$user = $this->alias('s')
|
||||
->join("__SHOP_ROLES__ r","s.roleId=r.id","LEFT")
|
||||
->join("__USERS__ u", "u.userId=s.userId and u.dataFlag=1")
|
||||
->field('s.id,s.shopId,s.roleId,u.userName,u.loginName,u.createTime,u.userStatus,r.roleName')
|
||||
->where(["s.id"=>$id,"s.shopId"=>$shopId,"s.dataFlag"=>1])
|
||||
->find();
|
||||
return $user;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增店铺用户
|
||||
*/
|
||||
public function add(){
|
||||
$data = array();
|
||||
$roleId = (int)input("roleId");
|
||||
$data['loginName'] = input("post.loginName");
|
||||
$data['loginPwd'] = input("post.loginPwd");
|
||||
$data['reUserPwd'] = input("post.reUserPwd");
|
||||
$loginName = $data['loginName'];
|
||||
if($roleId<=0){
|
||||
return WSTReturn('非法操作');
|
||||
}
|
||||
//检测账号是否存在
|
||||
$crs = WSTCheckLoginKey($loginName);
|
||||
if($crs['status']!=1)return $crs;
|
||||
$decrypt_data = WSTRSA($data['loginPwd']);
|
||||
$decrypt_data2 = WSTRSA($data['reUserPwd']);
|
||||
if($decrypt_data['status']==1 && $decrypt_data2['status']==1){
|
||||
$data['loginPwd'] = $decrypt_data['data'];
|
||||
$data['reUserPwd'] = $decrypt_data2['data'];
|
||||
}else{
|
||||
return WSTReturn('新增失败');
|
||||
}
|
||||
if($data['loginPwd']!=$data['reUserPwd']){
|
||||
return WSTReturn("两次输入密码不一致!");
|
||||
}
|
||||
foreach ($data as $v){
|
||||
if($v ==''){
|
||||
return WSTReturn("信息不完整!");
|
||||
}
|
||||
}
|
||||
if($loginName=='')return WSTReturn("新增失败!");//分派不了登录名
|
||||
|
||||
unset($data['reUserPwd']);
|
||||
//检测账号,邮箱,手机是否存在
|
||||
$data["loginSecret"] = rand(1000,9999);
|
||||
$data['loginPwd'] = md5($data['loginPwd'].$data['loginSecret']);
|
||||
$data['userName'] = input("post.userName");
|
||||
$data['userQQ'] = "";
|
||||
$data['userScore'] = 0;
|
||||
$data['createTime'] = date('Y-m-d H:i:s');
|
||||
$data['dataFlag'] = 1;
|
||||
$data['userType'] = 1;
|
||||
Db::startTrans();
|
||||
try{
|
||||
$userId = Db::name("users")->insertGetId($data);
|
||||
if(false !== $userId){
|
||||
//添加门店用户
|
||||
$shopId = (int)session('WST_USER.shopId');
|
||||
$data = array();
|
||||
$data["shopId"] = $shopId;
|
||||
$data["userId"] = $userId;
|
||||
$data["roleId"] = (int)input("roleId");
|
||||
Db::name('shop_users')->insert($data);
|
||||
$user = model("common/Users")->get($userId);
|
||||
//注册成功后执行钩子
|
||||
hook('afterUserRegist',['user'=>$user]);
|
||||
//发送消息
|
||||
$tpl = WSTMsgTemplates('USER_REGISTER');
|
||||
if( $tpl['tplContent']!='' && $tpl['status']=='1'){
|
||||
$find = ['${LOGIN_NAME}','${MALL_NAME}'];
|
||||
$replace = [$user['loginName'],WSTConf('CONF.mallName')];
|
||||
WSTSendMsg($userId,str_replace($find,$replace,$tpl['tplContent']),['from'=>0,'dataId'=>0]);
|
||||
}
|
||||
|
||||
Db::commit();
|
||||
return WSTReturn("新增成功",1);
|
||||
}
|
||||
}catch (\Exception $e) {
|
||||
Db::rollback();errLog($e);
|
||||
}
|
||||
return WSTReturn("新增失败!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改店铺用户
|
||||
*/
|
||||
public function edit(){
|
||||
|
||||
$shopId = (int)session('WST_USER.shopId');
|
||||
Db::startTrans();
|
||||
try{
|
||||
$data = array();
|
||||
$roleId = (int)input("post.roleId");
|
||||
$id = (int)input("post.id");
|
||||
$newPass = input("post.newPass/s");
|
||||
if($newPass!=""){
|
||||
$decrypt_data = WSTRSA($newPass);
|
||||
if($decrypt_data['status']==1){
|
||||
$newPass = $decrypt_data['data'];
|
||||
}else{
|
||||
return WSTReturn('修改失败');
|
||||
}
|
||||
if(!$newPass){
|
||||
return WSTReturn('密码不能为空',-1);
|
||||
}
|
||||
$roleUser = $this->where(["id"=>$id,"shopId"=>$shopId])->find();
|
||||
$userId = $roleUser["userId"];
|
||||
$rs = model("users")->where(["userId"=>$userId])->find();
|
||||
//核对密码
|
||||
|
||||
$oldPass = input("post.oldPass");
|
||||
$decrypt_data2 = WSTRSA($oldPass);
|
||||
if($decrypt_data2['status']==1){
|
||||
$oldPass = $decrypt_data2['data'];
|
||||
}else{
|
||||
return WSTReturn('修改失败');
|
||||
}
|
||||
if($rs['loginPwd']==md5($oldPass.$rs['loginSecret'])){
|
||||
|
||||
$data["loginPwd"] = md5($newPass.$rs['loginSecret']);
|
||||
$rs = model("users")->update($data,['userId'=>$userId]);
|
||||
if(false !== $rs){
|
||||
$this->where(["id"=>$id,"shopId"=>$shopId,"roleId"=>[">",0]])->update(["roleId"=>$roleId]);
|
||||
hook("afterEditPass",["userId"=>$userId]);
|
||||
}else{
|
||||
return WSTReturn("修改失败", -1);
|
||||
}
|
||||
Db::commit();
|
||||
return WSTReturn("修改成功", 1);
|
||||
|
||||
}else{
|
||||
return WSTReturn('原始密码错误',-1);
|
||||
}
|
||||
}else{
|
||||
$this->where(["id"=>$id,"shopId"=>$shopId,"roleId"=>[">",0]])->update(["roleId"=>$roleId]);
|
||||
Db::commit();
|
||||
return WSTReturn("修改成功", 1);
|
||||
}
|
||||
}catch (\Exception $e) {
|
||||
Db::rollback();errLog($e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 删除店铺用户
|
||||
*/
|
||||
public function del(){
|
||||
$shopId = (int)session('WST_USER.shopId');
|
||||
$id = input('post.id/d');
|
||||
$data = [];
|
||||
$data['dataFlag'] = -1;
|
||||
Db::startTrans();
|
||||
try{
|
||||
$role = $this->where(["id"=>$id,"shopId"=>$shopId])->field("userId,id")->find();
|
||||
$result = $this->where(["id"=>$id,"shopId"=>$shopId,"roleId"=>[">",0]])->update($data);
|
||||
if(false !== $result){
|
||||
Db::name("users")->where(["userId"=>$role["userId"]])->update(["userType"=>0]);
|
||||
return WSTReturn("删除成功", 1);
|
||||
}
|
||||
}catch (\Exception $e) {
|
||||
Db::rollback();errLog($e);
|
||||
}
|
||||
return WSTReturn('删除失败',-1);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user