Browse Source

事件转议题单独的api,未完

dev
yinzuomei 3 years ago
parent
commit
5bb22c8521
  1. 58
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventToIssueFormDTO.java
  2. 15
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java
  3. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventCategoryDao.java
  4. 6
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java
  5. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventOperationLogEntity.java
  6. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventCategoryService.java
  7. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java
  8. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventCategoryServiceImpl.java
  9. 60
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java
  10. 4
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventCategoryDao.xml

58
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventToIssueFormDTO.java

@ -0,0 +1,58 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/10/9 16:46
*/
@Data
public class IcEventToIssueFormDTO implements Serializable {
private static final long serialVersionUID = -7227815962561508949L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/**
* 转议题默认传3即可0:已回复 1:已转项目 2:已转需求3:转议题
*/
@NotBlank(message = "处理方式不能为空", groups = {IcEventToIssueFormDTO.AddUserInternalGroup.class})
private String operationType;
@NotBlank(message = "事件id不能为空", groups = IcEventToIssueFormDTO.AddUserInternalGroup.class)
private String icEventId;
// /**
// * 二类分类Id
// */
// private String categoryId;
/**
* 项目所选分类集合不可为空
*/
@Valid
@NotEmpty(message = "事件分类不能为空", groups = IcEventToIssueFormDTO.AddUserShowGroup.class)
private List<CategoryOrTagFormDTO> categoryList;
@NotBlank(message = "议题标题不能为空", groups = IcEventToIssueFormDTO.AddUserShowGroup.class)
private String issueTitle;
@NotBlank(message = "处理建议不能为空", groups = IcEventToIssueFormDTO.AddUserShowGroup.class)
private String suggestion;
@NotBlank(message = "customerId不能为空", groups = {IcEventToIssueFormDTO.AddUserInternalGroup.class})
private String customerId;
@NotBlank(message = "currentUserId不能为空", groups = {IcEventToIssueFormDTO.AddUserInternalGroup.class})
private String currentUserId;
}

15
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java

@ -242,6 +242,21 @@ public class IcEventController {
return new Result(); return new Result();
} }
/**
* 事件转议题
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("icEventToIssue")
public Result icEventToIssue(@LoginUser TokenDto tokenDto, @RequestBody IcEventToIssueFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setCurrentUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, IcEventToIssueFormDTO.AddUserShowGroup.class, IcEventToIssueFormDTO.AddUserInternalGroup.class);
icEventService.icEventToIssue(formDTO);
return new Result();
}
/** /**
* 事件分类分析-一级分类下事件数量 * 事件分类分析-一级分类下事件数量
* *

1
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventCategoryDao.java

@ -16,4 +16,5 @@ public interface IcEventCategoryDao extends BaseDao<IcEventCategoryEntity> {
IcEventCategoryEntity selectByEventId(@Param("icEventId") String icEventId); IcEventCategoryEntity selectByEventId(@Param("icEventId") String icEventId);
int deleteByIcEventId(@Param("icEventId") String icEventId);
} }

6
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java

@ -61,9 +61,9 @@ public class IcEventEntity extends BaseEpmetEntity {
*/ */
private String idCard; private String idCard;
/** /**
* 反映渠道字典表 * 反映渠道字典表dictTypeKey:ic_event_source_type;随手拍随时讲0多媒体反应1社区电话212345:3网格员手持终端4
*/ */
private String sourceType; private String sourceType;
/** /**

1
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventOperationLogEntity.java

@ -48,6 +48,7 @@ public class IcEventOperationLogEntity extends BaseEpmetEntity {
* 4转需求shift_demand * 4转需求shift_demand
* 5办结close_case; * 5办结close_case;
* 6需求办结close_demand * 6需求办结close_demand
* 转议题shift_to_issue
*/ */
private String actionCode; private String actionCode;

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventCategoryService.java

@ -82,4 +82,6 @@ public interface IcEventCategoryService extends BaseService<IcEventCategoryEntit
* @return * @return
*/ */
IcEventCategoryEntity getByEventId(String eventId); IcEventCategoryEntity getByEventId(String eventId);
void delInsert(String icEventId, List<IcEventCategoryEntity> categoryEntities);
} }

5
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java

@ -225,4 +225,9 @@ public interface IcEventService extends BaseService<IcEventEntity> {
PageData<PageUserReportEventResDTO> icEventPageUserReported(PageUserReportEventFormDTO formDTO); PageData<PageUserReportEventResDTO> icEventPageUserReported(PageUserReportEventFormDTO formDTO);
/**
* 事件转议题
* @param formDTO
*/
void icEventToIssue(IcEventToIssueFormDTO formDTO);
} }

