diff --git a/addon/fenxiao/event/OrderGoodsRefund.php b/addon/fenxiao/event/OrderGoodsRefund.php index b39f1851..69f7393a 100644 --- a/addon/fenxiao/event/OrderGoodsRefund.php +++ b/addon/fenxiao/event/OrderGoodsRefund.php @@ -26,7 +26,7 @@ class OrderGoodsRefund public function handle($data) { $order_model = new FenxiaoOrder(); - $res = $order_model->refund($data[ 'order_goods_id' ]); + $res = $order_model->refund($data); return $res; } } \ No newline at end of file diff --git a/addon/fenxiao/model/FenxiaoOrder.php b/addon/fenxiao/model/FenxiaoOrder.php index f3eed28b..3c29e717 100644 --- a/addon/fenxiao/model/FenxiaoOrder.php +++ b/addon/fenxiao/model/FenxiaoOrder.php @@ -314,11 +314,18 @@ class FenxiaoOrder extends BaseModel * @param $order_goods_id * @return array */ - public function refund($order_goods_id) + public function refund($order_goods) { - $order_goods_info = model('order_goods')->getInfo([ 'order_goods_id' => $order_goods_id ], 'refund_mode'); + $order_goods_info = model('order_goods')->getInfo([ 'order_goods_id' => $order_goods[ 'order_goods_id' ] ], 'refund_mode'); + $goode_info = model('goods')->getInfo([['goods_id', '=', $order_goods['goods_id']]]); + if ($order_goods_info[ 'refund_mode' ] == 1) { - $res = model("fenxiao_order")->update([ 'is_refund' => 1 ], [ [ 'order_goods_id', '=', $order_goods_id ] ]); + $i_fenxiao = model('fenxiao')->getInfo(['member_id' => $order_goods['member_id']], 'fenxiao_id,fenxiao_name,parent,grand_parent'); + if ($i_fenxiao) { + $fenxiao_account = new FenxiaoAccount; + $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'diamond', -$goode_info['give_diamond'], $goode_info['order_id'],'diamond', '商品退款扣除'); + } + $res = model("fenxiao_order")->update([ 'is_refund' => 1 ], [ [ 'order_goods_id', '=', $order_goods[ 'order_goods_id' ] ] ]); return $this->success($res); } }