From 187a5afbc276e4f86801078a3d90d022bb50d1d2 Mon Sep 17 00:00:00 2001 From: MiLla <18826902282@163.com> Date: Fri, 28 Jun 2024 19:12:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E7=9A=84=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OrganizationController.java | 46 +++++++++++++ .../model/Organization.java | 65 +++++++++++++++++++ .../repository/OrganizationRepository.java | 20 ++++++ .../service/OrganizationService.java | 36 ++++++++++ .../controller/UserController.java | 1 + 5 files changed, 168 insertions(+) create mode 100644 src/main/java/org/cmh/backend/OrganizationManagement/controller/OrganizationController.java create mode 100644 src/main/java/org/cmh/backend/OrganizationManagement/model/Organization.java create mode 100644 src/main/java/org/cmh/backend/OrganizationManagement/repository/OrganizationRepository.java create mode 100644 src/main/java/org/cmh/backend/OrganizationManagement/service/OrganizationService.java diff --git a/src/main/java/org/cmh/backend/OrganizationManagement/controller/OrganizationController.java b/src/main/java/org/cmh/backend/OrganizationManagement/controller/OrganizationController.java new file mode 100644 index 0000000..58410e0 --- /dev/null +++ b/src/main/java/org/cmh/backend/OrganizationManagement/controller/OrganizationController.java @@ -0,0 +1,46 @@ +package org.cmh.backend.OrganizationManagement.controller; + +import org.cmh.backend.OrganizationManagement.model.Organization; +import org.cmh.backend.OrganizationManagement.service.OrganizationService; +import org.cmh.backend.authentication.model.User; +import org.cmh.backend.authentication.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static org.springframework.http.ResponseEntity.ok; + +@RestController +@RequestMapping("/organizations") +public class OrganizationController { + @Autowired + private OrganizationService organizationService; + + @GetMapping("/listAll") + public ResponseEntity> listAll() { + List data = organizationService.listAll(); + System.out.println(data); + return ok(data); + } + + @PostMapping("/add") + public Organization add(@RequestBody Organization organization) { + return organizationService.add(organization); + } + + @PostMapping("/delete") + public String delete(@RequestBody Map credentials) { + long id = Long.parseLong(credentials.get("id")); + organizationService.delete(id); + return "success"; + } + + @PostMapping("/update") + public Organization update(@RequestBody Organization organization) { + return organizationService.update(organization); + } +} diff --git a/src/main/java/org/cmh/backend/OrganizationManagement/model/Organization.java b/src/main/java/org/cmh/backend/OrganizationManagement/model/Organization.java new file mode 100644 index 0000000..116a003 --- /dev/null +++ b/src/main/java/org/cmh/backend/OrganizationManagement/model/Organization.java @@ -0,0 +1,65 @@ +package org.cmh.backend.OrganizationManagement.model; + +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; + +@Table(name = "organizations") +@Entity +public class Organization { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Setter + @Getter + private long organizationId; // 部门ID,作为数据库表的主键 + @Setter + @Getter + @ManyToOne + @JoinColumn(name = "parent_organization_id") + private Organization parentOrganization; // 上级部门,如果有的话 + @Setter + @Getter + private String organizationName; // 部门名称 + @Setter + @Getter + private int displayOrder; // 显示排序 + @Setter + @Getter + private String leader; // 负责人 + @Setter + @Getter + private String contactPhone; // 联系电话 + @Setter + @Getter + private String email; // 邮箱 + @Setter + @Getter + private boolean organizationStatus; + + public Organization() { + } + + public Organization(Organization organization, String organizationName, int displayOrder, String leader, String contactPhone, String email, boolean organizationStatus) { + this.parentOrganization = organization; + this.organizationName = organizationName; + this.displayOrder = displayOrder; + this.leader = leader; + this.contactPhone = contactPhone; + this.email = email; + this.organizationStatus = organizationStatus; + } + + @Override + public String toString() { + return "Organization{" + + "organizationId=" + organizationId + + ", parentOrganization='" + parentOrganization + '\'' + + ", organizationName='" + organizationName + '\'' + + ", displayOrder=" + displayOrder + + ", leader='" + leader + '\'' + + ", contactPhone='" + contactPhone + '\'' + + ", email='" + email + '\'' + + ", organizationStatus='" + organizationStatus + '\'' + + '}'; + } +} diff --git a/src/main/java/org/cmh/backend/OrganizationManagement/repository/OrganizationRepository.java b/src/main/java/org/cmh/backend/OrganizationManagement/repository/OrganizationRepository.java new file mode 100644 index 0000000..dabb016 --- /dev/null +++ b/src/main/java/org/cmh/backend/OrganizationManagement/repository/OrganizationRepository.java @@ -0,0 +1,20 @@ +package org.cmh.backend.OrganizationManagement.repository; + +import org.aspectj.weaver.ast.Or; +import org.cmh.backend.OrganizationManagement.model.Organization; +import org.cmh.backend.OrganizationManagement.service.OrganizationService; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface OrganizationRepository extends JpaRepository { + + List findAll(); + Organization save(Organization organization); + void deleteById(Long id); + Organization findByOrganizationId(Long id); + Organization findByOrganizationName(String name); + +} diff --git a/src/main/java/org/cmh/backend/OrganizationManagement/service/OrganizationService.java b/src/main/java/org/cmh/backend/OrganizationManagement/service/OrganizationService.java new file mode 100644 index 0000000..f34fd37 --- /dev/null +++ b/src/main/java/org/cmh/backend/OrganizationManagement/service/OrganizationService.java @@ -0,0 +1,36 @@ +package org.cmh.backend.OrganizationManagement.service; + +import org.cmh.backend.OrganizationManagement.model.Organization; +import org.cmh.backend.OrganizationManagement.repository.OrganizationRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class OrganizationService { + @Autowired + private OrganizationRepository organizationRepository; + + public List listAll(){ + return organizationRepository.findAll(); + } + + public Organization add(Organization organization){ + return organizationRepository.save(organization); + } + public Organization update(Organization organization){ + return organizationRepository.save(organization); + } + public String delete(Long id){ + organizationRepository.deleteById(id); + return "success"; + } + public Organization getById(Long organizationId){ + return organizationRepository.findByOrganizationId(organizationId); + } + public Organization getByName(String name){ + return organizationRepository.findByOrganizationName(name); + } + +} diff --git a/src/main/java/org/cmh/backend/authentication/controller/UserController.java b/src/main/java/org/cmh/backend/authentication/controller/UserController.java index 4c0e397..3281a80 100644 --- a/src/main/java/org/cmh/backend/authentication/controller/UserController.java +++ b/src/main/java/org/cmh/backend/authentication/controller/UserController.java @@ -35,6 +35,7 @@ public class UserController { System.out.println("hahaha"); System.out.println("hahaha"); User user = userService.getUserByAccountAndPassword(account, password); + //判断逻辑 System.out.println(user); return ok(user); }