From 73ceaaa73dd6b73808aac425c70e0d9184f9f415 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 19 Apr 2024 17:33:53 +0800
Subject: [PATCH] 校园安全+议事问题优化

---
 src/main/java/org/springblade/modules/task/service/impl/TaskSchoolEvenServiceImpl.java     |   43 ++
 src/main/java/org/springblade/modules/task/service/ITaskSchoolEvenService.java             |   44 ++
 src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java            |   10 
 src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.java            |    2 
 src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.java                |   43 ++
 src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java |   24 
 src/main/java/org/springblade/modules/sms/mapper/SmsRecordMapper.xml                       |    1 
 src/main/java/org/springblade/modules/task/entity/TaskSchoolEvenEntity.java                |  129 +++++++
 src/main/java/org/springblade/modules/task/service/ITaskPlaceSelfCheckService.java         |    7 
 src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java             |   73 ++++
 src/main/java/org/springblade/modules/task/vo/TaskSchoolEvenVO.java                        |   34 ++
 src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java      |    8 
 src/main/java/org/springblade/modules/task/entity/TaskPlaceRecordEntity.java               |    2 
 src/main/java/org/springblade/modules/task/entity/TaskEntity.java                          |    2 
 src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml               |    4 
 src/main/java/org/springblade/modules/task/controller/TaskSchoolEvenController.java        |  125 +++++++
 src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java              |    9 
 src/main/java/org/springblade/modules/task/dto/TaskSchoolEvenDTO.java                      |  130 +++++++
 src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml             |    2 
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java               |  116 ++++--
 src/main/java/org/springblade/common/constant/DictConstant.java                            |    2 
 src/main/java/org/springblade/modules/sms/service/ISmsSendService.java                     |    2 
 src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.xml                 |   86 +++++
 src/main/java/org/springblade/common/constant/CommonConstant.java                          |    2 
 src/main/java/org/springblade/modules/task/wrapper/TaskSchoolEvenWrapper.java              |   51 +++
 src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java      |   10 
 src/main/java/org/springblade/modules/task/service/ITaskService.java                       |    2 
 src/main/java/org/springblade/xxljob/jobhandler/LabelHandleJob.java                        |   14 
 src/main/java/org/springblade/modules/sms/controller/SmsSendController.java                |   18 +
 29 files changed, 939 insertions(+), 56 deletions(-)

diff --git a/src/main/java/org/springblade/common/constant/CommonConstant.java b/src/main/java/org/springblade/common/constant/CommonConstant.java
index c7eb27f..bb3dbf6 100644
--- a/src/main/java/org/springblade/common/constant/CommonConstant.java
+++ b/src/main/java/org/springblade/common/constant/CommonConstant.java
@@ -86,6 +86,8 @@
 
 	Integer NUMBER_TWO = 2;
 
+	Integer NUMBER_FIVE = 5;
+
 	Integer NUMBER_THREE = 3;
 
 	Integer NUMBER_FOUR = 4;
diff --git a/src/main/java/org/springblade/common/constant/DictConstant.java b/src/main/java/org/springblade/common/constant/DictConstant.java
index a3395ea..4aecb19 100644
--- a/src/main/java/org/springblade/common/constant/DictConstant.java
+++ b/src/main/java/org/springblade/common/constant/DictConstant.java
@@ -57,6 +57,8 @@
 
 	String FIRE_SELF_CHECK_NOTICE = "消防自查";
 
+	String FIRE_SCHOOL_CHECK_NOTICE = "校园安全检查";
+
 	String NO_FRAUD_REPORTING = "无诈宣传";
 
 	String RESIDENCE_PERMIT_APPLICATION = "居住证申请";
diff --git a/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java b/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java
index 63979a0..04d4ef9 100644
--- a/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java
+++ b/src/main/java/org/springblade/modules/discuss/entity/PublicDiscussEntity.java
@@ -89,6 +89,15 @@
 	private Date endTime;
 
 	/**
+	 * 开始时间
+	 */
+	@ApiModelProperty(value = "开始时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("start_time")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date startTime;
+
+	/**
 	 * 文章id
 	 */
 	@ApiModelProperty(value = "文章id", example = "")
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
index 038ade7..1a7096b 100644
--- a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
+++ b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
@@ -11,6 +11,7 @@
         <result property="voteRestrictions"     column="vote_restrictions"    />
         <result property="userRestrictions"    column="user_restrictions"    />
         <result property="endTime"              column="end_time"    />
+        <result property="startTime"              column="start_time"    />
         <result property="articleId"            column="article_id"    />
         <result property="createTime"            column="create_time"    />
         <result property="updateTime"            column="update_time"    />
@@ -32,6 +33,7 @@
             vote_restrictions,
             user_restrictions,
             end_time,
+            start_time,
             article_id,
             create_time,
             update_time,
@@ -54,6 +56,7 @@
         jpd.vote_restrictions,
         jpd.user_restrictions,
         jpd.end_time,
+        jpd.start_time,
         jpd.article_id,
         jpd.create_time,
         jpd.update_time,
@@ -120,6 +123,7 @@
         jpd.vote_restrictions,
         jpd.user_restrictions,
         jpd.end_time,
+        jpd.start_time,
         jpd.article_id,
         jpd.create_time,
         jpd.update_time,
diff --git a/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java b/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
index 410328f..eba7dc5 100644
--- a/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
@@ -130,9 +130,13 @@
 			.eq(HouseholdEntity::getIsDeleted, 0)
 			.last("limit 1"));
 		IPublicDiscussService bean = SpringUtil.getBean(IPublicDiscussService.class);
-		PublicDiscussEntity one = bean.getOne(Wrappers.<PublicDiscussEntity>lambdaQuery().eq(PublicDiscussEntity::getArticleId, topicsList.get(0).getArticleId()));
+		PublicDiscussEntity discussEntity = bean.getOne(Wrappers.<PublicDiscussEntity>lambdaQuery().eq(PublicDiscussEntity::getArticleId, topicsList.get(0).getArticleId()));
+		// 判断是否在开始和结束时间内
+		if (discussEntity.getStartTime().getTime() > System.currentTimeMillis() || discussEntity.getEndTime().getTime() < System.currentTimeMillis()) {
+			return "目前不在投票时间内";
+		}
 		// 一户一票
