Skip to content

Commit c3f55bc

Browse files
committed
修复:LayUI独立模式tree一处bug
1 parent abda216 commit c3f55bc

File tree

29 files changed

+4063
-49
lines changed

29 files changed

+4063
-49
lines changed

module/Member/Admin/Controller/ConfigController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use ModStart\Form\Form;
1111
use ModStart\Module\ModuleManager;
1212
use ModStart\Support\Concern\HasFields;
13-
use Module\Member\Model\MemberDataStatistic;
13+
use Module\Member\Util\MemberDataStatisticUtil;
1414
use Module\Member\Util\MemberParamUtil;
1515
use Module\Vendor\Provider\Captcha\CaptchaProvider;
1616

@@ -182,7 +182,7 @@ public function dataStatistic()
182182
$memberUserId = $input->getInteger('memberUserId');
183183
$data = [];
184184
$data['sizeLimit'] = $input->getInteger('sizeLimit');
185-
MemberDataStatistic::updateMemberUser($memberUserId, $data);
185+
MemberDataStatisticUtil::updateMemberUser($memberUserId, $data);
186186
return Response::generateSuccess('保存成功');
187187
}
188188

module/Member/Admin/Controller/MemberController.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
use Module\Member\Config\MemberAdminList;
3737
use Module\Member\Config\MemberOauth;
3838
use Module\Member\Events\MemberUserRegisteredEvent;
39+
use Module\Member\Events\MemberUserVipChangeEvent;
3940
use Module\Member\Provider\MemberAdminShowPanel\MemberAdminShowPanelProvider;
4041
use Module\Member\Type\Gender;
4142
use Module\Member\Type\MemberStatus;
@@ -152,7 +153,7 @@ protected function crud(AdminCRUDBuilder $builder)
152153
->canShow(false)
153154
->canDelete(true)
154155
->canEdit(false)
155-
->canExport(ModuleManager::getModuleConfig('Member', 'exportEnable',false));
156+
->canExport(ModuleManager::getModuleConfig('Member', 'exportEnable', false));
156157
}
157158

158159
public function selectRemote()
@@ -266,6 +267,9 @@ public function edit(AdminDialogPage $page)
266267
if (isset($profile['vipExpire']) && TimeUtil::isDateEmpty($profile['vipExpire'])) {
267268
$profile['vipExpire'] = null;
268269
}
270+
if ($memberUser['vipId'] != $profile['vipId']) {
271+
MemberUserVipChangeEvent::fire($memberUser['id'], $memberUser['vipId'], $profile['vipId']);
272+
}
269273
MemberUtil::update($memberUser['id'], $profile);
270274
return Response::redirect(CRUDUtil::jsDialogCloseAndParentRefresh());
271275
});

module/Member/Core/MemberDataStatisticAdminShowPanelProvider.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
use ModStart\Core\Util\FileUtil;
88
use ModStart\Form\Form;
9-
use Module\Member\Model\MemberDataStatistic;
109
use Module\Member\Provider\MemberAdminShowPanel\AbstractMemberAdminShowPanelProvider;
10+
use Module\Member\Util\MemberDataStatisticUtil;
1111

1212
class MemberDataStatisticAdminShowPanelProvider extends AbstractMemberAdminShowPanelProvider
1313
{
@@ -25,7 +25,7 @@ public function title()
2525

2626
public function render($memberUser, $param = [])
2727
{
28-
$record = MemberDataStatistic::getCreateMemberUser($memberUser['id']);
28+
$record = MemberDataStatisticUtil::getCreateMemberUser($memberUser['id']);
2929
$form = Form::make('');
3030
$form->number('sizeLimit', '大小限制')->help('单位MB');
3131
$form->display('sizeUsed', '已使用大小')->addable(true);

module/Member/Core/MemberVipPayCenterBiz.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44
namespace Module\Member\Core;
55

66

7-
use Illuminate\Support\Facades\Log;
87
use ModStart\Core\Dao\ModelUtil;
98
use ModStart\Core\Exception\BizException;
109
use ModStart\Core\Input\Response;
1110
use ModStart\Module\ModuleManager;
12-
use Module\Member\Api\Controller\MemberVipController;
11+
use Module\Member\Events\MemberUserVipChangeEvent;
1312
use Module\Member\Util\MemberCreditUtil;
1413
use Module\Member\Util\MemberUtil;
1514
use Module\Member\Util\MemberVipUtil;
@@ -37,6 +36,10 @@ public function onPayed($payBizId, $payOrder, $param = [])
3736
return;
3837
}
3938
ModelUtil::update('member_vip_order', ['id' => $payBizId], ['status' => OrderStatus::COMPLETED]);
39+
$memberUser = MemberUtil::get($order['memberUserId']);
40+
if (empty($memberUser)) {
41+
return;
42+
}
4043
$update = [];
4144
$update['vipId'] = $order['vipId'];
4245
$update['vipExpire'] = $order['expire'];
@@ -47,6 +50,9 @@ public function onPayed($payBizId, $payOrder, $param = [])
4750
MemberCreditUtil::change($order['memberUserId'], $vipSet['creditPresentValue'], '会员VIP赠送积分');
4851
}
4952
}
53+
if ($update['vipId'] != $memberUser['vipId']) {
54+
MemberUserVipChangeEvent::fire($order['memberUserId'], $memberUser['vipId'], $update['vipId']);
55+
}
5056
}
5157

