Browse Source

feature-1.0-img: 新增关注功能

feature-1.0-img-prototype
penny 3 years ago
parent
commit
fefc9503a8
  1. 31
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/RedisKeyUtil.java
  2. 32
      bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java
  3. 20
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
  4. 10
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
  5. 40
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java
  6. 44
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
  7. 40
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java
  8. 24
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FollowDto.java
  9. 20
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/UserIdDto.java
  10. 9
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorMapper.java
  11. 28
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FollowService.java
  12. 101
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FollowServiceImpl.java
  13. 35
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorFollowVo.java
  14. 9
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml

31
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/RedisKeyUtil.java

@ -1,31 +0,0 @@
package com.bnyer.common.core.utils;
/**
* @author chengkun
* @date 2022/9/17 15:53
*/
public class RedisKeyUtil {
private static final String SPLIT = ":";
private static final String PREFIX_FOLLOWEE = "followee";
private static final String PREFIX_FOLLOWER = "follower";
//某个用户关注的实体(键:用户Id,值:实体Id)
//followee:【userId:entityType】->zset(entityId,now)
public static String getFolloweeKey(Long userId, Long creatorId,String platform) {
return PREFIX_FOLLOWEE + SPLIT + userId + SPLIT + creatorId + SPLIT + platform;
}
//某个实体拥有的粉丝(键:实体Id,值:用户Id)
//follower:【entityType:entityId】->zset(userId,now)
public static String getFollowerKey(Long userId, Long creatorId,String platform) {
return PREFIX_FOLLOWER + SPLIT + creatorId + SPLIT + userId + SPLIT + platform;
}
//entityType不可以删除,userId和entityId值会有重复,需要借助entityType构成键的一部分加以区分,【不对】
//entityType不可以删除,Id值相同的情况下,需要借助entityType以示区分
}

32
bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java

@ -6,6 +6,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.core.script.RedisScript;
@ -169,29 +170,34 @@ public class RedisService
return setOperation;
}
public void zSetCacheObject(final String redisKey, final T value, double score){
redisTemplate.opsForZSet().add(redisKey, value, score);
}
public void zSetRemove(final String redisKey, T value) {
redisTemplate.opsForZSet().remove(redisKey, value);
}
public long zCardGet(final String redisKey){
return redisTemplate.opsForZSet().zCard(redisKey);
}
/**
* 获得缓存的set
*
* @param key
* @return
*/
public <T> Set<T> getCacheSet(final String key)
public <T> Set<Long> getCacheSet(final String key)
{
return redisTemplate.opsForSet().members(key);
}
/**
* 删除set中的值
* @param key
* @param value
*/
public void removeSet(final String key,final Long value){
redisTemplate.opsForSet().remove(key, value);
}
public boolean hasSet(final String key, final Long value){
Boolean member = redisTemplate.opsForSet().isMember(key, value);
if(member == null || !member){
return false;
}else{
return true;
}
}
/**
* 缓存Map
*

20
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java

@ -106,4 +106,24 @@ public class RedisKeyConstant {
* 用户会员vip锁键
*/
public static final String PAY_USER_VIP_LOCK_KEY = "bnyer.img.userVip.lock:";
/**
* 抖音用户关注艺术家键
*/
public static final String TIKTOK_USER_FOLLOW_KEY = "bnyer.img.tiktok.follow:";
/**
* 微信用户关注艺术家键
*/
public static final String WECHAT_USER_FOLLOW_KEY = "bnyer.img.wechat.follow:";
/**
* 快手用户关注艺术家键
*/
public static final String FH_USER_FOLLOW_KEY = "bnyer.img.fh.follow:";
/**
* 艺术家粉丝数量键
*/
public static final String CREATOR_FANS_NUM_KEY = "bnyer.img.fans.num";
}

10
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java