-		if (one.getVoteRestrictions().equals(CommonConstant.NUMBER_ONE)) {
+		if (discussEntity.getVoteRestrictions().equals(CommonConstant.NUMBER_ONE)) {
 			long count = count(Wrappers.<UserTopicsEntity>lambdaQuery()
 				.eq(UserTopicsEntity::getHouseCode, topicsList.get(0).getHouseCode())
 				.eq(UserTopicsEntity::getArticleId, topicsList.get(0).getArticleId()));
diff --git a/src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java b/src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java
index fd50bf9..f3a65c4 100644
--- a/src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java
+++ b/src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java
@@ -87,4 +87,14 @@
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(value = "create_time",fill = FieldFill.INSERT)
 	private Date createTime;
+
+	/** 经度 */
+	@ApiModelProperty(value = "经度", example = "")
+	@TableField("longitude")
+	private String longitude;
+
+	/** 纬度 */
+	@ApiModelProperty(value = "纬度", example = "")
+	@TableField("latitude")
+	private String latitude;
 }
diff --git a/src/main/java/org/springblade/modules/sms/controller/SmsSendController.java b/src/main/java/org/springblade/modules/sms/controller/SmsSendController.java
index f8fbe63..37f0288 100644
--- a/src/main/java/org/springblade/modules/sms/controller/SmsSendController.java
+++ b/src/main/java/org/springblade/modules/sms/controller/SmsSendController.java
@@ -53,6 +53,9 @@
 
 	/**
 	 * 发送居住申请通知
+	 * @param templateId 模版id
+	 * @param residenceId 居住证申请记录id
+	 * @return
 	 */
 	@GetMapping("/sendNotice")
 	@ApiOperationSupport(order = 1)
@@ -63,5 +66,20 @@
 		return R.status(aBoolean);
 	}
 
+	/**
+	 *
+	 * @param templateId
+	 * @param placeSelfCheckId
+	 * @return
+	 */
+	@GetMapping("/sendRectificationNotice")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "发送整改完成通知")
+	public R<SmsTemplateVO> sendRectificationNotice(@RequestParam("templateId") Long templateId,
+									   @RequestParam(value = "placeSelfCheckId",required = false) Long placeSelfCheckId) {
+		Boolean aBoolean = iSmsSendService.sendRectificationNotice(templateId,placeSelfCheckId);
+		return R.status(aBoolean);
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/sms/mapper/SmsRecordMapper.xml b/src/main/java/org/springblade/modules/sms/mapper/SmsRecordMapper.xml
index 31de588..4d0d185 100644
--- a/src/main/java/org/springblade/modules/sms/mapper/SmsRecordMapper.xml
+++ b/src/main/java/org/springblade/modules/sms/mapper/SmsRecordMapper.xml
@@ -20,6 +20,7 @@
             <if test="smsRecord.updateTime != null ">and update_time = #{smsRecord.updateTime}</if>
             <if test="smsRecord.status != null ">and status = #{smsRecord.status}</if>
             <if test="smsRecord.isDeleted != null ">and is_deleted = #{smsRecord.isDeleted}</if>
+            order by create_time desc
         </where>
     </select>
 
diff --git a/src/main/java/org/springblade/modules/sms/service/ISmsSendService.java b/src/main/java/org/springblade/modules/sms/service/ISmsSendService.java
index f589f43..a4792a9 100644
--- a/src/main/java/org/springblade/modules/sms/service/ISmsSendService.java
+++ b/src/main/java/org/springblade/modules/sms/service/ISmsSendService.java
@@ -36,4 +36,6 @@
 
 
 	Boolean sendNotice(Long templateId,Long residenceId);
+
+	Boolean sendRectificationNotice(Long templateId,Long placeSelfCheckId);
 }
diff --git a/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java b/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
index 23d6f0a..a887043 100644
--- a/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
+++ b/src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
@@ -37,7 +37,11 @@
 import org.springblade.modules.sms.service.ISmsTemplateService;
 import org.springblade.modules.sms.entity.SmsRecordEntity;
 import org.springblade.modules.sms.service.ISmsRecordService;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.vo.UserVO;
+import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
 import org.springblade.modules.task.entity.TaskResidencePermitApplyEntity;
