Browse Source

feature1.0.0-img:添加艺术家接口

master
chengkun 4 years ago
parent
commit
933903c26a
  1. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
  2. 7
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java
  3. 80
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java
  4. 52
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
  5. 26
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokUserController.java
  6. 104
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java
  7. 51
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokUser.java
  8. 46
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java
  9. 5
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorImgsDetailsDto.java
  10. 36
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java
  11. 31
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokBindPhoneDto.java
  12. 41
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokCreaterDto.java
  13. 22
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokUserDto.java
  14. 18
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokUserPageDto.java
  15. 31
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorMapper.java
  16. 15
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokUserMapper.java
  17. 63
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java
  18. 35
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java
  19. 135
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
  20. 169
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java
  21. 35
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorVo.java
  22. 4
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java
  23. 24
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokUserPhoneInfoVo.java
  24. 14
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokUserVo.java
  25. 53
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml
  26. 58
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokUserMapper.xml

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

@ -5,7 +5,7 @@ public class RedisKeyConstant {
/**
* 小程序用户图片首页键
*/
public static final String TIKTOK_USER_IMG_KEY = "bnyer.img.tiktok.userImg";
public static final String TIKTOK_CREATOR_IMG_KEY = "bnyer.img.tiktok.creatorImg";
/**
* 抖音小程序用户收藏图片键

7
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java

@ -16,11 +16,6 @@ public class TiktokConstant {
*/
public static final Integer BINDED_PHONE = 105001;
/**
* 绑定手机号失败
*/
public static final Integer BIND_PHONE_ERROR = 105002;
/**
* 成为艺术家搜索码重复
*/
@ -34,5 +29,5 @@ public class TiktokConstant {
/**
* 艺术家不存在
*/
public static final Integer TIKTOK_USER_NOT_EXIST = 105005;
public static final Integer TIKTOK_CREATOR_NOT_EXIST = 105005;
}

80
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java

@ -0,0 +1,80 @@
package com.bnyer.img.controller;
import com.alibaba.fastjson.JSON;
import com.bnyer.common.core.utils.Sm4Util;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo;
import com.bnyer.img.domain.TiktokUser;
import com.bnyer.img.dto.StatusDto;
import com.bnyer.img.dto.TiktokUserDto;
import com.bnyer.img.dto.TiktokUserPageDto;
import com.bnyer.img.service.CreatorService;
import com.bnyer.img.service.TiktokUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(value = "img-creator-【后端】抖音平台艺术家接口",tags = "img-creator-【后端】抖音平台艺术家接口")
@RestController
@RequestMapping("/img/creator")
@Slf4j
public class CreatorController extends BaseController {
@Autowired
private CreatorService creatorService;
//@RequiresPermissions("system:config:list")
@ApiOperation(value="查询艺术家分页")
@PostMapping("/page")
public TableDataInfo pageTiktokUser(@RequestBody @ApiParam("分页对象") TiktokUserPageDto dto){
startPage();
List<TiktokUser> tiktokUsers = creatorService.queryPage(dto);
for (TiktokUser tiktokUser : tiktokUsers) {
if(tiktokUser != null){
if(StringUtils.isNotBlank(tiktokUser.getTiktokCode())){
tiktokUser.setTiktokCode(Sm4Util.sm4Decrypt(tiktokUser.getTiktokCode()));
}
}
}
return getDataTable(tiktokUsers);
}
//@RequiresPermissions("system:config:list")
@ApiOperation(value="修改艺术家")
@PostMapping(value = "/update")
public AjaxResult update(@RequestBody @ApiParam("艺术家对象") TiktokUserDto dto){
log.debug("修改艺术家参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorService.update(dto.extractParam()));
}
//@RequiresPermissions("system:config:list")
@ApiOperation(value="删除艺术家")
@DeleteMapping(value = "/delete/{ids}")
public AjaxResult deleteTiktokUser(@PathVariable @ApiParam("主键ids") List<Long> ids){
log.debug("删除艺术家参数为:{}", ids);
return AjaxResult.success(creatorService.delete(ids));
}
//@RequiresPermissions("system:config:list")
@ApiOperation(value="查询艺术家详情")
@GetMapping(value = "/details/{id}")
public AjaxResult detailsTiktokUser(@PathVariable @ApiParam("主键id") Long id){
return AjaxResult.success(creatorService.queryDetails(id));
}
//@RequiresPermissions("system:config:list")
@ApiOperation(value="变更type显示状态")
@PostMapping(value = "/changeStatus")
public AjaxResult changeStatus(@Validated @RequestBody @ApiParam("type状态对象") StatusDto dto){
log.debug("变更type参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorService.changeStatus(dto.getId(),dto.getStatus()));
}
}

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

@ -10,6 +10,7 @@ import com.bnyer.img.domain.TiktokImg;
import com.bnyer.img.dto.*;
import com.bnyer.img.service.*;
import com.bnyer.img.service.TiktokLikeService;
import com.bnyer.img.vo.CreatorVo;
import com.bnyer.img.vo.TiktokImgVo;
import com.bnyer.img.vo.TiktokUserVo;
import io.swagger.annotations.Api;
@ -43,6 +44,9 @@ public class TiktokMiniController extends BaseController {
@Autowired
private TiktokUserService tiktokUserService;
@Autowired
private CreatorService creatorService;
@Autowired
private TiktokCollectionService tiktokCollectionService;
@ -122,22 +126,22 @@ public class TiktokMiniController extends BaseController {
}
//@TokenCheck
@ApiOperation(value="查询小程序用户图片列表")
@GetMapping(value = "/tiktokUserImgs")
public AjaxResult tiktokUserImgs(){
return AjaxResult.success(tiktokUserService.queryUserImgList());
@ApiOperation(value="查询艺术家图片列表")
@GetMapping(value = "/creatorImgs")
public AjaxResult creatorImgs(){
return AjaxResult.success(creatorService.queryThreeImgCreatorList());
}
//@TokenCheck
@ApiOperation(value="根据搜索码查询用户图片列表")
@PostMapping(value = "/tiktokUserImgsDetails")
public AjaxResult tiktokUserImgsDetails(@Validated @RequestBody @ApiParam("搜索码对象") UserImgsDetailsDto params){
log.info("根据搜索码查询用户图片列表参数为:{}", params.getScanCode());
TiktokUserVo tiktokUserVo = tiktokUserService.queryUserImgListByScanCode(params.getScanCode());
if(tiktokUserVo == null){
return AjaxResult.error(TiktokConstant.TIKTOK_USER_NOT_EXIST,"该艺术在不存在!");
@ApiOperation(value="根据搜索码查询艺术家图片列表")
@PostMapping(value = "/creatorImgsDetails")
public AjaxResult creatorImgsDetails(@Validated @RequestBody @ApiParam("搜索码对象") CreatorImgsDetailsDto params){
log.info("根据搜索码查询艺术家图片列表参数为:{}", params.getScanCode());
CreatorVo creatorVo = creatorService.queryCreatorImgListByScanCode(params.getScanCode());
if(creatorVo == null){
return AjaxResult.error(TiktokConstant.TIKTOK_CREATOR_NOT_EXIST,"该艺术家不存在!");
}
return AjaxResult.success(tiktokUserVo);
return AjaxResult.success(creatorVo);
}
//@TokenCheck
@ -208,22 +212,6 @@ public class TiktokMiniController extends BaseController {
return AjaxResult.success(tiktokUserService.login(dto));
}
//@TokenCheck
@ApiOperation(value="绑定手机号")
@PostMapping(value = "/bindPhone")
public AjaxResult bindPhone(@Validated @RequestBody @ApiParam("绑定对象") TiktokBindPhoneDto dto){
log.info("绑定手机号参数为:{}", JSON.toJSONString(dto));
tiktokUserService.bindPhone(dto);
return AjaxResult.success();
}
@ApiOperation(value="修改tiktok小程序用户信息")
@PostMapping(value = "/updateUser")
public AjaxResult updateUser(@Validated @RequestBody @ApiParam("user对象") TiktokUserMiniDto dto){
log.info("修改tiktok小程序用户参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(tiktokUserService.miniUpdate(dto));
}
//@TokenCheck
@ApiOperation(value="查询小程序首页图片列表")
@PostMapping(value = "/imgLists")
@ -232,4 +220,12 @@ public class TiktokMiniController extends BaseController {
List<TiktokImgVo> tiktokImgVos = tiktokImgService.queryFrontPage();
return getDataTable(tiktokImgVos);
}
//@TokenCheck
@ApiOperation(value="成为艺术家")
@PostMapping(value = "/insertCreator")
public AjaxResult insertCreator(@Validated @RequestBody @ApiParam("艺术家对象") CreatorDto dto){
log.info("成为艺术家参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorService.insertCreator(dto));
}
}

26
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokUserController.java

@ -6,10 +6,8 @@ import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo;
import com.bnyer.common.security.annotation.RequiresPermissions;
import com.bnyer.img.domain.TiktokUser;
import com.bnyer.img.dto.StatusDto;
import com.bnyer.img.dto.TiktokCreaterDto;
import com.bnyer.img.dto.TiktokUserDto;
import com.bnyer.img.dto.TiktokUserPageDto;
import com.bnyer.img.service.TiktokUserService;
@ -40,9 +38,6 @@ public class TiktokUserController extends BaseController {
List<TiktokUser> tiktokUsers = tiktokUserService.queryPage(dto);
for (TiktokUser tiktokUser : tiktokUsers) {
if(tiktokUser != null){
if(StringUtils.isNotBlank(tiktokUser.getPhone())){
tiktokUser.setPhone(Sm4Util.sm4Decrypt(tiktokUser.getPhone()));
}
if(StringUtils.isNotBlank(tiktokUser.getTiktokCode())){
tiktokUser.setTiktokCode(Sm4Util.sm4Decrypt(tiktokUser.getTiktokCode()));
}
@ -52,18 +47,10 @@ public class TiktokUserController extends BaseController {
}
//@RequiresPermissions("system:config:list")
@ApiOperation(value="成为艺术家")
@PostMapping(value = "/insert")
public AjaxResult insertTiktokUser(@Validated @RequestBody @ApiParam("user对象") TiktokCreaterDto dto){
log.debug("成为艺术家参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(tiktokUserService.insertCreator(dto));
}
//@RequiresPermissions("system:config:list")
@ApiOperation(value="修改艺术家")
@ApiOperation(value="修改user")
@PostMapping(value = "/update")
public AjaxResult update(@RequestBody @ApiParam("艺术家对象") TiktokUserDto dto){
log.debug("修改艺术家参数为:{}", JSON.toJSONString(dto));
public AjaxResult update(@RequestBody @ApiParam("user对象") TiktokUserDto dto){
log.debug("修改user参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(tiktokUserService.update(dto.extractParam()));
}
@ -79,12 +66,7 @@ public class TiktokUserController extends BaseController {
@ApiOperation(value="查询user详情")
@GetMapping(value = "/details/{id}")
public AjaxResult detailsTiktokUser(@PathVariable @ApiParam("主键id") Long id){
TiktokUser tiktokUser = tiktokUserService.queryDetails(id);
if(tiktokUser != null){
tiktokUser.setPhone(Sm4Util.sm4Decrypt(tiktokUser.getPhone()));
tiktokUser.setTiktokCode(Sm4Util.sm4Decrypt(tiktokUser.getTiktokCode()));
}
return AjaxResult.success(tiktokUser);
return AjaxResult.success(tiktokUserService.queryDetails(id));
}
//@RequiresPermissions("system:config:list")

104
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java

@ -0,0 +1,104 @@
package com.bnyer.img.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
/**
* @author chengkun
* @date 2022/5/30 16:25
*/
/**
* 图文平台艺术家表
*/
@ApiModel(value="com-bnyer-img-domain-Creator")
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "img_creator")
public class Creator extends BaseDomain {
/**
* 主键id
*/
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="主键id")
private Long id;
/**
* 姓名
*/
@TableField(value = "`name`")
@ApiModelProperty(value="姓名")
private String name;
/**
* 搜索码
*/
@TableField(value = "scan_code")
@ApiModelProperty(value="搜索码")
private String scanCode;
/**
* 手机号
*/
@TableField(value = "phone")
@ApiModelProperty(value="手机号")
private String phone;
/**
* 头像img地址
*/
@TableField(value = "img")
@ApiModelProperty(value="头像img地址")
private String img;
/**
* 简介
*/
@TableField(value = "intro")
@ApiModelProperty(value="简介")
private String intro;
/**
* 邀请码
*/
@TableField(value = "invite_code")
@ApiModelProperty(value="邀请码")
private String inviteCode;
/**
* 状态(0->待审核;1->审核通过;2->审核拒绝)
*/
@TableField(value = "status")
@ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
private String status;
/**
* 第三方平台账号详情地址
*/
@TableField(value = "url")
@ApiModelProperty(value="第三方平台账号详情地址")
private String url;
/**
* 是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)
*/
@TableField(value = "is_hot")
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
/**
* 是否显示 (0->隐藏1->显示)
*/
@TableField(value = "is_show")
@ApiModelProperty(value="是否显示 (0->隐藏;1->显示)")
private String isShow;
private static final long serialVersionUID = 1L;
}

51
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/TiktokUser.java

@ -37,41 +37,6 @@ public class TiktokUser extends BaseDomain {
@ApiModelProperty(value="抖音id")
private String tiktokCode;
/**
* 抖音号
*/
@TableField(value = "tiktok_number")
@ApiModelProperty(value="抖音号")
private String tiktokNumber;
/**
* 手机号
*/
@TableField(value = "phone")
@ApiModelProperty(value="手机号")
private String phone;
/**
* 搜索码
*/
@TableField(value = "scan_code")
@ApiModelProperty(value="搜索码")
private String scanCode;
/**
* 邀请码
*/
@TableField(value = "invite_code")
@ApiModelProperty(value="邀请码")
private String inviteCode;
/**
* 个人简介
*/
@TableField(value = "intro")
@ApiModelProperty(value="个人简介")
private String intro;
/**
* 头像img地址
*/
@ -79,19 +44,5 @@ public class TiktokUser extends BaseDomain {
@ApiModelProperty(value="头像img地址")
private String img;
/**
* 是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)
*/
@TableField(value = "is_hot")
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
/**
* 是否为艺术家(0->;1->)
*/
@TableField(value = "is_creator")
@ApiModelProperty(value="是否为艺术家(0->否;1->是)")
private String isCreator;
private static final long serialVersionUID = 1L;
}
}

46
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java

@ -0,0 +1,46 @@
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.NotBlank;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("艺术家接收类")
public class CreatorDto implements Serializable {
@ApiModelProperty(value="主键Id")
private Long id;
@NotBlank(message = "姓名不能为空!")
@ApiModelProperty(value="姓名")
private String name;
@NotBlank(message = "搜索码不能为空!")
@ApiModelProperty(value="搜索码")
private String scanCode;
@NotBlank(message = "手机号不能为空!")
@ApiModelProperty(value="手机号")
private String phone;
@NotBlank(message = "头像不能为空!")
@ApiModelProperty(value="头像img地址")
private String img;
@ApiModelProperty(value="简介")
private String intro;
@NotBlank(message = "邀请码不能为空!")
@ApiModelProperty(value="邀请码")
private String inviteCode;
@NotBlank(message = "第三方平台账号详情地址不能为空!")
@ApiModelProperty(value="第三方平台账号详情地址")
private String url;
}

5
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/UserImgsDetailsDto.java → bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorImgsDetailsDto.java

@ -6,14 +6,13 @@ import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("首页用户详情接收类")
public class UserImgsDetailsDto implements Serializable {
@ApiModel("首页艺术家详情接收类")
public class CreatorImgsDetailsDto implements Serializable {
@NotBlank(message = "搜索码不能为空!")
@ApiModelProperty(value="搜索码")

36
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java

@ -0,0 +1,36 @@
package com.bnyer.img.dto;
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 CreatorPageDto implements Serializable {
@ApiModelProperty(value="姓名")
private String name;
@ApiModelProperty(value="搜索码")
private String scanCode;
@ApiModelProperty(value="手机号")
private String phone;
@ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
private String status;
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
@ApiModelProperty(value="邀请码")
private String inviteCode;
@ApiModelProperty(value="是否展示")
private String isShow;
}

31
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokBindPhoneDto.java

@ -1,31 +0,0 @@
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 TiktokBindPhoneDto implements Serializable {
@NotNull(message = "用户Id不能为空!")
@ApiModelProperty(value = "用户Id")
private Long userId;
@NotNull(message = "加密数据不能为空!")
@ApiModelProperty(value = "加密数据")
private String encryptedData;
@NotNull(message = "sessionKey不能为空!")
@ApiModelProperty(value = "sessionKey")
private String sessionKey;
@NotNull(message = "加密算法向量不能为空!")
@ApiModelProperty(value = "加密算法向量")
private String iv;
}

41
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokCreaterDto.java

@ -1,41 +0,0 @@
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;
/**
* @author chengkun
* @date 2022/4/22 16:06
*/
@Getter
@Setter
@ApiModel("抖音艺术家接收类")
public class TiktokCreaterDto implements Serializable {
@NotNull(message = "id不能为空")
@ApiModelProperty(value="id")
private Long id;
@NotNull(message = "抖音号不能为空")
@ApiModelProperty(value="抖音号")
private String tiktokNum;
@NotNull(message = "搜索码不能为空")
@ApiModelProperty(value="搜索码")
private String scanCode;
@ApiModelProperty(value="邀请码")
private String inviteCode;
@NotNull(message = "手机号不能为空!")
@ApiModelProperty(value="手机号")
private String phone;
@ApiModelProperty(value="简介")
private String intro;
}

22
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokUserDto.java

@ -7,7 +7,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@ -25,30 +24,9 @@ public class TiktokUserDto implements Serializable {
@ApiModelProperty(value="抖音id")
private String tiktokCode;
@ApiModelProperty(value="抖音号")
private String tiktokNumber;
@ApiModelProperty(value="手机号")
private String phone;
@ApiModelProperty(value="搜索码")
private String scanCode;
@ApiModelProperty(value="邀请码")
private String inviteCode;
@ApiModelProperty(value="个人简介")
private String intro;
@ApiModelProperty(value="头像img地址")
private String img;
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
@ApiModelProperty(value="是否为艺术家(0->否;1->是)")
private String isCreator;
public TiktokUser extractParam(){
TiktokUser tiktokUser = new TiktokUser();
BeanUtils.copyProperties(this, tiktokUser);

18
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokUserPageDto.java

@ -16,24 +16,6 @@ public class TiktokUserPageDto implements Serializable {
@ApiModelProperty(value="用户昵称")
private String username;
@ApiModelProperty(value="抖音号")
private String tiktokNumber;
@ApiModelProperty(value="手机号")
private String phone;
@ApiModelProperty(value="搜索码")
private String scanCode;
@ApiModelProperty(value="邀请码")
private String inviteCode;
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
@ApiModelProperty(value="是否为艺术家(0->否;1->是)")
private String isCreator;
@ApiModelProperty(value="是否展示")
private String isShow;
}

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

@ -0,0 +1,31 @@
package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.vo.CreatorVo;
import com.bnyer.img.vo.TiktokUserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author chengkun
* @date 2022/5/30 16:25
*/
@Mapper
public interface CreatorMapper extends BaseMapper<Creator> {
/**
* 查询艺术家图片列表
* @return -
*/
List<CreatorVo> queryThreeImgCreatorList();
/**
* 根据搜索码查询艺术家信息
* @param scanCode 搜索码
* @return -
*/
CreatorVo queryThreeImgCreatorListByScanCode(@Param("scanCode") String scanCode);
}

15
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokUserMapper.java

@ -12,23 +12,10 @@ import java.util.List;
@Mapper
public interface TiktokUserMapper extends BaseMapper<TiktokUser> {
/**
* 查询用户首页3张图列表
* @return -
*/
List<TiktokUserVo> queryThreeImgUserList();
/**
* 根据搜索码查询用户信息
* @param scanCode 搜索码
* @return -
*/
TiktokUserVo queryThreeImgUserListByScanCode(@Param("scanCode") String scanCode);
/**
* 查询用户分页
* @param params 分页参数
* @return -
*/
List<TiktokUser> queryPage(@Param("params") TiktokUserPageDto params);
}
}

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

@ -0,0 +1,63 @@
package com.bnyer.img.service;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.dto.CreatorDto;
import com.bnyer.img.dto.CreatorPageDto;
import com.bnyer.img.vo.CreatorVo;
import java.util.List;
/**
* @author chengkun
* @date 2022/5/30 16:30
*/
public interface CreatorService {
/**
* 新增艺术家
* @param dto 艺术家参数
* @return -
*/
int insertCreator(CreatorDto dto);
/**
* 修改艺术家
* @param dto 艺术家参数
* @return -
*/
int updateCreator(CreatorDto dto);
/**
* 删除艺术家
* @param ids 主键ids
* @return -
*/
int delete(List<Long> ids);
/**
* 查询艺术家分页
* @param params 分页参数
* @return -
*/
List<Creator> queryPage(CreatorPageDto params);
/**
* 查询艺术家详情
* @param id 主键id
* @return -
*/
Creator queryDetails(Long id);
/**
* 查询艺术家首页3张图列表
* @return -
*/
List<CreatorVo> queryThreeImgCreatorList();
/**
* 根据搜索码查询艺术家
* @param scanCode 搜索码
* @return -
*/
CreatorVo queryCreatorImgListByScanCode(String scanCode);
}

35
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java

@ -2,20 +2,12 @@ package com.bnyer.img.service;
import com.bnyer.img.domain.TiktokUser;
import com.bnyer.img.dto.*;
import com.bnyer.img.vo.TiktokUserVo;
import java.util.List;
import java.util.Map;
public interface TiktokUserService {
/**
* 新增艺术家
* @param dto 艺术家参数
* @return -
*/
int insertCreator(TiktokCreaterDto dto);
/**
* 修改抖音用户
* @param tiktokUser 抖音用户
@ -44,19 +36,6 @@ public interface TiktokUserService {
*/
TiktokUser queryDetails(Long id);
/**
* 查询小程序端用户图片列表
* @return -
*/
List<TiktokUserVo> queryUserImgList();
/**
* 根据搜索码查询小程序用户
* @param scanCode 搜索码
* @return -
*/
TiktokUserVo queryUserImgListByScanCode(String scanCode);
/**
* 抖音登录参数
* @param dto 登录参数
@ -64,13 +43,6 @@ public interface TiktokUserService {
*/
Map<String,Object> login(TiktokLoginDto dto);
/**
* 绑定手机号
* @param dto 绑定对象参数
*/
void bindPhone(TiktokBindPhoneDto dto);
/**
* 变更显示状态
* @param id 主键id
@ -78,11 +50,4 @@ public interface TiktokUserService {
* @return -
*/
int changeStatus(Long id,String status);
/**
* 抖音小程序用户修改个人信息
* @param dto 信息参数
* @return -
*/
int miniUpdate(TiktokUserMiniDto dto);
}

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

@ -0,0 +1,135 @@
package com.bnyer.img.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bnyer.common.core.exception.ServiceException;
import com.bnyer.common.core.utils.Sm4Util;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.constants.RedisKeyConstant;
import com.bnyer.img.constants.TiktokConstant;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.dto.CreatorDto;
import com.bnyer.img.dto.CreatorPageDto;
import com.bnyer.img.mapper.CreatorMapper;
import com.bnyer.img.service.CreatorService;
import com.bnyer.img.vo.CreatorVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author chengkun
* @date 2022/5/30 16:46
*/
@Service
@Slf4j
public class CreatorServiceImpl implements CreatorService {
@Autowired
private CreatorMapper creatorMapper;
@Autowired
private RedisService redisService;
/**
* 检查用户是否绑定过手机号
* @param phone 手机号
* @return -
*/
private boolean checkPhone(String phone){
LambdaQueryWrapper<Creator> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Creator::getPhone, phone);
List<Creator> creators = creatorMapper.selectList(wrapper);
if(creators.size() > 0){
return true;
}else{
return false;
}
}
/**
* 检查搜索码是否重复
* @param scanCode 搜索码
* @return -
*/
private boolean checkScanCode(String scanCode){
LambdaQueryWrapper<Creator> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Creator::getScanCode, scanCode);
List<Creator> creators = creatorMapper.selectList(wrapper);
if(creators.size() > 0){
return true;
}else{
return false;
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public int insertCreator(CreatorDto dto) {
//检查手机号是否存在
boolean b1 = checkPhone(Sm4Util.sm4Encryption(dto.getPhone()));
if(b1){
throw new ServiceException("当前手机号已绑定艺术家,请重新编辑!", TiktokConstant.BINDED_PHONE);
}
//检查搜索码是否重复
boolean b = this.checkScanCode(dto.getScanCode());
if(b){
throw new ServiceException("搜索码重复,请重新编辑!",TiktokConstant.SCAN_CODE_REPEAT);
}
Creator creator = new Creator();
creator.setName(dto.getName());
creator.setIntro(dto.getIntro());
creator.setImg(dto.getImg());
creator.setScanCode(dto.getScanCode());
creator.setInviteCode(dto.getInviteCode());
creator.setUrl(dto.getUrl());
creator.setPhone(Sm4Util.sm4Encryption(dto.getPhone()));
creator.setIsHot("0");
creator.setStatus("0");
creator.setIsShow("1");
int insert = creatorMapper.insert(creator);
log.info("手机号【{}】成为艺术家成功!",dto.getPhone());
return insert;
}
@Override
public int updateCreator(CreatorDto dto) {
return 0;
}
@Override
public int delete(List<Long> ids) {
return 0;
}
@Override
public List<Creator> queryPage(CreatorPageDto params) {
return null;
}
@Override
public Creator queryDetails(Long id) {
return null;
}
@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;
}
@Override
public CreatorVo queryCreatorImgListByScanCode(String scanCode) {
return creatorMapper.queryThreeImgCreatorListByScanCode(scanCode);
}
}

169
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java

@ -11,20 +11,19 @@ import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.config.TiktokConfig;
import com.bnyer.img.constants.RedisKeyConstant;
import com.bnyer.img.constants.TiktokConstant;
import com.bnyer.img.domain.TiktokImg;
import com.bnyer.img.domain.TiktokCollection;
import com.bnyer.img.domain.TiktokLike;
import com.bnyer.img.domain.TiktokUser;
import com.bnyer.img.dto.*;
import com.bnyer.img.mapper.TiktokImgMapper;
import com.bnyer.img.dto.TiktokLoginDto;
import com.bnyer.img.dto.TiktokUserPageDto;
import com.bnyer.img.mapper.TiktokCollectionMapper;
import com.bnyer.img.mapper.TiktokLikeMapper;
import com.bnyer.img.mapper.TiktokUserMapper;
import com.bnyer.img.service.TiktokUserService;
import com.bnyer.img.vo.TiktokSessionInfoVo;
import com.bnyer.img.vo.TiktokUserInfoVo;
import com.bnyer.img.vo.TiktokUserPhoneInfoVo;
import com.bnyer.img.vo.TiktokUserVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
@ -47,7 +46,10 @@ public class TiktokUserServiceImpl implements TiktokUserService {
private RedisService redisService;
@Autowired
private TiktokImgMapper tiktokImgMapper;
private TiktokLikeMapper tiktokLikeMapper;
@Autowired
private TiktokCollectionMapper tiktokCollectionMapper;
@Resource
private TiktokConfig tiktokConfig;
@ -55,71 +57,10 @@ public class TiktokUserServiceImpl implements TiktokUserService {
@Autowired
private RestTemplate restTemplate;
/**
* 检查搜索码是否重复
* @param scanCode 搜索码
* @return -
*/
private boolean checkScanCode(String scanCode){
LambdaQueryWrapper<TiktokUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TiktokUser::getScanCode, scanCode);
List<TiktokUser> tiktokUsers = tiktokUserMapper.selectList(wrapper);
if(tiktokUsers.size() > 0){
return true;
}else{
return false;
}
}
/**
* 检查用户是否绑定过手机号
* @param phone 手机号
* @return -
*/
private boolean checkPhone(String phone){
LambdaQueryWrapper<TiktokUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TiktokUser::getPhone, phone);
List<TiktokUser> tiktokUsers = tiktokUserMapper.selectList(wrapper);
if(tiktokUsers.size() > 0){
return true;
}else{
return false;
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public int insertCreator(TiktokCreaterDto dto) {
//检查手机号是否存在
boolean b1 = checkPhone(Sm4Util.sm4Encryption(dto.getPhone()));
if(b1){
throw new ServiceException("当前手机号已绑定用户,请重新编辑!",TiktokConstant.BINDED_PHONE);
}
//检查搜索码是否重复
boolean b = this.checkScanCode(dto.getScanCode());
if(b){
throw new ServiceException("搜索码重复,请重新编辑!",TiktokConstant.SCAN_CODE_REPEAT);
}
TiktokUser user = new TiktokUser();
user.setId(dto.getId());
user.setIntro(dto.getIntro());
user.setScanCode(dto.getScanCode());
user.setInviteCode(dto.getInviteCode());
user.setTiktokNumber(dto.getTiktokNum());
user.setPhone(Sm4Util.sm4Encryption(dto.getPhone()));
user.setIsCreator("1");
int update = tiktokUserMapper.updateById(user);
log.info("用户id【{}】手机号【{}】成为艺术家成功!",dto.getId(),dto.getPhone());
return update;
}
@Override
@Transactional(rollbackFor = Exception.class)
public int update(TiktokUser tiktokUser) {
tiktokUser.setUpdateTime(new Date());
if(StringUtils.isNotBlank(tiktokUser.getPhone())){
tiktokUser.setPhone(Sm4Util.sm4Encryption(tiktokUser.getPhone()));
}
if(StringUtils.isNotBlank(tiktokUser.getTiktokCode())){
tiktokUser.setTiktokCode(Sm4Util.sm4Encryption(tiktokUser.getTiktokCode()));
}
@ -130,20 +71,20 @@ public class TiktokUserServiceImpl implements TiktokUserService {
@Transactional(rollbackFor = Exception.class)
public int delete(List<Long> ids) {
int delete = tiktokUserMapper.deleteBatchIds(ids);
//删除对应用户图片
LambdaQueryWrapper<TiktokImg> wrapper = new LambdaQueryWrapper<>();
//删除对应用户收藏及点赞记录
LambdaQueryWrapper<TiktokCollection> collectionWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<TiktokLike> likeWrapper = new LambdaQueryWrapper<>();
for (Long id : ids) {
wrapper.eq(TiktokImg::getUserId,id);
tiktokImgMapper.delete(wrapper);
collectionWrapper.eq(TiktokCollection::getUserId,id);
tiktokCollectionMapper.delete(collectionWrapper);
likeWrapper.eq(TiktokLike::getUserId, id);
tiktokLikeMapper.delete(likeWrapper);
}
return delete;
}
@Override
public List<TiktokUser> queryPage(TiktokUserPageDto dto) {
if(StringUtils.isNotNull(dto.getPhone())){
dto.setPhone(Sm4Util.sm4Encryption(dto.getPhone()));
}
return tiktokUserMapper.queryPage(dto);
}
@ -152,23 +93,6 @@ public class TiktokUserServiceImpl implements TiktokUserService {
return tiktokUserMapper.selectById(id);
}
@Override
public List<TiktokUserVo> queryUserImgList() {
//走缓存
String redisKey = RedisKeyConstant.TIKTOK_USER_IMG_KEY;
if(redisService.hasKey(redisKey)){
return JSONObject.parseArray(redisService.getCacheObject(redisKey).toString(), TiktokUserVo.class);
}
List<TiktokUserVo> tiktokUserVo = tiktokUserMapper.queryThreeImgUserList();
redisService.setCacheObject(redisKey,tiktokUserVo,3600L, TimeUnit.SECONDS);
return tiktokUserVo;
}
@Override
public TiktokUserVo queryUserImgListByScanCode(String scanCode) {
return tiktokUserMapper.queryThreeImgUserListByScanCode(scanCode);
}
/**
* 获取用户openId及sessionKey
* @param code 登录凭证code
@ -239,7 +163,6 @@ public class TiktokUserServiceImpl implements TiktokUserService {
user.setUsername(userInfo.getNickName());
user.setImg(userInfo.getAvatarUrl());
user.setTiktokCode(Sm4Util.sm4Encryption(openId));
user.setIsHot("0");
user.setIsShow("1");
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
@ -278,21 +201,6 @@ public class TiktokUserServiceImpl implements TiktokUserService {
return map;
}
@Override
public void bindPhone(TiktokBindPhoneDto dto) {
TiktokUserPhoneInfoVo phoneInfo = this.getPhone(dto.getSessionKey(),dto.getEncryptedData(), dto.getIv());
if(phoneInfo != null){
TiktokUser user = new TiktokUser();
user.setId(dto.getUserId());
user.setPhone(Sm4Util.sm4Encryption(phoneInfo.getPhoneNumber()));
tiktokUserMapper.updateById(user);
log.info("获取用户【{}】手机号成功!",dto.getUserId());
}else{
log.error("获取用户【{}】手机号失败!",dto.getUserId());
throw new ServiceException("用户手机号绑定失败!",TiktokConstant.BIND_PHONE_ERROR);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public int changeStatus(Long id, String status) {
@ -302,47 +210,4 @@ public class TiktokUserServiceImpl implements TiktokUserService {
user.setIsShow(status);
return tiktokUserMapper.update(user,wrapper);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int miniUpdate(TiktokUserMiniDto dto) {
if(StringUtils.isNotBlank(dto.getPhone())){
dto.setPhone(Sm4Util.sm4Encryption(dto.getPhone()));
}
TiktokUser user = new TiktokUser();
BeanUtils.copyProperties(dto,user);
user.setUpdateTime(new Date());
return tiktokUserMapper.updateById(user);
}
/**
* 获取用户手机号
* @param sessionKey -
* @param encryptedData 敏感信息
* @param iv 加密向量
* @return -
*/
private TiktokUserPhoneInfoVo getPhone(String sessionKey, String encryptedData, String iv) {
Base64.Decoder decoder = Base64.getDecoder();
byte[] sessionKeyBytes = decoder.decode(sessionKey);
byte[] ivBytes = decoder.decode(iv);
byte[] encryptedBytes = decoder.decode(encryptedData);
Cipher cipher = null;
try {
cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec skeySpec = new SecretKeySpec(sessionKeyBytes, "AES");
IvParameterSpec ivSpec = new IvParameterSpec(ivBytes);
cipher.init(Cipher.DECRYPT_MODE, skeySpec, ivSpec);
byte[] ret = cipher.doFinal(encryptedBytes);
if (null != ret && ret.length > 0) {
String result = new String(ret, "UTF-8");
return JSONObject.parseObject(result,TiktokUserPhoneInfoVo.class);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

35
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorVo.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;
import java.util.List;
@Getter
@Setter
@ApiModel("艺术家响应类")
public class CreatorVo 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;
List<TiktokImgVo> imgList;
private static final long serialVersionUID = 1L;
}

4
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java

@ -20,7 +20,7 @@ public class TiktokImgVo implements Serializable {
private String imgUrl;
@ApiModelProperty(value="用户id")
private Long userId;
private Long creatorId;
@ApiModelProperty(value="分类id")
private Long typeId;
@ -41,4 +41,4 @@ public class TiktokImgVo implements Serializable {
private String isHot;
private static final long serialVersionUID = 1L;
}
}

24
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokUserPhoneInfoVo.java

@ -1,24 +0,0 @@
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 TiktokUserPhoneInfoVo implements Serializable {
@ApiModelProperty(value="用户绑定的手机号")
private String phoneNumber;
@ApiModelProperty(value="没有区号的手机号")
private String purePhoneNumber;
@ApiModelProperty(value="区号")
private String countryCode;
}

14
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokUserVo.java

@ -20,25 +20,13 @@ public class TiktokUserVo implements Serializable {
@ApiModelProperty(value="用户昵称")
private String username;
@ApiModelProperty(value="抖音号")
private String tiktokNumber;
@ApiModelProperty(value="搜索码")
private String scanCode;
@ApiModelProperty(value="头像img地址")
private String img;
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
@ApiModelProperty(value="是否为艺术家(0->否;1->是)")
private String isCreator;
@ApiModelProperty(value="序号")
private Integer sort;
List<TiktokImgVo> imgList;
private static final long serialVersionUID = 1L;
}
}

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

@ -0,0 +1,53 @@
<?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.bnyer.img.mapper.CreatorMapper">
<resultMap id="BaseResultMap" type="com.bnyer.img.domain.Creator">
<!--@mbg.generated-->
<!--@Table img_creator-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="scan_code" jdbcType="VARCHAR" property="scanCode" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="img" jdbcType="VARCHAR" property="img" />
<result column="intro" jdbcType="VARCHAR" property="intro" />
<result column="invite_code" jdbcType="VARCHAR" property="inviteCode" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="status" jdbcType="CHAR" property="status" />
<result column="is_hot" jdbcType="CHAR" property="isHot" />
<result column="is_show" jdbcType="CHAR" property="isShow" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="sort" jdbcType="INTEGER" property="sort" />
</resultMap>
<resultMap id="CreatorThreeList" type="com.bnyer.img.vo.CreatorVo">
<!--@mbg.generated-->
<!--@Table img_creator-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="scan_code" jdbcType="VARCHAR" property="scanCode" />
<result column="img" jdbcType="VARCHAR" property="img" />
<result column="is_hot" jdbcType="CHAR" property="isHot" />
<result column="sort" jdbcType="INTEGER" property="sort" />
<collection property="imgList" ofType="com.bnyer.img.vo.TiktokImgVo" select="com.bnyer.img.mapper.TiktokImgMapper.queryThreeImgs" column="id"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, `name`, scan_code, phone, img, intro, invite_code, url, status, is_hot, is_show, create_time,
update_time, sort
</sql>
<select id="queryThreeImgCreatorList" resultMap="CreatorThreeList">
select
id, scan_code,img,is_hot,sort
from img_creator ic
where ic.is_show = '1'
order by ic.create_time desc
</select>
<select id="queryThreeImgCreatorListByScanCode" resultMap="CreatorThreeList">
select
id, scan_code,img,is_hot,sort
from img_creator ic
where ic.is_show = '1' and ic.scan_code = #{scanCode}
</select>
</mapper>

58
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokUserMapper.xml

@ -7,44 +7,19 @@
<id column="id" jdbcType="BIGINT" property="id" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="tiktok_code" jdbcType="VARCHAR" property="tiktokCode" />
<result column="tiktok_number" jdbcType="VARCHAR" property="tiktokNumber" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="scan_code" jdbcType="VARCHAR" property="scanCode" />
<result column="invite_code" jdbcType="VARCHAR" property="inviteCode" />
<result column="intro" jdbcType="VARCHAR" property="intro" />
<result column="img" jdbcType="VARCHAR" property="img" />
<result column="is_hot" jdbcType="CHAR" property="isHot" />
<result column="is_show" jdbcType="CHAR" property="isShow" />
<result column="is_creator" jdbcType="CHAR" property="isCreator" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="sort" jdbcType="INTEGER" property="sort" />
</resultMap>
<resultMap id="UserThreeList" type="com.bnyer.img.vo.TiktokUserVo">
<!--@mbg.generated-->
<!--@Table img_tiktok_user-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="tiktok_number" jdbcType="VARCHAR" property="tiktokNumber" />
<result column="scan_code" jdbcType="VARCHAR" property="scanCode" />
<result column="img" jdbcType="VARCHAR" property="img" />
<result column="is_hot" jdbcType="CHAR" property="isHot" />
<result column="sort" jdbcType="INTEGER" property="sort" />
<collection property="imgList" ofType="com.bnyer.img.vo.TiktokImgVo" select="com.bnyer.img.mapper.TiktokImgMapper.queryThreeImgs" column="id"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, username, tiktok_code, tiktok_number, phone, scan_code, invite_code, intro, img,
is_hot,is_creator, is_show, create_time, update_time, sort
id, username, tiktok_code, img,is_show, create_time, update_time, sort
</sql>
<select id="queryThreeImgUserList" resultMap="UserThreeList">
select
id, username,tiktok_number,scan_code,img,is_hot,sort
from img_tiktok_user itu
where itu.is_show = '1'
order by itu.create_time desc
</select>
<select id="queryPage" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
@ -53,35 +28,10 @@
<if test="params.username != null and params.username != ''">
username like concat('%',#{params.username},'%')
</if>
<if test="params.phone != null and params.phone != ''">
and phone = #{params.phone}
</if>
<if test="params.tiktokNumber != null and params.tiktokNumber != ''">
and tiktok_number = #{params.tiktokNumber}
</if>
<if test="params.scanCode != null and params.scanCode != ''">
and scan_code = #{params.scanCode}
</if>
<if test="params.inviteCode != null and params.inviteCode != ''">
and invite_code = #{params.inviteCode}
</if>
<if test="params.isHot != null and params.isHot != ''">
and is_hot = #{params.isHot}
</if>
<if test="params.isCreator != null and params.isCreator != ''">
and is_creator = #{params.isCreator}
</if>
<if test="params.isShow != null and params.isShow != ''">
and is_show = #{params.isShow}
</if>
</where>
order by create_time desc
</select>
<select id="queryThreeImgUserListByScanCode" resultMap="UserThreeList">
select
id, username,tiktok_number,scan_code,img,is_hot,sort
from img_tiktok_user itu
where itu.is_show = '1' and scan_code = #{scanCode}
order by itu.create_time desc
</select>
</mapper>
</mapper>

Loading…
Cancel
Save