1231123
This commit is contained in:
@@ -23,6 +23,8 @@ public class RedisHttpConstant {
|
||||
|
||||
public static final String HOME_RECOMMEND_TOP_REDIS = REDIS_P + "homeRecommendAnchorTop";
|
||||
public static final String HOME_RECOMMEND_REDIS = REDIS_P + "homeRecommendAnchor";
|
||||
|
||||
public static final String HOME_ANCHOR_BANNER_REDIS = REDIS_P + "homeAnchorBanner";
|
||||
public static final String HOME_NEW_REDIS = REDIS_P + "homeNewAnchor";
|
||||
public static final String HOME_ACTIVE_REDIS = REDIS_P + "homeActiveAnchor";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.ruoyi.cai.dto.admin.vo.anchorBanner;
|
||||
|
||||
import com.ruoyi.cai.domain.AnchorBanner;
|
||||
import com.ruoyi.common.annotation.Sensitive;
|
||||
import com.ruoyi.common.enums.SensitiveStrategy;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AnchorBannerAdminVo extends AnchorBanner {
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.PHONE)
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
private Integer gender;
|
||||
private Integer age;
|
||||
private Integer isAnchor;
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.enums.home.AnchorListQueryTypeEnum;
|
||||
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||
import com.ruoyi.cai.mq.handle.dto.LoginNotifyDTO;
|
||||
import com.ruoyi.cai.service.AnchorBannerService;
|
||||
import com.ruoyi.cai.service.AnchorService;
|
||||
import com.ruoyi.cai.service.AnchorTopService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
@@ -42,6 +43,8 @@ public class HomeManager {
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private UserForbidManager userForbidManager;
|
||||
@Autowired
|
||||
private AnchorBannerService anchorBannerService;
|
||||
|
||||
public void refreshHomeAnchorTopCache(){
|
||||
List<AnchorListVo> anchorTop = anchorTopService.anchorTop(4);
|
||||
@@ -49,6 +52,12 @@ public class HomeManager {
|
||||
bucket.set(anchorTop);
|
||||
}
|
||||
|
||||
public void refreshAnchorBannerCache(){
|
||||
List<AnchorListVo> anchorList = anchorBannerService.anchorBanner();
|
||||
RBucket<List<AnchorListVo>> bucket = redissonClient.getBucket(RedisHttpConstant.HOME_ANCHOR_BANNER_REDIS);
|
||||
bucket.set(anchorList);
|
||||
}
|
||||
|
||||
public void refreshHomeRecommendCache(){
|
||||
PageQuery pageQuery = new PageQuery();
|
||||
pageQuery.setPageSize(200);
|
||||
@@ -94,6 +103,13 @@ public class HomeManager {
|
||||
bucket.set(records);
|
||||
}
|
||||
|
||||
public List<AnchorListVo> getAnchorBannerCache(){
|
||||
RBucket<List<AnchorListVo>> bucket = redissonClient.getBucket(RedisHttpConstant.HOME_ANCHOR_BANNER_REDIS);
|
||||
List<AnchorListVo> list = bucket.get();
|
||||
Collections.shuffle(list);
|
||||
int endIndex = Math.min(5, list.size());
|
||||
return list.subList(0,endIndex);
|
||||
}
|
||||
|
||||
public List<AnchorListVo> getHomeCache(PageQuery pageQuery,AnchorListQuery query){
|
||||
AnchorListQueryTypeEnum anchorListQueryTypeEnum = AnchorListQueryTypeEnum.getByCode(query.getType());
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
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.AnchorBanner;
|
||||
import com.ruoyi.cai.dto.admin.vo.anchorBanner.AnchorBannerAdminVo;
|
||||
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 主播首页推荐Mapper接口
|
||||
@@ -11,4 +17,8 @@ import com.ruoyi.cai.domain.AnchorBanner;
|
||||
*/
|
||||
public interface AnchorBannerMapper extends BaseMapper<AnchorBanner> {
|
||||
|
||||
Page<AnchorBannerAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") AnchorBannerAdminVo bo);
|
||||
|
||||
List<AnchorListVo> pageApp();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
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.AnchorBanner;
|
||||
import com.ruoyi.cai.dto.admin.vo.anchorBanner.AnchorBannerAdminVo;
|
||||
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 主播首页推荐Service接口
|
||||
@@ -12,4 +18,9 @@ import com.ruoyi.cai.domain.AnchorBanner;
|
||||
public interface AnchorBannerService extends IService<AnchorBanner> {
|
||||
|
||||
boolean saveData(AnchorBanner bo);
|
||||
|
||||
Page<AnchorBannerAdminVo> pageAdmin(PageQuery pageQuery, AnchorBannerAdminVo bo);
|
||||
|
||||
List<AnchorListVo> anchorBanner();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.Anchor;
|
||||
import com.ruoyi.cai.domain.AnchorBanner;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.dto.admin.vo.anchorBanner.AnchorBannerAdminVo;
|
||||
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
||||
import com.ruoyi.cai.mapper.AnchorBannerMapper;
|
||||
import com.ruoyi.cai.service.AnchorBannerService;
|
||||
import com.ruoyi.cai.service.AnchorService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 主播首页推荐Service业务层处理
|
||||
*
|
||||
@@ -42,4 +48,14 @@ public class AnchorBannerServiceImpl extends ServiceImpl<AnchorBannerMapper, Anc
|
||||
this.save(bo);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<AnchorBannerAdminVo> pageAdmin(PageQuery pageQuery, AnchorBannerAdminVo bo) {
|
||||
return baseMapper.pageAdmin(pageQuery.build(), bo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AnchorListVo> anchorBanner() {
|
||||
return baseMapper.pageApp();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.ruoyi.cai.mapper.AnchorBannerMapper">
|
||||
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.anchorBanner.AnchorBannerAdminVo">
|
||||
select
|
||||
t1.*,t2.age,t2.avatar,t2.usercode,t2.nickname,t2.mobile,t2.gender,t2.age,t2.city,t2.is_anchor
|
||||
from cai_anchor_banner t1
|
||||
left join cai_user t2 on t1.user_id = t2.id
|
||||
<where>
|
||||
<if test="bo.mobile != null and bo.mobile != ''">
|
||||
and t2.mobile = #{bo.mobile}
|
||||
</if>
|
||||
<if test="bo.usercode != null and bo.usercode != ''">
|
||||
and t2.usercode = #{bo.usercode}
|
||||
</if>
|
||||
</where>
|
||||
order by t1.create_time desc
|
||||
</select>
|
||||
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.AnchorListVo">
|
||||
select t1.id as user_id,t1.avatar,t1.gender,t1.city,t1.nickname,t1.usercode,t1.city_id,t1.city,t2.give_score,
|
||||
t2.price,t3.status as online
|
||||
from cai_anchor_banner p
|
||||
join cai_user t1 on p.user_id = t1.id
|
||||
join cai_anchor t2 on t1.id = t2.user_id
|
||||
join cai_user_online t3 on t1.id = t3.user_id
|
||||
where t1.status = 0 and t1.is_anchor = 1 and t1.usercode > 100 and p.open_status = 1
|
||||
limit 100
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user