+import org.springblade.modules.task.service.ITaskPlaceSelfCheckService;
 import org.springblade.modules.task.service.ITaskResidencePermitApplyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -78,6 +82,11 @@
 	public Boolean sendVerificationCode(String phone) {
 		if (phone == null || phone.length() != 11) {
 			logger.error("手机号格式错误");
+			return false;
+		}
+
+		if (redisTemplate.exists(SMS_VALIDATE_PHONE_NUM + phone)) {
+			logger.error("同一个手机号一分钟内只能发送一条记录");
 			return false;
 		}
 
@@ -138,13 +147,12 @@
 
 
 	/**
-	 *
 	 * @param templateId
 	 * @param residenceId
 	 * @return
 	 */
 	@Override
-	public Boolean sendNotice( Long templateId, Long residenceId) {
+	public Boolean sendNotice(Long templateId, Long residenceId) {
 
 		Sms serviceOne = iSmsService.getOne(Wrappers.<Sms>lambdaQuery().eq(Sms::getStatus, 2));
 		if (serviceOne == null) {
@@ -197,6 +205,67 @@
 	}
 
 	/**
+	 * @param templateId
+	 * @param placeSelfCheckId
+	 * @return
+	 */
+	@Override
+	public Boolean sendRectificationNotice(Long templateId, Long placeSelfCheckId) {
+
+		Sms serviceOne = iSmsService.getOne(Wrappers.<Sms>lambdaQuery().eq(Sms::getStatus, 2));
+		if (serviceOne == null) {
+			logger.error("未找到状态为2的Sms服务");
+			return false;
+		}
+		SmsTemplateEntity smsTemplateEntity = iSmsTemplateService.getOne(Wrappers.<SmsTemplateEntity>lambdaQuery()
+			.eq(SmsTemplateEntity::getId, templateId));
+		if (smsTemplateEntity == null) {
+			logger.error("未找到对应的短信模板");
+			return false;
+		}
+		ITaskPlaceSelfCheckService bean = SpringUtils.getBean(ITaskPlaceSelfCheckService.class);
+		TaskPlaceSelfCheckEntity placeSelfCheckEntity = bean.getById(placeSelfCheckId);
+		IUserService userService = SpringUtils.getBean(IUserService.class);
+		UserVO userVO = userService.getuserById(placeSelfCheckEntity.getId());
+		String phone = userVO.getPhone();
+		//发送的手机号
+		List<Map> phonesList = new ArrayList<>();
+		Map phoneMap = new HashMap();
+		phoneMap.put("phone", phone);
+		List<String> varList = new ArrayList<>();
+		// 设置参数
+
+		varList.add(userVO.getName());
+		varList.add(placeSelfCheckEntity.getPlaceName());
+		phoneMap.put("varList", varList);
+		phonesList.add(phoneMap);
+		//短信内容
+		String content = smsTemplateEntity.getContent();
+		//发送时间
+		LocalDateTime nowDateTime = LocalDateTime.now();
+		String send_time = nowDateTime.format(SECOND_FORMATTER);
+		Map params = new HashMap();
+		params.put("phones", phonesList);
+		//短信主题
+		params.put("subject", "对外接口不同内容发送-动态模板");
+		params.put("content", content);
+		//短信模板
+		params.put("template_id", null);
+		// 发送时间
+		params.put("send_time", send_time);
+		//优先级,高级=5,中级=3,低级=1
+		params.put("priority", "1");
+		//不同内容发送类型,1=动态模板发送,2=文件内容发送
+		params.put("type", "1");
+		//创建人主键
+		params.put("sop_create_by", serviceOne.getSmsCode());
+		//短信发送记录
+		saveSmsRecord(phone, serviceOne, placeSelfCheckEntity.getPlaceName(), content);
+		Boolean aBoolean = sendSmsGet(serviceOne, params);
+		return aBoolean;
+	}
+
+	/**
 	 * 发送短信并获取发送结果。
 	 *
 	 * @param serviceOne 用于发送短信的服务对象
diff --git a/src/main/java/org/springblade/modules/task/controller/TaskSchoolEvenController.java b/src/main/java/org/springblade/modules/task/controller/TaskSchoolEvenController.java
new file mode 100644
index 0000000..f350aa0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/controller/TaskSchoolEvenController.java
@@ -0,0 +1,125 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.task.service.ITaskSchoolEvenService;
+import org.springblade.modules.task.vo.TaskSchoolEvenVO;
+import org.springblade.modules.task.wrapper.TaskSchoolEvenWrapper;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 校园事件 控制器
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-taskSchoolEven/taskSchoolEven")
+@Api(value = "校园事件", tags = "校园事件接口")
+public class TaskSchoolEvenController extends BladeController {
+
+	private final ITaskSchoolEvenService taskSchoolEvenService;
+
+	/**
+	 * 校园事件 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入taskSchoolEven")
+	public R<TaskSchoolEvenVO> detail(TaskSchoolEvenEntity taskSchoolEven) {
+		TaskSchoolEvenEntity detail = taskSchoolEvenService.getOne(Condition.getQueryWrapper(taskSchoolEven));
+		return R.data(TaskSchoolEvenWrapper.build().entityVO(detail));
+	}
+	/**
+	 * 校园事件 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入taskSchoolEven")
+	public R<IPage<TaskSchoolEvenVO>> list(TaskSchoolEvenEntity taskSchoolEven, Query query) {
+		IPage<TaskSchoolEvenEntity> pages = taskSchoolEvenService.page(Condition.getPage(query), Condition.getQueryWrapper(taskSchoolEven));
+		return R.data(TaskSchoolEvenWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 校园事件 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入taskSchoolEven")
+	public R<IPage<TaskSchoolEvenVO>> page(TaskSchoolEvenVO taskSchoolEven, Query query) {
+		IPage<TaskSchoolEvenVO> pages = taskSchoolEvenService.selectTaskSchoolEvenPage(Condition.getPage(query), taskSchoolEven);
+		return R.data(pages);
+	}
+
+	/**
+	 * 校园事件 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入taskSchoolEven")
+	public R save(@Valid @RequestBody TaskSchoolEvenEntity taskSchoolEven) {
+		return R.status(taskSchoolEvenService.save(taskSchoolEven));
+	}
+
+	/**
+	 * 校园事件 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入taskSchoolEven")
+	public R update(@Valid @RequestBody TaskSchoolEvenEntity taskSchoolEven) {
+		return R.status(taskSchoolEvenService.updateById(taskSchoolEven));
+	}
+
+	/**
+	 * 校园事件 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入taskSchoolEven")
+	public R submit(@Valid @RequestBody TaskSchoolEvenEntity taskSchoolEven) {
+		return R.status(taskSchoolEvenService.saveOrUpdate(taskSchoolEven));
+	}
+
+	/**
+	 * 校园事件 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(taskSchoolEvenService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/task/dto/TaskSchoolEvenDTO.java b/src/main/java/org/springblade/modules/task/dto/TaskSchoolEvenDTO.java
new file mode 100644
index 0000000..a26449d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/dto/TaskSchoolEvenDTO.java
@@ -0,0 +1,130 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 校园事件 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TaskSchoolEvenDTO extends TaskSchoolEvenEntity {
+	private static final long serialVersionUID = 1L;
+
+
+	/** id */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.AUTO)
+	private Long id;
+
+	/** 创建人 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("create_user")
+	private Long createUser;
+
+	/** 图片 */
+	@ApiModelProperty(value = "图片", example = "")
+	@TableField("images")
+	private String images;
+
+	/** 描述 */
+	@ApiModelProperty(value = "描述", example = "")
+	@TableField("describe")
+	private String describe;
+
+	/** 隐患类型 */
+	@ApiModelProperty(value = "隐患类型", example = "")
+	@TableField("hidden_danger_type")
+	private String hiddenDangerType;
+
+	/** 类型 1:隐患 2:矛盾 */
+	@ApiModelProperty(value = "类型 1:隐患 2:矛盾", example = "")
+	@TableField("type")
+	private String type;
+
+	/** 是否问题 1:是 2:否 */
+	@ApiModelProperty(value = "是否问题 1:是 2:否", example = "")
+	@TableField("is_problem")
+	private String isProblem;
+
+	/** 是否处理 1:是 2:否 */
+	@ApiModelProperty(value = "是否处理 1:是 2:否", example = "")
+	@TableField("is_handle")
+	private String isHandle;
+
+	/** 是否上报 1:是 2:否 */
+	@ApiModelProperty(value = "是否上报 1:是 2:否", example = "")
+	@TableField("is_reporting")
+	private String isReporting;
+
+	/** 工作照片 */
+	@ApiModelProperty(value = "工作照片", example = "")
+	@TableField("work_image")
+	private String workImage;
+
+	/** 确认标记 1:待审核  2:审核通过  3:审核不通过  */
+	@ApiModelProperty(value = "确认标记 1:待审核  2:审核通过  3:审核不通过 ", example = "")
+	@TableField("confirm_flag")
+	private String confirmFlag;
+
+	/** 确认时间 */
+	@ApiModelProperty(value = "确认时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("confirm_time")
+	private Date confirmTime;
+
+	/** 确认用户ID */
+	@ApiModelProperty(value = "确认用户ID", example = "")
+	@TableField("confirm_user_id")
+	private Long confirmUserId;
+
+	/** 确认用户ID */
+	@ApiModelProperty(value = "确认用户ID", example = "")
+	@TableField("confirm_user_name")
+	private String confirmUserName;
+
+	/** 确认意见 */
+	@ApiModelProperty(value = "确认意见", example = "")
+	@TableField("confirm_notion")
+	private String confirmNotion;
+
+	/** 创建时间 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "create_time",fill = FieldFill.INSERT)
+	private Date createTime;
+
+	/** 更新时间 */
+	@ApiModelProperty(value = "更新时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "update_time",fill = FieldFill.UPDATE)
+	private Date updateTime;
+}
diff --git a/src/main/java/org/springblade/modules/task/entity/TaskEntity.java b/src/main/java/org/springblade/modules/task/entity/TaskEntity.java
index 060e161..9509d83 100644
--- a/src/main/java/org/springblade/modules/task/entity/TaskEntity.java
+++ b/src/main/java/org/springblade/modules/task/entity/TaskEntity.java
@@ -63,7 +63,7 @@
 	private String houseCode;
 
 	/** 事件类型(1:取保候审,2.居住证申请 3 统战部事件上报 5二手交易 6.无诈 7.消防自查任务 8 九小整改任务) */
-	@ApiModelProperty(value = "事件类型(1:取保候审,2.居住证申请 3 统战部事件上报 5二手交易 6.无诈 7.消防自查任务 8 九小整改任务  )", example = "")
+	@ApiModelProperty(value = "事件类型(1:取保候审,2.居住证申请 3 统战部事件上报 4校园安全 5二手交易 6.无诈 7.消防自查任务 8 九小整改任务  )", example = "")
 	@TableField("report_type")
 	private Integer reportType;
 	/**
diff --git a/src/main/java/org/springblade/modules/task/entity/TaskPlaceRecordEntity.java b/src/main/java/org/springblade/modules/task/entity/TaskPlaceRecordEntity.java
index af4331a..8ebe2fe 100644
--- a/src/main/java/org/springblade/modules/task/entity/TaskPlaceRecordEntity.java
+++ b/src/main/java/org/springblade/modules/task/entity/TaskPlaceRecordEntity.java
@@ -103,7 +103,7 @@
 	private Date rectificationTime;
 
 	/** 1 自查 2.无诈 */
-	@ApiModelProperty(value = "1 自查 2.无诈", example = "")
+	@ApiModelProperty(value = "1 自查 2.无诈 3:校园安全检查", example = "")
 	@TableField("type")
 	private String type;
 }
diff --git a/src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java b/src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java
index f5d6bef..52313ae 100644
--- a/src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java
+++ b/src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java
@@ -133,4 +133,14 @@
 	@ApiModelProperty(value = "0:否 1:是", example = "")
 	@TableField("delete_flag")
 	private Integer deleteFlag;
+
+	/** 1:消防自查 2:校园安全检查 */
+	@ApiModelProperty(value = "1:消防自查 2:校园安全检查", example = "")
+	@TableField("type")
+	private String type;
+
+	/** 1:否 2:是 */
+	@ApiModelProperty(value = "1:否 2:是", example = "")
+	@TableField("send_sms_flag")
+	private String sendSmsFlag;
 }
diff --git a/src/main/java/org/springblade/modules/task/entity/TaskSchoolEvenEntity.java b/src/main/java/org/springblade/modules/task/entity/TaskSchoolEvenEntity.java
new file mode 100644
index 0000000..ac77e31
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/entity/TaskSchoolEvenEntity.java
@@ -0,0 +1,129 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+import java.util.Date;
+
+/**
+ * 校园事件 实体类
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+@Data
+@TableName("jczz_task_school_even")
+@ApiModel(value = "TaskSchoolEven对象", description = "校园事件")
+public class TaskSchoolEvenEntity {
+
+
+
+	/** id */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private Long id;
+
+	/** 创建人 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("create_user")
+	private Long createUser;
+
+	/** 图片 */
+	@ApiModelProperty(value = "图片", example = "")
+	@TableField("images")
+	private String images;
+
+	/** 描述 */
+	@ApiModelProperty(value = "描述", example = "")
+	@TableField("describe")
+	private String describe;
+
+	/** 隐患类型 */
+	@ApiModelProperty(value = "隐患类型", example = "")
+	@TableField("hidden_danger_type")
+	private String hiddenDangerType;
+
+	/** 类型 1:隐患 2:矛盾 */
+	@ApiModelProperty(value = "类型 1:隐患 2:矛盾", example = "")
+	@TableField("type")
+	private String type;
+
+	/** 是否问题 1:是 2:否 */
+	@ApiModelProperty(value = "是否问题 1:是 2:否", example = "")
+	@TableField("is_problem")
+	private String isProblem;
+
+	/** 是否处理 1:是 2:否 */
+	@ApiModelProperty(value = "是否处理 1:是 2:否", example = "")
+	@TableField("is_handle")
+	private String isHandle;
+
+	/** 是否上报 1:是 2:否 */
+	@ApiModelProperty(value = "是否上报 1:是 2:否", example = "")
+	@TableField("is_reporting")
+	private String isReporting;
+
+	/** 工作照片 */
+	@ApiModelProperty(value = "工作照片", example = "")
+	@TableField("work_image")
+	private String workImage;
+
+	/** 确认标记 1:待审核  2:审核通过  3:审核不通过  */
+	@ApiModelProperty(value = "确认标记 1:待审核  2:审核通过  3:审核不通过 ", example = "")
+	@TableField("confirm_flag")
+	private String confirmFlag;
+
+	/** 确认时间 */
+	@ApiModelProperty(value = "确认时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("confirm_time")
+	private Date confirmTime;
+
+	/** 确认用户ID */
+	@ApiModelProperty(value = "确认用户ID", example = "")
+	@TableField("confirm_user_id")
+	private Long confirmUserId;
+
+	/** 确认用户ID */
+	@ApiModelProperty(value = "确认用户ID", example = "")
+	@TableField("confirm_user_name")
+	private String confirmUserName;
+
+	/** 确认意见 */
+	@ApiModelProperty(value = "确认意见", example = "")
+	@TableField("confirm_notion")
+	private String confirmNotion;
+
+	/** 创建时间 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "create_time",fill = FieldFill.INSERT)
+	private Date createTime;
+
+	/** 更新时间 */
+	@ApiModelProperty(value = "更新时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "update_time",fill = FieldFill.UPDATE)
+	private Date updateTime;
+}
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.java
index fe6ab63..b11761d 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.java
@@ -78,7 +78,7 @@
 														   @Param("regionChildCodesList") List<String> regionChildCodesList,
 														   @Param("gridCodeList") List<String> gridCodeList);
 
-	Integer getCount(String neiCode, int i,Long userId);
+	Integer getCount(String neiCode, int status,Long userId, int type);
 
 	/**
 	 * 消防自查详情查询
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml
index 381b8bb..1f113c4 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml
@@ -80,6 +80,7 @@
             <if test="place.updateTime != null ">and jpc.update_time = #{place.updateTime}</if>
             <if test="place.createTime != null ">and jpc.create_time = #{place.createTime}</if>
             <if test="place.houseCode != null  and place.houseCode != ''">and jpc.house_code = #{place.houseCode}</if>
+            <if test="place.type != null  and place.type != ''">and jpc.type = #{place.type}</if>
             <if test="place.rectificationEndTime != null ">and jpc.rectification_end_time =
                 #{place.rectificationEndTime}
             </if>
@@ -492,6 +493,7 @@
         WHERE jp.jw_grid_code IN
               (SELECT jpag.jw_grid_code FROM jczz_police_affairs_grid jpag WHERE jpag.police_user_id like concat('%',#{userId},'%') )
           AND jtpsc.`status` = 1
+          AND jtpsc.`type` = #{type}
           AND jg.community_code=#{neiCode}
     </select>
 
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.java
new file mode 100644
index 0000000..aae8651
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.java
@@ -0,0 +1,43 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.mapper;
+
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+import org.springblade.modules.task.vo.TaskSchoolEvenVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 校园事件 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+public interface TaskSchoolEvenMapper extends BaseMapper<TaskSchoolEvenEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param taskSchoolEven
+	 * @return
+	 */
+	List<TaskSchoolEvenVO> selectTaskSchoolEvenPage(IPage page, TaskSchoolEvenVO taskSchoolEven);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.xml
new file mode 100644
index 0000000..833782e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.task.mapper.TaskSchoolEvenMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="taskSchoolEvenResultMap" type="org.springblade.modules.task.entity.TaskSchoolEvenEntity">
+    </resultMap>
+
+
+    <select id="selectTaskSchoolEvenPage" resultMap="taskSchoolEvenResultMap">
+        select * from jczz_task_school_even
+    </select>
+
+    <resultMap type="org.springblade.modules.task.dto.TaskSchoolEvenDTO" id="TaskSchoolEvenDTOResult">
+        <result property="id"    column="id"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="images"    column="images"    />
+        <result property="describe"    column="describe"    />
+        <result property="hiddenDangerType"    column="hidden_danger_type"    />
+        <result property="type"    column="type"    />
+        <result property="isProblem"    column="is_problem"    />
+        <result property="isHandle"    column="is_handle"    />
+        <result property="isReporting"    column="is_reporting"    />
+        <result property="workImage"    column="work_image"    />
+        <result property="confirmFlag"    column="confirm_flag"    />
+        <result property="confirmTime"    column="confirm_time"    />
+        <result property="confirmUserId"    column="confirm_user_id"    />
+        <result property="confirmUserName"    column="confirm_user_name"    />
+        <result property="confirmNotion"    column="confirm_notion"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectTaskSchoolEven">
+        select
+            id,
+            create_user,
+            images,
+            describe,
+            hidden_danger_type,
+            type,
+            is_problem,
+            is_handle,
+            is_reporting,
+            work_image,
+            confirm_flag,
+            confirm_time,
+            confirm_user_id,
+            confirm_user_name,
+            confirm_notion,
+            create_time,
+            update_time
+        from
+            jczz_task_school_even
+    </sql>
+
+<!--    <select id="selectTaskSchoolEvenById" parameterType="long" resultMap="TaskSchoolEvenDTOResult">-->
+<!--        <include refid="selectTaskSchoolEven"/>-->
+<!--        where-->
+<!--        id = #{id}-->
+<!--    </select>-->
+
+<!--    <select id="selectTaskSchoolEvenList" parameterType="org.springblade.modules..dto.TaskSchoolEvenDTO" resultMap="TaskSchoolEvenDTOResult">-->
+<!--        <include refid="selectTaskSchoolEven"/>-->
+<!--        <where>-->
+<!--            <if test="id != null "> and id = #{id}</if>-->
+<!--            <if test="createUser != null "> and create_user = #{createUser}</if>-->
+<!--            <if test="images != null  and images != ''"> and images = #{images}</if>-->
+<!--            <if test="describe != null  and describe != ''"> and describe = #{describe}</if>-->
+<!--            <if test="hiddenDangerType != null  and hiddenDangerType != ''"> and hidden_danger_type = #{hiddenDangerType}</if>-->
+<!--            <if test="type != null  and type != ''"> and type = #{type}</if>-->
+<!--            <if test="isProblem != null  and isProblem != ''"> and is_problem = #{isProblem}</if>-->
+<!--            <if test="isHandle != null  and isHandle != ''"> and is_handle = #{isHandle}</if>-->
+<!--            <if test="isReporting != null  and isReporting != ''"> and is_reporting = #{isReporting}</if>-->
+<!--            <if test="workImage != null  and workImage != ''"> and work_image = #{workImage}</if>-->
+<!--            <if test="confirmFlag != null  and confirmFlag != ''"> and confirm_flag = #{confirmFlag}</if>-->
+<!--            <if test="confirmTime != null "> and confirm_time = #{confirmTime}</if>-->
+<!--            <if test="confirmUserId != null "> and confirm_user_id = #{confirmUserId}</if>-->
+<!--            <if test="confirmUserName != null  and confirmUserName != ''"> and confirm_user_name = #{confirmUserName}</if>-->
+<!--            <if test="confirmNotion != null  and confirmNotion != ''"> and confirm_notion = #{confirmNotion}</if>-->
+<!--            <if test="createTime != null "> and create_time = #{createTime}</if>-->
+<!--            <if test="updateTime != null "> and update_time = #{updateTime}</if>-->
+<!--        </where>-->
+<!--    </select>-->
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskPlaceSelfCheckService.java b/src/main/java/org/springblade/modules/task/service/ITaskPlaceSelfCheckService.java
index e046a7f..2b07758 100644
--- a/src/main/java/org/springblade/modules/task/service/ITaskPlaceSelfCheckService.java
+++ b/src/main/java/org/springblade/modules/task/service/ITaskPlaceSelfCheckService.java
@@ -42,6 +42,7 @@
 	 * @return
 	 */
 	IPage<TaskPlaceSelfCheckVO> selectTaskPlaceSelfCheckPage(IPage<TaskPlaceSelfCheckVO> page, TaskPlaceSelfCheckVO taskPlaceSelfCheck);
+
 	/**
 	 * 查询消防自查记任务表
 	 *
@@ -59,21 +60,21 @@
 	public List<TaskPlaceSelfCheckDTO> selectTaskPlaceSelfCheckList(TaskPlaceSelfCheckDTO taskPlaceSelfCheckDTO);
 
 
-	Boolean savePlace(TaskPlaceSelfCheckVO taskPlaceSelfCheck) ;
+	Boolean savePlace(TaskPlaceSelfCheckVO taskPlaceSelfCheck);
 
 	Boolean updateTaskPlaceSelfCheck(TaskPlaceSelfCheckVO taskPlaceSelfCheck);
 
 	/**
 	 * 导出消防自查信息
+	 *
 	 * @param taskPlaceSelfCheck
 	 * @return
 	 */
 	List<TaskPlaceSelfCheckExcel> exportTaskPlaceSelfCheck(TaskPlaceSelfCheckVO taskPlaceSelfCheck);
 
-    Integer getCount(String neiCode, int i);
+	Integer getCount(String neiCode, int i, int type);
 
 	/**
-	 *
 	 * @param taskId
 	 * @return
 	 */
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskSchoolEvenService.java b/src/main/java/org/springblade/modules/task/service/ITaskSchoolEvenService.java
new file mode 100644
index 0000000..321ea57
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/service/ITaskSchoolEvenService.java
@@ -0,0 +1,44 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import liquibase.pro.packaged.I;
+import org.springblade.modules.task.vo.TaskSchoolEvenVO;
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 校园事件 服务类
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+public interface ITaskSchoolEvenService extends IService<TaskSchoolEvenEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param taskSchoolEven
+	 * @return
+	 */
+	IPage<TaskSchoolEvenVO> selectTaskSchoolEvenPage(IPage<TaskSchoolEvenVO> page, TaskSchoolEvenVO taskSchoolEven);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskService.java b/src/main/java/org/springblade/modules/task/service/ITaskService.java
index 57742ff..c667956 100644
--- a/src/main/java/org/springblade/modules/task/service/ITaskService.java
+++ b/src/main/java/org/springblade/modules/task/service/ITaskService.java
@@ -87,4 +87,6 @@
 	Boolean examine(TaskEntity task);
 
 	boolean createResidenceSendSms(String param);
+
+	boolean createSchoolSendSms(String param);
 }
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
index 2da3a52..bf20c1c 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
@@ -137,16 +137,22 @@
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public Boolean savePlace(TaskPlaceSelfCheckVO taskPlaceSelfCheck)  {
+	public Boolean savePlace(TaskPlaceSelfCheckVO taskPlaceSelfCheck) {
 		taskPlaceSelfCheck.setCreateUser(AuthUtil.getUserId());
 		// 1.保存任务表
-		ITaskService bean2 = SpringUtils.getBean(ITaskService.class);
-		Long aLong = bean2.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SELF_CHECK_NOTICE, 1,
-			"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_SEVEN, 1);
-		if (aLong <= 0) {
+		ITaskService iTaskService = SpringUtils.getBean(ITaskService.class);
+		Long restults;
+		if (taskPlaceSelfCheck.getType().equals("2")) {
+			restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SCHOOL_CHECK_NOTICE, 1,
+				"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_FOUR, 1);
+		} else {
+			restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SELF_CHECK_NOTICE, 1,
+				"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_SEVEN, 1);
+		}
+		if (restults <= 0) {
 			return false;
 		}
-		taskPlaceSelfCheck.setTaskId(aLong);
+		taskPlaceSelfCheck.setTaskId(restults);
 		// 2.保存任务详情
 		boolean save = save(taskPlaceSelfCheck);
 		if (save) {
@@ -245,17 +251,17 @@
 	}
 
 	@Override
-	public Integer getCount(String neiCode, int i) {
+	public Integer getCount(String neiCode, int status, int type) {
 		// 获取请求头中的角色别名
 		String roleName = SpringUtils.getRequestParam("roleName");
 		if (AuthUtils.isMj(roleName)) {
-			return baseMapper.getCount(neiCode, i, AuthUtil.getUserId());
+			return baseMapper.getCount(neiCode, status, AuthUtil.getUserId(), type);
 		}
 		return 0;
 	}
 
 	@Override
 	public TaskPlaceSelfCheckEntity getDetailByTaskId(Long taskId) {
-		return baseMapper.getDetailByTaskId( taskId);
+		return baseMapper.getDetailByTaskId(taskId);
 	}
 }
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskSchoolEvenServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskSchoolEvenServiceImpl.java
new file mode 100644
index 0000000..760f081
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskSchoolEvenServiceImpl.java
@@ -0,0 +1,43 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.task.service.ITaskSchoolEvenService;
+import org.springblade.modules.task.vo.TaskSchoolEvenVO;
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+import org.springblade.modules.task.mapper.TaskSchoolEvenMapper;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 校园事件 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+@Service
+public class TaskSchoolEvenServiceImpl extends ServiceImpl<TaskSchoolEvenMapper, TaskSchoolEvenEntity> implements ITaskSchoolEvenService {
+
+	@Override
+	public IPage<TaskSchoolEvenVO> selectTaskSchoolEvenPage(IPage<TaskSchoolEvenVO> page, TaskSchoolEvenVO taskSchoolEven) {
+		return page.setRecords(baseMapper.selectTaskSchoolEvenPage(page, taskSchoolEven));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 3846c51..91c82c2 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -57,6 +57,8 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -237,22 +239,22 @@
 	public Object countTypeNumber(Integer roleType, String neiCode) {
 		TaskVO taskVO = new TaskVO();
 		Map<String, Object> objectObjectHashMap = new HashMap<>();
-		taskVO.setStatus(1);
-		taskVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
+		taskVO.setStatus(CommonConstant.NUMBER_ONE);
+		taskVO.setUserId(roleType > CommonConstant.NUMBER_ZERO ? AuthUtil.getUserId() : null);
 		taskVO.setNeiCode(neiCode);
-		taskVO.setReportType(5);
-		taskVO.setIsDeleted(0);
+		taskVO.setReportType(CommonConstant.NUMBER_FIVE);
+		taskVO.setIsDeleted(CommonConstant.NUMBER_ZERO);
 		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class, taskVO);
 
 		// 标签报事-二手交易
 		Integer bqsj = baseMapper.selectTaskCount(taskVO, commonParamSet.getRegionChildCodesList(),
 			commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
-		taskVO.setReportType(1);
+		taskVO.setReportType(CommonConstant.NUMBER_ONE);
 		// 取保候审
 		Integer qbhs = baseMapper.selectTaskCount(taskVO, commonParamSet.getRegionChildCodesList(),
 			commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
 		// 报事报修
-		Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode,commonParamSet.getRegionChildCodesList(),
+		Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, commonParamSet.getRegionChildCodesList(),
 			commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
 		// 住户审核
 		Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 0);
@@ -262,17 +264,19 @@
 		houseRentalTenantVO.setAuditStatus(2);
 		Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO);
 		// 场所审核
-		Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 1);
+		Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, CommonConstant.NUMBER_ONE);
 		// 走访日志
 		// 查询网格员对应的网格id
 		String gridCode = getGridCode();
-		Integer zfrw = SpringUtils.getBean(IGridWorkLogService.class).getGridWorkCountHandleCount(gridCode, 1);
+		Integer zfrw = SpringUtils.getBean(IGridWorkLogService.class).getGridWorkCountHandleCount(gridCode, CommonConstant.NUMBER_ONE);
 		// 消防自查
-		Integer xfzc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, 1);
+		Integer xfzc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, CommonConstant.NUMBER_ONE, CommonConstant.NUMBER_ONE);
+		// 校园检查
+		Integer xyjc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, CommonConstant.NUMBER_ONE, CommonConstant.NUMBER_TWO);
 		// 消防隐患整改