@ -62,6 +62,9 @@ public class CreatorMiniController extends BaseController {
@Autowired
private BzDataService bzDataService;
@Autowired
private FollowService followService;
//@TokenCheck
@ApiOperation(value="检查手机号是否重复")
@PostMapping(value = "/checkPhone")
@ -345,4 +348,11 @@ public class CreatorMiniController extends BaseController {
log.debug("【艺术家小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorProfitService.checkCreatorCanUpload(dto.getCreatorId()));
}
@ApiOperation(value="获取艺术家粉丝数量")
@PostMapping(value = "/getFansNum")
public AjaxResult getFansNum(@Validated @RequestBody @ApiParam("艺术家id对象") CreatorUploadDto dto){
log.debug("【艺术家小程序】获取艺术家粉丝数量参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(followService.queryFansNum(dto.getCreatorId()));
}
}

40
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java

@ -11,6 +11,7 @@ import com.bnyer.img.domain.Feedback;
import com.bnyer.img.dto.*;
import com.bnyer.img.service.*;
import com.bnyer.img.vo.CreatorDetailsVo;
import com.bnyer.img.vo.CreatorFollowVo;
import com.bnyer.img.vo.SignImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import com.github.pagehelper.PageHelper;
@ -73,6 +74,9 @@ public class FhMiniController extends BaseController {
@Autowired
private ProductService productService;
@Autowired
private FollowService followService;
//@TokenCheck
@ApiOperation(value="查询banner列表")
@GetMapping(value = "/listBanner")
@ -333,4 +337,40 @@ public class FhMiniController extends BaseController {
public AjaxResult queryProductDetails(@ApiParam("主键id") @PathVariable("id") Long id){
return AjaxResult.success(productService.queryFrontDetails(id));
}
//@TokenCheck
@ApiOperation(value="关注")
@PostMapping(value = "/fhFollow")
public AjaxResult fhFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
followService.follow(dto.getUserId(),dto.getCreatorId(),"1");
log.debug("【快手图文小程序】用户【{}】关注了艺术家【{}】",dto.getUserId(),dto.getCreatorId());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="取消关注")
@PostMapping(value = "/fhUnFollow")
public AjaxResult fhUnFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
followService.unFollow(dto.getUserId(),dto.getCreatorId(),"1");
log.debug("【快手图文小程序】用户【{}】取消关注了艺术家【{}】",dto.getUserId(),dto.getCreatorId());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="查询是否关注过")
@PostMapping(value = "/judgeFhFollow")
public AjaxResult judgeFhFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
log.debug("【快手图文小程序】查询是否关注过参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(followService.checkFollow(dto.getUserId(),dto.getCreatorId(),"1"));
}
//@TokenCheck
@ApiOperation(value="查询关注的艺术家分页")
@PostMapping(value = "/getFhFollowCreatorPage")
public TableDataInfo getFhFollowCreatorPage(@Validated @RequestBody @ApiParam("用户id对象") UserIdDto dto){
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
log.debug("【快手图文小程序】查询关注的艺术家分页参数为:{}", JSON.toJSONString(dto));
List<CreatorFollowVo> creatorFollowVos = followService.queryFollowCreatorList(dto.getUserId(), "1");
return getDataTable(creatorFollowVos);
}
}

44
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java

@ -10,10 +10,7 @@ import com.bnyer.img.constants.TiktokConstant;
import com.bnyer.img.domain.Feedback;
import com.bnyer.img.dto.*;
import com.bnyer.img.service.*;
import com.bnyer.img.vo.CreatorDetailsVo;
import com.bnyer.img.vo.CreatorVo;
import com.bnyer.img.vo.SignImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import com.bnyer.img.vo.*;
import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -74,6 +71,9 @@ public class TiktokMiniController extends BaseController {
@Autowired
private ProductService productService;
@Autowired
private FollowService followService;
//@TokenCheck
@ApiOperation(value="查询banner列表")
@GetMapping(value = "/listBanner")
@ -336,4 +336,40 @@ public class TiktokMiniController extends BaseController {
public AjaxResult queryProductDetails(@ApiParam("主键id") @PathVariable("id") Long id){
return AjaxResult.success(productService.queryFrontDetails(id));
}
//@TokenCheck
@ApiOperation(value="关注")
@PostMapping(value = "/tiktokFollow")
public AjaxResult tiktokFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
followService.follow(dto.getUserId(),dto.getCreatorId(),"0");
log.debug("【抖音图文小程序】用户【{}】关注了艺术家【{}】",dto.getUserId(),dto.getCreatorId());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="取消关注")
@PostMapping(value = "/tiktokUnFollow")
public AjaxResult tiktokUnFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
followService.unFollow(dto.getUserId(),dto.getCreatorId(),"0");
log.debug("【抖音图文小程序】用户【{}】取消关注了艺术家【{}】",dto.getUserId(),dto.getCreatorId());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="查询是否关注过")
@PostMapping(value = "/judgeTiktokFollow")
public AjaxResult judgeTiktokFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
log.debug("【抖音图文小程序】查询是否关注过参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(followService.checkFollow(dto.getUserId(),dto.getCreatorId(),"0"));
}
//@TokenCheck
@ApiOperation(value="查询关注的艺术家分页")
@PostMapping(value = "/getTiktokFollowCreatorPage")
public TableDataInfo getTiktokFollowCreatorPage(@Validated @RequestBody @ApiParam("用户id对象") UserIdDto dto){
log.debug("【抖音图文小程序】查询关注的艺术家分页参数为:{}", JSON.toJSONString(dto));
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
List<CreatorFollowVo> creatorFollowVos = followService.queryFollowCreatorList(dto.getUserId(), "0");
return getDataTable(creatorFollowVos);
}
}

