| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?php
- namespace ghs\controllers;
- use bizGhs\custom\classes\CustomClass;
- use bizGhs\custom\classes\DistClass;
- use bizGhs\shop\classes\ShopClass;
- use common\components\util;
- use Yii;
- class DistController extends BaseController
- {
- //修改片区 ssh 20251117
- public function actionChangeDist()
- {
- $get = Yii::$app->request->get();
- $customId = $get['customId'] ?? 0;
- $id = $get['distId'] ?? 0;
- $custom = CustomClass::getById($customId, true);
- if (empty($custom)) {
- util::fail('没有找到客户');
- }
- if ($custom->ownMainId != $this->mainId) {
- util::fail('不是你的客户');
- }
- $dist = DistClass::getById($id, true);
- if (empty($dist)) {
- util::fail('没有找到片区');
- }
- if ($dist->mainId != $this->mainId) {
- util::fail('不是你的片区');
- }
- $custom->distId = $id;
- $custom->save();
- util::complete('修改成功');
- }
- //获取所有片区id ssh 20251117
- public function actionGetAllDist()
- {
- $mainId = $this->mainId;
- $all = DistClass::getAllByCondition(['mainId' => $mainId], null, '*');
- util::success(['list' => $all]);
- }
- public function actionGetList()
- {
- $where = ['mainId' => $this->mainId, 'delStatus' => 0];
- $list = DistClass::getDistList($where);
- util::success($list);
- }
- public function actionAdd()
- {
- $post = Yii::$app->request->post();
- $post['adminId'] = $this->adminId;
- $post['mainId'] = $this->mainId ?? 0;
- DistClass::addDist($this->shop, $post);
- util::complete('添加成功');
- }
- //修改分类同步 ssh 20220906
- public function actionUpdate()
- {
- $data = Yii::$app->request->post();
- $id = $data['id'] ?? 0;
- $name = $data['name'] ?? '';
- $currentDist = DistClass::getById($id, true);
- if (empty($currentDist)) {
- util::fail('没有找到片区');
- }
- if ($currentDist->mainId != $this->mainId) {
- util::fail('不是您的片区');
- }
- $originName = $currentDist->name ?? '';
- $has = DistClass::getByCondition(['mainId' => $this->mainId, 'name' => $name], true);
- if (!empty($has) && $id != $has->id) {
- util::fail('名称已经存在');
- }
- $currentDist->name = $name;
- $currentDist->save();
- //在首店修改,则父级下所有直营和加盟店,同步修改
- $masterShop = $this->shop;
- if (isset($masterShop->default) && $masterShop->default == 1 && isset($masterShop->dataSync) && $masterShop->dataSync == 1) {
- $sjId = $masterShop->sjId ?? 0;
- $shopList = ShopClass::getAllByCondition(['sjId' => $sjId], null, '*', null, true);
- foreach ($shopList as $shop) {
- $shopId = $shop->id ?? 0;
- if ($shopId == $masterShop->id) {
- //前面已经修改过了
- continue;
- }
- $currentMainId = $shop->mainId ?? 0;
- $chainList = DistClass::getAllByCondition(['mainId' => $currentMainId], null, '*', null, true);
- if (!empty($chainList)) {
- foreach ($chainList as $chain) {
- if ($chain->name == $originName) {
- $chain->name = $name;
- $chain->save();
- }
- }
- }
- }
- }
- util::complete('修改成功');
- }
- //删除花材分类 ssh 202207062136
- public function actionDelete()
- {
- $id = Yii::$app->request->get('id', 0);
- $connection = Yii::$app->db;
- $transaction = $connection->beginTransaction();
- try {
- $myDist = DistClass::getById($id, true);
- if ($myDist->mainId != $this->mainId) {
- util::fail('不是你的片区');
- }
- $myDist->delStatus = 1;
- $myDist->save();
- $originName = $myDist->name ?? '';
- //在首店删除,则父级下所有直营和加盟店同步删除
- $masterShop = $this->shop;
- if (isset($masterShop->default) && $masterShop->default == 1) {
- $sjId = $masterShop->sjId ?? 0;
- $shopList = ShopClass::getAllByCondition(['sjId' => $sjId], null, '*', null, true);
- foreach ($shopList as $shop) {
- $shopId = $shop->id ?? 0;
- if ($shopId == $masterShop->id) {
- //前面已经删除过了
- continue;
- }
- $currentMainId = $shop->mainId ?? 0;
- $chainList = DistClass::getAllByCondition(['mainId' => $currentMainId], null, '*', null, true);
- if (!empty($chainList)) {
- foreach ($chainList as $chain) {
- if ($chain->name == $originName) {
- $chain->delStatus = 1;
- $chain->save();
- }
- }
- }
- }
- }
- $transaction->commit();
- util::complete('操作成功');
- } catch (\Exception $e) {
- $transaction->rollBack();
- Yii::info("失败原因:" . $e->getMessage());
- util::fail('删除失败');
- }
- }
- }
|