-		Integer xfyhzg = SpringUtils.getBean(ITaskPlaceRectificationService.class).getCount(neiCode, 1);
+		Integer xfyhzg = SpringUtils.getBean(ITaskPlaceRectificationService.class).getCount(neiCode, CommonConstant.NUMBER_ONE);
 		// 居住证申请
-		Integer jzzsq = residencePermitApplyService.getCount(neiCode, 1);
+		Integer jzzsq = residencePermitApplyService.getCount(neiCode, CommonConstant.NUMBER_ONE);
 		// 无诈统计
 		taskVO.setReportType(6);
 		Integer wztj = baseMapper.selectTaskCount(taskVO, commonParamSet.getRegionChildCodesList(),
@@ -289,6 +293,7 @@
 		objectObjectHashMap.put("xfyhzg", xfyhzg);// 消防隐患整改
 		objectObjectHashMap.put("jzzsq", jzzsq);// 居住证申请
 		objectObjectHashMap.put("wztj", wztj);// 无诈
+		objectObjectHashMap.put("xyjc", xyjc);// 校园检查
 		return objectObjectHashMap;
 	}
 
@@ -676,7 +681,7 @@
 	 *
 	 * @param param 传递给发送短信任务的参数,具体用途根据实现而定。
 	 * @return 返回一个布尔值,通常用于指示任务是否创建成功。
