273 lines
11 KiB
PHP
273 lines
11 KiB
PHP
<?php
|
|
namespace addon\saasagent\shop\controller;
|
|
use addon\fenxiao\model\FenxiaoApply;
|
|
use addon\fenxiao\model\FenxiaoLevel as FenxiaoLevelModel;
|
|
use addon\member\model\Member;
|
|
use addon\saasagent\model\Config;
|
|
use app\model\system\Site;
|
|
use app\model\system\SiteGroup;
|
|
use app\model\system\Promotion as PrmotionModel;
|
|
use app\model\web\Config as ConfigModel;
|
|
use think\facade\Cache;
|
|
use think\facade\Db;
|
|
class Setting extends SaasBsae
|
|
{
|
|
/**
|
|
* 套餐列表
|
|
* @return array|mixed|string
|
|
*/
|
|
public function meallist(){
|
|
if(request()->isAjax()){
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$search_text = input('search_text', '');
|
|
$info=success();
|
|
if($this->agent_info){
|
|
$condition = [];
|
|
$condition[] = [ 'site_id', '=', $this->site_id];
|
|
$condition[] = [ 'group_name', 'like', '%' . $search_text . '%' ];
|
|
$order = 'fee asc';
|
|
$field = '*';
|
|
$group_model = new SiteGroup();
|
|
$info= $group_model->getSiteGroupPageList($condition, $page, $page_size, $order, $field);
|
|
}
|
|
return $info;
|
|
}
|
|
$this->forthMenu();
|
|
return $this->fetch('setting/meallist');
|
|
}
|
|
|
|
/**
|
|
* 添加套餐
|
|
* @return array|mixed
|
|
*/
|
|
public function addmeal(){
|
|
$promotion_model = new PrmotionModel();
|
|
$promotions = $promotion_model->getPromotions();
|
|
if (request()->isAjax()) {
|
|
if($this->agent_info){
|
|
$data = [
|
|
'site_id' => $this->site_id,
|
|
'group_name' => input('group_name', ''),//分组名称
|
|
'fee_type' => input('fee_type','fixed_fee'),//年费
|
|
'image' => input('group_image',''),//年费
|
|
'cloud_ids' => input('cloud_ids',''),//云市场关联产品ID
|
|
'status' => input('status',0),
|
|
'fee_commission' => input('fee_commission',0),//年费
|
|
'fee' => input('fee', 0.00),//年费
|
|
'unit' => input('unit', 'month'),
|
|
'store_number' => input('store_number', 0),
|
|
'leader_number' => input('leader_number', 0),
|
|
'addon_array' => input('addon_array', ''),//营销插件权限组
|
|
'desc' => input('desc', ''),//备注
|
|
];
|
|
$shop_group_model = new SiteGroup();
|
|
}
|
|
return $shop_group_model->addSiteGroup($data);
|
|
}
|
|
$getaddon = Db::name('addon')->where(['status' => 1])->column('*', 'name');
|
|
foreach ($promotions['shop'] as $key => $promotion) {
|
|
if (!empty($promotion['is_developing'])) {
|
|
unset($promotions['shop'][ $key ]);
|
|
continue;
|
|
}
|
|
$saas_price = [
|
|
'city_one' => 188,
|
|
'city_two' => 268,
|
|
'city_three' => 365,
|
|
];
|
|
if (isset($getaddon[$promotion['name']]) && $getaddon[$promotion['name']]['saas_price']) {
|
|
$saas_price =json_decode($getaddon[$promotion['name']]['saas_price'],true);
|
|
}
|
|
$promotions['shop'][ $key ]['saas_price'] = $saas_price;
|
|
}
|
|
$level_agent=[
|
|
1=>'city_one',
|
|
2=>'city_two',
|
|
3=>'city_three',
|
|
];
|
|
$this->assign("agent_level", $level_agent[$this->agent_info['agent_level']]);
|
|
$this->assign("promotions", $promotions['shop']);
|
|
return $this->fetch('setting/addmeal');
|
|
}
|
|
/***
|
|
* 编辑套餐
|
|
* @return array|mixed
|
|
*/
|
|
public function editmeal(){
|
|
$site_group_model = new SiteGroup();
|
|
$promotion_model = new PrmotionModel();
|
|
$promotions = $promotion_model->getPromotions();
|
|
$promotions = $promotions['shop'];
|
|
if (request()->isAjax()) {
|
|
$data = [
|
|
'site_id' => $this->site_id,
|
|
'group_name' => input('group_name', ''),//分组名称
|
|
'fee_type' => input('fee_type','fixed_fee'),//年费
|
|
'image' => input('group_image',''),//年费
|
|
'cloud_ids' => input('cloud_ids',''),//云市场关联产品ID
|
|
'fee_commission' => input('fee_commission',0),//年费
|
|
'fee' => input('fee', 0.00),//年费
|
|
'status' => input('status',0),
|
|
'unit' => input('unit', 'month'),
|
|
'store_number' => input('store_number', 0),
|
|
'leader_number' => input('leader_number', 0),
|
|
'addon_array' => input('addon_array', ''),//营销插件权限组
|
|
'desc' => input('desc', ''),//备注
|
|
];
|
|
return $site_group_model->editSiteGroup($data,[['group_id','=',input('group_id')]]);
|
|
} else {
|
|
$group_id = input('group_id', 0);
|
|
$group_info = $site_group_model->getSiteGroupInfo([['group_id', '=', $group_id ],['site_id','=',$this->site_id]]);
|
|
$addon_array = !empty($group_info['data']['addon_array']) ? explode(',', $group_info['data']['addon_array']) : [];
|
|
$getaddon = Db::name('addon')->where(['status' => 1])->column('*', 'name');
|
|
foreach ($promotions as $key => &$promotion) {
|
|
if (!empty($promotion['is_developing'])) {
|
|
unset($promotions[ $key ]);
|
|
continue;
|
|
}
|
|
$promotion['is_checked'] = 0;
|
|
if (in_array($promotion['name'], $addon_array)) {
|
|
$promotion['is_checked'] = 1;
|
|
}
|
|
if (isset($getaddon[$promotion['name']]) && $getaddon[$promotion['name']]['saas_price']) {
|
|
$promotion['saas_price'] =json_decode($getaddon[$promotion['name']]['saas_price'],true);
|
|
}else{
|
|
$promotion['saas_price'] = [
|
|
'city_one' => 188,
|
|
'city_two' => 268,
|
|
'city_three' => 365,
|
|
];
|
|
}
|
|
}
|
|
$level_agent=[
|
|
1=>'city_one',
|
|
2=>'city_two',
|
|
3=>'city_three',
|
|
];
|
|
$this->assign("level_agent", $level_agent[1]);
|
|
$this->assign('group_info', $group_info['data']);
|
|
$this->assign("promotions", $promotions);
|
|
return $this->fetch('setting/editmeal');
|
|
}
|
|
}
|
|
/**
|
|
* 删除套餐
|
|
* @return array|void
|
|
*/
|
|
public function delmeal(){
|
|
if(request()->isAjax()&& $this->agent_info){
|
|
$shop_group_model = new ShopGroupModel();
|
|
$where=[['group_id','=',input('group_ids')],['website_id','=',$this->agent_info['site_id']]];
|
|
return $shop_group_model->deleteGroup($where);
|
|
}else{
|
|
return $this->error('','无权删除!或不存在');
|
|
}
|
|
}
|
|
/***
|
|
* 购买绑定设置
|
|
* @return array|mixed
|
|
*/
|
|
public function config()
|
|
{
|
|
$setConfig=new Config();
|
|
if(request()->isAjax()){
|
|
$level_model = new FenxiaoLevelModel();
|
|
$level_id = $level_model->getMinLevel([['site_id','=',1]])['data']['level_id'];
|
|
$fenxiao_data = [
|
|
'site_id' => 1,
|
|
'fenxiao_name' => input('user_name',''),//分销商名称
|
|
'level_id' => $level_id,//分销商等级
|
|
'parent' => input('fenxiao_id',0),//上级分销商ID
|
|
'member_id' => input('member_id',0),//关联会员ID
|
|
'nickname' => input('nickname',''),//关联会员ID
|
|
];
|
|
$apply_model = new FenxiaoApply();
|
|
$res= $apply_model->addFenxiao($fenxiao_data);
|
|
$data=[
|
|
'user_name'=>input('user_name',''),
|
|
'nickname'=>input('nickname',''),
|
|
'member_id'=>input('member_id',''),
|
|
];
|
|
$setConfig->setConfig($data,$this->site_id);
|
|
return $res;
|
|
}
|
|
$path='/static/shop/shopsaas.png';
|
|
$data['site_id'] = 1;
|
|
$data['app_type'] = 'weapp';
|
|
$data['qrcode_path'] = 'upload/qrcode/goods';
|
|
$data['qrcode_name'] = 'site_id_' . $this->site_id;
|
|
$data['type'] = '';
|
|
$data['data']=[
|
|
'bing'=>'y'
|
|
];
|
|
$data['page'] = '/pages/index/index/index';
|
|
$qrurl = event('Qrcode', $data)[0];
|
|
if (isset($qrurl['data']['path'])) {
|
|
$path = '/' . $qrurl['data']['path'];
|
|
}
|
|
$this->assign('qr',$path);
|
|
$bing=$setConfig->getConfig($this->site_id)['data']['value'];
|
|
$this->assign('bing',$bing);
|
|
$upload_config_model = new ConfigModel();
|
|
$upload_config_result = $upload_config_model->getDefaultImg($this->site_id, $this->app_module);
|
|
$upload_config_result = $upload_config_result['data']['value'];
|
|
$this->assign("default_headimg", $upload_config_result['default_headimg']);
|
|
return $this->fetch('setting/config');
|
|
}
|
|
/***
|
|
* 搜索会员
|
|
* @return array|void
|
|
*/
|
|
public function searchMember(){
|
|
if (request()->isAjax()) {
|
|
$search_text = input('search_text', '');
|
|
$member_model = new Member();
|
|
$where=[
|
|
['username|mobile', '=', $search_text],
|
|
['site_id', '=', input('site_id',1)]
|
|
];
|
|
$member_info = $member_model->getMemberInfo($where);
|
|
return $member_info;
|
|
}
|
|
}
|
|
/***
|
|
* 增加店铺时长
|
|
*/
|
|
public function setexpire(){
|
|
$shop_model = new Site();
|
|
$shop_info = $shop_model->getSiteInfo(['site_id' => $this->site_id], '*')['data'];
|
|
$this->assign("userinfo", $shop_info);
|
|
if (request()->isAjax()) {
|
|
$where = [['site_id', '=', $this->site_id]];
|
|
$expire_time = input('expire_number', 0);
|
|
if ($expire_time) {
|
|
if ($this->agent_info['agent_number'] >= $expire_time) {
|
|
if($shop_info['expire_time'] < time()){
|
|
$data['expire_time'] = time() + $expire_time * 30 * 86400;
|
|
}else{
|
|
$data['expire_time'] = $shop_info['expire_time'] + $expire_time * 30 * 86400;
|
|
}
|
|
model('website')->setDec(['site_id' => $this->site_id], 'agent_number', $expire_time);
|
|
Cache::tag("website")->clear();
|
|
$res = $shop_model->editSite($data, $where);
|
|
$log = array(
|
|
"uid" => $this->uid,
|
|
"username" => $this->user_info['username'],
|
|
"site_id" => $this->site_id,
|
|
"url" => '',
|
|
"ip" => request()->ip(),
|
|
"data" => json_encode($data),
|
|
"action_name" => '自延店铺时长',
|
|
"create_time" => time(),
|
|
);
|
|
model("user_log")->add($log);
|
|
return $res;
|
|
} else {
|
|
return error(-1, '余额时长不足');
|
|
}
|
|
}
|
|
}
|
|
return $this->fetch('setting/expire');
|
|
}
|
|
} |