品牌
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace app\console\controller;
|
namespace app\console\controller;
|
||||||
|
|
||||||
|
use app\console\model\BrandBannerModel;
|
||||||
|
use app\console\model\BrandTraitModel;
|
||||||
use support\Request;
|
use support\Request;
|
||||||
use support\Response;
|
use support\Response;
|
||||||
use app\console\model\BrandModel;
|
use app\console\model\BrandModel;
|
||||||
@@ -56,10 +58,17 @@ class BrandController extends BaseController
|
|||||||
'created_at' => date('Y-m-d H:i:s', $item['created_at']),
|
'created_at' => date('Y-m-d H:i:s', $item['created_at']),
|
||||||
'updated_at' => date('Y-m-d H:i:s', $item['updated_at']),
|
'updated_at' => date('Y-m-d H:i:s', $item['updated_at']),
|
||||||
];
|
];
|
||||||
foreach ($item['banner'] as $k => $v) {
|
$banners = BrandBannerModel::with('translation')->where(['brand_id' => $item['id']])->get();
|
||||||
|
foreach ($banners as $k => $v) {
|
||||||
|
$v['alt'] = isset($v['translation']) ? $v['translation']['alt'] : '';
|
||||||
|
unset($v['translation']);
|
||||||
$result['banner'][$k] = $v;
|
$result['banner'][$k] = $v;
|
||||||
}
|
}
|
||||||
foreach ($item['trait'] as $k => $v) {
|
$traits = BrandTraitModel::with('translation')->where(['brand_id' => $item['id']])->get();
|
||||||
|
foreach ($traits as $k => $v) {
|
||||||
|
$v['title'] = isset($v['translation']) ? $v['translation']['title'] : '';
|
||||||
|
$v['content'] = isset($v['translation']) ? $v['translation']['content'] : '';
|
||||||
|
unset($v['translation']);
|
||||||
$result['trait'][$k] = $v;
|
$result['trait'][$k] = $v;
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
|
|||||||
@@ -181,14 +181,26 @@ class BrandService extends BaseService
|
|||||||
);
|
);
|
||||||
|
|
||||||
//品牌轮播图
|
//品牌轮播图
|
||||||
|
$bannersId = [];
|
||||||
foreach ($banners as $banner) {
|
foreach ($banners as $banner) {
|
||||||
$bannersourceFields = $BrandBannerService->extractSourceFields($banner);
|
$bannersourceFields = $BrandBannerService->extractSourceFields($banner);
|
||||||
$bannersourceFields['brand_id'] = $id;
|
$bannersourceFields['brand_id'] = $id;
|
||||||
$bannerId = $banner['id'];
|
|
||||||
$banner['brand_id'] = $id;
|
if(!empty($banner['id'])){
|
||||||
$banner = $BrandBannerService->update($bannerId,$banner);
|
$bannerId = $banner['id'];
|
||||||
if (!$banner) {
|
$bannersId[] = $bannerId;
|
||||||
throw new BusinessException('提交失败');
|
$banner_res = $BrandBannerService->update($bannerId, $banner);
|
||||||
|
if (!$banner_res) {
|
||||||
|
throw new BusinessException('提交失败:品牌轮播图');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
unset($banner['id']);
|
||||||
|
$banner_res = $BrandBannerService->create($banner);
|
||||||
|
if (!$banner_res) {
|
||||||
|
throw new BusinessException('提交失败:品牌轮播图.');
|
||||||
|
}
|
||||||
|
$bannerId = $banner_res->id;
|
||||||
|
$bannersId[] = $bannerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
(new TranslationService())->queueTranslations(
|
(new TranslationService())->queueTranslations(
|
||||||
@@ -198,18 +210,29 @@ class BrandService extends BaseService
|
|||||||
$bannersourceFields
|
$bannersourceFields
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$ids = array_column($banners,'id');
|
BrandBannerModel::whereNotIn('id', $bannersId)->where('brand_id',$id)->delete();
|
||||||
BrandBannerModel::whereNotIn('id', $ids)->where('brand_id',$id)->delete();
|
|
||||||
|
|
||||||
//品牌特性
|
//品牌特性
|
||||||
|
$traitsId = [];
|
||||||
foreach ($traits as $trait) {
|
foreach ($traits as $trait) {
|
||||||
$traitsourceFields = $BrandTraitService->extractSourceFields($trait);
|
$traitsourceFields = $BrandTraitService->extractSourceFields($trait);
|
||||||
$traitsourceFields['brand_id'] = $id;
|
$traitsourceFields['brand_id'] = $id;
|
||||||
$traitId = $trait['id'];
|
|
||||||
$trait['brand_id'] = $id;
|
if(!empty($trait['id'])){
|
||||||
$trait = $BrandTraitService->update($traitId,$trait);
|
$traitId = $trait['id'];
|
||||||
if (!$trait) {
|
$traitsId[] = $traitId;
|
||||||
throw new BusinessException('提交失败');
|
$trait_res = $BrandTraitService->update($traitId, $trait);
|
||||||
|
if (!$trait_res) {
|
||||||
|
throw new BusinessException('提交失败:品牌轮播图');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
unset($trait['id']);
|
||||||
|
$trait_res = $BrandTraitService->create($trait);
|
||||||
|
if (!$trait_res) {
|
||||||
|
throw new BusinessException('提交失败:品牌轮播图.');
|
||||||
|
}
|
||||||
|
$traitId = $trait_res->id;
|
||||||
|
$traitsId[] = $traitId;
|
||||||
}
|
}
|
||||||
|
|
||||||
(new TranslationService())->queueTranslations(
|
(new TranslationService())->queueTranslations(
|
||||||
@@ -219,8 +242,7 @@ class BrandService extends BaseService
|
|||||||
$traitsourceFields
|
$traitsourceFields
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$ids = array_column($traits,'id');
|
BrandTraitModel::whereNotIn('id', $traitsId)->where('brand_id',$id)->delete();
|
||||||
BrandTraitModel::whereNotIn('id', $ids)->where('brand_id',$id)->delete();
|
|
||||||
|
|
||||||
|
|
||||||
Db::commit();
|
Db::commit();
|
||||||
|
|||||||
Reference in New Issue
Block a user