huanghongfa
2021-06-05 95f40a20c7beb789b19256848277c204e3b252e9
Merge remote-tracking branch 'origin/test_future_wangge' into test_future_wangge

# Conflicts:
# springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java
# springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
# springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
9个文件已修改
2个文件已添加
586 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PagePublicityEventCommunityDTO.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PagePublicityEventDTO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonEventApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventManageApi.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/PublicityEventApi.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventApi.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java 189 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PagePublicityEventCommunityDTO.java
New file
@@ -0,0 +1,60 @@
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 PagePublicityEventCommunityDTO {
    @Max(value = 8, message = "事件处理状态参数错误")
    @ApiModelProperty(value = "事件处理状态(为空时查询全部):1 已发布、5 草稿箱、6已撤销", hidden = false, example = "1")
    private Integer eventDealStatus;
    @Length(max=50)
    @ApiModelProperty(value = "关键词", example = "")
    private String keyWord;
    @ApiModelProperty(value = "分页-当前页数,默认1", example = "1")
    private Long pageNum = 1L;
    @ApiModelProperty(value = "分页-每页记录数,默认10", 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;
    }
    @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1")
    private Long userId;
    @ApiModelProperty(value = "社区ID", hidden = true, example = "1")
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PagePublicityEventDTO.java
@@ -29,7 +29,7 @@
    @NotNull(message = "网格ID不能为空")
    private Long gridId;
    @Max(value = 6, message = "事件处理状态参数错误")
    @Max(value = 8, message = "事件处理状态参数错误")
    @ApiModelProperty(value = "事件处理状态(为空时查询全部):1 已发布、5 草稿箱、6已撤销", hidden = false, example = "1")
    private Integer eventDealStatus;
@@ -252,7 +252,6 @@
    @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;
@@ -260,19 +259,21 @@
    @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;
    @ApiModelProperty(value = "社区ID", hidden = true, example = "1")
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -624,6 +624,15 @@
    R queryPublicity(@RequestBody PagePublicityEventDTO pagePublicityEventDTO);
    /**
     * 分页查询宣传教育事件
     * @param pagePublicityEventDTO   请求参数
     * @return  结果
     */
    @PostMapping("/event/queryPublicityCommunity")
    R queryPublicityCommunity(@RequestBody PagePublicityEventCommunityDTO pagePublicityEventDTO);
    /**
     * 分页查询社区列表
     * @return  结果
     */
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonEventApi.java
@@ -123,7 +123,7 @@
    @ApiOperation(value = "处理事件", response = R.class)
    R deal(@Validated @RequestBody CommonEventDealDTO commonEventDealDTO){
        ClazzUtils.setIfStringIsEmpty(commonEventDealDTO);
        LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        commonEventDealDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventDealDTO.setUserName(loginUserInfoVO.getName());
        commonEventDealDTO.setOperateType(0);
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventManageApi.java
@@ -28,7 +28,7 @@
@Slf4j
@RestController
@RequestMapping("/event")
@Api(tags = {"事件管理(开发中..) @chendong"})
@Api(tags = {"事件管理 @chendong"})
public class EventManageApi extends BaseController {
    @Resource
@@ -157,7 +157,7 @@
        if(commonEventDealDTO.getNeedVerify()==null){
            return R.fail("是否验证不能为空");
        }
        LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        commonEventDealDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventDealDTO.setUserName(loginUserInfoVO.getName());
        commonEventDealDTO.setOperateType(1);
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/PublicityEventApi.java
New file
@@ -0,0 +1,144 @@
package com.panzhihua.grid_backstage.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.grid.EventDetailsVO;
import com.panzhihua.common.model.vos.grid.EventVO;
import com.panzhihua.common.service.grid.GridService;
import com.panzhihua.common.utlis.ClazzUtils;
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("/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 PagePublicityEventCommunityDTO pagePublicityEventDTO) {
        ClazzUtils.setIfStringIsEmpty(pagePublicityEventDTO);
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        pagePublicityEventDTO.setUserId(loginUserInfoVO.getUserId());
        pagePublicityEventDTO.setCommunityId(loginUserInfoVO.getCommunityId());
        return gridService.queryPublicityCommunity(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 id 事件 id
     * @return 查找结果
     */
    @GetMapping("/{id}")
    @ApiOperation(value = "查询事件详细信息")
    R<EventDetailsVO> details(@PathVariable("id") Long id) {
        return gridService.eventDetails(id);
    }
    /**
     * 删除
     *
     * @param eventDeleteDTO 删除事件传递对象
     * @return 删除结果
     */
    @DeleteMapping()
    @ApiOperation(value = "删除事件", response = R.class)
    R delete(@Validated @RequestBody EventDeleteDTO eventDeleteDTO) {
        ClazzUtils.setIfStringIsEmpty(eventDeleteDTO);
        return gridService.delete(eventDeleteDTO);
    }
    /**
     * 撤销事件
     *
     * @param eventRevokeDTO 修改事件传递对象
     * @return 修改结果
     */
    @PutMapping("/revoke")
    @ApiOperation(value = "撤销事件", response = R.class)
    R revoke(@Validated @RequestBody EventRevokeDTO eventRevokeDTO) {
        ClazzUtils.setIfStringIsEmpty(eventRevokeDTO);
        LoginUserInfoVO loginUserInfoVO = getLoginUserInfo();
        eventRevokeDTO.setUserId(loginUserInfoVO.getUserId());
        eventRevokeDTO.setUserName(loginUserInfoVO.getName());
        return gridService.emergenciesRevoke(eventRevokeDTO);
    }
    /**
     * 重新发布事件
     *
     * @param commonEventRepublishDTO 重新发布事件传递对象
     * @return 修改结果
     */
    @PutMapping("/republish")
    @ApiOperation(value = "重新发布事件", response = R.class)
    R republish(@Validated @RequestBody CommonEventRepublishDTO commonEventRepublishDTO) {
        ClazzUtils.setIfStringIsEmpty(commonEventRepublishDTO);
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        commonEventRepublishDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventRepublishDTO.setUserName(loginUserInfoVO.getName());
        return gridService.republishEvent(commonEventRepublishDTO);
    }
    /**
     * 事件标为无效
     *
     * @param eventRevokeDTO 修改事件传递对象
     * @return 修改结果
     */
    @PutMapping("/markInvalid")
    @ApiOperation(value = "事件标为无效", response = R.class)
    R markInvalid(@Validated @RequestBody EventRevokeDTO eventRevokeDTO) {
        ClazzUtils.setIfStringIsEmpty(eventRevokeDTO);
        LoginUserInfoVO loginUserInfoVO = getLoginUserInfo();
        eventRevokeDTO.setUserId(loginUserInfoVO.getUserId());
        eventRevokeDTO.setUserName(loginUserInfoVO.getName());
        return gridService.markEventInvalid(eventRevokeDTO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventApi.java
@@ -208,6 +208,16 @@
    /**
     * 分页查询宣传教育事件
     * @param pagePublicityEventDTO   请求参数
     * @return  结果
     */
    @PostMapping("/queryPublicityCommunity")
    R queryPublicityCommunity(@RequestBody PagePublicityEventCommunityDTO pagePublicityEventDTO){
        return eventService.selectCommunityPublicity(pagePublicityEventDTO);
    }
    /**
     * 分页查询宣传教育事件
     * @return  结果
     */
    @PostMapping("/actList")
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.grid.PageEventDTO;
import com.panzhihua.common.model.dtos.grid.PageEventManageDTO;
import com.panzhihua.common.model.dtos.grid.PagePublicityEventCommunityDTO;
import com.panzhihua.common.model.dtos.grid.PagePublicityEventDTO;
import com.panzhihua.common.model.vos.grid.ComMapGridEventVO;
import com.panzhihua.common.model.vos.grid.EventStatisticsAllAdminVO;
@@ -64,6 +65,14 @@
     */
    IPage<EventVO> findToManageByPage(Page page, @Param("pageEventManageDTO") PageEventManageDTO pageEventManageDTO);
    /**
     * 查询事件(管理)列表
     * @param page
     * @param pagePublicityEventCommunityDTO
     * @return
     */
    IPage<EventVO> findCommunityPublicityByPage(Page page, @Param("pagePublicityEventCommunityDTO") PagePublicityEventCommunityDTO pagePublicityEventCommunityDTO);
    EventStatisticsAllAdminVO eventStatistics(@Param("communityId") Long communityId);
    Integer getEventCountByGridIds(@Param("ids") List<Long> ids);
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
@@ -171,6 +171,12 @@
     * @return
     */
    R communityDealEvent(CommonEventDealDTO commonEventDealDTO);
    /**
     * 分页查询社区宣传教育事件
     * @param pagePublicityEventDTO
     * @return
     */
    R selectCommunityPublicity(PagePublicityEventCommunityDTO pagePublicityEventDTO);
    R eventStatistics(Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -28,6 +28,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -52,12 +53,12 @@
    @Resource
    private EventGridDataMapper eventGridDataMapper;
    /**
     * 分页查找事件
     * @param pageEventDTO
     * @return 维护结果
     */
    @Override
    public R<IPage<EventVO>> query(PageEventDTO pageEventDTO){
        Page page = new Page(1,10);
        if(pageEventDTO.getPageNum()!=null) {
@@ -117,6 +118,7 @@
     * @param commonEventDeleteDTO
     * @return 平台用户信息
     */
    @Override
    public R delete(CommonEventDeleteDTO commonEventDeleteDTO){
        EventDO eventDO = eventMapper.selectById(commonEventDeleteDTO.getId());
        if(eventDO==null){
@@ -137,6 +139,7 @@
     * @param id 事件 id
     * @return 查找结果
     */
    @Override
    public R<EventDetailsVO> eventDetails(Long id){
        EventDO eventDO = eventMapper.selectById(id);
        if(eventDO!=null) {
@@ -248,6 +251,10 @@
        }else{
            eventDO.setGridMemberId(commonEventAddDTO.getUserId());
        }
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventAddDTO.getGridId());
        if(eventGridDataDO==null){
            return R.fail("网格不存在");
        }
        eventDO.setEventCategory(1l);//办件事件
        eventDO.setEventStatus(2);//事件状态 2发布
        eventDO.setProcessType(1);//网格员处理
@@ -257,6 +264,7 @@
        eventDO.setGridMemberTelephone(commonEventAddDTO.getPhone());
        eventDO.setCreateBy(commonEventAddDTO.getUserId());
        eventDO.setSubmitDate(new Date());
        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
        if(eventMapper.insert(eventDO)==1){
            //添加音频
            if(StringUtils.isNotEmpty(commonEventAddDTO.getAudio())){
@@ -311,6 +319,10 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R saveDraft(CommonEventEditDTO commonEventEditDTO) {
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventEditDTO.getGridId());
        if(eventGridDataDO==null){
            return R.fail("网格不存在");
        }
        if(commonEventEditDTO.getId()==null) {
            EventDO eventDO = new EventDO();
            BeanUtils.copyProperties(commonEventEditDTO, eventDO);
@@ -618,7 +630,7 @@
        if(updated!=1){
            return R.fail("更新事件状态失败");
        }
        addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, "事件验证完成");
        addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, commonEventVerifyDTO.getProcessResult());
        return R.ok();
    }
@@ -650,6 +662,7 @@
        if(!draftCanRelease){
            return R.fail("当前不是草稿状态");
        }
        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
        eventDO.setEventStatus(2);//事件状态 2发布
        eventDO.setProcessType(1);//当前处理对象类型:网格员处理
        eventDO.setCommunityProcess(0);//非 社区处理
@@ -663,8 +676,28 @@
        return R.ok();
    }
    /**
     * 生成服务单号
     * @param eventType 事件类型,宣传事件默认为20
     * @return
     */
    private String getEventOrderSn(Integer eventType) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
        if(eventType==null){
            eventType =  20;
        }
        String pre = String.format(simpleDateFormat.format(new Date()) + "%02d", eventType);
        Integer todayCount = this.getBaseMapper().selectCount(new LambdaQueryWrapper<EventDO>().likeRight(EventDO::getOrderSn, pre));
        String orderSn =  String.format(pre + "%04d", todayCount+1);
        return orderSn;
    }
    @Override
    public R saveSpecialDraft(SpecialEventEditDTO specialEventEditDTO) {
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(specialEventEditDTO.getGridId());
        if(eventGridDataDO==null){
            return R.fail("网格不存在");
        }
        R rtVal = R.fail();
        if(specialEventEditDTO.getId()==null) {
            EventDO eventDO = new EventDO();
@@ -798,6 +831,10 @@
    @Override
    public R addSpecial(SpecialEventAddDTO specialEventAddDTO) {
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(specialEventAddDTO.getGridId());
        if(eventGridDataDO==null){
            return R.fail("网格不存在");
        }
        R rtVal = R.fail();
        EventDO eventDO = new EventDO();
        BeanUtils.copyProperties(specialEventAddDTO, eventDO);
@@ -808,6 +845,7 @@
        eventDO.setProcessType(1);//网格员处理
        eventDO.setCommunityProcess(0);//非 社区处理
        eventDO.setCreateBy(specialEventAddDTO.getUserId());
        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
        if (eventMapper.insert(eventDO) > 0) {
            //添加音频
            if (StringUtils.isNotEmpty(specialEventAddDTO.getAudio())) {
@@ -877,6 +915,10 @@
    @Override
    public R addPublicity(PublicityEventAddDTO publicityEventAddDTO) {
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(publicityEventAddDTO.getGridId());
        if(eventGridDataDO==null){
            return R.fail("网格不存在");
        }
        EventDO eventDO = new EventDO();
        BeanUtils.copyProperties(publicityEventAddDTO, eventDO);
        eventDO.setGridMemberId(publicityEventAddDTO.getUserId());
@@ -886,6 +928,7 @@
        eventDO.setGridMemberName(publicityEventAddDTO.getUserName());
        eventDO.setGridMemberTelephone(publicityEventAddDTO.getPhone());
        eventDO.setCreateBy(publicityEventAddDTO.getUserId());
        eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
        if(eventMapper.insert(eventDO)==1){
            //添加音频
            if(StringUtils.isNotEmpty(publicityEventAddDTO.getAudio())){
@@ -940,6 +983,10 @@
    @Override
    public R savePublicityDraft(PublicityEventEditDTO publicityEventEditDTO) {
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(publicityEventEditDTO.getGridId());
        if(eventGridDataDO==null){
            return R.fail("网格不存在");
        }
        if(publicityEventEditDTO.getId()==null) {
            EventDO eventDO = new EventDO();
            BeanUtils.copyProperties(publicityEventEditDTO, eventDO);
@@ -1184,9 +1231,22 @@
        if(eventDO==null){
            return R.fail("事件不存在");
        }
        boolean canRevoke = eventDO.getEventDealStatus()==3; //发布状态
        if(!canRevoke){
            return R.fail("当前事件不是上报状态,不允许标为无效");
        if(eventDO.getEventCategory()!=null) {
            if (eventDO.getEventCategory() == 1) {
                boolean canRevoke = eventDO.getEventDealStatus() == 3; //上报状态
                if (!canRevoke) {
                    return R.fail("当前事件不是上报状态,不允许标为无效");
                }
            }else if (eventDO.getEventCategory() == 2) {
                boolean canRevoke = eventDO.getEventDealStatus() == 8; //发布状态
                if (!canRevoke) {
                    return R.fail("当前事件不是发布状态,不允许标为无效");
                }
            }else{
                return R.fail("");
            }
        }else{
            return R.fail("事件所属错误");
        }
        eventDO.setInvalid(false);
        eventDO.setUpdateBy(eventRevokeDTO.getUserId());
@@ -1309,6 +1369,55 @@
        }
    }
    @Override
    public R selectCommunityPublicity(PagePublicityEventCommunityDTO 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.findCommunityPublicityByPage(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
@@ -1393,31 +1502,55 @@
     * @param eventDO 事件
     */
    private Integer  getEventDealStatus(EventDO eventDO){
        Integer event_status = eventDO.getEventStatus();
        Integer event_process_status = eventDO.getEventProcessStatus();
        Integer process_type = eventDO.getProcessType();
        Integer community_process = eventDO.getCommunityProcess();
        //1 待处理、2 待验证、3 已上报、4 已解决、5 草稿箱、6已撤销、7已失效、8已发布
        if(eventDO.getEventCategory()!=null) {
            if (eventDO.getEventCategory() == 1) {
                Integer event_status = eventDO.getEventStatus()!=null?eventDO.getEventStatus():-1;
                Integer event_process_status = eventDO.getEventProcessStatus()!=null?eventDO.getEventProcessStatus():-1;
                Integer process_type = eventDO.getProcessType()!=null?eventDO.getProcessType():-1;
                Integer community_process = eventDO.getCommunityProcess()!=null?eventDO.getCommunityProcess():-1;
        Integer eventDealStatus = -1;
        //1 待处理、2 待验证、3 已上报、4 已解决、5 草稿箱、6已撤销、7已失效
        if(eventDO.getInvalid()!=null && eventDO.getInvalid()==false){
            eventDealStatus = 7;//7已失效
        }else if(event_status!=null && event_status ==2 && event_process_status!=null && event_process_status == 1
                && process_type!=null  && process_type == 1) {
            eventDealStatus = 1;//"待处理"
        }else if( event_process_status!=null &&  event_process_status == 3) {
            eventDealStatus = 2;//"待验证"
        }else if(event_status!=null && event_status == 2 && community_process!=null
                && community_process == 1 && process_type!=null && process_type == 2) {
            eventDealStatus=3;//"已上报"
        }else if( event_process_status!=null && event_process_status == 2 ) {
            eventDealStatus=4;//"已解决"
        }else if(  event_status!=null && event_status == 1 ) {
            eventDealStatus = 5;//"草稿箱"
        }else if( event_status!=null && event_status == 4 ) {
            eventDealStatus=6;//"已撤销"
                Integer eventDealStatus = -1;
                if (eventDO.getInvalid() != null && eventDO.getInvalid() == false) {
                    eventDealStatus = 7;
                    //7已失效
                } else if (event_status == 1) {
                    eventDealStatus = 5;
                    //"草稿箱"
                } else if ( event_status == 4) {
                    eventDealStatus = 6;
                    //"已撤销"
                } else if (event_status ==2){
                    if (event_process_status == 3) {
                        eventDealStatus = 2;
                        //"待验证"
                    }else if (event_process_status == 2) {
                        eventDealStatus = 4;
                        //"已解决"
                    }else if ( community_process == 1 &&  process_type == 2) {
                        eventDealStatus = 3;
                        //"已上报"
                    }else if ( event_process_status == 1 && process_type == 1) {
                        eventDealStatus = 1;
                        //"待处理"
                    }
                }
                return eventDealStatus;
            } else if (eventDO.getEventCategory() == 2) {
                Integer event_status = eventDO.getEventStatus();
                if (event_status != null && event_status == 1) {
                    return 5;
                    //"草稿箱"
                } else if (event_status != null && event_status == 2) {
                    return 8;
                    //已发布
                } else if (event_status != null && event_status == 4) {
                    return 6;
                    //"已撤销"
                }
            }
        }
        return eventDealStatus;
        return -1;
    }
    @Override
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -226,160 +226,168 @@
    </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
        SELECT
            e.id,e.order_sn,e.event_category,e.grid_member_street,e.happen_address,e.grid_member_community,e.event_clazz,e.grid_id,e.grid_member_id,e.grid_member_name,e.grid_member_telephone,
            e.event_title,e.propaganda_type,e.propaganda_time,e.event_type,e.event_des,e.propaganda_object,e.propaganda_num,e.community_process,e.happen_time,e.happent_address,e.happent_lat_lng,
            e.event_status,e.event_process_status,e.process_type,e.process_user_id,e.process_user_name,e.process_date,e.process_desc,e.event_resource,e.danger_level,e.red_card,e.yellow_card,e.invalid,
            e.major,e.deaths_number,e.injuries_number,e.difficult,e.urgent,e.urgent_dell,e.submit_date,e.create_by,e.create_at,e.update_by,e.update_at,e.event_deal_status
        FROM
            event e left join event_grid_data egd on e.grid_id = egd.id
        <where>
            event_status != 3 AND event_category = 2
            e.event_status != 3 AND e.event_category = 2
            <if test="pagePublicityEventDTO.communityId!=null">
                AND egd.grid_community_id = #{pageEventManageDTO.communityId}
            </if>
            <if test="pagePublicityEventDTO.eventDealStatus!=null">
                AND event_deal_status = #{pagePublicityEventDTO.eventDealStatus}
                AND e.event_deal_status = #{pagePublicityEventDTO.eventDealStatus}
            </if>
            <if test="pagePublicityEventDTO.id!=null">
                AND id = #{pagePublicityEventDTO.id}
                AND e.id = #{pagePublicityEventDTO.id}
            </if>
            <if test="pagePublicityEventDTO.orderSn!=null">
                AND order_sn = #{pagePublicityEventDTO.orderSn}
                AND e.order_sn = #{pagePublicityEventDTO.orderSn}
            </if>
            <if test="pagePublicityEventDTO.eventCategory!=null">
                AND event_category = #{pagePublicityEventDTO.eventCategory}
                AND e.event_category = #{pagePublicityEventDTO.eventCategory}
            </if>
            <if test="pagePublicityEventDTO.gridMemberStreet!=null">
                AND grid_member_street = #{pagePublicityEventDTO.gridMemberStreet}
                AND e.grid_member_street = #{pagePublicityEventDTO.gridMemberStreet}
            </if>
            <if test="pagePublicityEventDTO.gridMemberCommunity!=null">
                AND grid_member_community = #{pagePublicityEventDTO.gridMemberCommunity}
                AND e.grid_member_community = #{pagePublicityEventDTO.gridMemberCommunity}
            </if>
            <if test="pagePublicityEventDTO.gridId!=null">
                AND grid_id = #{pagePublicityEventDTO.gridId}
                AND e.grid_id = #{pagePublicityEventDTO.gridId}
            </if>
            <if test="pagePublicityEventDTO.gridMemberId!=null">
                AND grid_member_id = #{pagePublicityEventDTO.gridMemberId}
                AND e.grid_member_id = #{pagePublicityEventDTO.gridMemberId}
            </if>
            <if test="pagePublicityEventDTO.gridMemberName!=null">
                AND grid_member_name = #{pagePublicityEventDTO.gridMemberName}
                AND e.grid_member_name = #{pagePublicityEventDTO.gridMemberName}
            </if>
            <if test="pagePublicityEventDTO.gridMemberTelephone!=null">
                AND grid_member_telephone = #{pagePublicityEventDTO.gridMemberTelephone}
                AND e.grid_member_telephone = #{pagePublicityEventDTO.gridMemberTelephone}
            </if>
            <if test="pagePublicityEventDTO.eventTitle!=null">
                AND event_title = #{pagePublicityEventDTO.eventTitle}
                AND e.event_title = #{pagePublicityEventDTO.eventTitle}
            </if>
            <if test="pagePublicityEventDTO.propagandaType!=null">
                AND propaganda_type = #{pagePublicityEventDTO.propagandaType}
                AND e.propaganda_type = #{pagePublicityEventDTO.propagandaType}
            </if>
            <if test="pagePublicityEventDTO.propagandaTimeBegin!=null">
                AND propaganda_time <![CDATA[>=]]> #{pagePublicityEventDTO.propagandaTimeBegin}
                AND e.propaganda_time <![CDATA[>=]]> #{pagePublicityEventDTO.propagandaTimeBegin}
            </if>
            <if test="pagePublicityEventDTO.propagandaTimeEnd!=null">
                AND propaganda_time <![CDATA[<=]]> #{pagePublicityEventDTO.propagandaTimeEnd}
                AND e.propaganda_time <![CDATA[<=]]> #{pagePublicityEventDTO.propagandaTimeEnd}
            </if>
            <if test="pagePublicityEventDTO.eventDes!=null">
                AND event_des = #{pagePublicityEventDTO.eventDes}
                AND e.event_des = #{pagePublicityEventDTO.eventDes}
            </if>
            <if test="pagePublicityEventDTO.propagandaObject!=null">
                AND propaganda_object = #{pagePublicityEventDTO.propagandaObject}
                AND e.propaganda_object = #{pagePublicityEventDTO.propagandaObject}
            </if>
            <if test="pagePublicityEventDTO.propagandaNum!=null">
                AND propaganda_num = #{pagePublicityEventDTO.propagandaNum}
                AND e.propaganda_num = #{pagePublicityEventDTO.propagandaNum}
            </if>
            <if test="pagePublicityEventDTO.communityProcess!=null">
                AND community_process = #{pagePublicityEventDTO.communityProcess}
                AND e.community_process = #{pagePublicityEventDTO.communityProcess}
            </if>
            <if test="pagePublicityEventDTO.happenTimeBegin!=null">
                AND happen_time <![CDATA[>=]]> #{pagePublicityEventDTO.happenTimeBegin}
                AND e.happen_time <![CDATA[>=]]> #{pagePublicityEventDTO.happenTimeBegin}
            </if>
            <if test="pagePublicityEventDTO.happenTimeEnd!=null">
                AND happen_time <![CDATA[<=]]> #{pagePublicityEventDTO.happenTimeEnd}
                AND e.happen_time <![CDATA[<=]]> #{pagePublicityEventDTO.happenTimeEnd}
            </if>
            <if test="pagePublicityEventDTO.happentAddress!=null">
                AND happent_address = #{pagePublicityEventDTO.happentAddress}
                AND e.happent_address = #{pagePublicityEventDTO.happentAddress}
            </if>
            <if test="pagePublicityEventDTO.happentLatLng!=null">
                AND happent_lat_lng = #{pagePublicityEventDTO.happentLatLng}
                AND e.happent_lat_lng = #{pagePublicityEventDTO.happentLatLng}
            </if>
            <if test="pagePublicityEventDTO.eventStatus!=null">
                AND event_status = #{pagePublicityEventDTO.eventStatus}
                AND e.event_status = #{pagePublicityEventDTO.eventStatus}
            </if>
            <if test="pagePublicityEventDTO.eventProcessStatus!=null">
                AND event_process_status = #{pagePublicityEventDTO.eventProcessStatus}
                AND e.event_process_status = #{pagePublicityEventDTO.eventProcessStatus}
            </if>
            <if test="pagePublicityEventDTO.processType!=null">
                AND process_type = #{pagePublicityEventDTO.processType}
                AND e.process_type = #{pagePublicityEventDTO.processType}
            </if>
            <if test="pagePublicityEventDTO.processUserId!=null">
                AND process_user_id = #{pagePublicityEventDTO.processUserId}
                AND e.process_user_id = #{pagePublicityEventDTO.processUserId}
            </if>
            <if test="pagePublicityEventDTO.processUserName!=null">
                AND process_user_name = #{pagePublicityEventDTO.processUserName}
                AND e.process_user_name = #{pagePublicityEventDTO.processUserName}
            </if>
            <if test="pagePublicityEventDTO.processDateBegin!=null">
                AND process_date <![CDATA[>=]]> #{pagePublicityEventDTO.processDateBegin}
                AND e.process_date <![CDATA[>=]]> #{pagePublicityEventDTO.processDateBegin}
            </if>
            <if test="pagePublicityEventDTO.processDateEnd!=null">
                AND process_date <![CDATA[<=]]> #{pagePublicityEventDTO.processDateEnd}
                AND e.process_date <![CDATA[<=]]> #{pagePublicityEventDTO.processDateEnd}
            </if>
            <if test="pagePublicityEventDTO.processDesc!=null">
                AND process_desc = #{pagePublicityEventDTO.processDesc}
                AND e.process_desc = #{pagePublicityEventDTO.processDesc}
            </if>
            <if test="pagePublicityEventDTO.eventResource!=null">
                AND event_resource = #{pagePublicityEventDTO.eventResource}
                AND e.event_resource = #{pagePublicityEventDTO.eventResource}
            </if>
            <if test="pagePublicityEventDTO.dangerLevel!=null">
                AND danger_level = #{pagePublicityEventDTO.dangerLevel}
                AND e.danger_level = #{pagePublicityEventDTO.dangerLevel}
            </if>
            <if test="pagePublicityEventDTO.redCard!=null">
                AND red_card = #{pagePublicityEventDTO.redCard}
                AND e.red_card = #{pagePublicityEventDTO.redCard}
            </if>
            <if test="pagePublicityEventDTO.yellowCard!=null">
                AND yellow_card = #{pagePublicityEventDTO.yellowCard}
                AND e.yellow_card = #{pagePublicityEventDTO.yellowCard}
            </if>
            <if test="pagePublicityEventDTO.invalid!=null">
                AND invalid = #{pagePublicityEventDTO.invalid}
                AND e.invalid = #{pagePublicityEventDTO.invalid}
            </if>
            <if test="pagePublicityEventDTO.major!=null">
                AND major = #{pagePublicityEventDTO.major}
                AND e.major = #{pagePublicityEventDTO.major}
            </if>
            <if test="pagePublicityEventDTO.deathsNumber!=null">
                AND deaths_number = #{pagePublicityEventDTO.deathsNumber}
                AND e.deaths_number = #{pagePublicityEventDTO.deathsNumber}
            </if>
            <if test="pagePublicityEventDTO.injuriesNumber!=null">
                AND injuries_number = #{pagePublicityEventDTO.injuriesNumber}
                AND e.injuries_number = #{pagePublicityEventDTO.injuriesNumber}
            </if>
            <if test="pagePublicityEventDTO.difficult!=null">
                AND difficult = #{pagePublicityEventDTO.difficult}
                AND e.difficult = #{pagePublicityEventDTO.difficult}
            </if>
            <if test="pagePublicityEventDTO.urgent!=null">
                AND urgent = #{pagePublicityEventDTO.urgent}
                AND e.urgent = #{pagePublicityEventDTO.urgent}
            </if>
            <if test="pagePublicityEventDTO.urgentDell!=null">
                AND urgent_dell = #{pagePublicityEventDTO.urgentDell}
                AND e.urgent_dell = #{pagePublicityEventDTO.urgentDell}
            </if>
            <if test="pagePublicityEventDTO.submitDateBegin!=null">
                AND submit_date <![CDATA[>=]]> #{pagePublicityEventDTO.submitDateBegin}
                AND e.submit_date <![CDATA[>=]]> #{pagePublicityEventDTO.submitDateBegin}
            </if>
            <if test="pagePublicityEventDTO.submitDateEnd!=null">
                AND submit_date <![CDATA[<=]]> #{pagePublicityEventDTO.submitDateEnd}
                AND e.submit_date <![CDATA[<=]]> #{pagePublicityEventDTO.submitDateEnd}
            </if>
            <if test="pagePublicityEventDTO.createBy!=null">
                AND create_by = #{pagePublicityEventDTO.createBy}
                AND e.create_by = #{pagePublicityEventDTO.createBy}
            </if>
            <if test="pagePublicityEventDTO.createAtBegin!=null">
                AND create_at  <![CDATA[>=]]> #{pagePublicityEventDTO.createAtBegin}
                AND e.create_at  <![CDATA[>=]]> #{pagePublicityEventDTO.createAtBegin}
            </if>
            <if test="pagePublicityEventDTO.createAtEnd!=null">
                AND create_at <![CDATA[<=]]> #{pagePublicityEventDTO.createAtEnd}
                AND e.create_at <![CDATA[<=]]> #{pagePublicityEventDTO.createAtEnd}
            </if>
            <if test="pagePublicityEventDTO.updateBy!=null">
                AND update_by = #{pagePublicityEventDTO.updateBy}
                AND e.update_by = #{pagePublicityEventDTO.updateBy}
            </if>
            <if test="pagePublicityEventDTO.updateAtBegin!=null">
                AND update_at <![CDATA[>=]]> #{pagePublicityEventDTO.updateAtBegin}
                AND e.update_at <![CDATA[>=]]> #{pagePublicityEventDTO.updateAtBegin}
            </if>
            <if test="pagePublicityEventDTO.updateAtEnd!=null">
                AND update_at <![CDATA[<=]]> #{pagePublicityEventDTO.updateAtEnd}
                AND e.update_at <![CDATA[<=]]> #{pagePublicityEventDTO.updateAtEnd}
            </if>
        </where>
        <if test="pagePublicityEventDTO.sortColumns!=null">
            ORDER BY ${pagePublicityEventDTO.sortColumns} ${pagePublicityEventDTO.sortType}
            ORDER BY e.${pagePublicityEventDTO.sortColumns} ${pagePublicityEventDTO.sortType}
        </if>
    </select>
@@ -470,6 +478,36 @@
        </if>
    </select>
    <select id="findCommunityPublicityByPage" resultType="com.panzhihua.common.model.vos.grid.EventVO"
            parameterType="com.panzhihua.common.model.dtos.grid.PagePublicityEventCommunityDTO">
        SELECT
            e.id,e.order_sn,e.event_category,e.grid_member_street,e.happen_address,e.grid_member_community,e.event_clazz,e.grid_id,e.grid_member_id,e.grid_member_name,e.grid_member_telephone,
            e.event_title,e.propaganda_type,e.propaganda_time,e.event_type,e.event_des,e.propaganda_object,e.propaganda_num,e.community_process,e.happen_time,e.happent_address,e.happent_lat_lng,
            e.event_status,e.event_process_status,e.process_type,e.process_user_id,e.process_user_name,e.process_date,e.process_desc,e.event_resource,e.danger_level,e.red_card,e.yellow_card,e.invalid,
            e.major,e.deaths_number,e.injuries_number,e.difficult,e.urgent,e.urgent_dell,e.submit_date,e.create_by,e.create_at,e.update_by,e.update_at,e.event_deal_status
        FROM
            event e left join event_grid_data egd on e.grid_id = egd.id
        <where>
            e.event_status != 3 AND e.event_category = 2
            <if test='pagePublicityEventCommunityDTO.keyWord != null and pagePublicityEventCommunityDTO.keyWord != &quot;&quot;'>
                AND (
                e.grid_member_name like concat('%', #{pagePublicityEventCommunityDTO.keyWord},'%') OR
                e.event_title like concat('%', #{pagePublicityEventCommunityDTO.keyWord},'%') OR
                e.happen_address like concat('%', #{pagePublicityEventCommunityDTO.keyWord},'%')
                e.order_sn like concat('%', #{pagePublicityEventCommunityDTO.keyWord},'%')
                )
            </if>
            <if test="pagePublicityEventCommunityDTO.communityId!=null">
                AND egd.grid_community_id = #{pageEventManageDTO.communityId}
            </if>
            <if test="pagePublicityEventCommunityDTO.eventDealStatus!=null">
                AND e.event_deal_status = #{pagePublicityEventCommunityDTO.eventDealStatus}
            </if>
        </where>
        <if test="pagePublicityEventCommunityDTO.sortColumns!=null">
            ORDER BY e.${pagePublicityEventCommunityDTO.sortColumns} ${pagePublicityEventCommunityDTO.sortType}
        </if>
    </select>
    <select id="eventStatistics" resultType="com.panzhihua.common.model.vos.grid.EventStatisticsAllAdminVO">
        SELECT
            count( e.id ) AS eventTotal,(