于宏哲PHP 10 months ago
parent
commit
e0718d78dc
  1. 16
      niucloud/app/adminapi/controller/student/Student.php
  2. 5
      niucloud/app/adminapi/route/student.php
  3. 12
      niucloud/app/model/student/Student.php
  4. 20
      niucloud/app/service/admin/student/StudentService.php
  5. 22
      niucloud/app/service/api/pay/PayService.php
  6. 8
      niucloud/app/validate/student/Student.php

16
niucloud/app/adminapi/controller/student/Student.php

@ -52,13 +52,13 @@ class Student extends BaseAdminController
*/ */
public function add(){ public function add(){
$data = $this->request->params([ $data = $this->request->params([
["user_id",0],
["campus_id",0], ["campus_id",0],
["class_id",0], ["class_id",0],
["user_id",0],
["name",""], ["name",""],
["gender",0], ["gender",0],
["age",0.00], ["age",0.00],
["birthday","2025-05-23 17:31:39"], ["birthday","2025-05-26 16:25:55"],
["emergency_contact",""], ["emergency_contact",""],
["contact_phone",""], ["contact_phone",""],
["note",""], ["note",""],
@ -77,13 +77,13 @@ class Student extends BaseAdminController
*/ */
public function edit(int $id){ public function edit(int $id){
$data = $this->request->params([ $data = $this->request->params([
["user_id",0],
["campus_id",0], ["campus_id",0],
["class_id",0], ["class_id",0],
["user_id",0],
["name",""], ["name",""],
["gender",0], ["gender",0],
["age",0.00], ["age",0.00],
["birthday","2025-05-23 17:31:39"], ["birthday","2025-05-26 16:25:55"],
["emergency_contact",""], ["emergency_contact",""],
["contact_phone",""], ["contact_phone",""],
["note",""], ["note",""],
@ -106,6 +106,10 @@ class Student extends BaseAdminController
} }
public function getCustomerResourcesAll(){
return success(( new StudentService())->getCustomerResourcesAll());
}
public function getCampusAll(){ public function getCampusAll(){
return success(( new StudentService())->getCampusAll()); return success(( new StudentService())->getCampusAll());
} }
@ -114,8 +118,4 @@ class Student extends BaseAdminController
return success(( new StudentService())->getClassGradeAll()); return success(( new StudentService())->getClassGradeAll());
} }
public function getMemberAll(){
return success(( new StudentService())->getMemberAll());
}
} }

5
niucloud/app/adminapi/route/student.php

@ -15,6 +15,7 @@ use app\adminapi\middleware\AdminCheckRole;
use app\adminapi\middleware\AdminCheckToken; use app\adminapi\middleware\AdminCheckToken;
use app\adminapi\middleware\AdminLog; use app\adminapi\middleware\AdminLog;
// USER_CODE_BEGIN -- student // USER_CODE_BEGIN -- student
Route::group('student', function () { Route::group('student', function () {
@ -30,12 +31,12 @@ Route::group('student', function () {
//删除学员 //删除学员
Route::delete('student/:id', 'student.Student/del'); Route::delete('student/:id', 'student.Student/del');
Route::get('customer_resources_all','student.Student/getCustomerResourcesAll');
Route::get('campus_all','student.Student/getCampusAll'); Route::get('campus_all','student.Student/getCampusAll');
Route::get('class_grade_all','student.Student/getClassGradeAll'); Route::get('class_grade_all','student.Student/getClassGradeAll');
Route::get('member_all','student.Student/getMemberAll');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,
AdminCheckRole::class, AdminCheckRole::class,

12
niucloud/app/model/student/Student.php

@ -16,12 +16,12 @@ use think\model\concern\SoftDelete;
use think\model\relation\HasMany; use think\model\relation\HasMany;
use think\model\relation\HasOne; use think\model\relation\HasOne;
use app\model\customer_resources\CustomerResources;
use app\model\campus\Campus; use app\model\campus\Campus;
use app\model\class_grade\ClassGrade; use app\model\class_grade\ClassGrade;
use app\model\member\Member;
/** /**
* 学员模型 * 学员模型
* Class Student * Class Student
@ -127,6 +127,10 @@ class Student extends BaseModel
public function customerResources(){
return $this->hasOne(CustomerResources::class, 'id', 'user_id')->joinType('left')->withField('name,id')->bind(['user_id_name'=>'name']);
}
public function campus(){ public function campus(){
return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']); return $this->hasOne(Campus::class, 'id', 'campus_id')->joinType('left')->withField('campus_name,id')->bind(['campus_id_name'=>'campus_name']);
} }
@ -135,8 +139,4 @@ class Student extends BaseModel
return $this->hasOne(ClassGrade::class, 'id', 'class_id')->joinType('left')->withField('class_name,id')->bind(['class_id_name'=>'class_name']); return $this->hasOne(ClassGrade::class, 'id', 'class_id')->joinType('left')->withField('class_name,id')->bind(['class_id_name'=>'class_name']);
} }
public function member(){
return $this->hasOne(Member::class, 'member_id', 'user_id')->joinType('left')->withField('nickname,member_id')->bind(['user_id_name'=>'nickname']);
}
} }

20
niucloud/app/service/admin/student/StudentService.php

@ -12,9 +12,9 @@
namespace app\service\admin\student; namespace app\service\admin\student;
use app\model\student\Student; use app\model\student\Student;
use app\model\customer_resources\CustomerResources;
use app\model\campus\Campus; use app\model\campus\Campus;
use app\model\class_grade\ClassGrade; use app\model\class_grade\ClassGrade;
use app\model\member\Member;
use core\base\BaseAdminService; use core\base\BaseAdminService;
@ -39,10 +39,10 @@ class StudentService extends BaseAdminService
*/ */
public function getPage(array $where = []) public function getPage(array $where = [])
{ {
$field = 'id,campus_id,class_id,user_id,name,gender,age,birthday,emergency_contact,contact_phone,note,status,created_at,updated_at,deleted_at'; $field = 'id,user_id,campus_id,class_id,name,gender,age,birthday,emergency_contact,contact_phone,note,status,created_at,updated_at,deleted_at';
$order = 'id asc'; $order = 'id asc';
$search_model = $this->model->withSearch(["campus_id","name","emergency_contact","contact_phone","created_at"], $where)->with(['campus','classGrade','member'])->field($field)->order($order); $search_model = $this->model->withSearch(["campus_id","name","emergency_contact","contact_phone","created_at"], $where)->with(['customerResources','campus','classGrade'])->field($field)->order($order);
$list = $this->pageQuery($search_model); $list = $this->pageQuery($search_model);
return $list; return $list;
} }
@ -54,9 +54,9 @@ class StudentService extends BaseAdminService
*/ */
public function getInfo(int $id) public function getInfo(int $id)
{ {
$field = 'id,campus_id,class_id,user_id,name,gender,age,birthday,emergency_contact,contact_phone,note,status,created_at,updated_at,deleted_at'; $field = 'id,user_id,campus_id,class_id,name,gender,age,birthday,emergency_contact,contact_phone,note,status,created_at,updated_at,deleted_at';
$info = $this->model->field($field)->where([['id', "=", $id]])->with(['campus','classGrade','member'])->findOrEmpty()->toArray(); $info = $this->model->field($field)->where([['id', "=", $id]])->with(['customerResources','campus','classGrade'])->findOrEmpty()->toArray();
return $info; return $info;
} }
@ -98,6 +98,11 @@ class StudentService extends BaseAdminService
} }
public function getCustomerResourcesAll(){
$customerResourcesModel = new CustomerResources();
return $customerResourcesModel->select()->toArray();
}
public function getCampusAll(){ public function getCampusAll(){
$campusModel = new Campus(); $campusModel = new Campus();
return $campusModel->select()->toArray(); return $campusModel->select()->toArray();
@ -108,10 +113,5 @@ class StudentService extends BaseAdminService
return $classGradeModel->select()->toArray(); return $classGradeModel->select()->toArray();
} }
public function getMemberAll(){
$memberModel = new Member();
return $memberModel->select()->toArray();
}
} }

22
niucloud/app/service/api/pay/PayService.php

@ -14,9 +14,11 @@ namespace app\service\api\pay;
use app\dict\common\ChannelDict; use app\dict\common\ChannelDict;
use app\dict\pay\PayDict; use app\dict\pay\PayDict;
use app\dict\pay\PaySceneDict; use app\dict\pay\PaySceneDict;
use app\model\customer_resources\CustomerResources;
use app\model\member\Member; use app\model\member\Member;
use app\model\order_table\OrderTable; use app\model\order_table\OrderTable;
use app\model\pay\Pay; use app\model\pay\Pay;
use app\model\student\Student;
use app\model\sys\Poster; use app\model\sys\Poster;
use app\service\core\member\CoreMemberService; use app\service\core\member\CoreMemberService;
use app\service\core\pay\CorePayService; use app\service\core\pay\CorePayService;
@ -163,7 +165,9 @@ class PayService extends BaseApiService
public function qrcodeNotify($data,$order_id) public function qrcodeNotify($data,$order_id)
{ {
$student = new Student();
$order = new OrderTable(); $order = new OrderTable();
$cust = new CustomerResources();
$order_info = $order->where(['id' => $order_id])->find(); $order_info = $order->where(['id' => $order_id])->find();
if($order_info['order_status'] == 'pending' and !empty($order_info['ipv3'])){ if($order_info['order_status'] == 'pending' and !empty($order_info['ipv3'])){
$resource = $data['resource']; $resource = $data['resource'];
@ -176,6 +180,24 @@ class PayService extends BaseApiService
$info = json_decode($decrypted, true); $info = json_decode($decrypted, true);
$order->where(['payment_id' => $info['out_trade_no']])->update(['order_status' => 'paid','payment_time' => date("Y-m-d H:i:s")]); $order->where(['payment_id' => $info['out_trade_no']])->update(['order_status' => 'paid','payment_time' => date("Y-m-d H:i:s")]);
$order_count = $order->where(['resource_id' => $order_info['resource_id']])->count();
if($order_count <= 1){
$cust_info = $cust->where(['id' => $order_info['resource_id']])->find();
$sex_arr = ['male' => 1, 'female' => 2, 'other' => 0];
//首次支付创建学员
$student->insert([
'name' => $cust_info['name'],
'gender' => $sex_arr[$cust_info['gender']],
'age' => $cust_info['age'],
'campus_id' => $cust_info['campus'],
'class_id' => $order_info['class_id'],
'status' => 1,
'user_id' => $order_info['resource_id']
]);
}
} }
} }

8
niucloud/app/validate/student/Student.php

@ -20,24 +20,24 @@ class Student extends BaseValidate
{ {
protected $rule = [ protected $rule = [
'class_id' => 'require',
'user_id' => 'require', 'user_id' => 'require',
'class_id' => 'require',
'name' => 'require', 'name' => 'require',
'gender' => 'require', 'gender' => 'require',
'status' => 'require', 'status' => 'require',
]; ];
protected $message = [ protected $message = [
'class_id.require' => ['common_validate.require', ['class_id']],
'user_id.require' => ['common_validate.require', ['user_id']], 'user_id.require' => ['common_validate.require', ['user_id']],
'class_id.require' => ['common_validate.require', ['class_id']],
'name.require' => ['common_validate.require', ['name']], 'name.require' => ['common_validate.require', ['name']],
'gender.require' => ['common_validate.require', ['gender']], 'gender.require' => ['common_validate.require', ['gender']],
'status.require' => ['common_validate.require', ['status']], 'status.require' => ['common_validate.require', ['status']],
]; ];
protected $scene = [ protected $scene = [
"add" => ['campus_id', 'class_id', 'user_id', 'name', 'gender', 'age', 'birthday', 'emergency_contact', 'contact_phone', 'note', 'status'], "add" => ['user_id', 'campus_id', 'class_id', 'name', 'gender', 'age', 'birthday', 'emergency_contact', 'contact_phone', 'note', 'status'],
"edit" => ['campus_id', 'class_id', 'user_id', 'name', 'gender', 'age', 'birthday', 'emergency_contact', 'contact_phone', 'note', 'status'] "edit" => ['user_id', 'campus_id', 'class_id', 'name', 'gender', 'age', 'birthday', 'emergency_contact', 'contact_phone', 'note', 'status']
]; ];
} }

Loading…
Cancel
Save