springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EmergenciesEventAddDTO.java
@@ -48,10 +48,10 @@ @NotNull private String eventDes; @Max(127) @ApiModelProperty(value = "事件类型1治安隐患、2公共服务、3矛盾纠纷、4不稳定因素、5突发事件、6特殊人群信息上报", hidden = false, example = "1", required = true) @Length(max=255) @ApiModelProperty(value = "事件类型,逗号隔开", hidden = false, example = "邻里纠纷,土地承包租赁", required = true) @NotNull private Integer eventType; private String eventClazz; @Max(127) @ApiModelProperty(value = "危险级别", hidden = false, example = "1", required = true) @@ -88,5 +88,11 @@ @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "(当前操作)用户姓名", hidden = true, example = "张三") private String userName; @ApiModelProperty(value = "(当前操作)用户电话", hidden = true, example = "18888888888") @Length(max = 11) private String phone; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EmergenciesEventEditDTO.java
New file @@ -0,0 +1,101 @@ package com.panzhihua.common.model.dtos.grid; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; import java.util.Date; /** * 创建表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("突发事件编辑请求参数") public class EmergenciesEventEditDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "id,如果是新增则不填", hidden = false, example = "1") private Long id; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "发生时间", hidden = false, example = "2021-05-01 18:05:50", required = true) @NotNull private Date happenTime; @Length(max=255) @ApiModelProperty(value = "发生的精度纬度信息(逗号隔开)", hidden = false, example = "41.40338,2.17403", required = true) @NotNull private String happentLatLng; @Length(max=255) @ApiModelProperty(value = "发生地点-位置备注", hidden = false, example = "") private String happentAddress; //位置备注 @Max(9223372036854775807L) @ApiModelProperty(value = "发生区域-网格ID", hidden = false, example = "1", required = true) @NotNull private Long gridId; @Length(max=255) @ApiModelProperty(value = "事件描述", hidden = false, example = "", required = true) @NotNull private String eventDes; @Length(max=255) @ApiModelProperty(value = "事件类型,逗号隔开", hidden = false, example = "邻里纠纷,土地承包租赁", required = true) @NotNull private String eventClazz; @Max(127) @ApiModelProperty(value = "危险级别", hidden = false, example = "1", required = true) @NotNull private Integer dangerLevel; @Max(9999999999L) @ApiModelProperty(value = "死亡人数", hidden = false, example = "1", required = true) @NotNull private Integer deathsNumber; @Max(9999999999L) @ApiModelProperty(value = "受伤人数", hidden = false, example = "1", required = true) @NotNull private Integer injuriesNumber; @ApiModelProperty(value = "是否紧急", hidden = false, example = "true", required = true) @NotNull private Boolean urgent; @ApiModelProperty(value = "是否重大", hidden = false, example = "true", required = true) @NotNull private Boolean major; @ApiModelProperty(value = "音频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp3") private String audio; @ApiModelProperty(value = "视频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp4") private String video; @ApiModelProperty(value = "图片,逗号隔开(限9张)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.jpg,http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.jpg") private String pics; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "(当前操作)用户姓名", hidden = true, example = "张三") private String userName; @ApiModelProperty(value = "(当前操作)用户电话", hidden = true, example = "18888888888") @Length(max = 11) private String phone; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EmergenciesEventReportDTO.java
New file @@ -0,0 +1,45 @@ package com.panzhihua.common.model.dtos.grid; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; /** * 上报社区表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("上报社区请求参数") public class EmergenciesEventReportDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "事件ID", hidden = false, example = "1",required = true) @NotNull private Long eventId; @Length(max=255) @ApiModelProperty(value = "办理意见", hidden = false, example = "",required = true) @NotNull private String processResult; //事件下游机构或网格员 @Max(9223372036854775807L) @ApiModelProperty(value = "社区ID", hidden = false, example = "1",required = true) @NotNull private Long toId; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "(当前操作)用户姓名", hidden = true, example = "张三") private String userName; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventAddDTO.java
@@ -75,6 +75,11 @@ private Integer eventType; @Length(max=255) @ApiModelProperty(value = "事件类型,逗号隔开", hidden = false, example = "邻里纠纷,土地承包租赁", required = true) @NotNull private String eventClazz; @Length(max=255) @ApiModelProperty(value = "事件描述", hidden = false, example = "") private String eventDes; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventDealDTO.java
New file @@ -0,0 +1,51 @@ package com.panzhihua.common.model.dtos.grid; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; import java.util.Date; /** * 创建表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("突发事件处理请求参数") public class EventDealDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "事件id", hidden = false, example = "1",required = true) @NotNull private Long id; @Length(max=255) @ApiModelProperty(value = "办理意见", hidden = false, example = "",required = true) @NotNull private String processResult; @ApiModelProperty(value = "音频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp3") private String audio; @ApiModelProperty(value = "视频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp4") private String video; @ApiModelProperty(value = "图片,逗号隔开(限9张)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.jpg,http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.jpg") private String pics; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "(当前操作)用户姓名", hidden = true, example = "张三") private String userName; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventRepublicDTO.java
New file @@ -0,0 +1,34 @@ package com.panzhihua.common.model.dtos.grid; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; /** * 事件重新发布请求参表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("事件重新发布请求参数") public class EventRepublicDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "事件id", hidden = false, example = "1", required = true) @NotNull private Long id; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "(当前操作)用户姓名", hidden = true, example = "张三") private String userName; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventRevokeDTO.java
New file @@ -0,0 +1,30 @@ package com.panzhihua.common.model.dtos.grid; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; /** * 编辑表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("撤销事件请求参数") public class EventRevokeDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "id", hidden = false, example = "1", required = true) @NotNull private Long id; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventVerifyDTO.java
New file @@ -0,0 +1,40 @@ package com.panzhihua.common.model.dtos.grid; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.URL; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; /** * 创建表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Data @ApiModel("突发事件处理请求参数") public class EventVerifyDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "事件id", hidden = false, example = "1") private Long id; @Length(max=255) @ApiModelProperty(value = "办理意见", hidden = false, example = "",required = true) @NotNull private String processResult; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "(当前操作)用户姓名", hidden = true, example = "张三") private String userName; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PageEventDTO.java
@@ -26,6 +26,11 @@ @ApiModel("查询事件请求参数") public class PageEventDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "网格ID", hidden = false, example = "1", required = true) @NotNull private Long gridId; @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum = 1L; @@ -68,11 +73,6 @@ @Max(9223372036854775807L) @ApiModelProperty(value = "网格员所处社区", hidden = false, example = "1") private Long gridMemberCommunity; @Max(9223372036854775807L) @ApiModelProperty(value = "网格ID", hidden = false, example = "1") private Long gridId; @Max(9223372036854775807L) springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/IPageVO.java
@@ -28,14 +28,14 @@ * @author * @since */ public interface IPageVO<T> extends Serializable { public class IPageVO<T> implements Serializable { /** * 获取排序信息,排序的字段和正反序 * * @return 排序信息 */ List<Object> orders(); List<Object> orders(){return null;} /** * KEY/VALUE 条件 @@ -44,7 +44,7 @@ * @deprecated 3.4.0 @2020-06-30 */ @Deprecated default Map<Object, Object> condition() { Map<Object, Object> condition() { return null; } @@ -53,7 +53,7 @@ * * @return true 是 / false 否 */ default boolean optimizeCountSql() { boolean optimizeCountSql() { return true; } @@ -62,14 +62,14 @@ * * @return true 是 / false 否 */ default boolean isSearchCount() { boolean isSearchCount() { return true; } /** * 计算当前分页偏移量 */ default long offset() { long offset() { long current = getCurrent(); if (current <= 1L) { return 0L; @@ -82,14 +82,14 @@ * * @since 3.4.0 @2020-07-17 */ default Long maxLimit() { Long maxLimit() { return null; } /** * 当前分页总页数 */ default long getPages() { long getPages() { if (getSize() == 0) { return 0L; } @@ -104,7 +104,7 @@ * 内部什么也不干 * <p>只是为了 json 反序列化时不报错</p> */ default IPageVO<T> setPages(long pages) { IPageVO<T> setPages(long pages) { // to do nothing return this; } @@ -117,7 +117,7 @@ * @deprecated 3.4.0 @2020-06-30 缓存遵循mybatis的一或二缓 */ @Deprecated default void hitCount(boolean hit) { void hitCount(boolean hit) { } @@ -129,7 +129,7 @@ * @deprecated 3.4.0 @2020-06-30 缓存遵循mybatis的一或二缓 */ @Deprecated default boolean isHitCount() { boolean isHitCount() { return false; } @@ -138,48 +138,48 @@ * * @return 分页对象记录列表 */ List<T> getRecords(); List<T> getRecords(){return null;} /** * 设置分页记录列表 */ IPageVO<T> setRecords(List<T> records); IPageVO<T> setRecords(List<T> records){return null;} /** * 当前满足条件总行数 * * @return 总条数 */ long getTotal(); long getTotal(){return 0l;} /** * 设置当前满足条件总行数 */ IPageVO<T> setTotal(long total); IPageVO<T> setTotal(long total){return null;} /** * 获取每页显示条数 * * @return 每页显示条数 */ long getSize(); long getSize(){return 0;} /** * 设置每页显示条数 */ IPageVO<T> setSize(long size); IPageVO<T> setSize(long size){return null;} /** * 当前页 * * @return 当前页 */ long getCurrent(); long getCurrent(){return 0l;} /** * 设置当前页 */ IPageVO<T> setCurrent(long current); IPageVO<T> setCurrent(long current){return null;} /** * IPageVO 的泛型转换 @@ -189,7 +189,7 @@ * @return 转换泛型后的 IPageVO */ @SuppressWarnings("unchecked") default <R> IPageVO<R> convert(Function<? super T, ? extends R> mapper) { <R> IPageVO<R> convert(Function<? super T, ? extends R> mapper) { List<R> collect = this.getRecords().stream().map(mapper).collect(toList()); return ((IPageVO<R>) this).setRecords(collect); } @@ -202,7 +202,7 @@ * @return id * @since 3.4.0 @2020-06-19 */ default String countId() { String countId() { return null; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java
@@ -78,7 +78,7 @@ @ApiModelProperty("头像") private String imageUrl; @ApiModelProperty(value = "用户类型 1 小程序 2 运营平台 3 社区平台") @ApiModelProperty(value = "用户类型 1 小程序 2 运营平台 3 社区平台 5 商家后台 6 网格综治APP 7 网格综治后台") private Integer type; @ApiModelProperty("职业") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventDetailsVO.java
@@ -154,4 +154,19 @@ private Date updateAt; @ApiModelProperty(value = "音频") private List<EventResourceVO> audios; @ApiModelProperty(value = "视频") private List<EventResourceVO> videos; @ApiModelProperty(value = "图片") private List<EventResourceVO> pics; @ApiModelProperty(value = "事件处理数据") private List<EventTransferRecordVO> trans; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventResourceVO.java
@@ -18,7 +18,7 @@ @ApiModel("事件或者走访中关联的图片音频和视频文件返回参数") public class EventResourceVO { @ApiModelProperty(value = "分类(1、事件 2、走访)") @ApiModelProperty(value = "分类(1、事件 2、走访 3、事件流转))") private Integer classification; @ApiModelProperty(value = "事件或者走访任务关联ID") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventTransferRecordVO.java
@@ -37,7 +37,7 @@ private Integer toType; @ApiModelProperty(value = "事件下游机构或网格员") private Long to; private Long toId; @ApiModelProperty(value = "需要办理人路径名称") private String toName; @@ -53,5 +53,13 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty(value = "音频") private List<EventResourceVO> audios; @ApiModelProperty(value = "视频") private List<EventResourceVO> videos; @ApiModelProperty(value = "图片") private List<EventResourceVO> pics; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventVO.java
@@ -153,5 +153,14 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateAt; @ApiModelProperty(value = "音频") private List<EventResourceVO> audios; @ApiModelProperty(value = "视频") private List<EventResourceVO> videos; @ApiModelProperty(value = "图片") private List<EventResourceVO> pics; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -460,4 +460,68 @@ */ @PostMapping("/eventgridmembergpslog/{id}") R<EventGridMemberGpsLogDetailsVO> eventGridMemberGpsLogDetails(@PathVariable("id") Long id); /** * 添加突发事件 * @param emergenciesEventAddDTO * @return */ @PostMapping("/event/addEmergencies") R addEmergencies(@RequestBody EmergenciesEventAddDTO emergenciesEventAddDTO); /** * 保存突发事件草稿 * @param emergenciesEventEditDTO * @return */ @PostMapping("/event/saveEmergenciesDraft") R saveEmergenciesDraft(@RequestBody EmergenciesEventEditDTO emergenciesEventEditDTO); /** * 突发事件上报社区 * @param emergenciesEventReportDTO * @return */ @PostMapping("/event/emergenciesReport") R emergenciesReport(@RequestBody EmergenciesEventReportDTO emergenciesEventReportDTO); /** * 突发事件撤销 * @param eventRevokeDTO * @return */ @PostMapping("/event/emergenciesRevoke") R emergenciesRevoke(@RequestBody EventRevokeDTO eventRevokeDTO); /** * 查询用户网格 * @param pageEventGridDataDTO * @return */ @PostMapping("/eventgriddata/userGrid") R userGrid(@RequestBody PageEventGridDataDTO pageEventGridDataDTO); /** * 处理事件 * @param eventDealDTO * @return */ @PostMapping("/event/dealEvent") R dealEvent(@RequestBody EventDealDTO eventDealDTO); /** * 处理事件 * @param eventVerifyDTO * @return */ @PostMapping("/event/verify") R verifyEvent(@RequestBody EventVerifyDTO eventVerifyDTO); /** * 处理事件 * @param eventRepublicDTO * @return */ @PostMapping("/event/republish") R republishEvent(@RequestBody EventRepublicDTO eventRepublicDTO); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventApi.java
@@ -2,15 +2,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.panzhihua.common.model.dtos.grid.EventAddDTO; import com.panzhihua.common.model.dtos.grid.EventDeleteDTO; import com.panzhihua.common.model.dtos.grid.EventEditDTO; import com.panzhihua.common.model.dtos.grid.PageEventDTO; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.grid.EventDetailsVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.service_grid.model.dos.EventResourceDO; import com.panzhihua.service_grid.service.EventResourceService; import com.panzhihua.service_grid.service.EventService; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -80,4 +83,74 @@ return eventService.eventDetails(id); }; /** * 添加突发事件 * @param emergenciesEventAddDTO * @return 新增结果 */ @PostMapping("/addEmergencies") R addEmergencies(@RequestBody EmergenciesEventAddDTO emergenciesEventAddDTO){ return eventService.addEmergencies(emergenciesEventAddDTO); }; /** * 保存草稿 * @param {classNameFirstLower}AddDTO 添加事件传递对象 * @return 新增结果 */ @PostMapping("/saveEmergenciesDraft") R saveEmergenciesDraft(@RequestBody EmergenciesEventEditDTO emergenciesEventEditDTO){ return eventService.saveEmergenciesDraft(emergenciesEventEditDTO); } /** * 突发事件上报社区 * @param emergenciesEventReportDTO * @return */ @PostMapping("/emergenciesReport") R emergenciesReport(@RequestBody EmergenciesEventReportDTO emergenciesEventReportDTO){ return eventService.emergenciesReport(emergenciesEventReportDTO); } /** * 突发事件撤销 * @param eventRevokeDTO * @return */ @PostMapping("/emergenciesRevoke") R emergenciesRevoke(@RequestBody EventRevokeDTO eventRevokeDTO){ return eventService.emergenciesRevoke(eventRevokeDTO); } /** * 处理事件 * @param eventDealDTO * @return */ @PostMapping("/dealEvent") R dealEvent(@RequestBody EventDealDTO eventDealDTO){ return eventService.dealEvent(eventDealDTO); } /** * 处理事件 * @param eventVerifyDTO * @return */ @PostMapping("/verify") R verifyEvent(@RequestBody EventVerifyDTO eventVerifyDTO){ return eventService.verifyEvent(eventVerifyDTO); } /** * 重新发布事件 * @param eventRepublicDTO * @return */ @PostMapping("/republish") R republishEvent(@RequestBody EventRepublicDTO eventRepublicDTO){ return eventService.republishEvent(eventRepublicDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventGridDataApi.java
@@ -30,6 +30,17 @@ @Resource private EventGridDataService eventGridDataService; /** * 查询用户网格 * @param pageEventGridDataDTO * @return */ @PostMapping("/userGrid") R userGrid(@RequestBody PageEventGridDataDTO pageEventGridDataDTO){ return eventGridDataService.getUserGrid(pageEventGridDataDTO); } /** * 新增区县/街道/社区/网格员网格数据管理 * @param eventGridDataAddDTO springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventGridDataMapper.java
@@ -1,11 +1,11 @@ package com.panzhihua.service_grid.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_grid.model.dos.EventGridDataDO; import com.panzhihua.common.model.vos.grid.EventGridDataVO; import org.apache.ibatis.annotations.Mapper; @@ -16,17 +16,26 @@ * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ * @since 1.0 */ @Mapper public interface EventGridDataMapper extends BaseMapper<EventGridDataDO> { /** * 分页查询 * @param pageEventGridDataDTO * @return */ IPage<EventGridDataVO> findByPage(Page page, @Param("pageEventGridDataDTO")PageEventGridDataDTO pageEventGridDataDTO); /** * 分页查询 * * @param pageEventGridDataDTO * @return */ IPage<EventGridDataVO> findByPage(Page page, @Param("pageEventGridDataDTO") PageEventGridDataDTO pageEventGridDataDTO); /** * 分页查询网格员所在网格 * * @param pageEventGridDataDTO * @return */ IPage<EventGridDataVO> selectUserGrid(Page page, @Param("pageEventGridDataDTO") PageEventGridDataDTO pageEventGridDataDTO); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/model/dos/EventDO.java
@@ -74,10 +74,14 @@ */ private Date propagandaTime; /** * 当event_type_category是1填写事件类型1治安隐患、2公共服务、3矛盾纠纷、4不稳定因素、5突发事件、6特殊人群信息上报 列: event_type * 当event_type_category是1填写事件分类1治安隐患、2公共服务、3矛盾纠纷、4不稳定因素、5突发事件、6特殊人群信息上报 列: event_type */ private Integer eventType; /** * 事件类型 列: event_clazz */ private Integer eventClazz; /** * 事件描述 列: event_des */ private String eventDes; springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/model/dos/EventResourceDO.java
@@ -29,11 +29,15 @@ */ private Integer classification; /** * 事件或者走访任务关联ID 列: id * ID 列: id */ @TableId(type = IdType.ASSIGN_ID) private Long id; /** * 事件或者走访任务关联ID 列: id */ private Long refId; /** * 事件上传的资源类型(1是图片2是音频3是是视频) 列: type */ private Integer type; springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/model/dos/EventTransferRecordDO.java
@@ -38,9 +38,9 @@ */ private Integer fromType; /** * 事件来源机构或网格员 列: from * 事件来源机构或网格员 列: from_id */ private Long from; private Long fromId; /** * 转交办理人路径名称 列: from_name */ @@ -50,9 +50,9 @@ */ private Integer toType; /** * 事件下游机构或网格员 列: to * 事件下游机构或网格员 列: to_id */ private Long to; private Long toId; /** * 需要办理人路径名称 列: to_name */ springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventGridDataService.java
@@ -57,4 +57,10 @@ R<EventGridDataDetailsVO> eventGridDataDetails(Long id); /** * 查询用户网格数据管理 * @param pageEventGridDataDTO dto * @return 查找结果 */ R getUserGrid(PageEventGridDataDTO pageEventGridDataDTO); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
@@ -2,14 +2,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.grid.EventAddDTO; import com.panzhihua.common.model.dtos.grid.EventDeleteDTO; import com.panzhihua.common.model.dtos.grid.EventEditDTO; import com.panzhihua.common.model.dtos.grid.PageEventDTO; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.grid.EventDetailsVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.service_grid.model.dos.EventDO; import org.springframework.transaction.annotation.Transactional; /** * 事件 service @@ -56,5 +54,51 @@ */ R<EventDetailsVO> eventDetails(Long id); /** * 添加突发事件 * @param emergenciesEventAddDTO * @return */ R addEmergencies(EmergenciesEventAddDTO emergenciesEventAddDTO); /** * 保存突发事件草稿 * @param emergenciesEventEditDTO * @return */ R saveEmergenciesDraft(EmergenciesEventEditDTO emergenciesEventEditDTO); /** * 突发事件上报 * @param emergenciesEventReportDTO * @return */ R emergenciesReport(EmergenciesEventReportDTO emergenciesEventReportDTO); /** * 突发事件撤销 * @param eventRevokeDTO * @return */ R emergenciesRevoke(EventRevokeDTO eventRevokeDTO); /** * 处理事件 * @param eventDealDTO * @return */ R dealEvent(EventDealDTO eventDealDTO); /** * 确认事件 * @param eventVerifyDTO * @return */ R verifyEvent(EventVerifyDTO eventVerifyDTO); /** * 重新发布事件 * @param eventRepublicDTO * @return */ R republishEvent(EventRepublicDTO eventRepublicDTO); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
@@ -101,4 +101,17 @@ return R.fail(); } @Override public R getUserGrid(PageEventGridDataDTO pageEventGridDataDTO) { Page page = new Page(1,10); if(pageEventGridDataDTO.getPageNum()!=null) { page.setCurrent(pageEventGridDataDTO.getPageNum()); } if(pageEventGridDataDTO.getPageSize()!=null) { page.setSize(pageEventGridDataDTO.getPageSize()); } return R.ok(eventGridDataMapper.selectUserGrid(page, pageEventGridDataDTO)); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1,24 +1,31 @@ package com.panzhihua.service_grid.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.grid.EventAddDTO; import com.panzhihua.common.model.dtos.grid.EventDeleteDTO; import com.panzhihua.common.model.dtos.grid.EventEditDTO; import com.panzhihua.common.model.dtos.grid.PageEventDTO; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.grid.EventDetailsVO; import com.panzhihua.common.model.vos.grid.EventResourceVO; import com.panzhihua.common.model.vos.grid.EventTransferRecordVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_grid.dao.*; import com.panzhihua.service_grid.model.dos.*; import com.panzhihua.service_grid.service.EventResourceService; import com.panzhihua.service_grid.service.EventService; import com.panzhihua.service_grid.service.EventTransferRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @auther lyq @@ -31,6 +38,12 @@ @Resource private EventMapper eventMapper; @Resource private EventResourceService eventResourceService; @Resource private EventTransferRecordService eventTransferRecordService; /** * 新增事件 * @param eventAddDTO @@ -74,7 +87,44 @@ if(pageEventDTO.getPageSize()!=null) { page.setSize(pageEventDTO.getPageSize()); } return R.ok(eventMapper.findByPage(page, pageEventDTO)); IPage<EventVO> ipage = eventMapper.findByPage(page, pageEventDTO); if(ipage!=null){ List<EventVO> eventVOList = ipage.getRecords(); eventVOList.forEach(eventVO -> { List<EventResourceDO> eventResourceDOList = eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() .eq(EventResourceDO::getClassification, 1) .eq(EventResourceDO::getRefId, eventVO.getId()) ); List<EventResourceVO> picList = new ArrayList<>(); List<EventResourceVO> audioList = new ArrayList<>(); List<EventResourceVO> videoList = new ArrayList<>(); eventResourceDOList.forEach(eventResourceDO -> { switch (eventResourceDO.getType()){ case 1: EventResourceVO picEventResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); picList.add(picEventResourceVO); break; case 2: EventResourceVO audioResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, audioResourceVO); audioList.add(audioResourceVO); break; case 3: EventResourceVO videoResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, videoResourceVO); videoList.add(videoResourceVO); break; } }); eventVO.setAudios(audioList); eventVO.setPics(picList); eventVO.setVideos(videoList); }); return R.ok(ipage); } return R.fail(); } /** @@ -96,9 +146,467 @@ if(eventDO!=null) { EventDetailsVO eventDetailsVO = new EventDetailsVO(); BeanUtils.copyProperties(eventDO, eventDetailsVO); //查询事件关联附件 List<EventResourceDO> eventResourceDOList = eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() .eq(EventResourceDO::getClassification, 1) .eq(EventResourceDO::getRefId, id) ); List<EventResourceVO> picList = new ArrayList<>(); List<EventResourceVO> audioList = new ArrayList<>(); List<EventResourceVO> videoList = new ArrayList<>(); eventResourceDOList.forEach(eventResourceDO -> { switch (eventResourceDO.getType()){ case 1: EventResourceVO picEventResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); picList.add(picEventResourceVO); break; case 2: EventResourceVO audioResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, audioResourceVO); audioList.add(audioResourceVO); break; case 3: EventResourceVO videoResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, videoResourceVO); videoList.add(videoResourceVO); break; } }); eventDetailsVO.setAudios(audioList); eventDetailsVO.setPics(picList); eventDetailsVO.setVideos(videoList); //查询事件流转记录 List<EventTransferRecordDO> eventTransferRecordDOList = eventTransferRecordService.getBaseMapper() .selectList(new LambdaQueryWrapper<EventTransferRecordDO>() .eq(EventTransferRecordDO::getEventId, id) ); List<EventTransferRecordVO> eventTransferRecordVOS = new ArrayList<>(); for (EventTransferRecordDO eventTransferRecordDO : eventTransferRecordDOList) { EventTransferRecordVO eventTransferRecordVO = new EventTransferRecordVO(); BeanUtils.copyProperties(eventTransferRecordDO, eventTransferRecordVO); List<EventResourceDO> eventTransferResourceDOList = eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() .eq(EventResourceDO::getClassification, 3) .eq(EventResourceDO::getRefId, eventTransferRecordDO.getId()) ); List<EventResourceVO> transferPicList = new ArrayList<>(); List<EventResourceVO> transferAudioList = new ArrayList<>(); List<EventResourceVO> transferVideoList = new ArrayList<>(); eventTransferResourceDOList.forEach(eventResourceDO -> { switch (eventResourceDO.getType()){ case 1: EventResourceVO picEventResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); transferPicList.add(picEventResourceVO); break; case 2: EventResourceVO audioResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, audioResourceVO); transferAudioList.add(audioResourceVO); break; case 3: EventResourceVO videoResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, videoResourceVO); transferVideoList.add(videoResourceVO); break; } }); eventTransferRecordVO.setAudios(transferAudioList); eventTransferRecordVO.setPics(transferPicList); eventTransferRecordVO.setVideos(transferVideoList); eventTransferRecordVOS.add(eventTransferRecordVO); } eventDetailsVO.setTrans(eventTransferRecordVOS); return R.ok(eventDetailsVO); } return R.fail(); } @Override @Transactional(rollbackFor = Exception.class) public R addEmergencies(EmergenciesEventAddDTO emergenciesEventAddDTO) { EventDO eventDO = new EventDO(); BeanUtils.copyProperties(emergenciesEventAddDTO, eventDO); eventDO.setGridMemberId(emergenciesEventAddDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(5);//突发事件分类 eventDO.setEventStatus(2);//事件状态 2发布 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setEventProcessStatus(1); eventDO.setGridMemberId(emergenciesEventAddDTO.getUserId()); eventDO.setGridMemberName(emergenciesEventAddDTO.getUserName()); eventDO.setGridMemberTelephone(emergenciesEventAddDTO.getPhone()); eventDO.setCreateBy(emergenciesEventAddDTO.getUserId()); if(eventMapper.insert(eventDO)==1){ //添加音频 if(StringUtils.isNotEmpty(emergenciesEventAddDTO.getAudio())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setUrl(emergenciesEventAddDTO.getAudio()); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setCreateBy(emergenciesEventAddDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(audioAdd!=1){ throw new ServiceException("添加音频失败"); } } //添加视频 if(StringUtils.isNotEmpty(emergenciesEventAddDTO.getVideo())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setUrl(emergenciesEventAddDTO.getVideo()); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setCreateBy(emergenciesEventAddDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(videoAdd!=1){ throw new ServiceException("添加视频失败"); } } //添加图片 if(StringUtils.isNotEmpty(emergenciesEventAddDTO.getPics())){ String[] pica = emergenciesEventAddDTO.getPics().split(","); for (int i = 0; i < pica.length; i++) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(1); eventResourceDO.setUrl(pica[i]); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setCreateBy(emergenciesEventAddDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(picAdd!=1){ throw new ServiceException("添加图片失败"); } } } return R.ok(); } return R.fail(); } @Override public R saveEmergenciesDraft(EmergenciesEventEditDTO emergenciesEventEditDTO) { if(emergenciesEventEditDTO.getId()==null) { EventDO eventDO = new EventDO(); BeanUtils.copyProperties(emergenciesEventEditDTO, eventDO); eventDO.setGridMemberId(emergenciesEventEditDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(5);//突发事件分类 eventDO.setEventStatus(1);//事件状态 1草稿 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setCreateBy(emergenciesEventEditDTO.getUserId()); if (eventMapper.insert(eventDO) > 0) { //添加音频 if (StringUtils.isNotEmpty(emergenciesEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(emergenciesEventEditDTO.getAudio()); eventResourceDO.setCreateBy(emergenciesEventEditDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(emergenciesEventEditDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(emergenciesEventEditDTO.getVideo()); eventResourceDO.setCreateBy(emergenciesEventEditDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(emergenciesEventEditDTO.getPics())) { String[] pica = emergenciesEventEditDTO.getPics().split(","); for (int i = 0; i < pica.length; i++) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(1); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(pica[i]); eventResourceDO.setCreateBy(emergenciesEventEditDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } return R.ok(); } return R.fail(); }else{ //编辑原来的 EventDO eventDO = eventMapper.selectById(emergenciesEventEditDTO.getId()); BeanUtils.copyProperties(emergenciesEventEditDTO, eventDO); eventDO.setGridMemberId(emergenciesEventEditDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(5);//突发事件分类 eventDO.setEventStatus(1);//事件状态 2发布 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setUpdateBy(emergenciesEventEditDTO.getUserId()); if (eventMapper.updateById(eventDO) > 0) { int deleted = eventResourceService.getBaseMapper() .delete(new LambdaQueryWrapper<EventResourceDO>() .eq(EventResourceDO::getClassification,1) .eq(EventResourceDO::getRefId, eventDO.getId())); //添加音频 if (StringUtils.isNotEmpty(emergenciesEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(emergenciesEventEditDTO.getAudio()); eventResourceDO.setCreateBy(emergenciesEventEditDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(emergenciesEventEditDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(emergenciesEventEditDTO.getVideo()); eventResourceDO.setCreateBy(emergenciesEventEditDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(emergenciesEventEditDTO.getPics())) { String[] pica = emergenciesEventEditDTO.getPics().split(","); for (int i = 0; i < pica.length; i++) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(1); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(pica[i]); eventResourceDO.setCreateBy(emergenciesEventEditDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } return R.ok(); } return R.fail(); } } @Override @Transactional(rollbackFor = Exception.class) public R emergenciesReport(EmergenciesEventReportDTO emergenciesEventReportDTO) { EventDO eventDO = this.getBaseMapper().selectById(emergenciesEventReportDTO.getEventId()); if(eventDO==null){ return R.fail("事件不存在"); } if(eventDO.getEventStatus()!=2){ return R.fail("当前事件不能上报社区"); } if(eventDO.getProcessType()==2){ return R.fail("当前事件已交由社区处理"); } eventDO.setCommunityProcess(1); eventDO.setProcessType(2); eventDO.setEventProcessStatus(1); eventDO.setUpdateBy(emergenciesEventReportDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); if(updated!=1){ throw new ServiceException("更新突发事件状态更新失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); BeanUtils.copyProperties(emergenciesEventReportDTO, eventTransferRecordDO); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(emergenciesEventReportDTO.getUserId()); eventTransferRecordDO.setFromName(emergenciesEventReportDTO.getUserName()); eventTransferRecordDO.setToType(2); eventTransferRecordDO.setProcessDate(new Date()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); return inserted==1?R.ok():R.fail(); } @Override public R emergenciesRevoke(EventRevokeDTO eventRevokeDTO) { EventDO eventDO = this.getBaseMapper().selectById(eventRevokeDTO.getId()); if(eventDO==null){ return R.fail("事件不存在"); } boolean canRevoke = eventDO.getEventStatus()==2 && eventDO.getCommunityProcess()==0; if(!canRevoke){ return R.fail("当前事件不允许撤销"); } eventDO.setEventStatus(4); eventDO.setUpdateBy(eventRevokeDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); return updated==1?R.ok():R.fail(); } @Override @Transactional(rollbackFor = Exception.class) public R dealEvent(EventDealDTO eventDealDTO) { EventDO eventDO = this.getBaseMapper().selectById(eventDealDTO.getId()); boolean canDealByUser = eventDO.getEventStatus()==2 && eventDO.getEventProcessStatus()==1; if(!canDealByUser){ if(eventDO.getEventStatus()!=2){ return R.fail("事件不是发布状态"); } if(eventDO.getEventProcessStatus()!=1){ return R.fail("事件不是待处理状态"); } return R.fail("事件当前不可自处理"); } eventDO.setEventProcessStatus(2);//2已解决 eventDO.setUpdateBy(eventDealDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); BeanUtils.copyProperties(eventDealDTO, eventTransferRecordDO); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(eventDealDTO.getUserId()); eventTransferRecordDO.setFromName(eventDealDTO.getUserName()); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(eventDealDTO.getUserId()); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setEventId(eventDO.getId()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1){ //添加音频 if(StringUtils.isNotEmpty(eventDealDTO.getAudio())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(3); eventResourceDO.setType(2); eventResourceDO.setUrl(eventDealDTO.getAudio()); eventResourceDO.setRefId(eventTransferRecordDO.getId()); eventResourceDO.setCreateBy(eventDealDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(audioAdd!=1){ throw new ServiceException("添加音频失败"); } } //添加视频 if(StringUtils.isNotEmpty(eventDealDTO.getVideo())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(3); eventResourceDO.setType(3); eventResourceDO.setUrl(eventDealDTO.getVideo()); eventResourceDO.setRefId(eventTransferRecordDO.getId()); eventResourceDO.setCreateBy(eventDealDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(videoAdd!=1){ throw new ServiceException("添加视频失败"); } } //添加图片 if(StringUtils.isNotEmpty(eventDealDTO.getPics())){ String[] pica = eventDealDTO.getPics().split(","); for (int i = 0; i < pica.length; i++) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(3); eventResourceDO.setType(1); eventResourceDO.setUrl(pica[i]); eventResourceDO.setRefId(eventTransferRecordDO.getId()); eventResourceDO.setCreateBy(eventDealDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(picAdd!=1){ throw new ServiceException("添加图片失败"); } } } return R.ok(); }else{ throw new ServiceException("处理事件记录出错"); } } @Override public R verifyEvent(EventVerifyDTO eventVerifyDTO) { EventDO eventDO = this.getBaseMapper().selectById(eventVerifyDTO.getId()); boolean canVerifyByUser = eventDO.getEventProcessStatus()==3; if(!canVerifyByUser){ return R.fail("当前不是待验证状态"); } boolean processTypeRight = eventDO.getProcessType()==1; if(!processTypeRight){ return R.fail("当前处理对象不是网格员"); } eventDO.setEventProcessStatus(2);//2已解决 eventDO.setUpdateBy(eventVerifyDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(eventVerifyDTO.getUserId()); eventTransferRecordDO.setFromName(eventVerifyDTO.getUserName()); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(eventVerifyDTO.getUserId()); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setToName(eventVerifyDTO.getUserName()); eventTransferRecordDO.setEventId(eventDO.getId()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1){ return R.ok(); }else{ throw new ServiceException("事件处理添加出错"); } } @Override public R republishEvent(EventRepublicDTO eventRepublicDTO) { EventDO eventDO = this.getBaseMapper().selectById(eventRepublicDTO.getId()); boolean canRepublishByUser = eventDO.getEventStatus()==4; if(!canRepublishByUser){ return R.fail("当前不是撤销状态"); } eventDO.setEventStatus(2);//2已解决 eventDO.setUpdateBy(eventRepublicDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(eventRepublicDTO.getUserId()); eventTransferRecordDO.setFromName(eventRepublicDTO.getUserName()); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(eventRepublicDTO.getUserId()); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setEventId(eventDO.getId()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1){ return R.ok(); }else{ throw new ServiceException("事件处理添加出错"); } } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventGridDataMapper.xml
@@ -98,5 +98,76 @@ ORDER BY ${pageEventGridDataDTO.sortColumns} ${pageEventGridDataDTO.sortType} </if> </select> <select id="selectUserGrid" resultType="com.panzhihua.common.model.vos.grid.EventGridDataVO" parameterType="com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO"> SELECT gd.id, gd.type, gd.zone_id, gd.grid_street_id, gd.grid_community_id, gd.grid_name, gd.map_level, gd.area, gd.line_color, gd.line_broadband, gd.fill_color, gd.remarks, gd.data, gd.create_by, gd.create_at, gd.update_by, gd.update_at FROM event_grid_data gd left join event_grid_member_relation gdr on gd.id = gdr.grid_id <where> <if test="pageEventGridDataDTO.userId!=null"> AND gdr.grid_member_id = #{pageEventGridDataDTO.userId} </if> <if test="pageEventGridDataDTO.id!=null"> AND gd.id = #{pageEventGridDataDTO.id} </if> <if test="pageEventGridDataDTO.type!=null"> AND gd.type = #{pageEventGridDataDTO.type} </if> <if test="pageEventGridDataDTO.zoneId!=null"> AND gd.zone_id = #{pageEventGridDataDTO.zoneId} </if> <if test="pageEventGridDataDTO.gridStreetId!=null"> AND gd.grid_street_id = #{pageEventGridDataDTO.gridStreetId} </if> <if test="pageEventGridDataDTO.gridCommunityId!=null"> AND gd.grid_community_id = #{pageEventGridDataDTO.gridCommunityId} </if> <if test="pageEventGridDataDTO.gridName!=null"> AND gd.grid_name = #{pageEventGridDataDTO.gridName} </if> <if test="pageEventGridDataDTO.mapLevel!=null"> AND gd.map_level = #{pageEventGridDataDTO.mapLevel} </if> <if test="pageEventGridDataDTO.area!=null"> AND gd.area = #{pageEventGridDataDTO.area} </if> <if test="pageEventGridDataDTO.lineColor!=null"> AND gd.line_color = #{pageEventGridDataDTO.lineColor} </if> <if test="pageEventGridDataDTO.lineBroadband!=null"> AND gd.line_broadband = #{pageEventGridDataDTO.lineBroadband} </if> <if test="pageEventGridDataDTO.fillColor!=null"> AND gd.fill_color = #{pageEventGridDataDTO.fillColor} </if> <if test="pageEventGridDataDTO.remarks!=null"> AND gd.remarks = #{pageEventGridDataDTO.remarks} </if> <if test="pageEventGridDataDTO.data!=null"> AND gd.data = #{pageEventGridDataDTO.data} </if> <if test="pageEventGridDataDTO.createBy!=null"> AND gd.create_by = #{pageEventGridDataDTO.createBy} </if> <if test="pageEventGridDataDTO.createAtBegin!=null"> AND gd.create_at >= #{pageEventGridDataDTO.createAtBegin} </if> <if test="pageEventGridDataDTO.createAtEnd!=null"> AND gd.create_at <= #{pageEventGridDataDTO.createAtEnd} </if> <if test="pageEventGridDataDTO.updateBy!=null"> AND gd.update_by = #{pageEventGridDataDTO.updateBy} </if> <if test="pageEventGridDataDTO.updateAtBegin!=null"> AND gd.update_at >= #{pageEventGridDataDTO.updateAtBegin} </if> <if test="pageEventGridDataDTO.updateAtEnd!=null"> AND gd.update_at <= #{pageEventGridDataDTO.updateAtEnd} </if> </where> <if test="pageEventGridDataDTO.sortColumns!=null"> ORDER BY ${pageEventGridDataDTO.sortColumns} ${pageEventGridDataDTO.sortType} </if> </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventResourceMapper.xml
@@ -5,8 +5,9 @@ <mapper namespace="com.panzhihua.service_grid.dao.EventResourceMapper"> <resultMap id="baseResult" type="com.panzhihua.service_grid.model.dos.EventResourceDO"> <result property="classification" column="classification"/> <result property="id" column="id"/> <result property="classification" column="classification"/> <result property="refId" column="ref_id"/> <result property="type" column="type"/> <result property="resourceName" column="resource_name"/> <result property="resourceSize" column="resource_size"/> @@ -17,7 +18,7 @@ <sql id="columns"> <![CDATA[ classification,id,type,resource_name,resource_size,url,create_by,create_at id,classification,ref_id,type,resource_name,resource_size,url,create_by,create_at ]]> </sql> @@ -33,6 +34,9 @@ <if test="pageEventResourceDTO.id!=null"> AND id = #{pageEventResourceDTO.id} </if> <if test="pageEventResourceDTO.refId!=null"> AND ref_id = #{pageEventResourceDTO.refId} </if> <if test="pageEventResourceDTO.type!=null"> AND type = #{pageEventResourceDTO.type} </if> springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventTransferRecordMapper.xml
@@ -8,10 +8,10 @@ <result property="id" column="id"/> <result property="eventId" column="event_id"/> <result property="fromType" column="from_type"/> <result property="from" column="from"/> <result property="fromId" column="from_id"/> <result property="fromName" column="from_name"/> <result property="toType" column="to_type"/> <result property="to" column="to"/> <result property="toId" column="to_id"/> <result property="toName" column="to_name"/> <result property="processResult" column="process_result"/> <result property="processDate" column="process_date"/> @@ -20,7 +20,7 @@ <sql id="columns"> <![CDATA[ id,event_id,from_type,from,from_name,to_type,to,to_name,process_result,process_date,create_at id,event_id,from_type,from_id,from_name,to_type,to_id,to_name,process_result,process_date,create_at ]]> </sql> @@ -40,7 +40,7 @@ AND from_type = #{pageEventTransferRecordDTO.fromType} </if> <if test="pageEventTransferRecordDTO.from!=null"> AND from = #{pageEventTransferRecordDTO.from} AND from_id = #{pageEventTransferRecordDTO.fromId} </if> <if test="pageEventTransferRecordDTO.fromName!=null"> AND from_name = #{pageEventTransferRecordDTO.fromName} @@ -49,7 +49,7 @@ AND to_type = #{pageEventTransferRecordDTO.toType} </if> <if test="pageEventTransferRecordDTO.to!=null"> AND to = #{pageEventTransferRecordDTO.to} AND to_id = #{pageEventTransferRecordDTO.toId} </if> <if test="pageEventTransferRecordDTO.toName!=null"> AND to_name = #{pageEventTransferRecordDTO.toName}