增加学员修改逻辑

This commit is contained in:
buliping committed 2026-09-28 17:07:58 +08:00
1 parent 9d6689569c
commit ad533c55fb
5 files changed
+165 -7

No files matched your search

@@ -1,15 +1,13 @@
package com.ruoyi.web.controller.train;
import java.util.List;
import java.util.regex.Pattern;
import javax.validation.Valid;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.train.domain.TrainTeacher;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.HttpStatus;
@@ -18,6 +16,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.train.domain.dto.StudentCreateDTO;
import com.ruoyi.train.domain.dto.StudentUpdateDTO;
import com.ruoyi.train.domain.query.StudentQuery;
import com.ruoyi.train.domain.vo.StudentAdminVO;
import com.ruoyi.train.domain.vo.StudentDetailVO;
@@ -30,6 +29,8 @@ import com.ruoyi.web.service.train.TrainAccountBindingAdminService;
@RequestMapping({"/train/student", "/train/students"})
public class TrainStudentController extends BaseController
{
private static final Pattern PHONE_PATTERN = Pattern.compile("^1[3-9]\\d{9}$");
private final ITrainStudentService trainStudentService;
private final TrainAccountBindingAdminService bindingAdminService;
@@ -76,6 +77,27 @@ public class TrainStudentController extends BaseController
return success(trainStudentService.createStudent(dto));
}
/**
* 修改学员信息 (PUT /train/student/{sId})
*/
@PreAuthorize("@ss.hasPermi('train:student:edit')")
@Log(title = "学员主档", businessType = BusinessType.UPDATE,
isSaveRequestData = false, isSaveResponseData = true)
@PutMapping(value = "/{sId}")
public AjaxResult edit(@PathVariable("sId") String sId, @Valid @RequestBody StudentUpdateDTO dto)
{
dto.setsId(sId);
if (StringUtils.isNotEmpty(dto.getsName()) && dto.getsName().trim().length() > 50)
{
return AjaxResult.error("学员姓名长度不能超过50个字符");
}
if (StringUtils.isNotEmpty(dto.getsPhone()) && !isValidPhone(dto.getsPhone()))
{
return AjaxResult.error("学员手机号码格式不正确");
}
return success(trainStudentService.updateTrainStudent(dto));
}
@PreAuthorize("@ss.hasPermi('train:student:remove')")
@Log(title = "学员主档", businessType = BusinessType.DELETE)
@DeleteMapping("/{sId}")
@@ -83,4 +105,9 @@ public class TrainStudentController extends BaseController
{
return toAjax(trainStudentService.deleteTrainStudentBySId(sId));
}
private boolean isValidPhone(String phone)
{
return PHONE_PATTERN.matcher(phone).matches();
}
}