文件
mashangyoujiu/Application/Common/Business/Manager.class.php

252 行
8.5 KiB
PHP
可执行文件

<?php
namespace Common\Business;
use Common\Model\JurisdictionUserModel;
use Common\Model\RetailManagerModel;
use Common\Model\RetailStoreModel;
//[1.8.50]
/**
* 店长类
* Class Manager
* [
* 依据店长账号查询店长信息 basisPhoneGetInfo
* 获取店长列表 getManagerList
* 添加店长 addStoreManager
* 修改店长信息 editStoreManager
* 删除店长角色 delStoreManager
* ]
* @package Common\Business
*/
class Manager
{
private static $ManagerModel;
public function __construct()
{
self::$ManagerModel = new RetailManagerModel();
}
/**
* 依据店长账号查询店长信息
* @param $param
* [
* merchant_id
* store_id
* phone 店长账号
* ]
* @return mixed
*/
public function basisPhoneGetInfo($param)
{
try {
$info = self::$ManagerModel->getFind([
'merchantid' => $param['merchant_id'],
'storeid' => $param['store_id'],
'status' => 1,
'mobile' => $param['phone']
]);
if (!empty($info)) {
return callBack(statusCode()['success'], "查询成功", $info);
} else {
return callBack(statusCode()['error'], "店长查询失败");
}
} catch (\Exception $e) {
return callBack(statusCode()['error'], "店长查询失败");
}
}
/**
* 获取店长列表
* @param param [
* merchant_id 商户id
* keyword 搜索内容
* page 页码
* limit 页长
* ]
*/
public function getManagerList($param)
{
$where = [
'merchantid' => $param['merchant_id'],
'status' => 1,
];
if (trim($param['keyword'])) {
$where['mobile|name'] = array('like', '%' . trim($param['keyword']) . '%');
}
if (!empty($param['store_id'])) {
$where['storeid'] = $param['store_id'];
}
$list = self::$ManagerModel->getSelect($where, '', 'id desc', "{$param['page']}, {$param['limit']}");
if ($list) {
$RetailStoreModel = new RetailStoreModel();
$storeIdArr = [];
$storeInfoArr = [];
foreach ($list as $key => &$val) {
if (in_array($val['storeid'], $storeIdArr)) {
$val['store_name'] = $storeInfoArr[$val['storeid']];
} else {
$val['store_name'] = $RetailStoreModel->getFindField(['id' => $val['storeid']], 'storetag');
$storeIdArr[] = $val['storeid'];
$storeInfoArr[$val['storeid']] = $val['store_name'];
}
$val['add_time'] = date('Y-m-d H:i:s', $val['addtime']);
$val['key_num'] = $key + 1;
}
$result = [
'status' => 1,
'msg' => '数据获取成功',
'list' => $list,
'count' => self::$ManagerModel->getCount($where),
];
} else {
$result = [
'status' => 1,
'msg' => '暂无数据',
'list' => [],
'count' => 0,
];
}
return $result;
}
/**
* 添加店长
* @param param [
* store_id 门店id
* mobile 手机号
* pwd 密码
* merchant_id 商户id
* name 名字
* ]
*/
public function addStoreManager($param)
{
if (empty($param['store_id'])) {
return ['status' => 0, 'msg' => '请选择门店'];
}
if (strlen($param['password']) < 6 || strlen($param['password']) > 16) {
return ['status' => 0, 'msg' => '密码长度取值范围6-16位'];
}
$NowTime = time();
//需要先查看改手机号是否已被加入过店长
$find = self::$ManagerModel->getFind(['mobile' => $param['mobile'], 'status' => 1]);
if (empty($find)) {
//可以添加
$newManager['password'] = createPassword($param['password'], $NowTime);
$newManager['addtime'] = $NowTime;
$newManager['storeid'] = $param['store_id'];
$newManager['mobile'] = $param['mobile'];
$newManager['name'] = $param['name'];
$newManager['merchantid'] = $param['merchant_id'];
$manager_id = self::$ManagerModel->addOrder($newManager);
//添加ls_jurisdiction_user
$Role = new Role();
$jurData['login_name'] = $param['mobile'];
$jurData['password'] = $newManager['password'];
$jurData['name'] = $param['name'];
$jurData['add_time'] = $newManager['addtime'];
$jurData['user_type'] = 4;
$jurData['jurisdiction_group_id'] = $Role->createSystemGroup(['type' => -4, 'store_id' => $param['store_id']]);
$jurData['system_user_id'] = $manager_id;
$jurData['pid'] = $this->login_user['id'];
$JurisdictionUserModel = new JurisdictionUserModel();
$JurisdictionUserModel->addOrder($jurData);
if ($manager_id) {
$result = ['status' => 1, 'msg' => '添加成功'];
} else {
$result = ['status' => 0, 'msg' => '添加失败'];
}
} else {
$result = ['status' => 0, 'msg' => '该手机号码已被使用,请更换手机号码'];
}
return $result;
}
/**
* 修改店长信息
* @param $param
* [
* id
* mobile_phone 手机号
* real_name 名字
* merchant_id 商户id
* pwd 密码
* ]
* @return array
*/
public function editStoreManager($param)
{
$pwd = $param['pwd'];
$id = $param['id'];
$mobile_phone = $param['mobile_phone'];
$real_name = $param['real_name'];
if (empty($id)) {
return ['status' => 0, 'msg' => '参数错误,请重试'];
} else {
//继续判断手机号码是否已被使用
$RetailManagerModel = new RetailManagerModel();
$map = [
'mobile' => $mobile_phone,
'status' => 1,
'id' => ['neq', $id],
];
$find = $RetailManagerModel->getFind($map);
if ($find) {
return ['status' => 0, 'msg' => '该手机号已被使用,请更换手机号码'];
} else {
$updateData['mobile'] = $mobile_phone;
$updateData['name'] = $real_name;
if (!empty($pwd)) {
//修改密码
if (strlen($pwd) < 6 || strlen($pwd) > 16) {
return ['status' => 0, 'msg' => '密码长度取值范围6-16位'];
}
$add_time = $RetailManagerModel->getFindField(['id' => $id], 'addtime');
$updateData['password'] = createPassword($pwd, $add_time);
$jurSave['password'] = $updateData['password'];
}
$updateResult = $RetailManagerModel->updateOrder(['id' => $id], $updateData);
if ($updateResult) {
$JurisdictionUserModel = new JurisdictionUserModel();
$jurMap['system_user_id'] = $id;
$jurMap['user_type'] = 4;
$jurSave['login_name'] = trim($mobile_phone);
$jurSave['name'] = trim($real_name);
$JurisdictionUserModel->updateOrder($jurMap, $jurSave);
$result = ['status' => 1, 'msg' => '修改成功'];
} else {
$result = ['status' => 0, 'msg' => '修改失败'];
}
return $result;
}
}
}
/**
* 删除店长角色
* @param id
*/
public function delStoreManager($id)
{
self::$ManagerModel->updateOrder(['id' => $id], ['status' => 2]);
$JurisdictionUserModel = new JurisdictionUserModel();
$delMap = ['system_user_id' => $id, 'user_type' => 4];
$delSave = ['state' => 0, 'status' => 0];
$delResult = $JurisdictionUserModel->updateOrder($delMap, $delSave);
if ($delResult) {
$result['status'] = 1;
$result['msg'] = '删除成功';
} else {
$result['status'] = 2;
$result['msg'] = '删除失败';
}
return $result;
}
}