Browse Source

修改 bug

master
王泽彦 8 months ago
parent
commit
f189d7ab89
  1. 2
      niucloud/app/service/api/apiService/CustomerResourcesService.php
  2. 47
      niucloud/app/service/api/student/AttendanceService.php
  3. 13
      uniapp/pages-market/clue/class_arrangement_detail.vue

2
niucloud/app/service/api/apiService/CustomerResourcesService.php

@ -1008,6 +1008,7 @@ class CustomerResourcesService extends BaseApiService
's.headimg', 's.headimg',
's.first_come', 's.first_come',
's.second_come', 's.second_come',
's.user_id as resource_id',
'sc.id as student_course_id', 'sc.id as student_course_id',
'sc.total_hours', 'sc.total_hours',
'sc.use_total_hours', 'sc.use_total_hours',
@ -1067,6 +1068,7 @@ class CustomerResourcesService extends BaseApiService
'headimg' => $student['headimg'], 'headimg' => $student['headimg'],
'first_come' => $student['first_come'], 'first_come' => $student['first_come'],
'second_come' => $student['second_come'], 'second_come' => $student['second_come'],
'resource_id' => intval($student['resource_id'] ?: 0), // 客户资源表ID
'person_type' => 'student', // 标识为学员类型 'person_type' => 'student', // 标识为学员类型
'courseStatus' => $isTrialStudent ? '体验课' : '正式课', 'courseStatus' => $isTrialStudent ? '体验课' : '正式课',
'isTrialStudent' => $isTrialStudent, 'isTrialStudent' => $isTrialStudent,

47
niucloud/app/service/api/student/AttendanceService.php

@ -178,10 +178,10 @@ class AttendanceService extends BaseApiService
$current_time = time(); $current_time = time();
// 更新到校时间逻辑 // 更新到校时间逻辑
if (empty($student['first_come'])) { if (empty($student['first_come']) || $student['first_come'] == '0000-00-00 00:00:00') {
$updateData['first_come'] = $current_time; $updateData['first_come'] = date('Y-m-d H:i:s', $current_time);
} else if (empty($student['second_come'])) { } else if (empty($student['second_come']) || $student['second_come'] == '0000-00-00 00:00:00') {
$updateData['second_come'] = $current_time; $updateData['second_come'] = date('Y-m-d H:i:s', $current_time);
} }
// 扣减体验课次数 // 扣减体验课次数
@ -387,16 +387,41 @@ class AttendanceService extends BaseApiService
*/ */
private function handleCustomerResourceCheckin($schedule) private function handleCustomerResourceCheckin($schedule)
{ {
// 客户资源签到只需要更新状态,不涉及课时扣除 // 客户资源签到,需要检查是否为体验课学员并更新相关字段
// 状态已经在主流程中更新了,这里可以记录签到日志或其他业务逻辑 $student_id = $schedule['student_id'];
$current_time = time();
// 可以在这里添加客户资源的特殊处理逻辑 if (!empty($student_id)) {
// 比如记录体验课次数、更新客户跟进状态等 // 查询学员信息
$student = (new SchoolStudent())
->where('id', $student_id)
->find();
$current_time = time(); if ($student) {
$updateData = [];
// 如果需要更新客户资源相关信息,可以在这里添加 // 更新到校时间逻辑
// 例如:更新体验课次数、最后上课时间等 if (empty($student['first_come']) || $student['first_come'] == '0000-00-00 00:00:00') {
$updateData['first_come'] = date('Y-m-d H:i:s', $current_time);
} else if (empty($student['second_come']) || $student['second_come'] == '0000-00-00 00:00:00') {
$updateData['second_come'] = date('Y-m-d H:i:s', $current_time);
}
// 扣减体验课次数
$trial_class_count = $student['trial_class_count'] ?: 0;
if ($trial_class_count > 0) {
$updateData['trial_class_count'] = $trial_class_count - 1;
}
if (!empty($updateData)) {
$updateData['updated_at'] = date('Y-m-d H:i:s');
$student->save($updateData);
}
// 插入消课记录(体验课也需要记录)
$this->insertUsageRecord(0, $student_id, 1, $schedule);
}
}
return true; return true;
} }

13
uniapp/pages-market/clue/class_arrangement_detail.vue

@ -320,7 +320,8 @@
phone: studentData.phone_number || '待获取', phone: studentData.phone_number || '待获取',
age: studentData.age || null, age: studentData.age || null,
member_id: studentData.user_id || this.student_id, member_id: studentData.user_id || this.student_id,
resource_id: studentData.resource_id || this.resource_id, student_id: studentData.student_id || this.student_id, // ID
resource_id: studentData.resource_id || this.resource_id, // ID
is_formal_student: studentData.is_formal_student || false, is_formal_student: studentData.is_formal_student || false,
course_info: studentData.course_info || [], course_info: studentData.course_info || [],
student_course_id: studentData.student_course_id || null student_course_id: studentData.student_course_id || null
@ -350,7 +351,8 @@
phone: '待获取', phone: '待获取',
age: null, age: null,
member_id: this.student_id, member_id: this.student_id,
resource_id: this.resource_id, student_id: this.student_id, // ID
resource_id: this.resource_id, // ID
is_formal_student: false, is_formal_student: false,
course_info: [], course_info: [],
student_course_id: null student_course_id: null
@ -436,7 +438,8 @@
phone: student.phone_number, phone: student.phone_number,
age: student.age, age: student.age,
member_id: student.member_id, member_id: student.member_id,
resource_id: student.id, student_id: student.student_id || student.id, // ID
resource_id: student.resource_id || 0, // ID0
is_formal_student: student.is_formal_student || false, is_formal_student: student.is_formal_student || false,
course_info: student.course_info || [] course_info: student.course_info || []
})); }));
@ -514,7 +517,7 @@
// //
const data = { const data = {
'resources_id': this.selectedStudent.resource_id || this.resource_id, 'resources_id': this.selectedStudent.resource_id || this.resource_id || 0,
'person_type': 'customer_resource', 'person_type': 'customer_resource',
'schedule_id': this.course_id, 'schedule_id': this.course_id,
'course_date': this.schedule_info.course_date, 'course_date': this.schedule_info.course_date,
@ -523,7 +526,7 @@
'schedule_type': this.currentSlot.type === 'waiting' ? 2 : 1, 'schedule_type': this.currentSlot.type === 'waiting' ? 2 : 1,
'course_type': this.currentSlot.type === 'waiting' ? 3 : parseInt(this.courseArrangement), 'course_type': this.currentSlot.type === 'waiting' ? 3 : parseInt(this.courseArrangement),
'remark': this.remarks, 'remark': this.remarks,
'student_id': this.selectedStudent.member_id, 'student_id': this.selectedStudent.student_id || this.selectedStudent.id,
}; };
try { try {

Loading…
Cancel
Save