Goods.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. *
  4. * @copyright ©2020 点小铺
  5. * @author hanj
  6. * @link: https://dyuit.com
  7. * Created by VSCode
  8. */
  9. namespace app\store\service;
  10. use app\common\service\Goods as GoodsService;
  11. use app\common\library\helper;
  12. use app\store\model\Goods as GoodsModel;
  13. use app\store\model\Category as CategoryModel;
  14. use app\store\model\Delivery as DeliveryModel;
  15. use app\store\model\user\Grade as GradeModel;
  16. use app\store\service\goods\Apply as GoodsApplyService;
  17. /**
  18. * 商品服务类
  19. * Class Goods
  20. * @package app\store\service
  21. */
  22. class Goods extends GoodsService
  23. {
  24. /**
  25. * 商品管理公共数据
  26. * @param GoodsModel|null $model
  27. * @param string $handle
  28. * @return array
  29. */
  30. public static function getEditData($model = null, $handle = 'edit')
  31. {
  32. // 商品分类
  33. $catgory = CategoryModel::getCacheTree();
  34. // 配送模板
  35. $delivery = DeliveryModel::getAll();
  36. // 会员等级列表
  37. $gradeList = GradeModel::getUsableList();
  38. // 商品sku数据
  39. $specData = helper::jsonEncode(static::getSpecData($model));
  40. // 商品规格是否锁定
  41. $isSpecLocked = static::checkSpecLocked($model, $handle);
  42. return compact('catgory', 'delivery', 'gradeList', 'specData', 'isSpecLocked');
  43. }
  44. /**
  45. * 验证商品是否允许删除
  46. * @param $goodsId
  47. * @return bool
  48. */
  49. public static function checkIsAllowDelete($goodsId)
  50. {
  51. return GoodsApplyService::checkIsAllowDelete($goodsId);
  52. }
  53. /**
  54. * 商品规格是否允许编辑
  55. * @param null $model
  56. * @param string $handle
  57. * @return bool
  58. */
  59. private static function checkSpecLocked($model = null, $handle = 'edit')
  60. {
  61. if ($model == null || $handle == 'copy') return false;
  62. return GoodsApplyService::checkSpecLocked($model['goods_id']);
  63. }
  64. }