diff --git a/bnyer-api/bnyer-api-img/pom.xml b/bnyer-api/bnyer-api-img/pom.xml
new file mode 100644
index 0000000..8266a8f
--- /dev/null
+++ b/bnyer-api/bnyer-api-img/pom.xml
@@ -0,0 +1,26 @@
+
+
+
+ com.dimensionalnode
+ bnyer-api
+ 1.0.0
+
+ 4.0.0
+
+ bnyer-api-img
+
+
+ bnyer-api-img图文服务接口模块
+
+
+
+
+
+ com.dimensionalnode
+ bnyer-common-core
+
+
+
+
diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java
new file mode 100644
index 0000000..7db8a5d
--- /dev/null
+++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/RemoteImgService.java
@@ -0,0 +1,29 @@
+package com.bnyer.img.api;
+
+import com.bnyer.common.core.constant.ServiceNameConstants;
+import com.bnyer.common.core.domain.R;
+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 = "/img/mini/creator/insertTiktokImg")
+ public R insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto);
+}
diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/domain/TiktokImg.java
new file mode 100644
index 0000000..11e8365
--- /dev/null
+++ b/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;
+}
diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java
new file mode 100644
index 0000000..06bcc35
--- /dev/null
+++ b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/dto/TiktokImgMiniDto.java
@@ -0,0 +1,39 @@
+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;
+
+ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
+ private String status;
+
+
+ public TiktokImg extractParam(){
+ TiktokImg tiktokImg = new TiktokImg();
+ BeanUtils.copyProperties(this,tiktokImg);
+ return tiktokImg;
+ }
+}
diff --git a/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java b/bnyer-api/bnyer-api-img/src/main/java/com/bnyer/img/api/factory/RemoteImgFallbackFactory.java
new file mode 100644
index 0000000..d03a044
--- /dev/null
+++ b/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
+{
+ 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 insertTiktokImg(TiktokImgMiniDto dto) {
+ return R.fail("图片保存失败:" + throwable.getMessage());
+ }
+ };
+ }
+}
diff --git a/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories b/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..d9e7a5e
--- /dev/null
+++ b/bnyer-api/bnyer-api-img/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,2 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.bnyer.img.api.factory.RemoteImgFallbackFactory
+
diff --git a/bnyer-api/pom.xml b/bnyer-api/pom.xml
index a7e4f62..78c3b28 100644
--- a/bnyer-api/pom.xml
+++ b/bnyer-api/pom.xml
@@ -10,6 +10,7 @@
bnyer-api-system
+ bnyer-api-img
bnyer-api
diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java
index cd85ab4..dd160bb 100644
--- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java
+++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java
@@ -2,7 +2,7 @@ package com.bnyer.common.core.constant;
/**
* 服务名称
- *
+ *
* @author ruoyi
*/
public class ServiceNameConstants
@@ -21,4 +21,9 @@ public class ServiceNameConstants
* 文件服务的serviceid
*/
public static final String FILE_SERVICE = "bnyer-file";
+
+ /**
+ * 图文服务的serviceid
+ */
+ public static final String IMG_SERVICE = "bnyer-img";
}
diff --git a/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java b/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java
index 46e3515..5540dc1 100644
--- a/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java
+++ b/bnyer-common/bnyer-common-redis/src/main/java/com/bnyer/common/redis/service/RedisService.java
@@ -327,4 +327,28 @@ public class RedisService
Long releaseStatus = (Long)this.redisTemplate.execute(redisScript, Collections.singletonList(key),value);
return releaseStatus;
}
+
+ /**
+ * pv统计
+ * @param today 统计的日期
+ * @param page 统计的页面
+ * @return pv
+ */
+ public Long pvStatistics(String today,String page){
+ //访问次数pv
+ return redisTemplate.opsForValue().increment(today +page+"PV", 1);
+
+ }
+ /**
+ * uv统计
+ * @param today 统计的日期
+ * @param page 统计的页面
+ * @param ip 进入页面的ip
+ * @return uv
+ */
+ public Long uvStatistics(String today,String page,String ip){
+ //访问次数uv
+ return redisTemplate.opsForHyperLogLog().add(today + page+"UV", ip);
+
+ }
}
diff --git a/bnyer-services/bnyer-file/pom.xml b/bnyer-services/bnyer-file/pom.xml
index 4ee76a5..6b8458d 100644
--- a/bnyer-services/bnyer-file/pom.xml
+++ b/bnyer-services/bnyer-file/pom.xml
@@ -93,7 +93,20 @@
spring-mock
2.0.8
-
+
+ com.dimensionalnode
+ bnyer-api-img
+ 1.0.0
+
+
+ com.dimensionalnode
+ bnyer-common-security
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java
index ef57633..b162e1b 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/BnyerFileApplication.java
@@ -1,9 +1,13 @@
package com.bnyer.file;
+import com.bnyer.common.security.annotation.EnableRyFeignClients;
import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import com.bnyer.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableAsync;
/**
* 文件服务
@@ -11,6 +15,8 @@ import com.bnyer.common.swagger.annotation.EnableCustomSwagger2;
* @author ruoyi
*/
@EnableCustomSwagger2
+@EnableRyFeignClients
+@EnableAsync
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
public class BnyerFileApplication
{
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java
new file mode 100644
index 0000000..cfb5c7f
--- /dev/null
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/config/ExecutorConfig.java
@@ -0,0 +1,33 @@
+package com.bnyer.file.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * @Author qyh
+ * @Date 2022/7/10 15:31
+ * @Description
+ */
+@Configuration
+@EnableAsync
+public class ExecutorConfig {
+
+
+ @Bean
+ public Executor mySimpleAsync() {
+ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+ executor.setCorePoolSize(10);
+ executor.setMaxPoolSize(50);
+ executor.setQueueCapacity(10);
+ executor.setThreadNamePrefix("fileUpload");
+ executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+ executor.initialize();
+ return executor;
+ }
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java
new file mode 100644
index 0000000..14ea436
--- /dev/null
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/constants/RedisKeyConstant.java
@@ -0,0 +1,104 @@
+package com.bnyer.file.constants;
+
+public class RedisKeyConstant {
+
+
+ /**
+ * 抖音小程序用户收藏图片键
+ */
+ public static final String TIKTOK_USER_COLLECT_KEY = "bnyer.img.tiktok.collect:";
+
+ /**
+ * 抖音小程序图片收藏数量键
+ */
+ public static final String TIKTOK_IMG_COLLECT_NUM_KEY = "bnyer.img.tiktok.collectNum";
+
+ /**
+ * 快手小程序图片收藏数量键
+ */
+ public static final String FAST_HAND_IMG_COLLECT_NUM_KEY = "bnyer.img.fh.collectNum";
+
+ /**
+ * 微信小程序图片收藏数量键
+ */
+ public static final String WECHAT_IMG_COLLECT_NUM_KEY = "bnyer.img.wx.collectNum";
+
+ /**
+ * 抖音小程序用户点赞图片键
+ */
+ public static final String TIKTOK_USER_LIKE_KEY = "bnyer.img.tiktok.like";
+
+ /**
+ * 快手小程序用户点赞图片键
+ */
+ public static final String FAST_HAND_USER_LIKE_KEY = "bnyer.img.fh.like";
+
+ /**
+ * 微信小程序用户点赞图片键
+ */
+ public static final String WECHAT_USER_LIKE_KEY = "bnyer.img.wx.like";
+
+ /**
+ * 抖音小程序图片点赞数量键
+ */
+ public static final String TIKTOK_IMG_LIKE_NUM_KEY = "bnyer.img.tiktok.likeNum";
+
+ /**
+ * 快手小程序图片点赞数量键
+ */
+ public static final String FAST_HAND_IMG_LIKE_NUM_KEY = "bnyer.img.fh.likeNum";
+
+ /**
+ * 微信小程序图片点赞数量键
+ */
+ public static final String WECHAT_IMG_LIKE_NUM_KEY = "bnyer.img.wx.likeNum";
+
+ /**
+ * 抖音小程序图片下载数量键
+ */
+ public static final String TIKTOK_IMG_DOWNLOAD_NUM_KEY = "bnyer.img.creator.downloadNum:";
+
+ /**
+ * 抖音小程序图片下载总数量键
+ */
+ public static final String TIKTOK_IMG_TOTAL_DOWNLOAD_NUM_KEY = "bnyer.img.date.downloadTotalNum:";
+
+ /**
+ * 抖音小程序用户登录键
+ */
+ public static final String TIKTOK_USER_LOGIN_KEY = "bnyer.img.tiktok.user:";
+
+ /**
+ * 快手小程序用户登录键
+ */
+ public static final String FH_USER_LOGIN_KEY = "bnyer.img.fh.user:";
+
+ /**
+ * 微信小程序用户登录键
+ */
+ public static final String WECHAT_USER_LOGIN_KEY = "bnyer.img.wx.user:";
+
+ /**
+ * 微信小程序艺术家登录键
+ */
+ public static final String WECHAT_CREATOR_LOGIN_KEY = "bnyer.img.wechat.creator:";
+
+ /**
+ * 微信小程序艺术家邀请键
+ */
+ public static final String WECHAT_CREATOR_INVITE_KEY = "bnyer.img.invite.creator:";
+
+ /**
+ * 审核收益锁键
+ */
+ public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:";
+
+ /**
+ * 平台用户下载键
+ */
+ public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:";
+ /**
+ * 艺术家上传键
+ */
+ public static final String CREATOR_UPLOAD_KEY="bnyer.img.createor.upload";
+}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java
index f15f167..9415d12 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java
@@ -2,6 +2,9 @@ package com.bnyer.file.controller;
import com.bnyer.common.core.domain.R;
import com.bnyer.file.config.ImgConfig;
+import com.bnyer.file.dto.FileDto;
+import com.bnyer.file.dto.FileUploadDto;
+import com.bnyer.file.dto.FileUrlDto;
import com.bnyer.file.service.IFileService;
import com.bnyer.file.service.IQiniuService;
import com.bnyer.file.service.MinioService;
@@ -9,12 +12,11 @@ import com.bnyer.file.utils.ImgUtil;
import com.bnyer.file.vo.ChekFileVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@@ -39,6 +41,7 @@ public class SysFileController {
@Autowired
private ImgConfig imgConfig;
+
/**
* 批量上传图片
*/
@@ -67,7 +70,7 @@ public class SysFileController {
*/
@ApiOperation(value="批量压缩上传到七牛云")
@PostMapping("/uploadBatchCompImg")
- public R> compression(MultipartFile[] files) throws IOException {
+ public R> compression(@RequestParam MultipartFile[] files) throws IOException {
List list = new ArrayList<>();
for (MultipartFile file : files) {
MultipartFile file1 = ImgUtil.commpressPicCycle(Long.parseLong(imgConfig.getFileSize()), Double.parseDouble(imgConfig.getAccuracy()), file);
@@ -78,13 +81,20 @@ public class SysFileController {
// 上传并返回访问地址
return R.ok(list);
}
+ @ApiOperation(value="文件删除")
+ @PostMapping("/deleteFile")
+ public R deleteFile(@RequestBody @ApiParam("上传url对象") FileUrlDto params) throws IOException {
+ String res = qiniuService.deleteFile(params.getUrl());
+ // 上传并返回访问地址
+ return R.ok(res);
+ }
/**
* 批量审核
*/
@ApiOperation(value="批量图片审核")
@PostMapping("/checkBatch")
- public R> checkBatch(ArrayList files) {
+ public R> checkBatch(@RequestParam ArrayList files) {
try {
ArrayList list = fileService.checkImg(files);
// 上传并返回访问地址
@@ -107,5 +117,33 @@ public class SysFileController {
}
return R.ok(url);
}
+ public static final String UPLOAD_PREFIX_PATH = "/opt/uploading";
+ @ApiOperation(value="图片批量检测上传保存")
+ @PostMapping("/checkUploadSave")
+ @ResponseBody
+ public R checkUploadSave(@RequestParam Long creatorId, @RequestParam Long typeId, @RequestParam ArrayList files) {
+ try {
+ ArrayList fileDtos = new ArrayList<>();
+ for (MultipartFile file : files) {
+ FileDto fileDto = new FileDto();
+ byte[] bytes = IOUtils.toByteArray(file.getInputStream());
+ fileDto.setBytes(bytes);
+ fileDto.setName(file.getName());
+ fileDto.setOriginalFilename(file.getOriginalFilename());
+ fileDtos.add(fileDto);
+ }
+ // 生成临时文件
+
+ FileUploadDto fileUploadDto = new FileUploadDto();
+ fileUploadDto.setFiles(fileDtos);
+ fileUploadDto.setCreatorId(creatorId);
+ fileUploadDto.setTypeId(typeId);
+ fileService.checkUploadSave(fileUploadDto);
+ } catch (Exception e) {
+ log.error("文件上传失败,原因为:【{}】", e.getMessage());
+ return R.fail("banner上传失败!");
+ }
+ return R.ok();
+ }
}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java
new file mode 100644
index 0000000..245240f
--- /dev/null
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileDto.java
@@ -0,0 +1,19 @@
+package com.bnyer.file.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Author qyh
+ * @Date 2022/7/10 16:37
+ * @Description
+ */
+@Getter
+@Setter
+@ApiModel("文件信息")
+public class FileDto {
+ private byte[] bytes;
+ private String originalFilename;
+ private String name;
+}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java
new file mode 100644
index 0000000..e2a8757
--- /dev/null
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUploadDto.java
@@ -0,0 +1,38 @@
+package com.bnyer.file.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+
+/**
+ * @Author qyh
+ * @Date 2022/7/9 18:24
+ * @Description
+ */
+@Getter
+@Setter
+@ApiModel("文件上传")
+public class FileUploadDto {
+
+ @ApiModelProperty(value="id")
+ private Long id;
+
+ @ApiModelProperty(value="图片地址")
+ private String imgUrl;
+
+ @ApiModelProperty(value="艺术家id")
+ private Long creatorId;
+
+ @ApiModelProperty(value="分类id")
+ private Long typeId;
+
+ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
+ private String status;
+
+ @ApiModelProperty(value="要上传的图片")
+ private ArrayList files;
+}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java
new file mode 100644
index 0000000..cd50b2e
--- /dev/null
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/dto/FileUrlDto.java
@@ -0,0 +1,20 @@
+package com.bnyer.file.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Author chengkun
+ * @Date 2022/7/10 16:37
+ * @Description
+ */
+@Getter
+@Setter
+@ApiModel("文件url地址")
+public class FileUrlDto implements Serializable {
+
+ private String url;
+}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java
index e11f7cc..12cb86b 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IFileService.java
@@ -1,8 +1,10 @@
package com.bnyer.file.service;
+import com.bnyer.file.dto.FileUploadDto;
import com.bnyer.file.vo.ChekFileVo;
import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.util.ArrayList;
/**
@@ -12,4 +14,12 @@ import java.util.ArrayList;
*/
public interface IFileService {
ArrayList checkImg(ArrayList multipartFiles);
+ //图片检测+图片上传+图片保存
+ void checkUploadSave(FileUploadDto fileUploadDto) throws IOException;
+
+ /**
+ * 写入艺术家上传次数
+ * @param creatorId 艺术家id
+ */
+ void writeUploadTotalNum(Long creatorId);
}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java
index 9c845c7..9c2e9fc 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java
@@ -20,4 +20,11 @@ public interface IQiniuService {
* @return
*/
ArrayList checkImageFormat(ArrayList multipartFiles);
+
+ /**
+ * 文件删除
+ * @param filepath 文件路径
+ * @return
+ */
+ String deleteFile(String filepath);
}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java
index 67a10a9..9bea01e 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/FileServiceImpl.java
@@ -1,15 +1,31 @@
package com.bnyer.file.service.impl;
+import com.bnyer.common.redis.service.RedisService;
+import com.bnyer.file.constants.RedisKeyConstant;
+import com.bnyer.file.dto.FileDto;
+import com.bnyer.file.dto.FileUploadDto;
import com.bnyer.file.service.IFileService;
import com.bnyer.file.service.IQiniuService;
import com.bnyer.file.service.ITikTokImage;
import com.bnyer.file.utils.ImgUtil;
import com.bnyer.file.vo.ChekFileVo;
+import com.bnyer.img.api.RemoteImgService;
+import com.bnyer.img.api.dto.TiktokImgMiniDto;
+import org.apache.http.entity.ContentType;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
+import lombok.extern.slf4j.Slf4j;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.UUID;
/**
* @Author: Yeman
@@ -17,11 +33,16 @@ import java.util.ArrayList;
* @Description:
*/
@Service("file")
+@Slf4j
public class FileServiceImpl implements IFileService {
@Autowired
private IQiniuService qiniuService;
@Autowired
private ITikTokImage tikTokImage;
+ @Autowired
+ private RemoteImgService remoteImgService;
+ @Autowired
+ private RedisService redisService;
@Override
public ArrayList checkImg(ArrayList multipartFiles) {
ArrayList chekFileVos = new ArrayList<>();
@@ -29,30 +50,31 @@ public class FileServiceImpl implements IFileService {
ArrayList multipartFileList = qiniuService.checkImageFormat(multipartFiles);
for (MultipartFile multipartFile : multipartFileList) {
ChekFileVo chekFileVo = new ChekFileVo();
+ chekFileVo.setFile(multipartFile);
String filename = multipartFile.getResource().getFilename();
chekFileVo.setFileName(filename);
String imageString = ImgUtil.getImageString(multipartFile);
- String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," +imageString);
- if (checkMsg.equals("pass")){
+ String checkMsg = qiniuService.checkImageContent("data:application/octet-stream;base64," + imageString);
+ if (checkMsg.equals("pass")) {
//抖音图片检测二次检测
- if (tikTokImage.checkImageContent(multipartFile)) {
- //可以通过
- chekFileVo.setStatus("1");
- chekFileVos.add(chekFileVo);
- }else {
- //不可以通过
- chekFileVo.setStatus("2");
- chekFileVos.add(chekFileVo);
- }
+// if (tikTokImage.checkImageContent(multipartFile)) {
+ //可以通过
+ chekFileVo.setStatus("1");
+ chekFileVos.add(chekFileVo);
+// }else {
+// //不可以通过
+// chekFileVo.setStatus("2");
+// chekFileVos.add(chekFileVo);
+// }
continue;
}
- if (checkMsg.equals("review")){
+ if (checkMsg.equals("review")) {
//人工审核
chekFileVo.setStatus("0");
chekFileVos.add(chekFileVo);
continue;
}
- if (checkMsg.equals("block")){
+ if (checkMsg.equals("block")) {
//不可通过
chekFileVo.setStatus("2");
chekFileVos.add(chekFileVo);
@@ -60,4 +82,40 @@ public class FileServiceImpl implements IFileService {
}
return chekFileVos;
}
+
+ @Override
+ @Async("mySimpleAsync")
+ public void checkUploadSave(FileUploadDto fileUploadDto) throws IOException {
+ //redis累计艺术家当天上传次数,12.00后过期
+ writeUploadTotalNum(fileUploadDto.getCreatorId());
+ ArrayList multipartFiles = new ArrayList<>();
+ for (FileDto fileDto : fileUploadDto.getFiles()) {
+ InputStream inputStream = new ByteArrayInputStream(fileDto.getBytes());
+ MultipartFile files = new MockMultipartFile(fileDto.getName(), fileDto.getOriginalFilename(), ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
+ //System.out.println(files.getSize());
+ multipartFiles.add(files);
+ }
+
+ //检测图片
+ for (ChekFileVo chekFileVo : checkImg(multipartFiles)) {
+ //图片上传
+ String imgUrl = qiniuService.userUpload(chekFileVo.getFile());
+ TiktokImgMiniDto tiktokImg = new TiktokImgMiniDto();
+ tiktokImg.setImgUrl(imgUrl);
+ tiktokImg.setStatus(chekFileVo.getStatus());
+ tiktokImg.setTypeId(fileUploadDto.getTypeId());
+ tiktokImg.setCreatorId(fileUploadDto.getCreatorId());
+ remoteImgService.insertTiktokImg(tiktokImg);
+ }
+ }
+
+ @Override
+ public void writeUploadTotalNum(Long creatorId) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String date = df.format(new Date());
+ log.info("日期【{}】艺术家【{}】上传数+1",date,creatorId);
+ String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date;
+ redisService.hashIncr(redisKey, creatorId.toString(), 1);
+ }
+
}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java
index 9425da0..337a614 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.bnyer.file.config.QiniuConfig;
import com.bnyer.file.service.IQiniuService;
+import com.bnyer.file.utils.ImgUtil;
import com.bnyer.file.utils.StringUtil;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
@@ -11,6 +12,7 @@ import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Client;
import com.qiniu.http.Response;
+import com.qiniu.storage.BucketManager;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
@@ -164,7 +166,8 @@ public class QiniuServiceImpl implements IQiniuService {
videoSuffixList.add("mp4");
videoSuffixList.add("mov");
videoSuffixList.add("wmv");
- if (suffix != null&&imageSuffixList.contains(suffix)&&multipartFile.getSize() / 1024 < 50000&&multipartFile.getSize() / 1024 > 0) {
+ long size = multipartFile.getSize();
+ if (suffix != null&&imageSuffixList.contains(suffix)&&multipartFile.getSize() / 1024 < 3072&&multipartFile.getSize() / 1024 > 0) {
afterCheckFiles.add(multipartFile);
}
}
@@ -182,12 +185,33 @@ public class QiniuServiceImpl implements IQiniuService {
}
return null;
}
+ //删除文件
+ public String deleteFile(String filepath){
+ String[] split = filepath.split("//");
+ //构造一个带指定Region对象的配置类
+ Configuration cfg = new Configuration(zone);
+ System.out.println(split[2]);
+ String key = split[2];
+ Auth auth = Auth.create(qiniuConfig.getAccessKey(), qiniuConfig.getSecretKey());
+ BucketManager bucketManager = new BucketManager(auth, cfg);
+ try {
+ return bucketManager.delete(qiniuConfig.getBucketName(), key).toString();
+ } catch (QiniuException ex) {
+ //如果遇到异常,说明删除失败
+ System.err.println(ex.code());
+ System.err.println(ex.response.toString());
+ }
+ return "";
+ }
+ public static void main(String[] args) {
+ String url="http://rd582ra2f.hd-bkt.clouddn.com//code/duck/2022-07-10-e46bf8d168b348fd9cc8b6b39e12d3ca.png";
+ for (String s : url.split("//")) {
+ System.out.println(s);
+ }
-// public static void main(String[] args) {
-//
// String imageString = ImgUtil.getImageString("C:\\Users\\ASUS\\Documents\\WeChat Files\\wxid_vzk0z5ghy6q922\\FileStorage\\File\\2020-09\\20220608134731.png");
// JSONObject jsonObject = checkImageContent("data:application/octet-stream;base64," + imageString);
// System.out.println(JSON.parseObject(jsonObject.get("result").toString()).get("suggestion").toString());
// System.out.println(jsonObject);
-// }
+ }
}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java
index 12f6e03..28ba930 100644
--- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/ChekFileVo.java
@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
+import org.springframework.web.multipart.MultipartFile;
/**
* @Author qyh
@@ -18,4 +19,6 @@ public class ChekFileVo {
private String status;
@ApiModelProperty(value="文件名称")
private String fileName;
+ @ApiModelProperty(value = "文件")
+ private MultipartFile file;
}
diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java
new file mode 100644
index 0000000..105e70b
--- /dev/null
+++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/vo/UploadVo.java
@@ -0,0 +1,9 @@
+package com.bnyer.file.vo;
+
+/**
+ * @Author qyh
+ * @Date 2022/7/9 18:22
+ * @Description
+ */
+public class UploadVo {
+}
diff --git a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml
index ccea5fc..687e6b7 100644
--- a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml
+++ b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml
@@ -15,4 +15,4 @@ spring:
active: dev
servlet:
multipart:
- maxFileSize: 5MB
+ maxFileSize: 27MB
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java
index 433f48d..be25728 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/BnyerImgApplication.java
@@ -5,6 +5,7 @@ import com.bnyer.common.security.annotation.EnableRyFeignClients;
import com.bnyer.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableAsync;
/**
* 系统模块
@@ -15,6 +16,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
+@EnableAsync
public class BnyerImgApplication
{
public static void main(String[] args)
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java
index 7c95f63..09928e0 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java
@@ -22,17 +22,17 @@ public class AlipayConfig{
private String gatewayUrl;
@Value("${alipay.appId}")
- public String appId;
+ private String appId;
@Value("${alipay.privateKey}")
- public String privateKey;
+ private String privateKey;
@Value("${alipay.certPath}")
- public String certPath;
+ private String certPath;
@Value("${alipay.alipayPublicCertPath}")
- public String alipayPublicCertPath;
+ private String alipayPublicCertPath;
@Value("${alipay.rootPath}")
- public String rootPath;
+ private String rootPath;
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java
new file mode 100644
index 0000000..2fc33df
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java
@@ -0,0 +1,25 @@
+package com.bnyer.img.config;
+
+import lombok.Getter;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 八字算命配置类
+ * @author chengkun
+ * @date 2022/4/21 17:43
+ */
+@Configuration
+@ConfigurationProperties(prefix = "bnyer.img.bz")
+@Getter
+@RefreshScope
+public class BzConfig {
+
+ @Value("${bnyer.img.bz.appCode}")
+ private String appCode;
+
+ @Value("${bnyer.img.bz.url}")
+ private String url;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java
index 9b462cc..0c39b7b 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java
@@ -18,7 +18,7 @@ import org.springframework.context.annotation.Configuration;
public class FhConfig {
@Value("${bnyer.img.fasthand.appId}")
- private String appId;
+ public String appId;
@Value("${bnyer.img.fasthand.secret}")
public String secret;
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java
index 0ca1522..2993230 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java
@@ -26,13 +26,13 @@ public class TiktokConfig implements WebMvcConfigurer {
private String appId;
@Value("${bnyer.img.tiktok.secret}")
- public String secret;
+ private String secret;
@Value("${bnyer.img.tiktok.sessionInfoUrl}")
- public String sessionInfoUrl;
+ private String sessionInfoUrl;
@Value("${bnyer.img.tiktok.tokenUrl}")
- public String tokenUrl;
+ private String tokenUrl;
// @Resource
// private TokenCheckHandler tokenCheckHandler;
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java
index 192166e..eb51a2a 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java
@@ -26,12 +26,12 @@ public class WxConfig {
private String appId;
@Value("${bnyer.img.wechat.secret}")
- public String secret;
+ private String secret;
@Value("${bnyer.img.wechat.sessionInfoUrl}")
- public String sessionInfoUrl;
+ private String sessionInfoUrl;
@Value("${bnyer.img.wechat.tokenUrl}")
- public String tokenUrl;
+ private String tokenUrl;
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
index 0610449..e5c7bd3 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/RedisKeyConstant.java
@@ -92,4 +92,13 @@ public class RedisKeyConstant {
* 审核收益锁键
*/
public static final String VERIFY_PROFIT_LOCK_KEY = "bnyer.img.profit.lock:";
+
+ /**
+ * 平台用户下载键
+ */
+ public static final String PLATFORM_USER_DOWNLOAD_KEY = "bnyer.img.user.download:";
+ /**
+ * 艺术家上传键
+ */
+ public static final String CREATOR_UPLOAD_KEY="bnyer.img.creator.upload:";
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java
new file mode 100644
index 0000000..d8c1c55
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/StatusImgConstant.java
@@ -0,0 +1,33 @@
+package com.bnyer.img.constants;
+
+/**
+ * 平台常量
+ * @author chengkun
+ * @date 2022/4/21 18:12
+ */
+public class StatusImgConstant {
+ /**
+ * 待审核
+ */
+ public static final String UNCHECK = "0";
+
+ /**
+ * 审核通过
+ */
+ public static final String PASS = "1";
+
+ /**
+ * 审核拒绝
+ */
+ public static final String UNPASS = "2";
+
+ /**
+ * 已上架
+ */
+ public static final String ONLINE = "3";
+
+ /**
+ * 已下架
+ */
+ public static final String OFFLINE = "4";
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java
index f383bbd..11a342b 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/constants/TiktokConstant.java
@@ -60,4 +60,19 @@ public class TiktokConstant {
* 调用快手授权失败
*/
public static final Integer FH_AUTH_ERROR = 105009;
+
+ /**
+ * 艺术家手机号或密码不正确
+ */
+ public static final Integer TIKTOK_CREATOR_PWD_ERROR = 105010;
+
+ /**
+ * 艺术家尚未审核
+ */
+ public static final Integer TIKTOK_CREATOR_NOT_PASS_ERROR = 105011;
+
+ /**
+ * 艺术家尚未审核
+ */
+ public static final Integer TIKTOK_CREATOR_BANED_ERROR = 105012;
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java
new file mode 100644
index 0000000..d360df4
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java
@@ -0,0 +1,46 @@
+package com.bnyer.img.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.bnyer.common.core.domain.R;
+import com.bnyer.common.core.web.controller.BaseController;
+import com.bnyer.common.redis.service.RedisService;
+import com.bnyer.img.dto.BzDto;
+import com.bnyer.img.service.BzDataService;
+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.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Api(value = "【图文平台】八字运势接口",tags = "【图文平台】八字运势接口")
+@RestController
+@RequestMapping("/img/bz")
+@Slf4j
+public class BzDataController extends BaseController {
+
+ @Autowired
+ private BzDataService bzDataService;
+ @Autowired
+ private RedisService redisService;
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value = "八字算命")
+ @PostMapping("/getYs")
+ public R getYs(@RequestBody @ApiParam("八字运势") BzDto dto) {
+ JSONObject jsonObject = bzDataService.getYs(dto);
+ if (jsonObject!=null){
+ return R.ok(jsonObject);
+ }
+ return R.fail();
+ }
+
+ @ApiOperation(value = "八字页面数据统计")
+ @PostMapping("/dataStatistics")
+ public R dataStatistics(@RequestParam String source, HttpServletRequest request) {
+ String ip = bzDataService.getIpAddr(request);
+ bzDataService.dataStatistics(ip,source);
+ return R.ok();
+ }
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java
index e7ca535..9594014 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorController.java
@@ -38,9 +38,6 @@ public class CreatorController extends BaseController {
if(StringUtils.isNotBlank(dto.getPhone())){
dto.setPhone(Sm4Util.sm4Encryption(dto.getPhone()));
}
- if(StringUtils.isNotBlank(dto.getOpenId())){
- dto.setOpenId(Sm4Util.sm4Encryption(dto.getOpenId()));
- }
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
List creators = creatorService.queryPage(dto);
if(creators.size() > 0){
@@ -49,8 +46,6 @@ public class CreatorController extends BaseController {
if(StringUtils.isNotBlank(creator.getPhone())){
creator.setPhone(Sm4Util.sm4Decrypt(creator.getPhone()));
}
- //暂时注释掉openId解密校验
- //creator.setOpenId(Sm4Util.sm4Decrypt(creator.getOpenId()));
}
}
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
index cf51840..b06d8e1 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java
@@ -1,11 +1,14 @@
package com.bnyer.img.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
-import com.bnyer.img.domain.TiktokImg;
+import com.bnyer.common.core.web.page.TableDataInfo;
+import com.bnyer.img.constants.TiktokConstant;
import com.bnyer.img.dto.*;
import com.bnyer.img.service.*;
+import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -53,11 +56,56 @@ public class CreatorMiniController extends BaseController {
@Autowired
private CreatorProfitService creatorProfitService;
+ @Autowired
+ private SignService signService;
+
+ @Autowired
+ private BzDataService bzDataService;
+
+ //@TokenCheck
+ @ApiOperation(value="检查手机号是否重复")
+ @PostMapping(value = "/checkPhone")
+ public AjaxResult checkPhone(@Validated @RequestBody @ApiParam("手机号对象") CheckPhoneDto dto){
+ log.debug("【艺术家小程序】检查手机号是否重复参数为:{}", JSON.toJSONString(dto));
+ boolean b = creatorService.checkPhone(dto.getPhone());
+ if(b){
+ return AjaxResult.error(TiktokConstant.BINDED_PHONE,"当前手机号已绑定艺术家,请重新编辑!");
+ }else{
+ return AjaxResult.success();
+ }
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="检查搜索码是否重复")
+ @PostMapping(value = "/checkScanCode")
+ public AjaxResult checkScanCode(@Validated @RequestBody @ApiParam("搜索码对象") CheckScanCodeDto dto){
+ log.debug("【艺术家小程序】检查搜索码是否重复参数为:{}", JSON.toJSONString(dto));
+ boolean b = creatorService.checkScanCode(dto.getScanCode());
+ if(b){
+ return AjaxResult.error(TiktokConstant.SCAN_CODE_REPEAT,"搜索码重复,请重新编辑!");
+ }else{
+ return AjaxResult.success();
+ }
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="检查邀请码是否存在")
+ @PostMapping(value = "/checkInviteCode")
+ public AjaxResult checkInviteCode(@Validated @RequestBody @ApiParam("邀请码对象") CheckInviteCodeDto dto){
+ log.debug("【艺术家小程序】检查邀请码是否存在参数为:{}", JSON.toJSONString(dto));
+ boolean b = creatorService.checkInviteCode(dto.getInviteCode());
+ if(b){
+ return AjaxResult.success();
+ }else{
+ return AjaxResult.error(TiktokConstant.INVITE_CODE_NOT_EXIST,"邀请码不存在,请联系客服!");
+ }
+ }
+
//@TokenCheck
- @ApiOperation(value="成为艺术家")
+ @ApiOperation(value="注册艺术家")
@PostMapping(value = "/insertCreator")
public AjaxResult insertCreator(@Validated @RequestBody @ApiParam("艺术家对象") CreatorDto dto){
- log.info("【艺术家小程序】成为艺术家参数为:{}", JSON.toJSONString(dto));
+ log.info("【艺术家小程序】注册艺术家参数为:{}", JSON.toJSONString(dto));
return AjaxResult.success(creatorService.insertCreator(dto));
}
@@ -85,24 +133,12 @@ public class CreatorMiniController extends BaseController {
return AjaxResult.success(tiktokImgService.delete(ids));
}
- //@TokenCheck
- @ApiOperation(value="修改艺术家图片")
- @PostMapping(value = "/updateTiktokImg")
- public AjaxResult updateTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto){
- log.info("【艺术家小程序】艺术家【{}】修改图片参数为:{}",dto.getCreatorId(), JSON.toJSONString(dto));
- TiktokImg tiktokImg = dto.extractParam();
- tiktokImg.setStatus("0");
- return AjaxResult.success(tiktokImgService.update(dto.extractParam()));
- }
-
//@TokenCheck
@ApiOperation(value="新增艺术家图片")
@PostMapping(value = "/insertTiktokImg")
public AjaxResult insertTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgMiniDto dto){
log.info("【艺术家小程序】艺术家【{}】新增图片参数为:{}",dto.getCreatorId(),JSON.toJSONString(dto));
- TiktokImg tiktokImg = dto.extractParam();
- tiktokImg.setStatus("0");
- return AjaxResult.success(tiktokImgService.insert(tiktokImg));
+ return AjaxResult.success(tiktokImgService.insert(dto));
}
//@TokenCheck
@@ -137,17 +173,19 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@ApiOperation(value="查询公告列表")
- @GetMapping(value = "/getNoticeList")
- public AjaxResult getNoticeList(){
- return AjaxResult.success(noticeService.queryList());
+ @PostMapping(value = "/getNoticeList")
+ public TableDataInfo getNoticeList(@RequestBody @ApiParam("分页参数") BasePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ return getDataTable(noticeService.queryList());
}
//@TokenCheck
@ApiOperation(value="查询邀请记录")
- @GetMapping(value = "/getInviteLog/{creatorId}")
- public AjaxResult getInviteLog(@PathVariable @ApiParam("艺术家id") Long creatorId){
- log.info("【艺术家小程序】查询艺术家id:【{}】邀请记录:",creatorId);
- return AjaxResult.success(inviteLogService.queryFrontList(creatorId));
+ @PostMapping(value = "/getInviteLog")
+ public TableDataInfo getInviteLog(@RequestBody @ApiParam("艺术家分页对象") CreatorInviteLogPageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ log.info("【艺术家小程序】查询艺术家id:【{}】邀请记录:",dto.getCreatorId());
+ return getDataTable(inviteLogService.queryFrontList(dto.getCreatorId()));
}
//@TokenCheck
@@ -159,11 +197,12 @@ public class CreatorMiniController extends BaseController {
}
//@TokenCheck
- @ApiOperation(value="查询指定艺术家提现记录列表")
- @GetMapping(value = "/getWithdrawList/{creatorId}")
- public AjaxResult getWithdrawList(@PathVariable @ApiParam("艺术家id") Long creatorId){
- log.info("【艺术家小程序】查询指定艺术家id【{}】提现记录列表",creatorId);
- return AjaxResult.success(withdrawLogService.queryFrontList(creatorId));
+ @ApiOperation(value="查询指定艺术家提现记录分页")
+ @PostMapping(value = "/getWithdrawList")
+ public TableDataInfo getWithdrawList(@RequestBody @ApiParam("艺术家对象") CreatorWithdrawPageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ log.info("【艺术家小程序】查询指定艺术家id【{}】提现记录列表",dto.getCreatorId());
+ return getDataTable(withdrawLogService.queryFrontList(dto.getCreatorId()));
}
//@TokenCheck
@@ -209,8 +248,9 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@ApiOperation(value="查询指定艺术家即将入账收益列表")
@PostMapping(value = "/queryFrontPreProfit")
- public AjaxResult queryFrontPreProfit(@Validated @RequestBody @ApiParam("即将入账对象") ProfitStatusDto params){
- return AjaxResult.success(creatorProfitService.queryFrontPreProfit(params.getCreatorId(),params.getType()));
+ public TableDataInfo queryFrontPreProfit(@Validated @RequestBody @ApiParam("即将入账对象") ProfitStatusDto params){
+ PageHelper.startPage(params.getPageNum(), params.getPageSize());
+ return getDataTable(creatorProfitService.queryFrontPreProfit(params.getCreatorId(),params.getType()));
}
//@TokenCheck
@@ -223,8 +263,9 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@ApiOperation(value="查询指定艺术家已入账收益列表")
@PostMapping(value = "/queryFrontInProfitAmt")
- public AjaxResult queryFrontInProfitAmt(@Validated @RequestBody @ApiParam("已入账对象") ProfitStatusDto params){
- return AjaxResult.success(creatorProfitService.queryFrontInProfitAmt(params.getCreatorId(),params.getType()));
+ public TableDataInfo queryFrontInProfitAmt(@Validated @RequestBody @ApiParam("已入账对象") ProfitStatusDto params){
+ PageHelper.startPage(params.getPageNum(), params.getPageSize());
+ return getDataTable(creatorProfitService.queryFrontInProfitAmt(params.getCreatorId(),params.getType()));
}
//@TokenCheck
@@ -237,8 +278,16 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@ApiOperation(value="查询指定艺术家转入钱包收益列表")
@PostMapping(value = "/queryFrontEndProfitAmt")
- public AjaxResult queryFrontEndProfitAmt(@Validated @RequestBody @ApiParam("转入钱包对象") ProfitStatusDto params){
- return AjaxResult.success(creatorProfitService.queryFrontEndProfitAmt(params.getCreatorId(),params.getType()));
+ public TableDataInfo queryFrontEndProfitAmt(@Validated @RequestBody @ApiParam("转入钱包对象") ProfitStatusDto params){
+ PageHelper.startPage(params.getPageNum(), params.getPageSize());
+ return getDataTable(creatorProfitService.queryFrontEndProfitAmt(params.getCreatorId(),params.getType()));
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="查询指定艺术家转入钱包收益详情")
+ @GetMapping(value = "/queryFrontEndAmtDetails/{id}")
+ public AjaxResult queryFrontEndAmtDetails(@PathVariable @ApiParam("收益id") Long id){
+ return AjaxResult.success(creatorProfitService.queryFrontEndAmtDetails(id));
}
//@TokenCheck
@@ -251,9 +300,49 @@ public class CreatorMiniController extends BaseController {
//@TokenCheck
@PostMapping("/login")
@ApiOperation("小程序艺术家登录")
- public AjaxResult login(@Validated @ApiParam("艺术家数据") @RequestBody WxLoginDto param)
+ public AjaxResult login(@Validated @ApiParam("艺术家数据") @RequestBody CreatorLoginDto param)
{
log.info("小程序艺术家数据参数为:{}", JSON.toJSON(param));
return AjaxResult.success(creatorService.login(param));
}
+
+ //@TokenCheck
+ @ApiOperation(value="查询艺术家分类图片数量")
+ @GetMapping(value = "/queryCreatorTypeImgNum/{creatorId}")
+ public AjaxResult queryCreatorTypeImgNum(@PathVariable @ApiParam("艺术家id") Long creatorId){
+ return AjaxResult.success(tiktokImgService.queryCreatorTypeImgNum(creatorId));
+ }
+
+ //@TokenCheck
+ @PostMapping("/onlineOrOfflineImg")
+ @ApiOperation("小程序艺术家上下架图片")
+ public AjaxResult onlineOrOfflineImg(@Validated @ApiParam("艺术家图片数据") @RequestBody StatusDto param)
+ {
+ log.info("小程序艺术家上下架图片参数为:{}", JSON.toJSON(param));
+ return AjaxResult.success(tiktokImgService.onlineOrOfflineImg(param));
+ }
+
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value="获取上传页面标签列表")
+ @GetMapping(value = "/signList")
+ public AjaxResult querySignList(){
+ return AjaxResult.success(signService.querySignList());
+ }
+
+ //@TokenCheck
+ @ApiOperation(value = "八字算命")
+ @PostMapping("/getYs")
+ public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) {
+ JSONObject jsonObject = bzDataService.getYs(dto);
+ if (jsonObject!=null){
+ return AjaxResult.success(jsonObject);
+ }
+ return AjaxResult.error();
+ }
+ @ApiOperation(value="检查某艺术家当日上传次数是否超标")
+ @PostMapping(value = "/checkCreatorCanUpload")
+ public AjaxResult checkCreatorCanUpload(@Validated @RequestBody @ApiParam("检查超标对象") CreatorUploadDto dto){
+ log.debug("【艺术家小程序】检查艺术家当日上传次数是否超标参数为:{}", JSON.toJSONString(dto));
+ return AjaxResult.success(creatorProfitService.checkCreatorCanUpload(dto.getCreatorId()));
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java
index a494ab7..9da6178 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java
@@ -1,6 +1,7 @@
package com.bnyer.img.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo;
@@ -9,6 +10,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.SignImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
@@ -55,6 +57,12 @@ public class FhMiniController extends BaseController {
@Autowired
private CreatorProfitService creatorProfitService;
+ @Autowired
+ private SignService signService;
+
+ @Autowired
+ private BzDataService bzDataService;
+
//@TokenCheck
@ApiOperation(value="查询banner列表")
@GetMapping(value = "/listBanner")
@@ -197,18 +205,26 @@ public class FhMiniController extends BaseController {
return getDataTable(tiktokImgVos);
}
+ //@TokenCheck
+ @ApiOperation(value="检查某平台用户当日下载次数是否超标")
+ @PostMapping(value = "/checkUserCanDownload")
+ public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){
+ log.debug("【快手图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto));
+ return AjaxResult.success(fhUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType()));
+ }
+
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.debug("【快手图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
- return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
+ return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
- public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
+ public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.debug("【快手图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();
@@ -232,4 +248,42 @@ public class FhMiniController extends BaseController {
return AjaxResult.error("该艺术家不存在!");
}
}
+
+ //@TokenCheck
+ @ApiOperation(value="查询小程序端标签分页")
+ @PostMapping(value = "/signImgList")
+ public TableDataInfo signImgList(@RequestBody @ApiParam("分页对象") SignTypePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List signImgVos = signService.queryFrontSignByTypeId(dto.getTypeId());
+ return getDataTable(signImgVos);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="根据分类id和便签Id查询图片分页")
+ @PostMapping(value = "/querySignImg")
+ public TableDataInfo querySignImg(@RequestBody @ApiParam("分页对象") SignImgPageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId());
+ return getDataTable(tiktokImgs);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="根据标签名称查询图片分页")
+ @PostMapping(value = "/querySignImgBySignName")
+ public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName());
+ return getDataTable(tiktokImgs);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value = "八字算命")
+ @PostMapping("/getYs")
+ public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) {
+ JSONObject jsonObject = bzDataService.getYs(dto);
+ if (jsonObject!=null){
+ return AjaxResult.success(jsonObject);
+ }
+ return AjaxResult.error();
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java
index 07cc83d..4177b98 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/SignController.java
@@ -1,14 +1,80 @@
package com.bnyer.img.controller;
+import com.alibaba.fastjson.JSON;
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.Sign;
+import com.bnyer.img.dto.SignDto;
+import com.bnyer.img.dto.SignPageDto;
+import com.bnyer.img.dto.StatusDto;
+import com.bnyer.img.service.SignService;
+import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+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 = "【图文平台】图片标签接口",tags = "【图文平台】图片标签接口")
@RestController
@RequestMapping("/img/sign")
@Slf4j
public class SignController extends BaseController {
+
+ @Autowired
+ private SignService signService;
+
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value="查询sign分页")
+ @PostMapping("/page")
+ public TableDataInfo pageSign(@RequestBody @ApiParam("分页对象") SignPageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List signs = signService.queryPage(dto);
+ return getDataTable(signs);
+ }
+
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value="新增sign")
+ @PostMapping(value = "/insert")
+ public AjaxResult insertSign(@Validated @RequestBody @ApiParam("sign对象") SignDto dto){
+ log.debug("【图文平台后台】新增sign参数为:{}", JSON.toJSONString(dto));
+ return AjaxResult.success(signService.insert(dto.extractParam()));
+ }
+
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value="修改sign")
+ @PostMapping(value = "/update")
+ public AjaxResult updateSign(@Validated @RequestBody @ApiParam("sign对象")SignDto dto){
+ log.debug("【图文平台后台】修改sign参数为:{}", JSON.toJSONString(dto));
+ return AjaxResult.success(signService.update(dto.extractParam()));
+ }
+
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value="删除sign")
+ @DeleteMapping(value = "/delete/{ids}")
+ public AjaxResult deleteSign(@PathVariable @ApiParam("主键ids") List ids){
+ log.debug("【图文平台后台】删除sign参数为:{}", JSON.toJSONString(ids));
+ return AjaxResult.success(signService.delete(ids));
+ }
+
+ //@RequiresPermissions("system:config:list")
+ @ApiOperation(value="查询sign详情")
+ @GetMapping(value = "/details/{id}")
+ public AjaxResult detailsSign(@PathVariable @ApiParam("主键id") Long id){
+ log.debug("【图文平台后台】查询sign详情参数为:{}", id);
+ return AjaxResult.success(signService.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(signService.changeStatus(dto.getId(),dto.getStatus()));
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java
index adc43c1..92f2dc2 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokImgController.java
@@ -39,12 +39,12 @@ public class TiktokImgController extends BaseController {
}
//@RequiresPermissions("system:config:list")
- @ApiOperation(value="新增TiktokImg")
- @PostMapping(value = "/insert")
- public AjaxResult addTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgDto dto){
- log.debug("【图文平台后台】新增TiktokImg参数为:{}", JSON.toJSONString(dto));
- return AjaxResult.success(tiktokImgService.insert(dto.extractParam()));
- }
+// @ApiOperation(value="新增TiktokImg")
+// @PostMapping(value = "/insert")
+// public AjaxResult addTiktokImg(@Validated @RequestBody @ApiParam("TiktokImg对象") TiktokImgDto dto){
+// log.debug("【图文平台后台】新增TiktokImg参数为:{}", JSON.toJSONString(dto));
+// return AjaxResult.success(tiktokImgService.insert(dto.extractParam()));
+// }
//@RequiresPermissions("system:config:list")
@ApiOperation(value="修改TiktokImg")
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
index d443dc3..231df9f 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java
@@ -1,8 +1,7 @@
package com.bnyer.img.controller;
-import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
-import com.bnyer.common.core.exception.ServiceException;
+import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo;
@@ -10,7 +9,10 @@ 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.*;
+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.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -20,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -57,6 +58,12 @@ public class TiktokMiniController extends BaseController {
@Autowired
private CreatorProfitService creatorProfitService;
+ @Autowired
+ private SignService signService;
+
+ @Autowired
+ private BzDataService bzDataService;
+
//@TokenCheck
@ApiOperation(value="查询banner列表")
@GetMapping(value = "/listBanner")
@@ -99,14 +106,8 @@ public class TiktokMiniController extends BaseController {
@PostMapping(value = "/creatorImgsPage")
public TableDataInfo creatorImgsPage(@RequestBody @ApiParam("分页对象") BasePageDto dto){
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
- //List list = new ArrayList<>();
List creatorVos = creatorService.queryThreeImgCreatorList();
-// for (CreatorVo creatorVo : creatorVos) {
-// if(CollectionUtil.isNotEmpty(creatorVo.getImgList())){
-// list.add(creatorVo);
-// }
-// }
- //TODO 此处图片列表为空时,去除为空的部分分页会有BUG
+ //TODO 此处图片列表为空时,去除为空的部分分页会有BUG,此处改为了老的数据会优先排列,暂时解决了问题
return getDataTable(creatorVos);
}
@@ -207,18 +208,26 @@ public class TiktokMiniController extends BaseController {
return getDataTable(tiktokImgVos);
}
+ //@TokenCheck
+ @ApiOperation(value="检查某平台用户当日下载次数是否超标")
+ @PostMapping(value = "/checkUserCanDownload")
+ public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){
+ log.debug("【抖音图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto));
+ return AjaxResult.success(tiktokUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType()));
+ }
+
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.debug("【抖音图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
- return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
+ return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
- public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
+ public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.debug("【抖音图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();
@@ -242,4 +251,42 @@ public class TiktokMiniController extends BaseController {
return AjaxResult.error("该艺术家不存在!");
}
}
+
+ //@TokenCheck
+ @ApiOperation(value="查询小程序端标签分页")
+ @PostMapping(value = "/signImgList")
+ public TableDataInfo signImgList(@RequestBody @ApiParam("分页对象") SignTypePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List signImgVos = signService.queryFrontSignByTypeId(dto.getTypeId());
+ return getDataTable(signImgVos);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="根据分类id和便签Id查询图片分页")
+ @PostMapping(value = "/querySignImg")
+ public TableDataInfo querySignImg(@RequestBody @ApiParam("分页对象") SignImgPageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId());
+ return getDataTable(tiktokImgs);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="根据标签名称查询图片分页")
+ @PostMapping(value = "/querySignImgBySignName")
+ public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName());
+ return getDataTable(tiktokImgs);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value = "八字算命")
+ @PostMapping("/getYs")
+ public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) {
+ JSONObject jsonObject = bzDataService.getYs(dto);
+ if (jsonObject!=null){
+ return AjaxResult.success(jsonObject);
+ }
+ return AjaxResult.error();
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java
index 7cba15a..ceb2bfb 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java
@@ -1,6 +1,7 @@
package com.bnyer.img.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo;
@@ -9,6 +10,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.SignImgVo;
import com.bnyer.img.vo.TiktokImgVo;
import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
@@ -55,6 +57,12 @@ public class WxMiniController extends BaseController {
@Autowired
private CreatorProfitService creatorProfitService;
+ @Autowired
+ private SignService signService;
+
+ @Autowired
+ private BzDataService bzDataService;
+
//@TokenCheck
@ApiOperation(value="查询banner列表")
@GetMapping(value = "/listBanner")
@@ -197,18 +205,26 @@ public class WxMiniController extends BaseController {
return getDataTable(tiktokImgVos);
}
+ //@TokenCheck
+ @ApiOperation(value="检查某平台用户当日下载次数是否超标")
+ @PostMapping(value = "/checkUserCanDownload")
+ public AjaxResult checkUserCanDownload(@Validated @RequestBody @ApiParam("检查超标对象") checkUserCanDownloadDto dto){
+ log.debug("【微信图文小程序】检查某平台用户当日下载次数是否超标参数为:{}", JSON.toJSONString(dto));
+ return AjaxResult.success(wxUserService.checkUserCanDownload(dto.getUserId(),dto.getPlatform(),dto.getAppType()));
+ }
+
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账广告收益")
@PostMapping(value = "/insertOrUpdatePreAdProfit")
public AjaxResult insertOrUpdatePreAdProfit(@Validated @RequestBody @ApiParam("即将入账广告对象") CreatorProfitAdInsertDto dto){
log.debug("【微信图文小程序】新增/更新艺术家即将入账广告收益参数为:{}", JSON.toJSONString(dto));
- return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto.extractParam()));
+ return AjaxResult.success(creatorProfitService.insertCreatorProfit(dto));
}
//@TokenCheck
@ApiOperation(value="新增/更新艺术家即将入账邀请收益")
@PostMapping(value = "/insertOrUpdatePreInviteProfit")
- public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitAdInsertDto dto){
+ public AjaxResult insertOrUpdatePreInviteProfit(@Validated @RequestBody @ApiParam("即将入账邀请对象") CreatorProfitInviteInsertDto dto){
log.debug("【微信图文小程序】新增/更新艺术家即将入账邀请收益参数为:{}", JSON.toJSONString(dto));
creatorProfitService.insertInvitedProfit(dto.extractParam());
return AjaxResult.success();
@@ -232,4 +248,42 @@ public class WxMiniController extends BaseController {
return AjaxResult.error("该艺术家不存在!");
}
}
+
+ //@TokenCheck
+ @ApiOperation(value="查询小程序端标签分页")
+ @PostMapping(value = "/signImgList")
+ public TableDataInfo signImgList(@RequestBody @ApiParam("分页对象") SignTypePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List signImgVos = signService.queryFrontSignByTypeId(dto.getTypeId());
+ return getDataTable(signImgVos);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="根据分类id和便签Id查询图片分页")
+ @PostMapping(value = "/querySignImg")
+ public TableDataInfo querySignImg(@RequestBody @ApiParam("分页对象") SignImgPageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List tiktokImgs = tiktokImgService.querySignImgBySignIdAndTypeId(dto.getSignId(), dto.getTypeId());
+ return getDataTable(tiktokImgs);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value="根据标签名称查询图片分页")
+ @PostMapping(value = "/querySignImgBySignName")
+ public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName());
+ return getDataTable(tiktokImgs);
+ }
+
+ //@TokenCheck
+ @ApiOperation(value = "八字算命")
+ @PostMapping("/getYs")
+ public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) {
+ JSONObject jsonObject = bzDataService.getYs(dto);
+ if (jsonObject!=null){
+ return AjaxResult.success(jsonObject);
+ }
+ return AjaxResult.error();
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java
new file mode 100644
index 0000000..354a015
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/BzData.java
@@ -0,0 +1,61 @@
+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.*;
+
+@ApiModel(value="com-bnyer-img-domain-BzData")
+@Getter
+@Setter
+@ToString
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "img_bz_data")
+public class BzData {
+ /**
+ * 主键id
+ */
+ @TableId(value = "id", type = IdType.INPUT)
+ @ApiModelProperty(value="主键id")
+ private Long id;
+
+ /**
+ * 日期
+ */
+ @TableField(value = "date")
+ @ApiModelProperty(value="日期 年月日")
+ private String date;
+
+ /**
+ * pv
+ */
+ @TableField(value = "pv")
+ @ApiModelProperty(value="pv")
+ private Long pv;
+
+ /**
+ * uv
+ */
+ @TableField(value = "uv")
+ @ApiModelProperty(value="uv")
+ private Long uv;
+
+ /**
+ * 平台(0->Hub;1->抖音;2->快手;3->微信)
+ */
+ @TableField(value = "source")
+ @ApiModelProperty(value="source")
+ private String source;
+
+ /**
+ * 防止重复唯一标识
+ */
+ @TableField(value = "mark")
+ @ApiModelProperty(value="mark")
+ private String mark;
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java
index 225c036..6f9d8c9 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Creator.java
@@ -26,11 +26,11 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "img_creator")
-public class Creator extends BaseDomain {
+public class Creator extends BaseDomain {
/**
* 主键id
*/
- @TableId(value = "id", type = IdType.INPUT)
+ @TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value="主键id")
private Long id;
@@ -42,11 +42,11 @@ public class Creator extends BaseDomain {
private String name;
/**
- * 姓名
+ * 密码
*/
- @TableField(value = "open_id")
- @ApiModelProperty(value="微信id")
- private String openId;
+ @TableField(value = "password")
+ @ApiModelProperty(value="密码")
+ private String password;
/**
* 搜索码
@@ -111,13 +111,6 @@ public class Creator extends BaseDomain {
@ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
private String isHot;
- /**
- * 是否显示 (0->隐藏;1->显示)
- */
- @TableField(value = "is_show")
- @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)")
- private String isShow;
-
/**
* 最后登录时间
*/
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java
index 17e8f5f..acb9b3a 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/ImgSignRelation.java
@@ -4,10 +4,14 @@ 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 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(value="com-bnyer-img-domain-ImgSignRelation")
@Getter
@Setter
@@ -15,11 +19,11 @@ import lombok.*;
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "img_img_sign_relation")
-public class ImgSignRelation extends BaseDomain {
+public class ImgSignRelation implements Serializable {
/**
* 主键id
*/
- @TableId(value = "id", type = IdType.INPUT)
+ @TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value="主键id")
private Long id;
@@ -30,6 +34,13 @@ public class ImgSignRelation extends BaseDomain {
@ApiModelProperty(value="图片id")
private Long imgId;
+ /**
+ * 分类id
+ */
+ @TableField(value = "type_id")
+ @ApiModelProperty(value="分类id")
+ private Long typeId;
+
/**
* 标签id
*/
@@ -37,5 +48,13 @@ public class ImgSignRelation extends BaseDomain {
@ApiModelProperty(value="标签id")
private Long signId;
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value="创建时间")
+ private Date createTime;
+
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java
index ff4a220..c3327ea 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/Sign.java
@@ -30,5 +30,12 @@ public class Sign extends BaseDomain{
@ApiModelProperty(value="标签名称")
private String name;
+ /**
+ * 背景图
+ */
+ @TableField(value = "img")
+ @ApiModelProperty(value="背景图")
+ private String img;
+
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java
new file mode 100644
index 0000000..76f5470
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/BzDto.java
@@ -0,0 +1,35 @@
+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;
+
+/**
+ * @Author qyh
+ * @Date 2022/7/13 21:27
+ * @Description
+ */
+@Getter
+@Setter
+@ApiModel("八字运势接收类")
+public class BzDto {
+ @NotBlank(message = "姓不能为空!")
+ @ApiModelProperty(value="姓")
+ private String lastName;
+
+ @NotBlank(message = "名不能为空!")
+ @ApiModelProperty(value="名")
+ private String firstName;
+
+ @NotBlank(message = "性别不能为空!")
+ @ApiModelProperty(value="性别")
+ private String sex;
+
+ @NotBlank(message = "出生年月不能为空!")
+ @ApiModelProperty(value="出生年月")
+ //19990209060808这样的
+ private String birth;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.java
new file mode 100644
index 0000000..2be2fd2
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckInviteCodeDto.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.NotBlank;
+import java.io.Serializable;
+
+
+@Getter
+@Setter
+@ApiModel("邀请码接收类")
+public class CheckInviteCodeDto implements Serializable {
+
+ @NotBlank(message = "邀请码不能为空!")
+ @ApiModelProperty(value="邀请码")
+ private String inviteCode;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.java
new file mode 100644
index 0000000..cab16f2
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckPhoneDto.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.NotBlank;
+import java.io.Serializable;
+
+
+@Getter
+@Setter
+@ApiModel("手机号接收类")
+public class CheckPhoneDto implements Serializable {
+
+ @NotBlank(message = "手机号不能为空!")
+ @ApiModelProperty(value="手机号")
+ private String phone;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java
new file mode 100644
index 0000000..146b9b1
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CheckScanCodeDto.java
@@ -0,0 +1,21 @@
+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 javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+
+@Getter
+@Setter
+@ApiModel("搜索码接收类")
+public class CheckScanCodeDto implements Serializable {
+
+ @NotBlank(message = "搜索码不能为空!")
+ @ApiModelProperty(value="搜索码")
+ private String scanCode;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java
index df5db0c..fa8eaef 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorDto.java
@@ -14,8 +14,9 @@ import java.io.Serializable;
@ApiModel("艺术家接收类")
public class CreatorDto implements Serializable {
- @ApiModelProperty(value="主键Id")
- private Long id;
+ @NotBlank(message = "昵称不能为空!")
+ @ApiModelProperty(value="昵称")
+ private String name;
@NotBlank(message = "搜索码不能为空!")
@ApiModelProperty(value="搜索码")
@@ -25,6 +26,14 @@ public class CreatorDto implements Serializable {
@ApiModelProperty(value="手机号")
private String phone;
+ @NotBlank(message = "密码不能为空!")
+ @ApiModelProperty(value="密码")
+ private String password;
+
+ //@NotBlank(message = "头像不能为空!")
+ @ApiModelProperty(value="头像img地址")
+ private String img;
+
@ApiModelProperty(value="简介")
private String intro;
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java
new file mode 100644
index 0000000..826a62e
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorInviteLogPageDto.java
@@ -0,0 +1,21 @@
+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;
+
+
+@Getter
+@Setter
+@ApiModel("艺术家邀请记录分页接收类")
+public class CreatorInviteLogPageDto extends BasePageDto {
+
+ @NotNull(message = "艺术家id不能为空!")
+ @ApiModelProperty(value="艺术家id")
+ private Long creatorId;
+
+
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java
new file mode 100644
index 0000000..33dca23
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorLoginDto.java
@@ -0,0 +1,23 @@
+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 CreatorLoginDto implements Serializable {
+
+ @NotBlank(message = "手机号不能为空!")
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ @NotBlank(message = "密码不能为空!")
+ @ApiModelProperty(value = "密码")
+ private String password;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java
index 6f54590..c0957e3 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorPageDto.java
@@ -16,9 +16,6 @@ public class CreatorPageDto extends BasePageDto {
@ApiModelProperty(value="昵称")
private String name;
- @ApiModelProperty(value="微信id")
- private String openId;
-
@ApiModelProperty(value="搜索码")
private String scanCode;
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java
index 98251d3..8b1d41d 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitAdInsertDto.java
@@ -1,7 +1,5 @@
package com.bnyer.img.dto;
-import com.bnyer.common.core.utils.bean.BeanUtils;
-import com.bnyer.img.domain.CreatorProfit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -37,9 +35,7 @@ public class CreatorProfitAdInsertDto implements Serializable {
@ApiModelProperty(value="应用类型(0->节点壁纸)")
private String appType;
- public CreatorProfit extractParam(){
- CreatorProfit creatorProfit = new CreatorProfit();
- BeanUtils.copyProperties(this, creatorProfit);
- return creatorProfit;
- }
+ @NotNull(message = "用户id不能为空!")
+ @ApiModelProperty(value="用户id")
+ private Long userId;
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java
new file mode 100644
index 0000000..65ab180
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorProfitInviteInsertDto.java
@@ -0,0 +1,45 @@
+package com.bnyer.img.dto;
+
+import com.bnyer.common.core.utils.bean.BeanUtils;
+import com.bnyer.img.domain.CreatorProfit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+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 CreatorProfitInviteInsertDto implements Serializable {
+
+ @NotNull(message = "艺术家id不能为空!")
+ @ApiModelProperty(value="艺术家id")
+ private Long creatorId;
+
+ @NotBlank(message = "收益人搜索码不能为空!")
+ @ApiModelProperty(value="收益人搜索码")
+ private String scanCode;
+
+ @NotNull(message = "图片id不能为空!")
+ @ApiModelProperty(value="图片id")
+ private Long imgId;
+
+ @NotBlank(message = "结算平台不能为空!")
+ @ApiModelProperty(value="结算平台(0->抖音;1->快手;2->微信;3->uniapp)")
+ private String platform;
+
+ @NotBlank(message = "应用类型不能为空!")
+ @ApiModelProperty(value="应用类型(0->节点壁纸)")
+ private String appType;
+
+ public CreatorProfit extractParam(){
+ CreatorProfit creatorProfit = new CreatorProfit();
+ BeanUtils.copyProperties(this, creatorProfit);
+ return creatorProfit;
+ }
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java
new file mode 100644
index 0000000..75268f2
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorUploadDto.java
@@ -0,0 +1,27 @@
+package com.bnyer.img.dto;
+
+import com.bnyer.common.core.annotation.Desensitized;
+import com.bnyer.common.core.enums.SensitiveTypeEnum;
+import com.bnyer.common.core.utils.Sm4Util;
+import com.bnyer.common.core.utils.StringUtils;
+import com.bnyer.img.domain.CreatorAccount;
+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 CreatorUploadDto implements Serializable {
+
+ @ApiModelProperty(value="艺术家id")
+ @NotNull(message = "艺术家id不能为空!")
+ private Long creatorId;
+
+
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java
new file mode 100644
index 0000000..e30ef7a
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/CreatorWithdrawPageDto.java
@@ -0,0 +1,21 @@
+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;
+
+
+@Getter
+@Setter
+@ApiModel("艺术家提现记录分页接收类")
+public class CreatorWithdrawPageDto extends BasePageDto {
+
+ @NotNull(message = "艺术家id不能为空!")
+ @ApiModelProperty(value="艺术家id")
+ private Long creatorId;
+
+
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java
new file mode 100644
index 0000000..833bd90
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java
@@ -0,0 +1,21 @@
+package com.bnyer.img.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@ApiModel("imgSignRelation分页接收类")
+public class ImgSignRelationPageDto extends BasePageDto {
+
+ @ApiModelProperty(value="是否显示")
+ private String isShow;
+
+ @ApiModelProperty(value="图片id")
+ private Long imgId;
+
+ @ApiModelProperty(value="标签id")
+ private Long signId;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java
index 79d0216..7583942 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ProfitStatusDto.java
@@ -13,7 +13,7 @@ import java.io.Serializable;
@Getter
@Setter
@ApiModel("入账类型接收类")
-public class ProfitStatusDto implements Serializable {
+public class ProfitStatusDto extends BasePageDto {
@NotNull(message = "艺术家id不能为空!")
@ApiModelProperty(value="艺术家id")
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java
new file mode 100644
index 0000000..b441ed6
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignDto.java
@@ -0,0 +1,32 @@
+package com.bnyer.img.dto;
+
+import com.bnyer.common.core.utils.bean.BeanUtils;
+import com.bnyer.img.domain.Sign;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+
+@Getter
+@Setter
+@ApiModel("sign接收类")
+public class SignDto implements Serializable {
+
+ @ApiModelProperty(value="主键id")
+ private Long id;
+
+ @ApiModelProperty(value="标签名称")
+ private String name;
+
+ @ApiModelProperty(value="背景图")
+ private String img;
+
+ public Sign extractParam(){
+ Sign sign = new Sign();
+ BeanUtils.copyProperties(this,sign);
+ return sign;
+ }
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java
new file mode 100644
index 0000000..c2b1324
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgNamePageDto.java
@@ -0,0 +1,19 @@
+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;
+
+@Getter
+@Setter
+@ApiModel("标签图片分页根据标签名称接收类")
+public class SignImgNamePageDto extends BasePageDto {
+
+ @NotBlank(message = "标签名称不能为空!")
+ @ApiModelProperty(value="标签名称")
+ private String signName;
+
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java
new file mode 100644
index 0000000..0b67cd7
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignImgPageDto.java
@@ -0,0 +1,22 @@
+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;
+
+@Getter
+@Setter
+@ApiModel("标签图片分页接收类")
+public class SignImgPageDto extends BasePageDto {
+
+ @NotNull(message = "分类id不能为空!")
+ @ApiModelProperty(value="分类id")
+ private Long typeId;
+
+ @NotNull(message = "标签id不能为空!")
+ @ApiModelProperty(value="标签id")
+ private Long signId;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java
new file mode 100644
index 0000000..35b1b94
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java
@@ -0,0 +1,19 @@
+package com.bnyer.img.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@ApiModel("sign分页接收类")
+public class SignPageDto extends BasePageDto {
+
+ @ApiModelProperty(value="标签名称")
+ private String name;
+
+ @ApiModelProperty(value="是否显示")
+ private String isShow;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java
new file mode 100644
index 0000000..883695d
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignTypePageDto.java
@@ -0,0 +1,18 @@
+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;
+
+@Getter
+@Setter
+@ApiModel("标签分类分页接收类")
+public class SignTypePageDto extends BasePageDto {
+
+ @NotNull(message = "分类id不能为空!")
+ @ApiModelProperty(value="分类id")
+ private Long typeId;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java
index 91ace0c..8bf70b7 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/TiktokImgMiniDto.java
@@ -2,12 +2,14 @@ package com.bnyer.img.dto;
import com.bnyer.common.core.utils.bean.BeanUtils;
import com.bnyer.img.domain.TiktokImg;
+import com.bnyer.img.vo.SignVo;
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
@@ -27,6 +29,12 @@ public class TiktokImgMiniDto implements Serializable {
@ApiModelProperty(value="分类id")
private Long typeId;
+ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
+ private String status;
+
+ @ApiModelProperty(value="标签id列表")
+ private List signList;
+
public TiktokImg extractParam(){
TiktokImg tiktokImg = new TiktokImg();
BeanUtils.copyProperties(this,tiktokImg);
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java
index b08eedb..e7e5b0f 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/WithdrawOrderDto.java
@@ -10,7 +10,7 @@ import java.io.Serializable;
@Getter
@Setter
-@ApiModel("notice分页接收类")
+@ApiModel("提现记录明细接收类")
public class WithdrawOrderDto implements Serializable {
@NotBlank(message = "订单id不能为空!")
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java
new file mode 100644
index 0000000..1e3742c
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/checkUserCanDownloadDto.java
@@ -0,0 +1,27 @@
+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 checkUserCanDownloadDto implements Serializable {
+
+ @ApiModelProperty(value="用户id")
+ private Long userId;
+
+ @NotNull(message = "平台不能为空!")
+ @ApiModelProperty(value="平台")
+ private String platform;
+
+ @NotNull(message = "应用不能为空!")
+ @ApiModelProperty(value="应用")
+ private String appType;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java
new file mode 100644
index 0000000..e5006a0
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/BzDataMapper.java
@@ -0,0 +1,15 @@
+package com.bnyer.img.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.bnyer.img.domain.Banner;
+import com.bnyer.img.domain.BzData;
+import com.bnyer.img.vo.BannerVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface BzDataMapper extends BaseMapper {
+
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java
index 0c98e38..9c58ff6 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/CreatorProfitMapper.java
@@ -171,4 +171,12 @@ public interface CreatorProfitMapper extends BaseMapper {
* @return -
*/
BigDecimal queryLastDayInviteProfit(@Param("creatorId") Long creatorId);
+
+ /**
+ * 查询转入钱包收益详情
+ * @param id 收益id
+ * @return -
+ */
+ CreatorProfitEndAmtVo queryFrontEndAmtDetails(@Param("id") Long id);
+
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java
index 19c3159..67fe0d8 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/ImgSignRelationMapper.java
@@ -2,8 +2,35 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.ImgSignRelation;
+import com.bnyer.img.vo.SignRelationVo;
+import com.bnyer.img.vo.SignVo;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
@Mapper
public interface ImgSignRelationMapper extends BaseMapper {
+
+ /**
+ * 根据图片id查询标签集合
+ * @param imgId 图片id
+ * @return -
+ */
+ List querySignListByImgId(@Param("imgId") Long imgId);
+
+ /**
+ * 根据图片id查询标签集合
+ * @param imgId 图片id
+ * @return -
+ */
+ List querySignRelationByImgId(@Param("imgId") Long imgId);
+
+ /**
+ * 批量新增标签
+ * @param imgId 图片id
+ * @param typeId 分类id
+ * @param signIds 标签id列表
+ */
+ void batctInsert(@Param("imgId") Long imgId, @Param("typeId") Long typeId, @Param("signIds") List signIds);
}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java
index 823408d..e4df35a 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java
@@ -2,8 +2,25 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.Sign;
+import com.bnyer.img.vo.SignImgVo;
+import com.bnyer.img.vo.SignVo;
+import com.bnyer.img.vo.TiktokImgVo;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
@Mapper
public interface SignMapper extends BaseMapper {
+ /**
+ * 查询上传页面标签列表
+ * @return -
+ */
+ List querySignList();
+
+ /**
+ * 根据分类id查询小程序端标签分页
+ * @return -
+ */
+ List queryFrontSign(@Param("typeId") Long typeId);
}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java
index d61fd4d..ddf4bad 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/TiktokImgMapper.java
@@ -2,6 +2,7 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.img.domain.TiktokImg;
+import com.bnyer.img.vo.ImgSignVo;
import com.bnyer.img.vo.TiktokImgVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -16,7 +17,7 @@ public interface TiktokImgMapper extends BaseMapper {
* @param typeId 分类Id
* @return -
*/
- List queryInList(@Param("creatorId")String creatorId,@Param("typeId") String typeId);
+ List queryInList(@Param("creatorId")String creatorId, @Param("typeId") String typeId);
/**
* 查询艺术家对外图片列表
@@ -60,4 +61,27 @@ public interface TiktokImgMapper extends BaseMapper {
* @return -
*/
List queryImgsByScanCodeAndTypeId(@Param("scanCode") String scanCode,@Param("typeId") Long typeId);
+
+ /**
+ * 查询艺术家分类图片数量
+ * @param typeId 类型id
+ * @param creatorId 艺术家id
+ * @return -
+ */
+ Integer queryCreatorTypeImgNum(@Param("typeId") Long typeId,@Param("creatorId") Long creatorId);
+
+ /**
+ * 根据分类id和便签Id查询图片分页
+ * @param signId 标签id
+ * @param typeId 分类id
+ * @return -
+ */
+ List querySignImgBySignIdAndTypeId(@Param("signId") Long signId,@Param("typeId") Long typeId);
+
+ /**
+ * 根据标签名称查询图片
+ * @param signName 标签名称
+ * @return -
+ */
+ List queryImgPageBySignName(@Param("signName") String signName);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java
new file mode 100644
index 0000000..6d0365d
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java
@@ -0,0 +1,22 @@
+package com.bnyer.img.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.bnyer.img.domain.Banner;
+import com.bnyer.img.domain.BzData;
+import com.bnyer.img.dto.BannerPageDto;
+import com.bnyer.img.dto.BzDto;
+import com.bnyer.img.vo.BannerVo;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+public interface BzDataService {
+ JSONObject getYs(BzDto dto);
+
+ void dataStatistics(String ip,String source);
+
+ int update(BzData bzData,UpdateWrapper updateWrapper);
+
+ String getIpAddr(HttpServletRequest request);
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
index bc9cc56..2a8901c 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorProfitService.java
@@ -1,6 +1,7 @@
package com.bnyer.img.service;
import com.bnyer.img.domain.CreatorProfit;
+import com.bnyer.img.dto.CreatorProfitAdInsertDto;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.vo.*;
@@ -23,10 +24,10 @@ public interface CreatorProfitService {
/**
* 新增或更新广告收益记录
- * @param creatorProfit 广告收益参数
+ * @param params 广告收益参数
* @return -
*/
- int insertCreatorProfit(CreatorProfit creatorProfit);
+ int insertCreatorProfit(CreatorProfitAdInsertDto params);
/**
* 新增或更新邀请收益
@@ -90,6 +91,11 @@ public interface CreatorProfitService {
*/
void batchUpdateConfirmType();
+ /**
+ * 批量删除昨日用户下载次数
+ */
+ void batchDeleteUserDownloadNum();
+
/**
* 小程序查询收益信息
@@ -169,6 +175,26 @@ public interface CreatorProfitService {
/**
* 批量更新收益单状态为转入钱包
* @param list 订单列表
+ * @return -
*/
int batchUpdate(List list);
+
+ /**
+ * 查询转入钱包收益详情
+ * @param id 收益id
+ * @return -
+ */
+ CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id);
+
+ /**
+ * 检查艺术家上传是否超标
+ * @param creatorId 艺术家id
+ * @return -
+ */
+ boolean checkCreatorCanUpload(Long creatorId);
+
+ /**
+ * 批量删除昨日艺术家上传次数
+ */
+ void batchDeleteCreatorUploadNum();
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java
index 9d7e993..34cc14a 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/CreatorService.java
@@ -1,10 +1,7 @@
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.dto.VerifyCreatorDto;
-import com.bnyer.img.dto.WxLoginDto;
+import com.bnyer.img.dto.*;
import com.bnyer.img.vo.*;
import java.util.List;
@@ -98,7 +95,7 @@ public interface CreatorService {
* @param param 前端传来的参数
* @return -
*/
- Map login(WxLoginDto param);
+ Map login(CreatorLoginDto param);
/**
* 查询所有审核通过的艺术家
@@ -125,4 +122,25 @@ public interface CreatorService {
* @return -
*/
Map queryCreatorScanCodeById(Long id);
+
+ /**
+ * 检查用户是否绑定过手机号
+ * @param phone 手机号
+ * @return -
+ */
+ boolean checkPhone(String phone);
+
+ /**
+ * 检查搜索码是否重复
+ * @param scanCode 搜索码
+ * @return -
+ */
+ boolean checkScanCode(String scanCode);
+
+ /**
+ * 检查邀请码是否存在
+ * @param inviteCode 邀请码
+ * @return -
+ */
+ boolean checkInviteCode(String inviteCode);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java
index c61312a..8ae66eb 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/FhUserService.java
@@ -51,4 +51,13 @@ public interface FhUserService {
* @return -
*/
int changeStatus(Long id,String status);
+
+ /**
+ * 检查某平台用户当日下载次数是否超标
+ * @param userId 用户id
+ * @param platform 平台
+ * @param appType 应用
+ * @return -
+ */
+ boolean checkUserCanDownload(Long userId,String platform,String appType);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java
index d81ade2..ef2db87 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java
@@ -1,4 +1,73 @@
package com.bnyer.img.service;
+import com.bnyer.img.domain.Sign;
+import com.bnyer.img.dto.SignPageDto;
+import com.bnyer.img.vo.SignImgVo;
+import com.bnyer.img.vo.SignVo;
+import com.bnyer.img.vo.TiktokImgVo;
+
+import java.util.List;
+
public interface SignService {
+ /**
+ * 后台新增Sign
+ * @param sign 标签
+ * @return -
+ */
+ int insert(Sign sign);
+
+ /**
+ * 修改sign
+ * @param sign -
+ * @return -
+ */
+ int update(Sign sign);
+
+ /**
+ * 批量删除sign
+ * @param ids ids
+ * @return -
+ */
+ int delete(List ids);
+
+ /**
+ * 查询sign分页
+ * @param dto 分页对象
+ * @return -
+ */
+ List queryPage(SignPageDto dto);
+
+ /**
+ * 查询sign详情
+ * @param id 主键id
+ * @return -
+ */
+ Sign queryDetails(Long id);
+
+ /**
+ * 查询sign是否重复
+ * @param name 标签名字
+ * @return -
+ */
+ boolean checkSign(String name);
+
+ /**
+ * 变更显示状态
+ * @param id 主键id
+ * @param status 状态
+ * @return -
+ */
+ int changeStatus(Long id,String status);
+
+ /**
+ * 查询上传页面标签列表
+ * @return -
+ */
+ List querySignList();
+
+ /**
+ * 根据分类id查询小程序端标签分页
+ * @return -
+ */
+ List queryFrontSignByTypeId(Long typeId);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java
index 18b54d0..cb9e4d4 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokImgService.java
@@ -1,7 +1,11 @@
package com.bnyer.img.service;
import com.bnyer.img.domain.TiktokImg;
+import com.bnyer.img.dto.StatusDto;
+import com.bnyer.img.dto.TiktokImgMiniDto;
import com.bnyer.img.dto.TiktokImgPageDto;
+import com.bnyer.img.vo.CreatorTypeImgVo;
+import com.bnyer.img.vo.ImgSignVo;
import com.bnyer.img.vo.TiktokImgVo;
import java.util.List;
@@ -10,10 +14,10 @@ public interface TiktokImgService {
/**
* 新增图片
- * @param tiktokImg 图片
+ * @param dto 图片
* @return -
*/
- int insert(TiktokImg tiktokImg);
+ int insert(TiktokImgMiniDto dto);
/**
* 修改图片
@@ -49,7 +53,7 @@ public interface TiktokImgService {
* @param typeId 分类id
* @return -
*/
- List queryInList(String creatorId,String typeId);
+ List queryInList(String creatorId, String typeId);
/**
* 查询指定艺术家对外的图片集合(通过审核的)
@@ -115,4 +119,33 @@ public interface TiktokImgService {
* @return -
*/
List queryImgsByScanCodeAndTypeId(String scanCode,Long typeId);
+
+ /**
+ * 查询艺术家分类图片数量
+ * @param creatorId 艺术家id
+ * @return -
+ */
+ CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId);
+
+ /**
+ * 艺术家上下架图片
+ * @param param 图片参数
+ * @return -
+ */
+ int onlineOrOfflineImg(StatusDto param);
+
+ /**
+ * 根据分类id和标签Id查询图片分页
+ * @param signId 标签id
+ * @param typeId 分类id
+ * @return -
+ */
+ List querySignImgBySignIdAndTypeId(Long signId, Long typeId);
+
+ /**
+ * 根据标签名称查询图片
+ * @param signName 标签名称
+ * @return -
+ */
+ List queryImgPageBySignName(String signName);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java
index 937fd82..a39440a 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/TiktokUserService.java
@@ -50,4 +50,13 @@ public interface TiktokUserService {
* @return -
*/
int changeStatus(Long id,String status);
+
+ /**
+ * 检查某平台用户当日下载次数是否超标
+ * @param userId 用户id
+ * @param platform 平台
+ * @param appType 应用
+ * @return -
+ */
+ boolean checkUserCanDownload(Long userId,String platform,String appType);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java
index ded2139..1f5ed02 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/WxUserService.java
@@ -51,4 +51,13 @@ public interface WxUserService {
* @return -
*/
int changeStatus(Long id,String status);
+
+ /**
+ * 检查某平台用户当日下载次数是否超标
+ * @param userId 用户id
+ * @param platform 平台
+ * @param appType 应用
+ * @return -
+ */
+ boolean checkUserCanDownload(Long userId,String platform,String appType);
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java
new file mode 100644
index 0000000..41ee1e2
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java
@@ -0,0 +1,166 @@
+package com.bnyer.img.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.bnyer.common.core.domain.R;
+import com.bnyer.common.core.utils.StringUtils;
+import com.bnyer.common.redis.service.RedisService;
+import com.bnyer.img.config.BzConfig;
+import com.bnyer.img.domain.Banner;
+import com.bnyer.img.domain.BzData;
+import com.bnyer.img.dto.BannerPageDto;
+import com.bnyer.img.dto.BzDto;
+import com.bnyer.img.mapper.BannerMapper;
+import com.bnyer.img.mapper.BzDataMapper;
+import com.bnyer.img.service.BannerService;
+import com.bnyer.img.service.BzDataService;
+import com.bnyer.img.vo.BannerVo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.List;
+
+@Service
+@Slf4j
+public class BzDataServiceImpl implements BzDataService {
+
+ @Autowired
+ private RedisService redisService;
+ @Autowired
+ private BzDataMapper bzDataMapper;
+ @Autowired
+ private BzConfig bzConfig;
+
+ @Override
+ public JSONObject getYs(BzDto dto) {
+ //API产品路径
+ String requestUrl = bzConfig.getUrl();
+ //阿里云APPCODE
+ String appcode = bzConfig.getAppCode();
+ String lastName = dto.getLastName();
+ String firstName = dto.getFirstName();
+ String sex = dto.getSex();
+ String birth = dto.getBirth();
+ CloseableHttpClient httpClient = null;
+ try {
+ httpClient = HttpClients.createDefault();
+ String str = "SECOND_NAME=" + URLEncoder.encode(firstName, "UTF-8") + "&GENDER=" + URLEncoder.encode(sex, "UTF-8") + "&BIRTH=" + URLEncoder.encode(birth, "UTF-8") + "&FIRST_NAME=" + URLEncoder.encode(lastName, "UTF-8");
+ System.out.println(requestUrl + str);
+ // 创建一个HttpGet实例
+ HttpGet httpGet = new HttpGet(requestUrl + str);
+ httpGet.addHeader("Authorization", "APPCODE " + appcode);
+
+ // 发送GET请求
+ HttpResponse execute = httpClient.execute(httpGet);
+
+ // 获取状态码
+ int statusCode = execute.getStatusLine().getStatusCode();
+ System.out.println(statusCode);
+
+ // 获取结果
+ HttpEntity entity = execute.getEntity();
+ String result = EntityUtils.toString(entity, "utf-8");
+ //System.out.println(result);
+ return JSON.parseObject(result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (httpClient != null) {
+ try {
+ httpClient.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void dataStatistics(String ip, String source) {
+ String today = LocalDate.now() + "";
+ String page="bzPage_" + source;
+ //保存今天的key
+ redisService.redisTemplate.opsForZSet().add("bzPage_key" +today, today+page, 1.0);
+ //pv统计
+ redisService.pvStatistics(today, page);
+ //uv统计
+ redisService.uvStatistics(today, page, ip);
+ //查看是否已经有了这条数据
+ if (!redisService.hasKey(today + source)) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("date", today);
+ wrapper.eq("source", source);
+ List bzData = bzDataMapper.selectList(wrapper);
+ if (bzData.size() <= 0) {
+ BzData data = new BzData();
+ data.setDate(today);
+ data.setPv(1L);
+ data.setUv(1L);
+ data.setSource(source);
+ data.setMark(today + source);
+ bzDataMapper.insert(data);
+ }
+ }
+ }
+
+ @Override
+ public int update(BzData bzData, UpdateWrapper updateWrapper) {
+ return bzDataMapper.update(bzData,updateWrapper);
+ }
+
+ @Override
+ public String getIpAddr(HttpServletRequest request) {
+ String ip = request.getHeader("x-forwarded-for");
+ //System.out.println("x-forwarded-for ip: " + ip);
+ if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
+ // 多次反向代理后会有多个ip值,第一个ip才是真实ip
+ if (ip.indexOf(",") != -1) {
+ ip = ip.split(",")[0];
+ }
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("Proxy-Client-IP");
+ //System.out.println("Proxy-Client-IP ip: " + ip);
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("WL-Proxy-Client-IP");
+ //System.out.println("WL-Proxy-Client-IP ip: " + ip);
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_CLIENT_IP");
+ //System.out.println("HTTP_CLIENT_IP ip: " + ip);
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+ //System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("X-Real-IP");
+ //System.out.println("X-Real-IP ip: " + ip);
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getRemoteAddr();
+ //System.out.println("getRemoteAddr ip: " + ip);
+ }
+ //System.out.println("获取客户端ip: " + ip);
+ return ip;
+ }
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
index 5ffe257..36af11b 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorProfitServiceImpl.java
@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.common.redis.service.RedissonService;
+import com.bnyer.img.constants.RedisKeyConstant;
import com.bnyer.img.domain.CreatorProfit;
import com.bnyer.img.domain.InviteLog;
+import com.bnyer.img.dto.CreatorProfitAdInsertDto;
import com.bnyer.img.dto.CreatorProfitPageDto;
import com.bnyer.img.dto.ProfitInOrEndDto;
import com.bnyer.img.mapper.CreatorProfitMapper;
@@ -54,16 +56,33 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
}
}
+ /**
+ * 写入下载次数
+ * @param appType 应用
+ * @param platform 平台
+ * @param userId 用户id
+ */
+ private void writePlatformUserDownloadNum(String appType,String platform,Long userId){
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String date = df.format(new Date());
+ String hashKey = appType+":"+platform+":"+userId;
+ log.info("日期【{}】应用【{}】平台【{}】用户【{}】下载数+1",date,appType,platform,userId);
+ String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date;
+ redisService.hashIncr(redisKey, hashKey, 1);
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
- public int insertCreatorProfit(CreatorProfit creatorProfit) {
+ public int insertCreatorProfit(CreatorProfitAdInsertDto params) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long times = System.currentTimeMillis();
String date = format.format(times);
- String mark = creatorProfit.getCreatorId().toString() + creatorProfit.getImgId().toString() + creatorProfit.getAppType() + creatorProfit.getPlatform() +
+ String mark = params.getCreatorId().toString() + params.getImgId().toString() + params.getAppType() + params.getPlatform() +
"0" + date.replace("-", "");
//缓存中下载总数+1
- tiktokImgService.writeDownloadTotalNum(creatorProfit.getAppType(), creatorProfit.getPlatform());
+ tiktokImgService.writeDownloadTotalNum(params.getAppType(), params.getPlatform());
+ //redis累计平台用户当天下载次数,12.00后过期
+ writePlatformUserDownloadNum(params.getAppType(), params.getPlatform(), params.getUserId());
//检查收益表是否存在广告记录,存在则更新次数
boolean b = this.checkCreatorProfitExist(mark);
if (b) {
@@ -72,6 +91,12 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
return update;
}
//不存在则新增广告记录
+ CreatorProfit creatorProfit = new CreatorProfit();
+ creatorProfit.setCreatorId(params.getCreatorId());
+ creatorProfit.setScanCode(params.getScanCode());
+ creatorProfit.setImgId(params.getImgId());
+ creatorProfit.setPlatform(params.getPlatform());
+ creatorProfit.setAppType(params.getAppType());
creatorProfit.setCreateTime(new Date());
creatorProfit.setUpdateTime(new Date());
creatorProfit.setType("0");
@@ -81,7 +106,7 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
creatorProfit.setDownloadNum(1);
creatorProfit.setMark(mark);
//根据平台生成订单号
- switch (creatorProfit.getPlatform()) {
+ switch (params.getPlatform()) {
case "0":
creatorProfit.setOrderNo("DY" + IdUtil.getSnowflakeNextIdStr());
break;
@@ -231,6 +256,21 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
log.info("==============批量更新艺术家收益状态完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime);
}
+ @Override
+ public void batchDeleteUserDownloadNum() {
+ log.info("==============批量删除昨日用户下载次数开始!===============");
+ long startTime = System.currentTimeMillis();
+ //获取昨日日期
+ Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String date = simpleDateFormat.format(yesterday);
+ String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date;
+ if(redisService.hasKey(redisKey)){
+ redisService.deleteObject(redisKey);
+ }
+ log.info("==============批量删除昨日用户下载次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime);
+ }
+
@Override
public ProfitVo queryFrontProfitInfo(Long creatorId) {
//累计收益
@@ -319,4 +359,43 @@ public class CreatorProfitServiceImpl implements CreatorProfitService {
public int batchUpdate(List list) {
return creatorProfitMapper.batchUpdateTransInfo(list);
}
+
+ @Override
+ public CreatorProfitEndAmtVo queryFrontEndAmtDetails(Long id) {
+ return creatorProfitMapper.queryFrontEndAmtDetails(id);
+ }
+
+ @Override
+ public boolean checkCreatorCanUpload(Long creatorId) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String date = df.format(new Date());
+ String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date;
+ if (redisService.hasHashKey(redisKey, creatorId.toString())) {
+ //存在键,判断次数,次数达标则不可下载
+ Integer downloadNum = redisService.getCacheMapValue(redisKey, creatorId.toString());
+ if (downloadNum >= 40) {
+ return true;
+ } else {
+ return false;
+ }
+ }else{
+ //不存在键则可上传
+ return false;
+ }
+ }
+
+ @Override
+ public void batchDeleteCreatorUploadNum() {
+ log.info("==============批量删除昨日艺术家上传次数开始!===============");
+ long startTime = System.currentTimeMillis();
+ //获取昨日日期
+ Date yesterday = new Date(startTime - 1000 * 60 * 60 * 24);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String date = simpleDateFormat.format(yesterday);
+ String redisKey = RedisKeyConstant.CREATOR_UPLOAD_KEY + date;
+ if(redisService.hasKey(redisKey)){
+ redisService.deleteObject(redisKey);
+ }
+ log.info("==============批量删除昨日艺术家上传次数完成,耗时【{}】毫秒!===============", System.currentTimeMillis() - startTime);
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
index 7d4ad7a..b140446 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java
@@ -1,6 +1,6 @@
package com.bnyer.img.service.impl;
-import com.alibaba.fastjson.JSONObject;
+import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bnyer.common.core.exception.ServiceException;
@@ -10,15 +10,13 @@ import com.bnyer.common.core.utils.uuid.IdUtils;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.config.WxConfig;
import com.bnyer.img.constants.RedisKeyConstant;
+import com.bnyer.img.constants.StatusImgConstant;
import com.bnyer.img.constants.TiktokConstant;
import com.bnyer.img.domain.Creator;
import com.bnyer.img.domain.InviteLog;
import com.bnyer.img.domain.TiktokImg;
import com.bnyer.img.domain.VerifyLog;
-import com.bnyer.img.dto.CreatorDto;
-import com.bnyer.img.dto.CreatorPageDto;
-import com.bnyer.img.dto.VerifyCreatorDto;
-import com.bnyer.img.dto.WxLoginDto;
+import com.bnyer.img.dto.*;
import com.bnyer.img.mapper.CreatorMapper;
import com.bnyer.img.mapper.InviteLogMapper;
import com.bnyer.img.mapper.TiktokImgMapper;
@@ -26,15 +24,12 @@ import com.bnyer.img.mapper.VerifyLogMapper;
import com.bnyer.img.service.CreatorService;
import com.bnyer.img.vo.*;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
-import javax.crypto.Cipher;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -68,16 +63,10 @@ public class CreatorServiceImpl implements CreatorService {
@Autowired
private WxConfig wxConfig;
-
-
- /**
- * 检查用户是否绑定过手机号
- * @param phone 手机号
- * @return -
- */
- private boolean checkPhone(String phone){
+ @Override
+ public boolean checkPhone(String phone){
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Creator::getPhone, phone);
+ wrapper.eq(Creator::getPhone, Sm4Util.sm4Encryption(StringUtils.trim(phone)));
List creators = creatorMapper.selectList(wrapper);
if(creators.size() > 0){
return true;
@@ -86,14 +75,10 @@ public class CreatorServiceImpl implements CreatorService {
}
}
- /**
- * 检查搜索码是否重复
- * @param scanCode 搜索码
- * @return -
- */
- private boolean checkScanCode(String scanCode){
+ @Override
+ public boolean checkScanCode(String scanCode){
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Creator::getScanCode, scanCode);
+ wrapper.eq(Creator::getScanCode, StringUtils.trim(scanCode));
List creators = creatorMapper.selectList(wrapper);
if(creators.size() > 0){
return true;
@@ -102,53 +87,49 @@ public class CreatorServiceImpl implements CreatorService {
}
}
- /**
- * 检查邀请码是否存在
- * @param inviteCode 邀请码
- * @return -
- */
- private Creator checkInviteCode(String inviteCode){
+ @Override
+ public boolean checkInviteCode(String inviteCode){
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Creator::getInviteCode, inviteCode);
- return creatorMapper.selectOne(wrapper);
+ wrapper.eq(Creator::getInviteCode, StringUtils.trim(inviteCode));
+ Creator creators = creatorMapper.selectOne(wrapper);
+ if(creators != null){
+ 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 creatorProtoType = this.checkInviteCode(dto.getInviteCode());
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Creator::getInviteCode, StringUtils.trim(dto.getInviteCode()));
+ Creator creatorProtoType = creatorMapper.selectOne(wrapper);
if(creatorProtoType == null){
throw new ServiceException("邀请码不存在,请重新编辑!",TiktokConstant.INVITE_CODE_NOT_EXIST);
}
Creator creator = new Creator();
- creator.setId(dto.getId());
- creator.setIntro(dto.getIntro());
- creator.setScanCode(dto.getScanCode());
+ creator.setName(StringUtils.trim(dto.getName()));
+ creator.setPassword(Sm4Util.sm4Encryption(StringUtils.trim(dto.getPassword())));
+ creator.setImg(StringUtils.trim(dto.getImg()));
+ creator.setIntro(StringUtils.trim(dto.getIntro()));
+ creator.setScanCode(StringUtils.trim(dto.getScanCode()));
creator.setInviteCode(IdUtils.inviteCodeGen());
- creator.setUrl(dto.getUrl());
- creator.setPhone(Sm4Util.sm4Encryption(dto.getPhone()));
+ creator.setUrl(StringUtils.trim(dto.getUrl()));
+ creator.setPhone(Sm4Util.sm4Encryption(StringUtils.trim(dto.getPhone())));
creator.setIsHot("0");
creator.setStatus("0");
creator.setIsShow("1");
creator.setAmt(BigDecimal.valueOf(0));
creator.setSort(0);
+ creator.setCreateTime(new Date());
creator.setUpdateTime(new Date());
- int update = creatorMapper.updateById(creator);
- log.info("手机号【{}】成为艺术家成功!待审核",dto.getPhone());
+ int insert = creatorMapper.insert(creator);
+ log.info("手机号【{}】成为艺术家成功!待审核",StringUtils.trim(dto.getPhone()));
//保存邀请记录
InviteLog inviteLog = new InviteLog();
- inviteLog.setInviteCode(dto.getInviteCode());
+ inviteLog.setInviteCode(StringUtils.trim(dto.getInviteCode()));
inviteLog.setInvitedCreatorId(creator.getId());
inviteLog.setCreatorId(creatorProtoType.getId());
inviteLog.setCreateTime(new Date());
@@ -156,8 +137,8 @@ public class CreatorServiceImpl implements CreatorService {
inviteLog.setUpdateTime(new Date());
inviteLog.setSort(0);
inviteLogMapper.insert(inviteLog);
- log.info("艺术家id【{}】被邀请码【{}】邀请成功!记录写入数据库完成!",creator.getId(),dto.getInviteCode());
- return update;
+ log.info("艺术家id【{}】被邀请码【{}】邀请成功!记录写入数据库完成!",creator.getId(),StringUtils.trim(dto.getInviteCode()));
+ return insert;
}
@Override
@@ -201,7 +182,14 @@ public class CreatorServiceImpl implements CreatorService {
@Override
public List queryThreeImgCreatorList() {
- return creatorMapper.queryThreeImgCreatorList();
+ List creatorVos = creatorMapper.queryThreeImgCreatorList();
+ List list = new ArrayList<>();
+ for (CreatorVo creatorVo : creatorVos) {
+ if(CollectionUtil.isNotEmpty(creatorVo.getImgList())){
+ list.add(creatorVo);
+ }
+ }
+ return list;
}
@Override
@@ -267,116 +255,38 @@ public class CreatorServiceImpl implements CreatorService {
return creatorMapper.update(creator,wrapper);
}
- /**
- * 获取用户openId及sessionKey
- * @param code 登录凭证code
- * @return -
- */
- private WxSessionInfoVo getSessionInfo(String code) {
- String url = wxConfig.getSessionInfoUrl()+"?appid="+wxConfig.getAppId()+"&secret="+wxConfig.getSecret()+"&js_code="+code+"&grant_type=authorization_code";
- String forObject = restTemplate.getForObject(url, String.class);
- JSONObject sessionInfo = JSONObject.parseObject(forObject);
- if(StringUtils.isNotBlank(sessionInfo.getString("errcode"))){
- if(!sessionInfo.getString("errcode").equals(TiktokConstant.SUCCESS)){
- log.error("微信授权session接口调用失败,错误状态码为:【{}】,错误信息为:【{}】",sessionInfo.getString("errcode"),sessionInfo.getString("errmsg"));
- throw new ServiceException("微信授权session接口调用失败!",TiktokConstant.WECHAT_AUTH_ERROR);
- }
- }
- //调用成功,组装返回数据
- WxSessionInfoVo result = new WxSessionInfoVo();
- result.setSessionKey(sessionInfo.getString("session_key"));
- result.setOpenId(sessionInfo.getString("openid"));
- return result;
- }
-
- /**
- * 获取用户敏感信息
- * @param sessionKey -
- * @param encryptedData 敏感数据
- * @param iv 加密向量
- * @return -
- */
- private WxUserInfoVo getUserInfo(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,WxUserInfoVo.class);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
- /**
- * 保存用户
- * @param creator 艺术家信息
- * @param openId 微信id
- * @param sessionKey -
- * @param encryptedData 敏感信息数据
- * @param iv 加密向量
- * @return -
- */
- private Creator saveUserInfo(Creator creator,String openId, String sessionKey, String encryptedData, String iv){
- if (ObjectUtils.isEmpty(creator)) {
- //创建用户
- creator = new Creator();
- //获取用户昵称和头像
- WxUserInfoVo userInfo = this.getUserInfo(sessionKey, encryptedData, iv);
- creator.setImg(userInfo.getAvatarUrl());
- creator.setName(userInfo.getNickName());
- creator.setOpenId(Sm4Util.sm4Encryption(openId));
- creator.setCreateTime(new Date());
- creator.setUpdateTime(new Date());
- creator.setLastLoginTime(new Date());
- creatorMapper.insert(creator);
- log.info("艺术家【{}】创建成功!", openId);
- return creator;
- }else{
- log.info("该艺术家【{}】已存在,更新登录时间",openId);
- creator.setLastLoginTime(new Date());
- creatorMapper.updateById(creator);
- return creator;
- }
- }
-
@Override
- public Map login(WxLoginDto dto) {
- WxSessionInfoVo sessionInfo = this.getSessionInfo(dto.getCode());
- //检查数据库中是否存在该openId,存在则直接设置会话状态登录;不存在则新增
+ public Map login(CreatorLoginDto dto) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(sessionInfo.getOpenId() != null,Creator::getOpenId,Sm4Util.sm4Encryption(sessionInfo.getOpenId()));
+ wrapper.eq(Creator::getPhone, Sm4Util.sm4Encryption(dto.getPhone()));
+ wrapper.eq(Creator::getPassword, Sm4Util.sm4Encryption(dto.getPassword()));
Creator creator = creatorMapper.selectOne(wrapper);
if(creator == null){
- //新用户,新增
- creator = this.saveUserInfo(creator,sessionInfo.getOpenId(), sessionInfo.getSessionKey(), dto.getEncryptedData(), dto.getIv());
+ throw new ServiceException("手机号或密码不正确!",TiktokConstant.TIKTOK_CREATOR_PWD_ERROR);
+ }
+ if(creator.getStatus().equals("0")){
+ throw new ServiceException("当前艺术家暂未审核,请耐心等待或联系客服!",TiktokConstant.TIKTOK_CREATOR_NOT_PASS_ERROR);
}
- //设置会话状态
- String redisKey = RedisKeyConstant.WECHAT_CREATOR_LOGIN_KEY+Sm4Util.sm4Encryption(sessionInfo.getOpenId());
+ if(creator.getStatus().equals("2")){
+ throw new ServiceException("当前艺术家被封禁,请联系客服处理!",TiktokConstant.TIKTOK_CREATOR_BANED_ERROR);
+ }
+ CreatorLoginVo creatorLoginVo = new CreatorLoginVo();
+ BeanUtils.copyProperties(creator, creatorLoginVo);
+ creatorLoginVo.setLastLoginTime(new Date());
+ //存在则设置会话状态
+ String redisKey = RedisKeyConstant.WECHAT_CREATOR_LOGIN_KEY+Sm4Util.sm4Encryption(dto.getPhone());
//存在该登录态则删除刷新
if(redisService.hasKey(redisKey)){
redisService.deleteObject(redisKey);
}
StringBuffer sb = new StringBuffer();
String randomId = IdUtils.fastSimpleUUID();
- sb.append(randomId).append("#").append(sessionInfo.getOpenId());
+ sb.append(randomId).append("#").append(Sm4Util.sm4Encryption(dto.getPhone()+randomId));
//设置登录会话
Map map = new HashMap<>(2);
map.put("token", sb.toString());
- map.put("sessionKey", sessionInfo.getSessionKey());
- map.put("userInfo",creator);
- redisService.setCacheObject(redisKey,map, 30L, TimeUnit.DAYS);
+ map.put("userInfo",creatorLoginVo);
+ redisService.setCacheObject(redisKey,map, 10L, TimeUnit.DAYS);
return map;
}
@@ -396,7 +306,14 @@ public class CreatorServiceImpl implements CreatorService {
@Override
public List queryHotCreatorList() {
- return creatorMapper.queryHotCreatorList();
+ List creatorHotVos = creatorMapper.queryHotCreatorList();
+ List list = new ArrayList<>();
+ for (CreatorHotVo creatorHotVo : creatorHotVos) {
+ if(creatorHotVo.getHotNum() > 0){
+ list.add(creatorHotVo);
+ }
+ }
+ return list;
}
@Override
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java
index 359252d..0bba4b4 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java
@@ -31,6 +31,7 @@ import org.springframework.web.client.RestTemplate;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -201,4 +202,24 @@ public class FhUserServiceImpl implements FhUserService {
user.setIsShow(status);
return fhUserMapper.update(user, wrapper);
}
+
+ @Override
+ public boolean checkUserCanDownload(Long userId, String platform, String appType) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String date = df.format(new Date());
+ String hashKey = appType+":"+platform+":"+userId;
+ String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date;
+ if(redisService.hasHashKey(redisKey,hashKey)){
+ //存在键,判断次数,次数达标则不可下载
+ Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey);
+ if(downloadNum >= 5){
+ return true;
+ }else{
+ return false;
+ }
+ }else{
+ //不存在键则可下载
+ return false;
+ }
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java
index b11bb72..cad82a4 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java
@@ -1,10 +1,114 @@
package com.bnyer.img.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.bnyer.common.core.exception.ServiceException;
+import com.bnyer.common.core.utils.StringUtils;
+import com.bnyer.img.domain.ImgSignRelation;
+import com.bnyer.img.domain.Sign;
+import com.bnyer.img.dto.SignPageDto;
+import com.bnyer.img.mapper.ImgSignRelationMapper;
+import com.bnyer.img.mapper.SignMapper;
import com.bnyer.img.service.SignService;
+import com.bnyer.img.vo.SignImgVo;
+import com.bnyer.img.vo.SignVo;
+import com.bnyer.img.vo.TiktokImgVo;
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.Date;
+import java.util.List;
@Service
@Slf4j
public class SignServiceImpl implements SignService {
+ @Autowired
+ private SignMapper signMapper;
+
+ @Autowired
+ private ImgSignRelationMapper imgSignRelationMapper;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int insert(Sign sign) {
+ boolean b = checkSign(sign.getName());
+ if(b){
+ throw new ServiceException("标签名称已存在!");
+ }else{
+ sign.setCreateTime(new Date());
+ sign.setUpdateTime(new Date());
+ return signMapper.insert(sign);
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int update(Sign sign) {
+ sign.setUpdateTime(new Date());
+ return signMapper.updateById(sign);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int delete(List ids) {
+ int i = signMapper.deleteBatchIds(ids);
+ //删除关联relation
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.in(ImgSignRelation::getSignId, ids);
+ imgSignRelationMapper.delete(wrapper);
+ //imgSignRelationMapper.batchDelete(ids);
+ return i;
+ }
+
+ @Override
+ public List queryPage(SignPageDto dto) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ if (StringUtils.isNotBlank(dto.getName())){
+ wrapper.like(Sign::getName,dto.getName());
+ }
+ if (StringUtils.isNotBlank(dto.getIsShow())){
+ wrapper.eq(Sign::getIsShow,dto.getIsShow());
+ }
+ wrapper.orderByDesc(Sign::getSort);
+ return signMapper.selectList(wrapper);
+ }
+
+ @Override
+ public Sign queryDetails(Long id) {
+ return signMapper.selectById(id);
+ }
+
+ @Override
+ public boolean checkSign(String name) {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Sign::getName,name);
+ List signs = signMapper.selectList(wrapper);
+ if(signs.size() > 0){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int changeStatus(Long id, String status) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(Sign::getId,id);
+ Sign sign = new Sign();
+ sign.setIsShow(status);
+ return signMapper.update(sign,wrapper);
+ }
+
+ @Override
+ public List querySignList() {
+ return signMapper.querySignList();
+ }
+
+ @Override
+ public List queryFrontSignByTypeId(Long typeId) {
+ return signMapper.queryFrontSign(typeId);
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java
index ce32b8d..d7c340a 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java
@@ -5,16 +5,23 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.constants.RedisKeyConstant;
+import com.bnyer.img.constants.StatusImgConstant;
import com.bnyer.img.domain.TiktokCollection;
import com.bnyer.img.domain.TiktokImg;
import com.bnyer.img.domain.TiktokLike;
+import com.bnyer.img.dto.StatusDto;
+import com.bnyer.img.dto.TiktokImgMiniDto;
import com.bnyer.img.dto.TiktokImgPageDto;
+import com.bnyer.img.mapper.ImgSignRelationMapper;
import com.bnyer.img.mapper.TiktokCollectionMapper;
import com.bnyer.img.mapper.TiktokImgMapper;
import com.bnyer.img.mapper.TiktokLikeMapper;
import com.bnyer.img.service.TiktokImgService;
+import com.bnyer.img.vo.CreatorTypeImgVo;
+import com.bnyer.img.vo.ImgSignVo;
import com.bnyer.img.vo.TiktokImgVo;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -39,14 +46,28 @@ public class TiktokImgServiceImpl implements TiktokImgService {
@Autowired
private RedisService redisService;
+ @Autowired
+ private ImgSignRelationMapper imgSignRelationMapper;
+
@Override
@Transactional(rollbackFor = Exception.class)
- public int insert(TiktokImg tiktokImg) {
+ public int insert(TiktokImgMiniDto dto) {
+ TiktokImg tiktokImg = new TiktokImg();
+ tiktokImg.setImgUrl(dto.getImgUrl());
+ tiktokImg.setCreatorId(dto.getCreatorId());
+ tiktokImg.setTypeId(dto.getTypeId());
+ tiktokImg.setStatus(dto.getStatus());
tiktokImg.setCreateTime(new Date());
tiktokImg.setUpdateTime(new Date());
- return tiktokImgMapper.insert(tiktokImg);
+ int insert = tiktokImgMapper.insert(tiktokImg);
+ //保存标签
+ if(CollectionUtils.isNotEmpty(dto.getSignList())){
+ imgSignRelationMapper.batctInsert(tiktokImg.getId(),dto.getTypeId(),dto.getSignList());
+ }
+ return insert;
}
+
@Override
@Transactional(rollbackFor = Exception.class)
public int update(TiktokImg tiktokImg) {
@@ -99,7 +120,7 @@ public class TiktokImgServiceImpl implements TiktokImgService {
}
@Override
- public List queryInList(String creatorId, String typeId) {
+ public List queryInList(String creatorId, String typeId) {
return tiktokImgMapper.queryInList(creatorId,typeId);
}
@@ -189,4 +210,51 @@ public class TiktokImgServiceImpl implements TiktokImgService {
public List queryImgsByScanCodeAndTypeId(String scanCode, Long typeId) {
return tiktokImgMapper.queryImgsByScanCodeAndTypeId(scanCode,typeId);
}
+
+ @Override
+ public CreatorTypeImgVo queryCreatorTypeImgNum(Long creatorId) {
+ Integer headNum = tiktokImgMapper.queryCreatorTypeImgNum(1L, creatorId);
+ Integer gifNum = tiktokImgMapper.queryCreatorTypeImgNum(2L, creatorId);
+ Integer backNum = tiktokImgMapper.queryCreatorTypeImgNum(3L, creatorId);
+ Integer friendNum = tiktokImgMapper.queryCreatorTypeImgNum(4L, creatorId);
+ Integer emoNum = tiktokImgMapper.queryCreatorTypeImgNum(5L, creatorId);
+ Integer watchNum = tiktokImgMapper.queryCreatorTypeImgNum(6L, creatorId);
+ CreatorTypeImgVo result = new CreatorTypeImgVo();
+ result.setHeadNum(headNum);
+ result.setGifNum(gifNum);
+ result.setBackNum(backNum);
+ result.setFriendNum(friendNum);
+ result.setEmoNum(emoNum);
+ result.setWatchNum(watchNum);
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int onlineOrOfflineImg(StatusDto param) {
+ TiktokImg img = new TiktokImg();
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ if(param.getStatus().equals(StatusImgConstant.ONLINE)){
+ img.setStatus(StatusImgConstant.ONLINE);
+ wrapper.eq(TiktokImg::getId, param.getId());
+ return tiktokImgMapper.update(img, wrapper);
+ }else if(param.getStatus().equals(StatusImgConstant.OFFLINE)){
+ img.setStatus(StatusImgConstant.OFFLINE);
+ wrapper.eq(TiktokImg::getId, param.getId());
+ return tiktokImgMapper.update(img, wrapper);
+ }else{
+ return 0;
+ }
+ }
+
+ @Override
+ public List querySignImgBySignIdAndTypeId(Long signId, Long typeId) {
+ return tiktokImgMapper.querySignImgBySignIdAndTypeId(signId,typeId);
+ }
+
+ @Override
+ public List queryImgPageBySignName(String signName) {
+ return tiktokImgMapper.queryImgPageBySignName(signName);
+ }
+
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java
index 511d765..edcbf39 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokUserServiceImpl.java
@@ -32,6 +32,7 @@ import javax.annotation.Resource;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -210,4 +211,24 @@ public class TiktokUserServiceImpl implements TiktokUserService {
user.setIsShow(status);
return tiktokUserMapper.update(user,wrapper);
}
+
+ @Override
+ public boolean checkUserCanDownload(Long userId, String platform, String appType) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String date = df.format(new Date());
+ String hashKey = appType+":"+platform+":"+userId;
+ String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date;
+ if(redisService.hasHashKey(redisKey,hashKey)){
+ //存在键,判断次数,次数达标则不可下载
+ Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey);
+ if(downloadNum >= 5){
+ return true;
+ }else{
+ return false;
+ }
+ }else{
+ //不存在键则可下载
+ return false;
+ }
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java
index d83322c..e3e1e96 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java
@@ -139,12 +139,33 @@ public class WithdrawLogServiceImpl implements WithdrawLogService {
@Override
public List queryFrontList(Long creatorId) {
- return withdrawLogMapper.queryFrontList(creatorId);
+ List withdrawLogVos = withdrawLogMapper.queryFrontList(creatorId);
+ if(withdrawLogVos.size() > 0){
+ for (WithdrawLogVo withdrawLogVo : withdrawLogVos) {
+ if(StringUtils.isNotBlank(withdrawLogVo.getPhone())){
+ withdrawLogVo.setPhone(Sm4Util.sm4Decrypt(withdrawLogVo.getPhone()));
+ }
+ if(StringUtils.isNotBlank(withdrawLogVo.getBankNo())){
+ withdrawLogVo.setBankNo(Sm4Util.sm4Decrypt(withdrawLogVo.getBankNo()));
+ }
+ JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLogVo), WithdrawLogVo.class);
+ }
+ }
+
+ return withdrawLogVos;
}
@Override
public WithdrawLogVo queryFrontDetails(String orderId) {
- return withdrawLogMapper.queryFrontDetails(orderId);
+ WithdrawLogVo withdrawLogVo = withdrawLogMapper.queryFrontDetails(orderId);
+ if(StringUtils.isNotBlank(withdrawLogVo.getPhone())){
+ withdrawLogVo.setPhone(Sm4Util.sm4Decrypt(withdrawLogVo.getPhone()));
+ }
+ if(StringUtils.isNotBlank(withdrawLogVo.getBankNo())){
+ withdrawLogVo.setBankNo(Sm4Util.sm4Decrypt(withdrawLogVo.getBankNo()));
+ }
+ JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(withdrawLogVo), WithdrawLogVo.class);
+ return withdrawLogVo;
}
/**
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java
index 0e13792..7253829 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WxUserServiceImpl.java
@@ -31,6 +31,7 @@ import org.springframework.web.client.RestTemplate;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -212,4 +213,24 @@ public class WxUserServiceImpl implements WxUserService {
user.setIsShow(status);
return wxUserMapper.update(user, wrapper);
}
+
+ @Override
+ public boolean checkUserCanDownload(Long userId, String platform, String appType) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String date = df.format(new Date());
+ String hashKey = appType+":"+platform+":"+userId;
+ String redisKey = RedisKeyConstant.PLATFORM_USER_DOWNLOAD_KEY + date;
+ if(redisService.hasHashKey(redisKey,hashKey)){
+ //存在键,判断次数,次数达标则不可下载
+ Integer downloadNum = redisService.getCacheMapValue(redisKey, hashKey);
+ if(downloadNum >= 5){
+ return true;
+ }else{
+ return false;
+ }
+ }else{
+ //不存在键则可下载
+ return false;
+ }
+ }
}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java
index f9f5f37..89148ec 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CollectionSyncTask.java
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
+ * 同步用户收藏记录任务
* @author chengkun
* @date 2022/5/12 18:13
*/
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java
index 669fbb0..8221cd0 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/CreatorProfitConfirmTypeSyncTask.java
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
+ * 更新艺术家收益状态任务
* @author chengkun
* @date 2022/5/12 18:13
*/
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java
new file mode 100644
index 0000000..b54165d
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/DateSyncTask.java
@@ -0,0 +1,60 @@
+package com.bnyer.img.task;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.bnyer.common.redis.service.RedisService;
+import com.bnyer.img.domain.BzData;
+import com.bnyer.img.service.BzDataService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.util.Set;
+
+/**
+ * @Author qyh
+ * @Date 2022/7/14 16:43
+ * @Description
+ */
+@Component
+@Slf4j
+public class DateSyncTask {
+ @Autowired
+ private static RedisService redisService;
+ @Autowired
+ private static BzDataService bzDataService;
+ //@XxlJob("dateSyncTask")
+ //@Scheduled(fixedDelay = 1000 * 60 * 60)
+ public static ReturnT dateSync() {
+ String day = LocalDate.now().plusDays(-1)+ "";
+ String redisKey = "bzPage_key" + day;
+ System.out.println(redisService);
+ redisService.setCacheObject("4", 2);
+ Set range = redisService.redisTemplate.opsForZSet().range(redisKey, 0, -1);
+ for (Object key : redisService.redisTemplate.opsForZSet().range(redisKey, 0, -1)) {
+ Long pv = Long.parseLong(redisService.redisTemplate.opsForValue().get(key + "PV").toString());
+ Long uv = Long.parseLong(redisService.redisTemplate.opsForHyperLogLog().size(key + "UV").toString());
+ String[] s = key.toString().split("_");
+ String source = s[1];
+ redisService.deleteObject(key + "PV");
+ redisService.deleteObject(key + "UV");
+ UpdateWrapper wrapper = new UpdateWrapper<>();
+ wrapper.set("pv",pv);
+ wrapper.set("uv",uv);
+ wrapper.eq("date",day);
+ wrapper.eq("source",source);
+ bzDataService.update(new BzData(),wrapper);
+// redisService.deleteObject(key + "PV");
+// redisService.deleteObject(key + "UV");
+ }
+ redisService.deleteObject("bzPage_key" + day);
+ XxlJobLogger.log("{} 我执行了同步pv,uv任务", System.currentTimeMillis());
+ return ReturnT.SUCCESS;
+ }
+
+
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java
index 7ab7b44..c62ebd8 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/LikeSyncTask.java
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
+ * 同步点赞任务
* @author chengkun
* @date 2022/5/12 18:13
*/
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java
new file mode 100644
index 0000000..7b51221
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/task/UserDownloadSyncTask.java
@@ -0,0 +1,36 @@
+package com.bnyer.img.task;
+
+import com.bnyer.img.service.CreatorProfitService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 同步删除昨日用户下载次数任务
+ * @author chengkun
+ * @date 2022/5/12 18:13
+ */
+@Component
+@Slf4j
+public class UserDownloadSyncTask {
+
+ @Autowired
+ private CreatorProfitService creatorProfitService;
+
+ @XxlJob("userDownloadSyncTask")
+ public ReturnT syncUserDownload(String param) throws Exception {
+ creatorProfitService.batchDeleteUserDownloadNum();
+ XxlJobLogger.log("{} 我执行了批量删除昨日用户下载次数任务", System.currentTimeMillis());
+ return ReturnT.SUCCESS;
+ }
+
+ @XxlJob("creatorDownloadSyncTask")
+ public ReturnT syncCreatorUpload(String param) throws Exception {
+ creatorProfitService.batchDeleteCreatorUploadNum();
+ XxlJobLogger.log("{} 我执行了批量删除昨日用户上传次数任务", System.currentTimeMillis());
+ return ReturnT.SUCCESS;
+ }
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java
new file mode 100644
index 0000000..7032984
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorLoginVo.java
@@ -0,0 +1,71 @@
+package com.bnyer.img.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+@Getter
+@Setter
+@ApiModel("艺术家登录响应类")
+public class CreatorLoginVo implements Serializable {
+
+ @ApiModelProperty(value="主键id")
+ private Long id;
+
+ @ApiModelProperty(value="昵称")
+ private String name;
+
+ @ApiModelProperty(value="搜索码")
+ private String scanCode;
+
+ @ApiModelProperty(value="手机号")
+ private String phone;
+
+ @ApiModelProperty(value="头像img地址")
+ private String img;
+
+ @ApiModelProperty(value="简介")
+ private String intro;
+
+ @ApiModelProperty(value="余额")
+ private BigDecimal amt;
+
+ @ApiModelProperty(value="邀请码")
+ private String inviteCode;
+
+ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
+ private String status;
+
+ @ApiModelProperty(value="第三方平台账号详情地址")
+ private String url;
+
+ @ApiModelProperty(value="是否活跃(0->不活跃;1->活跃 连续10天以上更新内容)")
+ 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;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value="最后登录时间")
+ private Date lastLoginTime;
+
+ private static final long serialVersionUID = 1L;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.java
new file mode 100644
index 0000000..978e5b0
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/CreatorTypeImgVo.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 CreatorTypeImgVo implements Serializable {
+
+ @ApiModelProperty(value="头像数量")
+ private Integer headNum;
+
+ @ApiModelProperty(value="gif动图数量")
+ private Integer gifNum;
+
+ @ApiModelProperty(value="手机壁纸数量")
+ private Integer backNum;
+
+ @ApiModelProperty(value="朋友圈背景数量")
+ private Integer friendNum;
+
+ @ApiModelProperty(value="表情包数量")
+ private Integer emoNum;
+
+ @ApiModelProperty(value="iwatch数量")
+ private Integer watchNum;
+
+ private static final long serialVersionUID = 1L;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java
new file mode 100644
index 0000000..066c218
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/ImgSignVo.java
@@ -0,0 +1,48 @@
+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 ImgSignVo 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;
+
+ @ApiModelProperty(value="下载量")
+ private Integer downloadNum;
+
+ @ApiModelProperty(value="点赞量")
+ private Integer greatNum;
+
+ @ApiModelProperty(value="收藏量")
+ private Integer collectionNum;
+
+ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝;3->已上架;4->已下架))")
+ private String status;
+
+ @ApiModelProperty(value="是否热门(0->冷门;1->热门)")
+ private String isHot;
+
+ @ApiModelProperty(value="标签列表")
+ private List signList;
+
+ private static final long serialVersionUID = 1L;
+}
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java
index d1d18f4..b7331df 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/InviteLogVo.java
@@ -28,6 +28,9 @@ public class InviteLogVo implements Serializable {
@ApiModelProperty(value="被邀请者搜索码")
private String invitedScanCode;
+ @ApiModelProperty(value="被邀请者头像")
+ private String img;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="邀请时间")
private String createTime;
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java
new file mode 100644
index 0000000..de8f0bf
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignImgVo.java
@@ -0,0 +1,28 @@
+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("sign图片响应体")
+public class SignImgVo implements Serializable {
+ @ApiModelProperty(value="标签id")
+ private Long signId;
+
+ @ApiModelProperty(value="标签名称")
+ private String signName;
+
+ @ApiModelProperty(value="背景图")
+ private String img;
+
+ @ApiModelProperty(value="分类id")
+ private Long typeId;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java
new file mode 100644
index 0000000..62635b4
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignRelationVo.java
@@ -0,0 +1,25 @@
+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 SignRelationVo implements Serializable {
+ @ApiModelProperty(value="标签id")
+ private Long signId;
+
+ @ApiModelProperty(value="标签名称")
+ private String signName;
+
+ @ApiModelProperty(value="标签图片主键id")
+ private Long signImgRelationId;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java
new file mode 100644
index 0000000..084f30b
--- /dev/null
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java
@@ -0,0 +1,22 @@
+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("sign响应体")
+public class SignVo implements Serializable {
+ @ApiModelProperty(value="主键id")
+ private Long id;
+
+ @ApiModelProperty(value="标签名称")
+ private String name;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java
index 2c3915c..fa04176 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokCollectionVo.java
@@ -11,7 +11,7 @@ import java.io.Serializable;
@Getter
@Setter
@ApiModel("抖音收藏响应类")
-public class TiktokCollectionVo implements Serializable {
+public class TiktokCollectionVo implements Serializable {
@ApiModelProperty(value="id")
private Long id;
diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java
index bb7acd4..8731943 100644
--- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java
+++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/TiktokImgVo.java
@@ -6,6 +6,7 @@ import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
+import java.util.List;
@Getter
@@ -34,11 +35,14 @@ public class TiktokImgVo implements Serializable {
@ApiModelProperty(value="收藏量")
private Integer collectionNum;
- @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)")
+ @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝;3->已上架;4->已下架))")
private String status;
@ApiModelProperty(value="是否热门(0->冷门;1->热门)")
private String isHot;
+ @ApiModelProperty(value="标签列表")
+ private List signList;
+
private static final long serialVersionUID = 1L;
}
diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml
index 1079453..c8569af 100644
--- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml
+++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/CreatorMapper.xml
@@ -6,7 +6,7 @@
-
+
@@ -53,7 +53,7 @@
- id, `name`,open_id, scan_code, phone, img, intro, invite_code, url, status, is_hot, is_show, create_time,
+ id, `name`,password, scan_code, phone, img, intro, invite_code, url, status, is_hot, is_show, create_time,
update_time, sort, amt, last_login_time
@@ -65,7 +65,7 @@
(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.status = '1'
- order by ic.create_time desc
+ order by ic.create_time asc