105 lines
3.5 KiB
PHP
105 lines
3.5 KiB
PHP
<?php
|
|
/**
|
|
* Author: 芸众商城 www.yunzshop.com
|
|
* Date: 2018/12/24
|
|
* Time: 4:55 PM
|
|
*/
|
|
|
|
namespace Yunshop\TeamDividend\admin;
|
|
|
|
|
|
use app\common\components\BaseController;
|
|
use app\common\models\Goods;
|
|
use Yunshop\TeamDividend\admin\models\LevelRedPack;
|
|
use Yunshop\TeamDividend\models\TeamDividendLevelModel;
|
|
use Yunshop\TeamDividend\models\TeamDividendLevelUpgrade;
|
|
|
|
class LevelController extends BaseController
|
|
{
|
|
// plugin.team-dividend.admin.level.get-goods
|
|
public function getGoods()
|
|
{
|
|
$keyword = request()->keyword;
|
|
if (!$keyword) {
|
|
return $this->errorJson('关键词不能为空', []);
|
|
}
|
|
$goods = Goods::getGoodsByName($keyword);
|
|
if (!$goods->isEmpty()) {
|
|
$goods = set_medias($goods->toArray(), array('thumb', 'share_icon'));
|
|
}
|
|
|
|
return $this->successJson('成功', [
|
|
'goods' => $goods
|
|
]);
|
|
}
|
|
|
|
// plugin.team-dividend.admin.level.submite
|
|
public function submite()
|
|
{
|
|
$levelData = request()->data;
|
|
$level['uniacid'] = \YunShop::app()->uniacid;
|
|
$level['level_name'] = $levelData['level_name'] ?:'经销商等级';
|
|
$level['level_weight'] = intval($levelData['level_weight']);
|
|
$level['dividend_ratio'] = $levelData['dividend_ratio']?:'0';
|
|
$level['award_hierarchy'] = intval($levelData['award_hierarchy']);
|
|
$level['award_ratio'] = $levelData['award_ratio']?:'0';
|
|
$level['created_at'] = time();
|
|
$level['updated_at'] = time();
|
|
$level['upgrade_reward_point'] = $levelData['upgrade_reward_List']['upgrade_reward_point']?:'0';
|
|
$level['upgrade_reward_gold'] = $levelData['upgrade_reward_List']['upgrade_reward_gold']?:'0';
|
|
$level['award_gratitude'] = $levelData['upgrade_reward_List']['gratitude']?:'0';
|
|
$level['hierarchy_limit'] = intval($levelData['hierarchy_limit']);
|
|
$level['code_num'] = $levelData['code'];
|
|
// 等级基础设置
|
|
if (intval($levelData['id']) > 0) {
|
|
$levelModel = TeamDividendLevelModel::select()
|
|
->where('id', intval($levelData['id']))
|
|
->first();
|
|
$levelModel->fill($level);
|
|
$levelModel->save();
|
|
} else {
|
|
$levelModel = TeamDividendLevelModel::create($level);
|
|
}
|
|
|
|
// 红包设置
|
|
$this->saveRedpack($levelData['redpack'], $levelModel->id);
|
|
|
|
// 升级条件
|
|
$this->saveUpgrate($levelData, $levelModel->id);
|
|
|
|
return $this->successJson('提交成功', []);
|
|
}
|
|
|
|
private function saveUpgrate($data, $levelId)
|
|
{
|
|
$upgrate['uniacid'] = \YunShop::app()->uniacid;
|
|
$upgrate['dividend_id'] = $levelId;
|
|
$upgrate['parase'] = [
|
|
'upgrate_group' => $data['upgrate_group'],
|
|
'upgrate_only' =>$data['upgrate_only']
|
|
];
|
|
$upgrate['created_at'] = time();
|
|
$upgrate['updated_at'] = time();
|
|
|
|
$model = TeamDividendLevelUpgrade::select()->where('dividend_id', $levelId)->first();
|
|
if ($model) {
|
|
$model->delete();
|
|
}
|
|
|
|
TeamDividendLevelUpgrade::create($upgrate);
|
|
}
|
|
|
|
private function saveRedpack($data, $levelId)
|
|
{
|
|
$data['level_id'] = $levelId;
|
|
$data['is_open'] = intval($data['is_open']);
|
|
$data['award_ratio'] = intval($data['award_ratio']);
|
|
$data['date'] = [
|
|
intval($data['first_time']),
|
|
intval($data['second_time']),
|
|
intval($data['third_time'])
|
|
];
|
|
$data['uniacid'] = \YunShop::app()->uniacid;
|
|
LevelRedPack::store($data);
|
|
}
|
|
} |