jh-admin/addon/saas/shop/controller/Manage.php

282 lines
9.8 KiB
PHP

<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\saas\shop\controller;
use addon\saas\model\AgentLevel;
use addon\saas\model\ManageUser as ManageModel;
use addon\saas\model\Site as SiteModel;
use addon\saas\model\WebSite;
class Manage extends SaasBase
{
/***
* 业务经理
* @return array|mixed
*/
public function lists()
{
$model = new ManageModel();
if (request()->isAjax()) {
$condition[] = ['f.site_id', '=', $this->site_id];
$real_name = input('real_name', '');
if ($real_name) {
$condition[] = ['f.real_name', 'like', '%' . $real_name . '%'];
}
$mobile = input('mobile', '');
if ($mobile) {
$condition[] = ['m.mobile', 'like', '%' . $mobile . '%'];
}
$start_time = input('start_time', '');
$end_time = input('end_time', '');
if ($start_time && $end_time) {
$condition[] = ['f.create_time', 'between', [date_to_time($start_time), date_to_time($end_time)]];
} elseif (!$start_time && $end_time) {
$condition[] = ['f.create_time', '<=', date_to_time($end_time)];
} elseif ($start_time && !$end_time) {
$condition[] = ['f.create_time', '>=', date_to_time($start_time)];
}
$status = input('status', '');
if (!empty($status)) {
$condition[] = ['f.status', '=', $status];
}
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$list = $model->getManagePageList($condition, $page, $page_size, 'f.create_time desc');
return $list;
} else {
$this->forthMenu();
return $this->fetch('manage/lists');
}
}
/***
* 查看商户
*/
public function detail()
{
$id = input('id');
if (request()->isAjax()) {
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$search_text = input('search_text', '');
$states = input('states', 'all');
$condition[] = ['a.manage_id', '=', $id];
if ($states != 'all') {
$condition[] = ['a.states', '=', $states];
}
if ($search_text) {
$condition[] = ['a.username|a.site_name|a.site_tel', 'like', '%' . $search_text . '%'];
}
$pat_model = new SiteModel();
$res = $pat_model->getPageList($condition, $page, $page_size);
return $res;
}
$this->assign("id", $id);
return $this->fetch('manage/shoplist');
}
/***
* 添加经理
* @return mixed
*/
public function adduser()
{
if (request()->isAjax()) {
$data = request()->post();
$validate = [
'username' => 'require',
'password' => 'require',
'real_name' => 'require',
'mobile' => 'require',
'level_id' => 'require',
];
if ($this->validate($data, $validate)) {
$data['site_id'] = $this->site_id;
if(isset($data['manage_id'])){
$data['parent']=$data['manage_id'];
};
$data['rcode'] = uniqid();
$data['status'] = 1;
$model = new ManageModel();
$res = $model->addManage($data);
return $res;
} else {
return $this->error();
}
}
$AgentLevel = new AgentLevel();
$level_list = $AgentLevel->getLevelList([['site_id', '=', $this->site_id], ['level_num', '<>', '']], 'level_id,level_name');
$this->assign("level_list", $level_list['data']);
return $this->fetch('manage/add');
}
/***
* 获取审核列表
* @return array|mixed
*/
public function applylist()
{
if (request()->isAjax()) {
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$search_text = input('search_text', '');
$states = input('status', '');
$WebsiteModel = new WebSite();
$condition = [
['agent_pid', '=', $this->site_id],
['is_apply', '=', 0],
];
$info = $WebsiteModel->getWebSiteList($condition, $page, $page_size);
return $info;
}
$this->forthMenu();
return $this->fetch('manage/applylists');
}
/***
* 修改上级
*/
public function change()
{
$id = input('id', '');
$model = new \addon\saas\model\ManageUser();
$parent_info = $model->getManageInfo(['f.id' => $id])['data'];
if (request()->isAjax()) {
if ($this->site_id == 1) {
$condition = [];
} else {
$condition[] = ['f.site_id', '=', $this->site_id];
}
$real_name = input('real_name', '');
if ($real_name) {
$condition[] = ['f.real_name', 'like', '%' . $real_name . '%'];
}
$mobile = input('mobile', '');
if ($mobile) {
$condition[] = ['m.mobile', 'like', '%' . $mobile . '%'];
}
$start_time = input('start_time', '');
$end_time = input('end_time', '');
if ($start_time && $end_time) {
$condition[] = ['f.create_time', 'between', [date_to_time($start_time), date_to_time($end_time)]];
} elseif (!$start_time && $end_time) {
$condition[] = ['f.create_time', '<=', date_to_time($end_time)];
} elseif ($start_time && !$end_time) {
$condition[] = ['f.create_time', '>=', date_to_time($start_time)];
}
$status = input('status', '');
if (!empty($status)) {
$condition[] = ['f.status', '=', $status];
}
if ($parent_info['parent'] == 0) {
$condition[] = ['f.id', '<>', $id];
}
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$field = 'f.id,f.level_name,f.real_name,f.status,f.mobile,pf.real_name as parent_name';
$list = $model->getManagePageList($condition, $page, $page_size, 'f.create_time desc', $field);
return $list;
}
$this->assign("parent_info", $parent_info);
$this->assign("id", $id);
return $this->fetch('manage/change');
}
/**
* 确认变更
*/
public function confirmChange()
{
if (request()->isAjax()) {
$id = input('id', '');
$parent = input('parent', '');
$type = input('type', '');
$model = new ManageModel();
if ($type == 1) {
$res = $model->changeParentManage($id, $parent);
} else {
$res = $model->cancelParentManage($id);
}
return $res;
}
}
/***
* 修改密码
* @return array|mixed
*/
public function changepass()
{
if (request()->isAjax()) {
$id = input('id', '');
$password = input('new_pass');
$repeat_pass = input('repeat_pass');
if ($password != $repeat_pass) return error(-1, '两次密码不一致');
$model = new ManageModel();
$res = $model->changePass($id, $password, $this->site_id);
return $res;
}
$this->assign('id', input('id', ''));
return $this->fetch('manage/changepass');
}
/**
* 修改经理等级
*/
public function change_level()
{
$id = input('manage_id', '');
if (request()->isAjax()) {
$level_model = new AgentLevel();
$model = new \addon\saas\model\ManageUser();
$_info = $model->getManageInfo([['f.id', '=', $id]], 'f.member_id,f.level_id,f.level_name');
$_info = $_info['data'];
$condition[] = ['site_id', '=', $this->site_id];
if (!empty($_info)) {
$condition[] = ['level_id', '<>', $_info['level_id']];
$condition[] = ['upgrade_type', '>', 0];
}
$lists = $level_model->getLevelPage($condition);
return $lists;
} else {
$this->assign('manage_id', $id);
return $this->fetch('manage/change_level');
}
}
/**
* 确认变更
*/
public function confirmChangeLevel()
{
if (request()->isAjax()) {
$manage_id = input('manage_id', '');
$level_id = input('level_id', '');
$level_model = new AgentLevel();
$level_data = $level_model->getLevelInfo([['level_id', '=', $level_id]], 'level_id,level_name');
$level_data = $level_data['data'];
$model = new \addon\saas\model\ManageUser();
$data = [
'level_id' => $level_data['level_id'],
'level_name' => $level_data['level_name']
];
$res = $model->changeManageLevel($data, [['id', '=', $manage_id]]);
return $res;
}
}
}