admin/addon/fenxiao/shop/controller/Area.php

160 lines
6.9 KiB
PHP

<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\fenxiao\shop\controller;
use addon\fenxiao\model\Ageen;
use addon\fenxiao\model\Config as ConfigModel;
use addon\fenxiao\model\Fenxiao as FenxiaoModel;
use addon\fenxiao\model\AgeenLevel;
use app\model\system\Address as AddressModel;
use app\shop\controller\BaseShop;
use think\facade\Db;
class Area extends BaseShop
{
/**
* 区域列表
*/
public function lists()
{
$model = new Ageen();
if (request()->isAjax()) {
$condition = [];
$condition[] = ['f.site_id', '=', $this->site_id];
// $condition[] = ['f.is_area_agent', '=', 1];
$search_text_type=input('search_text_type');
$search_text=input('search_text');
switch ($search_text_type){
case 'fenxiao_name' :
$condition[] = ['f.fenxiao_name', 'like', '%' . $search_text . '%'];
break;
case 'mobile' :
$condition[] = ['m.mobile', '=', $search_text];
break;
case 'nickname' :
$condition[] = ['f.nickname', 'like', '%' . $search_text . '%'];
break;
case 'member_id' :
$condition[] = ['f.member_id', '=', $search_text];
break;
}
$level_id = input('level_id', '');
if ($level_id) {
$condition[] = ['f.level_id', '=', $level_id];
}
$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->getPageList($condition, $page, $page_size, 'f.create_time desc,a.create_time desc');
$list = $model->getPageList($condition, $page, $page_size, '');
return $list;
} else {
$level_model = new AgeenLevel();
$level_list = $level_model->getLevelList([['status', '=', 1], ['site_id', '=', $this->site_id]], 'level_id,level_name');
$this->assign('level_list', $level_list['data']);
$config_model = new ConfigModel();
$basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
$this->assign("basics_info", $basics['data']['value']);
// $this->forthMenu();
return $this->fetch('area/lists');
}
}
/***
* 添加代理商
* @return array|mixed
*/
public function add(){
//获取分销商列表
$ageen_model = new Ageen();
$fenxiao_model = new FenxiaoModel();
//获取分销商等级
$level_model = new AgeenLevel();
if (request()->isAjax()) {
$fenxiao_id= input('fenxiao_id',0);//上级分销商ID
$province_id= input('province_id',0);
$city_id= input('city_id',0);
$district_id= input('district_id',0);
$level_id= input('level_id',0);
$fenxiao_data = [
'fenxiao_id' => $fenxiao_id,
'agent_level_id' => input('level_id',''),
'agent_level_name' => input('agent_level_name',''),
// 'is_area_agent' => 1,
'province_id' => input('province_id',0),
'city_id' => input('city_id',0),
'district_id' => input('district_id',0)
];
$fenxiao=Db::name('fenxiao_agent')
->whereOr('province_id','=',$province_id)
->whereOr('city_id','=',$city_id)
->whereOr('district_id','=',$district_id)
->field('province_id,city_id,district_id,agent_level_id,fenxiao_id')
->select();
if($fenxiao){
$area=array_column($fenxiao->toArray(),'agent_level_id');
if(in_array($level_id,$area)){
return error(-1,'当前区域已存在代理商');
}
}
return $ageen_model->add($fenxiao_data);
} else {
$level_list = $level_model->getLevelList([['status', '=', 1], ['site_id', '=', $this->site_id]], 'level_id,level_name');
$this->assign('level_list', $level_list['data']);
$condition[] = ['status','=','1'];
// $condition[] = ['is_area_agent','=','0'];
$fenxiao_list = $fenxiao_model->getFenxiaoList($condition, 'fenxiao_id,fenxiao_name');
$this->assign('fenxiao_list', $fenxiao_list['data']);
//查询省级数据列表
$address_model = new AddressModel();
$list = $address_model->getAreaList([["pid", "=", 0], ["level", "=", 1]]);
$this->assign("province_list", $list["data"]);
return $this->fetch('area/add');
}
}
public function remove(){
//获取分销商列表
$fenxiao_model = new Ageen();
$id= input('id',0);//上级分销商ID
if(request()->isAjax()&&$id){
return $fenxiao_model->delete($id);
}
}
/***
* 查询分销商
* @return array
*/
public function getfenxiaolist(){
$page_index = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$fenxiao_search = input("fenxiao_search", '');
$condition = [];
$condition[] = [ 'mobile|fenxiao_name', 'like', '%'.$fenxiao_search.'%' ];
$condition[] = [ 'status', '=', 1 ];
// $condition[] = [ 'is_area_agent', '=', 0 ];
$fenxiao_model = new FenxiaoModel();
$list = $fenxiao_model->getFenxiaoPageLists($condition,$page_index,$page_size,'','fenxiao_id,fenxiao_name,account');
return $list;
}
}