From d53b89219cb43da38fdd1d81a0ad95a0f7d74a8b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 22 Dec 2021 20:39:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=AF=84=E4=BB=B7+=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 4 +- ...lFormDTO.java => CancelDemandFormDTO.java} | 13 +- .../form/demand/EvaluateDemandFormDTO.java | 44 +++++++ .../dto/result/demand/FinishResultDTO.java | 6 +- .../controller/IcUserDemandRecController.java | 18 +-- .../controller/ResiDemandController.java | 83 ++++++++++-- .../epmet/service/IcUserDemandRecService.java | 12 +- .../impl/IcUserDemandRecServiceImpl.java | 119 ++++++++++++------ 8 files changed, 233 insertions(+), 66 deletions(-) rename epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/{StaffCancelFormDTO.java => CancelDemandFormDTO.java} (67%) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/EvaluateDemandFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index e2b10856d9..803b801402 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -93,8 +93,8 @@ public enum EpmetErrorCode { DEMAND_CAN_NOT_UPDATE(8223,"当前状态,不可更新需求"), DEMAND_NOT_EXITS(8224,"需求不存在"), DEMAND_SERVICE_NOT_EXITS(8225,"服务记录不存在"), - DEMAND_CAN_NOT_TAKE_ORDER(8226, "当前状态,不可指派"), - + DEMAND_CAN_NOT_TAKE_ORDER(8226, "当前状态,不可接单"), + DEMAND_CAN_NOT_EVALUATE(8227, "当前状态,不可评价"), REQUIRE_PERMISSION(8301, "您没有足够的操作权限"), THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"), diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StaffCancelFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/CancelDemandFormDTO.java similarity index 67% rename from epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StaffCancelFormDTO.java rename to epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/CancelDemandFormDTO.java index 09d920f55c..3240a74515 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StaffCancelFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/CancelDemandFormDTO.java @@ -4,8 +4,11 @@ import lombok.Data; import javax.validation.constraints.NotBlank; +/** + * 取消需求入参dto + */ @Data -public class StaffCancelFormDTO { +public class CancelDemandFormDTO { public interface AddUserInternalGroup {} @NotBlank(message = "需求id不能为空",groups = AddUserInternalGroup.class) private String demandRecId; @@ -14,4 +17,12 @@ public class StaffCancelFormDTO { private String userId; @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) private String customerId; + + /** + * staff:pc工作人员取消 + * resi:居民端用户主动需求 + * 代码里写死的UserDemandConstant.RESI/STAFF + */ + private String userType; } + diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/EvaluateDemandFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/EvaluateDemandFormDTO.java new file mode 100644 index 0000000000..1a0a5d28f2 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/EvaluateDemandFormDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dto.form.demand; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 居民端-需求-服务评价入参 + */ +@Data +public class EvaluateDemandFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + public interface ShowGroup extends CustomerClientShowGroup { + } + + + @NotBlank(message = "需求id不能为空", groups = AddUserInternalGroup.class) + private String demandRecId; + + @NotBlank(message = "服务id不能为空", groups = AddUserInternalGroup.class) + private String serviceId; + + @NotBlank(message = "完成结果不能为空", groups = ShowGroup.class) + private String finishResult; + + @Length(max = 1000,message = "最多输入1000字",groups = {ShowGroup.class}) + private String finishDesc; + + @NotNull(message = "得分不能为空", groups = ShowGroup.class) + private BigDecimal score; + + + + @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) + private String userId; + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/FinishResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/FinishResultDTO.java index 96d03b9c2d..db0bff7f8d 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/FinishResultDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/FinishResultDTO.java @@ -10,6 +10,8 @@ import java.io.Serializable; */ @Data public class FinishResultDTO implements Serializable { - private Boolean sendCalStatisfaction; - private String partyUnitId; + private String serverId; + private String serviceType; + private Boolean grantPoint; + private Integer awardPoint; } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java index 269cc17225..31c250bc83 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java @@ -19,6 +19,7 @@ package com.epmet.controller; import com.epmet.commons.rocketmq.messages.CalPartyUnitSatisfactionFormDTO; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; @@ -29,10 +30,6 @@ import com.epmet.constant.UserDemandConstant; import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.form.demand.*; import com.epmet.dto.result.demand.*; -import com.epmet.dto.result.demand.DemandRecResultDTO; -import com.epmet.dto.result.demand.FinishResultDTO; -import com.epmet.dto.result.demand.IcResiUserReportDemandRes; -import com.epmet.dto.result.demand.OptionDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; @@ -150,10 +147,11 @@ public class IcUserDemandRecController { * @return */ @PostMapping("cancel") - public Result cancel(@LoginUser TokenDto tokenDto,@RequestBody StaffCancelFormDTO formDTO){ + public Result cancel(@LoginUser TokenDto tokenDto,@RequestBody CancelDemandFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(formDTO,StaffCancelFormDTO.AddUserInternalGroup.class); + formDTO.setUserType(UserDemandConstant.STAFF); + ValidatorUtils.validateEntity(formDTO,CancelDemandFormDTO.AddUserInternalGroup.class); icUserDemandRecService.cancel(formDTO); return new Result(); } @@ -191,14 +189,18 @@ public class IcUserDemandRecController { formDTO.setUserType(UserDemandConstant.STAFF); ValidatorUtils.validateEntity(formDTO,FinishStaffFromDTO.IcShowGroup.class,FinishStaffFromDTO.AddUserInternalGroup.class); FinishResultDTO finishResultDTO=icUserDemandRecService.finish(formDTO); - if(finishResultDTO.getSendCalStatisfaction()){ + //如果服务方是区域化党建单位,需要实时去计算他的群众满意度=服务过的需求的评价分数相加➗ 需求的总个数。 + if(UserDemandConstant.PARTY_UNIT.equals(finishResultDTO.getServiceType())){ CalPartyUnitSatisfactionFormDTO mqMsg = new CalPartyUnitSatisfactionFormDTO(); mqMsg.setCustomerId(formDTO.getCustomerId()); - mqMsg.setPartyUnitId(finishResultDTO.getPartyUnitId()); + mqMsg.setPartyUnitId(finishResultDTO.getServerId()); SystemMsgFormDTO form = new SystemMsgFormDTO(); form.setMessageType(SystemMessageType.CAL_PARTY_UNIT_SATISFACTION); form.setContent(mqMsg); epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); + } else if (UserDemandConstant.VOLUNTEER.equals(finishResultDTO.getServiceType()) && finishResultDTO.getAwardPoint() > NumConstant.ZERO) { + // todo + // 志愿者发放积分 } return new Result(); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiDemandController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiDemandController.java index 679f8beee0..1e5dc8d033 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiDemandController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiDemandController.java @@ -1,19 +1,22 @@ package com.epmet.controller; +import com.epmet.commons.rocketmq.messages.CalPartyUnitSatisfactionFormDTO; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.constant.SystemMessageType; import com.epmet.constant.UserDemandConstant; -import com.epmet.dto.form.demand.DemandDetailFormDTO; -import com.epmet.dto.form.demand.FinishStaffFromDTO; -import com.epmet.dto.form.demand.ListHallFormDTO; -import com.epmet.dto.form.demand.TakeOrderFormDTO; +import com.epmet.dto.form.SystemMsgFormDTO; +import com.epmet.dto.form.demand.*; import com.epmet.dto.result.demand.DemandDetailResDTO; import com.epmet.dto.result.demand.DemandHallResultDTO; +import com.epmet.dto.result.demand.FinishResultDTO; import com.epmet.dto.result.demand.TakeOrderResultDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.service.IcUserDemandRecService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -37,18 +40,21 @@ import java.util.List; public class ResiDemandController { @Autowired private IcUserDemandRecService icUserDemandRecService; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; /** * 居民端-需求大厅(未处理、处理中、已完成) + * * @param tokenDto * @param formDTO * @return */ @PostMapping("list-hall") - public Result> listHall(@LoginUser TokenDto tokenDto, @RequestBody ListHallFormDTO formDTO){ + public Result> listHall(@LoginUser TokenDto tokenDto, @RequestBody ListHallFormDTO formDTO) { formDTO.setCurrentUserId(tokenDto.getUserId()); formDTO.setCustomerId(tokenDto.getCustomerId()); - ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class,ListHallFormDTO.AddUserInternalGroup.class); + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class, ListHallFormDTO.AddUserInternalGroup.class); return new Result>().ok(icUserDemandRecService.listHall(formDTO)); } @@ -60,38 +66,91 @@ public class ResiDemandController { * @return */ @PostMapping("detail-hall") - public Result queryDetailHall(@LoginUser TokenDto tokenDto, @RequestBody DemandDetailFormDTO formDTO){ + public Result queryDetailHall(@LoginUser TokenDto tokenDto, @RequestBody DemandDetailFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); - ValidatorUtils.validateEntity(formDTO,DemandDetailFormDTO.AddUserInternalGroup.class); + ValidatorUtils.validateEntity(formDTO, DemandDetailFormDTO.AddUserInternalGroup.class); return new Result().ok(icUserDemandRecService.queryDetailHall(formDTO)); } /** * 需求大厅-我要接单 + * * @param tokenDto * @return */ @PostMapping("takeorder") - public Result takeOrder(@LoginUser TokenDto tokenDto, @RequestBody TakeOrderFormDTO formDTO){ + public Result takeOrder(@LoginUser TokenDto tokenDto, @RequestBody TakeOrderFormDTO formDTO) { formDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(formDTO,TakeOrderFormDTO.AddUserInternalGroup.class); + ValidatorUtils.validateEntity(formDTO, TakeOrderFormDTO.AddUserInternalGroup.class); return new Result().ok(icUserDemandRecService.takeOrder(formDTO)); } /** * 需求大厅-完成需求 + * * @param tokenDto * @param formDTO * @return */ @PostMapping("finish") - public Result finish(@LoginUser TokenDto tokenDto, @RequestBody FinishStaffFromDTO formDTO){ + public Result finish(@LoginUser TokenDto tokenDto, @RequestBody FinishStaffFromDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); formDTO.setType(UserDemandConstant.FINISHED); formDTO.setUserType(UserDemandConstant.RESI); - ValidatorUtils.validateEntity(formDTO,FinishStaffFromDTO.ResiShowGroup.class,FinishStaffFromDTO.AddUserInternalGroup.class); + ValidatorUtils.validateEntity(formDTO, FinishStaffFromDTO.ResiShowGroup.class, FinishStaffFromDTO.AddUserInternalGroup.class); icUserDemandRecService.finish(formDTO); return new Result(); } + + /** + * 我的需求-服务评价 + * 已经完成的可以评价 + * + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("evaluate") + public Result evaluate(@LoginUser TokenDto tokenDto, @RequestBody EvaluateDemandFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO, EvaluateDemandFormDTO.ShowGroup.class, EvaluateDemandFormDTO.AddUserInternalGroup.class); + FinishResultDTO finishResultDTO = icUserDemandRecService.evaluate(formDTO); + //如果服务方是区域化党建单位,需要实时去计算他的群众满意度=服务过的需求的评价分数相加➗ 需求的总个数。 + if (UserDemandConstant.PARTY_UNIT.equals(finishResultDTO.getServiceType())) { + CalPartyUnitSatisfactionFormDTO mqMsg = new CalPartyUnitSatisfactionFormDTO(); + mqMsg.setCustomerId(formDTO.getCustomerId()); + mqMsg.setPartyUnitId(finishResultDTO.getServerId()); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(SystemMessageType.CAL_PARTY_UNIT_SATISFACTION); + form.setContent(mqMsg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); + } else if (UserDemandConstant.VOLUNTEER.equals(finishResultDTO.getServiceType()) && finishResultDTO.getAwardPoint() > NumConstant.ZERO) { + // todo + // 志愿者发放积分 + } + return new Result(); + } + + /** + * 我的需求-取消需求 + * 取消,未完成之前都可以取消,pc和居民端小程序内部通用 + * + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("cancel") + public Result cancel(@LoginUser TokenDto tokenDto,@RequestBody CancelDemandFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setUserType(UserDemandConstant.RESI); + ValidatorUtils.validateEntity(formDTO,CancelDemandFormDTO.AddUserInternalGroup.class); + icUserDemandRecService.cancel(formDTO); + return new Result(); + } + + + } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java index fe6d71e963..ffdf84580a 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java @@ -106,11 +106,11 @@ public interface IcUserDemandRecService extends BaseService pageList(UserDemandPageFormDTO formDTO); /** - * 未完成之前都可以取消 + * 未完成之前都可以取消,pc和居民端小程序内部通用 * * @param formDTO */ - void cancel(StaffCancelFormDTO formDTO); + void cancel(CancelDemandFormDTO formDTO); /** * 指派 @@ -196,4 +196,12 @@ public interface IcUserDemandRecService extends BaseService Date: Thu, 23 Dec 2021 09:12:04 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=9B=B4=E6=8A=A5?= =?UTF-8?q?=E8=BF=94=E5=8F=82=E9=99=84=E4=BB=B6=E7=B1=BB=E5=9E=8B=E5=88=86?= =?UTF-8?q?=E4=B8=BA=E5=9B=BE=E7=89=87=E5=92=8C=E8=AF=AD=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/NewEventsResultDTO.java | 22 +++++++++++++++ .../dto/result/UserMentionResultDTO.java | 24 ++++++++++++++++ .../service/impl/ResiEventServiceImpl.java | 28 +++++++++++++++++++ .../main/resources/mapper/ResiEventDao.xml | 15 ++++++---- .../resources/mapper/ResiEventMentionDao.xml | 13 ++++++--- 5 files changed, 93 insertions(+), 9 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java index 8035108f6a..580d9da12d 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -31,4 +32,25 @@ public class NewEventsResultDTO implements Serializable { private List eventImgs; private String eventId; + /** + * 语音附件url集合 + */ + private List voiceList; + /** + * 事件附件 + */ + @JsonIgnore + private List attachmentList; + + @Data + public static class Attachment { + /** + * url + */ + private String url; + /** + * 附件类型 + */ + private String type; + } } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java index 48bb9583ba..4be78b5d64 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto.result; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -58,4 +59,27 @@ public class UserMentionResultDTO implements Serializable { */ private String replyButtonFlag; + /** + * 语音附件url集合 + */ + private List voiceList; + + /** + * 事件附件 + */ + @JsonIgnore + private List attachmentList; + + @Data + public static class Attachment { + /** + * url + */ + private String url; + /** + * 附件类型 + */ + private String type; + } + } 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 ac25d91e9d..626b058f2d 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 @@ -627,6 +627,19 @@ public class ResiEventServiceImpl extends BaseServiceImpl resiEventMentionDao.selectMentionList(formDTO.getUserId(), formDTO.getReadFlag())); result.getList().forEach(dto->{ + //附件按类型分组【图片、语音】 + List imgList = new ArrayList<>(); + List voiceList = new ArrayList<>(); + dto.getAttachmentList().forEach(file -> { + if ("image".equals(file.getType())) { + imgList.add(file.getUrl()); + } else if ("voice".equals(file.getType())) { + voiceList.add(file.getUrl()); + } + }); + dto.setImgList(imgList); + dto.setVoiceList(voiceList); + if(dto.getShiftProject()||dto.getStatus().equals(EventConstant.EVENT_STATUS_CLOSED_CASE)){ // 立项和办结了不能回复哈。 dto.setReplyButtonFlag("false"); @@ -652,6 +665,21 @@ public class ResiEventServiceImpl extends BaseServiceImpl orgIds = listResult.getData(); if (!CollectionUtils.isEmpty(orgIds)){ List result = baseDao.newEvents(orgIds); + //附件按类型分组【图片、语音】 + result.forEach(re->{ + List eventImgs = new ArrayList<>(); + List voiceList = new ArrayList<>(); + re.getAttachmentList().forEach(file->{ + if ("image".equals(file.getType())) { + eventImgs.add(file.getUrl()); + } else if ("voice".equals(file.getType())) { + voiceList.add(file.getUrl()); + } + }); + re.setEventImgs(eventImgs); + re.setVoiceList(voiceList); + }); + return result; } return new ArrayList<>(); diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml index 94a3efcbce..72a83c1e6a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml @@ -31,7 +31,7 @@ (CASE WHEN re.SHIFT_PROJECT = 1 THEN TRUE ELSE FALSE END) AS isProject, (CASE WHEN ro.RED_DOT = 1 THEN TRUE ELSE FALSE END) AS redDot FROM resi_event_report_org ro - INNER JOIN resi_event re ON (ro.RESI_EVENT_ID = re.ID AND re.DEL_FLAG = '0') + INNER JOIN resi_event re ON (ro.RESI_EVENT_ID = re.ID AND re.DEL_FLAG = '0' AND re.audit_status = 'auto_passed') AND ro.DEL_FLAG = '0' and ro.ORG_ID = #{orgId} @@ -185,18 +185,23 @@ - - + + + + @@ -29,11 +33,12 @@ re.`STATUS`, re.SHIFT_PROJECT, re.LATEST_OPERATED_TIME, - rea.ATTACHMENT_URL as img_url + rea.attachment_url AS url, + rea.attachment_type AS type FROM resi_event_mention rem LEFT JOIN resi_event re - ON ( rem.RESI_EVENT_ID = re.id ) + ON ( rem.RESI_EVENT_ID = re.id AND re.audit_status = 'auto_passed') LEFT JOIN resi_event_attachment rea ON ( re.id = rea.RESI_EVENT_ID AND rea.DEL_FLAG = '0' From 01a7f9332aad9ab69d4d57ab2fd6c45423cc368f Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 23 Dec 2021 09:43:01 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=85=9A=E7=BE=A4=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/IcPartyServiceCenterDao.xml | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPartyServiceCenterDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPartyServiceCenterDao.xml index 0231e92015..275a3be71b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPartyServiceCenterDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPartyServiceCenterDao.xml @@ -14,17 +14,25 @@ - - - - - - - - - - + +