Browse Source

Merge branch 'dev0.2' into dev

dev_shibei_match
yinzuomei 5 years ago
parent
commit
d6e9e1807f
  1. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  2. 22
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  3. 64
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  4. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -574,7 +574,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
targetObject.setGroupId(groupDTO.getId()); targetObject.setGroupId(groupDTO.getId());
targetObject.setGroupState(groupDTO.getState()); targetObject.setGroupState(groupDTO.getState());
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN); SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN);
if(null!=groupDTO.getLatestTopicPublishDate()){ if(null != groupDTO.getLatestTopicPublishDate()){
targetObject.setLatestTopicPublishDate(format.format(groupDTO.getLatestTopicPublishDate())); targetObject.setLatestTopicPublishDate(format.format(groupDTO.getLatestTopicPublishDate()));
} }
targetObject.setGroupStatisticalInfo(statisticalObjct); targetObject.setGroupStatisticalInfo(statisticalObjct);

22
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java

@ -36,7 +36,6 @@ import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.MessageFeignClient; import com.epmet.feign.MessageFeignClient;
import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.GroupMemberConstant;
import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.constant.UserMessageConstant;
import com.epmet.modules.exception.ModuleErrorCode;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.redis.ResiGroupRedis;
@ -52,8 +51,12 @@ import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.EnterGroupTypeConstant; import com.epmet.resi.group.constant.EnterGroupTypeConstant;
import com.epmet.resi.group.constant.LeaderFlagConstant; import com.epmet.resi.group.constant.LeaderFlagConstant;
import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO;
import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
@ -348,7 +351,22 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
ResiGroupMemberInfoRedisDTO memberRedis = transferToMemberInfoRedis(resiGroupMemberDTO); ResiGroupMemberInfoRedisDTO memberRedis = transferToMemberInfoRedis(resiGroupMemberDTO);
resiGroupMemberRedis.set(memberRedis); resiGroupMemberRedis.set(memberRedis);
//8、修改群组缓存信息 //8、修改群组缓存信息
ResiGroupInfoRedisDTO groupCache =
resiGroupRedis.get(groupMemeberOperationDTO.getGroupId());
if(groupCache != null && StringUtils.isNotBlank(groupCache.getGroupId())){
//ResiGroupStatisticalInfoRedisDTO statisticalCache = groupCache.getGroupStatisticalInfo();
Map<String,Object> paramsMap = new HashMap<>();
paramsMap.put(TopicConstant.RESI_GROUP_ID,groupMemeberOperationDTO.getGroupId());
List<ResiGroupStatisticalDTO> statisticalDTO = resiGroupStatisticalService.list(paramsMap);
if(null != statisticalDTO && statisticalDTO.size() > 0){
ResiGroupStatisticalInfoRedisDTO statisticalObjct =
ConvertUtils.sourceToTarget(statisticalDTO.get(0),ResiGroupStatisticalInfoRedisDTO.class);
statisticalObjct.setTotalEarnestMembers(statisticalDTO.get(0).getTotalEarnestMemebers());
statisticalObjct.setTotalNormalMembers(statisticalDTO.get(0).getTotalNormalMemebers());
groupCache.setGroupStatisticalInfo(statisticalObjct);
}
resiGroupRedis.set(groupCache);
}
return new Result(); return new Result();
} }

