Browse Source

feature1.0.0-img: 优化抖音小程序端接口,添加热门艺术家接口

master
penny 4 years ago
parent
commit
76ea6c2d04
  1. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
  2. 16
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
  3. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorMapper.java
  4. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java
  5. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
  6. 15
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
  7. 32
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorHotVo.java
  8. 13
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorVo.java
  9. 27
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml

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

@ -2,10 +2,6 @@ package com.bnyer.img.constants;
public class RedisKeyConstant {
/**
* 小程序用户图片首页键
*/
public static final String TIKTOK_CREATOR_IMG_KEY = "bnyer.img.tiktok.creatorImg";
/**
* 抖音小程序用户收藏图片键

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

@ -92,10 +92,11 @@ public class TiktokMiniController extends BaseController {
}
//@TokenCheck
@ApiOperation(value="艺术家界面查询艺术家图片列表")
@GetMapping(value = "/creatorImgs")
public AjaxResult creatorImgs(){
return AjaxResult.success(creatorService.queryThreeImgCreatorList());
@ApiOperation(value="艺术家界面查询艺术家图片分页")
@PostMapping(value = "/creatorImgsPage")
public TableDataInfo creatorImgsPage(@RequestBody @ApiParam("分页对象") BasePageDto dto){
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
return getDataTable(creatorService.queryThreeImgCreatorList());
}
//@TokenCheck
@ -201,4 +202,11 @@ public class TiktokMiniController extends BaseController {
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();
}
//@TokenCheck
@ApiOperation(value="查询热门艺术家列表")
@GetMapping(value = "/listHotCreator")
public AjaxResult listHotCreator(){
return AjaxResult.success(creatorService.queryHotCreatorList());
}
}

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

@ -3,6 +3,7 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.dto.CreatorPageDto;
import com.bnyer.img.vo.CreatorHotVo;
import com.bnyer.img.vo.CreatorVo;
import com.bnyer.img.vo.TiktokUserVo;
import org.apache.ibatis.annotations.Mapper;
@ -43,4 +44,10 @@ public interface CreatorMapper extends BaseMapper<Creator> {
* @return -
*/
int updateBatch(@Param("list") List<Creator> list);
/**
* 查询10个热门艺术家列表
* @return -
*/
List<CreatorHotVo> queryHotCreatorList();
}

7
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java

@ -2,6 +2,7 @@ package com.bnyer.img.service;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.dto.*;
import com.bnyer.img.vo.CreatorHotVo;
import com.bnyer.img.vo.CreatorVo;
import java.util.List;
@ -109,4 +110,10 @@ public interface CreatorService {
* @return -
*/
int batchUpdate(List<Creator> list);
/**
* 查询10个热门艺术家列表
* @return -
*/
List<CreatorHotVo> queryHotCreatorList();
}

2
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java