5258
public function createOrderForQuick($quickOrder, $param = [])

module/Member/Core/ModuleServiceProvider.php

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use Module\Member\Config\MemberHomeIcon;
1919
use Module\Member\Config\MemberMenu;
2020
use Module\Member\Events\MemberUserRegisteredEvent;
21-
use Module\Member\Model\MemberDataStatistic;
2221
use Module\Member\Model\MemberUpload;
2322
use Module\Member\Provider\MemberAdminShowPanel\MemberAdminShowPanelProvider;
2423
use Module\Member\Provider\MemberDeleteScheduleProvider;
@@ -186,19 +185,18 @@ public function boot(Dispatcher $events)
186185
}
187186
if (class_exists(DataUploadedEvent::class)) {
188187
DataUploadedEvent::listen('member_upload', function (DataUploadedEvent $e) {
189-
MemberDataStatistic::updateMemberUserUsedSize($e->userId);
188+
MemberDataStatisticUtil::updateMemberUserUsedSize($e->userId);
189+
});
190+
}
191+
if (class_exists(DataDeletedEvent::class)) {
192+
DataDeletedEvent::listen(function (DataDeletedEvent $e) {
193+
$record = MemberUpload::where(['dataId' => $e->data['id']])->first();
194+
if ($record) {
195+
$record->delete();
196+
MemberDataStatisticUtil::updateMemberUserUsedSize($record->userId);
197+
}
190198
});
191199
}
192-
}
193-
194-
if (class_exists(DataDeletedEvent::class)) {
195-
DataDeletedEvent::listen(function (DataDeletedEvent $e) {
196-
$record = MemberUpload::where(['dataId' => $e->data['id']])->first();
197-
if ($record) {
198-
$record->delete();
199-
MemberDataStatistic::updateMemberUserUsedSize($record->userId);
200-
}
201-
});
202200
}
203201

