From cc6d1b8e5b37c85eebbb98136093350c5843ce93 Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Fri, 5 Jan 2024 13:31:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E5=85=A5=E5=91=98=E5=B7=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/sky/entity/Employee.java | 6 +--- .../controller/admin/EmployeeController.java | 21 ++++++++++++- .../java/com/sky/mapper/EmployeeMapper.java | 6 ++++ .../java/com/sky/service/EmployeeService.java | 10 ++++-- .../sky/service/impl/EmployeeServiceImpl.java | 31 +++++++++++++++++++ .../main/resources/mapper/EmployeeMapper.xml | 8 +++++ 6 files changed, 74 insertions(+), 8 deletions(-) diff --git a/sky-pojo/src/main/java/com/sky/entity/Employee.java b/sky-pojo/src/main/java/com/sky/entity/Employee.java index 0076cc2..359e380 100644 --- a/sky-pojo/src/main/java/com/sky/entity/Employee.java +++ b/sky-pojo/src/main/java/com/sky/entity/Employee.java @@ -1,9 +1,6 @@ package com.sky.entity; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; import java.io.Serializable; import java.time.LocalDateTime; @@ -41,5 +38,4 @@ public class Employee implements Serializable { private Long createUser; private Long updateUser; - } diff --git a/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java b/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java index 1a36389..6f12a99 100644 --- a/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java +++ b/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java @@ -1,6 +1,9 @@ package com.sky.controller.admin; import com.sky.constant.JwtClaimsConstant; +import com.sky.constant.PasswordConstant; +import com.sky.constant.StatusConstant; +import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeLoginDTO; import com.sky.entity.Employee; import com.sky.properties.JwtProperties; @@ -12,13 +15,16 @@ import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.HashMap; import java.util.Map; @@ -49,7 +55,7 @@ public class EmployeeController { Employee employee = employeeService.login(employeeLoginDTO); - //登录成功后,生成jwt令牌 + // 登录成功后,生成jwt令牌 Map claims = new HashMap<>(); claims.put(JwtClaimsConstant.EMP_ID, employee.getId()); String token = JwtUtil.createJWT( @@ -78,4 +84,17 @@ public class EmployeeController { return Result.success(); } + /** + * 请求新增员工 + * + * @param employeeDTO 请求新增员工参数 + * @return Result + */ + @Operation(summary = "新增员工") + @PostMapping + public Result save(@RequestBody EmployeeDTO employeeDTO) { + log.info("新增员工:{}", employeeDTO); + employeeService.insert(employeeDTO); + return Result.success(); + } } diff --git a/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java b/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java index 550eda5..7543023 100644 --- a/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java @@ -1,6 +1,7 @@ package com.sky.mapper; import com.sky.entity.Employee; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -15,4 +16,9 @@ public interface EmployeeMapper { @Select("select * from employee where username = #{username}") Employee getByUsername(String username); + /** + * 插入员工数据 + * @param employee 员工 + */ + void insert(Employee employee); } diff --git a/sky-server/src/main/java/com/sky/service/EmployeeService.java b/sky-server/src/main/java/com/sky/service/EmployeeService.java index d3e2ab2..f2ccf16 100644 --- a/sky-server/src/main/java/com/sky/service/EmployeeService.java +++ b/sky-server/src/main/java/com/sky/service/EmployeeService.java @@ -1,5 +1,6 @@ package com.sky.service; +import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeLoginDTO; import com.sky.entity.Employee; @@ -7,9 +8,14 @@ public interface EmployeeService { /** * 员工登录 - * @param employeeLoginDTO - * @return + * @param employeeLoginDTO 员工请求 + * @return Employee */ Employee login(EmployeeLoginDTO employeeLoginDTO); + /** + * 新增员工 + * @param employeeDTO 请求新增员工参数 + */ + void insert(EmployeeDTO employeeDTO); } diff --git a/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java index e87ee30..fe7a046 100644 --- a/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java @@ -1,7 +1,9 @@ package com.sky.service.impl; import com.sky.constant.MessageConstant; +import com.sky.constant.PasswordConstant; import com.sky.constant.StatusConstant; +import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeLoginDTO; import com.sky.entity.Employee; import com.sky.exception.AccountLockedException; @@ -9,6 +11,7 @@ import com.sky.exception.AccountNotFoundException; import com.sky.exception.PasswordErrorException; import com.sky.mapper.EmployeeMapper; import com.sky.service.EmployeeService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.DigestUtils; @@ -16,6 +19,7 @@ import org.springframework.util.DigestUtils; import javax.annotation.Resource; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; @Service public class EmployeeServiceImpl implements EmployeeService { @@ -58,4 +62,31 @@ public class EmployeeServiceImpl implements EmployeeService { return employee; } + + /** + * 插入员工数据 + * @param employeeDTO EmployeeDTO + */ + @Override + public void insert(EmployeeDTO employeeDTO) { + Employee employee = new Employee(); + // 对象属性拷贝 + BeanUtils.copyProperties(employeeDTO, employee); + + // 设置状态默认1正常,0表示锁定 + employee.setStatus(StatusConstant.ENABLE); + employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes())); + employee.setIdNumber(employeeDTO.getIdNumber()); + + // 设置当前时间 + employee.setCreateTime(LocalDateTime.now()); + employee.setUpdateTime(LocalDateTime.now()); + + // 设置当前记录创建人id + // TODO 当前是写死的,后期改为当前登录用户id + employee.setCreateUser(10L); + employee.setUpdateUser(10L); + + employeeMapper.insert(employee); + } } diff --git a/sky-server/src/main/resources/mapper/EmployeeMapper.xml b/sky-server/src/main/resources/mapper/EmployeeMapper.xml index 3c3dc8d..18c2a67 100644 --- a/sky-server/src/main/resources/mapper/EmployeeMapper.xml +++ b/sky-server/src/main/resources/mapper/EmployeeMapper.xml @@ -2,4 +2,12 @@ + + + + insert into employee (name, username, password, phone, sex, id, id_number, status, create_time, update_time, + create_user, update_user) + values (#{name}, #{username}, #{password}, #{phone}, #{sex}, #{id}, #{idNumber}, #{status}, #{createTime}, + #{updateTime}, #{createUser}, #{updateUser}); +