20 files modified
9 files added
| | |
| | | |
| | | Integer NUMBER_TWO = 2; |
| | | |
| | | Integer NUMBER_FIVE = 5; |
| | | |
| | | Integer NUMBER_THREE = 3; |
| | | |
| | | Integer NUMBER_FOUR = 4; |
| | |
| | | |
| | | String FIRE_SELF_CHECK_NOTICE = "消防自查"; |
| | | |
| | | String FIRE_SCHOOL_CHECK_NOTICE = "校园安全检查"; |
| | | |
| | | String NO_FRAUD_REPORTING = "无诈宣传"; |
| | | |
| | | String RESIDENCE_PERMIT_APPLICATION = "居住证申请"; |
| | |
| | | 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 = "") |
| | |
| | | <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" /> |
| | |
| | | vote_restrictions, |
| | | user_restrictions, |
| | | end_time, |
| | | start_time, |
| | | article_id, |
| | | create_time, |
| | | update_time, |
| | |
| | | jpd.vote_restrictions, |
| | | jpd.user_restrictions, |
| | | jpd.end_time, |
| | | jpd.start_time, |
| | | jpd.article_id, |
| | | jpd.create_time, |
| | | jpd.update_time, |
| | |
| | | jpd.vote_restrictions, |
| | | jpd.user_restrictions, |
| | | jpd.end_time, |
| | | jpd.start_time, |
| | | jpd.article_id, |
| | | jpd.create_time, |
| | | jpd.update_time, |
| | |
| | | .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())); |
| | |
| | | @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; |
| | | } |
| | |
| | | |
| | | /** |
| | | * 发送居住申请通知 |
| | | * @param templateId 模版id |
| | | * @param residenceId 居住证申请记录id |
| | | * @return |
| | | */ |
| | | @GetMapping("/sendNotice") |
| | | @ApiOperationSupport(order = 1) |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | <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> |
| | | |
| | |
| | | |
| | | |
| | | Boolean sendNotice(Long templateId,Long residenceId); |
| | | |
| | | Boolean sendRectificationNotice(Long templateId,Long placeSelfCheckId); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @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) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * @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 用于发送短信的服务对象 |
| New file |
| | |
| | | /* |
| | | * 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))); |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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; |
| | | } |
| | |
| | | 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; |
| | | /** |
| | |
| | | private Date rectificationTime; |
| | | |
| | | /** 1 自查 2.无诈 */ |
| | | @ApiModelProperty(value = "1 自查 2.无诈", example = "") |
| | | @ApiModelProperty(value = "1 自查 2.无诈 3:校园安全检查", example = "") |
| | | @TableField("type") |
| | | private String type; |
| | | } |
| | |
| | | @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; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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; |
| | | } |
| | |
| | | @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); |
| | | |
| | | /** |
| | | * 消防自查详情查询 |
| | |
| | | <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> |
| | |
| | | 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> |
| | | |
| New file |
| | |
| | | /* |
| | | * 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); |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | <?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> |
| | |
| | | * @return |
| | | */ |
| | | IPage<TaskPlaceSelfCheckVO> selectTaskPlaceSelfCheckPage(IPage<TaskPlaceSelfCheckVO> page, TaskPlaceSelfCheckVO taskPlaceSelfCheck); |
| | | |
| | | /** |
| | | * 查询消防自查记任务表 |
| | | * |
| | |
| | | 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 |
| | | */ |
| New file |
| | |
| | | /* |
| | | * 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); |
| | | |
| | | |
| | | } |
| | |
| | | Boolean examine(TaskEntity task); |
| | | |
| | | boolean createResidenceSendSms(String param); |
| | | |
| | | boolean createSchoolSendSms(String param); |
| | | } |
| | |
| | | |
| | | @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) { |
| | |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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)); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | 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(), |
| | |
| | | objectObjectHashMap.put("xfyhzg", xfyhzg);// 消防隐患整改 |
| | | objectObjectHashMap.put("jzzsq", jzzsq);// 居住证申请 |
| | | objectObjectHashMap.put("wztj", wztj);// 无诈 |
| | | objectObjectHashMap.put("xyjc", xyjc);// 校园检查 |
| | | return objectObjectHashMap; |
| | | } |
| | | |
| | |
| | | * |
| | | * @param param 传递给发送短信任务的参数,具体用途根据实现而定。 |
| | | * @return 返回一个布尔值,通常用于指示任务是否创建成功。 |
| | | * 根据实际逻辑需要调整返回值,当前示例中返回值始终为false。 |
| | | * 根据实际逻辑需要调整返回值,当前示例中返回值始终为false。 |
| | | */ |
| | | @Override |
| | | public boolean createResidenceSendSms(String param) { |
| | |
| | | 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; // 根据实际逻辑调整返回值 |
| | | } |
| | | |
| | | /** |
| | | * 获取六个月前的日期。 |
| | |
| | | * @return 返回一个LocalDate对象,表示六个月前的日期。 |
| | | */ |
| | | private LocalDate getSixMonthsAgo() { |
| | | // 获取当前日期并减去6个月 |
| | | return LocalDate.now().minus(6, ChronoUnit.MONTHS); |
| | | // 获取当前日期并减去6个月 |
| | | return LocalDate.now().minus(6, ChronoUnit.MONTHS); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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; |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | @XxlJob("residenceSendSmsJobHandler") |
| | | public void residenceJobHandler (String param){ |
| | | XxlJobHelper.log("开始执行任务...创建居住证发送短信定时任务"); |
| | | |
| | | // 创建居住证发送短信定时任务 |
| | | boolean result = taskService.createResidenceSendSms(param); |
| | | XxlJobHelper.log("任务响应结果..." + result); |
| | |
| | | XxlJobHelper.log("结束自动创建任务..."); |
| | | } |
| | | |
| | | /** |
| | | * 创建校园安全发送短信定时任务 |
| | | */ |
| | | @XxlJob("schoolSendSmsJobHandler") |
| | | public void schoolJobHandler (String param){ |
| | | XxlJobHelper.log("开始执行任务...创建校园安全发送短信定时任务"); |
| | | // 创建居住证发送短信定时任务 |
| | | boolean result = taskService.createSchoolSendSms(param); |
| | | XxlJobHelper.log("任务响应结果..." + result); |
| | | // 创建居住证发送短信定时任务 |
| | | XxlJobHelper.log("结束自动创建任务..."); |
| | | } |
| | | |
| | | } |