| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.template.api.UnlockingEmployeeControllerAPI;
- import com.template.common.utils.PasswordChecker;
- import com.template.common.utils.TimeExchange;
- import com.template.model.dto.*;
- import com.template.model.pojo.*;
- import com.template.model.result.CommonResult;
- import com.template.services.*;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- /**
- * <p>
- * 员工添加钥匙 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2024-08-12
- */
- @RestController
- public class UnlockingEmployeeController implements UnlockingEmployeeControllerAPI {
- @Autowired
- UnlockingEmployeeService unlockingEmployeeService;
- @Autowired
- PermissionSettingService permissionSettingService;
- @Autowired
- AdminService adminService;
- @Autowired
- EmployeeUsersService employeeUsersService;
- @Autowired
- HouseNumberService houseNumberService;
- @Autowired
- OperatingRecordService operatingRecordService;
- @Autowired
- PasswordIssController passwordIssController;
- @Override
- @Transactional(rollbackFor = Exception.class)
- public CommonResult savePassWord(KeyPassWordDto keyPassWordDto) {
- String permissionSettingId = keyPassWordDto.getPermissionSettingId();
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String houseTypeManagement = permissionSetting.getDoorLockManagement();
- if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("11")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- // 监测密码是否符合要求
- String passWord = keyPassWordDto.getPassWord();
- if (!PasswordChecker.isValidPassword(passWord)) {
- return CommonResult.fail("密码长度的一半不能是连续升序、倒序、一样的数字");
- }
- Admin admin = adminService.getById(keyPassWordDto.getAdminId());
- if (ObjectUtils.isEmpty(admin)) {
- return CommonResult.fail("该管理员不存在");
- }
- EmployeeUsers byId = employeeUsersService.getById(keyPassWordDto.getUsersId());
- if (ObjectUtils.isEmpty(admin)) {
- return CommonResult.fail("添加的用户不存在");
- }
- HouseNumber houseNumber = houseNumberService.getById(keyPassWordDto.getHouseNumberId());
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("该房间不存在");
- }
- // String usersId = keyPassWordDto.getUsersId();
- // Users byId = usersService.getById(usersId);
- // if (ObjectUtils.isEmpty(byId)) {
- // return CommonResult.fail("无该用户");
- // }
- UnlockingAdmin unlockingAdmin = null;
- UnlockingEmployee unlockingEmployee = new UnlockingEmployee();
- /**
- * 缺少人的名字和
- */
- try {
- unlockingAdmin = passwordIssController.savePassWord(keyPassWordDto);
- if (ObjectUtils.isEmpty(unlockingAdmin)) {
- return CommonResult.fail("该密码已存在,请更换");
- }
- unlockingAdmin.setName(byId.getUserName());
- unlockingAdmin.setPhone(byId.getPhone());
- // 添加操作记录
- OperatingRecord operatingRecord = new OperatingRecord();
- operatingRecord.setRoomNumber(houseNumber.getRoomNumber());
- operatingRecord.setHouseNumberId(houseNumber.getId());
- operatingRecord.setOperatorName(admin.getName());
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- operatingRecord.setDataTime(LocalDateTime.now().format(dateTimeFormatter1));
- operatingRecord.setContent("姓名:" + byId.getUserName());
- operatingRecord.setType("添加员工密码钥匙");
- BeanUtils.copyProperties(unlockingAdmin,unlockingEmployee);
- unlockingEmployeeService.save(unlockingEmployee);
- operatingRecordService.save(operatingRecord);
- return CommonResult.ok();
- }catch (Exception e){
- e.printStackTrace();
- // 删除锁
- passwordIssController.deleteLockUser(unlockingAdmin.getLuid(),unlockingAdmin.getLockUserId());
- return CommonResult.fail();
- }
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public CommonResult saveCard(KeyCardEmpDto keyCardDto) {
- String permissionSettingId = keyCardDto.getPermissionSettingId();
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String houseTypeManagement = permissionSetting.getDoorLockManagement();
- if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("11")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- Admin admin = adminService.getById(keyCardDto.getAdminId());
- if (ObjectUtils.isEmpty(admin)) {
- return CommonResult.fail("该管理员不存在");
- }
- EmployeeUsers byId = employeeUsersService.getById(keyCardDto.getUsersId());
- if (ObjectUtils.isEmpty(admin)) {
- return CommonResult.fail("添加的员工不存在");
- }
- //没传卡片id则使用用户信息身份证
- if(!StringUtils.hasText(keyCardDto.getCard())){
- if (!StringUtils.hasText(byId.getIdCardInformation())){
- return CommonResult.fail("该员工没有卡片信息");
- }else{
- keyCardDto.setCard(byId.getIdCardInformation());
- keyCardDto.setCardType(1);
- }
- }
- HouseNumber houseNumber = houseNumberService.getById(keyCardDto.getHouseNumberId());
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("该房间不存在");
- }
- // String usersId = keyCardDto.getUsersId();
- // Users byId = usersService.getById(usersId);
- // if (ObjectUtils.isEmpty(byId)) {
- // return CommonResult.fail("无该用户");
- // }
- UnlockingAdmin unlockingAdmin = null;
- UnlockingEmployee unlockingEmployee = new UnlockingEmployee();
- try {
- KeyCardDto keyCardDto1=new KeyCardDto();
- BeanUtils.copyProperties(keyCardDto,keyCardDto1);
- unlockingAdmin = passwordIssController.addCard(keyCardDto1);
- unlockingAdmin.setName(byId.getUserName());
- unlockingAdmin.setPhone(byId.getPhone());
- // 添加操作记录
- OperatingRecord operatingRecord = new OperatingRecord();
- operatingRecord.setHouseNumberId(houseNumber.getId());
- operatingRecord.setRoomNumber(houseNumber.getRoomNumber());
- operatingRecord.setOperatorName(admin.getName());
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- operatingRecord.setDataTime(LocalDateTime.now().format(dateTimeFormatter1));
- operatingRecord.setContent("姓名:" + byId.getUserName());
- operatingRecord.setType("添加员工卡片钥匙");
- BeanUtils.copyProperties(unlockingAdmin,unlockingEmployee);
- unlockingEmployeeService.save(unlockingEmployee);
- operatingRecordService.save(operatingRecord);
- return CommonResult.ok();
- }catch (Exception e){
- e.printStackTrace();
- // 删除锁
- passwordIssController.deleteLockUser(unlockingAdmin.getLuid(),unlockingAdmin.getLockUserId());
- return CommonResult.fail();
- }
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public CommonResult saveFingerprint(KeyFingerprintEmpDto keyFingerprintEmpDto) {
- String permissionSettingId = keyFingerprintEmpDto.getPermissionSettingId();
- PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String houseTypeManagement = permissionSetting.getDoorLockManagement();
- if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("11")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- Admin admin = adminService.getById(keyFingerprintEmpDto.getAdminId());
- if (ObjectUtils.isEmpty(admin)) {
- return CommonResult.fail("该管理员不存在");
- }
- EmployeeUsers byId = employeeUsersService.getById(keyFingerprintEmpDto.getUsersId());
- if (ObjectUtils.isEmpty(admin)) {
- return CommonResult.fail("添加的用户不存在");
- }
- KeyFingerprintDto keyFingerprintDto = new KeyFingerprintDto();
- if (!StringUtils.hasText(byId.getFingerprint())){
- return CommonResult.fail("缺少指纹,请前往员工管理添加该员工指纹");
- }else{
- keyFingerprintDto.setFingerprintData(byId.getFingerprint());
- }
- HouseNumber houseNumber = houseNumberService.getById(keyFingerprintEmpDto.getHouseNumberId());
- if (ObjectUtils.isEmpty(houseNumber)) {
- return CommonResult.fail("该房间不存在");
- }
- // String usersId = keyFingerprintDto.getUsersId();
- // Users byId = usersService.getById(usersId);
- // if (ObjectUtils.isEmpty(byId)) {
- // return CommonResult.fail("无该用户");
- // }
- UnlockingAdmin unlockingAdmin = null;
- UnlockingEmployee unlockingEmployee = new UnlockingEmployee();
- try {
- BeanUtils.copyProperties(keyFingerprintEmpDto,keyFingerprintDto);
- unlockingAdmin = passwordIssController.addFingerprintDto(keyFingerprintDto);
- unlockingAdmin.setName(byId.getUserName());
- unlockingAdmin.setPhone(byId.getPhone());
- // 添加操作记录
- OperatingRecord operatingRecord = new OperatingRecord();
- operatingRecord.setHouseNumberId(houseNumber.getId());
- operatingRecord.setRoomNumber(houseNumber.getRoomNumber());
- operatingRecord.setOperatorName(admin.getName());
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- operatingRecord.setDataTime(LocalDateTime.now().format(dateTimeFormatter1));
- operatingRecord.setContent("姓名:" + byId.getUserName());
- operatingRecord.setType("添加员工指纹钥匙");
- BeanUtils.copyProperties(unlockingAdmin,unlockingEmployee);
- unlockingEmployeeService.save(unlockingEmployee);
- operatingRecordService.save(operatingRecord);
- return CommonResult.ok();
- }catch (Exception e){
- e.printStackTrace();
- // 删除锁
- passwordIssController.deleteLockUser(unlockingAdmin.getLuid(),unlockingAdmin.getLockUserId());
- return CommonResult.fail();
- }
- }
- @Override
- public CommonResult deleteLock(Integer unlockingEmpId) {
- UnlockingEmployee byId = unlockingEmployeeService.getById(unlockingEmpId);
- if (ObjectUtils.isEmpty(byId)) {
- return CommonResult.fail("不存在该记录");
- }
- String lockUserId = byId.getLockUserId();
- String luid = byId.getLuid();
- passwordIssController.deleteLockUser(luid,lockUserId);
- unlockingEmployeeService.removeById(unlockingEmpId);
- return CommonResult.ok();
- }
- @Override
- public CommonResult updateLock(UpdateLockDto updateLockDto) {
- UnlockingEmployee byId = unlockingEmployeeService.getById(updateLockDto.getUnlockingAdminId());
- if (ObjectUtils.isEmpty(byId)) {
- return CommonResult.fail("不存在该记录");
- }
- String lockStatus = byId.getLockStatus();
- if (!"1".equals(lockStatus)) {
- return CommonResult.fail("只有密码用户才能修改时效");
- }
- String lockUserId = byId.getLockUserId();
- String luid = byId.getLuid();
- String startTime = updateLockDto.getStartTime();
- String endTime = updateLockDto.getEndTime();
- passwordIssController.updateLock(lockUserId,luid,startTime,endTime);
- byId.setStartTime(startTime);
- byId.setEndTime(endTime);
- unlockingEmployeeService.updateById(byId);
- return CommonResult.ok();
- }
- }
|