|
|
@@ -3,7 +3,10 @@
|
|
|
namespace bizGhs\cp\classes;
|
|
|
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
+use bizGhs\shop\classes\ShopClass;
|
|
|
use common\components\imgUtil;
|
|
|
+use common\components\util;
|
|
|
+use Yii;
|
|
|
|
|
|
class CpClass extends BaseClass
|
|
|
{
|
|
|
@@ -26,4 +29,53 @@ class CpClass extends BaseClass
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
+ public static function addCp($data, $currentShop)
|
|
|
+ {
|
|
|
+ $mainId = $currentShop->mainId ?? 0;
|
|
|
+ $name = $data['name'] ?? '';
|
|
|
+ if (empty($name)) {
|
|
|
+ util::fail('请填写名称');
|
|
|
+ }
|
|
|
+ $classId = $data['classId'] ?? 0;
|
|
|
+ if (empty($classId)) {
|
|
|
+ util::fail('请选择分类');
|
|
|
+ }
|
|
|
+ $thisClass = CpClassClass::getById($classId, true);
|
|
|
+ if (empty($thisClass)) {
|
|
|
+ util::fail('没有找到分类');
|
|
|
+ }
|
|
|
+ if ($thisClass->mainId != $mainId) {
|
|
|
+ util::fail('不是你的分类');
|
|
|
+ }
|
|
|
+ $connection = Yii::$app->db;
|
|
|
+ $transaction = $connection->beginTransaction();
|
|
|
+ try {
|
|
|
+
|
|
|
+ $respond = PtCpClass::addCp($data);
|
|
|
+ $data['ptCpId'] = $respond->id ?? 0;
|
|
|
+ self::add($data);
|
|
|
+
|
|
|
+ //在首店添加,则找到父级sj下的所有直营和加盟店,都进行同步
|
|
|
+ if (isset($currentShop->default) && $currentShop->default == 1) {
|
|
|
+ $shopList = ShopClass::getAllByCondition(['sjId' => $currentShop->sjId], null, '*', null, true);
|
|
|
+ foreach ($shopList as $shop) {
|
|
|
+ $shopId = $shop->id ?? 0;
|
|
|
+ if ($shopId == $currentShop->id) {
|
|
|
+ //前面已经添加过了
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $thisMainId = $shop->mainId ?? 0;
|
|
|
+ $data['shopId'] = $shopId;
|
|
|
+ $data['mainId'] = $thisMainId;
|
|
|
+ self::add($data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $transaction->commit();
|
|
|
+ } catch (\Exception $exception) {
|
|
|
+ $transaction->rollBack();
|
|
|
+ Yii::info('添加失败原因:' . $exception->getMessage());
|
|
|
+ util::fail('添加失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|