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 0660273c3..2e78902a2 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 @@ -2,7 +2,16 @@ package com.accompany.sharding.mapper; import com.accompany.sharding.model.FamilyMemberRoomMicRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; public interface FamilyMemberRoomMicRecordMapper extends BaseMapper { + List listTotalRemainTimeByFamilyMember(@Param("upTime") Date upTime, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime, + @Param("downTime") Date downTime); + } \ No newline at end of file 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 42acb72b3..4b7bfcdad 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 @@ -2,4 +2,16 @@ + + \ No newline at end of file diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyGiftRecord.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyGiftRecord.java index a0fe306eb..aaab38ba9 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyGiftRecord.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyGiftRecord.java @@ -11,6 +11,7 @@ public class FamilyGiftRecord { @TableId(type = IdType.AUTO) private Integer id; private Integer familyId; + private Long senderUid; private Long receiverUid; private Long giftSendRecordId; private Long totalGoldNum; diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyMemberSettlementRecord.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyMemberGoldRemainDayRecord.java similarity index 67% rename from accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyMemberSettlementRecord.java rename to accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyMemberGoldRemainDayRecord.java index 0d2d7f208..eb397803e 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyMemberSettlementRecord.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/family/FamilyMemberGoldRemainDayRecord.java @@ -7,7 +7,7 @@ import lombok.Data; import java.util.Date; @Data -public class FamilyMemberSettlementRecord { +public class FamilyMemberGoldRemainDayRecord { @TableId(type = IdType.AUTO) private Long id; @@ -15,9 +15,6 @@ public class FamilyMemberSettlementRecord { private Integer familyId; private Long uid; private Date createTime; - private Long micRemainSecond; - private Long goldIncome; - private Long diamondRemain; - private Integer sendGiftUserNum; + private Double goldRemain; } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyGiftRecordMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyGiftRecordMapper.java index 091e8eb0c..bece7da6c 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyGiftRecordMapper.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyGiftRecordMapper.java @@ -2,8 +2,13 @@ package com.accompany.business.mybatismapper.family; import com.accompany.business.model.family.FamilyGiftRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; public interface FamilyGiftRecordMapper extends BaseMapper { + List listTotalGoldGroupByFamilyMember(@Param("startTime") Date startTime, @Param("endTime") Date endTime); } \ No newline at end of file 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 new file mode 100644 index 000000000..b36b5fc09 --- /dev/null +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberGoldRemainDayRecordMapper.java @@ -0,0 +1,8 @@ +package com.accompany.business.mybatismapper.family; + +import com.accompany.business.model.family.FamilyMemberGoldRemainDayRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface FamilyMemberGoldRemainDayRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSettlementRecordMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSettlementRecordMapper.java deleted file mode 100644 index 3afccde0b..000000000 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSettlementRecordMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.accompany.business.mybatismapper.family; - -import com.accompany.business.model.family.FamilyMemberSettlementRecord; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -public interface FamilyMemberSettlementRecordMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyGiftRecordService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyGiftRecordService.java index 7c701cf3e..6961b45d2 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyGiftRecordService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyGiftRecordService.java @@ -11,6 +11,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import java.util.Date; +import java.util.List; + @Service public class FamilyGiftRecordService extends ServiceImpl { @@ -29,9 +32,14 @@ public class FamilyGiftRecordService extends ServiceImpl listTotalGoldGroupByFamilyMember(Date startTime, Date endTime) { + return this.baseMapper.listTotalGoldGroupByFamilyMember(startTime, endTime); + } + } 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 new file mode 100644 index 000000000..2c7788b9e --- /dev/null +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberGoldRemainDayRecordService.java @@ -0,0 +1,89 @@ +package com.accompany.business.service.family; + +import com.accompany.business.model.UserPurse; +import com.accompany.business.model.family.FamilyMember; +import com.accompany.business.model.family.FamilyMemberGoldRemainDayRecord; +import com.accompany.business.mybatismapper.family.FamilyMemberGoldRemainDayRecordMapper; +import com.accompany.business.service.purse.UserPurseService; +import com.accompany.common.utils.DateTimeUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.ExecutorType; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class FamilyMemberGoldRemainDayRecordService extends ServiceImpl { + + @Autowired + private FamilyMemberService familyMemberService; + @Autowired + private UserPurseService userPurseService; + @Autowired + private SqlSessionFactory sqlSessionFactory; + + public void dayStatistic(Date date) { + if (date == null){ + date = DateTimeUtil.addDays(new Date(), -1); + } + + String dateStr = DateTimeUtil.convertDate(date, DateTimeUtil.DEFAULT_DATE_PATTERN); + Date dateStart = DateTimeUtil.getBeginTimeOfDay(date); + Date dateEnd = DateTimeUtil.getEndTimeOfDay(date); + + Map uidGoldNumMap = new HashMap<>(); + + List memberList = familyMemberService.listValidFamilyMemberByTime(dateStart, dateEnd); + if (CollectionUtils.isEmpty(memberList)){ + log.info("[公会金币每日余额统计] memberList为空"); + return; + } + + List uidList = memberList.stream().map(FamilyMember::getUid).distinct().collect(Collectors.toList()); + List userPurseList = userPurseService.lambdaQuery().in(UserPurse::getUid, uidList).list(); + for (UserPurse userPurse: userPurseList){ + uidGoldNumMap.put(userPurse.getUid(), userPurse.getGolds()); + } + + Date now = new Date(); + int batchSize = 100; + SqlSession batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH); + FamilyMemberGoldRemainDayRecordMapper recordMapper = batchSqlSession.getMapper(FamilyMemberGoldRemainDayRecordMapper.class); + + try { + int memberIndex = 0; + for (FamilyMember member: memberList){ + Double goldRemain = Boolean.TRUE.equals(member.getEnable())? uidGoldNumMap.getOrDefault(member.getUid(), 0d): 0d; + + //结算记录 + FamilyMemberGoldRemainDayRecord dayRecord = new FamilyMemberGoldRemainDayRecord(); + dayRecord.setUid(member.getUid()); + dayRecord.setFamilyId(member.getFamilyId()); + dayRecord.setGoldRemain(goldRemain); + dayRecord.setDate(dateStr); + dayRecord.setCreateTime(now); + recordMapper.insert(dayRecord); + + if (memberIndex > 0 && memberIndex % batchSize == 0){ + batchSqlSession.commit(); + } + memberIndex ++; + } + + batchSqlSession.commit(); + } catch (Exception e){ + batchSqlSession.rollback(); + log.error("[公会金币每日余额统计] 插入记录发生异常回滚", e); + } finally { + batchSqlSession.close(); + } + } + +} diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSettlementDayRecordService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSettlementDayRecordService.java deleted file mode 100644 index 11a06b02c..000000000 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSettlementDayRecordService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.accompany.business.service.family; - -import com.accompany.business.model.family.FamilyMemberSettlementRecord; -import com.accompany.business.mybatismapper.family.FamilyMemberSettlementRecordMapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -@Service -public class FamilyMemberSettlementDayRecordService extends ServiceImpl { - -} diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSettlementService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSettlementService.java deleted file mode 100644 index 9a876cabb..000000000 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSettlementService.java +++ /dev/null @@ -1,214 +0,0 @@ -package com.accompany.business.service.family; - -import com.accompany.business.model.HallGiftRecord; -import com.accompany.business.model.HallGoldExchangeRecord; -import com.accompany.business.model.HallMember; -import com.accompany.business.model.clan.ClanGoldDayFlowRecord; -import com.accompany.business.model.family.FamilyMember; -import com.accompany.business.mybatismapper.clan.ClanGoldDayFlowRecordMapper; -import com.accompany.business.service.purse.UserPurseService; -import com.accompany.business.service.room.FamilyMemberRoomMicRecordService; -import com.accompany.common.utils.DateTimeUtil; -import com.accompany.core.enumeration.BillObjTypeEnum; -import com.accompany.sharding.model.BillRecord; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.session.ExecutorType; -import org.apache.ibatis.session.SqlSession; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.util.*; -import java.util.stream.Collectors; - -@Slf4j -@Service -public class FamilyMemberSettlementService { - - @Autowired - private FamilyMemberService familyMemberService; - @Autowired - private FamilyGiftRecordService familyGiftRecordService; - @Autowired - private FamilyMemberRoomMicRecordService familyMemberRoomMicRecordService; - @Autowired - private UserPurseService userPurseService; - - /*public void statistic(Date date) throws InterruptedException { - if (date == null){ - date = new Date(); - } - - String dateStr = DateTimeUtil.convertDate(date, DateTimeUtil.DEFAULT_DATE_PATTERN); - Date dateStart = DateTimeUtil.getBeginTimeOfDay(date); - Date dateEnd = DateTimeUtil.getEndTimeOfDay(date); - Date dateEndLater = DateTimeUtil.getNextMinute(dateEnd, 1); - - Map uidGiftDiamondMap = new HashMap<>(); - Map uidGiftGoldMap = new HashMap<>(); - Map uidEarnGoldMap = new HashMap<>(); - - List memberList = familyMemberService.listValidFamilyMemberByTime(dateStart, dateEnd); - if (CollectionUtils.isEmpty(memberList)){ - - } - - QueryWrapper queryWrapper = Wrappers.query(); - queryWrapper.lambda().between(HallGiftRecord::getCreateTime, dateStart, dateEnd) - .isNotNull(HallGiftRecord::getClanId); - List hallGiftRecordList = hallGiftRecordService.list(queryWrapper); - if (!CollectionUtils.isEmpty(hallGiftRecordList)){ - List giftSendRecordIds = hallGiftRecordList.stream().map(HallGiftRecord::getGiftSendRecordId).collect(Collectors.toList()); - - Map giftDiamondsMap = hallGiftRecordList.stream() - .collect(Collectors.toMap(HallGiftRecord::getGiftSendRecordId, gsr->gsr.getTotalGoldNum().doubleValue())); - - List giftGoldsList = billRecordService.listBillRecordByGiftRecrod(dateStart, dateEndLater, giftSendRecordIds); - Map giftGoldsMap = giftGoldsList.stream() - .filter(br->br.getObjType().equals(BillObjTypeEnum.GIFT_PERSON_INCOME.getValue())||br.getObjType().equals(BillObjTypeEnum.GIFT_ROOM_INCOME.getValue())) - .collect(Collectors.toMap(br->Long.parseLong(br.getObjId()), br-> br.getAmount().doubleValue())); - - Map earnGoldsMap = giftGoldsList.stream() - .filter(br->br.getObjType().equals(BillObjTypeEnum.ROOM_PERCENTAGE_INCOME.getValue())) - .collect(Collectors.toMap(br->Long.parseLong(br.getObjId()), br-> br)); - - for (HallGiftRecord record: hallGiftRecordList){ - long giftSendRecordId = record.getGiftSendRecordId(); - Double giftDiamonds = giftDiamondsMap.get(giftSendRecordId); - if (null != giftDiamonds){ - String uid = String.format("%d_%d_%d", record.getClanId(), record.getHallId(), record.getReciveUid()); - uidGiftDiamondMap.put(uid, DoubleUtil.add(giftDiamonds, uidGiftDiamondMap.getOrDefault(uid, 0d))); - - //签约流水 - if (null != record.getRoomUid() && record.getClanId().equals(record.getRoomClanId()) - && (null == record.getHallId() || record.getHallId().equals(record.getRoomHallId()))){ - uidHallDiamondMap.put(uid, DoubleUtil.add(giftDiamonds, uidHallDiamondMap.getOrDefault(uid, 0d))); - } else if (null != record.getRoomUid() && record.getClanId().equals(record.getRoomClanId())) { - uidClanDiamondMap.put(uid, DoubleUtil.add(giftDiamonds, uidClanDiamondMap.getOrDefault(uid, 0d))); - } else { - uidOtherDiamondMap.put(uid, DoubleUtil.add(giftDiamonds, uidOtherDiamondMap.getOrDefault(uid, 0d))); - } - } - - Double giftGolds = giftGoldsMap.get(giftSendRecordId); - if (null != giftGolds){ - String uid = String.format("%d_%d_%d", record.getClanId(), record.getHallId(), record.getReciveUid()); - uidGiftGoldMap.put(uid, DoubleUtil.add(giftGolds, uidGiftGoldMap.getOrDefault(uid, 0d))); - } - - BillRecord earnGoldsBillRecord = earnGoldsMap.get(giftSendRecordId); - if (null != earnGoldsBillRecord){ - String clanElderUid = String.format("%d_%d", record.getClanId(), earnGoldsBillRecord.getUid()); - uidEarnGoldMap.put(clanElderUid, DoubleUtil.add(earnGoldsBillRecord.getAmount().doubleValue(), uidEarnGoldMap.getOrDefault(clanElderUid, 0d))); - } - } - } - - Map uidExchangeMap = new HashMap<>(); - List hallGoldExchangeRecordList = hallGoldExchangeService.listByTime(dateStart, dateEnd); - if (!CollectionUtils.isEmpty(hallGoldExchangeRecordList)){ - for (HallGoldExchangeRecord record: hallGoldExchangeRecordList){ - String uid = String.format("%d_%d_%d", record.getClanId(), record.getHallId(), record.getUid()); - uidExchangeMap.put(uid, DoubleUtil.add(record.getGolds(), uidExchangeMap.getOrDefault(uid, 0d))); - } - } - - Set uids = new HashSet<>(); - uids.addAll(uidGiftDiamondMap.keySet()); - uids.addAll(uidGiftGoldMap.keySet()); - uids.addAll(uidExchangeMap.keySet()); - - Date now = new Date(); - int batchSize = 100; - SqlSession batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH); - ClanGoldDayFlowRecordMapper clanGoldDayFlowRecordMapper = batchSqlSession.getMapper(ClanGoldDayFlowRecordMapper.class); - - try { - int memberIndex = 0; - for (String uidStr: uids){ - String[] uidArray = uidStr.split("_"); - Long clanId = Long.parseLong(uidArray[0]); - Long hallId = !"null".equals(uidArray[1])? Long.parseLong(uidArray[1]): null; - Long uid = Long.parseLong(uidArray[2]); - - Double giftDiamonds = uidGiftDiamondMap.getOrDefault(uidStr, 0d); - Double hallDiamonds = uidHallDiamondMap.getOrDefault(uidStr, 0d); - Double clanDiamonds = uidClanDiamondMap.getOrDefault(uidStr, 0d); - Double otherDiamonds = uidOtherDiamondMap.getOrDefault(uidStr, 0d); - Double giftGolds = uidGiftGoldMap.getOrDefault(uidStr, 0d); - String clanUidStr = String.format("%d_%d", clanId, uid); - Double earnGolds = Optional.ofNullable(uidEarnGoldMap.remove(clanUidStr)).orElse(0d); - Double exchangeGolds = uidExchangeMap.getOrDefault(uidStr, 0d); - Double remainGolds = DoubleUtil.sub(DoubleUtil.add(giftGolds, earnGolds),exchangeGolds); - - //结算记录 - ClanGoldDayFlowRecord dayFlowRecord = new ClanGoldDayFlowRecord(); - dayFlowRecord.setClanId(clanId); - dayFlowRecord.setHallId(hallId); - dayFlowRecord.setUid(uid); - dayFlowRecord.setGiftDiamonds(giftDiamonds); - dayFlowRecord.setHallDiamonds(hallDiamonds); - dayFlowRecord.setClanDiamonds(clanDiamonds); - dayFlowRecord.setOtherDiamonds(otherDiamonds); - dayFlowRecord.setGiftGolds(giftGolds); - dayFlowRecord.setEarnGolds(earnGolds); - dayFlowRecord.setExchangeGolds(exchangeGolds); - dayFlowRecord.setRemainGolds(remainGolds); - dayFlowRecord.setDate(dateStr); - dayFlowRecord.setCreateTime(now); - clanGoldDayFlowRecordMapper.insert(dayFlowRecord); - - if (memberIndex > 0 && memberIndex % batchSize == 0){ - batchSqlSession.commit(); - } - memberIndex ++; - } - - //有会长产生流水分成,但自己在周期内没有收礼和兑换,需要手动添加 - if (!uidEarnGoldMap.isEmpty()){ - for (Map.Entry clanEarn : uidEarnGoldMap.entrySet()){ - String clanUidStr = clanEarn.getKey(); - Double earnGolds = clanEarn.getValue(); - String[] uidArray = clanUidStr.split("_"); - Long clanId = Long.parseLong(uidArray[0]); - Long uid = Long.parseLong(uidArray[1]); - - HallMember hallMember = hallService.getHallMember(uid); - Long hallId = null != hallMember? hallMember.getHallId(): null; - - //结算记录 - ClanGoldDayFlowRecord dayFlowRecord = new ClanGoldDayFlowRecord(); - dayFlowRecord.setClanId(clanId); - dayFlowRecord.setHallId(hallId); - dayFlowRecord.setUid(uid); - dayFlowRecord.setGiftDiamonds(0d); - dayFlowRecord.setHallDiamonds(0d); - dayFlowRecord.setClanDiamonds(0d); - dayFlowRecord.setOtherDiamonds(0d); - dayFlowRecord.setGiftGolds(0d); - dayFlowRecord.setEarnGolds(earnGolds); - dayFlowRecord.setExchangeGolds(0d); - dayFlowRecord.setRemainGolds(earnGolds); - dayFlowRecord.setDate(dateStr); - dayFlowRecord.setCreateTime(now); - clanGoldDayFlowRecordMapper.insert(dayFlowRecord); - - if (memberIndex > 0 && memberIndex % batchSize == 0){ - batchSqlSession.commit(); - } - memberIndex ++; - } - } - - batchSqlSession.commit(); - } catch (Exception e){ - batchSqlSession.rollback(); - log.error("[公会金币每日流水统计] 插入记录发生异常回滚", e); - } finally { - batchSqlSession.close(); - } - }*/ - -} 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 d36c41f4b..369601463 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 @@ -92,6 +92,7 @@ public class FamilyMemberRoomMicRecordService extends ServiceImpl listTotalRemainTimeByFamilyMember(Date upTime, Date startTime, Date endTime, Date downTime) { + return this.baseMapper.listTotalRemainTimeByFamilyMember(upTime, startTime, endTime, downTime); + } } 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 5dd6546e3..7265bffc2 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 @@ -2,4 +2,12 @@ + + \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSettlementRecordMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml similarity index 85% rename from accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSettlementRecordMapper.xml rename to accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml index 3c1980b2e..ac55a1ace 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSettlementRecordMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberGoldRemainDayRecordMapper.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/family/FamilySettlementTask.java b/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/family/FamilySettlementTask.java new file mode 100644 index 000000000..27b481608 --- /dev/null +++ b/accompany-scheduler/accompany-scheduler-service/src/main/java/com/accompany/scheduler/task/family/FamilySettlementTask.java @@ -0,0 +1,29 @@ +package com.accompany.scheduler.task.family; + +import com.accompany.business.service.family.FamilyMemberGoldRemainDayRecordService; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class FamilySettlementTask { + + @Autowired + private FamilyMemberGoldRemainDayRecordService service; + + @SneakyThrows + @Scheduled(cron = "0 0 0 ? * *") + public void dayStatistic(){ + long now = System.currentTimeMillis(); + log.info("FamilySettlement() start.........."); + + service.dayStatistic(null); + + long finish = System.currentTimeMillis(); + log.info("FamilySettlement() cost {}ms finish..........", finish-now); + } + +}