diff --git a/src/main/java/co/jp/app/controller/loginController.java b/src/main/java/co/jp/app/controller/LoginController.java similarity index 85% rename from src/main/java/co/jp/app/controller/loginController.java rename to src/main/java/co/jp/app/controller/LoginController.java index 156d326..772ae55 100644 --- a/src/main/java/co/jp/app/controller/loginController.java +++ b/src/main/java/co/jp/app/controller/LoginController.java @@ -7,19 +7,19 @@ import org.springframework.web.bind.annotation.RestController; import co.jp.app.entity.ErrorEntity; import co.jp.app.entity.UserEntity; -import co.jp.app.service.erraService; -import co.jp.app.service.userService; +import co.jp.app.service.ErraService; +import co.jp.app.service.UserService; @CrossOrigin("http://192.168.1.50:5173") @RestController("/api/login") -public class loginController { +public class LoginController { @Autowired - private userService userService; + private UserService userService; @Autowired - private erraService erraService; + private ErraService erraService; @GetMapping("/status") public String getStatusByNameOrEmail() { diff --git a/src/main/java/co/jp/app/controller/uploadController.java b/src/main/java/co/jp/app/controller/UploadController.java similarity index 84% rename from src/main/java/co/jp/app/controller/uploadController.java rename to src/main/java/co/jp/app/controller/UploadController.java index f3550d7..c76027a 100644 --- a/src/main/java/co/jp/app/controller/uploadController.java +++ b/src/main/java/co/jp/app/controller/UploadController.java @@ -9,14 +9,14 @@ import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import co.jp.app.entity.PetEntity; -import co.jp.app.service.uploadService; +import co.jp.app.service.UploadService; @CrossOrigin("http://192.168.1.50:5173") @Controller -public class uploadController { +public class UploadController { @Autowired - private uploadService service; + private UploadService service; @PostMapping("/api/dogs/upload") public String upload() { diff --git a/src/main/java/co/jp/app/entity/ErrorEntity.java b/src/main/java/co/jp/app/entity/ErrorEntity.java index 46d20b1..8ea8bb3 100644 --- a/src/main/java/co/jp/app/entity/ErrorEntity.java +++ b/src/main/java/co/jp/app/entity/ErrorEntity.java @@ -31,6 +31,4 @@ public void setStatus(String status) { this.status = status; } - - } diff --git a/src/main/java/co/jp/app/entity/PetEntity.java b/src/main/java/co/jp/app/entity/PetEntity.java index 8fc7339..8b8f9ed 100644 --- a/src/main/java/co/jp/app/entity/PetEntity.java +++ b/src/main/java/co/jp/app/entity/PetEntity.java @@ -10,8 +10,8 @@ import jakarta.persistence.Table; public class PetEntity{ @GeneratedValue(strategy = GenerationType.IDENTITY) -@Id -private int ID; + @Id + private int ID; //犬の名前 private String name; //犬の種類 diff --git a/src/main/java/co/jp/app/entity/UserEntity.java b/src/main/java/co/jp/app/entity/UserEntity.java index fc8018a..14525e8 100644 --- a/src/main/java/co/jp/app/entity/UserEntity.java +++ b/src/main/java/co/jp/app/entity/UserEntity.java @@ -11,6 +11,7 @@ public class UserEntity { @GeneratedValue(strategy = GenerationType.IDENTITY) @Id private int ID; + private String name; private String email; diff --git a/src/main/java/co/jp/app/repository/erraRepository.java b/src/main/java/co/jp/app/repository/ErraRepository.java similarity index 81% rename from src/main/java/co/jp/app/repository/erraRepository.java rename to src/main/java/co/jp/app/repository/ErraRepository.java index 2578e5a..5c18baf 100644 --- a/src/main/java/co/jp/app/repository/erraRepository.java +++ b/src/main/java/co/jp/app/repository/ErraRepository.java @@ -7,7 +7,7 @@ import org.springframework.data.repository.query.Param; import co.jp.app.entity.ErrorEntity; -public interface erraRepository extends JpaRepository{ +public interface ErraRepository extends JpaRepository{ public default ErrorEntity getById(@Param("id") int id) { return getById(id); diff --git a/src/main/java/co/jp/app/repository/uploadRepository.java b/src/main/java/co/jp/app/repository/UploadRepository.java similarity index 84% rename from src/main/java/co/jp/app/repository/uploadRepository.java rename to src/main/java/co/jp/app/repository/UploadRepository.java index ad55b0e..e809207 100644 --- a/src/main/java/co/jp/app/repository/uploadRepository.java +++ b/src/main/java/co/jp/app/repository/UploadRepository.java @@ -6,7 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import co.jp.app.entity.PetEntity; -public interface uploadRepository extends JpaRepository{ +public interface UploadRepository extends JpaRepository{ @Override default List saveAll(Iterable entities) { diff --git a/src/main/java/co/jp/app/repository/UserRepository.java b/src/main/java/co/jp/app/repository/UserRepository.java new file mode 100644 index 0000000..973aa7a --- /dev/null +++ b/src/main/java/co/jp/app/repository/UserRepository.java @@ -0,0 +1,16 @@ +package co.jp.app.repository; + + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.repository.query.Param; + +import co.jp.app.entity.UserEntity; +import org.springframework.stereotype.Repository; + +@Repository +public interface UserRepository extends JpaRepository { + + UserEntity getUserByEmail(@Param("email") String email); + + +} \ No newline at end of file diff --git a/src/main/java/co/jp/app/repository/userRepository.java b/src/main/java/co/jp/app/repository/userRepository.java deleted file mode 100644 index 8c89ccd..0000000 --- a/src/main/java/co/jp/app/repository/userRepository.java +++ /dev/null @@ -1,18 +0,0 @@ -package co.jp.app.repository; - - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.repository.query.Param; - -import co.jp.app.entity.UserEntity; - -public interface userRepository extends JpaRepository { - - public default UserEntity getByName(@Param("name") String name) { - return getByName(name); - } - - public default UserEntity getByEmail(@Param("email")String email) { - return getByEmail(email); - } -} diff --git a/src/main/java/co/jp/app/service/erraService.java b/src/main/java/co/jp/app/service/ErraService.java similarity index 92% rename from src/main/java/co/jp/app/service/erraService.java rename to src/main/java/co/jp/app/service/ErraService.java index a8d57a1..aa267fb 100644 --- a/src/main/java/co/jp/app/service/erraService.java +++ b/src/main/java/co/jp/app/service/ErraService.java @@ -8,7 +8,7 @@ import co.jp.app.repository.erraRepository; @Service -public class erraService { +public class ErraService { @Autowired erraRepository erraDao; diff --git a/src/main/java/co/jp/app/service/uploadService.java b/src/main/java/co/jp/app/service/UploadService.java similarity index 74% rename from src/main/java/co/jp/app/service/uploadService.java rename to src/main/java/co/jp/app/service/UploadService.java index cd14bdc..d1fd207 100644 --- a/src/main/java/co/jp/app/service/uploadService.java +++ b/src/main/java/co/jp/app/service/UploadService.java @@ -6,13 +6,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import co.jp.app.entity.PetEntity; -import co.jp.app.repository.uploadRepository; +import co.jp.app.repository.UploadRepository; @Service -public class uploadService { +public class UploadService { @Autowired - private uploadRepository uploadDao; + private UploadRepository uploadDao; public List saveAll(Iterable entities) { diff --git a/src/main/java/co/jp/app/service/UserService.java b/src/main/java/co/jp/app/service/UserService.java new file mode 100644 index 0000000..d060899 --- /dev/null +++ b/src/main/java/co/jp/app/service/UserService.java @@ -0,0 +1,51 @@ +package co.jp.app.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import co.jp.app.entity.UserEntity; +import co.jp.app.repository.UserRepository; + + +@Service +public class UserService { + + private final UserRepository userEntityRepository; + // private final PasswordEncoder passwordEncoder; // 注入密码编码器 + + @Autowired + public UserService(UserRepository userEntityRepository /*, PasswordEncoder passwordEncoder */) { + this.userEntityRepository = userEntityRepository; + // this.passwordEncoder = passwordEncoder; + } + + @Transactional // 整个注册过程应该是一个事务 + public UserEntity registerNewUser(String name, String email, String rawPassword) throws Exception { + // 1. 检查邮箱是否已被注册 + if (userEntityRepository.existsByEmail(email)) { + throw new Exception("错误:该邮箱地址已被注册!"); // 或者自定义异常 + } + + // (可选) 检查用户名是否已被注册 (如果您有用户名字段) + // if (userEntityRepository.existsByUsername(username)) { + // throw new Exception("错误:该用户名已被注册!"); + // } + + // 2. 创建新的 UserEntity 对象 + UserEntity newUser = new UserEntity(); + newUser.setName(name); + newUser.setEmail(email); + + // 3. 对密码进行哈希加密 (非常重要!) + // String hashedPassword = passwordEncoder.encode(rawPassword); + // newUser.setPassword(hashedPassword); + newUser.setPassword(rawPassword); // 实际项目中必须加密!这里为了简化先直接赋值 + + // 4. 设置其他默认属性,例如账户状态、角色等 (如果需要) + // newUser.setActive(true); + // newUser.setRoles(...); + + // 5. 保存新用户到数据库 + return userEntityRepository.save(newUser); + } +} diff --git a/src/main/java/co/jp/app/service/userService.java b/src/main/java/co/jp/app/service/userService.java deleted file mode 100644 index a2f4797..0000000 --- a/src/main/java/co/jp/app/service/userService.java +++ /dev/null @@ -1,25 +0,0 @@ -package co.jp.app.service; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import co.jp.app.entity.UserEntity; -import co.jp.app.repository.userRepository; - - -@Service -public class userService { - - @Autowired - userRepository userdao; - - public UserEntity getNameByEntity(String name) { - return userdao.getByName(name); - - } - - public UserEntity getEmailByEntity(String email) { - return userdao.getByEmail(email); - - } -} diff --git a/target/classes/co/jp/app/Dog1Application.class b/target/classes/co/jp/app/Dog1Application.class index 30bb284..afb8abe 100644 Binary files a/target/classes/co/jp/app/Dog1Application.class and b/target/classes/co/jp/app/Dog1Application.class differ diff --git a/target/classes/co/jp/app/controller/PetController.class b/target/classes/co/jp/app/controller/PetController.class index f21b7c2..f48a338 100644 Binary files a/target/classes/co/jp/app/controller/PetController.class and b/target/classes/co/jp/app/controller/PetController.class differ diff --git a/target/classes/co/jp/app/controller/loginController.class b/target/classes/co/jp/app/controller/loginController.class index ad19f38..44f94d4 100644 Binary files a/target/classes/co/jp/app/controller/loginController.class and b/target/classes/co/jp/app/controller/loginController.class differ diff --git a/target/classes/co/jp/app/controller/uploadController.class b/target/classes/co/jp/app/controller/uploadController.class index 942480a..936a46c 100644 Binary files a/target/classes/co/jp/app/controller/uploadController.class and b/target/classes/co/jp/app/controller/uploadController.class differ diff --git a/target/classes/co/jp/app/entity/ErrorEntity.class b/target/classes/co/jp/app/entity/ErrorEntity.class index 0b00d1c..eccb95c 100644 Binary files a/target/classes/co/jp/app/entity/ErrorEntity.class and b/target/classes/co/jp/app/entity/ErrorEntity.class differ diff --git a/target/classes/co/jp/app/entity/PetEntity.class b/target/classes/co/jp/app/entity/PetEntity.class index d110b1e..9e8e0e9 100644 Binary files a/target/classes/co/jp/app/entity/PetEntity.class and b/target/classes/co/jp/app/entity/PetEntity.class differ diff --git a/target/classes/co/jp/app/entity/UserEntity.class b/target/classes/co/jp/app/entity/UserEntity.class index 9a3ccf3..814609f 100644 Binary files a/target/classes/co/jp/app/entity/UserEntity.class and b/target/classes/co/jp/app/entity/UserEntity.class differ diff --git a/target/classes/co/jp/app/repository/PetRepository.class b/target/classes/co/jp/app/repository/PetRepository.class index 7b03a44..4138eb6 100644 Binary files a/target/classes/co/jp/app/repository/PetRepository.class and b/target/classes/co/jp/app/repository/PetRepository.class differ diff --git a/target/classes/co/jp/app/repository/erraRepository.class b/target/classes/co/jp/app/repository/erraRepository.class index 0bbdbf2..5e92a19 100644 Binary files a/target/classes/co/jp/app/repository/erraRepository.class and b/target/classes/co/jp/app/repository/erraRepository.class differ diff --git a/target/classes/co/jp/app/repository/uploadRepository.class b/target/classes/co/jp/app/repository/uploadRepository.class index eb9eb15..562f6ae 100644 Binary files a/target/classes/co/jp/app/repository/uploadRepository.class and b/target/classes/co/jp/app/repository/uploadRepository.class differ diff --git a/target/classes/co/jp/app/repository/userRepository.class b/target/classes/co/jp/app/repository/userRepository.class index 57a25b5..cd1a98c 100644 Binary files a/target/classes/co/jp/app/repository/userRepository.class and b/target/classes/co/jp/app/repository/userRepository.class differ diff --git a/target/classes/co/jp/app/service/PetService.class b/target/classes/co/jp/app/service/PetService.class index b31b3cf..19c59c8 100644 Binary files a/target/classes/co/jp/app/service/PetService.class and b/target/classes/co/jp/app/service/PetService.class differ diff --git a/target/classes/co/jp/app/service/erraService.class b/target/classes/co/jp/app/service/erraService.class index 36f4267..0ff8c60 100644 Binary files a/target/classes/co/jp/app/service/erraService.class and b/target/classes/co/jp/app/service/erraService.class differ diff --git a/target/classes/co/jp/app/service/uploadService.class b/target/classes/co/jp/app/service/uploadService.class index b6720fc..354dca0 100644 Binary files a/target/classes/co/jp/app/service/uploadService.class and b/target/classes/co/jp/app/service/uploadService.class differ diff --git a/target/classes/co/jp/app/service/userService.class b/target/classes/co/jp/app/service/userService.class index e58eefa..9a0337a 100644 Binary files a/target/classes/co/jp/app/service/userService.class and b/target/classes/co/jp/app/service/userService.class differ