15090180611 dd354eaca0 多样青春活动版:
配合前端对接核销流程作接口微调

分离式后台基础接口:
权限管理-权限组管理增删改查接口
2025-04-21 18:24:02 +08:00

204 lines
6.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\api\controller\school\newworker\activity;
use app\api\controller\school\newworker\Base;
use app\common\model\school\activity\order\Order as OrderModel;
use app\common\model\school\activity\order\OrderCode;
/**
* 员工端:活动订单管理接口
*/
class Order extends Base
{
protected $noNeedLogin = [];
protected $noNeedRight = '*';
protected $model = null;
/**
* 初始化操作
* @access protected
*/
protected function _initialize()
{
$this->transactionCheck();
$this->model = new OrderModel;
parent::_initialize();
//判断登录用户是否是员工
$this->setUrlLock();
}
/**
* @ApiTitle( 用户活动订单详情)
* @ApiSummary(用户活动订单详情)
* @ApiMethod(GET)
* @ApiParams(name = "id", type = "int",required=true,description = "订单id或订单号")
* @ApiReturn({
*
*})
*/
public function detail(){
$id = $this->request->get('id/s','');
if(empty($id)){
$this->error(__('缺少必要参数'));
}
try {
$res = OrderModel::getDetail($id,$this->activity_ids);
if(!$res)throw new \Exception('您无操作权限!',40003);
} catch (\Exception $e){
// Log::log($e->getMessage());
$this->error($e->getMessage(),['errcode'=>$e->getCode()]);
}
$this->success('获取成功', ['detail' => $res]);
}
/**
* @ApiTitle( 用户活动订单列表接口)
* @ApiSummary(用户活动订单列表接口)
* @ApiMethod(GET)
* @ApiParams(name = "keywords", type = "string",required=false,description = "搜索关键字")
* @ApiParams(name = "page", type = "string",required=true,description = "页数")
* @ApiParams(name = "limit", type = "string",required=true,description = "条数")
* @ApiParams(name = "status", type = "string",required=false,description = "订单状态:-3=已取消,0=待支付,2=已报名,3=核销中,4=售后中,5=退款结算中,6=已退款,9=已完成")
* @ApiParams(name = "server_status", type = "string",required=false,description = "售后订单状态:0=正常,3=售后中,6=售后完成")
* @ApiParams(name = "auth_status", type = "string",required=false,description = "售后结果状态:0=待审核,1=同意退款,2=拒绝退款")
* @ApiParams(name = "activity_id", type = "int",required=false,description = "活动id")
* @ApiReturn({
*
*})
*/
public function order_list()
{
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$page = $this->request->get('page/d', 0); //页数
$limit = $this->request->get('limit/d', 0); //条数
$keywords = $this->request->get('keywords/s', ''); //搜索关键字
$status = $this->request->get('status/s', ''); //搜索关键字
$params =[];
$params["auth_status"] = $this->request->get('auth_status/s', ''); //搜索关键字
$server_status = $this->request->get('server_status/s', ''); //搜索关键字
$activity_id = $this->request->get('activity_id/s', ''); //搜索关键字
// $type = $this->request->get('type/s', ''); //筛选学员和教练单
try{
//当前申请状态
$res = $this->model::workList($user_id,$page, $limit,$keywords,$status,$activity_id,$this->activity_ids,0,$server_status,$params);
// var_dump($this->model->getLastSql());
}catch (\Exception $e){
$this->error($e->getMessage());
}
$this->success('查询成功', $res);
}
/**
* @ApiTitle( 用户订单数量接口)
* @ApiSummary(返回订单各个数量)
* @ApiMethod(GET)
* @ApiParams(name = "activity_id", type = "int",required=false,description = "活动id")
* @ApiReturn({
*
*})
*/
public function order_count(){
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$activity_id = $this->request->get('activity_id/s', ''); //搜索关键字
try{
$res = $this->model::workCount($activity_id,$this->activity_ids);
}catch (\Throwable $e){
$this->error($e->getMessage());
}
$this->success('查询成功', $res);
}
/**
* @ApiTitle( 员工操作:订单核销接口)
* @ApiSummary(订单核销接口)
* @ApiMethod(POST)
* @ApiParams(name = "code", type = "string",required=true,description = "核销码")
* @ApiReturn({
*
*})
*/
public function verification(){
$this->model = new OrderCode();
$this->setUrlLock();
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$code = $this->request->post('code/s', ''); //订单号
// var_dump($code);
try{
//当前申请状态
$res = $this->model->verification($code,0,true,'user',$user_id,true);
}catch (\Throwable $e){
$this->error($code."11111".$e->getMessage());
}
$this->success('预约课时核销成功', $res);
}
/**
* @ApiTitle( 处理售后接口)
* @ApiSummary(处理售后接口)
* @ApiMethod(POST)
* @ApiParams(name = "order_no", type = "string",required=true,description = "售后订单id或售后订号")
* @ApiParams(name = "status", type = "string",required=true,description = "yes=同意no=驳回")
* @ApiParams(name = "price", type = "string",required=false,description = "同意的售后金额")
* @ApiParams(name = "reject_reason", type = "string",required=false,description = "驳回原因")
* @ApiReturn({
*
*})
*/
public function shop_confirmation(){
$this->model = new OrderModel;
//判断登录用户是否是员工
$this->setUrlLock();
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$order_no = $this->request->post('order_no/s', ''); //订单号
$status = $this->request->post('status/s', 0); //审核状态
$price = $this->request->post('price/f', 0);
$reject_reason = $this->request->post('reject_reason/s', '');
try{
//当前申请状态
$res = $this->model->shopConfirmation($order_no,$status,$price,$reject_reason,0,true,'user',$user_id,true);
}catch (\Throwable $e){
$this->error($e->getMessage());
}
$this->success('调用成功', $res);
}
}