From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/task/service/impl/TaskHotelReportingServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskHotelReportingServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskHotelReportingServiceImpl.java
index 7fc66cd..5cfbea8 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskHotelReportingServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskHotelReportingServiceImpl.java
@@ -16,19 +16,28 @@
  */
 package org.springblade.modules.task.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.constant.DictConstant;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.common.exception.CustomException;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.place.entity.PlaceEntity;
+import org.springblade.modules.place.service.IPlaceService;
+import org.springblade.modules.system.entity.Dict;
 import org.springblade.modules.task.dto.TaskHotelReportingDTO;
 import org.springblade.modules.task.entity.TaskHotelReportingEntity;
 import org.springblade.modules.task.mapper.TaskHotelReportingMapper;
 import org.springblade.modules.task.service.ITaskHotelReportingService;
 import org.springblade.modules.task.service.ITaskService;
 import org.springblade.modules.task.vo.TaskHotelReportingVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.Date;
 
 /**
  * 旅馆安全自查任务 服务实现类
@@ -37,10 +46,14 @@
  * @since 2023-11-06
  */
 @Service
-public class TaskHotelReportingServiceImpl extends BaseServiceImpl<TaskHotelReportingMapper, TaskHotelReportingEntity> implements ITaskHotelReportingService {
+public class TaskHotelReportingServiceImpl extends ServiceImpl<TaskHotelReportingMapper, TaskHotelReportingEntity> implements ITaskHotelReportingService {
 
 	@Resource
+	@Lazy
 	private ITaskService taskService;
+
+	@Autowired
+	private IPlaceService placeService;
 
 	@Override
 	public IPage<TaskHotelReportingVO> selectTaskHotelReportingPage(IPage<TaskHotelReportingVO> page, TaskHotelReportingVO taskHotelReporting) {
@@ -50,21 +63,44 @@
 
 	@Override
 	public boolean saveHotelReporting(TaskHotelReportingDTO taskHotelReporting) {
-		Long aLong = taskService.saveTask(2, DictConstant.HOTEL_SECURITY, 1, "", AuthUtil.getUserId(),taskHotelReporting.getHouseCode(),taskHotelReporting.getReportType());
+		String name = DictConstant.HOTEL_SECURITY;
+		// 九小场所
+		if (taskHotelReporting.getEventType().equals(1)) {
+			taskHotelReporting.setReportType(7);
+			name = DictConstant.FIRE_CHECK;
+		}
+		Long aLong = taskService.saveTask(2, name, 1, "", AuthUtil.getUserId(),
+			taskHotelReporting.getHouseCode(), taskHotelReporting.getReportType(),0);
 		if (aLong > 0) {
+			// 通过houseCode 获取场所id
+			QueryWrapper<PlaceEntity> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("is_deleted", 0).eq("house_code", taskHotelReporting.getHouseCode());
+			PlaceEntity placeEntity = placeService.getOne(queryWrapper);
+			taskHotelReporting.setPlaceId(placeEntity.getId());
 			taskHotelReporting.setTaskId(aLong);
 			taskHotelReporting.setCheckUserId(AuthUtil.getUserId());
-			return baseMapper.insert(taskHotelReporting) > 0 ? true : false;
+			return baseMapper.insert(taskHotelReporting) > 0;
 		}
 		return false;
 	}
 
 
 	@Override
-	public Boolean updateHotelReporting(TaskHotelReportingEntity taskHotelReporting) {
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean updateHotelReporting(TaskHotelReportingVO taskHotelReporting) {
 		Long aLong = taskService.updateTask(null, null, null, "", AuthUtil.getUserId(), taskHotelReporting.getTaskId(), taskHotelReporting.getStatus());
 		if (aLong > 0) {
-			return baseMapper.updateById(taskHotelReporting) > 0 ? true : false;
+			if (null!=taskHotelReporting.getStatus()
+				&& taskHotelReporting.getStatus()!=4) {
+				taskHotelReporting.setConfirmFlag(taskHotelReporting.getStatus().toString());
+				taskHotelReporting.setConfirmUserId(AuthUtil.getUserId());
+				taskHotelReporting.setConfirmTime(new Date());
+			}
+			boolean b = baseMapper.updateById(taskHotelReporting) > 0;
+			if (b) {
+				return b;
+			}
+			throw new CustomException("更新失败!");
 		}
 		return false;
 	}

--
Gitblit v1.9.3