Commit 24fabfc4 by 田超

Merge branch 'feautre/1003929' into 'master'

feat: [1003929] 版权保护新增清空授权码功能

See merge request rays/pcloud-book!1070
parents f73a68a1 64798e0e
package com.pcloud.book.copyright.biz; package com.pcloud.book.copyright.biz;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO; import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
import com.pcloud.book.copyright.dto.DeleteAuthCodeDTO;
import com.pcloud.book.copyright.entity.BookAuthCode; import com.pcloud.book.copyright.entity.BookAuthCode;
import com.pcloud.book.copyright.vo.CheckCodeParam; import com.pcloud.book.copyright.vo.CheckCodeParam;
import com.pcloud.book.copyright.vo.CheckIsAuthServeParam; import com.pcloud.book.copyright.vo.CheckIsAuthServeParam;
...@@ -83,4 +84,9 @@ public interface BookAuthCodeBiz { ...@@ -83,4 +84,9 @@ public interface BookAuthCodeBiz {
* @return * @return
*/ */
Map<String, Object> getCodeExcel(Long bookId, String codeIds, Long channelId, Long status, String systemCode, Long partyId, Integer authBookType); Map<String, Object> getCodeExcel(Long bookId, String codeIds, Long channelId, Long status, String systemCode, Long partyId, Integer authBookType);
/**
*一键删除未使用的授权码
*/
void deleteNoUsedAuthCode(DeleteAuthCodeDTO deleteAuthCodeDTO, Long adviserId);
} }
...@@ -19,6 +19,7 @@ import com.pcloud.book.copyright.dao.BookAuthCodeDao; ...@@ -19,6 +19,7 @@ import com.pcloud.book.copyright.dao.BookAuthCodeDao;
import com.pcloud.book.copyright.dao.BookAuthCodeImportRecordDao; import com.pcloud.book.copyright.dao.BookAuthCodeImportRecordDao;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO; import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
import com.pcloud.book.copyright.dto.BookAuthUserDTO; import com.pcloud.book.copyright.dto.BookAuthUserDTO;
import com.pcloud.book.copyright.dto.DeleteAuthCodeDTO;
import com.pcloud.book.copyright.entity.BookAuthCode; import com.pcloud.book.copyright.entity.BookAuthCode;
import com.pcloud.book.copyright.entity.BookAuthCodeImportRecord; import com.pcloud.book.copyright.entity.BookAuthCodeImportRecord;
import com.pcloud.book.copyright.entity.BookAuthUser; import com.pcloud.book.copyright.entity.BookAuthUser;
...@@ -585,4 +586,12 @@ public class BookAuthCodeBizImpl implements BookAuthCodeBiz { ...@@ -585,4 +586,12 @@ public class BookAuthCodeBizImpl implements BookAuthCodeBiz {
return fileUrl; return fileUrl;
} }
@Override
public void deleteNoUsedAuthCode(DeleteAuthCodeDTO deleteAuthCodeDTO, Long adviserId) {
List<Long> codeIds=bookAuthCodeDao.getCodeIdList(deleteAuthCodeDTO.getBookId(),deleteAuthCodeDTO.getChannelId(),adviserId,deleteAuthCodeDTO.getKeyWord(), deleteAuthCodeDTO.getAuthBookType());
if(CollectionUtils.isEmpty(codeIds)){
return;
}
this.batchDeleteCode(codeIds);
}
} }
...@@ -59,4 +59,6 @@ public interface BookAuthCodeDao extends BaseDao<BookAuthCode> { ...@@ -59,4 +59,6 @@ public interface BookAuthCodeDao extends BaseDao<BookAuthCode> {
* @return * @return
*/ */
BookAuthCode getByFullCode(String code); BookAuthCode getByFullCode(String code);
List<Long> getCodeIdList(Long bookId, Long channelId, Long adviserId, String keyWord, Integer authBookType);
} }
...@@ -98,4 +98,19 @@ public class BookAuthCodeDaoImpl extends BaseDaoImpl<BookAuthCode> implements Bo ...@@ -98,4 +98,19 @@ public class BookAuthCodeDaoImpl extends BaseDaoImpl<BookAuthCode> implements Bo
public BookAuthCode getByFullCode(String code) { public BookAuthCode getByFullCode(String code) {
return this.getSessionTemplate().selectOne(this.getStatement("getByFullCode"), code); return this.getSessionTemplate().selectOne(this.getStatement("getByFullCode"), code);
} }
@Override
public List<Long> getCodeIdList(Long bookId, Long channelId, Long adviserId, String keyWord, Integer authBookType) {
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("bookId",bookId);
paramMap.put("channelId",channelId);
paramMap.put("adviserId",adviserId);
paramMap.put("keyword",keyWord);
if(authBookType == null || authBookType.equals(0)) {
paramMap.put("isPaperBook", 1);
} else {
paramMap.put("isGroupBook", 1);
}
return this.getSqlSession().selectList(this.getStatement("getCodeIdList"), paramMap);
}
} }
package com.pcloud.book.copyright.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class DeleteAuthCodeDTO {
@ApiModelProperty("图书标识")
private Long bookId;
@ApiModelProperty("运营标识")
private Long channelId;
@ApiModelProperty("关键词")
private String keyWord;
@ApiModelProperty("书刊类型")
private Integer authBookType;
}
...@@ -101,4 +101,5 @@ public interface BookAuthCodeFacade { ...@@ -101,4 +101,5 @@ public interface BookAuthCodeFacade {
@RequestParam(required = false, value ="status") Long status, @RequestParam(required = false, value ="status") Long status,
@RequestParam(required = false,value = "authBookType")Integer authBookType) @RequestParam(required = false,value = "authBookType")Integer authBookType)
throws PermissionException, JsonParseException,BizException; throws PermissionException, JsonParseException,BizException;
} }
...@@ -3,6 +3,7 @@ package com.pcloud.book.copyright.facade.impl; ...@@ -3,6 +3,7 @@ package com.pcloud.book.copyright.facade.impl;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.copyright.biz.BookAuthCodeBiz; import com.pcloud.book.copyright.biz.BookAuthCodeBiz;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO; import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
import com.pcloud.book.copyright.dto.DeleteAuthCodeDTO;
import com.pcloud.book.copyright.facade.BookAuthCodeFacade; import com.pcloud.book.copyright.facade.BookAuthCodeFacade;
import com.pcloud.book.copyright.vo.CheckCodeParam; import com.pcloud.book.copyright.vo.CheckCodeParam;
import com.pcloud.book.copyright.vo.CheckIsAuthServeParam; import com.pcloud.book.copyright.vo.CheckIsAuthServeParam;
...@@ -146,4 +147,18 @@ public class BookAuthCodeFacadeImpl implements BookAuthCodeFacade { ...@@ -146,4 +147,18 @@ public class BookAuthCodeFacadeImpl implements BookAuthCodeFacade {
Map<String, Object> map = bookAuthCodeBiz.getCodeExcel(bookId,codeIds, channelId, status, systemCode, partyId, authBookType); Map<String, Object> map = bookAuthCodeBiz.getCodeExcel(bookId,codeIds, channelId, status, systemCode, partyId, authBookType);
return new ResponseDto<>(map); return new ResponseDto<>(map);
} }
/**
*一键删除未使用的授权码
*/
@PostMapping("deleteNoUsedAuthCode")
public ResponseDto<?> deleteNoUsedAuthCode(@RequestHeader("token")String token,
@RequestBody DeleteAuthCodeDTO deleteAuthCodeDTO) throws PermissionException, BizException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if(null==deleteAuthCodeDTO || null == deleteAuthCodeDTO.getBookId() || null == deleteAuthCodeDTO.getChannelId()){
throw new BookBizException(BookBizException.PARAM_IS_ERROR,"参数有误!");
}
bookAuthCodeBiz.deleteNoUsedAuthCode(deleteAuthCodeDTO,adviserId);
return new ResponseDto<>();
}
} }
...@@ -218,4 +218,27 @@ ...@@ -218,4 +218,27 @@
FULL_CODE = #{code} FULL_CODE = #{code}
</select> </select>
<select id="getCodeIdList" parameterType="map" resultType="Long">
SELECT
id
FROM
book_auth_code
WHERE
book_id = #{bookId}
AND channel_id = #{channelId}
AND adviser_id = #{adviserId}
and use_count = 0
<if test="keyword != null">
AND full_code LIKE CONCAT('%', #{keyword}, '%')
</if>
<if test="isPaperBook != null">
AND
is_paper_book = #{isPaperBook}
</if>
<if test="isGroupBook!=null">
AND
is_group_book = #{isGroupBook}
</if>
</select>
</mapper> </mapper>
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