智慧教务系统
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.
 
 
 
 
 
 

149 lines
4.4 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\admin\order_table;
use app\model\order_table\OrderTable;
use app\model\customer_resources\CustomerResources;
use app\model\course\Course;
use app\model\class_grade\ClassGrade;
use app\model\personnel\Personnel;
use core\base\BaseAdminService;
/**
* 订单服务层
* Class OrderTableService
* @package app\service\admin\order_table
*/
class OrderTableService extends BaseAdminService
{
public function __construct()
{
parent::__construct();
$this->model = new OrderTable();
}
/**
* 获取订单列表
* @param array $where
* @return array
*/
public function getPage(array $data = [])
{
$where = [];
$field = 'id,resource_id,payment_id,order_type,order_status,payment_type,order_amount,course_id,class_id,staff_id,after_sales_status,after_sales_reason,after_sales_time,created_at,updated_at,payment_time,subscription_payment_time';
$order = 'id desc';
if($data['order_status']){
$where[] = ['order_status','=',$data['order_status']];
}
if($data['payment_type']){
$where[] = ['payment_type','=',$data['payment_type']];
}
if($data['resource_id']){
$where[] = ['resource_id','=',$data['resource_id']];
}
if($data['order_type']){
$where[] = ['order_type','=',$data['order_type']];
}
$search_model = $this->model->where($where)->with(['customerResources','course','classGrade','personnel'])->field($field)->order($order);
return $this->pageQuery($search_model, function ($item, $key) {
$type = [1=>'新订单',2=>'续费订单',3=>'内部员工订单'];
$item['type'] = $type[$item['order_type']] ?? '';
});
}
/**
* 获取订单信息
* @param int $id
* @return array
*/
public function getInfo(int $id)
{
$field = 'id,resource_id,payment_id,order_status,payment_type,order_amount,course_id,class_id,staff_id,after_sales_status,after_sales_reason,after_sales_time,created_at,updated_at,payment_time,subscription_payment_time';
$info = $this->model->field($field)->where([['id', "=", $id]])->with(['customerResources','course','classGrade','personnel'])->findOrEmpty()->toArray();
return $info;
}
/**
* 添加订单
* @param array $data
* @return mixed
*/
public function add(array $data)
{
$personnel = new Personnel();
// $data['staff_id'] = $personnel->where(['sys_user_id' => $this->uid])->value("id");
// if(!$data['staff_id']){
// return fail("操作失败");
// }
$data['staff_id'] = 1;
$res = $this->model->create($data);
return success("操作成功");
}
/**
* 订单编辑
* @param int $id
* @param array $data
* @return bool
*/
public function edit(int $id, array $data)
{
$this->model->where([['id', '=', $id]])->update($data);
return true;
}
/**
* 删除订单
* @param int $id
* @return bool
*/
public function del(int $id)
{
$model = $this->model->where([['id', '=', $id]])->find();
$res = $model->delete();
return $res;
}
public function getCustomerResourcesAll(){
$customerResourcesModel = new CustomerResources();
return $customerResourcesModel->select()->toArray();
}
public function getCourseAll(){
$courseModel = new Course();
return $courseModel->select()->toArray();
}
public function getClassGradeAll(){
$classGradeModel = new ClassGrade();
return $classGradeModel->select()->toArray();
}
public function getPersonnelAll(){
$personnelModel = new Personnel();
return $personnelModel->select()->toArray();
}
}