diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java index fc2ca953..cbea8970 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/CaiUnitTest.java @@ -2,11 +2,13 @@ package com.ruoyi.test; import com.ruoyi.cai.rank.RankManager; import com.ruoyi.cai.rank.RankNode; +import com.ruoyi.cai.service.RankService; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import java.time.LocalDate; import java.util.List; /** @@ -20,6 +22,8 @@ public class CaiUnitTest { @Autowired private RankManager rankManager; + @Autowired + private RankService rankService; @Test public void rank(){ @@ -36,5 +40,9 @@ public class CaiUnitTest { log.info("userId={}, score={}", node.getUserId(),node.getScore()); } } + @Test + public void saveRank(){ + rankService.saveDayRank(LocalDate.now(),1); + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/RankController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/RankController.java index 45cc462f..9ebd26ad 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/RankController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/RankController.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.Rank; +import com.ruoyi.cai.dto.admin.vo.RankAdminVo; import com.ruoyi.cai.service.RankService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; @@ -38,8 +39,8 @@ public class RankController extends BaseController { */ @SaCheckPermission("cai:rank:list") @GetMapping("/list") - public TableDataInfo list(Rank bo, PageQuery pageQuery) { - Page page = rankService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); + public TableDataInfo list(RankAdminVo bo, PageQuery pageQuery) { + Page page = rankService.pageAdmin(pageQuery, bo); return TableDataInfo.build(page); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Rank.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Rank.java index 448f39d8..ba9ee037 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Rank.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/Rank.java @@ -1,6 +1,8 @@ package com.ruoyi.cai.domain; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.constant.DateConstant; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; @@ -9,6 +11,7 @@ import java.util.Date; import java.math.BigDecimal; import com.ruoyi.common.core.domain.BaseEntity; +import org.springframework.format.annotation.DateTimeFormat; /** * 榜单对象 cai_rank @@ -39,7 +42,8 @@ public class Rank implements Serializable { * 榜单期数 */ private String rankTime; - + @DateTimeFormat(pattern = DateConstant.PATTERN_DATE) + @JsonFormat(pattern = DateConstant.PATTERN_DATE) private LocalDate rankBeginTime; private LocalDate rankEndTime; private Integer orderRank; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/vo/RankAdminVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/vo/RankAdminVo.java new file mode 100644 index 00000000..1b8dc4eb --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/vo/RankAdminVo.java @@ -0,0 +1,35 @@ +package com.ruoyi.cai.dto.admin.vo; + +import com.ruoyi.cai.domain.Rank; +import com.ruoyi.common.annotation.Sensitive; +import com.ruoyi.common.enums.SensitiveStrategy; +import lombok.Data; + +@Data +public class RankAdminVo extends Rank { + /** + * 用户号/ID号 + */ + private String usercode; + /** + * 昵称 + */ + private String nickname; + + /** + * 手机号 + */ + @Sensitive(strategy = SensitiveStrategy.PHONE) + private String mobile; + + /** + * 头像 + */ + private String avatar; + /** + * 性别 + */ + private Integer gender; + private Integer age; + private Integer isAnchor; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java index 438a742b..b9aaf9d9 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/RankJob.java @@ -3,6 +3,7 @@ package com.ruoyi.cai.job; import com.ruoyi.cai.service.RankService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.time.DayOfWeek; @@ -16,6 +17,7 @@ public class RankJob { @Autowired private RankService rankService; + @Scheduled(cron = "0 1 0 * * ? ") public void persistentDb() { LocalDate date = LocalDateTime.now().plusDays(-1).toLocalDate(); try { diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/RankMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/RankMapper.java index 244ba0b6..19f4d3d8 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/RankMapper.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/RankMapper.java @@ -1,7 +1,10 @@ package com.ruoyi.cai.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.Rank; +import com.ruoyi.cai.dto.admin.vo.RankAdminVo; +import org.apache.ibatis.annotations.Param; /** * 榜单Mapper接口 @@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.Rank; */ public interface RankMapper extends BaseMapper { + Page pageAdmin(@Param("build") Page build, @Param("bo") RankAdminVo bo); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RankService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RankService.java index 8974f4e6..516fa086 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RankService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RankService.java @@ -1,8 +1,11 @@ package com.ruoyi.cai.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.Rank; +import com.ruoyi.cai.dto.admin.vo.RankAdminVo; import com.ruoyi.cai.rank.RankNode; +import com.ruoyi.common.core.domain.PageQuery; import java.time.LocalDate; import java.util.List; @@ -30,4 +33,6 @@ public interface RankService extends IService { List getInviteRankLastWeek(int limit); List getInviteRankLastDay(int limit); + + Page pageAdmin(PageQuery pageQuery, RankAdminVo bo); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java index 402bf113..928345a2 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.cai.enums.ConsumeLogStatus; import com.ruoyi.cai.enums.ConsumeLogType; import com.ruoyi.cai.enums.account.AccountChangeCodeEnum; import com.ruoyi.cai.mapper.ConsumeLogMapper; +import com.ruoyi.cai.rank.RankManager; import com.ruoyi.cai.service.*; import com.ruoyi.cai.util.NumCaUtil; import com.ruoyi.common.core.domain.model.LoginUser; @@ -93,23 +94,36 @@ public class ConsumeLogServiceImpl extends ServiceImpl 0){ AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getOneInviteChange(code); accountService.distribution(consumer,consumer.getOneUserId(),consumer.getOneAmount(),changeCodeEnum); + oneInviteSend = true; } // 计算工会 if(consumer.getUnionUserId() != null && BooleanUtils.isTrue(consumer.getUnionJoin()) && consumer.getUnionAmount() > 0){ AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getUnionChange(code); accountService.distribution(consumer,consumer.getUnionUserId(),consumer.getUnionAmount(),changeCodeEnum); + oneUnionSend = true; + } + if(oneInviteSend){ + rankManager.sendInviteRankMq(consumer.getOneUserId(),consumer.getOneAmount(),consumer.getTraceId()); + } + if(oneUnionSend){ + rankManager.sendInviteRankMq(consumer.getUnionUserId(),consumer.getUnionAmount(),consumer.getTraceId()); } }catch (Exception e){ log.error("分销发生未知错误,请联系开发检查!",e); } } + @Autowired + private RankManager rankManager; + @Override public ConsumeLog calculateInitFenxiao(ConsumeLog consumeLog){ if(ConsumeLogType.RECHARGE.getCode().equals(consumeLog.getType())){ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RankServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RankServiceImpl.java index 049b86e9..99d7bd07 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RankServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RankServiceImpl.java @@ -3,9 +3,11 @@ package com.ruoyi.cai.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.Rank; import com.ruoyi.cai.domain.User; +import com.ruoyi.cai.dto.admin.vo.RankAdminVo; import com.ruoyi.cai.enums.SystemConfigEnum; import com.ruoyi.cai.enums.account.AccountChangeCodeEnum; import com.ruoyi.cai.manager.IdManager; @@ -18,6 +20,7 @@ import com.ruoyi.cai.service.AccountChangeLogService; import com.ruoyi.cai.service.RankService; import com.ruoyi.cai.service.UserService; import com.ruoyi.cai.util.CaiDateUtil; +import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.exception.ServiceException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -331,4 +334,9 @@ public class RankServiceImpl extends ServiceImpl implements Ran return rankNode; }).collect(Collectors.toList()); } + + @Override + public Page pageAdmin(PageQuery pageQuery, RankAdminVo bo) { + return baseMapper.pageAdmin(pageQuery.build(),bo); + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java index aa074ad9..063d1267 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java @@ -88,9 +88,9 @@ public class UserServiceImpl extends ServiceImpl implements Us if(query.getType() == 1){ mapperQuery.setUsercodeAndNickname(query.getText()); }else if(query.getType() == 2){ - mapperQuery.setUsercode(query.getText()); - }else if(query.getType() == 3){ mapperQuery.setNickname(query.getText()); + }else if(query.getType() == 3){ + mapperQuery.setUsercode(query.getText()); } return baseMapper.pageApp(page.build(),mapperQuery); } diff --git a/ruoyi-cai/src/main/resources/mapper/cai/RankMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/RankMapper.xml index 08782d6f..ce3f192f 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/RankMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/RankMapper.xml @@ -4,16 +4,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - + diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/DateConstant.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DateConstant.java new file mode 100644 index 00000000..4667557e --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DateConstant.java @@ -0,0 +1,13 @@ +package com.ruoyi.common.constant; + +/** + *

created on 2021/7/15

+ * + * @author zhangliang + */ +public class DateConstant { + + public final static String PATTERN_DATETIME = "yyyy-MM-dd HH:mm:ss"; + + public final static String PATTERN_DATE = "yyyy-MM-dd"; +}