Commit 54c5ff50 authored by tangtuo's avatar tangtuo

v1.0.0功能开发

parent 124252aa
...@@ -2,6 +2,7 @@ package com.fzm.admin.controller; ...@@ -2,6 +2,7 @@ package com.fzm.admin.controller;
import com.fzm.common.annotation.Authentication; import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.vo.CopyrightApplyVo; import com.fzm.common.entity.vo.CopyrightApplyVo;
import com.fzm.common.entity.vo.CopyrightVo;
import com.fzm.common.model.ResponseModel; import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.CopyrightApplyService; import com.fzm.common.service.CopyrightApplyService;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -11,6 +12,7 @@ import io.swagger.annotations.ApiParam; ...@@ -11,6 +12,7 @@ import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.concurrent.ExecutionException;
/** /**
* @author tangtuo * @author tangtuo
...@@ -52,4 +54,10 @@ public class CopyrightApplyController { ...@@ -52,4 +54,10 @@ public class CopyrightApplyController {
boolean result = copyrightApplyService.reject(id, rejectReason); boolean result = copyrightApplyService.reject(id, rejectReason);
return ResponseModel.success(result); return ResponseModel.success(result);
} }
@GetMapping(value = "/detail")
@ApiOperation(value = "获取详情")
public ResponseModel<CopyrightVo> details(@RequestParam Integer id) throws ExecutionException, InterruptedException {
return ResponseModel.success(copyrightApplyService.getDetail(id));
}
} }
...@@ -20,4 +20,8 @@ public class DraftDTO { ...@@ -20,4 +20,8 @@ public class DraftDTO {
@NotBlank(message = "解析内容不能为空") @NotBlank(message = "解析内容不能为空")
private String json; private String json;
private Integer copyrightId;
private Integer userId;
} }
package com.fzm.common.entity.vo;
import com.fzm.common.enums.CopyrightApplyStateEnum;
import lombok.Data;
/**
* @author tangtuo
* @date 2021/12/17 16:29
*/
@Data
public class CopyrightStateVo {
private int code;
private String value;
private String msg;
public CopyrightStateVo(CopyrightApplyStateEnum stateEnum, String rejectReason) {
this.code = stateEnum.getCode();
this.value = stateEnum.getValue();
if (stateEnum.equals(CopyrightApplyStateEnum.REJECTED)) {
this.msg = rejectReason;
} else {
this.msg = stateEnum.getMsg();
}
}
}
package com.fzm.common.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author tangtuo
* @date 2021/12/17 14:51
*/
@Data
public class EvidenceVo {
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("nft编号")
private String nftId;
@ApiModelProperty("nft哈希")
private String nftHash;
@ApiModelProperty(value = "存证哈希")
private String evidenceHash;
@ApiModelProperty("存证人")
private String evidencer;
@ApiModelProperty("登记号")
private String registrationNum;
private String opusName;
private List<String> authors;
private String opusType;
private List<String> owners;
@ApiModelProperty(value = "作品完成日期")
private Date opusCompleteDate;
@ApiModelProperty(value = "首次发表日期")
private Date firstPublishDate;
@ApiModelProperty("登记时间")
private Date registrationDate;
@ApiModelProperty("存证时间")
private Date evidenceDate;
}
package com.fzm.common.enums; package com.fzm.common.enums;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.ToString;
/** /**
* @author tangtuo * @author tangtuo
* @date 2021/12/9 15:29 * @date 2021/12/9 15:29
*/ */
@ToString
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum CopyrightApplyStateEnum { public enum CopyrightApplyStateEnum {
WITHDRAW(-1, "已撤回"), WITHDRAW(-1, "已撤回", ""),
TO_BE_REVIEWED(0, "待审核"), TO_BE_REVIEWED(0, "待审核", ""),
SUBMITTED(2, "已提交"), SUBMITTED(2, "已提交", "请耐心等待湖北版权局审核受理,受理成功后将在15个工作日内完成登记"),
REJECTED(3, "已驳回"), REJECTED(3, "已驳回", ""),
SUCCEEDED(4, "登记成功"), SUCCEEDED(4, "登记成功", ""),
FAILED(5, "审核失败"), FAILED(5, "审核失败", ""),
; ;
private int code; private int code;
private String value; private String value;
private String msg;
public static CopyrightApplyStateEnum getByState(int state) {
for (CopyrightApplyStateEnum stateEnum : CopyrightApplyStateEnum.values()) {
if (stateEnum.getCode() == state) {
return stateEnum;
}
}
return CopyrightApplyStateEnum.TO_BE_REVIEWED;
}
} }
...@@ -35,7 +35,6 @@ public interface NftMapper extends BaseMapper<Nft> { ...@@ -35,7 +35,6 @@ public interface NftMapper extends BaseMapper<Nft> {
* @param categoryId * @param categoryId
* @param name * @param name
* @param telephone * @param telephone
* @param theme
* @param status * @param status
* @param startDate * @param startDate
* @param endDate * @param endDate
......
...@@ -95,4 +95,12 @@ public interface CopyrightApplyService extends IService<CopyrightApply> { ...@@ -95,4 +95,12 @@ public interface CopyrightApplyService extends IService<CopyrightApply> {
* @return * @return
*/ */
boolean pass(Integer id); boolean pass(Integer id);
/**
* 获取存证成功的总数量
*
* @return
*/
int getSuccessCount();
} }
...@@ -16,5 +16,4 @@ public interface CopyrightAuthorityRelationService extends IService<CopyrightAut ...@@ -16,5 +16,4 @@ public interface CopyrightAuthorityRelationService extends IService<CopyrightAut
*/ */
Integer delByCopyrightId(Integer copyrightId); Integer delByCopyrightId(Integer copyrightId);
int insert(CopyrightAuthorityRelation CopyrightAuthorityRelation);
} }
...@@ -2,6 +2,7 @@ package com.fzm.common.service; ...@@ -2,6 +2,7 @@ package com.fzm.common.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.entity.Draft; import com.fzm.common.entity.Draft;
import com.fzm.common.entity.dto.DraftDTO;
import java.util.List; import java.util.List;
...@@ -26,4 +27,12 @@ public interface DraftService extends IService<Draft> { ...@@ -26,4 +27,12 @@ public interface DraftService extends IService<Draft> {
* @return * @return
*/ */
Boolean delete(Integer id); Boolean delete(Integer id);
/**
* 保存草稿
*
* @param draft
* @return
*/
Integer saveDraft(DraftDTO draft);
} }
...@@ -3,6 +3,7 @@ package com.fzm.common.service.impl; ...@@ -3,6 +3,7 @@ package com.fzm.common.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
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.SystemConstant; import com.fzm.common.constant.SystemConstant;
import com.fzm.common.entity.*; import com.fzm.common.entity.*;
...@@ -303,4 +304,11 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper, ...@@ -303,4 +304,11 @@ public class CopyrightApplyServiceImpl extends ServiceImpl<CopyrightApplyMapper,
return updateById(copyright); return updateById(copyright);
} }
@Override
public int getSuccessCount() {
QueryWrapper<CopyrightApply> wrapper = new QueryWrapper<>();
wrapper.eq("register_state", CopyrightApplyStateEnum.SUCCEEDED.getCode());
return this.count(wrapper);
}
} }
...@@ -23,19 +23,8 @@ public class CopyrightAuthorityRelationServiceImpl extends ServiceImpl<Copyright ...@@ -23,19 +23,8 @@ public class CopyrightAuthorityRelationServiceImpl extends ServiceImpl<Copyright
@Override @Override
public Integer delByCopyrightId(Integer copyrightId) { public Integer delByCopyrightId(Integer copyrightId) {
UpdateWrapper<CopyrightAuthorityRelation> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<CopyrightAuthorityRelation> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("copyrightId", copyrightId); updateWrapper.eq("copyright_id", copyrightId);
return copyrightAuthorityRelationMapper.delete(updateWrapper); return copyrightAuthorityRelationMapper.delete(updateWrapper);
} }
@Override
@Transactional(rollbackFor = RuntimeException.class)
public int insert(CopyrightAuthorityRelation copyrightAuthorityRelation) {
this.save(copyrightAuthorityRelation);
return 10 / 0;
}
protected int insert2(CopyrightAuthorityRelation copyrightAuthorityRelation) {
this.insert(copyrightAuthorityRelation);
return 0;
}
} }
package com.fzm.common.service.impl; package com.fzm.common.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
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.entity.CopyrightApply;
import com.fzm.common.entity.Draft; import com.fzm.common.entity.Draft;
import com.fzm.common.entity.dto.CopyrightDTO; import com.fzm.common.entity.dto.CopyrightDTO;
import com.fzm.common.entity.dto.DraftDTO;
import com.fzm.common.enums.CopyrightApplyStateEnum;
import com.fzm.common.enums.ResultCode; import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException; import com.fzm.common.exception.GlobalException;
import com.fzm.common.mapper.DraftMapper; import com.fzm.common.mapper.DraftMapper;
import com.fzm.common.service.DraftService; import com.fzm.common.service.*;
import com.fzm.common.utils.JsonUtil;
import com.fzm.common.utils.OssUtil; import com.fzm.common.utils.OssUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -31,6 +34,18 @@ public class DraftServiceImpl extends ServiceImpl<DraftMapper, Draft> implements ...@@ -31,6 +34,18 @@ public class DraftServiceImpl extends ServiceImpl<DraftMapper, Draft> implements
@Resource @Resource
private OssUtil ossUtil; private OssUtil ossUtil;
@Resource
private CopyrightApplyService copyrightApplyService;
@Resource
private CopyrightFileService copyrightFileService;
@Resource
private CopyrightAuthorityRelationService copyrightAuthorityRelationService;
@Resource
private CopyrightAuthorService copyrightAuthorService;
@Override @Override
public List<Draft> getByUserId(Integer userId) { public List<Draft> getByUserId(Integer userId) {
QueryWrapper<Draft> wrapper = new QueryWrapper<>(); QueryWrapper<Draft> wrapper = new QueryWrapper<>();
...@@ -85,4 +100,20 @@ public class DraftServiceImpl extends ServiceImpl<DraftMapper, Draft> implements ...@@ -85,4 +100,20 @@ public class DraftServiceImpl extends ServiceImpl<DraftMapper, Draft> implements
} }
return draftMapper.deleteById(id) > 0; return draftMapper.deleteById(id) > 0;
} }
@Override
public Integer saveDraft(DraftDTO draft) {
if (draft.getCopyrightId() != null) {
CopyrightApply copyright = copyrightApplyService.getById(draft.getCopyrightId());
if (copyright != null && copyright.getRegisterState().equals(CopyrightApplyStateEnum.WITHDRAW.getCode())) {
copyrightApplyService.removeById(draft.getCopyrightId());
copyrightAuthorService.delByCopyrightId(draft.getCopyrightId());
copyrightAuthorityRelationService.delByCopyrightId(draft.getCopyrightId());
}
}
Draft d = new Draft();
BeanUtil.copyProperties(draft, d, true);
this.save(d);
return d.getId();
}
} }
...@@ -3,7 +3,11 @@ package com.fzm.portal.controller; ...@@ -3,7 +3,11 @@ package com.fzm.portal.controller;
import com.fzm.common.annotation.Authentication; import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.CopyrightApply; import com.fzm.common.entity.CopyrightApply;
import com.fzm.common.entity.dto.CopyrightDTO; import com.fzm.common.entity.dto.CopyrightDTO;
import com.fzm.common.entity.vo.CopyrightStateVo;
import com.fzm.common.entity.vo.CopyrightVo; import com.fzm.common.entity.vo.CopyrightVo;
import com.fzm.common.enums.CopyrightApplyStateEnum;
import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException;
import com.fzm.common.model.ResponseModel; import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.CopyrightApplyService; import com.fzm.common.service.CopyrightApplyService;
import com.fzm.common.utils.JwtUtil; import com.fzm.common.utils.JwtUtil;
...@@ -78,4 +82,25 @@ public class CopyrightApplyController { ...@@ -78,4 +82,25 @@ public class CopyrightApplyController {
String content = copyrightApplyService.getById(id).getContent(); String content = copyrightApplyService.getById(id).getContent();
return ResponseModel.success(content); return ResponseModel.success(content);
} }
@GetMapping("evidence/count")
@ApiOperation(value = "获取存证数量")
public ResponseModel<Integer> getSuccessCount() {
int count = copyrightApplyService.getSuccessCount();
return ResponseModel.success(count);
}
@GetMapping(value = "/state")
@ApiOperation(value = "获取版权状态")
public ResponseModel<CopyrightStateVo> getCopyrightState(@RequestParam Integer id) {
CopyrightApply copyright = copyrightApplyService.getById(id);
if (copyright == null) {
throw GlobalException.newException(ResultCode.DATA_ERROR, "请核对后再重试");
}
CopyrightStateVo copyrightStateVo = new CopyrightStateVo(CopyrightApplyStateEnum.getByState(copyright.getRegisterState()), copyright.getRejectReason());
return ResponseModel.success(copyrightStateVo);
}
} }
...@@ -2,6 +2,7 @@ package com.fzm.portal.controller; ...@@ -2,6 +2,7 @@ package com.fzm.portal.controller;
import com.fzm.common.annotation.Authentication; import com.fzm.common.annotation.Authentication;
import com.fzm.common.entity.Draft; import com.fzm.common.entity.Draft;
import com.fzm.common.entity.dto.DraftDTO;
import com.fzm.common.entity.vo.CopyrightVo; import com.fzm.common.entity.vo.CopyrightVo;
import com.fzm.common.model.ResponseModel; import com.fzm.common.model.ResponseModel;
import com.fzm.common.service.DraftService; import com.fzm.common.service.DraftService;
...@@ -28,10 +29,10 @@ public class DraftController { ...@@ -28,10 +29,10 @@ public class DraftController {
@PostMapping("/save") @PostMapping("/save")
@ApiOperation(value = "保存草稿") @ApiOperation(value = "保存草稿")
public ResponseModel<Integer> save(@RequestHeader(value = "Authorization") String token, @RequestBody Draft draft) { public ResponseModel<Integer> save(@RequestHeader(value = "Authorization") String token, @RequestBody DraftDTO draft) {
draft.setUserId(JwtUtil.getUserIdFromToken(token)); draft.setUserId(JwtUtil.getUserIdFromToken(token));
draftService.save(draft); Integer id = draftService.saveDraft(draft);
return ResponseModel.success(draft.getId()); return ResponseModel.success(id);
} }
@GetMapping("/list") @GetMapping("/list")
......
...@@ -42,11 +42,7 @@ class LyPortalApplicationTests { ...@@ -42,11 +42,7 @@ class LyPortalApplicationTests {
@Resource @Resource
private CopyrightAuthorityRelationServiceImpl copyrightAuthorityRelationService; private CopyrightAuthorityRelationServiceImpl copyrightAuthorityRelationService;
@Test
void test1() {
CopyrightAuthorityRelation copyrightAuthorityRelation = new CopyrightAuthorityRelation(3, 5);
copyrightAuthorityRelationService.insert(copyrightAuthorityRelation);
}
@Test @Test
void contextLoads() { void contextLoads() {
......
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