40
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java

@ -11,6 +11,7 @@ import com.bnyer.img.domain.Feedback;
import com.bnyer.img.dto.*;
import com.bnyer.img.service.*;
import com.bnyer.img.vo.CreatorDetailsVo;
import com.bnyer.img.vo.CreatorFollowVo;
import com.bnyer.img.vo.SignImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import com.github.pagehelper.PageHelper;
@ -73,6 +74,9 @@ public class WxMiniController extends BaseController {
@Autowired
private ProductService productService;
@Autowired
private FollowService followService;
//@TokenCheck
@ApiOperation(value="查询banner列表")
@GetMapping(value = "/listBanner")
@ -333,4 +337,40 @@ public class WxMiniController extends BaseController {
public AjaxResult queryProductDetails(@ApiParam("主键id") @PathVariable("id") Long id){
return AjaxResult.success(productService.queryFrontDetails(id));
}
//@TokenCheck
@ApiOperation(value="关注")
@PostMapping(value = "/wechatFollow")
public AjaxResult wechatFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
followService.follow(dto.getUserId(),dto.getCreatorId(),"2");
log.debug("【微信图文小程序】用户【{}】关注了艺术家【{}】",dto.getUserId(),dto.getCreatorId());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="取消关注")
@PostMapping(value = "/wechatUnFollow")
public AjaxResult wechatUnFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
followService.unFollow(dto.getUserId(),dto.getCreatorId(),"2");
log.debug("【微信图文小程序】用户【{}】取消关注了艺术家【{}】",dto.getUserId(),dto.getCreatorId());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="查询是否关注过")
@PostMapping(value = "/judgeWechatFollow")
public AjaxResult judgeWechatFollow(@Validated @RequestBody @ApiParam("关注对象") FollowDto dto){
log.debug("【微信图文小程序】查询是否关注过参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(followService.checkFollow(dto.getUserId(),dto.getCreatorId(),"2"));
}
//@TokenCheck
@ApiOperation(value="查询关注的艺术家分页")
@PostMapping(value = "/getWechatFollowCreatorPage")
public TableDataInfo getWechatFollowCreatorPage(@Validated @RequestBody @ApiParam("用户id对象") UserIdDto dto){
log.debug("【微信图文小程序】查询关注的艺术家分页参数为:{}", JSON.toJSONString(dto));
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
List<CreatorFollowVo> creatorFollowVos = followService.queryFollowCreatorList(dto.getUserId(), "2");
return getDataTable(creatorFollowVos);
}
}

24
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/FollowDto.java

