Browse Source

feature1.0.0-img:添加bnyer-api-img模块

feature-1.0-img-prototype
chengkun 4 years ago
parent
commit
f49af28c4b
  1. 26
      bnyer-api/bnyer-api-img/pom.xml
  2. 30
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java
  3. 87
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java
  4. 35
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java
  5. 33
      bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java
  6. 1
      bnyer-api/pom.xml
  7. 5
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java

26
bnyer-api/bnyer-api-img/pom.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.dimensionalnode</groupId>
<artifactId>bnyer-api</artifactId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>bnyer-api-img</artifactId>
<description>
bnyer-api-img图文服务接口模块
</description>
<dependencies>
<!-- bnyer Common Core-->
<dependency>
<groupId>com.dimensionalnode</groupId>
<artifactId>bnyer-common-core</artifactId>
</dependency>
</dependencies>
</project>

30
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java

@ -0,0 +1,30 @@
package com.bnyer.img.api;
import com.bnyer.common.core.constant.ServiceNameConstants;
import com.bnyer.common.core.domain.R;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.img.api.dto.TiktokImgMiniDto;
import com.bnyer.img.api.factory.RemoteImgFallbackFactory;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 图文服务
*
* @author chengkun
* @date 2022/7/8 11:03
*/
@FeignClient(contextId = "remoteImgService", value = ServiceNameConstants.IMG_SERVICE, fallbackFactory = RemoteImgFallbackFactory.class)
public interface RemoteImgService {
/**
* 保存图片
* @param dto 图片接收类
* @return -
*/
@PostMapping(value = "/insertTiktokImg")
public R<Integer> insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto);
}

87
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java

@ -0,0 +1,87 @@
package com.bnyer.img.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.io.Serializable;
import java.util.Date;
@ApiModel("抖音图片小程序api端实体类")
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class TiktokImg implements Serializable {
/**
* id
*/
@ApiModelProperty(value="id")
private Long id;
/**
* 图片地址
*/
@ApiModelProperty(value="图片地址")
private String imgUrl;
/**
* 艺术家id
*/
@ApiModelProperty(value="艺术家id")
private Long creatorId;
/**
* 分类id
*/
@ApiModelProperty(value="分类id")
private Long typeId;
/**
* 下载量
*/
@ApiModelProperty(value="下载量")
private Integer downloadNum;
/**
* 点赞量
*/
@ApiModelProperty(value="点赞量")
private Integer greatNum;
/**
* 收藏量
*/
@ApiModelProperty(value="收藏量")
private Integer collectionNum;
/**
* 状态(0->待审核;1->审核通过)
*/
@ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
private String status;
/**
* 是否热门(0->冷门;1->热门)
*/
@ApiModelProperty(value="是否热门(0->冷门;1->热门)")
private String isHot;
@ApiModelProperty(value="是否显示 (0->隐藏;1->显示)")
private String isShow;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="更新时间")
private Date updateTime;
@ApiModelProperty(value="排序")
private Integer sort;
private static final long serialVersionUID = 1L;
}

35
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java

@ -0,0 +1,35 @@
package com.bnyer.img.api.dto;
import com.bnyer.common.core.utils.bean.BeanUtils;
import com.bnyer.img.api.domain.TiktokImg;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@ApiModel("抖音图片小程序api端接收类")
public class TiktokImgMiniDto implements Serializable {
@ApiModelProperty(value="id")
private Long id;
@ApiModelProperty(value="图片地址")
private String imgUrl;
@ApiModelProperty(value="艺术家id")
private Long creatorId;
@ApiModelProperty(value="分类id")
private Long typeId;
public TiktokImg extractParam(){
TiktokImg tiktokImg = new TiktokImg();
BeanUtils.copyProperties(this,tiktokImg);
return tiktokImg;
}
}

33
bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java

@ -0,0 +1,33 @@
package com.bnyer.img.api.factory;
import com.bnyer.common.core.domain.R;
import com.bnyer.img.api.RemoteImgService;
import com.bnyer.img.api.dto.TiktokImgMiniDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 图文服务降级处理
*
* @author penny
*/
@Component
public class RemoteImgFallbackFactory implements FallbackFactory<RemoteImgService>
{
private static final Logger log = LoggerFactory.getLogger(RemoteImgFallbackFactory.class);
@Override
public RemoteImgService create(Throwable throwable) {
log.error("api图文服务调用失败:{}", throwable.getMessage());
return new RemoteImgService()
{
@Override
public R<Integer> insertTiktokImg(TiktokImgMiniDto dto) {
return R.fail("图片保存失败:" + throwable.getMessage());
}
};
}
}

1
bnyer-api/pom.xml

@ -10,6 +10,7 @@
<modules> <modules>
<module>bnyer-api-system</module> <module>bnyer-api-system</module>
<module>bnyer-api-img</module>
</modules> </modules>
<artifactId>bnyer-api</artifactId> <artifactId>bnyer-api</artifactId>

5
bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java

@ -21,4 +21,9 @@ public class ServiceNameConstants
* 文件服务的serviceid * 文件服务的serviceid
*/ */
public static final String FILE_SERVICE = "bnyer-file"; public static final String FILE_SERVICE = "bnyer-file";
/**
* 图文服务的serviceid
*/
public static final String IMG_SERVICE = "bnyer-img";
} }

Loading…
Cancel
Save