204202
Event::listen(MemberUserRegisteredEvent::class, function (MemberUserRegisteredEvent $e) {

module/Member/Docs/release.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 4.1.0
22

33
- 新增:短信验证注册时可支持同时设置登录密码
4+
- 新增:用户文件上传增加type字段,区分文件类型
45
- 优化:用户管理后台用户注册登录设置页面文案优化
56
- 优化:用户VIP页面条目是否可视移动端接口优化
67
- 修复:用户积分记录更新异常问题修复
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
4+
namespace Module\Member\Events;
5+
6+
7+
use ModStart\Core\Util\EventUtil;
8+
9+
class MemberUserVipChangeEvent
10+
{
11+
public $memberUserId;
12+
public $fromVipId;
13+
public $toVipId;
14+
15+
public static function fire($memberUserId, $fromVipId, $toVipId)
16+
{
17+
$event = new static();
18+
$event->memberUserId = $memberUserId;
19+
$event->fromVipId = $fromVipId;
20+
$event->toVipId = $toVipId;
21+
EventUtil::fire($event);
22+
}
23+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
use Illuminate\Database\Schema\Blueprint;
4+
use Illuminate\Database\Migrations\Migration;
5+
6+
class MemberUploadType extends Migration
7+
{
8+
/**
9+
* Run the migrations.
10+
*
11+
* @return void
12+
*/
13+
public function up()
14+
{
15+
Schema::table('member_upload', function (Blueprint $table) {
16+
/** @see \ModStart\Admin\Type\UploadType */
17+
$table->tinyInteger('type')->nullable()->comment('类型');
18+
});
19+
\ModStart\Core\Dao\ModelUtil::updateAll('member_upload', [
20+
'type' => \ModStart\Admin\Type\UploadType::USER
21+
]);
22+
}
23+
24+
/**
25+
* Reverse the migrations.
26+
*
27+
* @return void
28+
*/
29+
public function down()
30+
{
31+
32+
}
33+
}

module/Member/Model/MemberDataStatistic.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ class MemberDataStatistic extends Model
1010
{
1111
protected $table = 'member_data_statistic';
1212

13+
/**
14+
* @param $id
15+
* @return mixed
16+
* @deprecated delete at 2024-06-10
17+
*/
1318
public static function getCreateMemberUser($id)
1419
{
1520
$first = self::where('id', $id)->first();
@@ -24,6 +29,11 @@ public static function getCreateMemberUser($id)
2429
return $first->toArray();
2530
}
2631

32+
/**
33+
* @param $id
34+
* @param $data
35+
* @deprecated delete at 2024-06-10
36+
*/
2737
public static function updateMemberUser($id, $data)
2838
{
2939
$m = self::where('id', $id)->first();
@@ -42,6 +52,11 @@ public static function updateMemberUser($id, $data)
4252
}
4353
}
4454

55+
/**
56+
* @param $id
57+
* @return int
58+
* @deprecated delete at 2024-06-10
59+
*/
4560
public static function calcMemberUserUsedSize($id)
4661
{
4762
$total = MemberUpload::where(['userId' => $id])
@@ -50,6 +65,10 @@ public static function calcMemberUserUsedSize($id)
5065
return intval($total);
5166
}
5267

68+
/**
69+
* @param $id
70+
* @deprecated delete at 2024-06-10
71+
*/
5372
public static function updateMemberUserUsedSize($id)
5473
{
5574
$update = [

module/Member/Util/MemberDataStatisticUtil.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use ModStart\Core\Util\FileUtil;
99
use ModStart\Module\ModuleManager;
1010
use Module\Member\Model\MemberDataStatistic;
11+
use Module\Member\Model\MemberUpload;
1112

1213
class MemberDataStatisticUtil
1314
{
@@ -30,4 +31,52 @@ public static function checkQuota($memberUserId)
3031
BizException::throws('您的上传空间已满,最多可以上传' . FileUtil::formatByte($sizeLimitBytes));
3132
}
3233
}
34+
35+
public static function getCreateMemberUser($id)
36+
{
37+
$first = MemberDataStatistic::where('id', $id)->first();
38+
if (empty($first)) {
39+
$m = new self();
40+
$m->id = $id;
41+
$m->sizeLimit = modstart_config('Member_DataStatisticDefaultLimit', 1024);
42+
$m->save();
43+
self::updateMemberUserUsedSize($id);
44+
return self::getCreateMemberUser($id);
45+
}
46+
return $first->toArray();
47+
}
48+
49+
public static function updateMemberUser($id, $data)
50+
{
51+
$m = MemberDataStatistic::where('id', $id)->first();
52+
$updateSize = false;
53+
if (empty($m)) {
54+
$m = new self();
55+
$m->id = $id;
56+
$updateSize = true;
57+
}
58+
foreach ($data as $k => $v) {
59+
$m->$k = $v;
60+
}
61+
$m->save();
62+
if ($updateSize) {
63+
self::updateMemberUserUsedSize($id);
64+
}
65+
}
66+
67+
public static function calcMemberUserUsedSize($id)
68+
{
69+
$total = MemberUpload::where(['userId' => $id])
70+
->leftJoin('data', 'data.id', '=', 'member_upload.dataId')
71+
->sum('data.size');
72+
return intval($total);
73+
}
74+
75+
public static function updateMemberUserUsedSize($id)
76+
{
77+
$update = [
78+
'sizeUsed' => self::calcMemberUserUsedSize($id),
79+
];
80+
MemberDataStatistic::where('id', $id)->update($update);
81+
}
3382
}

0 commit comments

Comments
 (0)