JWT修复 #69

Merged
hnu202326010122 merged 1 commits from jingyou_branch into develop 1 month ago

@ -26,6 +26,9 @@ public class RegisterRequest {
private String adminId;
private String role; // 新增管理员角色super_admin/area_admin/viewer
// 维修人员特有字段
// 维修人员特有字段(新增基本信息字段)
private String repairmanId;
private String repairmanName; // 维修人员姓名
private String areaId; // 负责区域ID
private String skills; // 技能描述
}

@ -2,10 +2,12 @@ package com.campus.water.service;
import com.campus.water.entity.Admin;
import com.campus.water.entity.RepairerAuth;
import com.campus.water.entity.Repairman;
import com.campus.water.entity.User;
import com.campus.water.entity.dto.request.RegisterRequest;
import com.campus.water.mapper.AdminRepository;
import com.campus.water.mapper.RepairerAuthRepository;
import com.campus.water.mapper.RepairmanRepository;
import com.campus.water.mapper.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
@ -25,6 +27,10 @@ public class RegisterService {
@Autowired
private RepairerAuthRepository repairerAuthRepository;
// 新增注入RepairmanRepository
@Autowired
private RepairmanRepository repairmanRepository;
@Autowired
private PasswordEncoder passwordEncoder;
@ -64,7 +70,7 @@ public class RegisterService {
Admin admin = new Admin();
admin.setAdminId(request.getAdminId());
admin.setAdminName(username);
admin.setPassword(password); // 使用BCrypt加密后的密码
admin.setPassword(password);
admin.setPhone(request.getPhone());
admin.setRole(Admin.AdminRole.valueOf("ROLE_" + request.getRole().toUpperCase()));
admin.setCreatedTime(LocalDateTime.now());
@ -92,6 +98,7 @@ public class RegisterService {
}
private void handleRepairmanRegister(String username, String password, RegisterRequest request) {
// 1. 校验维修人员认证信息唯一性
if (repairerAuthRepository.existsByUsername(username)) {
throw new RuntimeException("维修人员用户名已存在");
}
@ -99,12 +106,22 @@ public class RegisterService {
throw new RuntimeException("维修人员ID已被注册");
}
RepairerAuth repairman = new RepairerAuth();
repairman.setUsername(username);
repairman.setPassword(password);// 使用BCrypt加密后的密码
repairman.setRepairmanId(request.getRepairmanId());
repairman.setAccountStatus(RepairerAuth.AccountStatus.active);
repairerAuthRepository.save(repairman);
// 2. 保存维修人员认证信息RepairerAuth表
RepairerAuth repairerAuth = new RepairerAuth();
repairerAuth.setUsername(username);
repairerAuth.setPassword(password);
repairerAuth.setRepairmanId(request.getRepairmanId());
repairerAuth.setAccountStatus(RepairerAuth.AccountStatus.active);
repairerAuthRepository.save(repairerAuth);
// 3. 保存维修人员基本信息Repairman表
Repairman repairman = new Repairman();
repairman.setRepairmanId(request.getRepairmanId()); // 与认证表关联的ID
repairman.setRepairmanName(request.getRepairmanName()); // 从请求获取姓名
repairman.setPhone(request.getPhone()); // 从请求获取手机号
repairman.setAreaId(request.getAreaId()); // 从请求获取负责区域
repairman.setSkills(request.getSkills()); // 从请求获取技能描述
// 其他字段使用默认值状态默认idle工作量默认0评分默认null
repairmanRepository.save(repairman);
}
}
Loading…
Cancel
Save