Commit 3da18aa8 authored by tangtuo's avatar tangtuo

v1.0.0功能开发

parent 146628b8
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="乐映" uuid="1b6fc535-1315-4888-ae0d-fe345dd2fca5">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://172.16.101.135:3306/joying_dev</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>
\ No newline at end of file
...@@ -37,6 +37,11 @@ ...@@ -37,6 +37,11 @@
<option name="url" value="https://maven.aliyun.com/repository/public" /> <option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository> </remote-repository>
<remote-repository> <remote-repository>
<option name="id" value="central" />
<option name="name" value="central" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven-nexus-group" /> <option name="id" value="maven-nexus-group" />
<option name="name" value="maven-nexus-group" /> <option name="name" value="maven-nexus-group" />
<option name="url" value="http://146.56.197.85:12100/repository/maven-central/" /> <option name="url" value="http://146.56.197.85:12100/repository/maven-central/" />
......
package com.fzm.admin.controller;
import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.Label;
import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.LabelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author tangtuo
* @date 2021/7/1 14:37
*/
@Authentication
@RestController
@RequestMapping(value = "/label")
@Api(tags = "标签管理")
public class LabelController {
@Resource
private LabelService labelService;
@GetMapping("/list/{categoryId}")
@ApiOperation(value = "查询所有主题信息")
public ResponseModel<List<Label>> list(@PathVariable Integer categoryId) {
return ResponseModel.success(labelService.listAll(categoryId));
}
}
...@@ -39,12 +39,11 @@ public class NftController { ...@@ -39,12 +39,11 @@ public class NftController {
@ApiParam(value = "每页记录数", required = true) @RequestParam Integer pageSize, @ApiParam(value = "每页记录数", required = true) @RequestParam Integer pageSize,
@ApiParam(value = "类目id") @RequestParam(required = false) Integer categoryId, @ApiParam(value = "类目id") @RequestParam(required = false) Integer categoryId,
@ApiParam(value = "作品名称") @RequestParam(required = false) String name, @ApiParam(value = "作品名称") @RequestParam(required = false) String name,
@ApiParam(value = "作品标签") @RequestParam(required = false) String theme,
@ApiParam(value = "注册手机号") @RequestParam(required = false) String telephone, @ApiParam(value = "注册手机号") @RequestParam(required = false) String telephone,
@ApiParam(value = "上架状态 0-未上架 1-已上架") @RequestParam(required = false) Integer status, @ApiParam(value = "上架状态 0-未上架 1-已上架") @RequestParam(required = false) Integer status,
@ApiParam(value = "创建开始日期,yyyy-MM-dd格式") @RequestParam(required = false) String start, @ApiParam(value = "创建开始日期,yyyy-MM-dd格式") @RequestParam(required = false) String start,
@ApiParam(value = "创建截止日期,yyyy-MM-dd格式") @RequestParam(required = false) String end) { @ApiParam(value = "创建截止日期,yyyy-MM-dd格式") @RequestParam(required = false) String end) {
PageInfo<NftListVo> page = nftService.page(pageNum, pageSize, categoryId, name, theme, telephone, status, start, end); PageInfo<NftListVo> page = nftService.page(pageNum, pageSize, categoryId, name, telephone, status, start, end);
return ResponseModel.success(page); return ResponseModel.success(page);
} }
......
...@@ -72,6 +72,11 @@ ...@@ -72,6 +72,11 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
......
...@@ -5,15 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableId; ...@@ -5,15 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
/**
* @author tangtuo
* @date 2021/7/8 16:26
*/
@Data @Data
@TableName("tb_label") @TableName("tb_authority")
public class Label { public class Authority {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Integer id; private Integer id;
private String name;
private String authority;
} }
package com.fzm.common.entity;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fzm.common.entity.dto.CopyrightDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@TableName("tb_copyright_apply")
@ApiModel(value = "版权申请")
public class CopyrightApply {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userId;
@ApiModelProperty(value = "nft哈希")
private String nftHash;
@ApiModelProperty(value = "nft名称")
private String nftName;
@ApiModelProperty(value = "作品名称")
private String opusName;
@ApiModelProperty(value = "作品类别id")
private Integer opusCategoryId;
@ApiModelProperty(value = "作品性质")
private String opusProperty;
@ApiModelProperty(value = "内容简介")
private String contentSynopsis;
@ApiModelProperty(value = "创作过程")
private String createProcess;
@ApiModelProperty(value = "作品完成日期")
private Date opusCompleteDate;
@ApiModelProperty(value = "作品完成省份")
private String opusCompleteProvince;
@ApiModelProperty(value = "作品完成城市")
private String opusCompleteCity;
@ApiModelProperty(value = "'发表状态 0-未发表 1-已发表")
private Integer publishState;
@ApiModelProperty(value = "首次发表日期")
private Date firstPublishDate;
@ApiModelProperty(value = "首次发表省份")
private String firstPublishProvince;
@ApiModelProperty(value = "首次发表城市")
private String firstPublishCity;
@ApiModelProperty(value = "权力取得方式")
private String authorityAcquireMode;
@ApiModelProperty(value = "权力取得证明材料的文件地址")
private String authorityAcquireProve;
@ApiModelProperty(value = "权力归属方式")
private String authorityAscriptionMode;
@ApiModelProperty(value = "权力归属证明材料的文件地址")
private String authorityAscriptionProve;
@ApiModelProperty(value = "登记状态 0-待审核 1-登记成功 2-审核失败")
private Integer registerState;
private Date createDate;
private Date updateDate;
public CopyrightApply(CopyrightDTO copyrightDTO) {
BeanUtil.copyProperties(copyrightDTO, this, true);
}
}
package com.fzm.common.entity;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fzm.common.entity.dto.CopyrightDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@ApiModel(value = "版权作者表")
@TableName("tb_copyright_author")
public class CopyrightAuthor {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键")
private Integer id;
@ApiModelProperty(value = "版权id")
private Integer copyrightId;
@ApiModelProperty(value = "作者姓名或名称")
private String name;
@ApiModelProperty(value = "署名类型 (本名 | 别名 | 匿名)")
private String signType;
@ApiModelProperty(value = "签名")
private String sign;
private Date createDate;
private Date updateDate;
public CopyrightAuthor(CopyrightDTO.Author author) {
BeanUtil.copyProperties(author, this, true);
}
}
package com.fzm.common.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "tb_copyright_authority_relation")
public class CopyrightAuthorityRelation {
@ApiModelProperty("版权id")
private Integer copyrightId;
@ApiModelProperty("权力id")
private Integer authorityId;
}
package com.fzm.common.entity;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fzm.common.entity.dto.CopyrightDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@TableName("tb_copyright_file")
public class CopyrightFile {
@TableId(type = IdType.AUTO)
@ApiModelProperty("主键")
private Integer id;
@ApiModelProperty("版权id")
private Integer copyrightId;
@ApiModelProperty("nft哈希")
private String nftHash;
@ApiModelProperty("附件名")
private String fileName;
@ApiModelProperty("附件路径")
private String fileUrl;
@ApiModelProperty("文件hash")
private String fileHash;
@ApiModelProperty("文件扩展名")
private String fileSuffix;
private Date createDate;
private Date updateDate;
public CopyrightFile(CopyrightDTO.File file) {
BeanUtil.copyProperties(file, this, true);
}
}
package com.fzm.common.entity;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fzm.common.entity.dto.CopyrightDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@TableName("tb_copyright_owner")
public class CopyrightOwner {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键")
private Integer id;
@ApiModelProperty(value = "版权id")
private Integer copyrightId;
@ApiModelProperty(value = "类别 0-自然人 1-法人")
private Integer type;
@ApiModelProperty(value = "著作权人")
private String owner;
@ApiModelProperty(value = "证件号码")
private String idNumber;
@ApiModelProperty(value = "是否长期有效 0-否 1-是")
private Integer isEffective;
@ApiModelProperty(value = "证件有效起止时间")
private Date effectiveStartDate;
@ApiModelProperty(value = "证件有效终止时间")
private Date effectiveEndDate;
@ApiModelProperty(value = "用户所在省份")
private String province;
@ApiModelProperty(value = "用户所在城市")
private String city;
@ApiModelProperty(value = "证件类型 0-身份证 1-营业执照 2-企业法人营业执照 3-组织机构代码证书 4-事业单位法人证书 5-社团法人证书 6-统一社会信用代码 7其他有效证件")
private Integer idType;
@ApiModelProperty(value = "正面照片 (身份证人像面照片)")
private String positivePhoto;
@ApiModelProperty(value = "反面照片(身份证国徽面照片)")
private String backPhoto;
@ApiModelProperty(value = "手持身份证照片")
private String personalPhoto;
@ApiModelProperty(value = "证件照片(营业执照等)")
private String certificatesPhoto;
@ApiModelProperty(value = "委托证明")
private String entrustProve;
private Date createDate;
private Date updateDate;
public CopyrightOwner(CopyrightDTO.Owner owner) {
BeanUtil.copyProperties(owner, this, true);
}
}
...@@ -44,9 +44,6 @@ public class Nft extends BaseEntity { ...@@ -44,9 +44,6 @@ public class Nft extends BaseEntity {
@ApiModelProperty("作者") @ApiModelProperty("作者")
private String author; private String author;
@NotBlank(message = "主题不能为空")
@ApiModelProperty("主题,多个用逗号,隔开")
private String theme;
@NotBlank(message = "简介不能为空") @NotBlank(message = "简介不能为空")
@Length(max = 500, message = "简介最大长度为500") @Length(max = 500, message = "简介最大长度为500")
...@@ -63,13 +60,6 @@ public class Nft extends BaseEntity { ...@@ -63,13 +60,6 @@ public class Nft extends BaseEntity {
@ApiModelProperty("文件hash") @ApiModelProperty("文件hash")
private String fileHash; private String fileHash;
@NotNull(message = "平台存档不能为空")
@ApiModelProperty("平台存档 0-不存档 1-加密存档")
private Integer isArchives;
@ApiModelProperty("授权阅读 0-不需要授权 1-需要授权")
private Integer isGrant;
@ApiModelProperty("nft编号") @ApiModelProperty("nft编号")
private String nftId; private String nftId;
......
package com.fzm.common.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author tangtuo
* @date 2021/12/9 17:32
*/
@TableName("tb_opus_category")
@Data
public class OpusCategory {
private Integer id;
private String value;
}
package com.fzm.common.entity.dto;
import lombok.Data;
/**
* @author tangtuo
* @date 2021/7/22 16:28
*/
@Data
public class ChainDto {
private String author;
private String name;
private String hash;
private String publishAddress;
}
package com.fzm.common.entity.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* @author tangtuo
* @date 2021/12/9 14:35
*/
@Data
public class CopyrightDTO {
@ApiModelProperty(value = "nft哈希")
private String nftHash;
@ApiModelProperty(value = "nft名称")
private String nftName;
@ApiModelProperty(value = "作品名称")
private String opusName;
@ApiModelProperty(value = "作品类别id")
private Integer opusCategoryId;
@ApiModelProperty(value = "作品性质")
private String opusProperty;
@ApiModelProperty(value = "内容简介")
private String contentSynopsis;
@ApiModelProperty(value = "创作过程")
private String createProcess;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "作品完成日期 格式:yyyy-MM-dd")
private Date opusCompleteDate;
@ApiModelProperty(value = "作品完成省份")
private String opusCompleteProvince;
@ApiModelProperty(value = "作品完成城市")
private String opusCompleteCity;
@ApiModelProperty(value = "'发表状态 0-未发表 1-已发表")
private Integer publishState;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "首次发表日期 格式:yyyy-MM-dd")
private Date firstPublishDate;
@ApiModelProperty(value = "首次发表省份")
private String firstPublishProvince;
@ApiModelProperty(value = "首次发表城市")
private String firstPublishCity;
@ApiModelProperty(value = "权力取得方式")
private String authorityAcquireMode;
@ApiModelProperty(value = "权力取得证明材料的文件地址")
private String authorityAcquireProve;
@ApiModelProperty(value = "权力归属方式")
private String authorityAscriptionMode;
@ApiModelProperty(value = "权力归属证明材料的文件地址")
private String authorityAscriptionProve;
@ApiModelProperty(value = "作者列表")
private List<Author> authors;
@ApiModelProperty(value = "著作权人列表")
private List<Owner> owners;
@ApiModelProperty("文件列表")
private List<File> files;
@ApiModelProperty("权力id集合")
private List<Integer> authorityIds;
@Data
public static class Author {
@ApiModelProperty(value = "作者姓名或名称")
private String name;
@ApiModelProperty(value = "署名类型 (本名 | 别名 | 匿名)")
private String signType;
@ApiModelProperty(value = "签名")
private String sign;
}
@Data
public static class Owner {
@ApiModelProperty(value = "类别 0-自然人 1-法人")
private Integer type;
@ApiModelProperty(value = "著作权人")
private String owner;
@ApiModelProperty(value = "证件号码")
private String idNumber;
@ApiModelProperty(value = "是否长期有效 0-否 1-是")
private Integer isEffective;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "证件有效起止时间 格式:yyyy-MM-dd")
private Date effectiveStartDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "证件有效终止时间 格式:yyyy-MM-dd")
private Date effectiveEndDate;
@ApiModelProperty(value = "用户所在省份")
private String province;
@ApiModelProperty(value = "用户所在城市")
private String city;
@ApiModelProperty(value = "证件类型 0-身份证 1-营业执照 2-企业法人营业执照 3-组织机构代码证书 4-事业单位法人证书 5-社团法人证书 6-统一社会信用代码 7其他有效证件")
private Integer idType;
@ApiModelProperty(value = "正面照片 (身份证人像面照片)")
private String positivePhoto;
@ApiModelProperty(value = "反面照片(身份证国徽面照片)")
private String backPhoto;
@ApiModelProperty(value = "手持身份证照片")
private String personalPhoto;
@ApiModelProperty(value = "证件照片(营业执照等)")
private String certificatesPhoto;
@ApiModelProperty(value = "委托证明")
private String entrustProve;
}
@Data
public static class File {
@ApiModelProperty("附件名")
private String fileName;
@ApiModelProperty("附件路径")
private String fileUrl;
@ApiModelProperty("文件hash")
private String fileHash;
@ApiModelProperty("文件扩展名")
private String fileSuffix;
}
}
...@@ -29,9 +29,6 @@ public class CollectionNftVo { ...@@ -29,9 +29,6 @@ public class CollectionNftVo {
@ApiModelProperty("文件路径") @ApiModelProperty("文件路径")
private String fileUrl; private String fileUrl;
@ApiModelProperty("主题,多个用逗号,隔开")
private String theme;
@ApiModelProperty("nft编号") @ApiModelProperty("nft编号")
private String nftId; private String nftId;
...@@ -40,7 +37,6 @@ public class CollectionNftVo { ...@@ -40,7 +37,6 @@ public class CollectionNftVo {
public CollectionNftVo(Nft nft, Category category) { public CollectionNftVo(Nft nft, Category category) {
this.id = nft.getId(); this.id = nft.getId();
this.theme = nft.getTheme();
this.nftId = nft.getNftId(); this.nftId = nft.getNftId();
this.category = category.getCategoryName(); this.category = category.getCategoryName();
this.name = nft.getName(); this.name = nft.getName();
......
...@@ -21,8 +21,6 @@ public class NftListVo { ...@@ -21,8 +21,6 @@ public class NftListVo {
@ApiModelProperty("类别") @ApiModelProperty("类别")
private String category; private String category;
@ApiModelProperty("主题,多个用逗号,隔开")
private String theme;
@ApiModelProperty("发行人账号") @ApiModelProperty("发行人账号")
private String publisherAccount; private String publisherAccount;
......
...@@ -29,8 +29,6 @@ public class NftVo { ...@@ -29,8 +29,6 @@ public class NftVo {
@ApiModelProperty("类目") @ApiModelProperty("类目")
private String category; private String category;
@ApiModelProperty("主题,多个用逗号,隔开")
private String theme;
@ApiModelProperty("发行人") @ApiModelProperty("发行人")
private String publisher; private String publisher;
...@@ -68,12 +66,6 @@ public class NftVo { ...@@ -68,12 +66,6 @@ public class NftVo {
@ApiModelProperty("简介") @ApiModelProperty("简介")
private String synopsis; private String synopsis;
@ApiModelProperty("平台存档 0-不存档 1-加密存档")
private Integer isArchives;
@ApiModelProperty("授权阅读 0-不需要授权 1-需要授权")
private Integer isGrant;
@ApiModelProperty("是否收藏") @ApiModelProperty("是否收藏")
private Boolean collection; private Boolean collection;
...@@ -87,7 +79,6 @@ public class NftVo { ...@@ -87,7 +79,6 @@ public class NftVo {
this.id = nft.getId(); this.id = nft.getId();
this.author = nft.getAuthor(); this.author = nft.getAuthor();
this.name = nft.getName(); this.name = nft.getName();
this.theme = nft.getTheme();
this.fileHash = nft.getFileHash(); this.fileHash = nft.getFileHash();
this.nftId = nft.getNftId(); this.nftId = nft.getNftId();
this.synopsis = nft.getSynopsis(); this.synopsis = nft.getSynopsis();
...@@ -95,8 +86,6 @@ public class NftVo { ...@@ -95,8 +86,6 @@ public class NftVo {
this.avatar = user.getAvatar(); this.avatar = user.getAvatar();
this.wallet = nft.getPublishAddress(); this.wallet = nft.getPublishAddress();
this.publishTime = DateUtil.format(nft.getPublishTime(), "yyyy/MM/dd HH:mm:ss"); this.publishTime = DateUtil.format(nft.getPublishTime(), "yyyy/MM/dd HH:mm:ss");
this.isArchives = nft.getIsArchives();
this.isGrant = nft.getIsGrant();
this.userId = nft.getUserId(); this.userId = nft.getUserId();
this.cover = nft.getCover(); this.cover = nft.getCover();
this.collection = false; this.collection = false;
......
package com.fzm.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author tangtuo
* @date 2021/12/9 17:42
*/
@Getter
@AllArgsConstructor
public enum AuthorityTypeEnum {
PERSONAL(0, "个人作品"),
COOPERATION(1, "合作作品"),
LEGAL(2, "法人作品"),
POST(3, "职务作品"),
ENTRUST(4, "委托作品"),
;
private int code;
private String val;
public static int getByType(String type) {
for (AuthorityTypeEnum value : AuthorityTypeEnum.values()) {
if (value.getVal().equals(type)) {
return value.getCode();
}
}
return 0;
}
}
package com.fzm.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author tangtuo
* @date 2021/12/9 15:29
*/
@Getter
@AllArgsConstructor
public enum CopyrightApplyStateEnum {
TO_BE_REVIEWED(0, "待审核"),
SUCCEEDED(1, "登记成功"),
FAILED(2, "审核失败"),
;
private int code;
private String value;
}
package com.fzm.common.enums;
/**
* @author tangtuo
* @date 2021/12/8 14:34
*/
public enum FileSuffix {
JPG,
JPEG,
GIF,
BMP,
PNG,
MP4,
WMV,
MP3,
DOC,
DOCX,
XLS,
XLSX,
PPT,
PPTX,
PDF,
TXT;
/**
* 校验文件类型是否合规
*
* @param fileSuffix
* @return
*/
public static boolean validFileType(String fileSuffix) {
for (FileSuffix value : FileSuffix.values()) {
if (value.toString().equals(fileSuffix.toUpperCase())) {
return true;
}
}
return false;
}
public static void main(String[] args) {
System.out.println(validFileType("docx"));
}
}
package com.fzm.common.enums;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author tangtuo
* @date 2021/12/8 16:06
*/
@Getter
@AllArgsConstructor
public enum OpusProperty {
ORIGINAL("原创"),
ADAPTATION("改编"),
TRANSLATE("翻译"),
ASSEMBLY("汇编"),
NOTES("注释"),
ARRANGEMENT("整理"),
OTHER("其他"),
;
private String value;
public static List<String> queryAll(){
return Arrays.stream(OpusProperty.values()).map(OpusProperty::getValue).collect(Collectors.toList());
}
public static void main(String[] args) {
System.out.println(queryAll());
}
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.Authority;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/12/9 11:28
*/
@Mapper
public interface AuthorityMapper extends BaseMapper<Authority> {
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.CopyrightApply;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/12/9 11:27
*/
@Mapper
public interface CopyrightApplyMapper extends BaseMapper<CopyrightApply> {
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.CopyrightAuthor;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/12/9 11:29
*/
@Mapper
public interface CopyrightAuthorMapper extends BaseMapper<CopyrightAuthor> {
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.CopyrightAuthorityRelation;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/12/9 11:38
*/
@Mapper
public interface CopyrightAuthorityRelationMapper extends BaseMapper<CopyrightAuthorityRelation> {
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.CopyrightFile;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/12/9 11:27
*/
@Mapper
public interface CopyrightFileMapper extends BaseMapper<CopyrightFile> {
}
package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.CopyrightOwner;
import org.apache.ibatis.annotations.Mapper;
/**
* @author tangtuo
* @date 2021/12/9 11:30
*/
@Mapper
public interface CopyrightOwnerMapper extends BaseMapper<CopyrightOwner> {
}
...@@ -41,7 +41,7 @@ public interface NftMapper extends BaseMapper<Nft> { ...@@ -41,7 +41,7 @@ public interface NftMapper extends BaseMapper<Nft> {
* @param endDate * @param endDate
* @return * @return
*/ */
List<NftListVo> page(@Param("categoryId") Integer categoryId, @Param("name") String name, @Param("telephone") String telephone, @Param("theme") String theme, @Param("status") Integer status, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate); List<NftListVo> page(@Param("categoryId") Integer categoryId, @Param("name") String name, @Param("telephone") String telephone, @Param("status") Integer status, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate);
List<CollectionNftVo> listCurrent(@Param("categoryId") Integer categoryId, @Param("userId") Integer userId); List<CollectionNftVo> listCurrent(@Param("categoryId") Integer categoryId, @Param("userId") Integer userId);
} }
package com.fzm.common.mapper; package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.entity.Category; import com.fzm.common.entity.Admin;
import com.fzm.common.entity.Label; import com.fzm.common.entity.OpusCategory;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
/** /**
...@@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper;
* @date 2021/7/1 14:35 * @date 2021/7/1 14:35
*/ */
@Mapper @Mapper
public interface LabelMapper extends BaseMapper<Label> { public interface OpusCategoryMapper extends BaseMapper<OpusCategory> {
} }
...@@ -30,7 +30,7 @@ public class SmsProperties { ...@@ -30,7 +30,7 @@ public class SmsProperties {
private String loginMessageCodetype; private String loginMessageCodetype;
@ApiModelProperty("登录邮件验证码模板") @ApiModelProperty("登录邮件验证码模板")
private String loginMailCodetype; private String loginEmailCodetype;
@ApiModelProperty("登录语音验证码模板") @ApiModelProperty("登录语音验证码模板")
private String loginVoiceCodetype; private String loginVoiceCodetype;
......
package com.fzm.common.service; package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.Category; import com.fzm.common.entity.Authority;
import com.fzm.common.entity.Label;
import java.util.List; import java.util.List;
/** /**
* @author tangtuo * @author tangtuo
* @date 2021/7/1 14:35 * @date 2021/12/9 11:42
*/ */
public interface LabelService extends IService<Label> { public interface AuthorityService extends IService<Authority> {
List<Authority> getByType(int type);
List<Label> listAll(Integer categoryId);
} }
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.CopyrightApply;
import com.fzm.common.entity.dto.CopyrightDTO;
/**
* @author tangtuo
* @date 2021/12/9 11:40
*/
public interface CopyrightApplyService extends IService<CopyrightApply> {
/**
* 提交版权申请
*
* @param copyrightDTO
* @return
*/
Integer submit(CopyrightDTO copyrightDTO);
}
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.CopyrightAuthor;
/**
* @author tangtuo
* @date 2021/12/9 11:41
*/
public interface CopyrightAuthorService extends IService<CopyrightAuthor> {
}
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.CopyrightAuthorityRelation;
/**
* @author tangtuo
* @date 2021/12/9 11:44
*/
public interface CopyrightAuthorityRelationService extends IService<CopyrightAuthorityRelation> {
}
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.CopyrightFile;
/**
* @author tangtuo
* @date 2021/12/9 11:43
*/
public interface CopyrightFileService extends IService<CopyrightFile> {
}
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.CopyrightOwner;
/**
* @author tangtuo
* @date 2021/12/9 11:40
*/
public interface CopyrightOwnerService extends IService<CopyrightOwner> {
}
...@@ -80,7 +80,7 @@ public interface NftService extends IService<Nft> { ...@@ -80,7 +80,7 @@ public interface NftService extends IService<Nft> {
* @param end * @param end
* @return * @return
*/ */
PageInfo<NftListVo> page(Integer pageNum, Integer pageSize, Integer categoryId, String name, String theme, String telephone, Integer status, String start, String end); PageInfo<NftListVo> page(Integer pageNum, Integer pageSize, Integer categoryId, String name, String telephone, Integer status, String start, String end);
/** /**
* 置顶 * 置顶
...@@ -136,4 +136,12 @@ public interface NftService extends IService<Nft> { ...@@ -136,4 +136,12 @@ public interface NftService extends IService<Nft> {
* @return * @return
*/ */
Boolean transfer(NftTransferParam param); Boolean transfer(NftTransferParam param);
/**
* 根据nft哈希查询
*
* @param nftHash
* @return
*/
Nft getByNftHash(String nftHash);
} }
package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.Admin;
import com.fzm.common.entity.OpusCategory;
import java.util.List;
/**
* @author tangtuo
* @date 2021/7/5 15:08
*/
public interface OpusCategoryService extends IService<OpusCategory> {
List<OpusCategory> queryAll();
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.Authority;
import com.fzm.common.mapper.AuthorityMapper;
import com.fzm.common.service.AuthorityService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author tangtuo
* @date 2021/12/9 11:42
*/
@Service
public class AuthorityServiceImpl extends ServiceImpl<AuthorityMapper, Authority> implements AuthorityService {
@Override
public List<Authority> getByType(int type) {
QueryWrapper<Authority> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type);
return list(queryWrapper);
}
}
...@@ -172,8 +172,6 @@ public class CommemorateNftServiceImpl extends ServiceImpl<CommemorateNftMapper, ...@@ -172,8 +172,6 @@ public class CommemorateNftServiceImpl extends ServiceImpl<CommemorateNftMapper,
nft.setUserId(user.getId()); nft.setUserId(user.getId());
nft.setCreateDate(new Date()); nft.setCreateDate(new Date());
nft.setUpdateDate(new Date()); nft.setUpdateDate(new Date());
nft.setIsArchives(SystemConstant.BOOLEAN_DATA_TRUE);
nft.setIsGrant(SystemConstant.BOOLEAN_DATA_FALSE);
nft.setIsCommemorate(SystemConstant.BOOLEAN_DATA_TRUE); nft.setIsCommemorate(SystemConstant.BOOLEAN_DATA_TRUE);
nftService.save(nft); nftService.save(nft);
// 领取完毕,把当前用户id加入到纪念版nft的领取记录中 // 领取完毕,把当前用户id加入到纪念版nft的领取记录中
......
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.constant.SystemConstant;
import com.fzm.common.entity.*;
import com.fzm.common.entity.dto.CopyrightDTO;
import com.fzm.common.enums.CopyrightApplyStateEnum;
import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException;
import com.fzm.common.mapper.CopyrightApplyMapper;
import com.fzm.common.service.*;
import com.fzm.common.utils.JwtUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
/**
* @author tangtuo
* @date 2021/12/9 11:40
*/
@Service
@Transactional(rollbackFor = RuntimeException.class)
public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper, CopyrightApply> implements CopyrightApplyService {
@Resource
private CopyrightApplyMapper copyrightApplyMapper;
@Resource
private CopyrightFileService copyrightFileService;
@Resource
private CopyrightOwnerService copyrightOwnerService;
@Resource
private CopyrightAuthorService copyrightAuthorService;
@Resource
private CopyrightAuthorityRelationService copyrightAuthorityRelationService;
@Resource
private UserService userService;
@Resource
private NftService nftService;
@Override
public Integer submit(CopyrightDTO copyrightDTO) {
// 判断此nft是否属于当前登录用户所有
Nft nft = nftService.getByNftHash(copyrightDTO.getNftHash());
User user = userService.getUserByToken();
if (nft == null || !nft.getUserId().equals(user.getId())) {
throw GlobalException.newException(ResultCode.FAILED, "请先确认此nft的有效性");
}
// 如果发表状态是已发表的话,需要传入首次发表日期和省市
if (SystemConstant.BOOLEAN_DATA_TRUE.equals(copyrightDTO.getPublishState()) &&
(copyrightDTO.getFirstPublishDate() == null ||
StringUtils.isAnyBlank(copyrightDTO.getFirstPublishCity(), copyrightDTO.getFirstPublishProvince()))) {
throw GlobalException.newException(ResultCode.VALIDATE_FAILED);
}
CopyrightApply copyrightApply = new CopyrightApply(copyrightDTO);
// 首次提交,登记状态为待提交
copyrightApply.setRegisterState(CopyrightApplyStateEnum.TO_BE_REVIEWED.getCode());
copyrightApply.setUserId(user.getId());
save(copyrightApply);
// 保存附件
ArrayList<CopyrightFile> files = new ArrayList<>();
for (CopyrightDTO.File file : copyrightDTO.getFiles()) {
CopyrightFile copyrightFile = new CopyrightFile(file);
copyrightFile.setNftHash(copyrightApply.getNftHash());
copyrightFile.setCopyrightId(copyrightApply.getId());
files.add(copyrightFile);
}
copyrightFileService.saveBatch(files);
// 保存著作权人信息
ArrayList<CopyrightOwner> owners = new ArrayList<>();
for (CopyrightDTO.Owner owner : copyrightDTO.getOwners()) {
CopyrightOwner copyrightOwner = new CopyrightOwner(owner);
copyrightOwner.setCopyrightId(copyrightApply.getId());
owners.add(copyrightOwner);
}
copyrightOwnerService.saveBatch(owners);
// 保存作者信息
ArrayList<CopyrightAuthor> authors = new ArrayList<>();
for (CopyrightDTO.Author author : copyrightDTO.getAuthors()) {
CopyrightAuthor copyrightAuthor = new CopyrightAuthor(author);
copyrightAuthor.setCopyrightId(copyrightApply.getId());
authors.add(copyrightAuthor);
}
copyrightAuthorService.saveBatch(authors);
// 保存权力信息
ArrayList<CopyrightAuthorityRelation> relations = new ArrayList<>();
for (Integer authorityId : copyrightDTO.getAuthorityIds()) {
CopyrightAuthorityRelation relation = new CopyrightAuthorityRelation(copyrightApply.getId(), authorityId);
relations.add(relation);
}
copyrightAuthorityRelationService.saveBatch(relations);
return copyrightApply.getId();
}
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.CopyrightAuthor;
import com.fzm.common.mapper.CopyrightAuthorMapper;
import com.fzm.common.service.CopyrightAuthorService;
import org.springframework.stereotype.Service;
/**
* @author tangtuo
* @date 2021/12/9 11:41
*/
@Service
public class CopyrightAuthorServiceImpl extends ServiceImpl<CopyrightAuthorMapper, CopyrightAuthor> implements CopyrightAuthorService {
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.CopyrightAuthorityRelation;
import com.fzm.common.mapper.CopyrightAuthorityRelationMapper;
import com.fzm.common.service.CopyrightAuthorityRelationService;
import org.springframework.stereotype.Service;
/**
* @author tangtuo
* @date 2021/12/9 11:44
*/
@Service
public class CopyrightAuthorityRelationServiceImpl extends ServiceImpl<CopyrightAuthorityRelationMapper, CopyrightAuthorityRelation> implements CopyrightAuthorityRelationService {
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.CopyrightFile;
import com.fzm.common.mapper.CopyrightFileMapper;
import com.fzm.common.service.CopyrightFileService;
import org.springframework.stereotype.Service;
/**
* @author tangtuo
* @date 2021/12/9 11:43
*/
@Service
public class CopyrightFileServiceImpl extends ServiceImpl<CopyrightFileMapper, CopyrightFile> implements CopyrightFileService {
}
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.CopyrightOwner;
import com.fzm.common.mapper.CopyrightOwnerMapper;
import com.fzm.common.service.CopyrightOwnerService;
import org.springframework.stereotype.Service;
/**
* @author tangtuo
* @date 2021/12/9 11:40
*/
@Service
public class CopyrightOwnerServiceImpl extends ServiceImpl<CopyrightOwnerMapper, CopyrightOwner> implements CopyrightOwnerService {
}
package com.fzm.common.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.Category;
import com.fzm.common.entity.Label;
import com.fzm.common.mapper.CategoryMapper;
import com.fzm.common.mapper.LabelMapper;
import com.fzm.common.service.CategoryService;
import com.fzm.common.service.LabelService;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author tangtuo
* @date 2021/7/1 14:36
*/
@Service
public class LabelServiceImpl extends ServiceImpl<LabelMapper, Label> implements LabelService {
@Resource
private LabelMapper labelMapper;
@Override
@Cacheable(value = "label:list", key = "#categoryId", unless = "#result == null")
public List<Label> listAll(Integer categoryId) {
QueryWrapper<Label> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("category_id", categoryId);
List<Label> labels = labelMapper.selectList(queryWrapper);
return CollectionUtil.isEmpty(labels) ? null : labels;
}
}
...@@ -13,6 +13,7 @@ import cn.hutool.core.util.HexUtil; ...@@ -13,6 +13,7 @@ import cn.hutool.core.util.HexUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.constant.RedisConstant; import com.fzm.common.constant.RedisConstant;
import com.fzm.common.constant.SystemConstant; import com.fzm.common.constant.SystemConstant;
...@@ -125,6 +126,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe ...@@ -125,6 +126,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
map.put("hash", nftDto.getFileHash()); map.put("hash", nftDto.getFileHash());
map.put("publishAddress", wallet); map.put("publishAddress", wallet);
map.put("author", nft.getAuthor()); map.put("author", nft.getAuthor());
map.put("synopsis", nft.getSynopsis());
String str = JSONUtil.toJsonStr(map); String str = JSONUtil.toJsonStr(map);
String tokenInfo = HexUtil.encodeHexStr(str, CharsetUtil.CHARSET_UTF_8); String tokenInfo = HexUtil.encodeHexStr(str, CharsetUtil.CHARSET_UTF_8);
log.info("tokenInfo:{}", tokenInfo); log.info("tokenInfo:{}", tokenInfo);
...@@ -220,6 +222,13 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe ...@@ -220,6 +222,13 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
return true; return true;
} }
@Override
public Nft getByNftHash(String nftHash) {
QueryWrapper<Nft> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("nft_hash", nftHash);
return getOne(queryWrapper);
}
private String getCodeType(String type) { private String getCodeType(String type) {
switch (type) { switch (type) {
case "sms": case "sms":
...@@ -301,7 +310,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe ...@@ -301,7 +310,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
} }
@Override @Override
public PageInfo<NftListVo> page(Integer pageNum, Integer pageSize, Integer categoryId, String name, String theme, String telephone, Integer status, String start, String end) { public PageInfo<NftListVo> page(Integer pageNum, Integer pageSize, Integer categoryId, String name, String telephone, Integer status, String start, String end) {
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
DateTime startDate = null; DateTime startDate = null;
DateTime endDate = null; DateTime endDate = null;
...@@ -311,7 +320,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe ...@@ -311,7 +320,7 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
if (StringUtils.isNotBlank(end)) { if (StringUtils.isNotBlank(end)) {
endDate = DateUtil.parse(end + " 23:59:59", "yyyy-MM-dd HH:mm:ss"); endDate = DateUtil.parse(end + " 23:59:59", "yyyy-MM-dd HH:mm:ss");
} }
List<NftListVo> list = nftMapper.page(categoryId, name, telephone, theme, status, startDate, endDate); List<NftListVo> list = nftMapper.page(categoryId, name, telephone, status, startDate, endDate);
return new PageInfo<>(list); return new PageInfo<>(list);
} }
...@@ -359,11 +368,6 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe ...@@ -359,11 +368,6 @@ public class NftServiceImpl extends ServiceImpl<NftMapper, Nft> implements NftSe
} }
String token = request.getHeader("Authorization"); String token = request.getHeader("Authorization");
Integer userId = JwtUtil.getUserIdFromToken(token); Integer userId = JwtUtil.getUserIdFromToken(token);
if (!userId.equals(nft.getUserId())) {
if (SystemConstant.BOOLEAN_DATA_FALSE.equals(nft.getIsArchives()) || SystemConstant.BOOLEAN_DATA_TRUE.equals(nft.getIsGrant())) {
throw GlobalException.newException(ResultCode.FILE_DOWNLOAD_ERROR, "当前文件不支持下载");
}
}
ossUtil.downloadFile(nft.getFileUrl(), nft.getFileName()); ossUtil.downloadFile(nft.getFileUrl(), nft.getFileName());
} }
......
package com.fzm.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.entity.OpusCategory;
import com.fzm.common.mapper.OpusCategoryMapper;
import com.fzm.common.service.OpusCategoryService;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author tangtuo
* @date 2021/7/5 15:08
*/
@Service
public class OpusCategoryServiceImpl extends ServiceImpl<OpusCategoryMapper, OpusCategory> implements OpusCategoryService {
@Override
@Cacheable(value = "opus:category", key = "'list'")
public List<OpusCategory> queryAll() {
return list();
}
}
...@@ -170,7 +170,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us ...@@ -170,7 +170,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
case "sms": case "sms":
return smsProperties.getLoginMessageCodetype(); return smsProperties.getLoginMessageCodetype();
case "email": case "email":
return smsProperties.getLoginMailCodetype(); return smsProperties.getLoginEmailCodetype();
case "voice": case "voice":
return smsProperties.getLoginVoiceCodetype(); return smsProperties.getLoginVoiceCodetype();
default: default:
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
select a.id, select a.id,
a.name, a.name,
a.cover, a.cover,
a.theme,
a.nft_id, a.nft_id,
a.file_url, a.file_url,
a.is_commemorate, a.is_commemorate,
...@@ -33,7 +32,6 @@ ...@@ -33,7 +32,6 @@
SELECT SELECT
n.id, n.id,
n.`name`, n.`name`,
n.theme,
n.`status`, n.`status`,
n.is_top, n.is_top,
n.cover, n.cover,
...@@ -53,9 +51,6 @@ ...@@ -53,9 +51,6 @@
<if test="categoryId != null"> <if test="categoryId != null">
and n.category_id = #{categoryId} and n.category_id = #{categoryId}
</if> </if>
<if test="theme != null and theme != ''">
and FIND_IN_SET(#{theme},n.theme)
</if>
<if test="categoryId != null"> <if test="categoryId != null">
and n.category_id = #{categoryId} and n.category_id = #{categoryId}
</if> </if>
...@@ -81,7 +76,6 @@ ...@@ -81,7 +76,6 @@
select a.id, select a.id,
a.name, a.name,
a.cover, a.cover,
a.theme,
a.nft_id, a.nft_id,
a.file_url, a.file_url,
a.is_commemorate, a.is_commemorate,
......
package com.fzm.portal.controller;
import com.fzm.common.entity.Authority;
import com.fzm.common.enums.AuthorityTypeEnum;
import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.AuthorityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author tangtuo
* @date 2021/12/9 16:59
*/
@RestController
@RequestMapping("/authority")
@Api(tags = "权力")
public class AuthorityController {
@Resource
private AuthorityService authorityService;
@GetMapping("/list")
@ApiOperation(value = "查询权力列表")
public ResponseModel<List<Authority>> list(@RequestParam String authorityAscriptionMode) {
List<Authority> list = authorityService.getByType(AuthorityTypeEnum.getByType(authorityAscriptionMode));
return ResponseModel.success(list);
}
}
...@@ -4,7 +4,6 @@ import cn.hutool.crypto.SecureUtil; ...@@ -4,7 +4,6 @@ import cn.hutool.crypto.SecureUtil;
import com.fzm.common.annotation.Authentication; import com.fzm.common.annotation.Authentication;
import com.fzm.common.constant.RedisConstant; import com.fzm.common.constant.RedisConstant;
import com.fzm.common.entity.CommemorateNft; import com.fzm.common.entity.CommemorateNft;
import com.fzm.common.entity.Label;
import com.fzm.common.entity.User; import com.fzm.common.entity.User;
import com.fzm.common.entity.vo.CommemorateNftVo; import com.fzm.common.entity.vo.CommemorateNftVo;
import com.fzm.common.enums.ResultCode; import com.fzm.common.enums.ResultCode;
...@@ -12,7 +11,6 @@ import com.fzm.common.exception.GlobalException; ...@@ -12,7 +11,6 @@ import com.fzm.common.exception.GlobalException;
import com.fzm.common.model.ResponseModel; import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.CategoryService; import com.fzm.common.service.CategoryService;
import com.fzm.common.service.CommemorateNftService; import com.fzm.common.service.CommemorateNftService;
import com.fzm.common.service.LabelService;
import com.fzm.common.service.UserService; import com.fzm.common.service.UserService;
import com.fzm.common.utils.JwtUtil; import com.fzm.common.utils.JwtUtil;
import com.fzm.common.utils.OssUtil; import com.fzm.common.utils.OssUtil;
...@@ -29,7 +27,6 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -29,7 +27,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Locale;
/** /**
* @author tangtuo * @author tangtuo
......
package com.fzm.portal.controller;
import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.dto.CopyrightDTO;
import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.CopyrightApplyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author tangtuo
* @date 2021/12/9 14:31
*/
@Authentication
@RestController
@Api(tags = "版权申请")
@RequestMapping("/copyright/apply")
public class CopyrightApplyController {
@Resource
private CopyrightApplyService copyrightApplyService;
@PostMapping("/submit")
@ApiModelProperty("/提交申请")
public ResponseModel<Integer> submit(@RequestBody CopyrightDTO copyrightDTO) {
Integer copyrightId = copyrightApplyService.submit(copyrightDTO);
return ResponseModel.success(copyrightId);
}
}
...@@ -73,11 +73,6 @@ public class NftController { ...@@ -73,11 +73,6 @@ public class NftController {
@PostMapping("/save") @PostMapping("/save")
@ApiOperation(value = "nft基本信息保存(基本信息和加密上链两个步骤)") @ApiOperation(value = "nft基本信息保存(基本信息和加密上链两个步骤)")
public ResponseModel<NftDto> save(@Validated @ModelAttribute Nft nft) { public ResponseModel<NftDto> save(@Validated @ModelAttribute Nft nft) {
if (SystemConstant.BOOLEAN_DATA_TRUE.equals(nft.getIsArchives())) {
if (StringUtils.isAnyBlank(nft.getFileUrl(), nft.getName()) || nft.getIsGrant() == null) {
throw GlobalException.newException(ResultCode.VALIDATE_FAILED, "当选择平台存档时,文件名和文件路径必传");
}
}
return ResponseModel.success(nftService.saveNft(nft)); return ResponseModel.success(nftService.saveNft(nft));
} }
......
package com.fzm.portal.controller; package com.fzm.portal.controller;
import com.fzm.common.entity.Label; import com.fzm.common.entity.OpusCategory;
import com.fzm.common.model.ResponseModel; import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.LabelService; import com.fzm.common.service.OpusCategoryService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -15,19 +14,19 @@ import java.util.List; ...@@ -15,19 +14,19 @@ import java.util.List;
/** /**
* @author tangtuo * @author tangtuo
* @date 2021/7/1 14:37 * @date 2021/12/9 17:03
*/ */
@Api(tags = "作品类别")
@RestController @RestController
@RequestMapping(value = "/label") @RequestMapping("/opus/category")
@Api(tags = "主题管理") public class OpusCategoryController {
public class LabelController {
@Resource @Resource
private LabelService labelService; private OpusCategoryService opusCategoryService;
@GetMapping("/list/{categoryId}") @GetMapping("/list")
@ApiOperation(value = "查询所有主题信息") @ApiOperation(value = "查询作品类别列表")
public ResponseModel<List<Label>> list(@PathVariable Integer categoryId) { public ResponseModel<List<OpusCategory>> list() {
return ResponseModel.success(labelService.listAll(categoryId)); return ResponseModel.success(opusCategoryService.queryAll());
} }
} }
...@@ -39,6 +39,7 @@ public class OssController { ...@@ -39,6 +39,7 @@ public class OssController {
@PostMapping("/upload") @PostMapping("/upload")
@ApiOperation("普通文件上传") @ApiOperation("普通文件上传")
public ResponseModel<String> upload(MultipartFile file) throws IOException { public ResponseModel<String> upload(MultipartFile file) throws IOException {
return ResponseModel.success(ossUtil.putSimpleObject(file)); return ResponseModel.success(ossUtil.putSimpleObject(file));
} }
} }
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment