<?php
|
|
namespace app\job\model\branch;
|
|
use app\common\model\branch\Branch as BranchModel;
|
use app\common\model\branch\Activity as ActivityModel;
|
use app\common\model\branch\ActivityUser as ActivityUserModel;
|
use app\common\model\branch\Setting as SettingModel;
|
use app\common\model\supplier\Supplier as SupplierModel;
|
use app\common\library\helper;
|
|
/**
|
* 分会模型
|
*/
|
class Branch extends BranchModel
|
{
|
/**
|
* 获取需要结算的活动列表
|
*/
|
public function getActivitySettledList($app_id)
|
{
|
$model = new ActivityModel();
|
return $model->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();
|
}
|
|
}
|