|
|
@@ -1,14 +1,29 @@
|
|
|
package com.ylx.massage.service.impl;
|
|
|
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.ylx.base.BaseServiceImpl;
|
|
|
+import com.ylx.common.exception.ServiceException;
|
|
|
+import com.ylx.common.utils.DateUtils;
|
|
|
import com.ylx.massage.domain.Alarm;
|
|
|
+import com.ylx.massage.domain.MaTechnician;
|
|
|
import com.ylx.massage.mapper.AlarmMapper;
|
|
|
import com.ylx.massage.service.AlarmService;
|
|
|
+import com.ylx.massage.service.IMaTechnicianService;
|
|
|
+import com.ylx.order.domain.TOrder;
|
|
|
+import com.ylx.order.domain.dto.AlarmSubmitDTO;
|
|
|
+import com.ylx.order.service.TOrderService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+import static com.ylx.order.constant.OrderConstant.NOT_DELETE;
|
|
|
|
|
|
/**
|
|
|
* 报警记录表(YlxAlarm)表服务实现类
|
|
|
@@ -18,7 +33,12 @@ import org.springframework.stereotype.Service;
|
|
|
*/
|
|
|
@Slf4j
|
|
|
@Service("ylxAlarmService")
|
|
|
-public class AlarmServiceImpl extends ServiceImpl<AlarmMapper, Alarm> implements AlarmService {
|
|
|
+public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, Alarm> implements AlarmService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TOrderService orderService;
|
|
|
+ @Resource
|
|
|
+ private IMaTechnicianService maTechnicianService;
|
|
|
|
|
|
@Override
|
|
|
public Alarm queryById(String id) {
|
|
|
@@ -41,7 +61,42 @@ public class AlarmServiceImpl extends ServiceImpl<AlarmMapper, Alarm> implements
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Alarm addAlarm(Alarm alarm) {
|
|
|
- return null;
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean submitAlarm(AlarmSubmitDTO dto) {
|
|
|
+
|
|
|
+ Long merchantId = this.getCurrentUserId();
|
|
|
+
|
|
|
+ LambdaQueryWrapper<TOrder> queryWrapper = Wrappers.lambdaQuery(TOrder.class)
|
|
|
+ .eq(TOrder::getOrderNo, dto.getOrderNo())
|
|
|
+ .eq(TOrder::getIsDelete, NOT_DELETE);
|
|
|
+
|
|
|
+ TOrder order = this.orderService.getOne(queryWrapper);
|
|
|
+ if (ObjectUtil.isNull(order)) {
|
|
|
+ throw new RuntimeException("订单不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.notEqual(order.getMerchantId(), merchantId)) {
|
|
|
+ throw new ServiceException("您无权操作此订单");
|
|
|
+ }
|
|
|
+
|
|
|
+ MaTechnician maTechnician = this.maTechnicianService.getById(merchantId);
|
|
|
+ if (ObjectUtil.isNull(maTechnician)) {
|
|
|
+ throw new RuntimeException("商户不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ Alarm alarm = new Alarm();
|
|
|
+ alarm.setMerchantId(merchantId.toString());
|
|
|
+ alarm.setMerchantName(maTechnician.getTeName());
|
|
|
+ alarm.setMerchantNickName(maTechnician.getTeNickName());
|
|
|
+ alarm.setMerchantAvatar(maTechnician.getTeAvatar());
|
|
|
+ alarm.setMerchantPhone(maTechnician.getTePhone());
|
|
|
+ alarm.setAddress(order.getContactAddressInfo());
|
|
|
+ alarm.setOrderNo(dto.getOrderNo());
|
|
|
+ alarm.setIsDelete(NOT_DELETE);
|
|
|
+ alarm.setAlarmStatus(0);
|
|
|
+ alarm.setCreateTime(DateUtils.getNowDate());
|
|
|
+ alarm.setCreateBy(maTechnician.getTeNickName());
|
|
|
+
|
|
|
+ return super.save(alarm);
|
|
|
}
|
|
|
}
|