-	 *         根据实际逻辑需要调整返回值,当前示例中返回值始终为false。
+	 * 根据实际逻辑需要调整返回值,当前示例中返回值始终为false。
 	 */
 	@Override
 	public boolean createResidenceSendSms(String param) {
@@ -695,6 +700,45 @@
 		return false; // 根据实际逻辑调整返回值
 	}
 
+	@Override
+	public boolean createSchoolSendSms(String param) {
+		try {
+			// 计算当前时间加一天
+			LocalDate endDate = LocalDate.now().plusDays(1);
+			// 创建表示一天结束时刻的 LocalTime 对象
+			LocalTime endOfDayTime = LocalTime.of(23, 59, 59, 999_000_000); // 纳秒精度为999毫微秒,接近最大值
+			// 合并得到加一天后的最后时刻的 LocalDateTime
+			LocalDateTime endTime = LocalDateTime.of(endDate, endOfDayTime);
+			ITaskPlaceSelfCheckService taskPlaceSelfCheckService = SpringUtils.getBean(ITaskPlaceSelfCheckService.class);
+			// 查询整改完毕且未发送短信的记录
+			List<TaskPlaceSelfCheckEntity> list = taskPlaceSelfCheckService.list(new LambdaQueryWrapper<TaskPlaceSelfCheckEntity>()
+				.eq(TaskPlaceSelfCheckEntity::getRectificationFlag, CommonConstant.NUMBER_TWO)
+				.eq(TaskPlaceSelfCheckEntity::getSendSmsFlag, CommonConstant.NUMBER_ONE)
+				.le(TaskPlaceSelfCheckEntity::getRectificationEndTime, endTime));
+			if (list == null || list.isEmpty()) {
+				return false;
+			}
+			// 用于收集成功发送短信并需更新状态的实体列表
+			List<TaskPlaceSelfCheckEntity> updatedEntities = new ArrayList<>();
+			for (TaskPlaceSelfCheckEntity updatedEntity : list) {
+				// 尝试发送短信,发送成功则更新实体状态
+				Boolean smsSent = smsSendService.sendNotice(SMS_TEMPLATE_ID, updatedEntity.getId());
+				if (smsSent) {
+					updatedEntity.setSendSmsFlag("2"); // 标记为已发送短信
+					updatedEntities.add(updatedEntity); // 加入到需更新的实体列表中
+				}
+			}
+			// 若存在需更新的实体,则批量更新这些实体的状态
+			if (!updatedEntities.isEmpty()) {
+				taskPlaceSelfCheckService.updateBatchById(updatedEntities);
+			}
+		} catch (Exception e) {
+			// 处理发送短信过程中可能出现的异常,如记录日志
+			logger.error("Error occurred while sending SMS: " + e.getMessage(), e);
+			return false; // 根据异常处理逻辑决定是否返回false或其他值
+		}
+		return false; // 根据实际逻辑调整返回值
+	}
 
 	/**
 	 * 获取六个月前的日期。
@@ -703,8 +747,8 @@
 	 * @return 返回一个LocalDate对象,表示六个月前的日期。
 	 */
 	private LocalDate getSixMonthsAgo() {
-	    // 获取当前日期并减去6个月
-	    return LocalDate.now().minus(6, ChronoUnit.MONTHS);
+		// 获取当前日期并减去6个月
+		return LocalDate.now().minus(6, ChronoUnit.MONTHS);
 	}
 
 	/**
@@ -713,35 +757,35 @@
 	 * @param sixMonthsAgo 六个月前的日期,用于筛选确认时间在六个月之前的申请记录。
 	 * @return 返回一个包含所有符合条件的居住证申请实体的列表。
 	 */
