From 0b4fa3b6f740c2c9111490a79b7b52f76030805e Mon Sep 17 00:00:00 2001 From: monjack Date: Wed, 8 Jan 2025 19:04:13 +0800 Subject: [PATCH] init --- .gitignore | 33 +++++ pom.xml | 81 ++++++++++ src/main/java/BasicController.java | 67 +++++++++ src/main/java/PathVariableController.java | 44 ++++++ src/main/java/User.java | 43 ++++++ .../org/example/app_sb/AppSbApplication.java | 13 ++ .../app_sb/controller/ApiController.java | 21 +++ .../app_sb/controller/HealthController.java | 35 +++++ .../app_sb/controller/UserController.java | 139 ++++++++++++++++++ .../org/example/app_sb/entity/Person.java | 65 ++++++++ .../example/app_sb/entity/PersonHealth.java | 60 ++++++++ .../java/org/example/app_sb/entity/User.java | 39 +++++ .../repository/PersonHealthRepository.java | 10 ++ .../app_sb/repository/PersonRepository.java | 7 + .../app_sb/repository/UserRepository.java | 8 + .../example/app_sb/service/HealthService.java | 48 ++++++ .../example/app_sb/service/UserService.java | 87 +++++++++++ src/main/resources/application.properties | 9 ++ src/main/resources/static/index.html | 6 + .../example/app_sb/AppSbApplicationTests.java | 13 ++ 20 files changed, 828 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/BasicController.java create mode 100644 src/main/java/PathVariableController.java create mode 100644 src/main/java/User.java create mode 100644 src/main/java/org/example/app_sb/AppSbApplication.java create mode 100644 src/main/java/org/example/app_sb/controller/ApiController.java create mode 100644 src/main/java/org/example/app_sb/controller/HealthController.java create mode 100644 src/main/java/org/example/app_sb/controller/UserController.java create mode 100644 src/main/java/org/example/app_sb/entity/Person.java create mode 100644 src/main/java/org/example/app_sb/entity/PersonHealth.java create mode 100644 src/main/java/org/example/app_sb/entity/User.java create mode 100644 src/main/java/org/example/app_sb/repository/PersonHealthRepository.java create mode 100644 src/main/java/org/example/app_sb/repository/PersonRepository.java create mode 100644 src/main/java/org/example/app_sb/repository/UserRepository.java create mode 100644 src/main/java/org/example/app_sb/service/HealthService.java create mode 100644 src/main/java/org/example/app_sb/service/UserService.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/static/index.html create mode 100644 src/test/java/org/example/app_sb/AppSbApplicationTests.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..67ce668 --- /dev/null +++ b/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + org.example + app_sb + 0.0.1-SNAPSHOT + app_sb + app_sb + + 1.8 + UTF-8 + UTF-8 + 2.6.13 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.mysql + mysql-connector-j + runtime + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + UTF-8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + org.example.app_sb.AppSbApplication + true + + + + repackage + + repackage + + + + + + + + diff --git a/src/main/java/BasicController.java b/src/main/java/BasicController.java new file mode 100644 index 0000000..b56ec48 --- /dev/null +++ b/src/main/java/BasicController.java @@ -0,0 +1,67 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.example.app_sb.demos.web; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author theonefx + */ +@Controller +public class BasicController { + + // http://127.0.0.1:8080/hello?name=lisi + @RequestMapping("/hello") + @ResponseBody + public String hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) { + return "Hello " + name; + } + + // http://127.0.0.1:8080/user + @RequestMapping("/user") + @ResponseBody + public User user() { + User user = new User(); + user.setName("theonefx"); + user.setAge(666); + return user; + } + + // http://127.0.0.1:8080/save_user?name=newName&age=11 + @RequestMapping("/save_user") + @ResponseBody + public String saveUser(User u) { + return "user will save: name=" + u.getName() + ", age=" + u.getAge(); + } + + // http://127.0.0.1:8080/html + @RequestMapping("/html") + public String html() { + return "index.html"; + } + + @ModelAttribute + public void parseUser(@RequestParam(name = "name", defaultValue = "unknown user") String name + , @RequestParam(name = "age", defaultValue = "12") Integer age, User user) { + user.setName("zhangsan"); + user.setAge(18); + } +} diff --git a/src/main/java/PathVariableController.java b/src/main/java/PathVariableController.java new file mode 100644 index 0000000..b5652f0 --- /dev/null +++ b/src/main/java/PathVariableController.java @@ -0,0 +1,44 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.example.app_sb.demos.web; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author theonefx + */ +@Controller +public class PathVariableController { + + // http://127.0.0.1:8080/user/123/roles/222 + @RequestMapping(value = "/user/{userId}/roles/{roleId}", method = RequestMethod.GET) + @ResponseBody + public String getLogin(@PathVariable("userId") String userId, @PathVariable("roleId") String roleId) { + return "User Id : " + userId + " Role Id : " + roleId; + } + + // http://127.0.0.1:8080/javabeat/somewords + @RequestMapping(value = "/javabeat/{regexp1:[a-z-]+}", method = RequestMethod.GET) + @ResponseBody + public String getRegExp(@PathVariable("regexp1") String regexp1) { + return "URI Part : " + regexp1; + } +} diff --git a/src/main/java/User.java b/src/main/java/User.java new file mode 100644 index 0000000..ef94368 --- /dev/null +++ b/src/main/java/User.java @@ -0,0 +1,43 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.example.app_sb.demos.web; + +/** + * @author theonefx + */ +public class User { + + private String name; + + private Integer age; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } +} diff --git a/src/main/java/org/example/app_sb/AppSbApplication.java b/src/main/java/org/example/app_sb/AppSbApplication.java new file mode 100644 index 0000000..6f6ef65 --- /dev/null +++ b/src/main/java/org/example/app_sb/AppSbApplication.java @@ -0,0 +1,13 @@ +package org.example.app_sb; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class AppSbApplication { + + public static void main(String[] args) { + SpringApplication.run(AppSbApplication.class, args); + } + +} diff --git a/src/main/java/org/example/app_sb/controller/ApiController.java b/src/main/java/org/example/app_sb/controller/ApiController.java new file mode 100644 index 0000000..77e5863 --- /dev/null +++ b/src/main/java/org/example/app_sb/controller/ApiController.java @@ -0,0 +1,21 @@ +package org.example.app_sb.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ApiController { + + // 实现第一个接口,返回 [spring-boot] + @GetMapping("/api/get_1") + public String get1() { + return "spring-boot"; + } + + // 实现第二个接口,根据参数 name 返回对应值 + @GetMapping("/api/get_2") + public String get2(@RequestParam String name) { + return name; + } +} diff --git a/src/main/java/org/example/app_sb/controller/HealthController.java b/src/main/java/org/example/app_sb/controller/HealthController.java new file mode 100644 index 0000000..4bb15db --- /dev/null +++ b/src/main/java/org/example/app_sb/controller/HealthController.java @@ -0,0 +1,35 @@ +package org.example.app_sb.controller; + +import org.example.app_sb.entity.Person; +import org.example.app_sb.entity.PersonHealth; + +import org.example.app_sb.service.HealthService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HealthController { + @Autowired + private HealthService healthService; + + @GetMapping("/api/ehrSet_805") + public String saveHealthRecord( + @RequestParam String sfz_id, + @RequestParam String name, + @RequestParam String gender, + @RequestParam String emr, + @RequestParam int sbp, + @RequestParam int dbp) { + healthService.saveOrUpdatePerson(sfz_id, name, gender, emr); + healthService.saveHealthData(sfz_id, sbp, dbp); + return name; + } + + @GetMapping("/api/ehrGet_805") + public Object getLatestHealthRecord(@RequestParam String sfz_id) { + PersonHealth record = healthService.getLatestHealthRecord(sfz_id); + return record != null ? record : "未找到健康档案"; + } +} diff --git a/src/main/java/org/example/app_sb/controller/UserController.java b/src/main/java/org/example/app_sb/controller/UserController.java new file mode 100644 index 0000000..e606338 --- /dev/null +++ b/src/main/java/org/example/app_sb/controller/UserController.java @@ -0,0 +1,139 @@ +package org.example.app_sb.controller; + +import org.example.app_sb.entity.User; +import org.example.app_sb.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.DigestUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +@RestController +public class UserController { + @Autowired + private UserService userService; + + @GetMapping("/api/set_803") + public String setUser(@RequestParam String name, @RequestParam String address) { + return userService.setUser(name, address); + } + + @GetMapping("/api/get_803") + public String getUser(@RequestParam String name) { + return userService.getUserAddress(name); + } + + // 注册接口 + @GetMapping("/api/register_803_1") + public String register2( + @RequestParam String name, + @RequestParam String password) { + return userService.register(name, password); + } + + @GetMapping("/api/register_803_2") + public String register( + @RequestParam String name, + @RequestParam String password) { + System.out.println("|***********register_803_2**************|"); + System.out.println(name + " " + password); + System.out.println("|***********register_803_2**************|"); + return userService.register(name, password); + } + + // 登录接口 + @GetMapping("/api/login_803_1") + public String login( + @RequestParam String name, + @RequestParam String password) { + return userService.login(name, password); + } + + // 登录接口 +// @RequestMapping("login_803_2") +// public String login_803_2(User user70Entity, +// HttpServletRequest httpServletRequest){ +// user70Entity.setPassword(DigestUtils.md5DigestAsHex(user70Entity.getPassword().getBytes())); +// //开启session +// HttpSession httpSession=httpServletRequest.getSession(); +// +// if(UserService.login(user70Entity)==1){ +// httpSession.setAttribute("name",user70Entity.getName());//$_SESSION['name'] +// return "登录成功"; +// }else{ +// httpSession.setAttribute("name",""); +// return "登录失败"; +// } +// } +// @GetMapping("/api/login_803_2") +// public String login( +// @RequestParam String name, +// @RequestParam String password, +// HttpSession session) { +// System.out.println("|***********login_803_2**************|"); +// System.out.println(name + " " + password); +// System.out.println(session.getAttribute("name")); +// System.out.println("|***********login_803_2**************|"); +// if (userService.validateLogin(name, password)) { +// session.setAttribute("name", name); +// return "登录成功"; +// } else { +// return "登录失败"; +// } +// } + @GetMapping("/api/login_803_2") + public String login( + @RequestParam String name, + @RequestParam String password, + HttpServletRequest httpServletRequest) { + System.out.println("|***********login_803_2**************|"); + System.out.println(name + " " + password); +// System.out.println(session.getAttribute("name")); + System.out.println("|***********login_803_2**************|"); + //开启session + HttpSession httpSession=httpServletRequest.getSession(); + + if (userService.validateLogin(name, password)) { + httpSession.setAttribute("name", name); + return "登录成功"; + } else { + httpSession.setAttribute("name",""); + return "登录失败"; + } + } + @RequestMapping("api/list_803_2") + public String list_803_2(HttpServletRequest httpServletRequest){ + HttpSession httpSession=httpServletRequest.getSession(); + String returnValue=""; + try{ + returnValue=httpSession.getAttribute("name").toString(); + if (returnValue == "") { + returnValue="未受权,请先登录"; + + } + + }catch (Exception e){ + returnValue="未受权,请先登录"; + } + return returnValue; + } + + // 列表访问接口 +// @RequestMapping("/api/list_803_2") +// public String list(@RequestParam String name, HttpSession session) { +// String loggedInUser = (String) session.getAttribute("name"); +// System.out.println("|***********list_803_2**************|"); +// System.out.println(name + " " + session.getAttribute("name")); +// System.out.println("|***********list_803_2**************|"); +// if (loggedInUser != null && loggedInUser.equals(name)) { +// return loggedInUser; +// } else { +// return "未受权,请先登录"; +// } +// } + +} diff --git a/src/main/java/org/example/app_sb/entity/Person.java b/src/main/java/org/example/app_sb/entity/Person.java new file mode 100644 index 0000000..f9127da --- /dev/null +++ b/src/main/java/org/example/app_sb/entity/Person.java @@ -0,0 +1,65 @@ +package org.example.app_sb.entity; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "person_805") +public class Person { + @Id + private String sfzId; + private String name; + private String gender; + private String emr; + private int createTime; + private int updateTime; + + public String getSfzId() { + return sfzId; + } + + public void setSfzId(String sfzId) { + this.sfzId = sfzId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public String getEmr() { + return emr; + } + + public void setEmr(String emr) { + this.emr = emr; + } + + public int getCreateTime() { + return createTime; + } + + public void setCreateTime(int createTime) { + this.createTime = createTime; + } + + public int getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(int updateTime) { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/org/example/app_sb/entity/PersonHealth.java b/src/main/java/org/example/app_sb/entity/PersonHealth.java new file mode 100644 index 0000000..9b02ead --- /dev/null +++ b/src/main/java/org/example/app_sb/entity/PersonHealth.java @@ -0,0 +1,60 @@ +package org.example.app_sb.entity; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "person_health_805") +public class PersonHealth { + @Id + private String id; + private String sfzId; + private int height; + + private int heartRate; + private int sbp; + private int dbp; + private int createTime; + private int updateTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSfzId() { + return sfzId; + } + + public void setSfzId(String sfzId) { + this.sfzId = sfzId; + } + + public int getSbp() { + return sbp; + } + + public void setSbp(int sbp) { + this.sbp = sbp; + } + + public int getDbp() { + return dbp; + } + + public void setDbp(int dbp) { + this.dbp = dbp; + } + + public int getCreateTime() { + return createTime; + } + + public void setCreateTime(int createTime) { + this.createTime = createTime; + } +} diff --git a/src/main/java/org/example/app_sb/entity/User.java b/src/main/java/org/example/app_sb/entity/User.java new file mode 100644 index 0000000..ec2ca37 --- /dev/null +++ b/src/main/java/org/example/app_sb/entity/User.java @@ -0,0 +1,39 @@ +package org.example.app_sb.entity; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "user_70") +public class User { + @Id + private String name; + private String address; + private String password; + + // Getters and setters + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/main/java/org/example/app_sb/repository/PersonHealthRepository.java b/src/main/java/org/example/app_sb/repository/PersonHealthRepository.java new file mode 100644 index 0000000..d614a4f --- /dev/null +++ b/src/main/java/org/example/app_sb/repository/PersonHealthRepository.java @@ -0,0 +1,10 @@ +package org.example.app_sb.repository; + +import org.example.app_sb.entity.PersonHealth; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface PersonHealthRepository extends JpaRepository { + List findBySfzIdOrderByCreateTimeDesc(String sfzId); +} diff --git a/src/main/java/org/example/app_sb/repository/PersonRepository.java b/src/main/java/org/example/app_sb/repository/PersonRepository.java new file mode 100644 index 0000000..5faba13 --- /dev/null +++ b/src/main/java/org/example/app_sb/repository/PersonRepository.java @@ -0,0 +1,7 @@ +package org.example.app_sb.repository; + +import org.example.app_sb.entity.Person; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface PersonRepository extends JpaRepository { +} diff --git a/src/main/java/org/example/app_sb/repository/UserRepository.java b/src/main/java/org/example/app_sb/repository/UserRepository.java new file mode 100644 index 0000000..f18724e --- /dev/null +++ b/src/main/java/org/example/app_sb/repository/UserRepository.java @@ -0,0 +1,8 @@ +package org.example.app_sb.repository; + +import org.example.app_sb.entity.User; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface UserRepository extends JpaRepository { + User findByName(String name); +} diff --git a/src/main/java/org/example/app_sb/service/HealthService.java b/src/main/java/org/example/app_sb/service/HealthService.java new file mode 100644 index 0000000..fc18047 --- /dev/null +++ b/src/main/java/org/example/app_sb/service/HealthService.java @@ -0,0 +1,48 @@ +package org.example.app_sb.service; + +import org.example.app_sb.entity.Person; +import org.example.app_sb.entity.PersonHealth; +import org.example.app_sb.repository.PersonHealthRepository; +import org.example.app_sb.repository.PersonRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.Instant; +import java.util.Optional; + +@Service +public class HealthService { + @Autowired + private PersonRepository personRepository; + + @Autowired + private PersonHealthRepository personHealthRepository; + + public void saveOrUpdatePerson(String sfzId, String name, String gender, String emr) { + Person person = personRepository.findById(sfzId).orElse(new Person()); + int now = (int) Instant.now().getEpochSecond(); + person.setSfzId(sfzId); + person.setName(name); + person.setGender(gender); + person.setEmr(emr); + person.setUpdateTime(now); + if (person.getCreateTime() == 0) { + person.setCreateTime(now); + } + personRepository.save(person); + } + + public void saveHealthData(String sfzId, int sbp, int dbp) { + PersonHealth health = new PersonHealth(); + health.setId(String.valueOf(Instant.now().toEpochMilli())); + health.setSfzId(sfzId); + health.setSbp(sbp); + health.setDbp(dbp); + health.setCreateTime((int) Instant.now().getEpochSecond()); + personHealthRepository.save(health); + } + + public PersonHealth getLatestHealthRecord(String sfzId) { + return personHealthRepository.findBySfzIdOrderByCreateTimeDesc(sfzId).stream().findFirst().orElse(null); + } +} diff --git a/src/main/java/org/example/app_sb/service/UserService.java b/src/main/java/org/example/app_sb/service/UserService.java new file mode 100644 index 0000000..c6d072a --- /dev/null +++ b/src/main/java/org/example/app_sb/service/UserService.java @@ -0,0 +1,87 @@ +package org.example.app_sb.service; + +import org.example.app_sb.entity.User; +import org.example.app_sb.repository.UserRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +@Service +public class UserService { + @Autowired + private UserRepository userRepository; + + @Transactional + public String setUser(String name, String address) { + User user = userRepository.findByName(name); + if (user != null) { + user.setAddress(address); + userRepository.save(user); + return "Updated successfully!"; + } else { + User newUser = new User(); + newUser.setName(name); + newUser.setAddress(address); + newUser.setPassword("default_password"); + userRepository.save(newUser); + return "Inserted successfully!"; + } + } + + public String getUserAddress(String name) { + User user = userRepository.findByName(name); + return user != null ? user.getAddress() : "User not found!"; + } + + // MD5 加密 + public String encryptPassword(String password) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] digest = md.digest(password.getBytes()); + StringBuilder sb = new StringBuilder(); + for (byte b : digest) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("Error encrypting password", e); + } + } + + // 注册或更新密码 + @Transactional + public String register(String name, String password) { + User user = userRepository.findByName(name); + String encryptedPassword = encryptPassword(password); + if (user != null) { + user.setPassword(encryptedPassword); + userRepository.save(user); + return "用户密码修改成功"; + } else { + User newUser = new User(); + newUser.setName(name); + newUser.setPassword(encryptedPassword); + userRepository.save(newUser); + return "新用户注册成功"; + } + } + + // 登录 + public String login(String name, String password) { + User user = userRepository.findByName(name); + if (user != null && user.getPassword().equals(encryptPassword(password))) { + return "登录成功"; + } + return "登录失败"; + } + + // 登录验证 + public boolean validateLogin(String name, String password) { + User user = userRepository.findByName(name); + return user != null && user.getPassword().equals(encryptPassword(password)); + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..4b6176c --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,9 @@ +# 应用服务 WEB 访问端口 +server.port=58340 +spring.datasource.url=jdbc:mysql://localhost:3306/exam_20241226_58040?useSSL=false&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password= +spring.jpa.hibernate.ddl-auto=none +spring.jpa.show-sql=true + + diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html new file mode 100644 index 0000000..89bb8ba --- /dev/null +++ b/src/main/resources/static/index.html @@ -0,0 +1,6 @@ + + +

hello word!!!

+

this is a html page

+ + \ No newline at end of file diff --git a/src/test/java/org/example/app_sb/AppSbApplicationTests.java b/src/test/java/org/example/app_sb/AppSbApplicationTests.java new file mode 100644 index 0000000..3e01186 --- /dev/null +++ b/src/test/java/org/example/app_sb/AppSbApplicationTests.java @@ -0,0 +1,13 @@ +package org.example.app_sb; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class AppSbApplicationTests { + + @Test + void contextLoads() { + } + +}