ItemService.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace bizHd\item\services;
  3. use bizHd\base\services\BaseService;
  4. use bizHd\item\classes\ItemClass;
  5. use bizHd\item\classes\ItemClassClass;
  6. use bizHd\product\classes\ProductClass;
  7. use biz\shop\services\ShopService;
  8. use Yii;
  9. use common\components\util;
  10. use yii\db\Exception;
  11. class ItemService extends BaseService
  12. {
  13. public static $baseFile = '\bizHd\item\classes\ItemClass';
  14. //新增花材
  15. public static function addItem($data)
  16. {
  17. $sjId = $data['sjId']??0;
  18. $classId = $data['classId']??0;
  19. $itemId = $data['itemId']??0;
  20. $shopId = $data['shopId']??0;
  21. if(!$sjId || !$shopId){
  22. util::fail("请选择供货商/门店");
  23. }
  24. if(!$classId){
  25. util::fail("请选择分类");
  26. }
  27. if(!$itemId){
  28. util::fail("请选择花材");
  29. }
  30. //判断花材是否存在 调用平台花材的方法
  31. //todo
  32. $existItemClass = ItemClassClass::exists(['id'=>$classId,'sjId'=>$sjId]);
  33. if(!$existItemClass){
  34. util::fail("花材分类不存在");
  35. }
  36. $connection = Yii::$app->db;
  37. $transaction = $connection->beginTransaction();
  38. try{
  39. //所有门店一起添加
  40. $shopIds = ShopService::getShopIds($sjId);
  41. if(empty($shopIds)){
  42. $transaction->rollBack();
  43. util::fail("无门店");
  44. }
  45. foreach ($shopIds as $shopId){
  46. $data['shopId'] = $shopId;
  47. ProductClass::add($data);
  48. }
  49. $transaction->commit();
  50. }catch (Exception $exception){
  51. $transaction->rollBack();
  52. util::fail("新增失败");
  53. }
  54. }
  55. }