修改了工单bug
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m27s
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m27s
This commit is contained in:
parent
0385bef3f4
commit
db9b1e1cd3
@ -25,6 +25,7 @@ public interface RemoteUserService {
|
||||
* @return 结果
|
||||
*/
|
||||
LoginUser getUserInfo(String username, String tenantId) throws UserException;
|
||||
|
||||
/**
|
||||
* 通过用户id查询用户信息
|
||||
*
|
||||
@ -198,4 +199,8 @@ public interface RemoteUserService {
|
||||
|
||||
Map<String, Integer> seelectOrgcount();
|
||||
|
||||
/**
|
||||
* 查询用户列表
|
||||
*/
|
||||
List<RemoteUserVo> selectUserList(List<Long> userIds);
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ public class CustomerFeedbacksController extends BaseController {
|
||||
/**
|
||||
* 查询客户服务-意见反馈列表
|
||||
*/
|
||||
@SaCheckPermission("system:feedbacks:list")
|
||||
// @SaCheckPermission("system:feedbacks:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CustomerFeedbacksVo> list(CustomerFeedbacksBo bo, PageQuery pageQuery) {
|
||||
return customerFeedbacksService.queryPageList(bo, pageQuery);
|
||||
@ -62,7 +62,9 @@ public class CustomerFeedbacksController extends BaseController {
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("system:feedbacks:query")
|
||||
//
|
||||
//
|
||||
// @SaCheckPermission("system:feedbacks:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CustomerFeedbacksVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
|
@ -30,7 +30,7 @@ public class CustomerFeedbacks extends TenantEntity {
|
||||
/**
|
||||
* 反馈类型(0保修1保洁2会议)
|
||||
*/
|
||||
private String feedbackType;
|
||||
private Long feedbackType;
|
||||
|
||||
/**
|
||||
* 反馈人
|
||||
@ -58,7 +58,7 @@ public class CustomerFeedbacks extends TenantEntity {
|
||||
private String feedbackImg;
|
||||
|
||||
/**
|
||||
* 是否转至工单
|
||||
* 工单id
|
||||
*/
|
||||
private Long orderId;
|
||||
/**
|
||||
|
@ -94,9 +94,13 @@ public class Meet extends TenantEntity {
|
||||
private String appointmentTime;
|
||||
|
||||
/**
|
||||
* 开放时段
|
||||
* 开放开始时段
|
||||
*/
|
||||
private String openHours;
|
||||
private String openStartHours;
|
||||
/**
|
||||
* 开放结束时段
|
||||
*/
|
||||
private String openEndHours;
|
||||
|
||||
/**
|
||||
* 状态(0启用,1禁用)
|
||||
|
@ -104,7 +104,7 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
*/
|
||||
private String orderImgUrl;
|
||||
/**
|
||||
* 上报类型
|
||||
* 上报类型(1电话上报2现场上报,3系统上报)
|
||||
*/
|
||||
private String reportingType;
|
||||
/**
|
||||
|
@ -29,8 +29,8 @@ public class CustomerFeedbacksBo extends BaseEntity {
|
||||
/**
|
||||
* 反馈类型(0保修1保洁2会议)
|
||||
*/
|
||||
@NotBlank(message = "反馈类型(0保修1保洁2会议)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String feedbackType;
|
||||
@NotNull (message = "反馈类型(0保修1保洁2会议)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long feedbackType;
|
||||
|
||||
/**
|
||||
* 反馈人
|
||||
|
@ -101,9 +101,13 @@ public class MeetBo extends BaseEntity {
|
||||
private String appointmentTime;
|
||||
|
||||
/**
|
||||
* 开放时段
|
||||
* 开放开始时段
|
||||
*/
|
||||
private String openHours;
|
||||
private String openStartHours;
|
||||
/**
|
||||
* 开放结束时段
|
||||
*/
|
||||
private String openEndHours;
|
||||
|
||||
/**
|
||||
* 状态(0启用,1禁用)
|
||||
|
@ -33,16 +33,26 @@ public class CustomerFeedbacksVo implements Serializable {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 反馈类型(0保修1保洁2会议)
|
||||
* 反馈类型(工单类型)
|
||||
*/
|
||||
@ExcelProperty(value = "反馈类型(0保修1保洁2会议)")
|
||||
private String feedbackType;
|
||||
@ExcelProperty(value = "反馈类型(工单类型)")
|
||||
private Long feedbackType;
|
||||
/**
|
||||
* 反馈类型名称(工单类型名称)
|
||||
*/
|
||||
@ExcelProperty(value = "反馈类型名称(工单类型名称)")
|
||||
private String feedbackTypeName;
|
||||
|
||||
/**
|
||||
* 反馈人
|
||||
*/
|
||||
@ExcelProperty(value = "反馈人")
|
||||
private Long feedbackPersion;
|
||||
/**
|
||||
* 反馈人名称
|
||||
*/
|
||||
@ExcelProperty(value = "反馈人名称")
|
||||
private String feedbackPersionName;
|
||||
|
||||
/**
|
||||
* 反馈人电话
|
||||
@ -67,7 +77,10 @@ public class CustomerFeedbacksVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "反馈图片")
|
||||
private String feedbackImg;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
private Long orderId;
|
||||
/**
|
||||
* 是否转至工单
|
||||
*/
|
||||
|
@ -59,9 +59,13 @@ public class MeetVo implements Serializable {
|
||||
@ExcelProperty(value = "位置名称")
|
||||
private String locationName;
|
||||
/**
|
||||
* 开放时段
|
||||
* 开放开始时段
|
||||
*/
|
||||
private String openHours;
|
||||
private String openStartHours;
|
||||
/**
|
||||
* 开放结束时段
|
||||
*/
|
||||
private String openEndHours;
|
||||
|
||||
/**
|
||||
* 容纳人数
|
||||
|
@ -1,5 +1,9 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -9,17 +13,31 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.property.domain.CustomerFeedbacks;
|
||||
import org.dromara.property.domain.ServiceWorkOrders;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersType;
|
||||
import org.dromara.property.domain.bo.CustomerFeedbacksBo;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.CustomerFeedbacksVo;
|
||||
import org.dromara.property.domain.vo.CustomerNoticesVo;
|
||||
import org.dromara.property.mapper.CustomerFeedbacksMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersRecordMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersTypeMapper;
|
||||
import org.dromara.property.service.ICustomerFeedbacksService;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.dromara.system.api.model.LoginUser;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 客户服务-意见反馈Service业务层处理
|
||||
@ -33,6 +51,11 @@ import java.util.Collection;
|
||||
public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
|
||||
private final CustomerFeedbacksMapper baseMapper;
|
||||
private final ServiceWorkOrdersMapper serviceWorkOrdersMapper;
|
||||
private final ServiceWorkOrdersTypeMapper serviceWorkOrdersTypeMapper;
|
||||
private final ServiceWorkOrdersRecordMapper serviceWorkOrdersRecordMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询客户服务-意见反馈
|
||||
@ -42,7 +65,12 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
*/
|
||||
@Override
|
||||
public CustomerFeedbacksVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
CustomerFeedbacksVo customerFeedbacksVo = baseMapper.selectVoById(id);
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypeMapper.selectById(customerFeedbacksVo.getFeedbackType());
|
||||
customerFeedbacksVo.setFeedbackTypeName(StringUtils.isNotBlank(serviceWorkOrdersType.getOrderTypeName())?serviceWorkOrdersType.getOrderTypeName():null);
|
||||
String nikName = remoteUserService.selectNicknameById(customerFeedbacksVo.getFeedbackPersion());
|
||||
customerFeedbacksVo.setFeedbackPersionName(nikName);
|
||||
return customerFeedbacksVo;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -56,9 +84,44 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
public TableDataInfo<CustomerFeedbacksVo> queryPageList(CustomerFeedbacksBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CustomerFeedbacks> lqw = buildQueryWrapper(bo);
|
||||
Page<CustomerFeedbacksVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
if (CollUtil.isNotEmpty(result.getRecords())) {
|
||||
//收集类型为集合
|
||||
List<Long> feedbackTypeIds = result.getRecords().stream().map(CustomerFeedbacksVo::getFeedbackType).toList();
|
||||
//查询工单类型
|
||||
List<ServiceWorkOrdersType> serviceWorkOrdersTypes = serviceWorkOrdersTypeMapper.selectList(
|
||||
Wrappers.<ServiceWorkOrdersType>lambdaQuery()
|
||||
.in(ServiceWorkOrdersType::getId, feedbackTypeIds)
|
||||
);
|
||||
// 提取发布人ID
|
||||
List<Long> uerIds = result.getRecords().stream()
|
||||
.filter(vo -> ObjectUtil.isNotEmpty(vo.getFeedbackPersion()))
|
||||
.map(CustomerFeedbacksVo::getFeedbackPersion)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<RemoteUserVo> remoteUserVos = remoteUserService.selectListByIds(uerIds);
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
assembly(s,serviceWorkOrdersTypes,remoteUserVos);
|
||||
});
|
||||
}
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param customerFeedbacksVo 意见反馈返回信息
|
||||
*
|
||||
*/
|
||||
private void assembly(CustomerFeedbacksVo customerFeedbacksVo,List<ServiceWorkOrdersType> serviceWorkOrdersTypes,List<RemoteUserVo> remoteUserVos){
|
||||
|
||||
if(CollUtil.isNotEmpty(remoteUserVos)){
|
||||
RemoteUserVo remoteUserVo = remoteUserVos.stream()
|
||||
.filter(vo -> vo.getUserId() != null && vo.getUserId().equals(customerFeedbacksVo.getFeedbackPersion())).findFirst().orElse(null);
|
||||
customerFeedbacksVo.setFeedbackPersionName(StringUtils.isNotBlank(remoteUserVo.getNickName())?remoteUserVo.getNickName():null);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(serviceWorkOrdersTypes)) {
|
||||
ServiceWorkOrdersType serviceWorkOrdersType = serviceWorkOrdersTypes.stream().filter(vo -> vo.getId() != null && vo.getId().equals(customerFeedbacksVo.getFeedbackType())).findFirst().orElse(null);
|
||||
customerFeedbacksVo.setFeedbackTypeName(StringUtils.isNotBlank(serviceWorkOrdersType.getOrderTypeName())?serviceWorkOrdersType.getOrderTypeName():null);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 查询符合条件的客户服务-意见反馈列表
|
||||
*
|
||||
@ -75,7 +138,7 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CustomerFeedbacks> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(CustomerFeedbacks::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackType()), CustomerFeedbacks::getFeedbackType, bo.getFeedbackType());
|
||||
lqw.eq(ObjectUtil.isNotNull(bo.getFeedbackType()), CustomerFeedbacks::getFeedbackType, bo.getFeedbackType());
|
||||
lqw.eq(bo.getFeedbackPersion() != null, CustomerFeedbacks::getFeedbackPersion, bo.getFeedbackPersion());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackPersionPhone()), CustomerFeedbacks::getFeedbackPersionPhone, bo.getFeedbackPersionPhone());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackContent()), CustomerFeedbacks::getFeedbackContent, bo.getFeedbackContent());
|
||||
@ -116,7 +179,7 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(CustomerFeedbacksBo bo) {
|
||||
CustomerFeedbacks update = MapstructUtils.convert(bo, CustomerFeedbacks.class);
|
||||
validEntityBeforeSave(update);
|
||||
validEntityBeforeUpdate(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@ -126,6 +189,33 @@ public class CustomerFeedbacksServiceImpl implements ICustomerFeedbacksService {
|
||||
private void validEntityBeforeSave(CustomerFeedbacks entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeUpdate(CustomerFeedbacks entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if(entity.getIsWorkOrder().equals("0")&& ObjectUtil.isEmpty(entity.getOrderId())){
|
||||
ServiceWorkOrders serviceWorkOrders = new ServiceWorkOrders();
|
||||
serviceWorkOrders.setOrderName("意见反馈转工单");
|
||||
LoginUser user = LoginHelper.getLoginUser();
|
||||
serviceWorkOrders.setOrderNo("GD" + IdUtil.getSnowflakeNextIdStr());
|
||||
serviceWorkOrders.setStatus("0");
|
||||
serviceWorkOrders.setRemark(entity.getFeedbackContent());
|
||||
serviceWorkOrders.setType(entity.getFeedbackType());
|
||||
serviceWorkOrders.setInitiatorPeople(user.getNickname());
|
||||
serviceWorkOrders.setReportingType("3");
|
||||
serviceWorkOrders.setProcessingWeight("1");
|
||||
boolean flag = serviceWorkOrdersMapper.insert(serviceWorkOrders) > 0;
|
||||
if (flag) {
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(serviceWorkOrders.getId());
|
||||
serviceWorkOrdersRecord.setStatus(serviceWorkOrders.getStatus());
|
||||
//serviceWorkOrdersRecord.setHandler(add.getHandler());
|
||||
serviceWorkOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
}
|
||||
entity.setOrderId(serviceWorkOrders.getId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除客户服务-意见反馈信息
|
||||
|
@ -88,14 +88,14 @@ public class DepotLogServiceImpl implements IDepotLogService {
|
||||
Map<Long, String> assetNamesByIds = assetsMapper.selectList(
|
||||
new LambdaQueryWrapper<Asset>()
|
||||
.select(Asset::getId, Asset::getName)
|
||||
.in(Asset::getId, assetIds)
|
||||
.in(CollUtil.isNotEmpty(assetIds),Asset::getId, assetIds)
|
||||
).stream()
|
||||
.collect(Collectors.toMap(Asset::getId, Asset::getName));
|
||||
//批量获取厂库名
|
||||
Map<Long, String> depotNamesByIds = depotMapper.selectList(
|
||||
new LambdaQueryWrapper<Depot>()
|
||||
.select(Depot::getId, Depot::getDepotName)
|
||||
.in(Depot::getId, depotIds)
|
||||
.in(CollUtil.isNotEmpty(depotIds),Depot::getId, depotIds)
|
||||
).stream()
|
||||
.collect(Collectors.toMap(Depot::getId, Depot::getDepotName));
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
|
@ -1,18 +1,18 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.property.domain.enums.BookingPayStatusEnum;
|
||||
import org.dromara.property.domain.enums.BookingStatusEnum;
|
||||
import org.dromara.property.domain.enums.MeetAttachStatusEnum;
|
||||
import org.dromara.property.domain.enums.MeetStatusEnum;
|
||||
import org.dromara.property.service.*;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -31,6 +31,8 @@ public class EnumFetcherServiceImpl implements EnumFetcherService {
|
||||
private IMeetBookingService meetBookingService;
|
||||
@Autowired
|
||||
private IServiceWorkOrdersService serviceWorkOrdersService;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
@Override
|
||||
public List<Map<Object, Object>> getEnumValues(String type) {
|
||||
@ -55,11 +57,15 @@ public class EnumFetcherServiceImpl implements EnumFetcherService {
|
||||
return getMeetBookingStatus();
|
||||
case "getServiceWorkOrdersHandler":
|
||||
return serviceWorkOrdersService.getServiceWorkOrdersHandler(type);
|
||||
case "getAccount":
|
||||
return getAccount();
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown type: " + type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会议室状态枚举接口
|
||||
*/
|
||||
List<Map<Object, Object>> getMeetStatus() {
|
||||
return Arrays.stream(MeetStatusEnum.values())
|
||||
.map(e -> {
|
||||
@ -104,4 +110,18 @@ public class EnumFetcherServiceImpl implements EnumFetcherService {
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
/**
|
||||
* 获取账户信息
|
||||
*/
|
||||
List<Map<Object, Object>> getAccount() {
|
||||
List<RemoteUserVo> remoteUserVos = remoteUserService.selectUserList(new ArrayList<>());
|
||||
return remoteUserVos.stream()
|
||||
.map(e -> {
|
||||
Map<Object, Object> map = new HashMap<>();
|
||||
map.put("value", e.getUserName());
|
||||
map.put("name", e.getNickName());
|
||||
return map;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -15,6 +17,8 @@ import org.dromara.property.domain.vo.ResidentPersonVo;
|
||||
import org.dromara.property.mapper.MeetBookingMapper;
|
||||
import org.dromara.property.mapper.ResidentPersonMapper;
|
||||
import org.dromara.property.mapper.TbRoomMapper;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import org.dromara.property.domain.bo.MeetBo;
|
||||
@ -29,6 +33,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -46,6 +51,8 @@ public class MeetServiceImpl implements IMeetService {
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
private final TbRoomMapper roomMapper;
|
||||
private final MeetBookingMapper meetbookMapper;
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询会议室管理
|
||||
@ -56,10 +63,15 @@ public class MeetServiceImpl implements IMeetService {
|
||||
@Override
|
||||
public MeetVo queryById(Long id) {
|
||||
MeetVo meetVo = baseMapper.selectVoById(id);
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(meetVo.getPrincipals());
|
||||
if(ObjectUtil.isNotEmpty(residentPersonVo)){
|
||||
meetVo.setPrincipalsName(residentPersonVo.getUserName());
|
||||
meetVo.setPhoneNo(residentPersonVo.getPhone());
|
||||
// ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(meetVo.getPrincipals());
|
||||
// if(ObjectUtil.isNotEmpty(residentPersonVo)){
|
||||
// meetVo.setPrincipalsName(residentPersonVo.getUserName());
|
||||
// meetVo.setPhoneNo(residentPersonVo.getPhone());
|
||||
// }
|
||||
RemoteUserVo userInfo = remoteUserService.getUserInfoById(Long.valueOf(meetVo.getPrincipals()));
|
||||
if (ObjectUtil.isNotEmpty(userInfo)) {
|
||||
meetVo.setPrincipalsName(userInfo.getNickName());
|
||||
meetVo.setPhoneNo(userInfo.getPhonenumber());
|
||||
}
|
||||
String locationName = roomMapper.queryRoomName(Long.valueOf(meetVo.getLocation()));
|
||||
meetVo.setLocationName(locationName);
|
||||
@ -90,15 +102,13 @@ public class MeetServiceImpl implements IMeetService {
|
||||
public List<MeetVo> queryList(MeetBo bo) {
|
||||
//查询当前日期和当前时间段会议记录表的会议id
|
||||
LambdaQueryWrapper<MeetBooking> bookLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
String[] times = bo.getOpenHours().split("-");
|
||||
String openStartTimeStr = times[0];
|
||||
String openEndTimeStr = times[1];
|
||||
LocalDate appointmentTime = LocalDate.parse(bo.getAppointmentTime());
|
||||
LocalTime startTime = LocalTime.parse(openStartTimeStr, DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime EndTime = LocalTime.parse(openEndTimeStr, DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime startTime = LocalTime.parse(bo.getOpenEndHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime EndTime = LocalTime.parse(bo.getOpenEndHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalDateTime startDateTime = LocalDateTime.of(appointmentTime, startTime);
|
||||
LocalDateTime endDateTime = LocalDateTime.of(appointmentTime, EndTime);
|
||||
bookLambdaQueryWrapper.ge(MeetBooking::getScheduledStarttime, startDateTime)
|
||||
bookLambdaQueryWrapper
|
||||
.ge(MeetBooking::getScheduledStarttime, startDateTime)
|
||||
.le(MeetBooking::getScheduledEndtime, endDateTime);
|
||||
List<MeetBooking> meetBookings = meetbookMapper.selectList(bookLambdaQueryWrapper);
|
||||
List<Long> meetIdList = meetBookings.stream().map(MeetBooking::getMeetId).collect(Collectors.toList());
|
||||
@ -117,25 +127,26 @@ public class MeetServiceImpl implements IMeetService {
|
||||
lqw.like(StringUtils.isNotBlank(bo.getName()), Meet::getName, bo.getName());
|
||||
lqw.notIn(ObjectUtil.isNotEmpty(meetIdList), Meet::getId, meetIdList);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), Meet::getLocation, bo.getLocation());
|
||||
lqw.le(bo.getPersonNumber() != null, Meet::getPersonNumber, bo.getPersonNumber());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getMeetingRoomType()), Meet::getMeetingRoomType, bo.getMeetingRoomType());
|
||||
lqw.ge(bo.getPersonNumber() != null, Meet::getPersonNumber, bo.getPersonNumber());
|
||||
lqw.eq(bo.getBaseService() != null, Meet::getBaseService, bo.getBaseService());
|
||||
if (StringUtils.isNotBlank(bo.getOpenHours())) {
|
||||
String[] times = bo.getOpenHours().split("-");
|
||||
if (times.length == 2) {
|
||||
String openStartTimeStr = times[0];
|
||||
String openEndTimeStr = times[1];
|
||||
|
||||
String nowTime = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm"));
|
||||
if (nowTime.compareTo(openStartTimeStr) >= 0 && nowTime.compareTo(openEndTimeStr) <= 0) {
|
||||
lqw.ge(Meet::getOpenHours, openStartTimeStr)
|
||||
.le(Meet::getOpenHours, openEndTimeStr);
|
||||
}
|
||||
}
|
||||
// 修复:正确处理时间段重叠逻辑
|
||||
// 查询条件时间段与数据库存储时间段有重叠的会议室
|
||||
if (bo.getOpenStartHours() != null && bo.getOpenEndHours() != null) {
|
||||
LocalTime queryStartTime = LocalTime.parse(bo.getOpenStartHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
LocalTime queryEndTime = LocalTime.parse(bo.getOpenEndHours(), DateTimeFormatter.ofPattern("HH:mm"));
|
||||
|
||||
// 时间段重叠条件: dbStart <= queryEnd AND dbEnd >= queryStart
|
||||
lqw.le(Meet::getOpenStartHours, queryEndTime)
|
||||
.ge(Meet::getOpenEndHours, queryStartTime);
|
||||
}
|
||||
|
||||
lqw.eq(bo.getBasePrice() != null, Meet::getBasePrice, bo.getBasePrice());
|
||||
lqw.eq(bo.getAttach() != null, Meet::getAttach, bo.getAttach());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<Meet> buildQueryWrapper(MeetBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<Meet> lqw = Wrappers.lambdaQuery();
|
||||
@ -151,7 +162,6 @@ public class MeetServiceImpl implements IMeetService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增会议室管理
|
||||
*
|
||||
@ -208,6 +218,7 @@ public class MeetServiceImpl implements IMeetService {
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 下拉接口数据
|
||||
*/
|
||||
@ -239,6 +250,7 @@ public class MeetServiceImpl implements IMeetService {
|
||||
throw new IllegalArgumentException("Unknown type: " + type);
|
||||
}
|
||||
}
|
||||
|
||||
public List<Meet> getList() {
|
||||
LambdaQueryWrapper<Meet> meetQueryWrapper = new LambdaQueryWrapper<>();
|
||||
return baseMapper.selectList(meetQueryWrapper);
|
||||
|
@ -490,5 +490,14 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
||||
return hashMap;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<RemoteUserVo> selectUserList(List<Long> userIds) {
|
||||
List<SysUser> list = userMapper.selectList(
|
||||
new LambdaQueryWrapper<SysUser>()
|
||||
.select()
|
||||
.in(CollUtil.isNotEmpty(userIds),SysUser::getUserId, userIds)
|
||||
).stream()
|
||||
.collect(Collectors.toList());
|
||||
return BeanUtil.copyToList(list, RemoteUserVo.class);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user