where('status', '=', 1) ->where('is_finish', '=', 0) ->where('activity_end_time', '<=', time()) ->where('is_delete', '=', 0) ->where('app_id', '=', $app_id) ->select(); } /** * 获取需要删除的报名(需要报名费但未支付) */ public function getActivityUserIds($app_id) { return (new ActivityUserModel())->where('pay_price', '>', 0) ->where('status', '=', 0) ->where('pay_status', '=', 10) ->where('create_time', '<', time() - 3600) ->where('app_id', '=', $app_id) ->column('order_id'); } /** * 活动结算 */ public function settledActivity($activityList) { // 更新活动状态(已完成) $this->settled($activityList); $setting = SettingModel::getItem('basic'); foreach ($activityList as $item) { if ($setting['visit_company'] > 0 && $item['is_visit'] == 1 && $item['visit_supplier_id']) { $supplier = SupplierModel::detail($item['visit_supplier_id']); $describe = "作为被走访企业获得奖励[活动ID:{$item['activity_id']}]"; $supplier->setIncPoints($setting['visit_company'], $describe); } if ($setting['space_company'] && $item['is_visit'] == 0 && $item['space_supplier_id']) { $supplier = SupplierModel::detail($item['space_supplier_id']); $describe = "提供活动场地获得奖励[活动ID:{$item['activity_id']}]"; $supplier->setIncPoints($setting['space_company'], $describe); } if ($setting['organize_branch'] > 0) { $branch = BranchModel::detail($item['branch_id']); $describe = "组织活动获得奖励[活动ID:{$item['activity_id']}]"; $branch->setIncPoints($setting['organize_branch'], $describe); } } } public function settled($activityList) { // 活动id集 $activityIds = helper::getArrayColumn($activityList, 'activity_id'); ActivityModel::onBatchUpdate($activityIds, ['is_finish' => 1]); } /** * 未支付的报名自动删除 */ public function deleteActivityUser($orderIds = []) { // 执行删除 $orderIds && ActivityUserModel::where('order_id', 'in', $orderIds)->delete(); } }