forked from luyan/epmet-cloud-lingshan
10 changed files with 686 additions and 0 deletions
@ -0,0 +1,83 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
@Data |
|||
public class EventAddEditFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 事件编号 |
|||
*/ |
|||
private String code; |
|||
/** |
|||
* 事件状态 |
|||
*/ |
|||
private String status; |
|||
/** |
|||
* 上报人员 |
|||
*/ |
|||
private String reporter; |
|||
/** |
|||
* 联系电话 |
|||
*/ |
|||
private String phone; |
|||
/** |
|||
* 上报事件 |
|||
*/ |
|||
private Date reportDate; |
|||
/** |
|||
* 紧急程度 |
|||
*/ |
|||
private String urgency; |
|||
/** |
|||
* 所属网格 |
|||
*/ |
|||
private String grid; |
|||
/** |
|||
* 事件类型 |
|||
*/ |
|||
private String eventType; |
|||
/** |
|||
* 即办类型 |
|||
*/ |
|||
private String type; |
|||
/** |
|||
* 办理期限 |
|||
*/ |
|||
private Date lastDate; |
|||
|
|||
/** |
|||
* 满意度 |
|||
*/ |
|||
private String satisficing; |
|||
|
|||
/** |
|||
* 页码 |
|||
*/ |
|||
private Integer pageNo = 1; |
|||
/** |
|||
* 每页显示数量 |
|||
*/ |
|||
private Integer pageSize = 20; |
|||
|
|||
private Boolean isPage = true; |
|||
|
|||
|
|||
private String customerId; |
|||
|
|||
private String agencyId; |
|||
|
|||
private String staffId; |
|||
|
|||
private String userId; |
|||
|
|||
private String app; |
|||
|
|||
private String client; |
|||
} |
@ -0,0 +1,86 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 灵山项目事件 formDTO |
|||
*/ |
|||
|
|||
@Data |
|||
public class EventFormsDTO implements Serializable { |
|||
private static final long serialVersionUID = 1; |
|||
|
|||
public interface Detail extends CustomerClientShowGroup { |
|||
} |
|||
|
|||
public interface GovRedDot extends CustomerClientShowGroup { |
|||
} |
|||
|
|||
/** |
|||
* 事件编号 |
|||
*/ |
|||
private String code; |
|||
/** |
|||
* 事件状态 |
|||
*/ |
|||
private String status; |
|||
/** |
|||
* 上报人员 |
|||
*/ |
|||
private String reporter; |
|||
/** |
|||
* 联系电话 |
|||
*/ |
|||
private String phone; |
|||
/** |
|||
* 上报事件 |
|||
*/ |
|||
private Date reportDate; |
|||
/** |
|||
* 紧急程度 |
|||
*/ |
|||
private String urgency; |
|||
/** |
|||
* 所属网格 |
|||
*/ |
|||
private String grid; |
|||
/** |
|||
* 事件类型 |
|||
*/ |
|||
private String eventType; |
|||
/** |
|||
* 即办类型 |
|||
*/ |
|||
private String type; |
|||
/** |
|||
* 办理期限 |
|||
*/ |
|||
private Date lastDate; |
|||
|
|||
/** |
|||
* 满意度 |
|||
*/ |
|||
private String satisficing; |
|||
|
|||
/** |
|||
* 页码 |
|||
*/ |
|||
private Integer pageNo = 1; |
|||
/** |
|||
* 每页显示数量 |
|||
*/ |
|||
private Integer pageSize = 20; |
|||
|
|||
private Boolean isPage = true; |
|||
|
|||
|
|||
private String customerId; |
|||
|
|||
private String agencyId; |
|||
|
|||
private String staffId; |
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 即墨灵山项目 |
|||
*/ |
|||
|
|||
@Data |
|||
public class EventResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键ID |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 事件编号 |
|||
*/ |
|||
private String code; |
|||
|
|||
/** |
|||
* 事件状态 |
|||
*/ |
|||
private String status; |
|||
|
|||
/** |
|||
* 事件明细ID |
|||
*/ |
|||
private String detailId; |
|||
/** |
|||
* 上报人员 |
|||
*/ |
|||
private String reporter; |
|||
/** |
|||
* 联系电话 |
|||
*/ |
|||
private String phone; |
|||
/** |
|||
* 上报事件事件 |
|||
*/ |
|||
private Date reportDate; |
|||
/** |
|||
* 紧急程度 |
|||
*/ |
|||
private String urgency; |
|||
/** |
|||
* 所属网格 |
|||
*/ |
|||
private String grid; |
|||
/** |
|||
* 事件类型 |
|||
*/ |
|||
private String eventType; |
|||
/** |
|||
* 即办类型 |
|||
*/ |
|||
private String type; |
|||
/** |
|||
* 办理期限 |
|||
*/ |
|||
private Date lastDate; |
|||
/** |
|||
* 事件地址 |
|||
*/ |
|||
private String eventAddr; |
|||
|
|||
/** |
|||
* 坐标经度 |
|||
*/ |
|||
private String longitude; |
|||
/** |
|||
* 坐标纬度 |
|||
*/ |
|||
private String latitude; |
|||
/** |
|||
* 音频 |
|||
*/ |
|||
private String voice; |
|||
/** |
|||
* 视频 |
|||
*/ |
|||
private String video; |
|||
/** |
|||
* 满意度 |
|||
*/ |
|||
private String satisficing; |
|||
/** |
|||
* 解决情况 |
|||
*/ |
|||
private String remark; |
|||
/** |
|||
* 事件描述 |
|||
*/ |
|||
private String conetnt; |
|||
|
|||
} |
@ -0,0 +1,88 @@ |
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.aop.NoRepeatSubmit; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.dto.form.EventAddEditFormDTO; |
|||
import com.epmet.dto.form.EventFormsDTO; |
|||
import com.epmet.dto.result.EventResultDTO; |
|||
import com.epmet.service.EventService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author yan Lu |
|||
* @date 2023-04-14 19:07 |
|||
* @deprecated 社会治理--事件处理 |
|||
*/ |
|||
@Slf4j |
|||
@RestController |
|||
@RequestMapping("event") |
|||
public class EventController { |
|||
|
|||
@Autowired |
|||
private EventService eventService; |
|||
|
|||
/** |
|||
* 社会治理 事件列表 |
|||
* @param tokenDto |
|||
* @param formDTO |
|||
* @return |
|||
*/ |
|||
@PostMapping("list") |
|||
public Result<PageData<EventResultDTO>> getList(@LoginUser TokenDto tokenDto, @RequestBody EventFormsDTO formDTO) { |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
formDTO.setStaffId(tokenDto.getUserId()); |
|||
return new Result<PageData<EventResultDTO>>().ok(eventService.getList(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* @deprecated 根据ID获取事件 |
|||
* @param id |
|||
* @return |
|||
*/ |
|||
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) |
|||
public Result<EventResultDTO> get(@PathVariable("id") String id){ |
|||
EventResultDTO data = eventService.getById(id); |
|||
return new Result<EventResultDTO>().ok(data); |
|||
} |
|||
|
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("add") |
|||
public Result save(@LoginUser TokenDto tokenDto, @RequestBody EventAddEditFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, AddGroup.class, DefaultGroup.class); |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
formDTO.setApp(tokenDto.getApp()); |
|||
formDTO.setClient(tokenDto.getClient()); |
|||
eventService.save(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("update") |
|||
public Result update(@RequestBody EventResultDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
eventService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PostMapping("delete") |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
eventService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.form.EventFormsDTO; |
|||
import com.epmet.dto.result.EventResultDTO; |
|||
import com.epmet.entity.EventEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 灵山项目 |
|||
*/ |
|||
|
|||
@Mapper |
|||
public interface EventEntityDao extends BaseDao<EventEntity> { |
|||
|
|||
List<EventResultDTO> getList(EventFormsDTO formDTO); |
|||
} |
@ -0,0 +1,43 @@ |
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.util.Date; |
|||
|
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@TableName("event_detail") |
|||
public class EventDetailEntity extends BaseEpmetEntity { |
|||
|
|||
/** |
|||
* 事件ID |
|||
*/ |
|||
private String eventId; |
|||
/** |
|||
* 上报人 |
|||
*/ |
|||
private String reporter; |
|||
/** |
|||
* 接收人 |
|||
*/ |
|||
private String recipient; |
|||
/** |
|||
* 上报事件 |
|||
*/ |
|||
private Date reportDate; |
|||
/** |
|||
* 事件附件地址 |
|||
*/ |
|||
private String atts; |
|||
/** |
|||
* 事件处理耗时 |
|||
*/ |
|||
private String timeSpent; |
|||
/** |
|||
* 反馈内容 |
|||
*/ |
|||
private String content; |
|||
} |
@ -0,0 +1,97 @@ |
|||
package com.epmet.entity; |
|||
|
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 灵山项目事件 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = false) |
|||
@TableName("event_entity") |
|||
public class EventEntity extends BaseEpmetEntity { |
|||
|
|||
/** |
|||
* 事件编号 |
|||
*/ |
|||
private String code; |
|||
/** |
|||
* 事件状态 |
|||
*/ |
|||
private String status; |
|||
/** |
|||
* 事件明细ID |
|||
*/ |
|||
private String detailId; |
|||
/** |
|||
* 上报人员 |
|||
*/ |
|||
private String reporter; |
|||
/** |
|||
* 联系电话 |
|||
*/ |
|||
private String phone; |
|||
/** |
|||
* 上报事件事件 |
|||
*/ |
|||
private Date reportDate; |
|||
/** |
|||
* 紧急程度 |
|||
*/ |
|||
private String urgency; |
|||
/** |
|||
* 所属网格 |
|||
*/ |
|||
private String grid; |
|||
/** |
|||
* 事件类型 |
|||
*/ |
|||
private String eventType; |
|||
/** |
|||
* 即办类型 |
|||
*/ |
|||
private String type; |
|||
/** |
|||
* 办理期限 |
|||
*/ |
|||
private Date lastDate; |
|||
/** |
|||
* 事件地址 |
|||
*/ |
|||
private String eventAddr; |
|||
|
|||
/** |
|||
* 坐标经度 |
|||
*/ |
|||
private String longitude; |
|||
/** |
|||
* 坐标纬度 |
|||
*/ |
|||
private String latitude; |
|||
/** |
|||
* 音频 |
|||
*/ |
|||
private String voice; |
|||
/** |
|||
* 视频 |
|||
*/ |
|||
private String video; |
|||
/** |
|||
* 满意度 |
|||
*/ |
|||
private String satisficing; |
|||
/** |
|||
* 解决情况 |
|||
*/ |
|||
private String remark; |
|||
/** |
|||
* 事件描述 |
|||
*/ |
|||
private String conetnt; |
|||
|
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.epmet.service; |
|||
|
|||
|
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.dto.form.EventAddEditFormDTO; |
|||
import com.epmet.dto.form.EventFormsDTO; |
|||
import com.epmet.dto.result.EventResultDTO; |
|||
|
|||
public interface EventService { |
|||
PageData<EventResultDTO> getList(EventFormsDTO formDTO); |
|||
|
|||
EventResultDTO getById(String id); |
|||
|
|||
void update(EventResultDTO dto); |
|||
|
|||
void delete(String[] ids); |
|||
|
|||
void save(EventAddEditFormDTO dto); |
|||
} |
@ -0,0 +1,136 @@ |
|||
package com.epmet.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|||
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
|||
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.epmet.commons.tools.constant.NumConstant; |
|||
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; |
|||
import com.epmet.commons.tools.exception.EpmetException; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|||
import com.epmet.commons.tools.security.user.LoginUserUtil; |
|||
import com.epmet.commons.tools.utils.ConvertUtils; |
|||
import com.epmet.dao.EventEntityDao; |
|||
import com.epmet.dto.form.EventAddEditFormDTO; |
|||
import com.epmet.dto.form.EventFormsDTO; |
|||
import com.epmet.dto.result.EventResultDTO; |
|||
import com.epmet.entity.EventEntity; |
|||
import com.epmet.entity.IcEventOperationLogEntity; |
|||
import com.epmet.service.EventService; |
|||
import com.epmet.service.IcEventOperationLogService; |
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
@Service |
|||
public class EventServiceImpl extends BaseServiceImpl<EventEntityDao, EventEntity> implements EventService { |
|||
|
|||
@Autowired |
|||
private LoginUserUtil loginUserUtil; |
|||
|
|||
@Autowired |
|||
private IcEventOperationLogService icEventOperationLogService; |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @deprecated 查询事件列表 |
|||
*/ |
|||
@Override |
|||
public PageData<EventResultDTO> getList(EventFormsDTO formDTO) { |
|||
if (StringUtils.isBlank(formDTO.getAgencyId())) { |
|||
//获取当前工作人员缓存信息
|
|||
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); |
|||
formDTO.setAgencyId(staffInfo.getAgencyId()); |
|||
} |
|||
//分页查询当前组织下网格内事件数据
|
|||
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); |
|||
List<EventResultDTO> list = baseDao.getList(formDTO); |
|||
PageInfo<EventResultDTO> pageInfo = new PageInfo<>(list); |
|||
return new PageData<>(list, pageInfo.getTotal()); |
|||
} |
|||
|
|||
/** |
|||
* @param id |
|||
* @return |
|||
* @deprecated 获取事件详情 |
|||
*/ |
|||
@Override |
|||
public EventResultDTO getById(String id) { |
|||
EventEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, EventResultDTO.class); |
|||
} |
|||
|
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(EventResultDTO dto) { |
|||
EventEntity entity = ConvertUtils.sourceToTarget(dto, EventEntity.class); |
|||
updateById(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void delete(String[] ids) { |
|||
for (String id : ids) { |
|||
EventEntity entity = baseDao.selectById(id); |
|||
if (null == entity) { |
|||
continue; |
|||
} |
|||
LambdaUpdateWrapper<EventEntity> wrapper = new LambdaUpdateWrapper(); |
|||
wrapper.eq(EventEntity::getId, id).set(EventEntity::getUpdatedTime, new Date()) |
|||
.set(EventEntity::getUpdatedBy, loginUserUtil.getLoginUserId()) |
|||
.set(EventEntity::getDelFlag, NumConstant.ONE_STR); |
|||
baseDao.update(null, wrapper); |
|||
// icEventCategoryService.delInsert(id,null);
|
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void save(EventAddEditFormDTO formDTO) { |
|||
EventEntity entity = ConvertUtils.sourceToTarget(formDTO, EventEntity.class); |
|||
entity.setId(IdWorker.getIdStr()); |
|||
// List<IcEventOperationLogEntity> logList = new ArrayList<>();
|
|||
// logList.add(logEntity(formDTO.getCustomerId(), entity.getId(), formDTO.getUserId(), new Date(), "add", "publish"));
|
|||
// icEventOperationLogService.insertBatch(logList);
|
|||
insert(entity); |
|||
} |
|||
|
|||
/** |
|||
* @param customerId |
|||
* @param staffId |
|||
* @return |
|||
* @deprecated 获取当前登陆人员信息 |
|||
*/ |
|||
|
|||
public CustomerStaffInfoCacheResult getStaffInfo(String customerId, String staffId) { |
|||
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, staffId); |
|||
if (null == staffInfo) { |
|||
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", staffId)); |
|||
} |
|||
return staffInfo; |
|||
} |
|||
|
|||
/** |
|||
* 事件管理操作日志记录 |
|||
* |
|||
* @return |
|||
*/ |
|||
private IcEventOperationLogEntity logEntity(String customerId, String icEventId, String userId, Date operateTime, String actionCode, String actionDesc) { |
|||
IcEventOperationLogEntity logEntity = new IcEventOperationLogEntity(); |
|||
logEntity.setCustomerId(customerId); |
|||
logEntity.setIcEventId(icEventId); |
|||
logEntity.setUserId(userId); |
|||
logEntity.setUserIdentity("staff"); |
|||
logEntity.setActionCode(actionCode); |
|||
logEntity.setActionDesc(actionDesc); |
|||
logEntity.setOperateTime(operateTime); |
|||
return logEntity; |
|||
} |
|||
} |
@ -0,0 +1,13 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
|
|||
<mapper namespace="com.epmet.dao.EventEntityDao"> |
|||
|
|||
<select id="getList" resultType="com.epmet.dto.result.EventResultDTO"> |
|||
select * from event_entity |
|||
<where> |
|||
DEL_FLAG = '0' |
|||
</where> |
|||
order by REPORT_DATE DESC, CREATED_TIME DESC |
|||
</select> |
|||
</mapper> |
Loading…
Reference in new issue