@ -151,7 +151,7 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
}
if (updateList.size() > 0) {
//批量更新邀请记录
//TODO 修改此处BUG
//TODO 此处存在并发问题,会比最终的结果与预期效果值少,但此处暂不修复,故意而为之
creatorProfitMapper.batchUpdateDownload(updateList);
}
if (insertList.size() > 0) {

15
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java

@ -25,6 +25,7 @@ import com.bnyer.img.mapper.InviteLogMapper;
import com.bnyer.img.mapper.TiktokImgMapper;
import com.bnyer.img.mapper.VerifyLogMapper;
import com.bnyer.img.service.CreatorService;
import com.bnyer.img.vo.CreatorHotVo;
import com.bnyer.img.vo.CreatorVo;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
@ -196,14 +197,7 @@ public class CreatorServiceImpl implements CreatorService {
@Override
public List<CreatorVo> queryThreeImgCreatorList() {
//走缓存
String redisKey = RedisKeyConstant.TIKTOK_CREATOR_IMG_KEY;
if(redisService.hasKey(redisKey)){
return JSONObject.parseArray(redisService.getCacheObject(redisKey).toString(), CreatorVo.class);
}
List<CreatorVo> creatorVo = creatorMapper.queryThreeImgCreatorList();
redisService.setCacheObject(redisKey,creatorVo,3600L, TimeUnit.SECONDS);
return creatorVo;
return creatorMapper.queryThreeImgCreatorList();
}
@Override
@ -336,4 +330,9 @@ public class CreatorServiceImpl implements CreatorService {
public int batchUpdate(List<Creator> list) {
return creatorMapper.updateBatch(list);
}
@Override
public List<CreatorHotVo> queryHotCreatorList() {
return creatorMapper.queryHotCreatorList();
}
}

32
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorHotVo.java

@ -0,0 +1,32 @@
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 CreatorHotVo 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 hotNum;
private static final long serialVersionUID = 1L;
}

13
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorVo.java

@ -29,6 +29,19 @@ public class CreatorVo implements Serializable {
@ApiModelProperty(value="序号")
private Integer sort;
@ApiModelProperty(value="简介")
private String intro;
@ApiModelProperty(value="图片总数量")
private Integer imgTotalNum;
@ApiModelProperty(value="图片收藏数量")
private Integer imgCollectionNum;
@ApiModelProperty(value="图片喜欢数量")
private Integer imgLikeNum;
@ApiModelProperty(value="图片列表")
List<TiktokImgVo> imgList;
private static final long serialVersionUID = 1L;

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

@ -27,10 +27,14 @@
<!--@mbg.generated-->
<!--@Table img_creator-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="scan_code" jdbcType="VARCHAR" property="scanCode" />
<result column="scanCode" jdbcType="VARCHAR" property="scanCode" />
<result column="img" jdbcType="VARCHAR" property="img" />
<result column="is_hot" jdbcType="CHAR" property="isHot" />
<result column="isHot" jdbcType="CHAR" property="isHot" />
<result column="sort" jdbcType="INTEGER" property="sort" />
<result column="intro" jdbcType="VARCHAR" property="intro" />
<result column="imgTotalNum" jdbcType="INTEGER" property="imgTotalNum" />
<result column="imgCollectionNum" jdbcType="INTEGER" property="imgCollectionNum" />
<result column="imgLikeNum" jdbcType="INTEGER" property="imgLikeNum" />
<collection property="imgList" ofType="com.bnyer.img.vo.TiktokImgVo" select="com.bnyer.img.mapper.TiktokImgMapper.queryThreeImgs" column="id"/>
</resultMap>
<sql id="Base_Column_List">
@ -41,15 +45,21 @@
<select id="queryThreeImgCreatorList" resultMap="CreatorThreeList">
select
id, scan_code,img,is_hot,sort
ic.id as id, ic.scan_code as scanCode,ic.img as img,ic.is_hot as isHot,ic.sort as sort,ic.intro as intro,
(select count(id) from img_tiktok_img where creator_id = ic.id) as imgTotalNum,
(select sum(great_num) from img_tiktok_img where creator_id = ic.id) as imgLikeNum,
(select sum(collection_num) from img_tiktok_img where creator_id = ic.id) as imgCollectionNum
from img_creator ic
where ic.is_show = '1'
order by ic.create_time desc
</select>
<select id="queryThreeImgCreatorListByScanCode" resultMap="CreatorThreeList">
<select id="queryThreeImgCreatorListByScanCode" resultMap="CreatorThreeList">
select
id, scan_code,img,is_hot,sort
ic.id as id, ic.scan_code as scanCode,ic.img as img,ic.is_hot as isHot,ic.sort as sort,ic.intro as intro,
(select count(id) from img_tiktok_img where creator_id = ic.id) as imgTotalNum,
(select sum(great_num) from img_tiktok_img where creator_id = ic.id) as imgLikeNum,
(select sum(collection_num) from img_tiktok_img where creator_id = ic.id) as imgCollectionNum
from img_creator ic
where ic.is_show = '1' and ic.scan_code = #{scanCode}
</select>
@ -98,4 +108,11 @@
where id = #{item.id}
</foreach>
</update>
<select id="queryHotCreatorList" resultType="com.bnyer.img.vo.CreatorHotVo">
select
ic.id,ic.scan_code,ic.is_hot,ic.img,
(select sum(download_num+great_num+collection_num) from img_tiktok_img where creator_id = ic.id) as hotNum
from img_creator ic
order by hotNum desc limit 10
</select>
</mapper>

Loading…
Cancel
Save