From f011fe21c6325f0630bf1827f5dcfcbc93472cfe Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 23 Apr 2021 14:26:43 +0800 Subject: [PATCH] bug fix --- .../group/dto/member/ResiGroupMemberDTO.java | 1 - .../controller/GroupActInfoController.java | 7 - .../act/service/GroupActInfoService.java | 1 - .../service/impl/GroupActInfoServiceImpl.java | 122 ++++-------------- .../member/entity/ResiGroupMemberEntity.java | 1 - 5 files changed, 22 insertions(+), 110 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java index 0f834100fa..a64ebdb042 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java @@ -104,5 +104,4 @@ public class ResiGroupMemberDTO implements Serializable { * */ private String customerId; - private Integer tempNum; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java index da742b975d..d2231f005b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java @@ -93,13 +93,6 @@ public class GroupActInfoController { return new Result().ok(groupActInfoService.queryReadList(actReadViewFormDTO)); } - @PostMapping("readlistV2") - public Result queryReadListV2(@RequestBody @LoginUser TokenDto tokenDto, @RequestBody ActReadViewFormDTO actReadViewFormDTO){ - actReadViewFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(actReadViewFormDTO,ActReadViewFormDTO.AddUserInternalGroup.class); - return new Result().ok(groupActInfoService.queryReadListV2(actReadViewFormDTO)); - } - /** * @return * @param formDTO diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/GroupActInfoService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/GroupActInfoService.java index 9fd25cadf8..b815bb7358 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/GroupActInfoService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/GroupActInfoService.java @@ -58,7 +58,6 @@ public interface GroupActInfoService extends BaseService { */ NoticeReadListResultDTO queryReadList(ActReadViewFormDTO actReadViewFormDTO); - NoticeReadListResultDTO queryReadListV2(ActReadViewFormDTO actReadViewFormDTO); /** * 011、取消活动 * diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java index 1312d7642b..c4b75ca1df 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java @@ -25,8 +25,6 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.redis.RedisKeys; -import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.scan.param.ImgScanParamDTO; import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; @@ -124,8 +122,6 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl memberDTOList=resiGroupMemberService.getMemberList(formDTO.getGroupId()); + //应读数减-1,去掉组长 + groupActInfoEntity.setShouldRead(memberDTOList.size()-NumConstant.ONE); + //1、插入活修改活动信息表 if (StringUtils.isNotBlank(groupActInfoEntity.getId())) { //删除group_act_content、删除act_read_record @@ -164,10 +165,6 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl contentList = constructText(groupActInfoEntity.getId(), formDTO.getCustomerId(), formDTO.getTextList()); List imgList = constructImg(groupActInfoEntity.getId(), formDTO.getCustomerId(), formDTO.getImgList()); - //包含组长 - List memberDTOList=resiGroupMemberService.getMemberList(formDTO.getGroupId()); - //应读数减-1,去掉组长 - groupActInfoEntity.setShouldRead(memberDTOList.size()-NumConstant.ONE); //2、插入活动内容 contentList.forEach(textContentEntity->{ @@ -192,8 +189,8 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl memberDTOList) { - String actReadKey= RedisKeys.getGroupMsgReadKey(GroupActConstant.ACT_STR,groupActInfoEntity.getGroupId(),groupActInfoEntity.getId()); - String actShoudReadUserKey=RedisKeys.getGroupMsgShouldReadUser(GroupActConstant.ACT_STR,groupActInfoEntity.getGroupId(),groupActInfoEntity.getId()); + /*String actReadKey= RedisKeys.getGroupMsgReadKey(GroupActConstant.ACT_STR,groupActInfoEntity.getGroupId(),groupActInfoEntity.getId()); + String actShoudReadUserKey=RedisKeys.getGroupMsgShouldReadUser(GroupActConstant.ACT_STR,groupActInfoEntity.getGroupId(),groupActInfoEntity.getId());*/ List readRecordEntityList=new ArrayList<>(); memberDTOList.forEach(memberDTO->{ ActReadRecordEntity actReadRecordEntity=new ActReadRecordEntity(); @@ -206,10 +203,10 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl{ @@ -503,33 +500,28 @@ public class GroupActInfoServiceImpl extends BaseServiceImplNumConstant.ZERO?false:true); + resultDTO.setStartTimeEditFlag(groupActInfoEntity.getSignedInNum() > NumConstant.ZERO ? false : true); //返回详情,并且已读状态 ActReadRecordEntity actReadRecordEntity=actReadRecordDao.selectUserRec(formDTO.getGroupActId(),formDTO.getUserId()); - String actReadKey= RedisKeys.getGroupMsgReadKey(GroupActConstant.ACT_STR,groupActInfoEntity.getGroupId(),groupActInfoEntity.getId()); if(null== actReadRecordEntity){ - //todo 插入不在应读列表里的是否还记录呢???? - ActReadRecordEntity insertEntity=new ActReadRecordEntity(); - insertEntity.setCustomerId(groupActInfoEntity.getCustomerId()); - insertEntity.setGroupActId(formDTO.getGroupActId()); - insertEntity.setReadFlag(GroupActConstant.READ); - insertEntity.setShouldBeRead(Constant.NO); - insertEntity.setUserId(formDTO.getUserId()); - insertEntity.setGridId(groupActInfoEntity.getGridId()); - insertEntity.setGroupId(groupActInfoEntity.getGroupId()); - // todo - actReadRecordDao.insert(insertEntity); - + if(!GroupActConstant.CLOSED.equals(groupActInfoEntity.getStatus())){ + //插入已读记录,默认不属于应读人。 + ActReadRecordEntity insertEntity=new ActReadRecordEntity(); + insertEntity.setCustomerId(groupActInfoEntity.getCustomerId()); + insertEntity.setGroupActId(formDTO.getGroupActId()); + insertEntity.setReadFlag(GroupActConstant.READ); + insertEntity.setShouldBeRead(Constant.NO); + insertEntity.setUserId(formDTO.getUserId()); + insertEntity.setGridId(groupActInfoEntity.getGridId()); + insertEntity.setGroupId(groupActInfoEntity.getGroupId()); + actReadRecordDao.insert(insertEntity); + } }else{ if(GroupActConstant.UN_READ.equals(actReadRecordEntity.getReadFlag())){ //未读->已读 actReadRecordEntity.setReadFlag(GroupActConstant.READ); actReadRecordEntity.setUpdatedTime(new Date()); - // todo actReadRecordDao.updateById(actReadRecordEntity); - - //状态改为已读 - redisUtils.setBit(actReadKey,resiGroupMemberDTO.getTempNum(),true); } } return resultDTO; @@ -659,76 +651,6 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl readList = new ArrayList<>(); - List unReadList = new ArrayList<>(); - //1.根据活动id,查询应读人员列表 - GroupActInfoEntity groupActInfoEntity=baseDao.selectById(actReadViewFormDTO.getGroupActId()); - List memembersList=resiGroupMemberService.getMemberList(groupActInfoEntity.getGroupId()); - //2.调用user服务,查询人员基础数据 - List userIdList = memembersList.stream().map(ResiGroupMemberDTO::getCustomerUserId).collect(Collectors.toList()); - Result> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); - if (!result.success()) { - throw new RenException("调用user服务,获取用户基础数据失败"); - } - - List resultDTOList = result.getData(); - if (!CollectionUtils.isEmpty(resultDTOList)) { - //3.遍历封装数据并返回 - for (ResiGroupMemberDTO memberDTO : memembersList) { - //todo - //1)怎么判断当前组员属于应读人员? - //2)应读人员,是否已读?? - String userActKey = RedisKeys.getGroupMsgReadKey(GroupActConstant.ACT_STR, groupActInfoEntity.getGroupId(), groupActInfoEntity.getId()); - Boolean readFlag = redisUtils.getBit(userActKey, memberDTO.getTempNum()); - if (readFlag) { - //已读 - StringBuffer name = new StringBuffer(); - StringBuffer url = new StringBuffer(); - resultDTOList.forEach(user -> { - if (memberDTO.getCustomerUserId().equals(user.getUserId())) { - name.append(user.getSurname()).append(user.getName()); - url.append(user.getHeadImgUrl()); - } - }); - NoticeReadListResultDTO.NoticeReafdRecord read = new NoticeReadListResultDTO.NoticeReafdRecord(); - read.setUserId(memberDTO.getCustomerUserId()); - read.setUserName(name.toString()); - read.setUserHeadPhoto(url.toString()); - readList.add(read); - } else { - //todo - // 未读人员 ?????? - StringBuffer name = new StringBuffer(); - StringBuffer url = new StringBuffer(); - resultDTOList.forEach(user -> { - if (memberDTO.getCustomerUserId().equals(user.getUserId())) { - name.append(user.getSurname()).append(user.getName()); - url.append(user.getHeadImgUrl()); - } - }); - NoticeReadListResultDTO.NoticeReafdRecord unRead = new NoticeReadListResultDTO.NoticeReafdRecord(); - unRead.setUserId(memberDTO.getCustomerUserId()); - unRead.setUserName(name.toString()); - unRead.setUserHeadPhoto(url.toString()); - unReadList.add(unRead); - } - } - } - //已读人数 - String actReadKey= RedisKeys.getGroupMsgReadKey(GroupActConstant.ACT_STR,groupActInfoEntity.getGroupId(),groupActInfoEntity.getId()); - long readNum=redisUtils.bitCount(actReadKey); - resultDTO.setReadCount((int) readNum); - //未读人数 - resultDTO.setUnReadCount(groupActInfoEntity.getShouldRead()-resultDTO.getReadCount()); - //已读列表 - resultDTO.setReadList(readList); - //未读列表 - resultDTO.setUnReadList(unReadList); - return resultDTO; - } /** * 011、取消活动 * diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java index 6f43bf1461..0e21de29db 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java @@ -73,6 +73,5 @@ public class ResiGroupMemberEntity extends BaseEpmetEntity { @TableField(fill = FieldFill.INSERT) private String customerId; - private Integer tempNum; }