diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyIncomeAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyIncomeAdminService.java index 87bf7cc75..987591186 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyIncomeAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyIncomeAdminService.java @@ -14,11 +14,9 @@ import com.accompany.core.exception.AdminServiceException; import com.accompany.core.model.PartitionInfo; import com.accompany.core.model.Users; import com.accompany.core.service.partition.PartitionInfoService; -import com.accompany.core.service.region.RegionInfoService; import com.accompany.sharding.model.FamilyMemberRoomMicRecord; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -91,15 +89,16 @@ public class FamilyIncomeAdminService { if (CollectionUtils.isEmpty(voList)) { return page; } - List uidList = voList.stream().map(FamilyMemberIncomeAdminVo::getUid).distinct().collect(Collectors.toList()); + + List familyMemberIdList = voList.stream().map(FamilyMemberIncomeAdminVo::getFamilyMemberId).distinct().toList(); Map micUpTimeMap = new HashMap<>(); - List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(startDate, endDate, uidList, familyId); + List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(startDate, endDate, familyMemberIdList); for (FamilyMemberRoomMicRecord record: micRemainTimeList){ - micUpTimeMap.put(record.getUid(), record.getRemainTime()); + micUpTimeMap.put(record.getFamilyMemberId(), record.getRemainTime()); } for (FamilyMemberIncomeAdminVo vo: voList){ - Long micRemainTime = micUpTimeMap.getOrDefault(vo.getUid(), 0L); + Long micRemainTime = micUpTimeMap.getOrDefault(vo.getFamilyMemberId(), 0L); vo.setMicRemainTime(!exportFormatter? DateTimeUtil.getTimeFormat(micRemainTime.intValue()): micRemainTime.toString()); } diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyManageAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyManageAdminService.java index f01e68afd..36bf180ab 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyManageAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyManageAdminService.java @@ -12,7 +12,6 @@ import com.accompany.business.event.FamilyMemberStatusChangeEvent; import com.accompany.business.event.NewGuildEvent; import com.accompany.business.message.NewGuildMessage; import com.accompany.business.model.family.*; -import com.accompany.business.model.guild.Guild; import com.accompany.business.service.UploadAvatarService; import com.accompany.business.service.family.*; import com.accompany.business.service.room.FamilyMemberRoomMicRecordService; @@ -405,7 +404,7 @@ public class FamilyManageAdminService { Map micUpTimeMap = new HashMap<>(); if (StringUtils.isNotBlank(startDate) || StringUtils.isNotBlank(endDate)){ - List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(startDate, endDate, uids, null); + List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(startDate, endDate, uids); for (FamilyMemberRoomMicRecord record: micRemainTimeList){ String id = record.getUid() + "_" + record.getFamilyId(); micUpTimeMap.put(id, record.getRemainTime()); diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyWageStatAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyWageStatAdminService.java index 45d9c09ad..4fb0c7b48 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyWageStatAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/family/FamilyWageStatAdminService.java @@ -187,7 +187,7 @@ public class FamilyWageStatAdminService { } Map micUpTimeMap = new HashMap<>(); - List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(monthStartStr, monthEndStr, uidList, familyId); + List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(monthStartStr, monthEndStr, uidList); for (FamilyMemberRoomMicRecord record: micRemainTimeList){ micUpTimeMap.put(record.getUid(), record.getRemainTime()); } @@ -276,7 +276,7 @@ public class FamilyWageStatAdminService { } Map diamondRemainMap = new HashMap<>(); - List diamondRemainList = familyMemberGoldRemainDayRecordService.listTotalGoldRemainGroupByDate(monthStartStr, monthEndStr, uid, familyId); + List diamondRemainList = familyMemberGoldRemainDayRecordService.listTotalGoldRemainGroupByDate(monthStartStr, monthEndStr, familyMember.getId()); for (FamilyUserIncomeItemVo record: diamondRemainList) { diamondRemainMap.put(record.getDate(), record.getDiamondRemain()); } @@ -286,7 +286,7 @@ public class FamilyWageStatAdminService { diamondRemainMap.put(today, up.getDiamonds()); } - Map micRemainTimeMap = familyMemberRoomMicRecordService.mapTotalRemainTimeGroupByDate(monthStart, monthEnd, uid, familyId); + Map micRemainTimeMap = familyMemberRoomMicRecordService.mapTotalRemainTimeGroupByDate(monthStart, monthEnd, familyMember.getId()); BigDecimal savedGoldIncome = BigDecimal.ZERO; List voList = new ArrayList<>(); @@ -320,7 +320,7 @@ public class FamilyWageStatAdminService { Long micRemainTime = micRemainTimeMap.getOrDefault(date, 0L); vo.setMicRemainTime(!exportFormatter? DateTimeUtil.getTimeFormat(micRemainTime.intValue()): micRemainTime.toString()); - //判断是否大于两小时 + //判断是否大于一小时 vo.setMicVaild(micRemainTime >= FamilyConstant.MIC_VAILD_SECONDS); voList.add(vo); diff --git a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/FamilyMemberRoomMicRecordMapper.java b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/FamilyMemberRoomMicRecordMapper.java index 425d07d83..3846bd06a 100644 --- a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/FamilyMemberRoomMicRecordMapper.java +++ b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/java/com/accompany/sharding/mapper/FamilyMemberRoomMicRecordMapper.java @@ -14,20 +14,17 @@ public interface FamilyMemberRoomMicRecordMapper extends BaseMapper uidList, - @Param("familyId") Integer familyId); + @Param("familyMemberIdList") List familyMemberIdList); List listTotalRemainTimeByDateWithOutOverDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime, - @Param("uid") Long uid, - @Param("familyId") Integer familyId); + @Param("familyMemberId") Long familyMemberId); List listTotalRemainTimeByDateOverDate(@Param("upTime") Date upTime, @Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("downTime") Date downTime, - @Param("uid") Long uid, - @Param("familyId") Integer familyId); + @Param("familyMemberId") Long familyMemberId); List listTotalRemainTimeByUidAndDateWithOutOverDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime, diff --git a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/FamilyMemberRoomMicRecordMapper.xml b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/FamilyMemberRoomMicRecordMapper.xml index 48852fc75..6caddf6fe 100644 --- a/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/FamilyMemberRoomMicRecordMapper.xml +++ b/accompany-base/accompany-sharding/accompany-sharding-service/src/main/resources/sharding/sqlmappers/FamilyMemberRoomMicRecordMapper.xml @@ -26,10 +26,7 @@ and r.down_time <= #{downTime} - and uid in #{uid} - - and family_id = #{familyId} - + and family_member_id in #{uid} group by uid, family_id @@ -39,7 +36,7 @@ sum(remain_time / 1000) remain_time from family_member_room_mic_record r where r.up_time between #{startTime} and #{endTime} - and family_id = #{familyId} and uid = #{uid} + and family_member_id = #{familyMemberId} and datediff(down_time, up_time) = 0 group by `date` @@ -52,7 +49,7 @@ and up_time <= #{endTime} and down_time >= #{startTime} and down_time <= #{downTime} - and family_id = #{familyId} and uid = #{uid} + and family_member_id = #{familyMemberId} and datediff(down_time, up_time) > 0 diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/family/FamilyConstant.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/family/FamilyConstant.java index c0e208736..f949e8291 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/family/FamilyConstant.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/family/FamilyConstant.java @@ -99,6 +99,6 @@ public class FamilyConstant { /** * * */ - public static final long MIC_VAILD_SECONDS = 2 * 60 * 60L; + public static final long MIC_VAILD_SECONDS = 1 * 60 * 60L; } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberGoldRemainDayRecordMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberGoldRemainDayRecordMapper.java index be8d08b0b..e822d6fd7 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberGoldRemainDayRecordMapper.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberGoldRemainDayRecordMapper.java @@ -19,7 +19,7 @@ public interface FamilyMemberGoldRemainDayRecordMapper extends BaseMapper listTotalGoldRemainGroupByDate(@Param("startDate") String startDate, @Param("endDate") String endDate, - @Param("uid") Long uid, @Param("familyId") Integer familyId); + @Param("familyMemberId") Long familyMemberId); List listGoldRemainGroupByFamily(@Param("familyIdList") List familyIdList); diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyIncomeService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyIncomeService.java index 60e14706e..0339be0aa 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyIncomeService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyIncomeService.java @@ -83,7 +83,7 @@ public class FamilyIncomeService { String curCycleDate = HalfMonthCycleTimeUtil.getCycleDate(zdt); vo.setCurCycleDate(cycleDateVoList.stream().filter(cycleDateVo -> cycleDateVo.getCycleDate().equals(curCycleDate)).findAny().get()); - FamilyMemberDailyIncomeVo dailyIncomeVo = getFamilyMemberDailyIncomeVo(familyMember.getId(), familyId, uid, startDate, startTime, endDate, endTime); + FamilyMemberDailyIncomeVo dailyIncomeVo = getFamilyMemberDailyIncomeVo(familyMember.getId(), startDate, startTime, endDate, endTime); vo.setDailyIncome(dailyIncomeVo); if (FamilyConstant.RoleType.OWNER.equals(familyMember.getRoleType())) { @@ -94,7 +94,7 @@ public class FamilyIncomeService { return vo; } - private FamilyMemberDailyIncomeVo getFamilyMemberDailyIncomeVo(Long familyMemberId, Integer familyId, Long uid, + private FamilyMemberDailyIncomeVo getFamilyMemberDailyIncomeVo(Long familyMemberId, String startDate, Date startTime, String endDate, Date endTime) { FamilyMemberDailyIncomeVo vo = new FamilyMemberDailyIncomeVo(); @@ -107,8 +107,7 @@ public class FamilyIncomeService { goldIncomeMap.put(item.getDate(), item.getGoldIncome()); } - Map micRemainTimeMap = familyMemberRoomMicRecordService.mapTotalRemainTimeGroupByDate(startTime, endTime, - uid, familyId); + Map micRemainTimeMap = familyMemberRoomMicRecordService.mapTotalRemainTimeGroupByDate(startTime, endTime, familyMemberId); List dailyList = new ArrayList<>(); vo.setDailyIncomeList(dailyList); @@ -159,9 +158,9 @@ public class FamilyIncomeService { String endTimeStr = DateTimeUtil.convertDate(endTime, DateTimeUtil.DEFAULT_DATETIME_PATTERN); Map micRemainTimeMap = new HashMap<>(); - List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(startTimeStr, endTimeStr, uidList, familyId); + List micRemainTimeList = familyMemberRoomMicRecordService.listTotalRemainTimeGroupByFamilyMember(startTimeStr, endTimeStr, familyMemberIdList); for (FamilyMemberRoomMicRecord item: micRemainTimeList){ - micRemainTimeMap.put(item.getUid(), item.getRemainTime()); + micRemainTimeMap.put(item.getFamilyMemberId(), item.getRemainTime()); } for (FamilyMember item: familyMemberList){ diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberGoldRemainDayRecordService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberGoldRemainDayRecordService.java index 19ab674ef..73ff0910c 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberGoldRemainDayRecordService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberGoldRemainDayRecordService.java @@ -128,7 +128,7 @@ public class FamilyMemberGoldRemainDayRecordService extends ServiceImpl listTotalGoldRemainGroupByDate(String startDate, String endDate, Long uid, Integer familyId) { - return this.baseMapper.listTotalGoldRemainGroupByDate(startDate, endDate, uid, familyId); + public List listTotalGoldRemainGroupByDate(String startDate, String endDate, Long familyMemberId) { + return this.baseMapper.listTotalGoldRemainGroupByDate(startDate, endDate, familyMemberId); } } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/FamilyMemberRoomMicRecordService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/FamilyMemberRoomMicRecordService.java index 399fe1f2b..8888dec95 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/FamilyMemberRoomMicRecordService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/room/FamilyMemberRoomMicRecordService.java @@ -59,7 +59,7 @@ public class FamilyMemberRoomMicRecordService extends ServiceImpl micSet = redissonClient.getSet(RedisKey.family_member_room_mic_record.getKey(uid.toString(), roomId.toString(), pos.toString())); if (isUpMicAction(qEvent)) { micSet.add(timestamp); @@ -119,6 +119,7 @@ public class FamilyMemberRoomMicRecordService extends ServiceImpl listTotalRemainTimeGroupByFamilyMember(String startDate, String endDate, - List uidList, Integer familyId) { + List familyMemberIdList) { Date upTime = null; Date startTime = null; if (StringUtils.isNotBlank(startDate)){ @@ -159,15 +160,14 @@ public class FamilyMemberRoomMicRecordService extends ServiceImpl mapTotalRemainTimeGroupByDate(Date startTime, Date endTime, - Long uid, Integer familyId) { + public Map mapTotalRemainTimeGroupByDate(Date startTime, Date endTime, Long familyMemberId) { Map map = new HashMap<>(); List withoutOverDateList = - this.baseMapper.listTotalRemainTimeByDateWithOutOverDate(startTime, endTime, uid, familyId); + this.baseMapper.listTotalRemainTimeByDateWithOutOverDate(startTime, endTime, familyMemberId); for (FamilyMemberMicRemainTimeVo po: withoutOverDateList){ map.put(po.getDate(), po.getRemainTime()); } @@ -176,7 +176,7 @@ public class FamilyMemberRoomMicRecordService extends ServiceImpl overDateList = - this.baseMapper.listTotalRemainTimeByDateOverDate(upTime, startTime, endTime, downTime, uid, familyId); + this.baseMapper.listTotalRemainTimeByDateOverDate(upTime, startTime, endTime, downTime, familyMemberId); for (FamilyMemberMicRemainTimeVo po: overDateList){ Date start = po.getUpTime(); while (start.before(po.getDownTime())){ diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml index 59166cdd7..d31724cd8 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml @@ -117,6 +117,7 @@ diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml index f61330fa7..2bc0afb62 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml @@ -98,7 +98,7 @@ select `date`, gold_remain `diamondRemain` from family_member_gold_remain_day_record r where `date` between #{startDate} and #{endDate} - and uid = #{uid} and family_id = #{familyId} + and family_member_id = #{familyMemberId} \ No newline at end of file