From 3c0efc948e81ccbc6732ae613e4c5c16266913bc Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Tue, 24 Oct 2023 19:18:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=9A=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E7=BB=8F=E9=94=80=E5=95=86=E5=8F=AF=E4=BB=A5=E8=8E=B7=E5=BE=97?= =?UTF-8?q?=E8=B5=A0=E9=80=81=E5=90=8D=E9=A2=9D=EF=BC=8C=E8=B5=A0=E9=80=81?= =?UTF-8?q?=E5=90=8E=E6=8C=87=E5=AE=9A=E7=94=A8=E6=88=B7=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0=E5=AF=B9=E5=BA=94=E7=9A=84=E7=BB=8F?= =?UTF-8?q?=E9=94=80=E5=95=86=E7=AD=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/admin/TeamAgencyController.php | 9 ++ plugins/team-dividend/src/models/Uplog.php | 30 +++++ .../src/services/upgrate/UplogService.php | 8 ++ .../views/admin/level-set-add.blade.php | 28 ++++- .../weight-value/src/api/IndexController.php | 104 ++++++++++++++++++ .../weight-value/src/models/WeightValue.php | 10 +- 6 files changed, 185 insertions(+), 4 deletions(-) diff --git a/plugins/team-dividend/src/admin/TeamAgencyController.php b/plugins/team-dividend/src/admin/TeamAgencyController.php index f959d505..35394d75 100644 --- a/plugins/team-dividend/src/admin/TeamAgencyController.php +++ b/plugins/team-dividend/src/admin/TeamAgencyController.php @@ -142,6 +142,15 @@ class TeamAgencyController extends BaseController // $agency_model->relation = $agentData['relation']; if ($agency_model->save()) { + + // 升级后等级 + $c_level = TeamDividendLevelModel::with(['hasOneUpgradeSet'])->find($agentData['level']); + // 升级前等级 + $o_level = NULL; + // 升级日志 + Uplog::addLog($agency_model, $o_level, $c_level); + + //签合同 $data=[ 'member_id'=>$agentData['uid'], diff --git a/plugins/team-dividend/src/models/Uplog.php b/plugins/team-dividend/src/models/Uplog.php index 0db06c6d..6d758089 100644 --- a/plugins/team-dividend/src/models/Uplog.php +++ b/plugins/team-dividend/src/models/Uplog.php @@ -114,4 +114,34 @@ class Uplog extends BaseModel $builder->uniacid(); }); } + /** + * Common: 获取某个用户持有某个等级的名额信息 + * Author: wu-hui + * Time: 2023/10/24 19:04 + * @param $uid + * @param $teamLevelId + * @return int[] + */ + public static function getQuota($uid,$teamLevelId){ + $info = Uplog::uniacid() + ->where('uid',$uid) + ->where('after_level_id',$teamLevelId) + ->orderBy('created_at','ASC') + ->first(); + // 已使用 + $useQuota = TeamDividendAgencyModel::uniacid() + ->where('give_uid',$uid) + ->where('give_level_id',$info['give_limit_level_id']) + ->count(); + + return [ + 'total_quota' => (int)$info->give_limit,// 总数 + 'use_quota' => (int)$useQuota,// 已使用 + 'surplus_quota' => (int)$info->give_limit - (int)$useQuota,// 剩余 + 'give_limit_level_id' => (int)$info->give_limit_level_id,// 升级等级id + ]; + } + + + } \ No newline at end of file diff --git a/plugins/team-dividend/src/services/upgrate/UplogService.php b/plugins/team-dividend/src/services/upgrate/UplogService.php index 341be3f3..a5b97275 100644 --- a/plugins/team-dividend/src/services/upgrate/UplogService.php +++ b/plugins/team-dividend/src/services/upgrate/UplogService.php @@ -4,6 +4,7 @@ namespace Yunshop\TeamDividend\services\upgrate; +use Yunshop\TeamDividend\models\TeamDividendLevelModel; use Yunshop\TeamDividend\models\Uplog; class UplogService @@ -52,6 +53,13 @@ class UplogService public function store() { + + if($this->uplogModel->after_level_id > 0){ + $lvInfo = TeamDividendLevelModel::find($this->uplogModel->after_level_id); + $this->uplogModel->give_limit = (int)$lvInfo->give_limit; + $this->uplogModel->give_limit_level_id = (int)$lvInfo->give_limit_level_id; + } + $this->uplogModel->conditions = $this->conditions; $this->uplogModel->save(); } diff --git a/plugins/team-dividend/views/admin/level-set-add.blade.php b/plugins/team-dividend/views/admin/level-set-add.blade.php index e453772b..d9415696 100644 --- a/plugins/team-dividend/views/admin/level-set-add.blade.php +++ b/plugins/team-dividend/views/admin/level-set-add.blade.php @@ -119,6 +119,27 @@ 当前等级总人数达到指定数量后,其他人则不能升级到当前等级。为空或者0则不限制人数 +