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

210 lines
7.2 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\RegionLevel;
class Level extends SaasBase
{
/**
* 等级列表
* @return array|mixed
*/
public function lists()
{
if (request()->isAjax()) {
$AgentLevel = new AgentLevel();
$condition[] = ['site_id', '=', $this->site_id];
$keyword = input('search_text', '');
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
if ($keyword) {
$condition[] = ['level_name', 'like', '%' . $keyword . '%'];
}
$res = $AgentLevel->getLevelPage($condition, $page, $page_size);
return $res;
}
$this->forthMenu();
return $this->fetch('level/level_list');
}
/**
* 等级列表
* @return array|mixed
*/
public function regionlists()
{
if (request()->isAjax()) {
$AgentLevel = new RegionLevel();
$condition[] = ['site_id', '=', $this->site_id];
$keyword = input('search_text', '');
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
if ($keyword) {
$condition[] = ['level_name', 'like', '%' . $keyword . '%'];
}
$res = $AgentLevel->getRegionLevelPage($condition, $page, $page_size);
return $res;
}
$this->forthMenu();
return $this->fetch('region/level_list');
}
/**
* 添加等级
* @return array|mixed|void
*/
public function addlevel()
{
$AgentLevel = new AgentLevel();
if (request()->isAjax()) {
$data = request()->post();
$validate = [
'level_name' => 'require',
'level_num' => 'require',
'upgrade_type' => 'require',
];
if ($this->validate($data, $validate)) {
$data['site_id'] = $this->site_id;
$data['create_time'] = time();
$data['update_time'] = time();
$data['status'] = 0;
$res = $AgentLevel->addAgentLevel($data);
return $res;
} else {
return $this->error();
}
}
$level_weight = $AgentLevel->getLevelList([['level_num', '<>', ''], ['site_id', '=', $this->site_id]], 'level_num');
$level_weight = $level_weight['data'];
if (!empty($level_weight)) $level_weight = array_column($level_weight, 'level_num');
$this->assign('level_weight', $level_weight);
return $this->fetch('level/add_level');
}
/**
* 添加等级
* @return array|mixed|void
*/
public function regionaddlevel()
{
$RegionLevel = new RegionLevel();
if (request()->isAjax()) {
$data = request()->post();
$data['site_id'] = $this->site_id;
$data['site_rate'] = $data['reward_type'] == 1 ? $data['direct_site_rate'] : $data['reward_site_rate'];
unset($data['direct_site_rate']);
unset($data['reward_site_rate']);
$data['create_time'] = time();
return $RegionLevel->addRegionLevel($data);
}
return $this->fetch('region/add_level');
}
/***
* 编辑等级
* @return array|mixed
*/
public function editlevel()
{
$level_id = input('level_id');
$AgentLevel = new AgentLevel();
$condition[] = ['site_id', '=', $this->site_id];
$condition[] = ['level_id', '=', $level_id];
if (request()->isAjax()) {
$data = request()->post();
$data['update_time'] = time();
$res = $AgentLevel->editAgentLevel($data, $condition);
return $res;
}
$info = $AgentLevel->getLevelInfo($condition);
$level_weight = $AgentLevel->getLevelList([['level_num', '<>', ''], ['site_id', '=', $this->site_id]], 'level_num');
$level_weight = $level_weight['data'];
if (!empty($level_weight)) $level_weight = array_column($level_weight, 'level_num');
$ladder_rewards = [];
if ($info['data']['reward_type'] == 2) {
$ladder_rewards = json_decode($info['data']['ladder_rewards'], true);
}
$this->assign('ladder_rewards', $ladder_rewards);
$this->assign('level_weight', $level_weight);
$this->assign('info', $info['data']);
$this->assign('level_id', $level_id);
return $this->fetch('level/edit_level');
}
/***
* 编辑等级
* @return array|mixed
*/
public function regioneditlevel()
{
$id = input('id');
$RegionLevel = new RegionLevel();
$condition[] = ['site_id', '=', $this->site_id];
$condition[] = ['id', '=', $id];
if (request()->isAjax()) {
$data = request()->post();
$data['site_rate'] = $data['reward_type'] == 1 ? $data['direct_site_rate'] : $data['reward_site_rate'];
$data['update_time'] = time();
unset($data['direct_site_rate']);
unset($data['reward_site_rate']);
$res = $RegionLevel->editRegionLevel($data, $condition);
return $res;
}
$info = $RegionLevel->getRegionLevelInfo($condition);
$this->assign('info', $info['data']);
$this->assign('id', $id);
return $this->fetch('region/edit_level');
}
/**
* 删除等级
* @return array
*/
public function delete()
{
if (request()->isAjax()) {
$level_id = input('level_id', 0);
$condition[] = ['site_id', '=', $this->site_id];
$condition[] = ['level_id', '=', $level_id];
$AgentLevel = new AgentLevel();
$info = model('manage_user')->getInfo($condition, 'id');
if ($info) return error('该等级下有会员,不可删除');
$res = $AgentLevel->delAgentLevel($condition);
return $res;
}
}
/**
* 删除等级
* @return array
*/
public function regiondellevel()
{
if (request()->isAjax()) {
$id = input('id', 0);
$condition[] = ['site_id', '=', $this->site_id];
$condition[] = ['id', '=', $id];
$RegionLevel = new RegionLevel();
// $info = model('manage_user')->getInfo($condition, 'id');
// if ($info) return error('该等级下有会员,不可删除');
$res = $RegionLevel->delRegionLevel($condition);
return $res;
}
}
}