admin/addon/saasagent/shop/controller/Setting.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');
}
}