Commit bb97589a authored by tangtuo's avatar tangtuo

修改更新版权状态为定时任务更新

parent 9e217241
...@@ -5,7 +5,9 @@ import org.mybatis.spring.annotation.MapperScan; ...@@ -5,7 +5,9 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@EnableSwagger2Doc @EnableSwagger2Doc
@EnableCaching @EnableCaching
@SpringBootApplication(scanBasePackages = {"com.fzm.admin", "com.fzm.common"}) @SpringBootApplication(scanBasePackages = {"com.fzm.admin", "com.fzm.common"})
......
...@@ -28,7 +28,7 @@ spring: ...@@ -28,7 +28,7 @@ spring:
useGlobalDataSourceStat: true useGlobalDataSourceStat: true
redis: redis:
host: 172.16.101.135 host: localhost
port: 6379 port: 6379
password: 123456 password: 123456
lettuce: lettuce:
......
...@@ -92,6 +92,9 @@ public class CopyrightApply { ...@@ -92,6 +92,9 @@ public class CopyrightApply {
@ApiModelProperty(value = "申请时间") @ApiModelProperty(value = "申请时间")
private Date applyTime; private Date applyTime;
@ApiModelProperty(value = "版权申请后台核验通过时间")
private Date passTime;
@ApiModelProperty(value = "登记状态 0-待审核 1-登记成功 2-审核失败") @ApiModelProperty(value = "登记状态 0-待审核 1-登记成功 2-审核失败")
private Integer registerState; private Integer registerState;
......
...@@ -21,6 +21,9 @@ public class CopyrightDTO { ...@@ -21,6 +21,9 @@ public class CopyrightDTO {
@ApiModelProperty("主键") @ApiModelProperty("主键")
private Integer id; private Integer id;
@ApiModelProperty("草稿id")
private Integer draftId;
@NotBlank(message = "nft哈希不能为空") @NotBlank(message = "nft哈希不能为空")
@ApiModelProperty(value = "nft哈希") @ApiModelProperty(value = "nft哈希")
private String nftHash; private String nftHash;
......
...@@ -37,6 +37,9 @@ public class CopyrightRequest { ...@@ -37,6 +37,9 @@ public class CopyrightRequest {
@Data @Data
public static class CopyrightDetail { public static class CopyrightDetail {
@ApiModelProperty(value = "流水号")
private String serial_code;
@ApiModelProperty(value = "权利归属方式名称图片") @ApiModelProperty(value = "权利归属方式名称图片")
private String affilia_photo; private String affilia_photo;
...@@ -144,6 +147,7 @@ public class CopyrightRequest { ...@@ -144,6 +147,7 @@ public class CopyrightRequest {
private String works_type_name; private String works_type_name;
public CopyrightDetail(CopyrightVo copyrightVo, OpusCategory opusCategory) { public CopyrightDetail(CopyrightVo copyrightVo, OpusCategory opusCategory) {
this.serial_code = copyrightVo.getSerialNum();
this.affilia_photo = copyrightVo.getAuthorityAscriptionProve(); this.affilia_photo = copyrightVo.getAuthorityAscriptionProve();
this.agency_photo = copyrightVo.getRegisterEntrust(); this.agency_photo = copyrightVo.getRegisterEntrust();
this.author_photo = ""; this.author_photo = "";
......
...@@ -12,6 +12,8 @@ import javax.validation.constraints.NotNull; ...@@ -12,6 +12,8 @@ import javax.validation.constraints.NotNull;
@Data @Data
public class DraftDTO { public class DraftDTO {
private Integer id;
@NotBlank(message = "草稿内容不能为空") @NotBlank(message = "草稿内容不能为空")
private String content; private String content;
......
package com.fzm.common.entity.vo; package com.fzm.common.entity.vo;
import cn.hutool.core.date.DateUtil; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fzm.common.entity.CopyrightApplyOwnerRelation; import com.fzm.common.entity.CopyrightApplyOwnerRelation;
import com.fzm.common.entity.CopyrightAuthor; import com.fzm.common.entity.CopyrightAuthor;
import com.fzm.common.entity.Nft; import com.fzm.common.entity.Nft;
import com.fzm.common.entity.User;
import com.fzm.common.enums.CopyrightApplyState;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import sun.management.counter.perf.PerfInstrumentation;
import java.util.Date; import java.util.Date;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -45,6 +42,8 @@ public class NftVo { ...@@ -45,6 +42,8 @@ public class NftVo {
@ApiModelProperty("作者") @ApiModelProperty("作者")
private String author; private String author;
@ApiModelProperty("简介")
private String synopsis;
@ApiModelProperty("文件哈希") @ApiModelProperty("文件哈希")
private String fileHash; private String fileHash;
...@@ -83,15 +82,18 @@ public class NftVo { ...@@ -83,15 +82,18 @@ public class NftVo {
@ApiModelProperty("著作权人") @ApiModelProperty("著作权人")
private String copyrightOwner; private String copyrightOwner;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("作品完成时间") @ApiModelProperty("作品完成时间")
private Date opusCompleteDate; private Date opusCompleteDate;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("作品首次发表时间") @ApiModelProperty("作品首次发表时间")
private Date firstPublishDate; private Date firstPublishDate;
@ApiModelProperty("登记时间") @ApiModelProperty("登记时间")
private Date registerDate; private Date registerDate;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("存证时间") @ApiModelProperty("存证时间")
private Date evidenceTime; private Date evidenceTime;
...@@ -123,6 +125,7 @@ public class NftVo { ...@@ -123,6 +125,7 @@ public class NftVo {
this.nftHash = nft.getNftHash(); this.nftHash = nft.getNftHash();
this.fileHash = nft.getFileHash(); this.fileHash = nft.getFileHash();
this.evidenceTime = nft.getPublishTime(); this.evidenceTime = nft.getPublishTime();
this.synopsis = nft.getSynopsis();
this.copyright = (copyrightVo == null) ? null : new Copyright(copyrightVo); this.copyright = (copyrightVo == null) ? null : new Copyright(copyrightVo);
} }
......
...@@ -26,4 +26,7 @@ public interface CopyrightApplyMapper extends BaseMapper<CopyrightApply> { ...@@ -26,4 +26,7 @@ public interface CopyrightApplyMapper extends BaseMapper<CopyrightApply> {
List<CopyrightApply> list(@Param("userId") Integer userId, @Param("state") Integer state); List<CopyrightApply> list(@Param("userId") Integer userId, @Param("state") Integer state);
List<CopyrightApplyVo> pages(@Param("telephone") String telephone, @Param("serialNum") String serialNum, @Param("registerState") Integer registerState, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate); List<CopyrightApplyVo> pages(@Param("telephone") String telephone, @Param("serialNum") String serialNum, @Param("registerState") Integer registerState, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate);
List<String> getSerialCodes();
} }
...@@ -135,4 +135,12 @@ public interface CopyrightApplyService extends IService<CopyrightApply> { ...@@ -135,4 +135,12 @@ public interface CopyrightApplyService extends IService<CopyrightApply> {
* @return * @return
*/ */
Boolean existsByNftHash(String nftHash); Boolean existsByNftHash(String nftHash);
/**
* 查询所有待更新状态的版权申请的流水号
*
* @return
*/
List<String> getSerialCodes();
} }
...@@ -8,7 +8,6 @@ import cn.hutool.http.HttpUtil; ...@@ -8,7 +8,6 @@ import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.config.RabbitMQConfig;
import com.fzm.common.constant.SystemConstant; import com.fzm.common.constant.SystemConstant;
import com.fzm.common.entity.*; import com.fzm.common.entity.*;
import com.fzm.common.entity.dto.CopyrightDTO; import com.fzm.common.entity.dto.CopyrightDTO;
...@@ -31,14 +30,16 @@ import lombok.extern.slf4j.Slf4j; ...@@ -31,14 +30,16 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.redisson.Redisson; import org.redisson.Redisson;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.dao.DuplicateKeyException; import org.springframework.dao.DuplicateKeyException;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.TreeMap;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -92,10 +93,10 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper, ...@@ -92,10 +93,10 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper,
private CopyrightProperties copyrightProperties; private CopyrightProperties copyrightProperties;
@Resource @Resource
private RabbitTemplate rabbitTemplate; private Redisson redisson;
@Resource @Resource
private Redisson redisson; private DraftService draftService;
@Override @Override
...@@ -152,6 +153,10 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper, ...@@ -152,6 +153,10 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper,
CopyrightAuthorityRelation relation = new CopyrightAuthorityRelation(copyrightApply.getId(), authorityId); CopyrightAuthorityRelation relation = new CopyrightAuthorityRelation(copyrightApply.getId(), authorityId);
relations.add(relation); relations.add(relation);
} }
// 如果是从草稿箱进来的需要删除草稿信息
if (copyrightDTO.getDraftId() != null) {
draftService.removeById(copyrightDTO.getDraftId());
}
copyrightAuthorityRelationService.saveBatch(relations); copyrightAuthorityRelationService.saveBatch(relations);
return copyrightApply.getId(); return copyrightApply.getId();
} }
...@@ -369,10 +374,10 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper, ...@@ -369,10 +374,10 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper,
} }
// 申请成功 // 申请成功
String serial_code = copyrightResponse.getSerial_code(); String serial_code = copyrightResponse.getSerial_code();
rabbitTemplate.convertAndSend(RabbitMQConfig.COPYRIGHT_DIRECT, "copyright.apply", serial_code);
copyright.setSerialNum(serial_code); copyright.setSerialNum(serial_code);
copyright.setRegisterState(CopyrightApplyState.SUBMITTED.getCode()); copyright.setRegisterState(CopyrightApplyState.SUBMITTED.getCode());
copyright.setRejectReason(""); copyright.setRejectReason("");
copyright.setPassTime(new Date());
return updateById(copyright); return updateById(copyright);
} finally { } finally {
lock.unlock(); lock.unlock();
...@@ -434,4 +439,9 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper, ...@@ -434,4 +439,9 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper,
return count(queryWrapper) > 0; return count(queryWrapper) > 0;
} }
@Override
public List<String> getSerialCodes() {
return copyrightApplyMapper.getSerialCodes();
}
} }
...@@ -103,17 +103,9 @@ public class DraftServiceImpl extends ServiceImpl<DraftMapper, Draft> implements ...@@ -103,17 +103,9 @@ public class DraftServiceImpl extends ServiceImpl<DraftMapper, Draft> implements
@Override @Override
public Integer saveDraft(DraftDTO draft) { public Integer saveDraft(DraftDTO draft) {
if (draft.getCopyrightId() != null) {
CopyrightApply copyright = copyrightApplyService.getById(draft.getCopyrightId());
if (copyright != null && copyright.getRegisterState().equals(CopyrightApplyState.WITHDRAW.getCode())) {
copyrightApplyService.removeById(draft.getCopyrightId());
copyrightAuthorService.delByCopyrightId(draft.getCopyrightId());
copyrightAuthorityRelationService.delByCopyrightId(draft.getCopyrightId());
}
}
Draft d = new Draft(); Draft d = new Draft();
BeanUtil.copyProperties(draft, d, true); BeanUtil.copyProperties(draft, d, true);
this.save(d); this.saveOrUpdate(d);
return d.getId(); return d.getId();
} }
} }
...@@ -47,4 +47,10 @@ ...@@ -47,4 +47,10 @@
</where> </where>
order by c.apply_time desc order by c.apply_time desc
</select> </select>
<select id="getSerialCodes" resultType="java.lang.String">
SELECT serial_num
FROM tb_copyright_apply
WHERE register_state IN (2, 6, 7)
<!-- AND (NOW() - INTERVAL 24 HOUR) >= pass_time -->
</select>
</mapper> </mapper>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -549,4 +549,25 @@ UPDATE `tb_file_template` SET `file_name` = '作品登记委托书.docx', `file_ ...@@ -549,4 +549,25 @@ UPDATE `tb_file_template` SET `file_name` = '作品登记委托书.docx', `file_
alter table tb_nft add column evidencer varchar(20) not null default '' comment '存证人' after author; alter table tb_nft add column evidencer varchar(20) not null default '' comment '存证人' after author;
ALTER TABLE tb_copyright_author MODIFY COLUMN `name` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '作者姓名或名称'; ALTER TABLE tb_copyright_author MODIFY COLUMN `name` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '作者姓名或名称';
ALTER TABLE tb_copyright_author MODIFY COLUMN `sign` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '签名'; ALTER TABLE tb_copyright_author MODIFY COLUMN `sign` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '签名';
ALTER TABLE tb_copyright_owner MODIFY COLUMN `owner` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '著作权人'; ALTER TABLE tb_copyright_owner MODIFY COLUMN `owner` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '著作权人';
\ No newline at end of file
-- v2.0.1
ALTER TABLE tb_copyright_apply ADD COLUMN pass_time datetime DEFAULT NULL COMMENT '版权申请后台核验通过时间' AFTER apply_time;
UPDATE `tb_opus_category` SET `value` = '文字作品' WHERE `id` = 1;
UPDATE `tb_opus_category` SET `value` = '口述作品' WHERE `id` = 2;
UPDATE `tb_opus_category` SET `value` = '音乐作品' WHERE `id` = 3;
UPDATE `tb_opus_category` SET `value` = '戏剧作品' WHERE `id` = 4;
UPDATE `tb_opus_category` SET `value` = '曲艺作品' WHERE `id` = 5;
UPDATE `tb_opus_category` SET `value` = '舞蹈作品' WHERE `id` = 6;
UPDATE `tb_opus_category` SET `value` = '杂技艺术' WHERE `id` = 7;
UPDATE `tb_opus_category` SET `value` = '美术作品' WHERE `id` = 8;
UPDATE `tb_opus_category` SET `value` = '建筑作品' WHERE `id` = 9;
UPDATE `tb_opus_category` SET `value` = '摄影作品' WHERE `id` = 10;
UPDATE `tb_opus_category` SET `value` = '电影作品' WHERE `id` = 11;
UPDATE `tb_opus_category` SET `value` = '以类似摄制电影的方法创作的作品' WHERE `id` = 12;
UPDATE `tb_opus_category` SET `value` = '工程设计图、产品设计图' WHERE `id` = 13;
UPDATE `tb_opus_category` SET `value` = '地图、示意图' WHERE `id` = 14;
UPDATE `tb_opus_category` SET `value` = '模型作品' WHERE `id` = 15;
UPDATE `tb_opus_category` SET `value` = '录音制品' WHERE `id` = 16;
UPDATE `tb_opus_category` SET `value` = '录像制品' WHERE `id` = 17;
UPDATE `tb_opus_category` SET `value` = '其他作品' WHERE `id` = 18;
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