8
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventCategoryServiceImpl.java

@ -1,6 +1,5 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -86,4 +85,11 @@ public class IcEventCategoryServiceImpl extends BaseServiceImpl<IcEventCategoryD
return baseDao.selectByEventId(icEventId); return baseDao.selectByEventId(icEventId);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void delInsert(String icEventId, List<IcEventCategoryEntity> categoryEntities) {
baseDao.deleteByIcEventId(icEventId);
this.insertBatch(categoryEntities);
}
} }

60
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java

@ -379,8 +379,8 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit
categoryTag.setCustomerId(customerId); categoryTag.setCustomerId(customerId);
categoryTag.setCategoryIdList(categoryIdList); categoryTag.setCategoryIdList(categoryIdList);
Result<CategoryTagResultDTO> resultDTOResult = govIssueOpenFeignClient.getCategoryTagList(categoryTag); Result<CategoryTagResultDTO> resultDTOResult = govIssueOpenFeignClient.getCategoryTagList(categoryTag);
if (!resultDTOResult.success()) { if (!resultDTOResult.success() || CollectionUtils.isEmpty(resultDTOResult.getData().getCategoryList())) {
throw new RenException("项目立项,调用issue服务查询分类、标签基础信息失败"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "调用issue服务查询分类基础信息失败", "分类信息查询异常");
} }
return resultDTOResult.getData(); return resultDTOResult.getData();
} }
@ -1672,4 +1672,60 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit
return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); return new PageData<>(pageInfo.getList(), pageInfo.getTotal());
} }
/**
* 事件转议题
*
* @param formDTO
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void icEventToIssue(IcEventToIssueFormDTO formDTO) {
//校验下数据
IcEventEntity icEventEntity=baseDao.selectById(formDTO.getIcEventId());
if (null == icEventEntity || !"processing".equals(icEventEntity.getStatus())) {
log.error(String.format("事件不存在icEventId:%s",formDTO.getIcEventId()));
return;
}
//查询分类信息
List<String> categoryIdList = formDTO.getCategoryList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList());
CategoryTagResultDTO category = queryCategory(formDTO.getCustomerId(), categoryIdList);
Date nowTime = new Date();
//转议题
// todo
//校验通过之后.....
//1、修改事件
icEventEntity.setOperationType(formDTO.getOperationType());
icEventEntity.setOperationId("xxxxxtodo");
if("0".equals(icEventEntity.getSourceType())){
//来源于随手拍的,居民端需要显示红点
icEventEntity.setRedDot(NumConstant.ONE);
}
icEventEntity.setLatestOperatedTime(nowTime);
icEventEntity.setUpdatedTime(nowTime);
baseDao.updateById(icEventEntity);
//2、ic_event_category
//分类全删全增吧
List<IcEventCategoryEntity> categoryEntities=new ArrayList<>();
for (IssueProjectCategoryDictDTO ca : category.getCategoryList()){
IcEventCategoryEntity icEventCategoryEntity=new IcEventCategoryEntity();
icEventCategoryEntity.setCustomerId(formDTO.getCustomerId());
icEventCategoryEntity.setIcEventId(formDTO.getIcEventId());
icEventCategoryEntity.setCategoryId(ca.getId());
icEventCategoryEntity.setCategoryPids(ca.getPids());
icEventCategoryEntity.setCategoryCode(ca.getCategoryCode());
categoryEntities.add(icEventCategoryEntity);
}
icEventCategoryService.delInsert(formDTO.getIcEventId(),categoryEntities);
//3、ic_event_operation_log
IcEventOperationLogEntity logEntity = new IcEventOperationLogEntity();
logEntity.setCustomerId(formDTO.getCustomerId());
logEntity.setIcEventId(formDTO.getIcEventId());
logEntity.setUserId(formDTO.getCurrentUserId());
logEntity.setUserIdentity("staff");
logEntity.setActionCode("shift_to_issue");
logEntity.setActionDesc("转议题");
logEntity.setOperateTime(nowTime);
icEventOperationLogService.insert(logEntity);
}
} }

4
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventCategoryDao.xml

@ -17,5 +17,7 @@
del_flag = '0' del_flag = '0'
AND ic_event_id = #{icEventId} AND ic_event_id = #{icEventId}
</select> </select>
<delete id="deleteByIcEventId" parameterType="map">
delete from ic_event_category where ic_event_id = #{icEventId}
</delete>
</mapper> </mapper>
Loading…
Cancel
Save