diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/UserEventLogoResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/UserEventLogoResultDTO.java new file mode 100644 index 0000000000..290845787b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/UserEventLogoResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 人大代表个人中心,是否显示@me + * + * @author yinzuomei@elink-cn.com + * @date 2021/8/3 15:01 + */ +@Data +public class UserEventLogoResultDTO implements Serializable { + private static final long serialVersionUID = 3232361347890014097L; + /** + * true:人大代表;false:不是人大代表;此列用来判断是否显示@我 + */ + private Boolean isNpc; + /** + * 展示红点:true;隐藏:false + */ + private Boolean redDot; + public UserEventLogoResultDTO(){ + this.isNpc=false; + this.redDot=false; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index 6c2a9d38c6..184e00a313 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -75,6 +75,12 @@ 2.0.0 compile + + com.epmet + epmet-user-client + 2.0.0 + compile + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 39a634fb76..fb08567037 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -8,15 +8,10 @@ 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.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.GridMemberStatsFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.result.OpenStaffDetailResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.PatrolRecordListResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.PersonalPatrolListResultDTO; -import com.epmet.dataaggre.dto.epmetuser.result.StaffListResultDTO; +import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; @@ -200,4 +195,17 @@ public class EpmetUserController { } + /** + * 我要报事-人大代表个人中心(尹) 是否显示@我,是否显示红点 + * + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/3 15:07 + */ + @PostMapping("mentionme") + public Result mentionMeEvent(@LoginUser TokenDto tokenDto){ + return new Result().ok(epmetUserService.mentionMeEvent(tokenDto.getUserId())); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/ResiUserBadgeDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/ResiUserBadgeDao.java index 7d8765b542..cc12c17271 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/ResiUserBadgeDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/ResiUserBadgeDao.java @@ -20,6 +20,7 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 用户徽章关系表 @@ -29,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiUserBadgeDao extends BaseDao { - + + ResiUserBadgeEntity selectUserByBadge(@Param("userId")String userId, @Param("badgeKey")String badgeKey); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java index cc3f3d9e7e..4697a0f267 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java @@ -68,4 +68,6 @@ public interface ProjectDao extends BaseDao { List selectDepartmentNameList(ProjectDTO project); List selectList(@Param("customerId") String customerId,@Param("list")List issueIds); + + int countRedDot(String userId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 10f164c6a9..e1941c1c08 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -86,4 +86,14 @@ public interface EpmetUserService { * @Author sun **/ List getStaffRoleList(String customerId, String userId); + + /** + * 我要报事-人大代表个人中心(尹) 是否显示@我,是否显示红点 + * + * @param userId + * @return com.epmet.dataaggre.dto.epmetuser.result.UserEventLogoResultDTO + * @author yinzuomei + * @date 2021/8/3 15:09 + */ + UserEventLogoResultDTO mentionMeEvent(String userId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 281f24cc6d..58ea59a3ee 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -3,11 +3,9 @@ package com.epmet.dataaggre.service.epmetuser.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.constant.BadgeConstant; import com.epmet.dataaggre.constant.DataSourceConstant; -import com.epmet.dataaggre.dao.epmetuser.CustomerStaffDao; -import com.epmet.dataaggre.dao.epmetuser.StaffPatrolRecordDao; -import com.epmet.dataaggre.dao.epmetuser.StaffRoleDao; -import com.epmet.dataaggre.dao.epmetuser.UserBaseInfoDao; +import com.epmet.dataaggre.dao.epmetuser.*; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; @@ -19,17 +17,18 @@ import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; +import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dataaggre.service.govproject.GovProjectService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.math.BigDecimal; import java.text.NumberFormat; import java.util.*; import java.util.stream.Collectors; @@ -57,6 +56,10 @@ public class EpmetUserServiceImpl implements EpmetUserService { private StaffRoleDao staffRoleDao; @Resource private CustomerStaffDao customerStaffDao; + @Autowired + private ResiUserBadgeDao resiUserBadgeDao; + @Autowired + private GovProjectService govProjectService; /** * @Description 根据UserIds查询 @@ -374,5 +377,28 @@ public class EpmetUserServiceImpl implements EpmetUserService { return staffRoleDao.selectStaffRoleList(customerId, userId); } + /** + * 我要报事-人大代表个人中心(尹) 是否显示@我,是否显示红点 + * + * @param userId + * @return com.epmet.dataaggre.dto.epmetuser.result.UserEventLogoResultDTO + * @author yinzuomei + * @date 2021/8/3 15:09 + */ + @Override + public UserEventLogoResultDTO mentionMeEvent(String userId) { + UserEventLogoResultDTO resultDTO = new UserEventLogoResultDTO(); + ResiUserBadgeEntity resiUserBadgeEntity = resiUserBadgeDao.selectUserByBadge(userId, BadgeConstant.BADGE_KEY_NPC); + //是否是人大代表 + if (null != resiUserBadgeEntity) { + resultDTO.setIsNpc(true); + } + //展示红点:true;隐藏:false + if(govProjectService.countRedDot(userId)>0){ + resultDTO.setRedDot(true); + }; + return resultDTO; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java index 38192cd035..35b0096790 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java @@ -41,4 +41,14 @@ public interface GovProjectService { List queryProjectDistribution(ProjectDistributionFormDTO formDTO); + + /** + * 查询resi_event_mention + * + * @param userId + * @return int + * @author yinzuomei + * @date 2021/8/3 15:27 + */ + int countRedDot(String userId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index d48c31f2d7..2063b3f83d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -233,4 +233,18 @@ public class GovProjectServiceImpl implements GovProjectService { throw new RenException("计算首次响应时间失败"); } } + + /** + * 查询resi_event_mention + * + * @param userId + * @return int + * @author yinzuomei + * @date 2021/8/3 15:27 + */ + @Override + public int countRedDot(String userId) { + return projectDao.countRedDot(userId); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/ResiUserBadgeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/ResiUserBadgeDao.xml index ba7b99c850..40e651d1e9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/ResiUserBadgeDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/ResiUserBadgeDao.xml @@ -3,4 +3,17 @@ + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index d376938904..1e144e3420 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -144,4 +144,15 @@ order by p.CREATED_TIME desc + + \ No newline at end of file