GhsController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace pt\controllers;
  3. use biz\ghs\classes\GhsClass;
  4. use biz\shop\classes\ShopClass;
  5. use biz\sj\classes\MerchantClass;
  6. use biz\sj\classes\SjClass;
  7. use common\components\util;
  8. use Yii;
  9. class GhsController extends BaseController
  10. {
  11. public $guestAccess = [];
  12. //绑定供货商 shish 2021.3.29
  13. public function actionBindGhs()
  14. {
  15. $get = Yii::$app->request->get();
  16. $ownSjId = $get['ownSjId'] ?? '';
  17. $sjId = $get['sjId'] ?? '';
  18. if ($ownSjId == $sjId) {
  19. util::fail('不能自己绑自己');
  20. }
  21. $sj = MerchantClass::getMerchantById($ownSjId);
  22. if (isset($sj['style']) == false || $sj['style'] != SjClass::STYLE_SUPPLIER) {
  23. util::fail('城市供货商才能发起绑定');
  24. }
  25. $ghsSj = MerchantClass::getMerchantById($sjId);
  26. if (isset($ghsSj['style']) == false || $ghsSj['style'] != SjClass::STYLE_KM_SUPPLIER) {
  27. util::fail('请选择昆明供货商');
  28. }
  29. $count = ShopClass::getCount(['delStatus' => 0, 'merchantId' => $sjId]);
  30. if ($count > 1) {
  31. util::fail('供货商已经不止一家门店,不知道要绑供货商的哪家店,所以不能再进行绑定');
  32. }
  33. $currentShop = ShopClass::getByCondition(['merchantId' => $sjId, 'delStatus' => 0]);
  34. if (empty($currentShop)) {
  35. util::fail('没有找到门店');
  36. }
  37. $currentShopId = $currentShop['id'] ?? 0;
  38. $list = ShopClass::getAllByCondition(['merchantId' => $ownSjId, 'delStatus' => 0], null, '*');
  39. if (empty($list)) {
  40. util::fail('没有找到门店');
  41. }
  42. $connection = Yii::$app->db;
  43. $transaction = $connection->beginTransaction();
  44. try {
  45. foreach ($list as $current) {
  46. $ownShopId = $current['id'];
  47. GhsClass::build($currentShopId, $ownShopId);
  48. }
  49. $transaction->commit();
  50. util::complete();
  51. } catch (Exception $exception) {
  52. $transaction->rollBack();
  53. util::fail("绑定失败");
  54. }
  55. }
  56. }