智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

88 lines
3.0 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\apiService;
use app\model\customer_resources\CustomerResources;
use app\model\personnel\Personnel;
use app\model\resource_sharing\ResourceSharing;
use app\model\six_speed\SixSpeed;
use core\base\BaseApiService;
use think\facade\Db;
/**
* 客户资源服务层
* Class MemberService
* @package app\service\api\member
*/
class CustomerResourcesService extends BaseApiService
{
public function __construct()
{
parent::__construct();
}
//添加数据
public function addData(array $customer_resources_data, array $six_speed_data)
{
$date = date('Y-m-d H:i:s');
$customer_resources_data['updated_at'] = $date;
$six_speed_data['updated_at'] = $date;
$res = [
'code' => 0,
'msg' => '操作失败'
];
//开启事物
Db::startTrans();
try {
$resource_id = CustomerResources::insertGetId($customer_resources_data);//客户资源表
if (!$resource_id) {
Db::rollback();
return $res;
}
$six_speed_data['resource_id'] = $resource_id;
$sixSpeedAdd = SixSpeed::create($six_speed_data);
if (!$sixSpeedAdd) {
Db::rollback();
return $res;
}
// 资源共享表新增记录
$personnel = new Personnel();
$role_id = $personnel->alias("a")
->join(['school_campus_person_role' => 'b'], 'a.id = b.person_id', 'left')
->where(['a.id' => $customer_resources_data['consultant']])
->value('b.role_id');
$resourceSharing = new ResourceSharing();
$resourceSharing->insert([
'resource_id' => $resource_id,
'user_id' => $customer_resources_data['consultant'],
'role_id' => $role_id
]);
Db::commit();
$res = [
'code' => 1,
'msg' => '操作成功'
];
$event_data = [
'customer_resources_id' => $resource_id,//客户资源表id
'event_type' => 'add'//事件类型"add=添加,edit=修改
];//事件类型"add=添加,edit=修改
event('CalculatePerformance', $event_data);
return $res;
} catch (\Exception $exception) {
Db::rollback();
return $res;
}
}
}