From 0befca3e70b575c420e7a14fa113aeb74b8fbef8 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 27 十一月 2024 09:05:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java | 39 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 36 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java index a1e6e7f..e1434cb 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java @@ -1,19 +1,26 @@ package com.ruoyi.other.service.impl; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.other.mapper.TechnicianSubscribeMapper; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.other.api.domain.Technician; import com.ruoyi.other.api.domain.TechnicianSubscribe; +import com.ruoyi.other.enums.TechnicianErrorCode; +import com.ruoyi.other.mapper.TechnicianMapper; +import com.ruoyi.other.mapper.TechnicianSubscribeMapper; import com.ruoyi.other.service.TechnicianSubscribeService; import com.ruoyi.other.vo.TechnicianSubscribeVO; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.Collections; +import java.time.LocalDateTime; import java.util.List; /** * <p> - * 服务实现类 + * 服务实现类 * </p> * * @author luodangjia @@ -23,9 +30,35 @@ public class TechnicianSubscribeServiceImpl extends ServiceImpl<TechnicianSubscribeMapper, TechnicianSubscribe> implements TechnicianSubscribeService { @Resource private TechnicianSubscribeMapper technicianSubscribeMapper; + @Resource + private TechnicianMapper technicianMapper; @Override public List<TechnicianSubscribeVO> getTechnicianSubscribeByUserAndShop(Long userId, Long shopId) { return technicianSubscribeMapper.getTechnicianSubscribeByUserAndShop(userId, shopId); } + + @Override + @Transactional(rollbackFor = Exception.class) + public void subscribe(TechnicianSubscribe technicianSubscribe) { + // 创建技师预约单 + Long technicianId = technicianSubscribe.getTechnicianId(); + Long userId = SecurityUtils.getUserId(); + TechnicianSubscribe subscribe = new TechnicianSubscribe(); + subscribe.setAppUserId(userId); + subscribe.setDelFlag(0); + subscribe.setCreateTime(LocalDateTime.now()); + technicianSubscribeMapper.insert(subscribe); + // 更新技师状态 + UpdateWrapper<Technician> updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", technicianId); + updateWrapper.eq("subscribe_status", 1); + updateWrapper.eq("status", 2); + updateWrapper.set("subscribe_status", 2); + updateWrapper.set("create_time", LocalDateTime.now()); + int update = technicianMapper.update(null, updateWrapper); + if (update == 0){ + throw new ServiceException("该技师已被预约", TechnicianErrorCode.TECHNICIAN_ALREADY_SUBSCRIBED.getCode()); + } + } } -- Gitblit v1.7.1