Files
crm-server/app/controller/TagGroupController.php
T

65 lines
1.9 KiB
PHP
Raw Normal View History

2025-03-26 17:13:11 +08:00
<?php
namespace app\controller;
2025-03-27 11:13:46 +08:00
use app\model\CustomerTag;
2025-03-26 17:13:11 +08:00
use app\model\TagGroup;
use app\util\Util;
use support\Request;
class TagGroupController
{
// 列表
public function list(Request $request)
{
$list = TagGroup::with('tags')->get();
$languageArr = config('translation.fallback_locale');
$language = $request->user['language'];
foreach ($list as &$item) {
$item['names'] = unserialize($item['names']);
2025-03-27 11:13:46 +08:00
if (in_array($language, $languageArr)) {
2025-03-26 17:13:11 +08:00
$item['name'] = $item['names'][$language];
}
foreach ($item['tags'] as &$tag) {
$tag['names'] = unserialize($tag['names']);
2025-03-27 11:13:46 +08:00
if (in_array($language, $languageArr)) {
2025-03-26 17:13:11 +08:00
$item['name'] = $item['names'][$language];
}
}
}
return Util::success($list);
}
2025-03-27 11:13:46 +08:00
/**
* 更新客户标签关系
* @param Request $request
* @return \support\Response
*/
public function updatePivot(Request $request)
{
$customerId = Util::getParam($request, 'customer_id');
$groupId = Util::getParam($request, 'group_id');
$tagId = Util::getParam($request, 'tag_id');
if (Util::isEmpty($customerId)) {
return Util::fail([], trans('customer_id') . trans('not_null'));
}
if (Util::isEmpty($groupId)) {
return Util::fail([], trans('tag_group_id') . trans('not_null'));
}
if(empty($tagId)){
$res = CustomerTag::where(['customer_id' => $customerId, 'group_id' => $groupId])->delete();
}else{
$res = CustomerTag::updateOrCreate(['customer_id' => $customerId, 'group_id' => $groupId], ['tag_id' => $tagId]);
}
if($res){
return Util::success($res, trans('success'));
}else{
return Util::fail($res, trans('fail'));
}
}
2025-03-26 17:13:11 +08:00
}