@ -0,0 +1,24 @@
package com.bnyer.img.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("关注接收类")
public class FollowDto implements Serializable {
@NotNull(message = "用户id不能为空!")
@ApiModelProperty(value="用户id")
private Long userId;
@NotNull(message = "艺术家id不能为空!")
@ApiModelProperty(value="艺术家id")
private Long creatorId;
}

20
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/UserIdDto.java

@ -0,0 +1,20 @@
package com.bnyer.img.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("关注用户id接收类")
public class UserIdDto extends BasePageDto {
@NotNull(message = "用户id不能为空!")
@ApiModelProperty(value="用户id")
private Long userId;
}

9
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorMapper.java

@ -7,7 +7,9 @@ import com.bnyer.img.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
/**
* @author chengkun
@ -55,4 +57,11 @@ public interface CreatorMapper extends BaseMapper<Creator> {
* @return
*/
CreatorDetailsVo queryCreatorDetailsByScanCode(@Param("scanCode") String scanCode);
/**
* 根据id查询艺术家
* @param creatorId 艺术家ids
* @return -
*/
CreatorFollowVo queryFollowCreatorBySet(@Param("creatorId") Long creatorId);
}

28
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FollowService.java

@ -1,5 +1,9 @@
package com.bnyer.img.service;
import com.bnyer.img.vo.CreatorFollowVo;
import java.util.List;
/**
* @author chengkun
* @date 2022/9/17 15:54
@ -21,4 +25,28 @@ public interface FollowService {
* @param platform 平台
*/
void unFollow(Long userId,Long creatorId,String platform);
/**
* 检查用户是否关注
* @param userId 用户id
* @param creatorId 艺术家id
* @param platform 平台
* @return -
*/
boolean checkFollow(Long userId,Long creatorId,String platform);
/**
* 根据平台和用户id返回关注的艺术家列表
* @param userId 用户id
* @param platform 平台
* @return -
*/
List<CreatorFollowVo> queryFollowCreatorList(Long userId,String platform);
/**
* 艺术家获取粉丝数量
* @param creatorId 艺术家id
* @return -
*/
Integer queryFansNum(Long creatorId);
}

101
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FollowServiceImpl.java

