Compare commits

..

No commits in common. "ffbf0130d65b9439444672f7d93b2a5438fa16fc" and "07df7503bef3a67e3471548c6fba2a39cbd86880" have entirely different histories.

2 changed files with 3 additions and 40 deletions

View File

@ -5,7 +5,6 @@ import cn.iocoder.yudao.common.RepairRoleEnum;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.app.controller.admin.NotifyMessageSocket; import cn.iocoder.yudao.module.app.controller.admin.NotifyMessageSocket;
import cn.iocoder.yudao.module.base.entity.RepairWorker; import cn.iocoder.yudao.module.base.entity.RepairWorker;
import cn.iocoder.yudao.module.base.mapper.RepairWorkerMapper; import cn.iocoder.yudao.module.base.mapper.RepairWorkerMapper;
@ -224,7 +223,7 @@ public class RepairWorkerServiceImpl extends ServiceImpl<RepairWorkerMapper, Rep
public void sentMessage(Long userId, String text) { public void sentMessage(Long userId, String text) {
try { try {
//获取当前登录用户 //获取当前登录用户
// LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 准备发送参数 // 准备发送参数
Map<String, Object> templateParams = new HashMap<>(); Map<String, Object> templateParams = new HashMap<>();
// 发送模版内容 // 发送模版内容
@ -233,9 +232,8 @@ public class RepairWorkerServiceImpl extends ServiceImpl<RepairWorkerMapper, Rep
sendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO() sendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
.setUserId(userId) .setUserId(userId)
.setTemplateCode(TICKET_EMPLOY).setTemplateParams(templateParams)); .setTemplateCode(TICKET_EMPLOY).setTemplateParams(templateParams));
//发送语音提醒---小李---通过租户上下文去取租户ID //发送语音提醒
// notifyMessageSocket.sendMessage(text, loginUser.getTenantId().toString(), userId.toString()); notifyMessageSocket.sendMessage(text, loginUser.getTenantId().toString(), userId.toString());
notifyMessageSocket.sendMessage(text, TenantContextHolder.getRequiredTenantId().toString(), userId.toString());
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -3,13 +3,10 @@ package cn.iocoder.yudao.module.booking.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.common.RepairRoleEnum; import cn.iocoder.yudao.common.RepairRoleEnum;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.app.booking.vo.BookingQueryVO; import cn.iocoder.yudao.module.app.booking.vo.BookingQueryVO;
import cn.iocoder.yudao.module.base.service.RepairWorkerService;
import cn.iocoder.yudao.module.booking.entity.DlRepairBooking; import cn.iocoder.yudao.module.booking.entity.DlRepairBooking;
import cn.iocoder.yudao.module.booking.mapper.DlRepairBookingMapper; import cn.iocoder.yudao.module.booking.mapper.DlRepairBookingMapper;
import cn.iocoder.yudao.module.booking.service.DlRepairBookingService; import cn.iocoder.yudao.module.booking.service.DlRepairBookingService;
@ -26,19 +23,16 @@ import cn.iocoder.yudao.module.system.api.service.dto.ServicePackageDto;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.catalina.User;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -69,9 +63,6 @@ public class DlRepairBookingServiceImpl extends ServiceImpl<DlRepairBookingMappe
@Autowired @Autowired
private AdminUserApi adminUserApi; private AdminUserApi adminUserApi;
@Resource
private RepairWorkerService repairWorkerService;
/** /**
* 维修预约表 新增修改 * 维修预约表 新增修改
* *
@ -80,33 +71,7 @@ public class DlRepairBookingServiceImpl extends ServiceImpl<DlRepairBookingMappe
* @param repairBookingRespVO 预约对象 * @param repairBookingRespVO 预约对象
**/ **/
@Override @Override
@DSTransactional
public void updateBooking(DlRepairBookingRespVO repairBookingRespVO){ public void updateBooking(DlRepairBookingRespVO repairBookingRespVO){
// 构建消息
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
List<DictDataRespDTO> dataList = dictDataApi.getDictDataList("repair_type");
DictDataRespDTO dictDataRespDTO = dataList.stream().filter(item -> item.getValue().equals(repairBookingRespVO.getRepairType())).findFirst().orElse(null);
String message = String.format(
"%s(%s)预约了%s的%s",
repairBookingRespVO.getUserName(),
repairBookingRespVO.getUserMobile(),
formatter.format(repairBookingRespVO.getBookingTime()),
dictDataRespDTO != null ? dictDataRespDTO.getLabel() : "维修保养"
);
// 选择了服务顾问
if (ObjectUtil.isNotEmpty(repairBookingRespVO.getAdviserId())){
// 发送消息通知
repairWorkerService.sentMessage(Long.valueOf(repairBookingRespVO.getAdviserId()), message);
}else {
// 没选服务顾问
// 获取所有的服务顾问
List<UserDTO> allServicer = getAllServicer(TenantContextHolder.getRequiredTenantId());
// 发送消息通知
allServicer.forEach(item -> repairWorkerService.sentMessage(item.getId(), message));
}
// 正常的新增修改
Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
Optional.ofNullable(loginUserId).ifPresent(repairBookingRespVO::setUserId); Optional.ofNullable(loginUserId).ifPresent(repairBookingRespVO::setUserId);
repairBookingRespVO.setBookingStatus("01"); repairBookingRespVO.setBookingStatus("01");