|
@@ -12,8 +12,8 @@ import cn.iocoder.yudao.module.bpm.controller.admin.meeting.reserve.vo.OaMeeting
|
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.meeting.reserve.OaMeetingReserveDO;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.mysql.meeting.reserve.OaMeetingReserveMapper;
|
|
|
import cn.iocoder.yudao.module.bpm.enums.MeetingReserveStatusEnum;
|
|
|
-import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
-import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
|
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -47,12 +47,13 @@ public class OaMeetingReserveServiceImpl implements OaMeetingReserveService {
|
|
|
private OaMeetingReserveMapper oaMeetingReserveMapper;
|
|
|
|
|
|
@Resource
|
|
|
- private AdminUserApi adminUserApi;
|
|
|
+ private EmployeeApi employeeApi;
|
|
|
|
|
|
@Override
|
|
|
public Long createOaMeetingReserve(OaMeetingReserveSaveReqVO createReqVO) {
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- AdminUserRespDTO user = adminUserApi.getUser(loginUserId);
|
|
|
+ // AdminUserRespDTO user = adminUserApi.getUser(loginUserId);
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
// 校验时间
|
|
|
String startTime = createReqVO.getStartTime();
|
|
@@ -69,21 +70,24 @@ public class OaMeetingReserveServiceImpl implements OaMeetingReserveService {
|
|
|
// 校验时间是否已占用
|
|
|
LambdaQueryWrapper<OaMeetingReserveDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.eq(OaMeetingReserveDO::getRoomId, createReqVO.getRoomId())
|
|
|
- .ne(OaMeetingReserveDO::getStatus, MeetingReserveStatusEnum.ENDED.getStatus())
|
|
|
+ // .ne(OaMeetingReserveDO::getStatus, MeetingReserveStatusEnum.ENDED.getStatus())
|
|
|
.ne(OaMeetingReserveDO::getStatus, MeetingReserveStatusEnum.CANCELED.getStatus())
|
|
|
.and(wrapper -> wrapper.eq(OaMeetingReserveDO::getStartTime, startTime)
|
|
|
.or().eq(OaMeetingReserveDO::getEndTime, endTime)
|
|
|
.or().between(OaMeetingReserveDO::getStartTime, startTime, endTime)
|
|
|
- .or().between(OaMeetingReserveDO::getEndTime, startTime, endTime));
|
|
|
+ .or().between(OaMeetingReserveDO::getEndTime, startTime, endTime)
|
|
|
+ .or(wrapper2 -> wrapper2.lt(OaMeetingReserveDO::getStartTime, startTime)
|
|
|
+ .gt(OaMeetingReserveDO::getEndTime, endTime))
|
|
|
+ );
|
|
|
if (oaMeetingReserveMapper.selectCount(lambdaQueryWrapper) > 0) {
|
|
|
throw exception(OA_MEETING_RESERVE_TIME_OCCUPIED);
|
|
|
}
|
|
|
// 插入
|
|
|
OaMeetingReserveDO oaMeetingReserve = BeanUtils.toBean(createReqVO, OaMeetingReserveDO.class);
|
|
|
oaMeetingReserve.setReserveUuid(IdUtil.fastSimpleUUID());
|
|
|
- oaMeetingReserve.setApplyEmployeeId(user.getId());
|
|
|
- oaMeetingReserve.setDeptId(user.getDeptId());
|
|
|
- oaMeetingReserve.setApplyEmployeePhone(user.getMobile());
|
|
|
+ oaMeetingReserve.setApplyEmployeeId(loginEmployee.getId());
|
|
|
+ oaMeetingReserve.setDeptId(loginEmployee.getDeptId());
|
|
|
+ oaMeetingReserve.setApplyEmployeePhone(loginEmployee.getPhone());
|
|
|
List<Long> participantsIdList = createReqVO.getParticipants();
|
|
|
if (CollUtil.isNotEmpty(participantsIdList)) {
|
|
|
String participants = participantsIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
|
|
@@ -102,7 +106,8 @@ public class OaMeetingReserveServiceImpl implements OaMeetingReserveService {
|
|
|
@Override
|
|
|
public void updateOaMeetingReserve(OaMeetingReserveSaveReqVO updateReqVO) {
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- AdminUserRespDTO user = adminUserApi.getUser(loginUserId);
|
|
|
+ // AdminUserRespDTO user = adminUserApi.getUser(loginUserId);
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
|
// 校验存在
|
|
|
OaMeetingReserveDO oaMeetingReserveDOOld = validateOaMeetingReserveExists(updateReqVO.getId());
|
|
@@ -131,22 +136,25 @@ public class OaMeetingReserveServiceImpl implements OaMeetingReserveService {
|
|
|
// 校验时间是否已占用
|
|
|
LambdaQueryWrapper<OaMeetingReserveDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.eq(OaMeetingReserveDO::getRoomId, updateReqVO.getRoomId())
|
|
|
- .ne(OaMeetingReserveDO::getStatus, MeetingReserveStatusEnum.ENDED.getStatus())
|
|
|
+ // .ne(OaMeetingReserveDO::getStatus, MeetingReserveStatusEnum.ENDED.getStatus())
|
|
|
.ne(OaMeetingReserveDO::getStatus, MeetingReserveStatusEnum.CANCELED.getStatus())
|
|
|
.ne(OaMeetingReserveDO::getId, updateReqVO.getId())
|
|
|
.and(wrapper -> wrapper.eq(OaMeetingReserveDO::getStartTime, startTime)
|
|
|
.or().eq(OaMeetingReserveDO::getEndTime, endTime)
|
|
|
.or().between(OaMeetingReserveDO::getStartTime, startTime, endTime)
|
|
|
- .or().between(OaMeetingReserveDO::getEndTime, startTime, endTime));
|
|
|
+ .or().between(OaMeetingReserveDO::getEndTime, startTime, endTime)
|
|
|
+ .or(wrapper2 -> wrapper2.lt(OaMeetingReserveDO::getStartTime, startTime)
|
|
|
+ .gt(OaMeetingReserveDO::getEndTime, endTime))
|
|
|
+ );
|
|
|
if (oaMeetingReserveMapper.selectCount(lambdaQueryWrapper) > 0) {
|
|
|
throw exception(OA_MEETING_RESERVE_TIME_OCCUPIED);
|
|
|
}
|
|
|
|
|
|
// 更新
|
|
|
OaMeetingReserveDO updateObj = BeanUtils.toBean(updateReqVO, OaMeetingReserveDO.class);
|
|
|
- updateObj.setApplyEmployeeId(user.getId());
|
|
|
- updateObj.setDeptId(user.getDeptId());
|
|
|
- updateObj.setApplyEmployeePhone(user.getMobile());
|
|
|
+ updateObj.setApplyEmployeeId(loginEmployee.getId());
|
|
|
+ updateObj.setDeptId(loginEmployee.getDeptId());
|
|
|
+ updateObj.setApplyEmployeePhone(loginEmployee.getPhone());
|
|
|
|
|
|
List<Long> participantsIdList = updateReqVO.getParticipants();
|
|
|
if (CollUtil.isNotEmpty(participantsIdList)) {
|