diff --git a/epmet-module/gov-grid/gov-grid-client/pom.xml b/epmet-module/gov-grid/gov-grid-client/pom.xml index 1628c20535..297cb07121 100644 --- a/epmet-module/gov-grid/gov-grid-client/pom.xml +++ b/epmet-module/gov-grid/gov-grid-client/pom.xml @@ -10,6 +10,16 @@ 4.0.0 gov-grid-client + + + javax.validation + validation-api + + + org.projectlombok + lombok + + \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiWarmheartedController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiWarmheartedController.java index c24465833b..47181d2db8 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiWarmheartedController.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiWarmheartedController.java @@ -1,7 +1,11 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.service.ResiWarmheartedService; import org.springframework.beans.factory.annotation.Autowired; @@ -36,4 +40,49 @@ public class ResiWarmheartedController { return resiWarmheartedService.audited(formDTO); } + /** + * @param + * @Author sun + * @Description 政府端-获取待审核的热心居民申请列表 + **/ + @PostMapping("auditing") + public Result> auditing(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedService.auditing(formDTO); + } + + /** + * @param + * @Author sun + * @Description 政府端-热心居民申请-审核通过 + **/ + @PostMapping("approve") + public Result approve(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditApproveFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedService.approve(formDTO); + } + + /** + * @param + * @Author sun + * @Description 政府端-热心居民申请-审核驳回 + **/ + @PostMapping("reject") + public Result reject(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditRejectFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedService.reject(formDTO); + } + + /** + * @param + * @Author sun + * @Description 政府端-热心居民申请详情信息 + **/ + @PostMapping("getdetail") + public Result getDetail(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmGetDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedService.getDetail(formDTO); + } + + } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java index 5c28f91c12..eeb8fedf84 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java @@ -3,7 +3,8 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.feign.fallback.ResiPartymemberFeignClientFallBack; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -26,5 +27,40 @@ public interface ResiPartymemberFeignClient { @PostMapping(value = "resi/partymember/resiwarmheartedapply/audited") Result> audited(@RequestBody ResiWarmheartedAuditedFromDTO formDTO); + /** + * 政府端-获取待审核的热心居民申请列表 + * @param + * @return void + * @author sun + */ + @PostMapping(value = "resi/partymember/resiwarmheartedapply/auditing") + Result> auditing(@RequestBody ResiWarmAuditFormDTO formDTO); + + /** + * 政府端-热心居民申请-审核通过 + * @param + * @return void + * @author sun + */ + @PostMapping(value = "resi/partymember/resiwarmheartedapply/approve") + Result approve(@RequestBody ResiWarmAuditApproveFormDTO formDTO); + + /** + * 政府端-热心居民申请-审核驳回 + * @param + * @return void + * @author sun + */ + @PostMapping(value = "resi/partymember/resiwarmheartedapply/reject") + Result reject(@RequestBody ResiWarmAuditRejectFormDTO formDTO); + + /** + * 政府端-获取待审核的热心居民申请列表 + * @param + * @return void + * @author sun + */ + @PostMapping(value = "resi/partymember/resiwarmheartedapply/getdetail") + Result getDetail(@RequestBody ResiWarmGetDetailFormDTO formDTO); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java index b656788cfb..7d6fea0e70 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java @@ -4,7 +4,8 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.feign.ResiPartymemberFeignClient; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import org.springframework.stereotype.Component; @@ -21,4 +22,25 @@ public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignC public Result> audited(ResiWarmheartedAuditedFromDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "audited", formDTO); } + + @Override + public Result> auditing(ResiWarmAuditFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "auditing", formDTO); + } + + @Override + public Result approve(ResiWarmAuditApproveFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "approve", formDTO); + } + + @Override + public Result reject(ResiWarmAuditRejectFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "reject", formDTO); + } + + @Override + public Result getDetail(ResiWarmGetDetailFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "getDetail", formDTO); + } + } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiWarmheartedService.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiWarmheartedService.java index 9c7474341d..05c905b87d 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiWarmheartedService.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiWarmheartedService.java @@ -1,7 +1,8 @@ package com.epmet.service; import com.epmet.commons.tools.utils.Result; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import org.springframework.stereotype.Service; @@ -21,4 +22,40 @@ public interface ResiWarmheartedService { * @return ResiWarmheartedAuditedResultDTO */ Result> audited(ResiWarmheartedAuditedFromDTO formDTO); + + /** + * 政府端-获取待审核的热心居民申请列表 + * + * @param + * @return void + * @author sun + */ + Result> auditing(ResiWarmAuditFormDTO formDTO); + + /** + * 政府端-热心居民申请-审核通过 + * + * @param + * @return void + * @author sun + */ + Result approve(ResiWarmAuditApproveFormDTO formDTO); + + /** + * 政府端-热心居民申请-审核驳回 + * + * @param + * @return void + * @author sun + */ + Result reject(ResiWarmAuditRejectFormDTO formDTO); + + /** + * 政府端-热心居民申请详情信息 + * + * @param + * @return void + * @author sun + */ + Result getDetail(ResiWarmGetDetailFormDTO formDTO); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiWarmheartedServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiWarmheartedServiceImpl.java index 1ae0f99261..52a9c7b556 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiWarmheartedServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiWarmheartedServiceImpl.java @@ -2,7 +2,8 @@ package com.epmet.service.impl; import com.epmet.commons.tools.utils.Result; import com.epmet.feign.ResiPartymemberFeignClient; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.service.ResiWarmheartedService; import org.springframework.beans.factory.annotation.Autowired; @@ -25,4 +26,53 @@ public class ResiWarmheartedServiceImpl implements ResiWarmheartedService { public Result> audited(ResiWarmheartedAuditedFromDTO formDTO) { return resiPartymemberFeignClient.audited(formDTO); } + + /** + * 政府端-获取待审核的热心居民申请列表 + * + * @param + * @return void + * @author sun + */ + @Override + public Result> auditing(ResiWarmAuditFormDTO formDTO) { + return resiPartymemberFeignClient.auditing(formDTO); + } + + /** + * 政府端-热心居民申请-审核通过 + * + * @param + * @return void + * @author sun + */ + @Override + public Result approve(ResiWarmAuditApproveFormDTO formDTO) { + return resiPartymemberFeignClient.approve(formDTO); + } + + /** + * 政府端-热心居民申请-审核驳回 + * + * @param + * @return void + * @author sun + */ + @Override + public Result reject(ResiWarmAuditRejectFormDTO formDTO) { + return resiPartymemberFeignClient.reject(formDTO); + } + + /** + * 政府端-热心居民申请详情信息 + * + * @param + * @return void + * @author sun + */ + @Override + public Result getDetail(ResiWarmGetDetailFormDTO formDTO) { + return resiPartymemberFeignClient.getDetail(formDTO); + } + } diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java index 03283c179a..943a096740 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java @@ -43,6 +43,7 @@ public class ResiWarmheartedController { **/ @PostMapping("submit") public Result submit(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmheartedSubmitFormDTO formDTO) { + formDTO.setApp(tokenDTO.getApp()); ValidatorUtils.validateEntity(formDTO); return resiWarmheartedService.submit(tokenDTO, formDTO); } diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditApproveFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditApproveFormDTO.java new file mode 100644 index 0000000000..058627678a --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditApproveFormDTO.java @@ -0,0 +1,51 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.partymember.dto.warmhearted.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 政府端-人工审核热心居民申请-审核通过-入参配置 + * @author sun + */ +@Data +public class ResiWarmAuditApproveFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 热心居民申请id + */ + @NotBlank(message = "申请ID不能为空") + private String applyId; + + /** + * 用户Id + */ + private String userId; + + /** + * 所属端 app + */ + private String app; + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditFormDTO.java new file mode 100644 index 0000000000..844fdee598 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditFormDTO.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.partymember.dto.warmhearted.form; + + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 政府端-获取待审核的热心居民申请列表-入参配置 + * + * @author sun + */ +@Data +public class ResiWarmAuditFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户当前所在网格所属客户id + */ + @NotBlank(message = "客户id不能为空") + private String customerId; + + /** + * 用户当前所在网格id + */ + @NotBlank(message = "网格id不能为空") + private String gridId; + + /** + * 页码 + */ + @Min(1) + private Integer pageNo; + + /** + * 每页显示条数 + */ + private Integer pageSize = 10; + + /** + * 审核状态 【key:audit_status,value:(under_auditting:待审核,approved:通过,rejected :未通过)】 + */ + private String auditStatus; + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditRejectFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditRejectFormDTO.java new file mode 100644 index 0000000000..6f19739bcc --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmAuditRejectFormDTO.java @@ -0,0 +1,57 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.partymember.dto.warmhearted.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 政府端-人工审核热心居民申请-审核驳回-入参配置 + * @author sun + */ +@Data +public class ResiWarmAuditRejectFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 热心居民申请id + */ + @NotBlank(message = "申请ID不能为空") + private String applyId; + + /** + * 驳回理由 + */ + @NotBlank(message = "驳回理由不能为空") + private String refuseReason; + + /** + * 用户Id + */ + private String userId; + + /** + * 所属端 app + */ + private String app; + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmGetDetailFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmGetDetailFormDTO.java new file mode 100644 index 0000000000..97bb2b4f44 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmGetDetailFormDTO.java @@ -0,0 +1,42 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.partymember.dto.warmhearted.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 政府端-热心居民申请详情信息-入参配置 + * + * @author sun + */ +@Data +public class ResiWarmGetDetailFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 热心居民申请id + */ + @NotBlank(message = "申请ID不能为空") + private String applyId; + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedSubmitFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedSubmitFormDTO.java index 38adf78eae..15dc390b39 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedSubmitFormDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedSubmitFormDTO.java @@ -61,4 +61,9 @@ public class ResiWarmheartedSubmitFormDTO implements Serializable { */ private String userId; + /** + * 所属端 app + */ + private String app; + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiWarmAuditResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiWarmAuditResultDTO.java new file mode 100644 index 0000000000..ed9b877be7 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiWarmAuditResultDTO.java @@ -0,0 +1,103 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.partymember.dto.warmhearted.result; + + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 政府端-获取待审核的热心居民申请列表-返参配置 + * + * @author sun + */ +@Data +public class ResiWarmAuditResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 申请单Id + */ + private String applyId; + + /** + * 客户Id (customer.id) + */ + private String customerId; + + /** + * 网格Id (customer_grid.id) + */ + private String gridId; + + /** + * 申请用户id + */ + private String userId; + + /** + * 热心居民申请理由 (300字) + */ + private String reason; + + /** + * 审核状态 【key:audit_status,value:(under_auditting:待审核,approved:通过,rejected :未通过)】 + */ + private String auditStatus; + + /** + * 拒绝理由 + */ + private String refuseReason; + + /** + * 申请用户头像 + */ + private String userHeadPhoto; + + /** + * 申请用户的显示昵称 + */ + private String userNickName; + + /** + * 阅读标记 未读unread 界面显示红点,已读read不显示红点 + */ + private String readFlag; + + /** + * 消息通知内容 + */ + private String messageText; + + /** + * 热心居民申请行为记录表Id (resi_warmhearted_visit.id) + */ + private String resiWarmVisitId; + + /** + * 申请时间 + */ + private Date applyTime; + + + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index 2efab5acff..54f4aefc46 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -81,6 +81,24 @@ RELEASE compile + + com.epmet + epmet-message-client + 2.0.0 + compile + + + com.epmet + epmet-message-client + 2.0.0 + compile + + + com.epmet + gov-org-client + 2.0.0 + compile + @@ -118,7 +136,7 @@ - + epmet elink@833066 diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java index b39f6bbea2..50b8cf9bb5 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java @@ -2,10 +2,13 @@ package com.epmet.modules.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.modules.feign.fallback.EpmetMessageFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; /** * @author kamui @@ -21,4 +24,13 @@ public interface EpmetMessageFeignClient { @GetMapping(value = "message/sms/captcha/{mobile}") Result sendSmsCaptcha(@PathVariable String mobile); + /** + * @param formDto + * @return com.epmet.commons.tools.utils.Result + * @Author sun + * @Description 新增未读消息 + **/ + @PostMapping(value = "message/usermessage/saveusermessage", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result saveUserMessage(UserMessageFormDTO formDto); + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java new file mode 100644 index 0000000000..620bd1feaf --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java @@ -0,0 +1,35 @@ +package com.epmet.modules.feign; + + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.form.ListCustomerGridFormDTO; +import com.epmet.modules.feign.fallback.GovOrgFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + + +/** + * @Description Feign调用gov-org-server模块 + * @ClassName GovOrgFeginFallBack + * @Author sun + */ +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) +public interface GovOrgFeignClient { + + /** + * 根据网格Id查询网格信息 + * @param customerGridFormDTO + * @return + */ + @PostMapping("/gov/org/customergrid/getcustomergridbygridid") + Result getCustomerGridByGridId(@RequestBody CustomerGridFormDTO customerGridFormDTO); + + + + + +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java index e87f27e4d3..f588f55781 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java @@ -3,6 +3,7 @@ package com.epmet.modules.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.modules.feign.EpmetMessageFeignClient; import org.springframework.stereotype.Component; @@ -18,4 +19,9 @@ public class EpmetMessageFeignClientFallback implements EpmetMessageFeignClient return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "sendSmsCaptcha", mobile); } + @Override + public Result saveUserMessage(UserMessageFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "saveUserMessage", formDto); + } + } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java new file mode 100644 index 0000000000..f1f0195374 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java @@ -0,0 +1,28 @@ +package com.epmet.modules.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.modules.feign.GovOrgFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Description Feign + * @ClassName GovOrgFeginFallBack + * @Author sun + */ +@Component +public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + + /** + * 根据网格Id查询网格信息 + * @param customerGridFormDTO + * @return + */ + @Override + public Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCustomerGridByGridId",customerGridFormDTO); + } +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java new file mode 100644 index 0000000000..dbb6990310 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmUserMessageConstant.java @@ -0,0 +1,29 @@ +package com.epmet.modules.warmhearted.constant; + +/** + * @Description 热心居民模块消息通知 + * @Author sun + */ +public interface ResiWarmUserMessageConstant { + + /** + * 消息标题 + */ + String GROUP_TITLE = "您有一条小组消息"; + + /** + * 热心居民提交申请时给网格长发送消息:XX街道-XX先生/女士申请成为热心居民,请审核。 + */ + String RESIWARM_APPLY_MSG = "%s申请成为热心居民,请审核。"; + + /** + * 热心居民申请审核通过给申请人发送消息:您好,您申请的第三网格热心居民已审核通过,请查看。 + */ + String AUDIT_APPROVE_MSG = "您好,您申请的%s热心居民已审核通过,请查看。"; + + /** + * 热心居民申请审核驳回给申请人发送消息:您好,您申请的第三网格热心居民,由于不符合条件的原因,已被驳回。 + */ + String AUDIT_REJECT_MSG = "您好,您申请的%s热心居民,由于不符合条件的原因,已被驳回。"; + +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java index c2bdf566af..c22b701ee5 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java @@ -46,6 +46,16 @@ public interface ResiWarmheartedVisitConstant { */ String REJECTED = "rejected"; + /** + * 未读 + */ + String UN_READ="unread"; + + /** + * 已读 + */ + String READ="read"; + String RESI_WARM_INIT = "您的信息已提交成功,请等待后台审核。"; String RESI_WARM_SUBMIT = "热心居民信息已提交成功,请等待后台审核。"; @@ -59,4 +69,8 @@ public interface ResiWarmheartedVisitConstant { * 数据库操作异常 */ String REPEAT_EXCEPTION = "已存在待审核的申请,不能重复申请"; + + String UPDATE_EXCEPTION = "热心居民申请数据更新失败,热心居民角色添加失败"; + + String SELECT_EXCEPTION = "根据申请Id未查询到热心居民申请详情信息"; } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java index bfa5504390..cd81f768d6 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java @@ -17,7 +17,9 @@ package com.epmet.modules.warmhearted.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -28,10 +30,8 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.warmhearted.excel.ResiWarmheartedApplyExcel; import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditFormDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import org.springframework.beans.factory.annotation.Autowired; @@ -123,4 +123,48 @@ public class ResiWarmheartedApplyController { return resiWarmheartedApplyService.audited(formDTO); } + /** + * @param + * @Author sun + * @Description 政府端-获取待审核的热心居民申请列表 + **/ + @PostMapping("auditing") + public Result> auditing(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedApplyService.auditing(formDTO); + } + + /** + * @param + * @Author sun + * @Description 政府端-热心居民申请-审核通过 + **/ + @PostMapping("approve") + public Result approve(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditApproveFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedApplyService.approve(formDTO); + } + + /** + * @param + * @Author sun + * @Description 政府端-热心居民申请-审核驳回 + **/ + @PostMapping("reject") + public Result reject(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditRejectFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedApplyService.reject(formDTO); + } + + /** + * @param + * @Author sun + * @Description 政府端-热心居民申请详情信息 + **/ + @PostMapping("getdetail") + public Result getDetail(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmGetDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiWarmheartedApplyService.getDetail(formDTO); + } + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java index a8378b6f4f..5467173db1 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java @@ -20,8 +20,10 @@ package com.epmet.modules.warmhearted.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmAuditFormDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -44,4 +46,10 @@ public interface ResiWarmheartedApplyDao extends BaseDao selectAuditedApplyList(ResiWarmheartedAuditedFromDTO params); + /** + * 查询待审核状态的热心居民申请 + * @param formDTO + * @return + */ + List selectResiWarmAuditList(ResiWarmAuditFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java index 6ff41edb09..94f05bf528 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java @@ -22,10 +22,8 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditFormDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; @@ -133,4 +131,40 @@ public interface ResiWarmheartedApplyService extends BaseService> audited(ResiWarmheartedAuditedFromDTO formDTO); + + /** + * 政府端-获取待审核的热心居民申请列表 + * + * @param + * @return void + * @author sun + */ + Result> auditing(ResiWarmAuditFormDTO formDTO); + + /** + * 政府端-热心居民申请-审核通过 + * + * @param + * @return void + * @author sun + */ + Result approve(ResiWarmAuditApproveFormDTO formDTO); + + /** + * 政府端-热心居民申请-审核驳回 + * + * @param + * @return void + * @author sun + */ + Result reject(ResiWarmAuditRejectFormDTO formDTO); + + /** + * 政府端-热心居民申请详情信息 + * + * @param + * @return void + * @author sun + */ + Result getDetail(ResiWarmGetDetailFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java index d605c690af..e99414f98d 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java @@ -30,11 +30,18 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.PartyMemberConstant; +import com.epmet.constant.ReadFlagConstant; +import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.UserRoleDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.feign.GovOrgFeignClient; +import com.epmet.modules.warmhearted.constant.ResiWarmUserMessageConstant; import com.epmet.modules.warmhearted.constant.ResiWarmheartedVisitConstant; import com.epmet.modules.warmhearted.dao.ResiWarmheartedApplyDao; import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; @@ -42,10 +49,8 @@ import com.epmet.modules.warmhearted.redis.ResiWarmheartedApplyRedis; import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService; import com.epmet.modules.warmhearted.service.ResiWarmheartedVisitService; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditFormDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedAuditedFromDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; -import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import org.apache.commons.lang3.StringUtils; @@ -79,6 +84,10 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl page(Map params) { @@ -279,4 +288,171 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl> auditing(ResiWarmAuditFormDTO formDTO) { + Result> result = new Result<>(); + List applyList = new ArrayList<>(); + //1:查询待审核状态的热心居民申请 + formDTO.setAuditStatus(PartyMemberConstant.UNDER_AUDITTING); + applyList = baseDao.selectResiWarmAuditList(formDTO); + if (null == applyList || applyList.size() < NumConstant.ONE) { + return result.ok(applyList); + } + //2:调用epmet-user服务 获取用户头像 昵称 + //遍历获取所有的userId + List userIds = applyList.stream().map(ResiWarmAuditResultDTO::getUserId).collect(Collectors.toList()); + //获取所有用户的头像 昵称 + UserResiInfoListFormDTO userResiInfoListFormDTO = new UserResiInfoListFormDTO(); + userResiInfoListFormDTO.setUserIdList(userIds); + List userResiInfoList = epmetUserFeignClient.getUserResiInfoList(userResiInfoListFormDTO).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + return result.ok(applyList); + } + //3:将每个用户的头像 昵称放到对应实体中返回给前台 + List resultList = applyList.stream().flatMap(apply -> userResiInfoList.stream().filter(user -> + apply.getUserId().equals(user.getUserId())).map(userInfo -> { + ResiWarmAuditResultDTO resultDTO = ConvertUtils.sourceToTarget(apply, ResiWarmAuditResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + + return result.ok(resultList); + } + + /** + * 政府端-热心居民申请-审核通过 + * + * @param + * @return void + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Result approve(ResiWarmAuditApproveFormDTO formDTO) { + Result result = new Result(); + //1:更新热心居民申请表数据 + ResiWarmheartedApplyEntity entity = new ResiWarmheartedApplyEntity(); + entity.setId(formDTO.getApplyId()); + //审核状态-通过 + entity.setAuditStatus(PartyMemberConstant.APPROVED); + int num = baseDao.updateById(entity); + //2:审核通过的添加热心居民的角色 + if (num < NumConstant.ONE) { + result.error(ResiWarmheartedVisitConstant.UPDATE_EXCEPTION); + return result; + } + //查询需要添加热心居民角色的userId + ResiWarmheartedApplyEntity resiWarmheartedApplyEntity = baseDao.selectById(formDTO.getApplyId()); + UserRoleDTO dto = new UserRoleDTO(); + dto.setCustomerId(resiWarmheartedApplyEntity.getCustomerId()); + dto.setUserId(resiWarmheartedApplyEntity.getUserId()); + //所属端-居民端 + dto.setApp(AppClientConstant.APP_RESI); + //角色-热心居民 + dto.setRoleKey(EpmetRoleKeyConstant.WARMHEARTED); + //角色表新增网格Id + dto.setGridId(resiWarmheartedApplyEntity.getGridId()); + result = epmetUserFeignClient.saveUserRole(dto); + //3:为申请人发送审核通过消息提示 + auditMessage(resiWarmheartedApplyEntity, ResiWarmUserMessageConstant.AUDIT_APPROVE_MSG); + return result; + } + /** + * 热心居民申请审核通过向申请人发送消息 + * @Author sun + * @param formDTO + * @param userMsg 消息模板 + */ + private void auditMessage(ResiWarmheartedApplyEntity formDTO, String userMsg) { + UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); + userMessageFormDTO.setCustomerId(formDTO.getCustomerId()); + userMessageFormDTO.setGridId(formDTO.getGridId()); + userMessageFormDTO.setUserId(formDTO.getUserId()); + userMessageFormDTO.setApp(AppClientConstant.APP_RESI); + userMessageFormDTO.setTitle(ResiWarmUserMessageConstant.GROUP_TITLE); + //调用gov-org服务查询网格信息 + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(formDTO.getGridId()); + Result result = govOrgFeignClient.getCustomerGridByGridId(customerGridFormDTO); + String gridName = null; + if (result.success() && null != result.getData()) { + gridName = result.getData().getGridName(); + } + String messageContent = String.format(userMsg, gridName); + userMessageFormDTO.setMessageContent(messageContent); + userMessageFormDTO.setReadFlag(ReadFlagConstant.UN_READ); + //保存消息 + epmetMessageFeignClient.saveUserMessage(userMessageFormDTO); + } + /** + * 政府端-热心居民申请-审核驳回 + * + * @param + * @return void + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Result reject(ResiWarmAuditRejectFormDTO formDTO) { + Result result = new Result(); + //1:更新热心居民申请表数据 + ResiWarmheartedApplyEntity entity = new ResiWarmheartedApplyEntity(); + entity.setId(formDTO.getApplyId()); + //审核状态-未通过 + entity.setAuditStatus(PartyMemberConstant.REJECTED); + entity.setRefuseReason(formDTO.getRefuseReason()); + baseDao.updateById(entity); + //2:为申请人发送审核驳回消息提示 + //查询申请信息 + ResiWarmheartedApplyEntity resiWarmheartedApplyEntity = baseDao.selectById(formDTO.getApplyId()); + auditMessage(resiWarmheartedApplyEntity, ResiWarmUserMessageConstant.AUDIT_REJECT_MSG); + return result; + } + + /** + * 政府端-热心居民申请详情信息 + * + * @param + * @return void + * @author sun + */ + @Override + public Result getDetail(ResiWarmGetDetailFormDTO formDTO) { + Result result = new Result<>(); + //1:根据申请Id查询热心居民申请审核详情 + ResiWarmheartedApplyEntity entity = baseDao.selectById(formDTO.getApplyId()); + if (null == entity) { + result.error(ResiWarmheartedVisitConstant.SELECT_EXCEPTION); + return result; + } + //2:修改申请数据状态为已读 + if(!ResiWarmheartedVisitConstant.READ.equals(entity.getReadFlag())){ + entity.setReadFlag(ResiWarmheartedVisitConstant.READ); + baseDao.updateById(entity); + } + //3:调用epmet-user服务查询用户头像 昵称信息 + UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); + userResiInfoFormDTO.setCustomerId(entity.getCustomerId()); + userResiInfoFormDTO.setUserId(entity.getUserId()); + Result resultUserInfo = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); + if (!resultUserInfo.success() || null == resultUserInfo.getData()) { + result.error(ResiWarmheartedVisitConstant.SELECT_EXCEPTION); + return result; + } + UserResiInfoResultDTO userInfo = resultUserInfo.getData(); + ResiWarmAuditResultDTO resultDTO = ConvertUtils.sourceToTarget(entity, ResiWarmAuditResultDTO.class); + resultDTO.setApplyTime(entity.getUpdatedTime()); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return result.ok(resultDTO); + } } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml index a89bddb810..7056d086e8 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml @@ -71,5 +71,33 @@ LIMIT #{pageNo}, #{pageSize} + \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/redis/migration/db.sql b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/redis/migration/db.sql new file mode 100644 index 0000000000..a60097daac --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/redis/migration/db.sql @@ -0,0 +1,5 @@ +#epmet_resi_partymember数据库-热心居民申请表新增字段 +ALTER TABLE resi_warmhearted_apply ADD ( + READ_FLAG VARCHAR (255) DEFAULT NULL COMMENT '审核人员已读未读标识(未读:unread 界面显示红点; 已读:read 不显示红点)', + MESSAGE_TEXT VARCHAR (500) DEFAULT NULL COMMENT '消息通知内容' +); \ No newline at end of file