diff --git a/java/src/main/java/com/hzu/bookingsystem/controller/UserController.java b/java/src/main/java/com/hzu/bookingsystem/controller/UserController.java index e93eec6..b4398a0 100644 --- a/java/src/main/java/com/hzu/bookingsystem/controller/UserController.java +++ b/java/src/main/java/com/hzu/bookingsystem/controller/UserController.java @@ -90,12 +90,13 @@ public class UserController { //创建用户 @PostMapping(value = "/addUser", consumes = "application/json") public ResultVO addUser(@RequestBody Map map) { + // 0.转换对象 UserBean user = (UserBean) Map2Object.map2Object(map,UserBean.class); // 1.查重 if (userService.findByUserame(user.getUsername()) != null) return ResultVOUtil.error(-1,"该工号已存在!"); // 2.插入 - userService.add(user); + userService.add(user,(Integer)map.get("position")); return ResultVOUtil.success(); } @@ -149,13 +150,15 @@ public class UserController { /** * 修改用户信息 - * @param user + * @param map * @param request * @return */ @PostMapping(value = "/updateUser", consumes = "application/json") - public ResultVO updateUser(@RequestBody UserBean user, + public ResultVO updateUser(@RequestBody Map map, HttpServletRequest request){ + // 转换对象 + UserBean user = (UserBean) Map2Object.map2Object(map,UserBean.class); if (user.getUId() == null){ return ResultVOUtil.error(-1,"未找到该用户ID"); } @@ -163,7 +166,7 @@ public class UserController { user.setUId(user.getUId()); user.setPassword(old.getPassword()); user.setUsername(old.getUsername()); - userService.update(user); + userService.update(user,(Integer) map.get("position")); return ResultVOUtil.success(); } diff --git a/java/src/main/java/com/hzu/bookingsystem/dto/UserDTO.java b/java/src/main/java/com/hzu/bookingsystem/dto/UserDTO.java index 3ecf584..bc4e2ba 100644 --- a/java/src/main/java/com/hzu/bookingsystem/dto/UserDTO.java +++ b/java/src/main/java/com/hzu/bookingsystem/dto/UserDTO.java @@ -7,14 +7,7 @@ import lombok.NoArgsConstructor; import javax.persistence.*; @Data -@NoArgsConstructor -@AllArgsConstructor -@Entity -@Table(name = "tb_user") public class UserDTO { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) // 用户ID private Integer uId; @@ -32,4 +25,7 @@ public class UserDTO { //办公室地点 private String office; + + //职位 + private Integer position; } diff --git a/java/src/main/java/com/hzu/bookingsystem/service/UserService.java b/java/src/main/java/com/hzu/bookingsystem/service/UserService.java index 5c745e5..9a72f61 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/UserService.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/UserService.java @@ -16,7 +16,7 @@ public interface UserService { * @param user * @return */ - UserBean add(UserBean user); + UserBean add(UserBean user,Integer groupId); // 查找所有用户 List findAll(); @@ -37,6 +37,7 @@ public interface UserService { * @param user * @return */ + UserBean update(UserBean user,Integer groupId); UserBean update(UserBean user); /** diff --git a/java/src/main/java/com/hzu/bookingsystem/service/impl/UserServiceImpl.java b/java/src/main/java/com/hzu/bookingsystem/service/impl/UserServiceImpl.java index a2b6251..bc799c5 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/impl/UserServiceImpl.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/impl/UserServiceImpl.java @@ -4,11 +4,18 @@ import com.hzu.bookingsystem.converter.UserBean2UserDTO; import com.hzu.bookingsystem.dto.UserDTO; import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.repository.UserRepository; +import com.hzu.bookingsystem.service.UserAuthService; import com.hzu.bookingsystem.service.UserService; import com.hzu.bookingsystem.utils.MD5Util; +import org.hibernate.SQLQuery; +import org.hibernate.transform.Transformers; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.Query; import javax.transaction.Transactional; import java.util.List; /** @@ -16,16 +23,26 @@ import java.util.List; */ @Service public class UserServiceImpl implements UserService { - @Resource + + @Autowired private UserRepository userRepository; + @Autowired + private UserAuthService userAuthService; + + @PersistenceContext + private EntityManager entityManager; + @Override - public UserBean add(UserBean user) { + @Transactional + public UserBean add(UserBean user,Integer groupId) { // 1.保证ID为空 user.setUId(null); // 2.加密密码 user.setPassword(MD5Util.md5Encrypt32Upper(user.getPassword())); - return userRepository.save(user); + UserBean userBean = userRepository.save(user); + userAuthService.add(userBean.getUId(),groupId); + return userBean; } @Override @@ -43,6 +60,12 @@ public class UserServiceImpl implements UserService { return userRepository.findByUsername(username); } + @Override + public UserBean update(UserBean user,Integer groupId) { + userAuthService.update(user.getUId(),groupId); + return userRepository.save(user); + } + @Override public UserBean update(UserBean user) { return userRepository.save(user); @@ -64,7 +87,21 @@ public class UserServiceImpl implements UserService { @Override public List findAllUserInfo() { - List userBeanList = userRepository.findAll(); - return UserBean2UserDTO.convert(userBeanList); + String sql = "SELECT tb_user.u_id as uId," + + "tb_user.nickname," + + "tb_user.tel," + + "tb_user.email," + + "tb_user.username," + + "tb_user.office," + + "tb_auth_group_access.group_id as position " + + "FROM " + + "tb_auth_group_access," + + "tb_user " + + "WHERE " + + "tb_auth_group_access.u_id = tb_user.u_id"; + Query query = entityManager.createNativeQuery(sql); + query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(UserDTO.class)); + List userDTOList = query.getResultList(); + return userDTOList; } }