@ -1,17 +1,26 @@
package com.bnyer.img.service.impl;
import com.bnyer.common.core.utils.RedisKeyUtil;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.constants.PlatformConstant;
import com.bnyer.img.constants.RedisKeyConstant;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.mapper.CreatorMapper;
import com.bnyer.img.service.FollowService;
import com.bnyer.img.vo.CreatorFollowVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* @author chengkun
* @date 2022/9/17 16:18
*/
@Service
@Slf4j
public class FollowServiceImpl implements FollowService {
@Autowired
@ -20,18 +29,98 @@ public class FollowServiceImpl implements FollowService {
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private CreatorMapper creatorMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void follow(Long userId, Long creatorId, String platform) {
//关注键
String followeeKey = RedisKeyUtil.getFolloweeKey(userId, creatorId, platform);
//粉丝键
String followerKey = RedisKeyUtil.getFollowerKey(userId, creatorId, platform);
String redisKey = null;
if(platform.equals(PlatformConstant.TIKTOK)){
redisKey = RedisKeyConstant.TIKTOK_USER_FOLLOW_KEY + userId;
}else if(platform.equals(PlatformConstant.FAST_HAND)){
redisKey = RedisKeyConstant.FH_USER_FOLLOW_KEY + userId;
}else{
redisKey = RedisKeyConstant.WECHAT_USER_FOLLOW_KEY + userId;
}
//添加粉丝关注艺术家
Set<Long> creatorSet = new HashSet<>();
creatorSet.add(creatorId);
redisService.setCacheSet(redisKey, creatorSet);
//添加艺术家粉丝数量
redisService.hashIncr(RedisKeyConstant.CREATOR_FANS_NUM_KEY, String.valueOf(creatorId),1);
log.debug("平台{}用户{}关注了艺术家{}",platform,userId,creatorId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void unFollow(Long userId, Long creatorId, String platform) {
String redisKey = null;
if(platform.equals(PlatformConstant.TIKTOK)){
redisKey = RedisKeyConstant.TIKTOK_USER_FOLLOW_KEY + userId;
}else if(platform.equals(PlatformConstant.FAST_HAND)){
redisKey = RedisKeyConstant.FH_USER_FOLLOW_KEY + userId;
}else{
redisKey = RedisKeyConstant.WECHAT_USER_FOLLOW_KEY + userId;
}
//取消粉丝关注艺术家
if(redisService.hasSet(redisKey,creatorId)){
redisService.removeSet(redisKey,creatorId);
//取消艺术家粉丝数量
redisService.hashIncr(RedisKeyConstant.CREATOR_FANS_NUM_KEY, String.valueOf(creatorId),-1);
log.debug("平台{}用户{}取消关注了艺术家{}",platform,userId,creatorId);
}
}
@Override
public boolean checkFollow(Long userId, Long creatorId, String platform) {
String redisKey = null;
if(platform.equals(PlatformConstant.TIKTOK)){
redisKey = RedisKeyConstant.TIKTOK_USER_FOLLOW_KEY + userId;
}else if(platform.equals(PlatformConstant.FAST_HAND)){
redisKey = RedisKeyConstant.FH_USER_FOLLOW_KEY + userId;
}else{
redisKey = RedisKeyConstant.WECHAT_USER_FOLLOW_KEY + userId;
}
if(redisService.hasSet(redisKey,creatorId)){
return true;
}else{
return false;
}
}
@Override
public List<CreatorFollowVo> queryFollowCreatorList(Long userId, String platform) {
String redisKey = null;
if(platform.equals(PlatformConstant.TIKTOK)){
redisKey = RedisKeyConstant.TIKTOK_USER_FOLLOW_KEY + userId;
}else if(platform.equals(PlatformConstant.FAST_HAND)){
redisKey = RedisKeyConstant.FH_USER_FOLLOW_KEY + userId;
}else{
redisKey = RedisKeyConstant.WECHAT_USER_FOLLOW_KEY + userId;
}
//TODO 此处需要优化
if(redisService.hasKey(redisKey)){
List<CreatorFollowVo> creatorList = new ArrayList<>();
Set<Long> cacheSet = redisService.getCacheSet(redisKey);
for (Long aLong : cacheSet) {
CreatorFollowVo followVo = creatorMapper.queryFollowCreatorBySet(aLong);
creatorList.add(followVo);
}
return creatorList;
}else{
return new ArrayList<>();
}
}
@Override
public Integer queryFansNum(Long creatorId) {
String redisKey = RedisKeyConstant.CREATOR_FANS_NUM_KEY;
if(redisService.hasHashKey(redisKey,String.valueOf(creatorId))){
return redisService.getCacheMapValue(redisKey, String.valueOf(creatorId));
}else{
return 0;
}
}
}

35
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorFollowVo.java

@ -0,0 +1,35 @@
package com.bnyer.img.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("粉丝关注艺术家响应类")
public class CreatorFollowVo implements Serializable {
@ApiModelProperty(value="id")
private Long id;
@ApiModelProperty(value="搜索码")
private String scanCode;
@ApiModelProperty(value="是否热门")
private String isHot;
@ApiModelProperty(value="头像img地址")
private String img;
@ApiModelProperty(value="序号")
private Integer sort;
@ApiModelProperty(value="简介")
private String intro;
private static final long serialVersionUID = 1L;
}

9
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml

@ -133,4 +133,13 @@
from img_creator ic
where ic.is_show = '1' and ic.status = '1' and ic.scan_code = #{scanCode}
</select>
<select id="queryFollowCreatorBySet" resultType="com.bnyer.img.vo.CreatorFollowVo">
select
ic.id as id,ic.scan_code as scanCode,ic.is_hot as isHot,
ic.img as img,ic.sort as sort,ic.intro as intro
from img_creator ic
where ic.is_show = '1' and ic.status = '1' and ic.id = #{creatorId}
order by ic.sort desc
</select>
</mapper>

Loading…
Cancel
Save