CeDo
2021-06-04 66cc1d340831ebbc83b8d3fc061e6fdb84c0fc4a
add:社区网格后台事件管理
1个文件已添加
3个文件已修改
211 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PublicityEventAddDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PublicityEventEditDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventManageApi.java 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PublicityEventAddDTO.java
@@ -39,6 +39,11 @@
    @ApiModelProperty(value = "发生地点-位置备注", hidden = false, example = "")
    private String happentAddress;
    @Length(max=255)
    @ApiModelProperty(value = "事件发生地点", hidden = false, example = "", required = true)
    private String happenAddress;
    @Max(9223372036854775807L)
    @ApiModelProperty(value = "宣传区域-网格ID", hidden = false, example = "1", required = true)
    @NotNull(message = "宣传区域不能为空")
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/PublicityEventEditDTO.java
@@ -42,6 +42,10 @@
    @ApiModelProperty(value = "发生地点-位置备注", hidden = false, example = "")
    private String happentAddress;
    @Length(max=255)
    @ApiModelProperty(value = "事件发生地点", hidden = false, example = "", required = true)
    private String happenAddress;
    @Max(9223372036854775807L)
    @ApiModelProperty(value = "宣传区域-网格ID", hidden = false, example = "1", required = true)
    @NotNull(message = "宣传区域不能为空")
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventManageApi.java
New file
@@ -0,0 +1,168 @@
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.community.ComActVO;
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("/event")
@Api(tags = {"事件管理(开发中..) @chendong"})
public class EventManageApi 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 pageEventManageDTO 查找事件
     * @return 查找结果
     */
    @GetMapping("/usersList")
    @ApiOperation(value = "事件列表", response= EventVO.class)
    R usersList(@Validated @ModelAttribute PageEventManageDTO pageEventManageDTO){
        ClazzUtils.setIfStringIsEmpty(pageEventManageDTO);
        if(!isCommonType(pageEventManageDTO.getEventType())){
            return R.fail(400, "事件类型错误");
        }
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        pageEventManageDTO.setUserId(loginUserInfoVO.getUserId());
        pageEventManageDTO.setCommunityId(loginUserInfoVO.getCommunityId());
        return gridService.queryEventToManage(pageEventManageDTO);
    }
    /**
     * 事件标为无效
     * @param eventRevokeDTO 修改事件传递对象
     * @return 修改结果
     */
    @PutMapping("/markInvalid")
    @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.markEventInvalid(eventRevokeDTO);
    }
    /**
     * 新增并发布事件事件
     * @param commonEventCommunityAddDTO 添加事件传递对象
     * @return 新增结果
     */
    @PostMapping("/release")
    @ApiOperation(value = "新增并发布事件", response = R.class)
    R add(@Validated @RequestBody CommonEventCommunityAddDTO commonEventCommunityAddDTO){
        ClazzUtils.setIfStringIsEmpty(commonEventCommunityAddDTO);
        if(!isCommonType(commonEventCommunityAddDTO.getEventType())){
            return R.fail(400, "事件类型错误");
        }
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        commonEventCommunityAddDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventCommunityAddDTO.setUserName(loginUserInfoVO.getName());
        commonEventCommunityAddDTO.setPhone(loginUserInfoVO.getPhone());
        return gridService.addCommon(commonEventCommunityAddDTO);
    }
    /**
     * 查询事件详细信息
     * @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);
        eventDeleteDTO.setUserId(this.getUserId());
        return gridService.delete(eventDeleteDTO);
    }
    /**
     * 重新发布事件
     * @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.republishInvalidEvent(commonEventRepublishDTO);
    }
    /**
     * 查询社区列表
     * @return 查找结果
     */
    @GetMapping("/actList")
    @ApiOperation(value = "查询社区列表", response = ComActVO.class)
    R actList(){
        return gridService.actList();
    }
    /**
     * 处理事件
     * @param commonEventDealDTO 修改事件传递对象
     * @return 处理结果
     */
    @PutMapping("/deal")
    @ApiOperation(value = "处理事件", response = R.class)
    R deal(@Validated @RequestBody CommonEventDealDTO commonEventDealDTO){
        ClazzUtils.setIfStringIsEmpty(commonEventDealDTO);
        if(commonEventDealDTO.getNeedVerify()==null){
            return R.fail("是否验证不能为空");
        }
        LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
        commonEventDealDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventDealDTO.setUserName(loginUserInfoVO.getName());
        commonEventDealDTO.setOperateType(1);
        commonEventDealDTO.setCommunityId(loginUserInfoVO.getCommunityId());
        return gridService.dealEvent(commonEventDealDTO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -417,40 +417,48 @@
    </select>
    <select id="findToManageByPage" resultType="com.panzhihua.common.model.vos.grid.EventVO"
            parameterType="com.panzhihua.common.model.dtos.grid.PageEventManageDTO">
        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 = 1
            e.event_status != 3 AND e.event_category = 1
            <if test="pageEventManageDTO.communityId!=null">
                AND egd.grid_community_id = #{pageEventManageDTO.communityId}
            </if>
            <if test="pageEventManageDTO.eventDealStatus!=null">
                AND event_deal_status = #{pageEventManageDTO.eventDealStatus}
                AND e.event_deal_status = #{pageEventManageDTO.eventDealStatus}
            </if>
            <if test="pageEventManageDTO.communityProcess!=null">
                AND community_process = #{pageEventManageDTO.communityProcess}
                AND e.community_process = #{pageEventManageDTO.communityProcess}
            </if>
            <if test="pageEventManageDTO.eventType!=null">
                AND event_type = #{pageEventManageDTO.eventType}
                AND e.event_type = #{pageEventManageDTO.eventType}
            </if>
            <if test="pageEventManageDTO.dangerLevel!=null">
                AND danger_level = #{pageEventManageDTO.dangerLevel}
                AND e.danger_level = #{pageEventManageDTO.dangerLevel}
            </if>
            <if test="pageEventManageDTO.redCard!=null">
                AND red_card = #{pageEventManageDTO.redCard}
                AND e.red_card = #{pageEventManageDTO.redCard}
            </if>
            <if test="pageEventManageDTO.yellowCard!=null">
                AND yellow_card = #{pageEventManageDTO.yellowCard}
                AND e.yellow_card = #{pageEventManageDTO.yellowCard}
            </if>
            <if test="pageEventManageDTO.urgent!=null">
                AND urgent = #{pageEventManageDTO.urgent}
                AND e.urgent = #{pageEventManageDTO.urgent}
            </if>
            <if test="pageEventManageDTO.major!=null">
                AND major = #{pageEventManageDTO.major}
                AND e.major = #{pageEventManageDTO.major}
            </if>
            <if test="pageEventManageDTO.invalid!=null">
                AND invalid = #{pageEventManageDTO.invalid}
                AND e.invalid = #{pageEventManageDTO.invalid}
            </if>
        </where>
        <if test="pageEventManageDTO.sortColumns!=null">
            ORDER BY ${pageEventManageDTO.sortColumns} ${pageEventManageDTO.sortType}
            ORDER BY e.${pageEventManageDTO.sortColumns} ${pageEventManageDTO.sortType}
        </if>
    </select>