GoodsService.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/6/18
  6. * Time: 17:07
  7. */
  8. namespace app\backend\modules\goods\models;
  9. use Illuminate\Support\Carbon;
  10. class GoodsService extends \app\common\models\goods\GoodsService
  11. {
  12. public static function relationSave($goodsId, $data, $operate = '')
  13. {
  14. if (!$goodsId) {
  15. return false;
  16. }
  17. if (!$data) {
  18. return false;
  19. }
  20. $model = self::getGoodsModel($goodsId, $operate);
  21. //判断deleted
  22. if ($operate == 'deleted') {
  23. return $model->delete();
  24. }
  25. $attr['goods_id'] = $goodsId;
  26. $attr['uniacid'] = \YunShop::app()->uniacid;
  27. $attr['serviceFee'] = $data['service_fee'];
  28. $attr['is_automatic'] = is_null($data['is_automatic'])?0:$data['is_automatic'];
  29. $attr['on_shelf_time'] = $data['starttime'];
  30. $attr['lower_shelf_time'] = $data['endtime'];
  31. if (isset($data['is_refund'])) {
  32. $attr['is_refund'] = $data['is_refund'];
  33. };
  34. $attr['time_type'] = $data['time_type'];
  35. $attr['loop_date_start'] = Carbon::createFromTimestamp($data['loop_date_start'])->startOfDay()->timestamp;
  36. $attr['loop_date_end'] = Carbon::createFromTimestamp($data['loop_date_end'])->endOfDay()->timestamp;
  37. $attr['loop_time_up'] = $data['loop_time_up'];
  38. $attr['loop_time_down'] = $data['loop_time_down'];
  39. $attr['auth_refresh_stock'] = $data['auth_refresh_stock'];
  40. $attr['original_stock'] = $data['original_stock'];
  41. $model->fill($attr);
  42. return $model->save();
  43. }
  44. public static function getGoodsModel($goodsId, $operate)
  45. {
  46. $model = false;
  47. if ($operate != 'created') {
  48. $model = static::where(['goods_id' => $goodsId])->first();
  49. }
  50. !$model && $model = new static;
  51. return $model;
  52. }
  53. }