getInfo([ [ 'order_id', '=', $order_id ], [ 'order_status', '=', BaseOrder::ORDER_COMPLETE ] ], 'order_id,member_id'); if (!empty($order_info)) { $member_id = $order_info[ 'member_id' ]; //存在散客的情况 if ($member_id > 0) { $mansong_record = model('promotion_mansong_record')->getList([ [ 'order_id', '=', $order_id ], [ 'status', '=', 0 ] ]); if (!empty($mansong_record)) { model('promotion_mansong_record')->startTrans(); foreach ($mansong_record as $item) { try { // 发放积分 if (!empty($item[ 'point' ])) { $member_account = new Memberaccount(); $member_account->addMemberAccount($item[ 'site_id' ], $item[ 'member_id' ], 'point', $item[ 'point' ], 'manjian', $item[ 'manjian_id' ], "活动奖励发放"); } // 发放优惠券 if (!empty($item[ 'coupon' ])) { $coupon = new Coupon(); $coupon_list = explode(',', $item[ 'coupon' ]); $coupon_num = explode(',', $item[ 'coupon_num' ]); $coupon_data = []; foreach ($coupon_list as $k => $cpupon_item) { array_push($coupon_data, [ 'coupon_type_id' => $cpupon_item, 'num' => $coupon_num[ $k ] ?? 1 ]); } $coupon->giveCoupon($coupon_data, $item[ 'site_id' ], $item[ 'member_id' ], 6); } // 变更发放状态 model('promotion_mansong_record')->update([ 'status' => 1 ], [ [ 'id', '=', $item[ 'id' ] ] ]); model('promotion_mansong_record')->commit(); } catch (\Exception $e) { model('promotion_mansong_record')->rollback(); } } } } } } }