DeliveryRule.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
  8. // +----------------------------------------------------------------------
  9. // | Author: 萤火科技 <admin@yiovo.com>
  10. // +----------------------------------------------------------------------
  11. declare (strict_types=1);
  12. namespace app\store\model;
  13. use app\common\model\DeliveryRule as DeliveryRuleModel;
  14. /**
  15. * 配送模板区域及运费模型
  16. * Class DeliveryRule
  17. * @package app\store\model
  18. */
  19. class DeliveryRule extends DeliveryRuleModel
  20. {
  21. /**
  22. * 批量写入记录
  23. * @param int $deliveryId
  24. * @param array $rules
  25. * @return array|false
  26. */
  27. public static function increased(int $deliveryId, array $rules)
  28. {
  29. $dataset = [];
  30. foreach ($rules as $ruleItem) {
  31. $dataset[] = [
  32. 'delivery_id' => $deliveryId,
  33. 'region' => $ruleItem['region'],
  34. 'region_text' => $ruleItem['region_text'],
  35. 'first' => $ruleItem['first'],
  36. 'first_fee' => $ruleItem['first_fee'],
  37. 'additional' => $ruleItem['additional'],
  38. 'additional_fee' => $ruleItem['additional_fee'],
  39. 'store_id' => self::$storeId
  40. ];
  41. }
  42. return (new static)->addAll($dataset);
  43. }
  44. /**
  45. * 更新关系记录
  46. * @param int $deliveryId
  47. * @param array $rules 新的图片集
  48. * @return array|false
  49. */
  50. public static function updates(int $deliveryId, array $rules)
  51. {
  52. // 删除所有的记录
  53. static::deleteAll(['delivery_id' => $deliveryId]);
  54. // 批量写入记录
  55. return static::increased($deliveryId, $rules);
  56. }
  57. }