Commit afab787a by 宋祥

Merge branch 'zdw' into 'master'

【ID1001144】版权保护查看序列号生成记录以及使用情况

See merge request rays/pcloud-book!53
parents bb8231c7 9a571a9f
package com.pcloud.book.copyright.dto;
import com.pcloud.common.dto.BaseDto;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
* @author hzk
* @date 2019/7/11 17:02
*/
@ApiModel
public class BookAuthCodeDTO extends BaseDto {
private static final long serialVersionUID = -2646713544720373882L;
private Long id;
@ApiModelProperty("图书标识")
private Long bookId;
@ApiModelProperty("运营标识")
private Long channelId;
@ApiModelProperty("编辑标识")
private Long adviserId;
@ApiModelProperty("授权码")
private String authCode;
@ApiModelProperty("批次号")
private String batchNum;
@ApiModelProperty("完整授权码")
private String fullCode;
@ApiModelProperty("使用次数")
private Integer useCount;
@ApiModelProperty("创建方式")
private Integer createType;
@ApiModelProperty("创建人")
private Long createdUser;
@ApiModelProperty("创建时间")
private Date createdDate;
@ApiModelProperty("最后修改人")
private Long lastModifiedUser;
@ApiModelProperty("最后修改时间")
private Date lastModifiedDate;
public String getFullCode() {
return fullCode;
}
public void setFullCode(String fullCode) {
this.fullCode = fullCode;
}
public Long getId() {
return id;
}
public String getBatchNum() {
return batchNum;
}
public void setBatchNum(String batchNum) {
this.batchNum = batchNum;
}
public void setId(Long id) {
this.id = id;
}
public Long getBookId() {
return bookId;
}
public void setBookId(Long bookId) {
this.bookId = bookId;
}
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public Long getAdviserId() {
return adviserId;
}
public void setAdviserId(Long adviserId) {
this.adviserId = adviserId;
}
public String getAuthCode() {
return authCode;
}
public void setAuthCode(String authCode) {
this.authCode = authCode;
}
public Integer getUseCount() {
return useCount;
}
public void setUseCount(Integer useCount) {
this.useCount = useCount;
}
public Integer getCreateType() {
return createType;
}
public void setCreateType(Integer createType) {
this.createType = createType;
}
@Override
public Long getCreatedUser() {
return createdUser;
}
@Override
public void setCreatedUser(Long createdUser) {
this.createdUser = createdUser;
}
@Override
public Date getCreatedDate() {
return createdDate;
}
@Override
public void setCreatedDate(Date createdDate) {
this.createdDate = createdDate;
}
@Override
public Long getLastModifiedUser() {
return lastModifiedUser;
}
@Override
public void setLastModifiedUser(Long lastModifiedUser) {
this.lastModifiedUser = lastModifiedUser;
}
@Override
public Date getLastModifiedDate() {
return lastModifiedDate;
}
@Override
public void setLastModifiedDate(Date lastModifiedDate) {
this.lastModifiedDate = lastModifiedDate;
}
@Override
public String toString() {
return "BookAuthCode{" +
"id=" + id +
", bookId=" + bookId +
", channelId=" + channelId +
", adviserId=" + adviserId +
", authCode='" + authCode + '\'' +
", batchNum='" + batchNum + '\'' +
", fullCode='" + fullCode + '\'' +
", useCount=" + useCount +
", createType=" + createType +
", createdUser=" + createdUser +
", createdDate=" + createdDate +
", lastModifiedUser=" + lastModifiedUser +
", lastModifiedDate=" + lastModifiedDate +
'}';
}
}
package com.pcloud.book.copyright.biz; package com.pcloud.book.copyright.biz;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
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;
...@@ -7,8 +8,10 @@ import com.pcloud.book.copyright.vo.FileVO; ...@@ -7,8 +8,10 @@ import com.pcloud.book.copyright.vo.FileVO;
import com.pcloud.book.copyright.vo.ImportRecordVO; import com.pcloud.book.copyright.vo.ImportRecordVO;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author lily * @author lily
...@@ -51,4 +54,33 @@ public interface BookAuthCodeBiz { ...@@ -51,4 +54,33 @@ public interface BookAuthCodeBiz {
* @Date:2019/5/22 18:02 * @Date:2019/5/22 18:02
*/ */
PageBeanNew<ImportRecordVO> importCodeRecord(Long bookId, Long channelId, Long adviserId, Integer currentPage, Integer numPerPage); PageBeanNew<ImportRecordVO> importCodeRecord(Long bookId, Long channelId, Long adviserId, Integer currentPage, Integer numPerPage);
/**
* 获取正版授权码
* @param bookId
* @param channelId
* @param keyword
* @param state
* @param pageParam
* @return
*/
PageBeanNew<BookAuthCodeDTO> getCodeList(Long bookId, Long channelId, Long adviserId, String keyword, Integer state, PageParam pageParam);
/**
* 批量删除正版授权码
* @param ids
*/
void batchDeleteCode(List<Long> ids);
/**
* 导出授权码
* @param bookId
* @param codeIds
* @param channelId
* @param status
* @param systemCode
* @param partyId
* @return
*/
Map<String, Object> getCodeExcel(Long bookId, String codeIds, Long channelId, Long status, String systemCode, Long partyId);
} }
...@@ -162,7 +162,9 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz { ...@@ -162,7 +162,9 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
insertExportRecord(bookId, channelId, adviserId, num); insertExportRecord(bookId, channelId, adviserId, num);
//获取图书名称 //获取图书名称
BookDto bookDto = bookBiz.getBaseById(bookId); BookDto bookDto = bookBiz.getBaseById(bookId);
if (bookDto == null) return; if (bookDto == null) {
return;
}
//获取随机数 //获取随机数
List<String> uuids = CopyrightTools.createShortUuidByCount(codeCount); List<String> uuids = CopyrightTools.createShortUuidByCount(codeCount);
List<BookAuthCode> bookAuthCodes = new ArrayList<>(); List<BookAuthCode> bookAuthCodes = new ArrayList<>();
...@@ -174,11 +176,12 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz { ...@@ -174,11 +176,12 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
bookAuthCode.setAuthCode(uuid); bookAuthCode.setAuthCode(uuid);
bookAuthCode.setFullCode(num+uuid); bookAuthCode.setFullCode(num+uuid);
bookAuthCode.setBatchNum(num); bookAuthCode.setBatchNum(num);
bookAuthCode.setCreateType(0);
bookAuthCode.setCreatedUser(adviserId); bookAuthCode.setCreatedUser(adviserId);
bookAuthCodes.add(bookAuthCode); bookAuthCodes.add(bookAuthCode);
} }
bookAuthCodeBiz.insert(bookAuthCodes); bookAuthCodeBiz.insert(bookAuthCodes);
String noticeUrl = ""; String noticeUrl;
if(isHaveBarCode == null || isHaveBarCode.equals(0)){ if(isHaveBarCode == null || isHaveBarCode.equals(0)){
String url = generateExcel(bookAuthCodes, bookDto.getBookName()); String url = generateExcel(bookAuthCodes, bookDto.getBookName());
String zipUrl = CopyrightTools.generateBar4Zip(bookAuthCodes, bookDto.getBookName(), url); String zipUrl = CopyrightTools.generateBar4Zip(bookAuthCodes, bookDto.getBookName(), url);
...@@ -187,7 +190,7 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz { ...@@ -187,7 +190,7 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
String url = generateExcel(bookAuthCodes, bookDto.getBookName()); String url = generateExcel(bookAuthCodes, bookDto.getBookName());
String zipUrl = CopyrightTools.generateQrcode4Zip(bookAuthCodes, bookDto.getBookName(), url); String zipUrl = CopyrightTools.generateQrcode4Zip(bookAuthCodes, bookDto.getBookName(), url);
noticeUrl = zipUrl; noticeUrl = zipUrl;
}else { } else {
String url = generateExcel(bookAuthCodes, bookDto.getBookName()); String url = generateExcel(bookAuthCodes, bookDto.getBookName());
noticeUrl = url; noticeUrl = url;
} }
...@@ -249,7 +252,9 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz { ...@@ -249,7 +252,9 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
@ParamLog("修改导出记录") @ParamLog("修改导出记录")
private void updateExportRecord(Long bookId, Long channelId, Long adviserId, String num, Integer exportStatus) { private void updateExportRecord(Long bookId, Long channelId, Long adviserId, String num, Integer exportStatus) {
if(StringUtil.isEmpty(num)) return; if(StringUtil.isEmpty(num)) {
return;
}
BookExportRecord bookExportRecord = new BookExportRecord(); BookExportRecord bookExportRecord = new BookExportRecord();
bookExportRecord.setBookId(bookId); bookExportRecord.setBookId(bookId);
bookExportRecord.setAdviserId(adviserId); bookExportRecord.setAdviserId(adviserId);
...@@ -402,7 +407,9 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz { ...@@ -402,7 +407,9 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
} }
private void removeNotInbook(List<ServeVO> serves, Long bookId, Long channelId, Long adviserId) { private void removeNotInbook(List<ServeVO> serves, Long bookId, Long channelId, Long adviserId) {
if (ListUtils.isEmpty(serves)) return; if (ListUtils.isEmpty(serves)) {
return;
}
List<Long> serveIds = new ArrayList<>(); List<Long> serveIds = new ArrayList<>();
for (ServeVO serveVO : serves) { for (ServeVO serveVO : serves) {
serveIds.add(serveVO.getServeId()); serveIds.add(serveVO.getServeId());
...@@ -466,6 +473,7 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz { ...@@ -466,6 +473,7 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
return bookAuthInfoWechatVO; return bookAuthInfoWechatVO;
} }
@Override
@ParamLog("获取授权图书信息") @ParamLog("获取授权图书信息")
public BookAuthInfoVO getAuthBookInfo(Long bookId, Long channelId, Long adviserId, Long sceneId){ public BookAuthInfoVO getAuthBookInfo(Long bookId, Long channelId, Long adviserId, Long sceneId){
if(bookId == null && adviserId == null && sceneId == null){ if(bookId == null && adviserId == null && sceneId == null){
......
...@@ -2,6 +2,9 @@ package com.pcloud.book.copyright.constants; ...@@ -2,6 +2,9 @@ package com.pcloud.book.copyright.constants;
import com.pcloud.common.constant.CacheConstant; import com.pcloud.common.constant.CacheConstant;
import java.util.HashMap;
import java.util.Map;
/** /**
* @author lily * @author lily
* @date 2018/12/5 21:08 * @date 2018/12/5 21:08
...@@ -10,4 +13,39 @@ public class CopyrightConstants { ...@@ -10,4 +13,39 @@ public class CopyrightConstants {
public static final String BOOK_AUTH_INFO = CacheConstant.BOOK + "BOOK_AUTH_INFO"; public static final String BOOK_AUTH_INFO = CacheConstant.BOOK + "BOOK_AUTH_INFO";
public enum CreateType{
/**
* 自动创建
*/
AUTO_CREATE(0,"自动创建"),
/**
* 批量导入
*/
BATCH_IMPORT(1, "批量导入");
private Integer value;
private String name;
CreateType(Integer value, String name){
this.value = value;
this.name = name;
}
public Integer getValue() {
return value;
}
public String getName() {
return name;
}
public static final Map<Integer, CreateType> CRATE_TYPE_MAP;
static {
CRATE_TYPE_MAP = new HashMap<>();
CRATE_TYPE_MAP.put(0, AUTO_CREATE);
CRATE_TYPE_MAP.put(1, BATCH_IMPORT);
}
}
} }
package com.pcloud.book.copyright.dao; package com.pcloud.book.copyright.dao;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
import com.pcloud.book.copyright.entity.BookAuthCode; import com.pcloud.book.copyright.entity.BookAuthCode;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import java.util.List;
import java.util.Map;
/** /**
* @author lily * @author lily
...@@ -22,4 +28,24 @@ public interface BookAuthCodeDao extends BaseDao<BookAuthCode> { ...@@ -22,4 +28,24 @@ public interface BookAuthCodeDao extends BaseDao<BookAuthCode> {
* 获取码数量 * 获取码数量
*/ */
Boolean getIsHaveCode(Long bookId, Long channelId, Long adviserId, String code); Boolean getIsHaveCode(Long bookId, Long channelId, Long adviserId, String code);
/**
* 批量删除正版授权码
* @param ids
*/
void batchDeleteCode(List<Long> ids);
/**
* 获取授权码列表
* @param paramMap
* @return
*/
List<BookAuthCodeDTO> getBookAuthCodeList(Map<String, Object> paramMap);
/**
* 根据主键获取授权码
* @param codeId
* @return
*/
BookAuthCodeDTO getBaseById(Long codeId);
} }
package com.pcloud.book.copyright.dao.impl; package com.pcloud.book.copyright.dao.impl;
import com.pcloud.book.copyright.dao.BookAuthCodeDao; import com.pcloud.book.copyright.dao.BookAuthCodeDao;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
import com.pcloud.book.copyright.entity.BookAuthCode; import com.pcloud.book.copyright.entity.BookAuthCode;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import com.pcloud.common.page.PageBeanNew;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -44,4 +47,21 @@ public class BookAuthCodeDaoImpl extends BaseDaoImpl<BookAuthCode> implements Bo ...@@ -44,4 +47,21 @@ public class BookAuthCodeDaoImpl extends BaseDaoImpl<BookAuthCode> implements Bo
paramMap.put("code",code); paramMap.put("code",code);
return this.getSqlSession().selectOne(this.getStatement("getIsHaveCode"), paramMap); return this.getSqlSession().selectOne(this.getStatement("getIsHaveCode"), paramMap);
} }
@Override
public void batchDeleteCode(List<Long> ids) {
this.getSqlSession().delete(this.getStatement("batchDeleteCode"), ids);
}
@Override
public List<BookAuthCodeDTO> getBookAuthCodeList(Map<String, Object> paramMap) {
return this.getSessionTemplate().selectList(this.getStatement("getBookAuthCodeList"), paramMap);
}
@Override
public BookAuthCodeDTO getBaseById(Long codeId) {
return this.getSessionTemplate().selectOne(this.getStatement("getBaseById"), codeId);
}
} }
...@@ -36,6 +36,9 @@ public class BookAuthCode extends BaseEntity { ...@@ -36,6 +36,9 @@ public class BookAuthCode extends BaseEntity {
@ApiModelProperty("使用次数") @ApiModelProperty("使用次数")
private Integer useCount; private Integer useCount;
@ApiModelProperty("创建方式")
private Integer createType;
@ApiModelProperty("创建人") @ApiModelProperty("创建人")
private Long createdUser; private Long createdUser;
...@@ -114,6 +117,14 @@ public class BookAuthCode extends BaseEntity { ...@@ -114,6 +117,14 @@ public class BookAuthCode extends BaseEntity {
this.useCount = useCount; this.useCount = useCount;
} }
public Integer getCreateType() {
return createType;
}
public void setCreateType(Integer createType) {
this.createType = createType;
}
public Long getCreatedUser() { public Long getCreatedUser() {
return createdUser; return createdUser;
} }
...@@ -157,6 +168,7 @@ public class BookAuthCode extends BaseEntity { ...@@ -157,6 +168,7 @@ public class BookAuthCode extends BaseEntity {
", batchNum='" + batchNum + '\'' + ", batchNum='" + batchNum + '\'' +
", fullCode='" + fullCode + '\'' + ", fullCode='" + fullCode + '\'' +
", useCount=" + useCount + ", useCount=" + useCount +
", createType=" + createType +
", createdUser=" + createdUser + ", createdUser=" + createdUser +
", createdDate=" + createdDate + ", createdDate=" + createdDate +
", lastModifiedUser=" + lastModifiedUser + ", lastModifiedUser=" + lastModifiedUser +
......
package com.pcloud.book.copyright.facade; package com.pcloud.book.copyright.facade;
import com.pcloud.book.copyright.dto.BookAuthCodeDTO;
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;
import com.pcloud.book.copyright.vo.CodeUseStatusVO; import com.pcloud.book.copyright.vo.CodeUseStatusVO;
...@@ -10,7 +11,11 @@ import com.pcloud.common.exceptions.BizException; ...@@ -10,7 +11,11 @@ import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.codehaus.jackson.JsonParseException;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
...@@ -18,6 +23,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -18,6 +23,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/** /**
* @author lily * @author lily
* @date 2018/11/29 16:58 * @date 2018/11/29 16:58
...@@ -44,4 +51,50 @@ public interface BookAuthCodeFacade { ...@@ -44,4 +51,50 @@ public interface BookAuthCodeFacade {
@RequestMapping(value = "importCodeRecord", method = RequestMethod.GET) @RequestMapping(value = "importCodeRecord", method = RequestMethod.GET)
ResponseDto<PageBeanNew<ImportRecordVO>> importCodeRecord(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam("currentPage") Integer currenPage, @RequestParam("numPerPage") Integer numPerPage) ResponseDto<PageBeanNew<ImportRecordVO>> importCodeRecord(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam("currentPage") Integer currenPage, @RequestParam("numPerPage") Integer numPerPage)
throws PermissionException, BizException; throws PermissionException, BizException;
@ApiOperation(value = "获取授权码列表", httpMethod = "GET")
@RequestMapping(value = "getCodeList", method = RequestMethod.GET)
ResponseDto<PageBeanNew<BookAuthCodeDTO>> getCodeList(@RequestHeader("token") String token,
@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam(required = false,value = "keyword")String keyword,
@RequestParam(required = false,value = "state")Integer state,
@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage)
throws PermissionException, BizException;
@ApiOperation(value = "批量删除正版授权码", httpMethod = "POST")
@RequestMapping(value = "batchDeleteCode", method = RequestMethod.POST)
ResponseDto<PageBeanNew<BookAuthCodeDTO>> batchDeleteCode(@RequestHeader("token") String token,
@RequestBody List<Long> ids)
throws PermissionException, BizException;
/**
* 导出授权码
* @param token
* @param bookId
* @param codeIds
* @param channelId
* @param status
* @return
* @throws PermissionException
* @throws JsonParseException
* @throws BizException
*/
@ApiOperation(value = "导出授权码", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "token",value = "token",dataType = "String",paramType = "header"),
@ApiImplicitParam(name = "bookId",value = "书ID",dataType = "long",paramType = "query"),
@ApiImplicitParam(name = "codeIds",value = "授权码ID(用“,”隔开)",dataType = "String",paramType = "query"),
@ApiImplicitParam(name = "channelId",value = "商品ID",dataType = "long",paramType = "query"),
@ApiImplicitParam(name = "status",value = "查询状态(0-全部导出,1-部分导出)",dataType = "long",paramType = "query")
})
@RequestMapping(value = "/exportCode",method = RequestMethod.GET)
ResponseDto<?> exportCode(@RequestHeader("token") String token,
@RequestParam(required = false, value ="bookId") Long bookId,
@RequestParam(required = false, value ="codeIds") String codeIds,
@RequestParam(required = false, value ="channelId") Long channelId,
@RequestParam(required = false, value ="status") Long status )
throws PermissionException, JsonParseException,BizException;
} }
package com.pcloud.book.copyright.facade.impl; package com.pcloud.book.copyright.facade.impl;
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.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;
...@@ -10,9 +12,14 @@ import com.pcloud.book.copyright.vo.ImportRecordVO; ...@@ -10,9 +12,14 @@ import com.pcloud.book.copyright.vo.ImportRecordVO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.SessionUtil; import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie; import com.pcloud.common.utils.cookie.Cookie;
import org.apache.commons.lang3.StringUtils;
import org.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -24,6 +31,9 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -24,6 +31,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/** /**
* @author lily * @author lily
* @date 2018/11/29 16:59 * @date 2018/11/29 16:59
...@@ -76,4 +86,60 @@ public class BookAuthCodeFacadeImpl implements BookAuthCodeFacade { ...@@ -76,4 +86,60 @@ public class BookAuthCodeFacadeImpl implements BookAuthCodeFacade {
PageBeanNew<ImportRecordVO> pageBean = bookAuthCodeBiz.importCodeRecord(bookId, channelId, adviserId, currenPage, numPerPage); PageBeanNew<ImportRecordVO> pageBean = bookAuthCodeBiz.importCodeRecord(bookId, channelId, adviserId, currenPage, numPerPage);
return new ResponseDto<>(pageBean); return new ResponseDto<>(pageBean);
} }
@Override
@GetMapping("getCodeList")
public ResponseDto<PageBeanNew<BookAuthCodeDTO>> getCodeList(@RequestHeader("token")String token,
@RequestParam(required = false,value = "bookId") Long bookId,
@RequestParam(required = false,value = "channelId")Long channelId,
@RequestParam(required = false,value = "keyword")String keyword,
@RequestParam(required = false,value = "state")Integer state,
@RequestParam(required = false,value = "currentPage")Integer currentPage,
@RequestParam(required = false,value = "numPerPage")Integer numPerPage) throws PermissionException, BizException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if(null == bookId || null == channelId){
throw new BookBizException(BookBizException.PARAM_IS_ERROR,"参数有误!");
}
if(null == currentPage || null == numPerPage){
throw new BookBizException(BookBizException.PARAM_IS_ERROR,"参数有误!");
}
PageParam pageParam = new PageParam(currentPage,numPerPage);
return new ResponseDto<>(bookAuthCodeBiz.getCodeList(bookId,channelId,adviserId,keyword,state,pageParam));
}
/**
* 批量删除正版授权码
* @param token
* @param ids
* @return
* @throws PermissionException
* @throws BizException
*/
@Override
public ResponseDto<PageBeanNew<BookAuthCodeDTO>> batchDeleteCode(@RequestHeader String token,
@RequestBody List<Long> ids) throws PermissionException, BizException {
if(ListUtils.isEmpty(ids)){
return new ResponseDto<>();
}
bookAuthCodeBiz.batchDeleteCode(ids);
return new ResponseDto<>();
}
@Override
@RequestMapping(value = "/exportCode", method = RequestMethod.GET)
public ResponseDto<?> exportCode(@RequestHeader("token") String token,
@RequestParam(required = false, value ="bookId") Long bookId,
@RequestParam(required = false, value ="codeIds") String codeIds,
@RequestParam(required = false, value ="channelId") Long channelId,
@RequestParam(required = false, value ="status") Long status )
throws PermissionException, JsonParseException, BizException {
String systemCode = (String) SessionUtil.getVlaue(token, SessionUtil.SYSTEM_CODE);
Long partyId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
//校验参数
if (null == status || null == bookId || null == channelId) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "参数错误");
}
Map<String, Object> map = bookAuthCodeBiz.getCodeExcel(bookId,codeIds, channelId, status, systemCode, partyId);
return new ResponseDto<>(map);
}
} }
...@@ -4,13 +4,13 @@ ...@@ -4,13 +4,13 @@
<insert id="batchInsert" useGeneratedKeys="true" parameterType="java.util.List"> <insert id="batchInsert" useGeneratedKeys="true" parameterType="java.util.List">
INSERT INTO BOOK_AUTH_CODE ( INSERT INTO BOOK_AUTH_CODE (
BOOK_ID, CHANNEL_ID,ADVISER_ID,BATCH_NUM,AUTH_CODE,FULL_CODE,CREATED_USER, CREATED_DATE BOOK_ID, CHANNEL_ID,ADVISER_ID,BATCH_NUM,AUTH_CODE,FULL_CODE,CREATE_TYPE,CREATED_USER, CREATED_DATE
) )
VALUES VALUES
<foreach collection="list" item="item" index="index" separator="," > <foreach collection="list" item="item" index="index" separator="," >
(#{item.bookId,jdbcType=BIGINT}, #{item.channelId,jdbcType=BIGINT}, #{item.adviserId,jdbcType=BIGINT}, (#{item.bookId,jdbcType=BIGINT}, #{item.channelId,jdbcType=BIGINT}, #{item.adviserId,jdbcType=BIGINT},
#{item.batchNum,jdbcType=VARCHAR},#{item.authCode,jdbcType=VARCHAR},#{item.fullCode,jdbcType=VARCHAR}, #{item.batchNum,jdbcType=VARCHAR},#{item.authCode,jdbcType=VARCHAR},#{item.fullCode,jdbcType=VARCHAR},
#{item.adviserId,jdbcType=BIGINT}, NOW()) #{item.createType,jdbcType=TINYINT},#{item.adviserId,jdbcType=BIGINT}, NOW())
</foreach> </foreach>
</insert> </insert>
...@@ -60,4 +60,78 @@ ...@@ -60,4 +60,78 @@
AND AND
FULL_CODE = #{code} FULL_CODE = #{code}
</select> </select>
<select id="getCodeList" parameterType="map" resultType="com.pcloud.book.copyright.dto.BookAuthCodeDTO">
SELECT
id id,
book_id bookId,
channel_id channelId,
adviser_id adviserId,
auth_code authCode,
batch_num batchNum,
full_code fullCode,
use_count useCount,
create_type createType,
created_date createdDate
FROM
book_auth_code
WHERE
book_id = #{bookId}
AND channel_id = #{channelId}
AND adviser_id = #{adviserId}
<if test="keyword != null">
AND full_code LIKE CONCAT('%', #{keyword}, '%')
</if>
<if test="state != null">
<choose>
<when test="state == 0">
and use_count = 0
</when>
<otherwise>
and use_count > 0
</otherwise>
</choose>
</if>
order by created_date desc
</select>
<delete id="batchDeleteCode" parameterType="list">
DELETE FROM book_auth_code
WHERE id in
<foreach collection="list" open="(" item="item" close=")" separator=",">
${item}
</foreach>
AND use_count = 0
</delete>
<select id="getBookAuthCodeList" parameterType="map" resultType="com.pcloud.book.copyright.dto.BookAuthCodeDTO">
select
book_id bookId,
channel_id channelId,
adviser_id adviserId,
create_type createType,
auth_code authCode,
batch_num batchNum,
full_code fullCode,
use_count useCount,
created_date createdDate
from book_auth_code
where book_id= #{bookId,jdbcType=BIGINT} and channel_id = #{channelId} and adviser_id = #{adviserId}
LIMIT #{currentPage},#{numPerPage}
</select>
<select id="getBaseById" parameterType="long" resultType="com.pcloud.book.copyright.dto.BookAuthCodeDTO">
select
book_id bookId,
channel_id channelId,
adviser_id adviserId,
create_type createType,
auth_code authCode,
batch_num batchNum,
full_code fullCode,
use_count useCount,
created_date createdDate
from book_auth_code
where id = #{codeId}
</select>
</mapper> </mapper>
\ No newline at end of file
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