feat(zy): 添加消息通知功能并优化活动相关逻辑

- 在 Circle 控制器中添加点赞、评论和审核通知
- 在 Game 控制器中添加退坑、取消活动和发送消息功能
- 优化 Activity 控制器中的订单关联逻辑
- 更新语言包,添加新的活动状态翻译
This commit is contained in:
2025-05-26 11:03:39 +08:00
parent d48daea477
commit b7023e7ab3
7 changed files with 247 additions and 9 deletions

View File

@@ -8,10 +8,11 @@ use app\admin\model\zy\Club;
use app\admin\model\zy\Menber;
use think\exception\PDOException;
use app\admin\model\zy\circle\Likes;
use app\admin\model\zy\link\Message;
use app\admin\model\zy\link\Relation;
use app\admin\model\zy\circle\Comment;
use think\exception\ValidateException;
use app\admin\model\zy\circle\Circle as CircleModel;
use app\admin\model\zy\circle\Comment;
use app\admin\model\zy\link\Relation;
class Circle extends Base
{
@@ -116,8 +117,8 @@ class Circle extends Base
public function like()
{
$params = $this->request->param();
$club = CircleModel::get($params['circle_id']);
if (empty($club)) {
$circle = CircleModel::get($params['circle_id']);
if (empty($circle)) {
$this->error('数据不存在');
}
$user = auth_user();
@@ -132,6 +133,18 @@ class Circle extends Base
'avatar' => $user['avatar'],
'gender' => $user['gender'],
]);
(new Message())->allowField(true)->save([ // 消息通知
'type' => 1,
'name' => '互动消息',
'avatar' => '',
'from_id' => 0,
'target_id' => $circle->user_id,
'content' => json_encode([
'topic' => '点赞',
'content' => $user['nickname'] . '点赞了你的帖子',
'circle_id' => $circle->id
])
]);
} else { // 取消点赞
$like->delete();
}
@@ -147,8 +160,8 @@ class Circle extends Base
public function comment()
{
$params = $this->request->param();
$club = CircleModel::get($params['circle_id']);
if (empty($club)) {
$circle = CircleModel::get($params['circle_id']);
if (empty($circle)) {
$this->error('数据不存在');
}
if (empty($params['content'])) {
@@ -172,6 +185,18 @@ class Circle extends Base
'gender' => $user['gender'],
'content' => $params['content'],
]);
(new Message())->allowField(true)->save([ // 消息通知
'type' => 1,
'name' => '互动消息',
'avatar' => '',
'from_id' => 0,
'target_id' => $circle->user_id,
'content' => json_encode([
'topic' => '评论',
'content' => $user['nickname'] . '评论了你的帖子',
'circle_id' => $circle->id
])
]);
Db::commit();
} catch (ValidateException | PDOException | Exception $e) {
Db::rollback();
@@ -199,6 +224,19 @@ class Circle extends Base
}
$model->save(['status' => $params['status']]);
(new Message())->allowField(true)->save([ // 消息通知
'type' => 3,
'name' => '系统通知',
'avatar' => '',
'from_id' => 0,
'target_id' => $model->user_id,
'content' => json_encode([
'topic' => '影圈审核',
'result' => ($params['status'] == 1) ? '通过' : '不通过',
'circle_id' => $model->id
])
]);
$this->success('Success');
}
}