|
@@ -22,6 +22,7 @@ import com.jeeplus.core.excel.utils.EasyPoiUtil;
|
|
|
import com.jeeplus.core.query.QueryWrapperGenerator;
|
|
|
import com.jeeplus.security.util.SecurityUtils;
|
|
|
import com.jeeplus.sys.constant.CommonConstants;
|
|
|
+import com.jeeplus.sys.domain.Office;
|
|
|
import com.jeeplus.sys.domain.User;
|
|
|
import com.jeeplus.sys.service.OfficeService;
|
|
|
import com.jeeplus.sys.service.RoleService;
|
|
@@ -37,6 +38,7 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
+import org.springframework.security.core.parameters.P;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
@@ -46,6 +48,7 @@ import javax.validation.Valid;
|
|
|
import javax.validation.Validator;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -92,6 +95,37 @@ public class UserController {
|
|
|
@ApiOperation(value = "查询用户")
|
|
|
public ResponseEntity queryById(@RequestParam("id") String id) {
|
|
|
UserDTO userDTO = userService.get ( id );
|
|
|
+ //根据office.id 查询部门的所有父节点信息
|
|
|
+ if(null != userDTO.getOfficeDTO() && StringUtils.isNotBlank(userDTO.getOfficeDTO().getId())){
|
|
|
+ OfficeDTO office = officeService.getOfficeById(userDTO.getOfficeDTO().getId());
|
|
|
+ //将office的父节点信息进行分割并查询赋值
|
|
|
+ if(null != office){
|
|
|
+ List<String> officeIdList = Arrays.asList(office.getParentIds().split(","));
|
|
|
+ Integer sort = 0;
|
|
|
+ if(null != officeIdList && officeIdList.size()>0){
|
|
|
+ for (String officeId : officeIdList) {
|
|
|
+ if(StringUtils.isNotBlank(officeId) && !"0".equals(officeId)){
|
|
|
+ sort ++ ;
|
|
|
+ OfficeDTO officeChild = officeService.getOfficeById(officeId);
|
|
|
+ if(null != officeChild) {
|
|
|
+ switch (sort){
|
|
|
+ case 1:
|
|
|
+ userDTO.setCompanyDTO(officeChild);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ userDTO.setCorporationDTO(officeChild);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ userDTO.setOfficeDTO(officeChild);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
return ResponseEntity.ok ( userDTO );
|
|
|
}
|
|
|
|
|
@@ -104,7 +138,7 @@ public class UserController {
|
|
|
*/
|
|
|
@ApiLog("用户数据列表")
|
|
|
@ApiOperation(value = "用户数据列表")
|
|
|
- @PreAuthorize("hasAuthority('sys:user:list')")
|
|
|
+ //@PreAuthorize("hasAuthority('sys:user:list')")
|
|
|
@GetMapping("list")
|
|
|
public ResponseEntity list(UserDTO userDTO, Page <UserDTO> page) throws Exception {
|
|
|
QueryWrapper <UserDTO> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( userDTO, UserDTO.class );
|
|
@@ -148,7 +182,18 @@ public class UserController {
|
|
|
@ApiOperation(value = "修改个人资料")
|
|
|
@PostMapping("saveInfo")
|
|
|
public ResponseEntity saveInfo(@RequestBody UserDTO userDTO) {
|
|
|
+ //修改用户信息
|
|
|
+ //判断参数中手机号是否存在
|
|
|
+ if(StringUtils.isNotBlank(userDTO.getMobile())){
|
|
|
+ //如果手机号存在,则根据手机号查询除当前更改人以外是否还存在手机号重复的情况,如果存在,则不允许更改
|
|
|
+ List<UserDTO> userList = userService.getUserInfoByMobile(userDTO);
|
|
|
+ if (null != userList && userList.size()>0){
|
|
|
+ return ResponseEntity.badRequest ( ).body ( "修改个人资料失败! 该手机号已存在,无法修改!" );
|
|
|
+ }
|
|
|
+ }
|
|
|
userService.updateById ( UserWrapper.INSTANCE.toEntity ( userDTO ) );
|
|
|
+
|
|
|
+ //更新缓存信息
|
|
|
UserUtils.deleteCache ( UserUtils.getCurrentUserDTO ( ) );
|
|
|
return ResponseEntity.ok ( "修改个人资料成功!" );
|
|
|
}
|