Browse Source

防止重复调用

feature/dangjian
zhangyuan 3 years ago
parent
commit
d3af2dbd6c
  1. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java
  2. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  3. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java

@ -105,4 +105,15 @@ public interface ItemHandleProcessDao extends BaseDao<ItemHandleProcessEntity> {
List<String> getURL(String itemId);
List<String> getImgUrl(String itemId);
/**
* 获取最新一条进程数据因为createTime会被修改所以采用updateTime
*
* @param itemId
* @return com.elink.esua.epdc.dto.item.ItemHandleProcessDTO
* @author zhy
* @date 2022/12/1 17:35
*/
ItemHandleProcessDTO getLastProcess(@Param("itemId") String itemId);
}

10
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -3938,12 +3938,22 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
String successFlag = YesOrNoEnum.NO.value();
String returnMsgBody = "";
ItemGridPlatformDTO itemPlat = itemGridPlatformService.getInfoByTaskId(formDto.getP_recId());
if (null == itemPlat) {
// 保存接口调用日志
this.saveInterfaceLog("", InterfaceLogBusinessTypeEnum.ACCEPT_ITEM_PROCESS.getValue(),
ApiConstants.acceptItemProcess, successFlag, formDto.getP_recId(), returnMsgBody);
return new Result().error("未查到相关事件信息");
}
ItemHandleProcessDTO processDTO = itemHandleProcessDao.getLastProcess(itemPlat.getReferenceId());
if (processDTO == null) {
return new Result().error("未查到相关事件流程信息");
} else if ("0".equals(formDto.getState()) && ItemGridPlatformHandleStatusEnum.HANDLE_XFPJ.getValue() == processDTO.getState()) {
return new Result().error("请勿重复进行下放评价操作");
} else if ("1".equals(formDto.getState()) && ItemGridPlatformHandleStatusEnum.HANDLE_BH.getValue() == processDTO.getState()) {
return new Result().error("请勿重复进行驳回操作");
}
// 插入项目处理进度表
ItemHandleProcessDTO itemHandleProcessDto = new ItemHandleProcessDTO();
itemHandleProcessDto.setId(UUID.randomUUID().toString().replaceAll("-", ""));

12
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml

@ -123,5 +123,15 @@
DEL_FLAG = 0
AND REFERENCE_ID = #{itemId}
</select>
<select id="getLastProcess" resultType="com.elink.esua.epdc.dto.item.ItemHandleProcessDTO">
select
p.*
from
epdc_item_handle_process p
where
p.del_flag = 0
and p.item_id = #{itemId}
order by p.UPDATED_TIME desc
limit 1
</select>
</mapper>

Loading…
Cancel
Save