-		private List<TaskResidencePermitApplyEntity> queryEntitiesToSms(LocalDate sixMonthsAgo) {
-			// 使用LambdaQueryWrapper构建查询条件,筛选出确认状态为2(即确认),且未发送过短信(发送短信标志为1),确认时间在指定日期(sixMonthsAgo)之前的所有申请记录。
-			return residencePermitApplyService.list(new LambdaQueryWrapper<TaskResidencePermitApplyEntity>()
-				.eq(TaskResidencePermitApplyEntity::getConfirmFlag, 2)
-				.eq(TaskResidencePermitApplyEntity::getSendSmsFlag, 1)
-				.le(TaskResidencePermitApplyEntity::getConfirmTime, sixMonthsAgo));
-		}
+	private List<TaskResidencePermitApplyEntity> queryEntitiesToSms(LocalDate sixMonthsAgo) {
+		// 使用LambdaQueryWrapper构建查询条件,筛选出确认状态为2(即确认),且未发送过短信(发送短信标志为1),确认时间在指定日期(sixMonthsAgo)之前的所有申请记录。
+		return residencePermitApplyService.list(new LambdaQueryWrapper<TaskResidencePermitApplyEntity>()
+			.eq(TaskResidencePermitApplyEntity::getConfirmFlag, 2)
+			.eq(TaskResidencePermitApplyEntity::getSendSmsFlag, 1)
+			.le(TaskResidencePermitApplyEntity::getConfirmTime, sixMonthsAgo));
+	}
 
 	/**
 	 * 发送短信并更新实体状态
 	 *
 	 * @param entitiesToSms 需要发送短信并更新状态的实体列表,每个实体代表一个居住证申请任务。
-	 *                       实体列表中每个元素应包含至少一个ID属性,用于标识申请任务。
+	 *                      实体列表中每个元素应包含至少一个ID属性,用于标识申请任务。
 	 */
