From 035160e5be833310f4f400a8d843718713b193b1 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 May 2022 15:27:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=90=E9=9A=8F=E6=89=8B?= =?UTF-8?q?=E6=8B=8D=E3=80=81=E8=AE=B2=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/AddEventFromResiFormDTO.java | 55 +++++++++++++ .../epmet/controller/IcEventController.java | 16 ++++ .../com/epmet/service/IcEventService.java | 9 +++ .../service/impl/IcEventServiceImpl.java | 79 +++++++++++++++++++ .../service/impl/ResiEventServiceImpl.java | 2 +- 5 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddEventFromResiFormDTO.java diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddEventFromResiFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddEventFromResiFormDTO.java new file mode 100644 index 0000000000..28f5296c5b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddEventFromResiFormDTO.java @@ -0,0 +1,55 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/5/19 11:14 + * @DESC + */ +@Data +public class AddEventFromResiFormDTO implements Serializable { + + private static final long serialVersionUID = -2238068041964629750L; + + public interface AddEventFromResiForm{} + + private String content; + private String address; + + @NotBlank(message = "gridId不能为空",groups = AddEventFromResiForm.class) + private String gridId; + + + /** + * 图片附件列表 + */ + private List attachmentList; + + + /** + * 语音附件列表 + */ + private List voiceList; + + + /** + * 纬度 + */ + private String latitude; + + /** + * 经度 + */ + private String longitude; + + private String customerId; + + private String userId; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 78ac103fa5..01eb9d9cca 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -289,4 +289,20 @@ public class IcEventController { return new Result(); } + /** + * Desc: 新增【随手拍、讲】 + * @param tokenDto + * @param formDTO + * @author zxc + * @date 2022/5/19 13:38 + */ + @PostMapping("add-event-resi") + public Result addEventFromResi(@LoginUser TokenDto tokenDto,@RequestBody AddEventFromResiFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, AddEventFromResiFormDTO.AddEventFromResiForm.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icEventService.addEventFromResi(formDTO); + return new Result(); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java index 11a1f63c4d..24500f057b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java @@ -177,4 +177,13 @@ public interface IcEventService extends BaseService { * @Description 需求完成/项目结案时 修改事件数据 **/ void closeProjectOrDemand(ColseProjectOrDemandFormDTO formDTO); + + /** + * Desc: 新增【随手拍、讲】 + * @param formDTO + * @author zxc + * @date 2022/5/19 13:38 + */ + void addEventFromResi(AddEventFromResiFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index d1d7341ec9..759b7e5d01 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1,4 +1,5 @@ package com.epmet.service.impl; +import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -7,6 +8,7 @@ import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.dto.form.FileCommonDTO; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -94,6 +96,8 @@ public class IcEventServiceImpl extends BaseServiceImpl> userResult = userOpenFeignClient.queryUserBaseInfo(Arrays.asList(formDTO.getUserId())); + if (!userResult.success() && CollectionUtils.isEmpty(userResult.getData())){ + throw new EpmetException("查询用户信息失败"+formDTO.getUserId()); + } + entity.setReportUserId(formDTO.getUserId()); + userResult.getData().forEach(u -> { + if (u.getUserId().equals(formDTO.getUserId())){ + entity.setName(u.getRealName()); + entity.setMobile(u.getMobile()); + entity.setIdCard(u.getIdNum()); + } + }); + // 0代表 随手拍和随时讲 + entity.setSourceType(NumConstant.ZERO_STR); + entity.setHappenTime(new Date()); + entity.setEventContent(formDTO.getContent()); + entity.setStatus("processing"); + entity.setReadFlag(0); + entity.setRedDot(0); + entity.setLatestOperatedTime(new Date()); + entity.setAuditStatus(TopicConstant.AUTO_PASSED); + baseDao.insert(entity); + //3-2.附件数据保存 + List attachmentEntityList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(formDTO.getAttachmentList())) { + disposeAttachment(formDTO.getAttachmentList(), attachmentEntityList,entity.getId(),formDTO.getCustomerId(),formDTO.getUserId()); + } + if (!CollectionUtils.isEmpty(formDTO.getVoiceList())) { + disposeAttachment(formDTO.getVoiceList(), attachmentEntityList,entity.getId(),formDTO.getCustomerId(),formDTO.getUserId()); + } + if (!CollectionUtils.isEmpty(attachmentEntityList)){ + icEventAttachmentService.insertBatch(attachmentEntityList); + } + } + + public void disposeAttachment(List list,List attachmentEntityList,String id,String customerId,String userId){ + int sort = NumConstant.ZERO; + for (FileCommonDTO a : list) { + IcEventAttachmentEntity attachment = new IcEventAttachmentEntity(); + attachment.setCustomerId(customerId); + attachment.setIcEventId(id); + attachment.setCreatedBy(userId); + attachment.setAttachmentFormat(a.getFormat()); + attachment.setAttachmentType(a.getType()); + attachment.setAttachmentUrl(a.getUrl()); + attachment.setStatus(TopicConstant.AUTO_PASSED); + attachment.setSort(sort++); + attachmentEntityList.add(attachment); + } + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index 3c5b66a824..8228fb19df 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -484,7 +484,7 @@ public class ResiEventServiceImpl extends BaseServiceImpl attachmentList) { + public void scanContent(String eventContent, List attachmentList) { //事件内容 if (StringUtils.isNotBlank(eventContent)) { TextScanParamDTO textScanParamDTO = new TextScanParamDTO();