springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventAddDTO.java
@@ -61,9 +61,9 @@ @ApiModelProperty(value = "事件标题", hidden = false, example = "") private String eventTitle; @Max(127) @Length(max=255) @ApiModelProperty(value = "宣传类型", hidden = false, example = "1") private Integer propagandaType; private String propagandaType; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventEditDTO.java
@@ -64,9 +64,9 @@ @ApiModelProperty(value = "事件标题", hidden = false, example = "") private String eventTitle; @Max(127) @Length(max=255) @ApiModelProperty(value = "宣传类型", hidden = false, example = "1") private Integer propagandaType; private String propagandaType; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventRevokeDTO.java
@@ -26,5 +26,7 @@ @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
@@ -104,9 +104,9 @@ private String eventTitle; @Max(127) @Length(max=255) @ApiModelProperty(value = "宣传类型", hidden = false, example = "1") private Integer propagandaType; private String propagandaType; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PagePublicityEventDTO.java
New file @@ -0,0 +1,278 @@ package com.panzhihua.common.model.dtos.grid; import com.fasterxml.jackson.annotation.JsonFormat; import com.google.common.base.CaseFormat; 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 javax.validation.constraints.Pattern; 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 PagePublicityEventDTO { @Max(9223372036854775807L) @ApiModelProperty(value = "网格ID", hidden = false, example = "1", required = true) @NotNull(message = "网格ID不能为空") private Long gridId; @Max(value = 6, message = "事件处理状态参数错误") @ApiModelProperty(value = "事件处理状态(为空时查询全部):1 已发布、5 草稿箱、6已撤销", hidden = false, example = "1") private Integer eventDealStatus; @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize = 10L; @ApiModelProperty(value = "排序字段, 默认createAt", example = "createAt") private String sortAttr="createAt"; @ApiModelProperty(value = "排序方式: asc/desc(默认)", example = "desc") @Pattern(regexp = "asc|desc|ASC|DESC", message = "排序方式参数错误") private String sortType="desc"; public String getSortColumns(){ String dbColumn = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sortAttr); return dbColumn; } @Max(9223372036854775807L) @ApiModelProperty(value = "id", hidden = false, example = "1") private Long id; @Length(max=20) @ApiModelProperty(value = "服务单号", hidden = false, example = "") private String orderSn; @Max(9223372036854775807L) @ApiModelProperty(value = "1、办件事件2是宣传事件3是阅读事件", hidden = false, example = "1") private Long eventCategory; @Max(9223372036854775807L) @ApiModelProperty(value = "网格员所处的街道", hidden = false, example = "1") private Long gridMemberStreet; @Max(9223372036854775807L) @ApiModelProperty(value = "网格员所处社区", hidden = false, example = "1") private Long gridMemberCommunity; @Max(9223372036854775807L) @ApiModelProperty(value = "网格员", hidden = false, example = "1") private Long gridMemberId; @Length(max=100) @ApiModelProperty(value = "网格员名字", hidden = false, example = "") private String gridMemberName; @Length(max=20) @ApiModelProperty(value = "网格员联系方式", hidden = false, example = "") private String gridMemberTelephone; @Length(max=255) @ApiModelProperty(value = "事件标题", hidden = false, example = "") private String eventTitle; @Length(max=255) @ApiModelProperty(value = "宣传类型", hidden = false, example = "1") private String propagandaType; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "宣传时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date propagandaTimeBegin; @ApiModelProperty(value = "宣传时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date propagandaTimeEnd; @Length(max=255) @ApiModelProperty(value = "事件描述", hidden = false, example = "") private String eventDes; @Length(max=50) @ApiModelProperty(value = "宣传对象", hidden = false, example = "") private String propagandaObject; @Length(max=10) @ApiModelProperty(value = "宣传人数", hidden = false, example = "") private String propagandaNum; @Max(127) @ApiModelProperty(value = "社区处理(0是无需社区1是社区处理)", hidden = false, example = "1") private Integer communityProcess; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "发生时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date happenTimeBegin; @ApiModelProperty(value = "发生时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date happenTimeEnd; @Length(max=255) @ApiModelProperty(value = "发生地点", hidden = false, example = "") private String happentAddress; @Length(max=255) @ApiModelProperty(value = "发生的精度纬度信息(逗号隔开)", hidden = false, example = "") private String happentLatLng; @Max(127) @ApiModelProperty(value = "事件状态(1草稿箱2发布3逻辑删除4、撤销)", hidden = false, example = "1") private Integer eventStatus; @Max(127) @ApiModelProperty(value = "1待处理2已解决3待验证", hidden = false, example = "1") private Integer eventProcessStatus; @Max(127) @ApiModelProperty(value = "当前处理对象类型(1、网格员2、社区3、是街道)", hidden = false, example = "1") private Integer processType; @Max(9223372036854775807L) @ApiModelProperty(value = "处理人ID", hidden = false, example = "1") private Long processUserId; @Length(max=100) @ApiModelProperty(value = "处理人名称", hidden = false, example = "") private String processUserName; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "处理时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date processDateBegin; @ApiModelProperty(value = "处理时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date processDateEnd; @Length(max=255) @ApiModelProperty(value = "解决人针对解决事件的处理描述", hidden = false, example = "") private String processDesc; @Length(max=255) @ApiModelProperty(value = "事件来源", hidden = false, example = "") private String eventResource; @Max(127) @ApiModelProperty(value = "危险级别", hidden = false, example = "1") private Integer dangerLevel; @ApiModelProperty(value = "红牌", hidden = false, example = "true") private Boolean redCard; @ApiModelProperty(value = "黄牌", hidden = false, example = "true") private Boolean yellowCard; @ApiModelProperty(value = "是否有效", hidden = false, example = "true") private Boolean invalid; @ApiModelProperty(value = "是否重大", hidden = false, example = "true") private Boolean major; @Max(9999999999L) @ApiModelProperty(value = "死亡人数", hidden = false, example = "1") private Integer deathsNumber; @Max(9999999999L) @ApiModelProperty(value = "受伤人数", hidden = false, example = "1") private Integer injuriesNumber; @ApiModelProperty(value = "是否疑难事件", hidden = false, example = "true") private Boolean difficult; @ApiModelProperty(value = "是否紧急", hidden = false, example = "true") private Boolean urgent; @ApiModelProperty(value = "是否催办", hidden = false, example = "true") private Boolean urgentDell; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "上报提交时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date submitDateBegin; @ApiModelProperty(value = "上报提交时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date submitDateEnd; @Max(9223372036854775807L) @ApiModelProperty(value = "创建人", hidden = false, example = "1") private Long createBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "创建时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date createAtBegin; @ApiModelProperty(value = "创建时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAtEnd; @Max(9223372036854775807L) @ApiModelProperty(value = "修改人", hidden = false, example = "1") private Long updateBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "修改时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date updateAtBegin; @ApiModelProperty(value = "修改时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateAtEnd; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PublicityEventAddDTO.java
New file @@ -0,0 +1,93 @@ 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 org.hibernate.validator.constraints.URL; 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 PublicityEventAddDTO { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "宣传时间", hidden = false, example = "2021-05-01 18:05:50") @NotNull(message = "宣传时间不能为空") private Date propagandaTime; @Length(max=255) @ApiModelProperty(value = "宣传地点-精度纬度信息(逗号隔开)", hidden = false, example = "41.40338,2.17403", required = true) @NotNull(message = "宣传地点不能为空") 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(message = "宣传区域不能为空") private Long gridId; @Length(max=255) @ApiModelProperty(value = "宣传主题", hidden = false, example = "", required = true) @NotNull(message = "宣传主题不能为空") private String eventTitle; @Length(max=255) @ApiModelProperty(value = "宣传内容", hidden = false, example = "", required = true) @NotNull(message = "宣传内容不能为空") private String eventDes; @Length(max=255) @ApiModelProperty(value = "宣传类型", hidden = false, example = "1", required = true) @NotNull(message = "宣传类型不能为空") private String propagandaType; @Length(max=50) @ApiModelProperty(value = "宣传对象", hidden = false, example = "", required = true) @NotNull(message = "宣传对象不能为空") private String propagandaObject; @Length(max=10) @ApiModelProperty(value = "宣传人数", hidden = false, example = "", required = true) @NotNull(message = "宣传人数不能为空") private String propagandaNum; @ApiModelProperty(value = "音频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp3") @URL private String audio; @ApiModelProperty(value = "视频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp4") @URL 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/PublicityEventEditDTO.java
New file @@ -0,0 +1,96 @@ 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 org.hibernate.validator.constraints.URL; 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 PublicityEventEditDTO { @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") @NotNull(message = "宣传时间不能为空") private Date propagandaTime; @Length(max=255) @ApiModelProperty(value = "宣传地点-精度纬度信息(逗号隔开)", hidden = false, example = "41.40338,2.17403", required = true) @NotNull(message = "宣传地点不能为空") 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(message = "宣传区域不能为空") private Long gridId; @Length(max=255) @ApiModelProperty(value = "宣传主题", hidden = false, example = "", required = true) @NotNull(message = "宣传主题不能为空") private String eventTitle; @Length(max=255) @ApiModelProperty(value = "宣传内容", hidden = false, example = "", required = true) @NotNull(message = "宣传内容不能为空") private String eventDes; @Length(max=255) @ApiModelProperty(value = "宣传类型", hidden = false, example = "1", required = true) @NotNull(message = "宣传类型不能为空") private String propagandaType; @Length(max=50) @ApiModelProperty(value = "宣传对象", hidden = false, example = "", required = true) @NotNull(message = "宣传对象不能为空") private String propagandaObject; @Length(max=10) @ApiModelProperty(value = "宣传人数", hidden = false, example = "", required = true) @NotNull(message = "宣传人数不能为空") private String propagandaNum; @ApiModelProperty(value = "音频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp3") @URL private String audio; @ApiModelProperty(value = "视频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp4") @URL 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/SpecialEventAddDTO.java
@@ -1,6 +1,7 @@ package com.panzhihua.common.model.dtos.grid; import com.fasterxml.jackson.annotation.JsonFormat; import com.panzhihua.common.enums.EventType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,7 +22,7 @@ * @date 2021-05-26 * */ @Data @ApiModel("特殊人气事件请求参数") @ApiModel("特殊人群事件请求参数") public class SpecialEventAddDTO { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -77,7 +78,7 @@ private Boolean major; @ApiModelProperty(value = "特殊人群", hidden = false, required = true) @NotNull(message = "特殊人群不能为空") @NotNull(message = "特殊人员信息不能为空") private List<SpecialPopulationDTO> specialPopulation; @ApiModelProperty(value = "音频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp3") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/SpecialEventEditDTO.java
@@ -21,8 +21,11 @@ * @date 2021-05-26 * */ @Data @ApiModel("特殊人气事件请求参数") @ApiModel("特殊人群事件请求参数") public class SpecialEventEditDTO { @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) @@ -77,7 +80,7 @@ private Boolean major; @ApiModelProperty(value = "特殊人群", hidden = false, required = true) @NotNull(message = "特殊人群不能为空") @NotNull(message = "特殊人员信息不能为空") private List<SpecialPopulationDTO> specialPopulation; @ApiModelProperty(value = "音频(限1个)", hidden = false, example = "http://image.panzhihua.nhys.cdnhxx.com/idcard/8f77d43e8bce47d38b63e2a8ceb0a7c6.mp3") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventDetailsVO.java
@@ -49,7 +49,7 @@ private String eventTitle; @ApiModelProperty(value = "宣传类型") private Integer propagandaType; private String propagandaType; @ApiModelProperty(value = "宣传时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventVO.java
@@ -49,7 +49,7 @@ private String eventTitle; @ApiModelProperty(value = "宣传类型") private Integer propagandaType; private String propagandaType; @ApiModelProperty(value = "宣传时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -546,7 +546,7 @@ * @param idCard * @return */ @PostMapping("/event/addSpecial") @PostMapping("/event/getSpecialPopulation") R getSpecialPopulation(String idCard); /** @@ -611,4 +611,28 @@ */ @PostMapping("/easy/report") R easyReport(@RequestBody ComActEasyPhotoHandleDTO photoHandleDTO); /** * 添加发布宣传教育事件 * @param publicityEventAddDTO 请求参数 * @return 添加发布结果 */ @PostMapping("/event/addPublicity") R addPublicity(@RequestBody PublicityEventAddDTO publicityEventAddDTO); /** * 保存宣传教育事件草稿 * @param publicityEventEditDTO 请求参数 * @return 保存结果 */ @PostMapping("/event/savePublicityDraft") R savePublicityDraft(@RequestBody PublicityEventEditDTO publicityEventEditDTO); /** * 分页查询宣传教育事件 * @param pagePublicityEventDTO 请求参数 * @return 结果 */ @PostMapping("/event/queryPublicity") R queryPublicity(@RequestBody PagePublicityEventDTO pagePublicityEventDTO); } springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonEventApi.java
New file @@ -0,0 +1,150 @@ package com.panzhihua.grid_app.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.model.vos.grid.EventDetailsVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.common.service.grid.GridService; import com.panzhihua.common.utlis.ClazzUtils; import com.panzhihua.common.utlis.IdCardUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Slf4j @RestController @RequestMapping("/event/common") @Api(tags = {"网格综治事件管理 @chendong"}) public class CommonEventApi extends BaseController { @Resource private GridService gridService; private boolean isCommonType(Integer eventType){ if(eventType==null){ return false; } boolean inType = eventType==1 | eventType==2 |eventType==3| eventType==4| eventType==5; return inType; } /** * 事件列表 * @param pageEventDTO 查找事件 * @return 查找结果 */ @GetMapping("/usersList") @ApiOperation(value = "事件列表", response= EventVO.class) R usersList(@Validated @ModelAttribute PageEventDTO pageEventDTO){ ClazzUtils.setIfStringIsEmpty(pageEventDTO); if(!isCommonType(pageEventDTO.getEventType())){ return R.fail(400, "事件类型错误"); } LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); pageEventDTO.setUserId(loginUserInfoVO.getUserId()); return gridService.query(pageEventDTO); } /** * 新增并发布事件事件 * @param commonEventAddDTO 添加事件传递对象 * @return 新增结果 */ @PostMapping("/release") @ApiOperation(value = "新增并发布事件", response = R.class) R add(@Validated @RequestBody CommonEventAddDTO commonEventAddDTO){ ClazzUtils.setIfStringIsEmpty(commonEventAddDTO); if(!isCommonType(commonEventAddDTO.getEventType())){ return R.fail(400, "事件类型错误"); } LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventAddDTO.setUserId(loginUserInfoVO.getUserId()); commonEventAddDTO.setUserName(loginUserInfoVO.getName()); commonEventAddDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.addCommon(commonEventAddDTO); } /** * 保存草稿 * @param commonEventEditDTO 保存草稿传递对象 * @return 新增结果 */ @PostMapping("/draft") @ApiOperation(value = "保存草稿", response = R.class) R saveDraft(@Validated @RequestBody CommonEventEditDTO commonEventEditDTO){ ClazzUtils.setIfStringIsEmpty(commonEventEditDTO); ClazzUtils.setIfStringIsEmpty(commonEventEditDTO); if(!isCommonType(commonEventEditDTO.getEventType())){ return R.fail(400, "事件类型错误"); } LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventEditDTO.setUserId(loginUserInfoVO.getUserId()); commonEventEditDTO.setUserName(loginUserInfoVO.getName()); commonEventEditDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.saveDraft(commonEventEditDTO); } /** * 上报社区 * @param commonEventReportDTO 上报社区传递对象 * @return 上报结果 */ @PutMapping("/report") @ApiOperation(value = "上报社区", response = R.class) R report(@Validated @RequestBody CommonEventReportDTO commonEventReportDTO){ LoginUserInfoVO loginUserInfoVO = getLoginUserInfo(); ClazzUtils.setIfStringIsEmpty(commonEventReportDTO); commonEventReportDTO.setUserId(loginUserInfoVO.getUserId()); commonEventReportDTO.setUserName(loginUserInfoVO.getName()); return gridService.report(commonEventReportDTO); } /** * 处理事件 * @param commonEventDealDTO 修改事件传递对象 * @return 处理结果 */ @PutMapping("/deal") @ApiOperation(value = "处理事件", response = R.class) R deal(@Validated @RequestBody CommonEventDealDTO commonEventDealDTO){ ClazzUtils.setIfStringIsEmpty(commonEventDealDTO); LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); commonEventDealDTO.setUserId(loginUserInfoVO.getUserId()); commonEventDealDTO.setUserName(loginUserInfoVO.getName()); return gridService.dealEvent(commonEventDealDTO); } /** * 验证事件 * @param commonEventVerifyDTO 验证事件传递对象 * @return 验证结果 */ @PutMapping("/verify") @ApiOperation(value = "验证事件", response = R.class) R verify(@Validated @RequestBody CommonEventVerifyDTO commonEventVerifyDTO){ ClazzUtils.setIfStringIsEmpty(commonEventVerifyDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventVerifyDTO.setUserId(loginUserInfoVO.getUserId()); commonEventVerifyDTO.setUserName(loginUserInfoVO.getName()); return gridService.verifyEvent(commonEventVerifyDTO); } } springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/EventApi.java
@@ -5,6 +5,7 @@ import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.utlis.ClazzUtils; import com.panzhihua.common.utlis.IdCardUtil; import io.swagger.annotations.Api; @@ -29,92 +30,12 @@ @Slf4j @RestController @RequestMapping("/event") @Api(tags = {"事件-突发/矛盾纠纷事件/治安隐患/不稳定因素/公共服务 @陈东"}) @Api(tags = {"网格综治事件管理 @chendong", "宣传教育 @chendong","特殊人群上报(开发中..) @chendong"}) public class EventApi extends BaseController { @Resource private GridService gridService; private boolean isDefaultType(Integer eventType){ if(eventType==null){ return false; } boolean inType = eventType==1 | eventType==2 |eventType==3| eventType==4| eventType==5; return inType; } /** * 事件列表 * @param pageEventDTO 查找事件 * @return 查找结果 */ @GetMapping("/usersList") @ApiOperation(value = "事件列表", response= EventVO.class) R usersList(@Validated @ModelAttribute PageEventDTO pageEventDTO){ ClazzUtils.setIfStringIsEmpty(pageEventDTO); if(!isDefaultType(pageEventDTO.getEventType())){ return R.fail(400, "事件类型错误"); } LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); pageEventDTO.setUserId(loginUserInfoVO.getUserId()); return gridService.query(pageEventDTO); } /** * 新增事件 * @param {classNameFirstLower}AddDTO 添加事件传递对象 * @return 新增结果 */ @PostMapping("/release") @ApiOperation(value = "发布事件(直接)", response = R.class) R add(@Validated @RequestBody CommonEventAddDTO commonEventAddDTO){ ClazzUtils.setIfStringIsEmpty(commonEventAddDTO); if(!isDefaultType(commonEventAddDTO.getEventType())){ return R.fail(400, "事件类型错误"); } LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventAddDTO.setUserId(loginUserInfoVO.getUserId()); commonEventAddDTO.setUserName(loginUserInfoVO.getName()); commonEventAddDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.addCommon(commonEventAddDTO); } /** * 保存草稿 * @param commonEventEditDTO 保存草稿传递对象 * @return 新增结果 */ @PostMapping("/draft") @ApiOperation(value = "保存草稿", response = R.class) R saveDraft(@Validated @RequestBody CommonEventEditDTO commonEventEditDTO){ ClazzUtils.setIfStringIsEmpty(commonEventEditDTO); ClazzUtils.setIfStringIsEmpty(commonEventEditDTO); if(!isDefaultType(commonEventEditDTO.getEventType())){ return R.fail(400, "事件类型错误"); } LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventEditDTO.setUserId(loginUserInfoVO.getUserId()); commonEventEditDTO.setUserName(loginUserInfoVO.getName()); commonEventEditDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.saveDraft(commonEventEditDTO); } /** * 上报社区 * @param commonEventReportDTO 上报社区传递对象 * @return 上报结果 */ @PutMapping("/report") @ApiOperation(value = "上报社区", response = R.class) R report(@Validated @RequestBody CommonEventReportDTO commonEventReportDTO){ LoginUserInfoVO loginUserInfoVO = getLoginUserInfo(); ClazzUtils.setIfStringIsEmpty(commonEventReportDTO); commonEventReportDTO.setUserId(loginUserInfoVO.getUserId()); commonEventReportDTO.setUserName(loginUserInfoVO.getName()); return gridService.report(commonEventReportDTO); } /** * 撤销事件 @@ -125,40 +46,34 @@ @ApiOperation(value = "撤销事件", response = R.class) R revoke(@Validated @RequestBody EventRevokeDTO eventRevokeDTO){ ClazzUtils.setIfStringIsEmpty(eventRevokeDTO); eventRevokeDTO.setUserId(getUserId()); LoginUserInfoVO loginUserInfoVO = getLoginUserInfo(); eventRevokeDTO.setUserId(loginUserInfoVO.getUserId()); eventRevokeDTO.setUserName(loginUserInfoVO.getName()); return gridService.emergenciesRevoke(eventRevokeDTO); } /** * 处理事件 * @param commonEventDealDTO 修改事件传递对象 * @return 处理结果 * 查询事件详细信息 * @param id 事件 id * @return 查找结果 */ @PutMapping("/deal") @ApiOperation(value = "处理事件", response = R.class) R deal(@Validated @RequestBody CommonEventDealDTO commonEventDealDTO){ ClazzUtils.setIfStringIsEmpty(commonEventDealDTO); LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); commonEventDealDTO.setUserId(loginUserInfoVO.getUserId()); commonEventDealDTO.setUserName(loginUserInfoVO.getName()); return gridService.dealEvent(commonEventDealDTO); @GetMapping("/{id}") @ApiOperation(value = "查询事件详细信息") R<EventDetailsVO> details(@PathVariable("id") Long id){ return gridService.eventDetails(id); } /** * 验证事件 * @param commonEventVerifyDTO 验证事件传递对象 * @return 验证结果 * 删除 * @param eventDeleteDTO 删除事件传递对象 * @return 删除结果 */ @PutMapping("/verify") @ApiOperation(value = "验证事件", response = R.class) R verify(@Validated @RequestBody CommonEventVerifyDTO commonEventVerifyDTO){ ClazzUtils.setIfStringIsEmpty(commonEventVerifyDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventVerifyDTO.setUserId(loginUserInfoVO.getUserId()); commonEventVerifyDTO.setUserName(loginUserInfoVO.getName()); return gridService.verifyEvent(commonEventVerifyDTO); @DeleteMapping() @ApiOperation(value = "删除事件", response = R.class) R delete(@Validated @RequestBody EventDeleteDTO eventDeleteDTO){ ClazzUtils.setIfStringIsEmpty(eventDeleteDTO); return gridService.delete(eventDeleteDTO); } /** * 重新发布事件 * @param commonEventRepublicDTO 重新发布事件传递对象 @@ -174,16 +89,6 @@ return gridService.republishEvent(commonEventRepublicDTO); } /** * 查询事件详细信息 * @param id 事件 id * @return 查找结果 */ @GetMapping("/{id}") @ApiOperation(value = "查询事件详细信息") R<EventDetailsVO> details(@PathVariable("id") Long id){ return gridService.eventDetails(id); } /** * 发布草稿 @@ -198,55 +103,6 @@ commonEventPublicDTO.setUserId(loginUserInfoVO.getUserId()); commonEventPublicDTO.setUserName(loginUserInfoVO.getName()); return gridService.draftRelease(commonEventPublicDTO); } //--- //--- /** * 添加特殊人群 * @param specialEventAddDTO 特殊人群信息 * @return 查找结果 */ @PostMapping("/special") @ApiOperation(value = "添加特殊人群") R addSpecial(@Validated @RequestBody SpecialEventAddDTO specialEventAddDTO){ ClazzUtils.setIfStringIsEmpty(specialEventAddDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); specialEventAddDTO.setUserId(loginUserInfoVO.getUserId()); specialEventAddDTO.setUserName(loginUserInfoVO.getName()); specialEventAddDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.addSpecial(specialEventAddDTO); } /** * 保存特殊人群草稿 * @param specialEventEditDTO 保存草稿传递对象 * @return 新增结果 */ @PostMapping("/special/draft") @ApiOperation(value = "保存特殊人群草稿", response = R.class) R saveSpecialDraft(@Validated @RequestBody SpecialEventEditDTO specialEventEditDTO){ ClazzUtils.setIfStringIsEmpty(specialEventEditDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); specialEventEditDTO.setUserId(loginUserInfoVO.getUserId()); specialEventEditDTO.setUserName(loginUserInfoVO.getName()); specialEventEditDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.saveSpecialDraft(specialEventEditDTO); } @GetMapping("/special/{idCard}") @ApiOperation(value = "查询特殊人群信息") R getSpecialByIdCard(@PathVariable String idCard){ if(idCard!=null){ boolean verified = IdCardUtil.strongVerifyIdNumber(idCard); if(!verified){ return R.fail("身份证格式错误"); } return gridService.getSpecialPopulation(idCard); } return R.fail(); } } springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/EventGridDataApi.java
@@ -33,7 +33,7 @@ @Slf4j @RestController @RequestMapping("/eventgriddata") @Api(tags = {"区县/街道/社区/网格员网格数据管理 @陈东"}) @Api(tags = {"网格数据管理 @chendong"}) public class EventGridDataApi extends BaseController { @Resource springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/LoginApi.java
@@ -18,7 +18,7 @@ */ @RestController @RequestMapping("/") @Api(tags = {"网格综治APP登录模块"}) @Api(tags = {"登录 @chendong"}) public class LoginApi extends BaseController { @Resource private TokenService tokenService; springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/PublicityEventApi.java
New file @@ -0,0 +1,84 @@ package com.panzhihua.grid_app.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.model.vos.grid.EventDetailsVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.common.service.grid.GridService; import com.panzhihua.common.utlis.ClazzUtils; import com.panzhihua.common.utlis.IdCardUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Slf4j @RestController @RequestMapping("/event/publicity") @Api(tags = {"宣传教育 @chendong"}) public class PublicityEventApi extends BaseController { @Resource private GridService gridService; /** * 事件列表 * @param pagePublicityEventDTO 查找事件 * @return 查找结果 */ @GetMapping("/usersList") @ApiOperation(value = "宣传教育事件列表", response= EventVO.class) R usersPublicityList(@Validated @ModelAttribute PagePublicityEventDTO pagePublicityEventDTO){ ClazzUtils.setIfStringIsEmpty(pagePublicityEventDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); pagePublicityEventDTO.setUserId(loginUserInfoVO.getUserId()); return gridService.queryPublicity(pagePublicityEventDTO); } /** * 添加宣传教育事件 * @param publicityEventAddDTO 特殊人群信息 * @return 查找结果 */ @PostMapping() @ApiOperation(value = "发布宣传教育事件", response = R.class) R addPublicity(@Validated @RequestBody PublicityEventAddDTO publicityEventAddDTO){ ClazzUtils.setIfStringIsEmpty(publicityEventAddDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); publicityEventAddDTO.setUserId(loginUserInfoVO.getUserId()); publicityEventAddDTO.setUserName(loginUserInfoVO.getName()); publicityEventAddDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.addPublicity(publicityEventAddDTO); } /** * 保存宣传教育事件草稿 * @param publicityEventEditDTO 保存草稿传递对象 * @return 保存结果 */ @PostMapping("/draft") @ApiOperation(value = "保存宣传教育事件草稿", response = R.class) R savePublicityDraft(@Validated @RequestBody PublicityEventEditDTO publicityEventEditDTO){ ClazzUtils.setIfStringIsEmpty(publicityEventEditDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); publicityEventEditDTO.setUserId(loginUserInfoVO.getUserId()); publicityEventEditDTO.setUserName(loginUserInfoVO.getName()); publicityEventEditDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.savePublicityDraft(publicityEventEditDTO); } } springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/SpecialPopulationEventApi.java
New file @@ -0,0 +1,129 @@ package com.panzhihua.grid_app.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.common.service.grid.GridService; import com.panzhihua.common.utlis.ClazzUtils; import com.panzhihua.common.utlis.IdCardUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ @Slf4j @RestController @RequestMapping("/event/special") @Api(tags = {"特殊人群上报(开发中..) @chendong"}) public class SpecialPopulationEventApi extends BaseController { @Resource private GridService gridService; /** * 添加特殊人群 * @param specialEventAddDTO 特殊人群信息 * @return 查找结果 */ @PostMapping() @ApiOperation(value = "发布特殊人群事件", response = R.class) R addSpecial(@Validated @RequestBody SpecialEventAddDTO specialEventAddDTO){ ClazzUtils.setIfStringIsEmpty(specialEventAddDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); specialEventAddDTO.setUserId(loginUserInfoVO.getUserId()); specialEventAddDTO.setUserName(loginUserInfoVO.getName()); specialEventAddDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.addSpecial(specialEventAddDTO); } /** * 保存特殊人群草稿 * @param specialEventEditDTO 保存草稿传递对象 * @return 新增结果 */ @PostMapping("/draft") @ApiOperation(value = "保存特殊人群事件草稿", response = R.class) R saveSpecialDraft(@Validated @RequestBody SpecialEventEditDTO specialEventEditDTO){ ClazzUtils.setIfStringIsEmpty(specialEventEditDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); specialEventEditDTO.setUserId(loginUserInfoVO.getUserId()); specialEventEditDTO.setUserName(loginUserInfoVO.getName()); specialEventEditDTO.setPhone(loginUserInfoVO.getPhone()); return gridService.saveSpecialDraft(specialEventEditDTO); } @GetMapping("/{idCard}") @ApiOperation(value = "查询特殊人群信息", response = ComMngPopulationVO.class) R getSpecialByIdCard(@PathVariable String idCard){ if(idCard!=null){ boolean verified = IdCardUtil.strongVerifyIdNumber(idCard); if(!verified){ return R.fail("身份证格式错误"); } return gridService.getSpecialPopulation(idCard); } return R.fail(); } /** * 上报社区 * @param commonEventReportDTO 上报社区传递对象 * @return 上报结果 */ @PutMapping("/report") @ApiOperation(value = "上报社区", response = R.class) R report(@Validated @RequestBody CommonEventReportDTO commonEventReportDTO){ LoginUserInfoVO loginUserInfoVO = getLoginUserInfo(); ClazzUtils.setIfStringIsEmpty(commonEventReportDTO); commonEventReportDTO.setUserId(loginUserInfoVO.getUserId()); commonEventReportDTO.setUserName(loginUserInfoVO.getName()); return gridService.report(commonEventReportDTO); } /** * 处理事件 * @param commonEventDealDTO 修改事件传递对象 * @return 处理结果 */ @PutMapping("/deal") @ApiOperation(value = "处理事件", response = R.class) R deal(@Validated @RequestBody CommonEventDealDTO commonEventDealDTO){ ClazzUtils.setIfStringIsEmpty(commonEventDealDTO); LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); commonEventDealDTO.setUserId(loginUserInfoVO.getUserId()); commonEventDealDTO.setUserName(loginUserInfoVO.getName()); return gridService.dealEvent(commonEventDealDTO); } /** * 验证事件 * @param commonEventVerifyDTO 验证事件传递对象 * @return 验证结果 */ @PutMapping("/verify") @ApiOperation(value = "验证事件", response = R.class) R verify(@Validated @RequestBody CommonEventVerifyDTO commonEventVerifyDTO){ ClazzUtils.setIfStringIsEmpty(commonEventVerifyDTO); LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); commonEventVerifyDTO.setUserId(loginUserInfoVO.getUserId()); commonEventVerifyDTO.setUserName(loginUserInfoVO.getName()); return gridService.verifyEvent(commonEventVerifyDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActEasyPhotoDAO.java
@@ -183,7 +183,7 @@ "SELECT\n" + "'1' type\n" + "FROM\n" + " p.del_tag = 0 and com_act_easy_photo p \n" + " com_act_easy_photo p \n" + "WHERE\n" + " p.del_tag = 0 and p.community_id = #{communityId} \n" + "AND p.`status` = 2 and p.is_need_feed_back=1 and p.handler_id=#{userId}\n" springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventApi.java
@@ -59,12 +59,12 @@ /** * 删除事件 * @param CommonEventDeleteDTO * @param commonEventDeleteDTO * @return 平台用户信息 */ @PostMapping("/delete") R delete(@RequestBody CommonEventDeleteDTO CommonEventDeleteDTO){ return eventService.delete(CommonEventDeleteDTO); R delete(@RequestBody CommonEventDeleteDTO commonEventDeleteDTO){ return eventService.delete(commonEventDeleteDTO); }; /** @@ -152,8 +152,71 @@ * @param commonEventPublicDTO * @return */ @PostMapping("/event/draftRelease") @PostMapping("/draftRelease") R draftRelease(@RequestBody CommonEventPublicDTO commonEventPublicDTO){ return eventService.draftRelease(commonEventPublicDTO); } /** * 保存殊人群事件上报草稿 * @param specialEventEditDTO * @return */ @PostMapping("/saveSpecialDraft") R saveSpecialDraft(@RequestBody SpecialEventEditDTO specialEventEditDTO){ return eventService.saveSpecialDraft(specialEventEditDTO); } /** * 特殊人员信息上报 * @param specialEventAddDTO * @return */ @PostMapping("/addSpecial") R addSpecial(@RequestBody SpecialEventAddDTO specialEventAddDTO){ return eventService.addSpecial(specialEventAddDTO); } /** * 获取指定特殊人员信息 * @param idCard * @return */ @PostMapping("/getSpecialPopulation") R getSpecialPopulation(@RequestBody String idCard){ return eventService.getSpecialPopulation(idCard); } /** * 添加发布宣传教育事件 * @param publicityEventAddDTO 请求参数 * @return 上报结果 */ @PostMapping("/addPublicity") R addPublicity(@RequestBody PublicityEventAddDTO publicityEventAddDTO){ return eventService.addPublicity(publicityEventAddDTO); } /** * 保存宣传教育事件草稿 * @param publicityEventEditDTO 请求参数 * @return 保存结果 */ @PostMapping("/savePublicityDraft") R savePublicityDraft(@RequestBody PublicityEventEditDTO publicityEventEditDTO) { return eventService.savePublicityDraft(publicityEventEditDTO); } /** * 分页查询宣传教育事件 * @param pagePublicityEventDTO 请求参数 * @return 结果 */ @PostMapping("/queryPublicity") R queryPublicity(@RequestBody PagePublicityEventDTO pagePublicityEventDTO){ return eventService.selectPublicity(pagePublicityEventDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.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.PageEventDTO; import com.panzhihua.common.model.dtos.grid.PagePublicityEventDTO; import com.panzhihua.service_grid.model.dos.EventDO; import com.panzhihua.common.model.vos.grid.EventVO; import org.apache.ibatis.annotations.Mapper; @@ -16,17 +16,25 @@ * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 * */ * @since 1.0 */ @Mapper public interface EventMapper extends BaseMapper<EventDO> { /** * 分页查询 * @param pageEventDTO * @return */ IPage<EventVO> findByPage(Page page, @Param("pageEventDTO")PageEventDTO pageEventDTO); /** * 分页查询事件 * * @param pageEventDTO * @return */ IPage<EventVO> findByPage(Page page, @Param("pageEventDTO") PageEventDTO pageEventDTO); /** * 分页查询宣传教育 * * @param pagePublicityEventDTO * @return */ IPage<EventVO> findPublicityByPage(Page page, @Param("pagePublicityEventDTO") PagePublicityEventDTO pagePublicityEventDTO); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/model/dos/EventDO.java
@@ -68,7 +68,7 @@ /** * 宣传类型 列: propaganda_type */ private Integer propagandaType; private String propagandaType; /** * 宣传时间 列: propaganda_time */ springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/model/dos/EventResourceDO.java
@@ -25,7 +25,7 @@ private static final long serialVersionUID = 1L; /** * 分类(1、事件 2、走访) 列: classification * 分类(1、事件 2、走访 3、事件流转) 列: classification */ private Integer classification; /** springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
@@ -41,10 +41,10 @@ /** * 删除事件 * @param CommonEventDeleteDTO * @param commonEventDeleteDTO * @return 平台用户信息 */ R delete(CommonEventDeleteDTO CommonEventDeleteDTO); R delete(CommonEventDeleteDTO commonEventDeleteDTO); /** * 查询事件详细信息 @@ -107,4 +107,47 @@ * @return */ R draftRelease(CommonEventPublicDTO commonEventPublicDTO); /** * 保存殊人群事件上报草稿 * @param specialEventEditDTO * @return */ R saveSpecialDraft(SpecialEventEditDTO specialEventEditDTO); /** * 特殊人员信息上报 * @param specialEventAddDTO * @return */ R addSpecial(SpecialEventAddDTO specialEventAddDTO); /** * 获取指定特殊人员信息 * @param idCard * @return */ R getSpecialPopulation(String idCard); /** * 添加发布宣传教育事件 * @param publicityEventAddDTO 请求参数 * @return 上报结果 */ R addPublicity(PublicityEventAddDTO publicityEventAddDTO); /** * 保存宣传教育事件草稿 * @param publicityEventEditDTO 请求参数 * @return 保存结果 */ R savePublicityDraft(PublicityEventEditDTO publicityEventEditDTO); /** * 分页查询宣传教育事件 * @param pagePublicityEventDTO * @return */ R selectPublicity(PagePublicityEventDTO pagePublicityEventDTO); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1,16 +1,21 @@ package com.panzhihua.service_grid.service.impl; import com.alibaba.fastjson.JSONObject; 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.enums.EventType; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActVO; 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.service.community.CommunityService; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_grid.dao.*; import com.panzhihua.service_grid.model.dos.*; @@ -28,9 +33,9 @@ import java.util.List; /** * @auther lyq * @create 2021-04-14 15:03:01 * @describe 订单表服务实现类 * @author cedoo * 2021-04-14 15:03:01 * 订单表服务实现类 */ @Slf4j @Service @@ -38,15 +43,16 @@ @Resource private EventMapper eventMapper; @Resource private EventResourceService eventResourceService; @Resource private EventTransferRecordService eventTransferRecordService; @Resource private CommunityService communityService; /** * 新增事件 * @param eventAddDTO * @param eventAddDTO 事件新增DTO * @return 新增结果 */ public R add(EventAddDTO eventAddDTO){ @@ -129,11 +135,22 @@ /** * 删除事件 * @param CommonEventDeleteDTO * @param commonEventDeleteDTO * @return 平台用户信息 */ public R delete(CommonEventDeleteDTO CommonEventDeleteDTO){ return R.fail(); public R delete(CommonEventDeleteDTO commonEventDeleteDTO){ EventDO eventDO = eventMapper.selectById(commonEventDeleteDTO.getId()); if(eventDO==null){ return R.fail("事件不存在"); } if(eventDO.getEventStatus()!=null && (eventDO.getEventStatus().intValue()==1||eventDO.getEventStatus().intValue()==4)){//草稿 或者 已撤销 的事件可以删除 eventDO.setEventStatus(3);//逻辑删除 eventDO.setUpdateBy(commonEventDeleteDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); return updated==1?R.ok():R.fail(); } return R.fail("事件不是草稿/已撤销状态, 不允许删除"); } /** @@ -147,7 +164,6 @@ EventDetailsVO eventDetailsVO = new EventDetailsVO(); BeanUtils.copyProperties(eventDO, eventDetailsVO); //查询事件关联附件 List<EventResourceDO> eventResourceDOList = eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() .eq(EventResourceDO::getClassification, 1) @@ -185,6 +201,7 @@ List<EventTransferRecordDO> eventTransferRecordDOList = eventTransferRecordService.getBaseMapper() .selectList(new LambdaQueryWrapper<EventTransferRecordDO>() .eq(EventTransferRecordDO::getEventId, id) .orderByAsc(EventTransferRecordDO::getCreateAt) ); List<EventTransferRecordVO> eventTransferRecordVOS = new ArrayList<>(); @@ -244,6 +261,7 @@ eventDO.setGridMemberName(commonEventAddDTO.getUserName()); eventDO.setGridMemberTelephone(commonEventAddDTO.getPhone()); eventDO.setCreateBy(commonEventAddDTO.getUserId()); eventDO.setSubmitDate(new Date()); if(eventMapper.insert(eventDO)==1){ //添加音频 if(StringUtils.isNotEmpty(commonEventAddDTO.getAudio())){ @@ -287,6 +305,7 @@ } } } addReleaseRecord(eventDO.getId(), commonEventAddDTO.getUserId(), commonEventAddDTO.getUserName()); return R.ok(); } return R.fail(); @@ -300,11 +319,13 @@ BeanUtils.copyProperties(commonEventEditDTO, eventDO); eventDO.setGridMemberId(commonEventEditDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(5);//突发事件分类 eventDO.setEventStatus(1);//事件状态 1草稿 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setCreateBy(commonEventEditDTO.getUserId()); eventDO.setGridMemberId(commonEventEditDTO.getUserId()); eventDO.setGridMemberName(commonEventEditDTO.getUserName()); eventDO.setGridMemberTelephone(commonEventEditDTO.getPhone()); if (eventMapper.insert(eventDO) > 0) { //添加音频 if (StringUtils.isNotEmpty(commonEventEditDTO.getAudio())) { @@ -357,7 +378,6 @@ BeanUtils.copyProperties(commonEventEditDTO, eventDO); eventDO.setGridMemberId(commonEventEditDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(5);//突发事件分类 eventDO.setEventStatus(1);//事件状态 2发布 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 @@ -428,44 +448,56 @@ if(eventDO.getProcessType()==2){ return R.fail("当前事件已交由社区处理"); } R r = communityService.detailCommunity(commonEventReportDTO.getToId()); if(!R.isOk(r)){ return R.fail("查询社区错误"); } ComActVO comActVO= JSONObject.parseObject(JSONObject.toJSONString(r.getData()),ComActVO.class); if(comActVO!=null){ return R.fail("社区不存在"); } eventDO.setCommunityProcess(1); //社区处理 eventDO.setProcessType(2); //当前处理对象: 社区处理 eventDO.setCommunityProcess(1); eventDO.setEventProcessStatus(1); //待处理 eventDO.setUpdateBy(commonEventReportDTO.getUserId()); eventDO.setSubmitDate(new Date()); int updated = this.getBaseMapper().updateById(eventDO); if(updated!=1){ throw new ServiceException("更新突发事件状态更新失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); BeanUtils.copyProperties(commonEventReportDTO, eventTransferRecordDO); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(commonEventReportDTO.getUserId()); eventTransferRecordDO.setFromName(commonEventReportDTO.getUserName()); eventTransferRecordDO.setToType(2);//转交类型:2、社区 eventTransferRecordDO.setProcessDate(new Date()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); return inserted==1?R.ok():R.fail(); addTransferRecord(eventDO.getId(), commonEventReportDTO.getToId(), comActVO.getName(), 2, "上报社区成功"); return R.ok(); } @Override @Transactional(rollbackFor = Exception.class) public R emergenciesRevoke(EventRevokeDTO eventRevokeDTO) { EventDO eventDO = this.getBaseMapper().selectById(eventRevokeDTO.getId()); if(eventDO==null){ return R.fail("事件不存在"); } boolean canRevoke = eventDO.getEventStatus()==2 //发布状态 && eventDO.getEventProcessStatus()==1 //待处理 ; boolean canRevoke = eventDO.getEventStatus()==2; //发布状态 if(!canRevoke){ return R.fail("当前事件不允许撤销"); } if(eventDO.getEventCategory()!=null && eventDO.getEventCategory().intValue()==2){//宣传教育事件 //不做验证 }else if(eventDO.getEventProcessStatus()==2 ||eventDO.getEventProcessStatus()==3) { //已解决 或者 待验证 不允许撤销 return R.fail("当前事件不允许撤销"); } eventDO.setEventStatus(4); eventDO.setUpdateBy(eventRevokeDTO.getUserId()); eventDO.setEventType(5);//突发事件分类 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 int updated = this.getBaseMapper().updateById(eventDO); return updated==1?R.ok():R.fail(); if(updated == 1){ addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 1,"撤销成功"); return R.ok(); } return R.fail(); } @Override @@ -496,25 +528,16 @@ if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); BeanUtils.copyProperties(commonEventDealDTO, eventTransferRecordDO); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(commonEventDealDTO.getUserId()); eventTransferRecordDO.setFromName(commonEventDealDTO.getUserName()); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(commonEventDealDTO.getUserId()); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setEventId(eventDO.getId()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1){ EventTransferRecordDO transferRecordDO = addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(),1, "网格员自处理完成"); if(transferRecordDO!=null && transferRecordDO.getId()!=null){ //添加音频 if(StringUtils.isNotEmpty(commonEventDealDTO.getAudio())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(3); eventResourceDO.setType(2); eventResourceDO.setUrl(commonEventDealDTO.getAudio()); eventResourceDO.setRefId(eventTransferRecordDO.getId()); eventResourceDO.setRefId(transferRecordDO.getId()); eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(audioAdd!=1){ @@ -527,7 +550,7 @@ eventResourceDO.setClassification(3); eventResourceDO.setType(3); eventResourceDO.setUrl(commonEventDealDTO.getVideo()); eventResourceDO.setRefId(eventTransferRecordDO.getId()); eventResourceDO.setRefId(transferRecordDO.getId()); eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(videoAdd!=1){ @@ -542,7 +565,7 @@ eventResourceDO.setClassification(3); eventResourceDO.setType(1); eventResourceDO.setUrl(pica[i]); eventResourceDO.setRefId(eventTransferRecordDO.getId()); eventResourceDO.setRefId(transferRecordDO.getId()); eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(picAdd!=1){ @@ -574,21 +597,8 @@ if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(commonEventVerifyDTO.getUserId()); eventTransferRecordDO.setFromName(commonEventVerifyDTO.getUserName()); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(commonEventVerifyDTO.getUserId()); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setToName(commonEventVerifyDTO.getUserName()); eventTransferRecordDO.setEventId(eventDO.getId()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1){ return R.ok(); }else{ throw new ServiceException("事件处理添加出错"); } addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, "事件验证完成"); return R.ok(); } @Override @@ -599,26 +609,16 @@ return R.fail("当前不是撤销状态"); } eventDO.setEventStatus(2);//2已解决 eventDO.setEventStatus(2);//2 发布 eventDO.setEventProcessStatus(1); //待解决 eventDO.setProcessType(1); //网格员处理 eventDO.setUpdateBy(commonEventRepublicDTO.getUserId()); int updated = this.getBaseMapper().updateById(eventDO); if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(commonEventRepublicDTO.getUserId()); eventTransferRecordDO.setFromName(commonEventRepublicDTO.getUserName()); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(commonEventRepublicDTO.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("事件处理添加出错"); } addTransferRecord(eventDO.getId(), commonEventRepublicDTO.getUserId(), commonEventRepublicDTO.getUserName(), 1, "重新发布已撤销事件"); return R.ok(); } @Override @@ -629,7 +629,6 @@ if(!draftCanRelease){ return R.fail("当前不是草稿状态"); } eventDO.setEventStatus(2);//事件状态 2发布 eventDO.setProcessType(1);//当前处理对象类型:网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 @@ -639,20 +638,503 @@ if(updated!=1){ return R.fail("更新事件状态失败"); } EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(1);//来源类型 1、网格员 eventTransferRecordDO.setFromId(commonEventPublicDTO.getUserId()); eventTransferRecordDO.setFromName(commonEventPublicDTO.getUserName()); eventTransferRecordDO.setToType(1);//转交类型 1、网格员 eventTransferRecordDO.setToId(commonEventPublicDTO.getUserId()); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setEventId(eventDO.getId()); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1){ return R.ok(); addReleaseRecord(eventDO.getId(), commonEventPublicDTO.getUserId(), commonEventPublicDTO.getUserName()); return R.ok(); } @Override public R saveSpecialDraft(SpecialEventEditDTO specialEventEditDTO) { R rtVal = R.fail(); if(specialEventEditDTO.getId()==null) { EventDO eventDO = new EventDO(); BeanUtils.copyProperties(specialEventEditDTO, eventDO); eventDO.setGridMemberId(specialEventEditDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(EventType.SPECIAL);//特殊人群信息上报-事件分类 eventDO.setEventStatus(1);//事件状态 1草稿 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setCreateBy(specialEventEditDTO.getUserId()); if (eventMapper.insert(eventDO) > 0) { //添加音频 if (StringUtils.isNotEmpty(specialEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(specialEventEditDTO.getAudio()); eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(specialEventEditDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(specialEventEditDTO.getVideo()); eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(specialEventEditDTO.getPics())) { String[] pica = specialEventEditDTO.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(specialEventEditDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } rtVal = R.ok(); } rtVal = R.fail(); }else{ throw new ServiceException("事件处理添加出错"); //编辑原来的 EventDO eventDO = eventMapper.selectById(specialEventEditDTO.getId()); BeanUtils.copyProperties(specialEventEditDTO, eventDO); eventDO.setGridMemberId(specialEventEditDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventStatus(1);//事件状态 2发布 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setUpdateBy(specialEventEditDTO.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(specialEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(specialEventEditDTO.getAudio()); eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(specialEventEditDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(specialEventEditDTO.getVideo()); eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(specialEventEditDTO.getPics())) { String[] pica = specialEventEditDTO.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(specialEventEditDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } rtVal = R.ok(); } rtVal = R.fail(); } if(R.isOk(rtVal)){ //TODO 处理特殊人群实有人口数据 } return rtVal; } @Override public R addSpecial(SpecialEventAddDTO specialEventAddDTO) { R rtVal = R.fail(); EventDO eventDO = new EventDO(); BeanUtils.copyProperties(specialEventAddDTO, eventDO); eventDO.setGridMemberId(specialEventAddDTO.getUserId()); eventDO.setEventCategory(1l);//办件事件 eventDO.setEventType(EventType.SPECIAL);//特殊人群信息上报-事件分类 eventDO.setEventStatus(1);//事件状态 1草稿 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setCreateBy(specialEventAddDTO.getUserId()); if (eventMapper.insert(eventDO) > 0) { //添加音频 if (StringUtils.isNotEmpty(specialEventAddDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(specialEventAddDTO.getAudio()); eventResourceDO.setCreateBy(specialEventAddDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(specialEventAddDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(specialEventAddDTO.getVideo()); eventResourceDO.setCreateBy(specialEventAddDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(specialEventAddDTO.getPics())) { String[] pica = specialEventAddDTO.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(specialEventAddDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } rtVal = R.ok(); } rtVal = R.fail(); if(R.isOk(rtVal)){ //TODO 处理特殊人群实有人口数据 addReleaseRecord(eventDO.getId(), specialEventAddDTO.getUserId(), specialEventAddDTO.getUserName()); return R.ok(); } return rtVal; } @Override public R getSpecialPopulation(String idCard) { ComMngPopulationDTO comMngPopulationDTO = new ComMngPopulationDTO(); comMngPopulationDTO.setCardNo(idCard); comMngPopulationDTO.setPageSize(10l); comMngPopulationDTO.setPageNum(1l); return communityService.pagePopulation(comMngPopulationDTO); } @Override public R addPublicity(PublicityEventAddDTO publicityEventAddDTO) { EventDO eventDO = new EventDO(); BeanUtils.copyProperties(publicityEventAddDTO, eventDO); eventDO.setGridMemberId(publicityEventAddDTO.getUserId()); eventDO.setEventCategory(2l);//宣传事件 eventDO.setEventStatus(2);//事件状态 2发布 eventDO.setGridMemberId(publicityEventAddDTO.getUserId()); eventDO.setGridMemberName(publicityEventAddDTO.getUserName()); eventDO.setGridMemberTelephone(publicityEventAddDTO.getPhone()); eventDO.setCreateBy(publicityEventAddDTO.getUserId()); if(eventMapper.insert(eventDO)==1){ //添加音频 if(StringUtils.isNotEmpty(publicityEventAddDTO.getAudio())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setUrl(publicityEventAddDTO.getAudio()); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(audioAdd!=1){ throw new ServiceException("添加音频失败"); } } //添加视频 if(StringUtils.isNotEmpty(publicityEventAddDTO.getVideo())){ EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setUrl(publicityEventAddDTO.getVideo()); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(videoAdd!=1){ throw new ServiceException("添加视频失败"); } } //添加图片 if(StringUtils.isNotEmpty(publicityEventAddDTO.getPics())){ String[] pica = publicityEventAddDTO.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(publicityEventAddDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if(picAdd!=1){ throw new ServiceException("添加图片失败"); } } } addReleaseRecord(eventDO.getId(), publicityEventAddDTO.getUserId(), publicityEventAddDTO.getUserName()); return R.ok(); } return R.fail(); } @Override public R savePublicityDraft(PublicityEventEditDTO publicityEventEditDTO) { if(publicityEventEditDTO.getId()==null) { EventDO eventDO = new EventDO(); BeanUtils.copyProperties(publicityEventEditDTO, eventDO); eventDO.setGridMemberId(publicityEventEditDTO.getUserId()); eventDO.setEventCategory(2l);//宣传事件 eventDO.setEventStatus(1);//事件状态 1草稿 eventDO.setCreateBy(publicityEventEditDTO.getUserId()); eventDO.setGridMemberId(publicityEventEditDTO.getUserId()); eventDO.setGridMemberName(publicityEventEditDTO.getUserName()); eventDO.setGridMemberTelephone(publicityEventEditDTO.getPhone()); if (eventMapper.insert(eventDO) > 0) { //添加音频 if (StringUtils.isNotEmpty(publicityEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(publicityEventEditDTO.getAudio()); eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(publicityEventEditDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(publicityEventEditDTO.getVideo()); eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(publicityEventEditDTO.getPics())) { String[] pica = publicityEventEditDTO.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(publicityEventEditDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } return R.ok(); } return R.fail(); }else{ //编辑原来的 EventDO eventDO = eventMapper.selectById(publicityEventEditDTO.getId()); BeanUtils.copyProperties(publicityEventEditDTO, eventDO); eventDO.setGridMemberId(publicityEventEditDTO.getUserId()); eventDO.setEventCategory(2L);//宣传事件 eventDO.setEventStatus(1);//事件状态 2发布 eventDO.setProcessType(1);//网格员处理 eventDO.setCommunityProcess(0);//非 社区处理 eventDO.setUpdateBy(publicityEventEditDTO.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(publicityEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(2); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(publicityEventEditDTO.getAudio()); eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (audioAdd != 1) { throw new ServiceException("添加音频失败"); } } //添加视频 if (StringUtils.isNotEmpty(publicityEventEditDTO.getVideo())) { EventResourceDO eventResourceDO = new EventResourceDO(); eventResourceDO.setClassification(1); eventResourceDO.setType(3); eventResourceDO.setRefId(eventDO.getId()); eventResourceDO.setUrl(publicityEventEditDTO.getVideo()); eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (videoAdd != 1) { throw new ServiceException("添加视频失败"); } } //添加图片 if (StringUtils.isNotEmpty(publicityEventEditDTO.getPics())) { String[] pica = publicityEventEditDTO.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(publicityEventEditDTO.getUserId()); int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); if (picAdd != 1) { throw new ServiceException("添加图片失败"); } } } return R.ok(); } return R.fail(); } } @Override public R selectPublicity(PagePublicityEventDTO pagePublicityEventDTO) { Page page = new Page(1,10); if(pagePublicityEventDTO.getPageNum()!=null) { page.setCurrent(pagePublicityEventDTO.getPageNum()); } if(pagePublicityEventDTO.getPageSize()!=null) { page.setSize(pagePublicityEventDTO.getPageSize()); } IPage<EventVO> ipage = eventMapper.findPublicityByPage(page, pagePublicityEventDTO); 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(); } /** * 添加发布事件流转记录 * @param eventId 事件ID * @param userId 操作用户ID * @param userName 操作用户姓名 * @return 添加成功返回true, 否则返回false */ private EventTransferRecordDO addReleaseRecord(Long eventId, Long userId, String userName){ EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(1); eventTransferRecordDO.setFromId(userId); eventTransferRecordDO.setFromName(userName); eventTransferRecordDO.setToType(1); eventTransferRecordDO.setToId(userId); eventTransferRecordDO.setToName(userName); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setEventId(eventId); eventTransferRecordDO.setProcessResult("发布成功"); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted!=1){ throw new ServiceException("事件流转记录添加失败"); } return eventTransferRecordDO; } /** * 查询最后的流转记录,并添加事件流转记录 * @param eventId 事件ID * @param toId 流转到 ID * @param toName 流转到 名称 * @param toType 发送类型 * @param msg 流转消息 * @return */ private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg){ List<EventTransferRecordDO> list = eventTransferRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<EventTransferRecordDO>() .eq(EventTransferRecordDO::getEventId, eventId) .orderByDesc(EventTransferRecordDO::getCreateAt) ); if(list==null ||list.size()==0){ throw new ServiceException("事件流转记录异常"); } EventTransferRecordDO lastRecord = list.get(0); EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO(); eventTransferRecordDO.setFromType(lastRecord.getToType()); eventTransferRecordDO.setFromId(lastRecord.getToId()); eventTransferRecordDO.setFromName(lastRecord.getToName()); eventTransferRecordDO.setToType(toType); eventTransferRecordDO.setToId(toId); eventTransferRecordDO.setProcessDate(new Date()); eventTransferRecordDO.setToName(toName); eventTransferRecordDO.setEventId(eventId); eventTransferRecordDO.setProcessResult(msg); int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); if(inserted==1) { return eventTransferRecordDO; }else{ throw new ServiceException("事件流转记录添加失败"); } } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -62,11 +62,12 @@ SELECT <include refid="columns" /> FROM event <where> event_status != 3 <if test="pageEventDTO.eventDealStatus!=null"> <choose> <!-- 待处理、待验证、已上报、已解决、草稿箱、已撤销 --> <when test="pageEventDTO.eventDealStatus==1"> <!--待处理--> AND event_status = 1 AND community_process = 0 AND event_status =2 AND event_process_status = 1 AND process_type = 1 </when> <when test="pageEventDTO.eventDealStatus==2"> <!--待验证--> AND event_process_status = 3 @@ -239,5 +240,176 @@ ORDER BY ${pageEventDTO.sortColumns} ${pageEventDTO.sortType} </if> </select> <select id="findPublicityByPage" resultType="com.panzhihua.common.model.vos.grid.EventVO" parameterType="com.panzhihua.common.model.dtos.grid.PagePublicityEventDTO"> SELECT <include refid="columns" /> FROM event <where> event_status != 3 AND event_category = 2 <if test="pagePublicityEventDTO.eventDealStatus!=null"> <choose> <!-- 待处理、待验证、已上报、已解决、草稿箱、已撤销 --> <when test="pagePublicityEventDTO.eventDealStatus==1"> <!--已发布--> AND event_status =2 </when> <when test="pagePublicityEventDTO.eventDealStatus==5"> <!--草稿箱--> AND event_status = 1 </when> <when test="pagePublicityEventDTO.eventDealStatus==6"> <!--已撤销--> AND event_status = 4 </when> <otherwise> </otherwise> </choose> </if> <if test="pagePublicityEventDTO.id!=null"> AND id = #{pagePublicityEventDTO.id} </if> <if test="pagePublicityEventDTO.orderSn!=null"> AND order_sn = #{pagePublicityEventDTO.orderSn} </if> <if test="pagePublicityEventDTO.eventCategory!=null"> AND event_category = #{pagePublicityEventDTO.eventCategory} </if> <if test="pagePublicityEventDTO.gridMemberStreet!=null"> AND grid_member_street = #{pagePublicityEventDTO.gridMemberStreet} </if> <if test="pagePublicityEventDTO.gridMemberCommunity!=null"> AND grid_member_community = #{pagePublicityEventDTO.gridMemberCommunity} </if> <if test="pagePublicityEventDTO.gridId!=null"> AND grid_id = #{pagePublicityEventDTO.gridId} </if> <if test="pagePublicityEventDTO.gridMemberId!=null"> AND grid_member_id = #{pagePublicityEventDTO.gridMemberId} </if> <if test="pagePublicityEventDTO.gridMemberName!=null"> AND grid_member_name = #{pagePublicityEventDTO.gridMemberName} </if> <if test="pagePublicityEventDTO.gridMemberTelephone!=null"> AND grid_member_telephone = #{pagePublicityEventDTO.gridMemberTelephone} </if> <if test="pagePublicityEventDTO.eventTitle!=null"> AND event_title = #{pagePublicityEventDTO.eventTitle} </if> <if test="pagePublicityEventDTO.propagandaType!=null"> AND propaganda_type = #{pagePublicityEventDTO.propagandaType} </if> <if test="pagePublicityEventDTO.propagandaTimeBegin!=null"> AND propaganda_time <![CDATA[>=]]> #{pagePublicityEventDTO.propagandaTimeBegin} </if> <if test="pagePublicityEventDTO.propagandaTimeEnd!=null"> AND propaganda_time <![CDATA[<=]]> #{pagePublicityEventDTO.propagandaTimeEnd} </if> <if test="pagePublicityEventDTO.eventDes!=null"> AND event_des = #{pagePublicityEventDTO.eventDes} </if> <if test="pagePublicityEventDTO.propagandaObject!=null"> AND propaganda_object = #{pagePublicityEventDTO.propagandaObject} </if> <if test="pagePublicityEventDTO.propagandaNum!=null"> AND propaganda_num = #{pagePublicityEventDTO.propagandaNum} </if> <if test="pagePublicityEventDTO.communityProcess!=null"> AND community_process = #{pagePublicityEventDTO.communityProcess} </if> <if test="pagePublicityEventDTO.happenTimeBegin!=null"> AND happen_time <![CDATA[>=]]> #{pagePublicityEventDTO.happenTimeBegin} </if> <if test="pagePublicityEventDTO.happenTimeEnd!=null"> AND happen_time <![CDATA[<=]]> #{pagePublicityEventDTO.happenTimeEnd} </if> <if test="pagePublicityEventDTO.happentAddress!=null"> AND happent_address = #{pagePublicityEventDTO.happentAddress} </if> <if test="pagePublicityEventDTO.happentLatLng!=null"> AND happent_lat_lng = #{pagePublicityEventDTO.happentLatLng} </if> <if test="pagePublicityEventDTO.eventStatus!=null"> AND event_status = #{pagePublicityEventDTO.eventStatus} </if> <if test="pagePublicityEventDTO.eventProcessStatus!=null"> AND event_process_status = #{pagePublicityEventDTO.eventProcessStatus} </if> <if test="pagePublicityEventDTO.processType!=null"> AND process_type = #{pagePublicityEventDTO.processType} </if> <if test="pagePublicityEventDTO.processUserId!=null"> AND process_user_id = #{pagePublicityEventDTO.processUserId} </if> <if test="pagePublicityEventDTO.processUserName!=null"> AND process_user_name = #{pagePublicityEventDTO.processUserName} </if> <if test="pagePublicityEventDTO.processDateBegin!=null"> AND process_date <![CDATA[>=]]> #{pagePublicityEventDTO.processDateBegin} </if> <if test="pagePublicityEventDTO.processDateEnd!=null"> AND process_date <![CDATA[<=]]> #{pagePublicityEventDTO.processDateEnd} </if> <if test="pagePublicityEventDTO.processDesc!=null"> AND process_desc = #{pagePublicityEventDTO.processDesc} </if> <if test="pagePublicityEventDTO.eventResource!=null"> AND event_resource = #{pagePublicityEventDTO.eventResource} </if> <if test="pagePublicityEventDTO.dangerLevel!=null"> AND danger_level = #{pagePublicityEventDTO.dangerLevel} </if> <if test="pagePublicityEventDTO.redCard!=null"> AND red_card = #{pagePublicityEventDTO.redCard} </if> <if test="pagePublicityEventDTO.yellowCard!=null"> AND yellow_card = #{pagePublicityEventDTO.yellowCard} </if> <if test="pagePublicityEventDTO.invalid!=null"> AND invalid = #{pagePublicityEventDTO.invalid} </if> <if test="pagePublicityEventDTO.major!=null"> AND major = #{pagePublicityEventDTO.major} </if> <if test="pagePublicityEventDTO.deathsNumber!=null"> AND deaths_number = #{pagePublicityEventDTO.deathsNumber} </if> <if test="pagePublicityEventDTO.injuriesNumber!=null"> AND injuries_number = #{pagePublicityEventDTO.injuriesNumber} </if> <if test="pagePublicityEventDTO.difficult!=null"> AND difficult = #{pagePublicityEventDTO.difficult} </if> <if test="pagePublicityEventDTO.urgent!=null"> AND urgent = #{pagePublicityEventDTO.urgent} </if> <if test="pagePublicityEventDTO.urgentDell!=null"> AND urgent_dell = #{pagePublicityEventDTO.urgentDell} </if> <if test="pagePublicityEventDTO.submitDateBegin!=null"> AND submit_date <![CDATA[>=]]> #{pagePublicityEventDTO.submitDateBegin} </if> <if test="pagePublicityEventDTO.submitDateEnd!=null"> AND submit_date <![CDATA[<=]]> #{pagePublicityEventDTO.submitDateEnd} </if> <if test="pagePublicityEventDTO.createBy!=null"> AND create_by = #{pagePublicityEventDTO.createBy} </if> <if test="pagePublicityEventDTO.createAtBegin!=null"> AND create_at <![CDATA[>=]]> #{pagePublicityEventDTO.createAtBegin} </if> <if test="pagePublicityEventDTO.createAtEnd!=null"> AND create_at <![CDATA[<=]]> #{pagePublicityEventDTO.createAtEnd} </if> <if test="pagePublicityEventDTO.updateBy!=null"> AND update_by = #{pagePublicityEventDTO.updateBy} </if> <if test="pagePublicityEventDTO.updateAtBegin!=null"> AND update_at <![CDATA[>=]]> #{pagePublicityEventDTO.updateAtBegin} </if> <if test="pagePublicityEventDTO.updateAtEnd!=null"> AND update_at <![CDATA[<=]]> #{pagePublicityEventDTO.updateAtEnd} </if> </where> <if test="pagePublicityEventDTO.sortColumns!=null"> ORDER BY ${pagePublicityEventDTO.sortColumns} ${pagePublicityEventDTO.sortType} </if> </select> </mapper>