-		private void sendSmsAndUpdateEntities(List<TaskResidencePermitApplyEntity> entitiesToSms) {
-			List<TaskResidencePermitApplyEntity> updatedEntities = new ArrayList<>(); // 用于收集成功发送短信并需更新状态的实体列表
+	private void sendSmsAndUpdateEntities(List<TaskResidencePermitApplyEntity> entitiesToSms) {
+		List<TaskResidencePermitApplyEntity> updatedEntities = new ArrayList<>(); // 用于收集成功发送短信并需更新状态的实体列表
 
-			for (TaskResidencePermitApplyEntity entity : entitiesToSms) {
-				// 尝试发送短信,发送成功则更新实体状态
-				Boolean smsSent = smsSendService.sendNotice(SMS_TEMPLATE_ID, entity.getId());
-				if (smsSent) {
-					entity.setSendSmsFlag(2); // 标记为已发送短信
-					updatedEntities.add(entity); // 加入到需更新的实体列表中
-				}
-			}
-
-			// 若存在需更新的实体,则批量更新这些实体的状态
-			if (!updatedEntities.isEmpty()) {
-				residencePermitApplyService.updateBatchById(updatedEntities);
+		for (TaskResidencePermitApplyEntity entity : entitiesToSms) {
+			// 尝试发送短信,发送成功则更新实体状态
+			Boolean smsSent = smsSendService.sendNotice(SMS_TEMPLATE_ID, entity.getId());
+			if (smsSent) {
+				entity.setSendSmsFlag(2); // 标记为已发送短信
+				updatedEntities.add(entity); // 加入到需更新的实体列表中
 			}
 		}
+
+		// 若存在需更新的实体,则批量更新这些实体的状态
+		if (!updatedEntities.isEmpty()) {
+			residencePermitApplyService.updateBatchById(updatedEntities);
+		}
+	}
 }
diff --git a/src/main/java/org/springblade/modules/task/vo/TaskSchoolEvenVO.java b/src/main/java/org/springblade/modules/task/vo/TaskSchoolEvenVO.java
new file mode 100644
index 0000000..f8e684c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/vo/TaskSchoolEvenVO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.vo;
+
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 校园事件 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TaskSchoolEvenVO extends TaskSchoolEvenEntity {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/task/wrapper/TaskSchoolEvenWrapper.java b/src/main/java/org/springblade/modules/task/wrapper/TaskSchoolEvenWrapper.java
new file mode 100644
index 0000000..970aeb4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/wrapper/TaskSchoolEvenWrapper.java
@@ -0,0 +1,51 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.task.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.task.vo.TaskSchoolEvenVO;
+import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
+
+import java.util.Objects;
+
+/**
+ * 校园事件 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-04-18
+ */
+public class TaskSchoolEvenWrapper extends BaseEntityWrapper<TaskSchoolEvenEntity, TaskSchoolEvenVO>  {
+
+	public static TaskSchoolEvenWrapper build() {
+		return new TaskSchoolEvenWrapper();
+ 	}
+
+	@Override
+	public TaskSchoolEvenVO entityVO(TaskSchoolEvenEntity taskSchoolEven) {
+		TaskSchoolEvenVO taskSchoolEvenVO = Objects.requireNonNull(BeanUtil.copy(taskSchoolEven, TaskSchoolEvenVO.class));
+
+		//User createUser = UserCache.getUser(taskSchoolEven.getCreateUser());
+		//User updateUser = UserCache.getUser(taskSchoolEven.getUpdateUser());
+		//taskSchoolEvenVO.setCreateUserName(createUser.getName());
+		//taskSchoolEvenVO.setUpdateUserName(updateUser.getName());
+
+		return taskSchoolEvenVO;
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/xxljob/jobhandler/LabelHandleJob.java b/src/main/java/org/springblade/xxljob/jobhandler/LabelHandleJob.java
index 0698e19..edbef23 100644
--- a/src/main/java/org/springblade/xxljob/jobhandler/LabelHandleJob.java
+++ b/src/main/java/org/springblade/xxljob/jobhandler/LabelHandleJob.java
@@ -55,7 +55,6 @@
 	@XxlJob("residenceSendSmsJobHandler")
 	public void residenceJobHandler (String param){
 		XxlJobHelper.log("开始执行任务...创建居住证发送短信定时任务");
-
 		// 创建居住证发送短信定时任务
 		boolean result = taskService.createResidenceSendSms(param);
 		XxlJobHelper.log("任务响应结果..." + result);
@@ -63,4 +62,17 @@
 		XxlJobHelper.log("结束自动创建任务...");
 	}
 
+	/**
+	 * 创建校园安全发送短信定时任务
+	 */
+	@XxlJob("schoolSendSmsJobHandler")
+	public void schoolJobHandler (String param){
+		XxlJobHelper.log("开始执行任务...创建校园安全发送短信定时任务");
+		// 创建居住证发送短信定时任务
+		boolean result = taskService.createSchoolSendSms(param);
+		XxlJobHelper.log("任务响应结果..." + result);
+		// 创建居住证发送短信定时任务
+		XxlJobHelper.log("结束自动创建任务...");
+	}
+
 }

--
Gitblit v1.9.3