FenxiaoGoods.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\fenxiao\model;
  11. use app\model\BaseModel;
  12. use app\model\goods\Goods as GoodsModel;
  13. /**
  14. * 分销商品
  15. */
  16. class FenxiaoGoods extends BaseModel
  17. {
  18. /**
  19. * @return array
  20. */
  21. public function editGoodsFenxiao($data, $condition)
  22. {
  23. $re = model('goods')->update($data, $condition);
  24. return $this->success($re);
  25. }
  26. /**
  27. * 修改分销状态
  28. * @param $goods_ids
  29. * @param $is_fenxiao
  30. * @param $site_id
  31. * @return array
  32. */
  33. public function modifyGoodsFenxiaoStatus($goods_id, $is_fenxiao, $site_id)
  34. {
  35. $fenxiao_goods_skus = model('fenxiao_goods_sku')->getList([ [ 'goods_id', '=', $goods_id ] ]);
  36. model('goods')->startTrans();
  37. try {
  38. if (empty($fenxiao_goods_skus)) {
  39. $level_list = model('fenxiao_level')->getList([ [ 'site_id', '=', $site_id ], [ 'status', '=', 1 ] ]);
  40. $goods_model = new GoodsModel();
  41. $goods_info = $goods_model->getGoodsDetail($goods_id);
  42. $fenxiao_goods_sku_data = [];
  43. foreach ($level_list as $level) {
  44. foreach ($goods_info[ 'data' ][ 'sku_data' ] as $sku) {
  45. $fenxiao_sku = [
  46. 'goods_id' => $goods_id,
  47. 'level_id' => $level[ 'level_id' ],
  48. 'sku_id' => $sku[ 'sku_id' ],
  49. 'one_rate' => $level[ 'one_rate' ],
  50. 'one_money' => 0,
  51. 'two_rate' => $level[ 'two_rate' ],
  52. 'two_money' => 0,
  53. 'three_rate' => $level[ 'three_rate' ],
  54. 'three_money' => 0,
  55. ];
  56. $fenxiao_goods_sku_data[] = $fenxiao_sku;
  57. }
  58. }
  59. model('fenxiao_goods_sku')->addList($fenxiao_goods_sku_data);
  60. }
  61. model('goods')->update([ 'is_fenxiao' => $is_fenxiao ], [ [ 'goods_id', '=', $goods_id ], [ 'site_id', '=', $site_id ] ]);
  62. model('goods')->commit();
  63. return $this->success(1);
  64. } catch (\Exception $e) {
  65. model('goods')->rollback();
  66. return $this->error($e->getMessage());
  67. }
  68. }
  69. /**
  70. * 取消参与分销
  71. * @param $goods_ids
  72. * @param $site_id
  73. * @return array
  74. */
  75. public function modifyGoodsIsFenxiao($goods_ids, $is_fenxiao, $site_id)
  76. {
  77. $res = model('goods')->update([ 'is_fenxiao' => $is_fenxiao ], [ [ 'goods_id', 'in', $goods_ids ], [ 'site_id', '=', $site_id ] ]);
  78. return $this->success($res);
  79. }
  80. }