于宏哲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(){
$data = $this->request->params([
["user_id",0],
["campus_id",0],
["class_id",0],
["user_id",0],
["name",""],
["gender",0],
["age",0.00],
["birthday","2025-05-23 17:31:39"],
["birthday","2025-05-26 16:25:55"],
["emergency_contact",""],
["contact_phone",""],
["note",""],
@ -77,13 +77,13 @@ class Student extends BaseAdminController
*/
public function edit(int $id){
$data = $this->request->params([
["user_id",0],
["campus_id",0],
["class_id",0],
["user_id",0],
["name",""],
["gender",0],
["age",0.00],
["birthday","2025-05-23 17:31:39"],
["birthday","2025-05-26 16:25:55"],
["emergency_contact",""],
["contact_phone",""],
["note",""],
@ -106,6 +106,10 @@ class Student extends BaseAdminController
}
public function getCustomerResourcesAll(){
return success(( new StudentService())->getCustomerResourcesAll());
}
public function getCampusAll(){
return success(( new StudentService())->getCampusAll());
}
@ -114,8 +118,4 @@ class Student extends BaseAdminController
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\AdminLog;
// USER_CODE_BEGIN -- student
Route::group('student', function () {
@ -30,12 +31,12 @@ Route::group('student', function () {
//删除学员
Route::delete('student/:id', 'student.Student/del');
Route::get('customer_resources_all','student.Student/getCustomerResourcesAll');
Route::get('campus_all','student.Student/getCampusAll');
Route::get('class_grade_all','student.Student/getClassGradeAll');
Route::get('member_all','student.Student/getMemberAll');
})->middleware([
AdminCheckToken::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\HasOne;
use app\model\customer_resources\CustomerResources;
use app\model\campus\Campus;
use app\model\class_grade\ClassGrade;
use app\model\member\Member;
/**
* 学员模型
* 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(){
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']);
}
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;
use app\model\student\Student;
use app\model\customer_resources\CustomerResources;
use app\model\campus\Campus;
use app\model\class_grade\ClassGrade;
use app\model\member\Member;
use core\base\BaseAdminService;
@ -39,10 +39,10 @@ class StudentService extends BaseAdminService
*/
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';
$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);
return $list;
}
@ -54,9 +54,9 @@ class StudentService extends BaseAdminService
*/
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;
}
@ -98,6 +98,11 @@ class StudentService extends BaseAdminService
}
public function getCustomerResourcesAll(){
$customerResourcesModel = new CustomerResources();
return $customerResourcesModel->select()->toArray();
}
public function getCampusAll(){
$campusModel = new Campus();
return $campusModel->select()->toArray();
@ -108,10 +113,5 @@ class StudentService extends BaseAdminService
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\pay\PayDict;
use app\dict\pay\PaySceneDict;
use app\model\customer_resources\CustomerResources;
use app\model\member\Member;
use app\model\order_table\OrderTable;
use app\model\pay\Pay;
use app\model\student\Student;
use app\model\sys\Poster;
use app\service\core\member\CoreMemberService;
use app\service\core\pay\CorePayService;
@ -163,7 +165,9 @@ class PayService extends BaseApiService
public function qrcodeNotify($data,$order_id)
{
$student = new Student();
$order = new OrderTable();
$cust = new CustomerResources();
$order_info = $order->where(['id' => $order_id])->find();
if($order_info['order_status'] == 'pending' and !empty($order_info['ipv3'])){
$resource = $data['resource'];
@ -176,6 +180,24 @@ class PayService extends BaseApiService
$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_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 = [
'class_id' => 'require',
'user_id' => 'require',
'class_id' => 'require',
'name' => 'require',
'gender' => 'require',
'status' => 'require',
];
protected $message = [
'class_id.require' => ['common_validate.require', ['class_id']],
'user_id.require' => ['common_validate.require', ['user_id']],
'class_id.require' => ['common_validate.require', ['class_id']],
'name.require' => ['common_validate.require', ['name']],
'gender.require' => ['common_validate.require', ['gender']],
'status.require' => ['common_validate.require', ['status']],
];
protected $scene = [
"add" => ['campus_id', 'class_id', 'user_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']
"add" => ['user_id', 'campus_id', 'class_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