64
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -38,6 +38,7 @@ import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.dao.ResiGroupStatisticalDao; import com.epmet.modules.group.dao.ResiGroupStatisticalDao;
import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.entity.ResiGroupStatisticalEntity; import com.epmet.modules.group.entity.ResiGroupStatisticalEntity;
import com.epmet.modules.group.redis.ResiGroupRedis;
import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.entity.ResiGroupMemberEntity; import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.redis.ResiGroupMemberRedis;
@ -53,6 +54,8 @@ import com.epmet.modules.topic.service.ResiTopicService;
import com.epmet.modules.utils.ModuleConstant; import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
@ -110,6 +113,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
@Autowired @Autowired
private ResiTopicOperationService resiTopicOperationService; private ResiTopicOperationService resiTopicOperationService;
@Autowired
private ResiGroupRedis resiGroupRedis;
private final Log logger = LogFactory.getLog(getClass()); private final Log logger = LogFactory.getLog(getClass());
@Override @Override
@ -247,9 +253,10 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
logger.error(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO); logger.error(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO);
throw new RenException(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO); throw new RenException(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO);
} }
//5.更新群缓存信息,话题数量+1
updCacheGroupStatisticalInfo(resiTopicPublishFormDTO.getGroupId(),ModuleConstant.PLUS_OPERATION,NumConstant.ONE);
//6.群组信息,更新latestTopicPublishDate字段
//5.群组信息,更新latestTopicPublishDate字段
ResiGroupEntity group2Update = new ResiGroupEntity(); ResiGroupEntity group2Update = new ResiGroupEntity();
group2Update.setId(resiTopicPublishFormDTO.getGroupId()); group2Update.setId(resiTopicPublishFormDTO.getGroupId());
group2Update.setLatestTopicPublishDate(currentTime); group2Update.setLatestTopicPublishDate(currentTime);
@ -395,6 +402,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
resiGroupStatisticalDao.updateById(statistical2Update); resiGroupStatisticalDao.updateById(statistical2Update);
} }
// 5.更新组缓存信息,话题数量-1
updCacheGroupStatisticalInfo(topic.getGroupId(),ModuleConstant.MINUS_OPERATION,NumConstant.ONE);
return new Result(); return new Result();
} }
@ -447,6 +456,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
); );
resiGroupStatisticalDao.updateById(statistical2Update); resiGroupStatisticalDao.updateById(statistical2Update);
} }
//4.更新组缓存信息,总话题数
updCacheGroupStatisticalInfo(topic.getGroupId(),ModuleConstant.PLUS_OPERATION,topicIds.size());
return new Result(); return new Result();
} }
@ -523,8 +535,6 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
resultDTO.setTopicImgs(attachmentUrls); resultDTO.setTopicImgs(attachmentUrls);
//3.拿取用户信息 //3.拿取用户信息
ResiTopicDTO topic = get(topicId); ResiTopicDTO topic = get(topicId);
ResiGroupEntity group = resiGroupDao.selectById(topic.getGroupId()); ResiGroupEntity group = resiGroupDao.selectById(topic.getGroupId());
ResiGroupMemberInfoRedisDTO memberRedis = ResiGroupMemberInfoRedisDTO memberRedis =
@ -564,12 +574,6 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
} }
} }
return new Result<ResiTopicDetailResultDTO>().ok(resultDTO); return new Result<ResiTopicDetailResultDTO>().ok(resultDTO);
} }
@ -803,4 +807,44 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
} }
} }
/**
* @Description 更新组统计缓存信息
* @Param groupId
* @Param operation "+":plus "-":minus
* @return
* @Author wangc
* @Date 2020.04.14 23:31
**/
private void updCacheGroupStatisticalInfo(String groupId,String operation,Integer quantity){
ResiGroupInfoRedisDTO groupCache =
resiGroupRedis.get(groupId);
if(groupCache != null && StringUtils.isNotBlank(groupCache.getGroupId())){
ResiGroupStatisticalInfoRedisDTO statisticalCache = groupCache.getGroupStatisticalInfo();
if(null != statisticalCache){
if(StringUtils.equals(ModuleConstant.PLUS_OPERATION,operation)){
statisticalCache.setTotalTopics(
null == statisticalCache.getTotalTopics() ? quantity : statisticalCache.getTotalTopics() + quantity
);
}else if(StringUtils.equals(ModuleConstant.MINUS_OPERATION,operation)){
statisticalCache.setTotalTopics(
null == statisticalCache.getTotalTopics() ? quantity : statisticalCache.getTotalTopics() - quantity
);
}
groupCache.setGroupStatisticalInfo(statisticalCache);
}else{
//没有相应的群组缓存信息 TODO 从数据库查找存进缓存
}
resiGroupRedis.set(groupCache);
}else{
//没有相应的群组缓存信息 TODO 从数据库查找存进缓存
}
}
} }

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java

@ -163,4 +163,14 @@ public interface ModuleConstant extends Constant {
* 缺失组成员缓存信息 * 缺失组成员缓存信息
* */ * */
String GROUP_MEMBER_NOT_EXISTS_IN_CACHE = "缺失组成员缓存信息"; String GROUP_MEMBER_NOT_EXISTS_IN_CACHE = "缺失组成员缓存信息";
/**
* 加号
* */
String PLUS_OPERATION = "+";
/**
* 减号
* */
String MINUS_OPERATION = "-";
} }

Loading…
Cancel
Save