66 lines
1.9 KiB
PHP
66 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app\controller;
|
|
|
|
use app\model\CustomerTag;
|
|
use app\model\TagGroup;
|
|
use app\util\Util;
|
|
use config\constants\Constants;
|
|
use support\Request;
|
|
|
|
class TagGroupController
|
|
{
|
|
|
|
// 列表
|
|
public function list(Request $request)
|
|
{
|
|
$list = TagGroup::with('tags')->get();
|
|
$languageArr = Constants::LANGUAGE;
|
|
$language = $request->user['language'];
|
|
foreach ($list as &$item) {
|
|
$item['names'] = unserialize($item['names']);
|
|
if (in_array($language, $languageArr)) {
|
|
$item['name'] = $item['names'][$language];
|
|
}
|
|
foreach ($item['tags'] as &$tag) {
|
|
$tag['names'] = unserialize($tag['names']);
|
|
if (in_array($language, $languageArr)) {
|
|
$tag['name'] = $tag['names'][$language];
|
|
}
|
|
}
|
|
}
|
|
|
|
return Util::success($list);
|
|
}
|
|
|
|
|
|
/**
|
|
* 更新客户标签关系
|
|
* @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'));
|
|
}
|
|
}
|
|
} |