访客预约修改为精确查询拜访人
This commit is contained in:
1 parent
cd9b010c00
commit
10f9b4cb98
4 files changed
+95
No files matched your search
+14
@@ -5,6 +5,8 @@ import cn.hutool.jwt.JWT;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserDeptSimpleInfo;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.common.core.constant.CacheConstants;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
|
||||
@@ -33,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import cn.hutool.extra.qrcode.QrConfig;
|
||||
import java.awt.Image;
|
||||
@@ -58,6 +61,8 @@ public class AppVisitorController {
|
||||
|
||||
private final VisitorsService visitorsService;
|
||||
|
||||
private final RemoteUserService remoteUserService;
|
||||
|
||||
@Value("${visitor.qr-secret}")
|
||||
private String visitorQrSecret;
|
||||
|
||||
@@ -240,4 +245,13 @@ public class AppVisitorController {
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/getBFInfo")
|
||||
@SysLog("查询拜访人的信息" )
|
||||
@Operation(summary = "查询拜访人的信息" , description = "根据拜访人的手机号或者姓名精确查询" )
|
||||
public R getBFInfo(@RequestParam("keyword") String keyword) {
|
||||
R<List<UserDeptSimpleInfo>> userByNameOrMobile = remoteUserService.getUserByNameOrMobile(keyword);
|
||||
return userByNameOrMobile;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2018-2025, pjcloud All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the pig4cloud.com developer nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
* Author: pjcloud
|
||||
*
|
||||
*/
|
||||
|
||||
package com.bsd.pjcloud.admin.api.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
@Data
|
||||
@Schema(description = "用户信息")
|
||||
public class UserDeptSimpleInfo implements Serializable {
|
||||
|
||||
@Schema(description = "用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "姓名")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "手机号")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "部门ID")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description = "部门名称")
|
||||
private String deptName;
|
||||
}
|
||||
+4
@@ -20,6 +20,7 @@
|
||||
package com.bsd.pjcloud.admin.api.feign;
|
||||
|
||||
import com.bsd.pjcloud.admin.api.dto.UserDTO;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserDeptSimpleInfo;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserInfo;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
import com.bsd.pjcloud.admin.api.vo.UserVO;
|
||||
@@ -188,4 +189,7 @@ public interface RemoteUserService {
|
||||
R<List<SysUser>> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name,
|
||||
@RequestParam(value = "mobile", required = false) String mobile);
|
||||
|
||||
@GetMapping("/get-name-or-mobile")
|
||||
R<List<UserDeptSimpleInfo>> getUserByNameOrMobile(@RequestParam("keyword") String keyword);
|
||||
|
||||
}
|
||||
+31
@@ -26,9 +26,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserDTO;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserDeptSimpleInfo;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserInfo;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysDept;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
import com.bsd.pjcloud.admin.api.vo.*;
|
||||
import com.bsd.pjcloud.admin.service.SysDeptService;
|
||||
import com.bsd.pjcloud.admin.service.SysUserService;
|
||||
import com.bsd.pjcloud.common.core.constant.CommonConstants;
|
||||
import com.bsd.pjcloud.common.core.exception.ErrorCodes;
|
||||
@@ -56,6 +59,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -81,6 +85,7 @@ public class SysUserController {
|
||||
|
||||
private final RemoterVisitorService remoterVisitorService;
|
||||
|
||||
private final SysDeptService sysDeptService;
|
||||
/* ************************************* start 回调 start ************************************* */
|
||||
|
||||
@Inner(value = false)
|
||||
@@ -115,6 +120,32 @@ public class SysUserController {
|
||||
return R.ok(userService.findUserInfo(user));
|
||||
}
|
||||
|
||||
@GetMapping("/get-name-or-mobile")
|
||||
public R<List<UserDeptSimpleInfo>> getUserByNameOrMobile(@RequestParam("keyword") String keyword) {
|
||||
List<SysUser> users = userService.list(
|
||||
Wrappers.<SysUser>query().lambda()
|
||||
.eq(SysUser::getName, keyword)
|
||||
.or()
|
||||
.eq(SysUser::getPhone, keyword)
|
||||
);
|
||||
if (CollectionUtils.isEmpty(users)) {
|
||||
return R.failed(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERINFO_EMPTY, keyword));
|
||||
}
|
||||
Map<Long, SysDept> deptListByDeptIds = sysDeptService.getDeptListByDeptIds(
|
||||
users.stream().map(SysUser::getDeptId).collect(Collectors.toList())
|
||||
);
|
||||
List<UserDeptSimpleInfo> userDeptSimpleInfos = users.stream().map(user -> {
|
||||
UserDeptSimpleInfo userDeptSimpleInfo = new UserDeptSimpleInfo();
|
||||
userDeptSimpleInfo.setUserId(user.getUserId());
|
||||
userDeptSimpleInfo.setName(user.getName());
|
||||
userDeptSimpleInfo.setMobile(user.getPhone());
|
||||
userDeptSimpleInfo.setDeptId(user.getDeptId());
|
||||
userDeptSimpleInfo.setDeptName(deptListByDeptIds.get(user.getDeptId()).getName());
|
||||
return userDeptSimpleInfo;
|
||||
}).collect(Collectors.toList());
|
||||
return R.ok(userDeptSimpleInfos);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取指定用户全部信息
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user