Commit 7a5bb907 by lixue123

做书流程优化

parent 599f8d34
package com.pcloud.book.book.dto;
import java.io.Serializable;
import java.util.List;
public class BookAdviserUpdateTimeDTO implements Serializable {
private Long bookId;
private Long adviserId;
private Long channelId;
private List<Long> bookIds;
public Long getBookId() {
return bookId;
}
public void setBookId(Long bookId) {
this.bookId = bookId;
}
public Long getAdviserId() {
return adviserId;
}
public void setAdviserId(Long adviserId) {
this.adviserId = adviserId;
}
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public List<Long> getBookIds() {
return bookIds;
}
public void setBookIds(List<Long> bookIds) {
this.bookIds = bookIds;
}
@Override
public String toString() {
return "BookAdviserUpdateTimeDTO{" +
"bookId=" + bookId +
", adviserId=" + adviserId +
", channelId=" + channelId +
", bookIds=" + bookIds +
'}';
}
}
...@@ -369,16 +369,75 @@ public class BookDto extends BaseDto { ...@@ -369,16 +369,75 @@ public class BookDto extends BaseDto {
* 待审核数量 * 待审核数量
*/ */
private Long noAuditNum; private Long noAuditNum;
private String transferor;
// 二维码相关信息
private String qrcodeUrl;
/** /**
* 转让方 * 配置服务个数
*/ */
private String transferor; private Integer messageCount;
/**
* 印码位置
*/
private String location;
/**
* 二维码名字
*/
private String sceneName;
/**
* 二维码导读字段
*/
private String qrRemark;
public String getQrRemark() {
return qrRemark;
}
public void setQrRemark(String qrRemark) {
this.qrRemark = qrRemark;
}
public String getSceneName() {
return sceneName;
}
public void setSceneName(String sceneName) {
this.sceneName = sceneName;
}
public String getQrcodeUrl() {
return qrcodeUrl;
}
public void setQrcodeUrl(String qrcodeUrl) {
this.qrcodeUrl = qrcodeUrl;
}
public Integer getMessageCount() {
return messageCount;
}
public void setMessageCount(Integer messageCount) {
this.messageCount = messageCount;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getTransferor() { return transferor; } public String getTransferor() { return transferor; }
public void setTransferor(String transferor) { this.transferor = transferor; } public void setTransferor(String transferor) { this.transferor = transferor; }
public Long getNoAuditNum() { public Long getNoAuditNum() {
return noAuditNum; return noAuditNum;
} }
......
...@@ -3,17 +3,6 @@ ...@@ -3,17 +3,6 @@
*/ */
package com.pcloud.book.book.facade; package com.pcloud.book.book.facade;
import java.util.List;
import org.codehaus.jackson.JsonParseException;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
...@@ -21,11 +10,15 @@ import com.pcloud.common.dto.ResponseDto; ...@@ -21,11 +10,15 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBean; import com.pcloud.common.page.PageBean;
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.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.codehaus.jackson.JsonParseException;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* @描述:书籍接口 * @描述:书籍接口
...@@ -271,6 +264,12 @@ public interface BookFacade { ...@@ -271,6 +264,12 @@ public interface BookFacade {
@RequestParam(value = "templetId", required = false) Long templetId) @RequestParam(value = "templetId", required = false) Long templetId)
throws BizException, PermissionException, JsonParseException; throws BizException, PermissionException, JsonParseException;
@ApiOperation(value = "首页获取正在做的图书",httpMethod = "GET")
@ApiImplicitParams({@ApiImplicitParam(name = "token", value = "token", dataType = "string", paramType = "header"),
@ApiImplicitParam(name = "num",value = "个数",dataType = "Integer",paramType = "query")})
@GetMapping("getList4Adviser")
ResponseDto<List<BookDto>> getList4Adviser(@RequestHeader("token") String token,@RequestParam(value = "num",required = true) Integer num)throws BizException, PermissionException, JsonParseException;
/** /**
* 获取书籍的详细信息(微信客户端) * 获取书籍的详细信息(微信客户端)
* *
...@@ -789,9 +788,9 @@ public interface BookFacade { ...@@ -789,9 +788,9 @@ public interface BookFacade {
@ApiImplicitParam(name = "typeCode", value = "图书类型", dataType = "string", paramType = "query")}) @ApiImplicitParam(name = "typeCode", value = "图书类型", dataType = "string", paramType = "query")})
@RequestMapping(value = "getByIsbnAndTypeCode", method = RequestMethod.GET) @RequestMapping(value = "getByIsbnAndTypeCode", method = RequestMethod.GET)
public ResponseDto<BookDto> getByIsbnAndTypeCode(@RequestHeader("token") String token, public ResponseDto<BookDto> getByIsbnAndTypeCode(@RequestHeader("token") String token,
@RequestParam(value = "isbn", required = false) String isbn, @RequestParam(value = "isbn") String isbn,
@RequestParam(value = "typeCode", required = false) String typeCode) @RequestParam(value = "typeCode") String typeCode)
throws BizException, PermissionException, JsonParseException; throws BizException, PermissionException, JsonParseException ;
/** /**
* 新增书籍(编辑) * 新增书籍(编辑)
...@@ -849,4 +848,15 @@ public interface BookFacade { ...@@ -849,4 +848,15 @@ public interface BookFacade {
@RequestMapping(value = "checkISBN4App", method = RequestMethod.GET) @RequestMapping(value = "checkISBN4App", method = RequestMethod.GET)
ResponseDto<Boolean> checkISBN4App(@RequestHeader("token") String token, @RequestParam String isbn) throws PermissionException; ResponseDto<Boolean> checkISBN4App(@RequestHeader("token") String token, @RequestParam String isbn) throws PermissionException;
@ApiOperation(value = "根据渠道ID分页获取图书列表",httpMethod = "GET")
@ApiImplicitParams({@ApiImplicitParam(name = "token", value = "token", dataType = "String", paramType = "header"),
@ApiImplicitParam(name = "channelId", value = "渠道标识", dataType = "Long", paramType = "query"),
@ApiImplicitParam(name = "currentPage", value = "当前页数", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "int", paramType = "query") })
@GetMapping("getBookListByChannelId4Adviser")
ResponseDto<PageBean> getBookListByChannelId4Adviser(@RequestHeader("token") String token, @RequestParam(value =
"currentPage", required = true) Integer currentPage, @RequestParam(value = "numPerPage", required = true)
Integer numPerPage, @RequestParam(value = "channelId", required = true) Long channelId) throws
PermissionException, JsonParseException, BizException;
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
*/ */
package com.pcloud.book.book.service; package com.pcloud.book.book.service;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -178,5 +179,17 @@ public interface BookService { ...@@ -178,5 +179,17 @@ public interface BookService {
@RequestParam(value = "adviserId") Long adviserId, @RequestParam(value = "adviserId") Long adviserId,
@RequestParam(value = "channelId") Long channelId, @RequestParam(value = "channelId") Long channelId,
@RequestParam(value = "bookId") Long bookId) throws BizException; @RequestParam(value = "bookId") Long bookId) throws BizException;
@ApiOperation(value = "修改图书时间", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "bookId", value = "图书标识", dataType = "long", paramType = "query")})
@RequestMapping(value = "/updateTimeById", method = RequestMethod.GET)
public void updateTimeById(@RequestParam(value = "bookId")Long bookId)throws BizException;
@ApiOperation(value = "修改图书时间--批量", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "bookIds", value = "图书标识", dataType = "List<Long>", paramType = "body")})
@RequestMapping(value = "/updateTimeByIds", method = RequestMethod.POST)
public void updateTimeByIds(@RequestBody BookAdviserUpdateTimeDTO bookAdviserUpdateTimeDTO)throws BizException;
} }
...@@ -7,6 +7,7 @@ import java.io.IOException; ...@@ -7,6 +7,7 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
...@@ -176,6 +177,14 @@ public interface BookBiz { ...@@ -176,6 +177,14 @@ public interface BookBiz {
PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException; PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException;
/** /**
* 首页展示正在做的图书
* @param adviserId
* @param num
* @return
* @throws BizException
*/
List<BookDto> getList4Adviser(Long adviserId,Integer num) throws BizException;
/**
* 微信端获取书籍列表(编辑) * 微信端获取书籍列表(编辑)
* *
* @param paramMap * @param paramMap
...@@ -472,4 +481,26 @@ public interface BookBiz { ...@@ -472,4 +481,26 @@ public interface BookBiz {
* @return * @return
*/ */
Boolean checkISBN4App(String isbn); Boolean checkISBN4App(String isbn);
/**
* @param partyId 编辑ID
* @param channelId 渠道ID
* @param pageParam 分页参数
* @return
* @throws BizException
*/
PageBean getBookBaseInfoListByChannelId4Adviser(Long partyId,Long channelId,PageParam pageParam) throws BizException;
/**
* 修改时间
* @param bookId
* @throws BizException
*/
void updateTimeById(Long bookId)throws BizException;
/**
* 根据ID批量修改时间
* @param bookAdviserUpdateTimeDTO
* @throws BizException
*/
void updateTimeByIds(BookAdviserUpdateTimeDTO bookAdviserUpdateTimeDTO)throws BizException;
} }
...@@ -3,11 +3,12 @@ ...@@ -3,11 +3,12 @@
*/ */
package com.pcloud.book.book.biz; package com.pcloud.book.book.biz;
import java.util.List;
import com.pcloud.book.book.dto.BookTypeDto; import com.pcloud.book.book.dto.BookTypeDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import java.util.List;
import java.util.Map;
/** /**
* @描述: * @描述:
* *
......
...@@ -3,25 +3,6 @@ ...@@ -3,25 +3,6 @@
*/ */
package com.pcloud.book.book.biz.impl; package com.pcloud.book.book.biz.impl;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import com.pcloud.common.core.constant.AgentTypeEnum;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.analysisengine.qrcode.dto.BookTimeSourceDto; import com.pcloud.analysisengine.qrcode.dto.BookTimeSourceDto;
...@@ -29,30 +10,23 @@ import com.pcloud.appcenter.base.exception.AppBizException; ...@@ -29,30 +10,23 @@ import com.pcloud.appcenter.base.exception.AppBizException;
import com.pcloud.book.base.enums.BookFreezeEnum; import com.pcloud.book.base.enums.BookFreezeEnum;
import com.pcloud.book.base.enums.BookTypeEnum; import com.pcloud.book.base.enums.BookTypeEnum;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookAdviserBiz; import com.pcloud.book.book.biz.*;
import com.pcloud.book.book.biz.BookAppBiz;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.biz.BookFreezeBiz;
import com.pcloud.book.book.biz.BookFundBiz;
import com.pcloud.book.book.biz.BookProductBiz;
import com.pcloud.book.book.biz.BookResourceBiz;
import com.pcloud.book.book.cache.BookCache; import com.pcloud.book.book.cache.BookCache;
import com.pcloud.book.book.constant.BookConstant; import com.pcloud.book.book.constant.BookConstant;
import com.pcloud.book.book.dao.BookDao; import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookFreezeDto;
import com.pcloud.book.book.dto.BookFundDto;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.BookAdviser; import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.set.BookSet; import com.pcloud.book.book.set.BookSet;
import com.pcloud.book.consumer.analysisengine.SceneRecordConsr; import com.pcloud.book.consumer.analysisengine.SceneRecordConsr;
import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.isbn.IsbnConsr; import com.pcloud.book.consumer.isbn.IsbnConsr;
import com.pcloud.book.consumer.user.AdviserConsr; import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.consumer.user.AgentConsr; import com.pcloud.book.consumer.user.AgentConsr;
import com.pcloud.book.consumer.user.ChannelConsr; import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.consumer.user.PartyConsr; import com.pcloud.book.consumer.user.PartyConsr;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.AgentTypeEnum; import com.pcloud.common.core.constant.AgentTypeEnum;
import com.pcloud.common.core.constant.SystemCode; import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -62,6 +36,18 @@ import com.pcloud.common.page.PageParam; ...@@ -62,6 +36,18 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.DateUtils; import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/** /**
* @描述:书籍业务层接口实现类 * @描述:书籍业务层接口实现类
...@@ -108,6 +94,8 @@ public class BookBizImpl implements BookBiz { ...@@ -108,6 +94,8 @@ public class BookBizImpl implements BookBiz {
private PartyConsr partyConsr; private PartyConsr partyConsr;
@Autowired @Autowired
private BookFreezeBiz bookFreezeBiz; private BookFreezeBiz bookFreezeBiz;
@Autowired
private AssistTempletConsr assistTempletConsr;
/** /**
* 创建书籍,同时建立与编辑的推广关系 * 创建书籍,同时建立与编辑的推广关系
...@@ -479,6 +467,10 @@ public class BookBizImpl implements BookBiz { ...@@ -479,6 +467,10 @@ public class BookBizImpl implements BookBiz {
bookSet.setFreezeStatus(bookDto); bookSet.setFreezeStatus(bookDto);
// 设置父模板标识 // 设置父模板标识
bookSet.setTempleParentId(bookDto); bookSet.setTempleParentId(bookDto);
// 设置模板名字
bookSet.setTemplateName(bookDto);
// 设置二维码个数
bookDto.setQrcodeCount(qrcodeSceneConsr.getBookQRCountByMap(adviserId,channelId,bookId));
LOGGER.info("【书籍基础】获取单个书籍基础信息(包含统计信息),<END>"); LOGGER.info("【书籍基础】获取单个书籍基础信息(包含统计信息),<END>");
return bookDto; return bookDto;
} }
...@@ -555,7 +547,7 @@ public class BookBizImpl implements BookBiz { ...@@ -555,7 +547,7 @@ public class BookBizImpl implements BookBiz {
Integer freezeStatus = BookFreezeEnum.WAIT_FREEZE.value; Integer freezeStatus = BookFreezeEnum.WAIT_FREEZE.value;
Boolean isFundSupport = false; Boolean isFundSupport = false;
BookFreezeDto bf = bookFreezeBiz.getById(bookDto.getBookId()); BookFreezeDto bf = bookFreezeBiz.getById(bookDto.getBookId());
String transferor = bf == null ?null:bf.getTransferor(); String transferor = bf == null ? null : bf.getTransferor();
if (!ListUtils.isEmpty(bookFunds)) { if (!ListUtils.isEmpty(bookFunds)) {
for (BookFundDto bookFundDto : bookFunds) { for (BookFundDto bookFundDto : bookFunds) {
if(StringUtil.isEmpty(transferor)){ if(StringUtil.isEmpty(transferor)){
...@@ -631,6 +623,13 @@ public class BookBizImpl implements BookBiz { ...@@ -631,6 +623,13 @@ public class BookBizImpl implements BookBiz {
@Override @Override
public PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException { public PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException {
LOGGER.info("【书籍应用】获取书籍列表,<START>.[paramMap]=" + paramMap.toString()); LOGGER.info("【书籍应用】获取书籍列表,<START>.[paramMap]=" + paramMap.toString());
Long templeId = (Long) paramMap.get("templetId");
if(null != templeId){
List<Long> ids = assistTempletConsr.getChildIdListByParentId(templeId);
if(!ListUtils.isEmpty(ids)){
paramMap.put("templeIds",ids);
}
}
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser"); PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) { if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBean(0, 0, new ArrayList<>()); return new PageBean(0, 0, new ArrayList<>());
...@@ -646,10 +645,38 @@ public class BookBizImpl implements BookBiz { ...@@ -646,10 +645,38 @@ public class BookBizImpl implements BookBiz {
bookSet.setIsRelationQrcodeAndCount(pageBean.getRecordList(),adviserId); bookSet.setIsRelationQrcodeAndCount(pageBean.getRecordList(),adviserId);
//设置图书收益 //设置图书收益
bookSet.setBookIncome(pageBean.getRecordList()); bookSet.setBookIncome(pageBean.getRecordList());
// 设置二维码相关信息
bookSet.setQrInfo(pageBean.getRecordList());
LOGGER.info("【书籍应用】获取书籍列表,<END>"); LOGGER.info("【书籍应用】获取书籍列表,<END>");
return pageBean; return pageBean;
} }
@ParamLog(description = "首页展示正在做的图书")
@Override
public List<BookDto> getList4Adviser(Long adviserId, Integer num) throws BizException {
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("adviserId",adviserId);
paramMap.put("num",num);
paramMap.put("isbns",BookConstant.DEFAULT_BOOK_ISBN);
List<BookDto> bookDtos = bookDao.getList4Adviser(paramMap);
if(!ListUtils.isEmpty(bookDtos)){
// 填充渠道基础信息
bookSet.setChannelInfoList(Lists.newArrayList(bookDtos));
bookSet.setBookSvUvPv4Object(Lists.newArrayList(bookDtos));
// 填充模板信息
bookSet.setTemplateName(Lists.newArrayList(bookDtos));
// 设置是否被冻结
bookSet.setFreezeStatus(Lists.newArrayList(bookDtos));
// 设置图书是否关联二维码
bookSet.setIsRelationQrcodeAndCount(Lists.newArrayList(bookDtos),adviserId);
//设置图书收益
bookSet.setBookIncome(Lists.newArrayList(bookDtos));
// 设置二维码相关信息
bookSet.setQrInfo(Lists.newArrayList(bookDtos));
}
return bookDtos;
}
/** /**
* 微信端获取书籍列表(编辑) * 微信端获取书籍列表(编辑)
*/ */
...@@ -1263,6 +1290,8 @@ public class BookBizImpl implements BookBiz { ...@@ -1263,6 +1290,8 @@ public class BookBizImpl implements BookBiz {
LOGGER.info("导出平台下所有书刊excel表(平台端)<END>"); LOGGER.info("导出平台下所有书刊excel表(平台端)<END>");
} }
/** /**
* 获取图书基本信息(编辑 - 运营 - 图书) * 获取图书基本信息(编辑 - 运营 - 图书)
*/ */
...@@ -1292,12 +1321,11 @@ public class BookBizImpl implements BookBiz { ...@@ -1292,12 +1321,11 @@ public class BookBizImpl implements BookBiz {
throw new AppBizException(AppBizException.PARAM_IS_NULL, "请选择书刊"); throw new AppBizException(AppBizException.PARAM_IS_NULL, "请选择书刊");
} }
BookDto bookDto = bookDao.getByIsbn(isbn); BookDto bookDto = bookDao.getByIsbn(isbn);
if (BookTypeEnum.BOOK.value.equals(typeCode) && bookDto == null) { /* if (BookTypeEnum.BOOK.value.equals(typeCode) && bookDto == null) {
// 调用外部接口查询书籍信息 // 调用外部接口查询书籍信息
insertBook(isbn); insertBook(isbn);
bookDto = bookDao.getByIsbn(isbn); bookDto = bookDao.getByIsbn(isbn);
} }*/
LOGGER.info("【书刊基础】根据ISBN获取书刊信息,<END>.[bookDto]=" + bookDto); LOGGER.info("【书刊基础】根据ISBN获取书刊信息,<END>.[bookDto]=" + bookDto);
return bookDto; return bookDto;
} }
...@@ -1377,9 +1405,58 @@ public class BookBizImpl implements BookBiz { ...@@ -1377,9 +1405,58 @@ public class BookBizImpl implements BookBiz {
bookSet.checkISBNEx(BookTypeEnum.BOOK.value, isbn); bookSet.checkISBNEx(BookTypeEnum.BOOK.value, isbn);
return true; return true;
} }
Long getAgentIdByType(){ Long getAgentIdByType(){
Long checkAgentId = agentConsr.getAgentIdByType(AgentTypeEnum.AGENT_TYPE_WYS.getCode()); Long checkAgentId = agentConsr.getAgentIdByType(AgentTypeEnum.AGENT_TYPE_WYS.getCode());
return checkAgentId; return checkAgentId;
} }
/**
* 根据渠道ID分页获取图书列表
*/
@ParamLog(description = "根据渠道ID分页获取图书列表")
@Override
public PageBean getBookBaseInfoListByChannelId4Adviser(Long partyId,Long channelId, PageParam pageParam) throws BizException {
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("adviserId",partyId);
paramMap.put("channelId",channelId);
/*paramMap.put("typeCode",BookTypeEnum.BOOK.value);*/
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser");
if (null == pageBean || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBean(0, 0, Lists.newArrayList());
}else{
// 设置模板名字
bookSet.setTemplateName(pageBean.getRecordList());
}
return pageBean;
}
@Transactional(rollbackFor = Exception.class)
@ParamLog(description = "根据ID修改时间")
@Override
public void updateTimeById(Long bookId) throws BizException {
if(null == bookId){
return;
}
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("bookId",bookId);
bookDao.updateTimeById(paramMap);
}
@Transactional(rollbackFor = Exception.class)
@ParamLog(description = "批量根据ID修改时间")
@Override
public void updateTimeByIds(BookAdviserUpdateTimeDTO bookAdviserUpdateTimeDTO) throws BizException {
if(ListUtils.isEmpty(bookAdviserUpdateTimeDTO.getBookIds()) && null == bookAdviserUpdateTimeDTO.getBookId() ){
return;
}
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("adviserId",bookAdviserUpdateTimeDTO.getAdviserId());
paramMap.put("channelId",bookAdviserUpdateTimeDTO.getChannelId());
if(null != bookAdviserUpdateTimeDTO.getBookId()){
paramMap.put("bookId",bookAdviserUpdateTimeDTO.getBookId());
}else{
paramMap.put("bookIds",bookAdviserUpdateTimeDTO.getBookIds());
}
bookDao.updateTimeByIds(paramMap);
}
} }
...@@ -244,4 +244,23 @@ public interface BookDao extends BaseDao<Book> { ...@@ -244,4 +244,23 @@ public interface BookDao extends BaseDao<Book> {
*/ */
BookDto getByIsbnAndSnum(String isbn, String serialNumber); BookDto getByIsbnAndSnum(String isbn, String serialNumber);
/**
* 获取图书信息
* @param param
* @return
*/
List<BookDto> getList4Adviser(Map<String, Object> param);
/**
* 修改时间
* @param param
*/
void updateTimeById(Map<String, Object> param);
/**
* 批量修改时间
* @param param
*/
void updateTimeByIds(Map<String, Object> param);
} }
...@@ -3,17 +3,16 @@ ...@@ -3,17 +3,16 @@
*/ */
package com.pcloud.book.book.dao.impl; package com.pcloud.book.book.dao.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.book.dao.BookDao; import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @描述:书籍数据访问层实现类 * @描述:书籍数据访问层实现类
...@@ -243,5 +242,19 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao { ...@@ -243,5 +242,19 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
paramMap.put("serialNumber", serialNumber); paramMap.put("serialNumber", serialNumber);
return super.getSqlSession().selectOne(this.getStatement("getByIsbnAndSnum"), paramMap); return super.getSqlSession().selectOne(this.getStatement("getByIsbnAndSnum"), paramMap);
} }
@Override
public List<BookDto> getList4Adviser(Map<String, Object> param) {
return super.getSqlSession().selectList(this.getStatement("getListPage4Adviser"),param);
}
@Override
public void updateTimeById(Map<String, Object> param) {
super.getSqlSession().update(super.getStatement("updateTimeById"),param);
}
@Override
public void updateTimeByIds(Map<String, Object> param) {
super.getSqlSession().update(super.getStatement("updateTimeByIds"),param);
}
} }
...@@ -3,26 +3,8 @@ ...@@ -3,26 +3,8 @@
*/ */
package com.pcloud.book.book.facade.impl; package com.pcloud.book.book.facade.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType; import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType;
import com.google.common.collect.Lists;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookBiz; import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.BookAssocCount;
...@@ -37,8 +19,20 @@ import com.pcloud.common.page.PageParam; ...@@ -37,8 +19,20 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.permission.Permission; import com.pcloud.common.permission.Permission;
import com.pcloud.common.permission.PermissionCode.ServerPermissionCode; import com.pcloud.common.permission.PermissionCode.ServerPermissionCode;
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.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @描述:书籍接口实现类 * @描述:书籍接口实现类
...@@ -270,6 +264,14 @@ public class BookFacadeImpl implements BookFacade { ...@@ -270,6 +264,14 @@ public class BookFacadeImpl implements BookFacade {
return new ResponseDto<>(pageBean); return new ResponseDto<>(pageBean);
} }
@GetMapping("getList4Adviser")
@Override
public ResponseDto<List<BookDto>> getList4Adviser(@RequestHeader("token") String token,@RequestParam(value = "num",required = true) Integer num) throws BizException, PermissionException, JsonParseException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
List<BookDto> bookDtos = bookBiz.getList4Adviser(adviserId,num);
return new ResponseDto<>(ListUtils.isEmpty(bookDtos)? Lists.newArrayList():bookDtos);
}
/** /**
* 获取书籍详细信息 * 获取书籍详细信息
*/ */
...@@ -703,4 +705,18 @@ public class BookFacadeImpl implements BookFacade { ...@@ -703,4 +705,18 @@ public class BookFacadeImpl implements BookFacade {
Boolean bool=bookBiz.checkISBN4App(isbn); Boolean bool=bookBiz.checkISBN4App(isbn);
return new ResponseDto<>(bool); return new ResponseDto<>(bool);
} }
/**
* 根据渠道ID分页获取图书列表
*/
@Override
@GetMapping("getBookListByChannelId4Adviser")
public ResponseDto<PageBean> getBookListByChannelId4Adviser(@RequestHeader("token") String token, @RequestParam(value =
"currentPage", required = true) Integer currentPage, @RequestParam(value = "numPerPage", required = true)
Integer numPerPage, @RequestParam(value = "channelId", required = true) Long channelId) throws
PermissionException, JsonParseException, BizException {
Long partyId = (Long) SessionUtil.getVlaue(token,SessionUtil.PARTY_ID);
PageParam pageParam = new PageParam(currentPage,numPerPage);
return new ResponseDto<PageBean>(bookBiz.getBookBaseInfoListByChannelId4Adviser(partyId,channelId,pageParam));
}
} }
...@@ -28,11 +28,11 @@ public class BookFreezeServiceImpl implements BookFreezeService{ ...@@ -28,11 +28,11 @@ public class BookFreezeServiceImpl implements BookFreezeService{
return ResponseHandleUtil.toResponse(isFreeze); return ResponseHandleUtil.toResponse(isFreeze);
} }
@GetMapping("getById") @GetMapping("getById")
@Override @Override
public ResponseEntity<ResponseDto<BookFreezeDto>> getById(@RequestParam(value = "bookId", required = false) Long bookId) throws BizException { public ResponseEntity<ResponseDto<BookFreezeDto>> getById(@RequestParam(value = "bookId", required = false) Long bookId) throws BizException {
BookFreezeDto byId = bookFreezeBiz.getById(bookId); BookFreezeDto bfd = bookFreezeBiz.getById(bookId);
return ResponseHandleUtil.toResponse(byId == null? new BookFreezeDto():byId);
return ResponseHandleUtil.toResponse(bfd== null? new BookFreezeDto():bfd);
} }
} }
...@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.pcloud.book.book.biz.BookBiz; import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.service.BookService; import com.pcloud.book.book.service.BookService;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
...@@ -133,4 +134,16 @@ public class BookServiceImpl implements BookService { ...@@ -133,4 +134,16 @@ public class BookServiceImpl implements BookService {
return ResponseHandleUtil.toResponse(bookBiz.getBookById(adviserId, channelId, bookId)); return ResponseHandleUtil.toResponse(bookBiz.getBookById(adviserId, channelId, bookId));
} }
@Override
@RequestMapping(value = "/updateTimeById", method = RequestMethod.GET)
public void updateTimeById(@RequestParam(value = "bookId")Long bookId) throws BizException {
bookBiz.updateTimeById(bookId);
}
@Override
@RequestMapping(value = "/updateTimeByIds", method = RequestMethod.POST)
public void updateTimeByIds(@RequestBody BookAdviserUpdateTimeDTO bookAdviserUpdateTimeDTO) throws BizException {
bookBiz.updateTimeByIds(bookAdviserUpdateTimeDTO);
}
} }
...@@ -62,6 +62,9 @@ import com.pcloud.book.consumer.user.PartyConsr; ...@@ -62,6 +62,9 @@ import com.pcloud.book.consumer.user.PartyConsr;
import com.pcloud.book.consumer.voicemessage.MerchantVideoConsr; import com.pcloud.book.consumer.voicemessage.MerchantVideoConsr;
import com.pcloud.book.mq.config.MqConfig; import com.pcloud.book.mq.config.MqConfig;
import com.pcloud.channelcenter.base.constants.MessageFromTypeEnum; import com.pcloud.channelcenter.base.constants.MessageFromTypeEnum;
import com.pcloud.channelcenter.qrcode.dto.QrcodeLocationDto;
import com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrAskVO;
import com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrVO;
import com.pcloud.comment.base.enums.SysCodeEnum; import com.pcloud.comment.base.enums.SysCodeEnum;
import com.pcloud.common.core.constant.SystemCode; import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -69,6 +72,7 @@ import com.pcloud.common.utils.BookUtils; ...@@ -69,6 +72,7 @@ import com.pcloud.common.utils.BookUtils;
import com.pcloud.common.utils.DateUtils; import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.number.AmountUtil; import com.pcloud.common.utils.number.AmountUtil;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.contentcenter.resource.dto.ResourceDTO; import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.resourcecenter.product.dto.ProductTypeDto; import com.pcloud.resourcecenter.product.dto.ProductTypeDto;
...@@ -1012,6 +1016,7 @@ public class BookSet { ...@@ -1012,6 +1016,7 @@ public class BookSet {
AssistTempletDTO assistTempletDTO = assistTempletIds.get(bookDto.getTempletId()); AssistTempletDTO assistTempletDTO = assistTempletIds.get(bookDto.getTempletId());
if (assistTempletDTO != null) { if (assistTempletDTO != null) {
bookDto.setTempletName(assistTempletDTO.getTempletName()); bookDto.setTempletName(assistTempletDTO.getTempletName());
bookDto.setQrRemark(assistTempletDTO.getRemark());
} }
} }
} }
...@@ -1305,6 +1310,49 @@ public class BookSet { ...@@ -1305,6 +1310,49 @@ public class BookSet {
} }
/** /**
* 设置二维码相关信息
* @param recordList
*/
public void setQrInfo(List<Object> recordList){
if (ListUtils.isEmpty(recordList)) {
return;
}
List<BookAssocLastQrAskVO> bookAssocLastQrAskVOS = Lists.newArrayList();
BookAssocLastQrAskVO bookAssocLastQrAskVO = null;
for(Object object:recordList){
BookDto bookDto = (BookDto) object;
bookAssocLastQrAskVO = new BookAssocLastQrAskVO();
bookAssocLastQrAskVO.setAdviserId(bookDto.getAdviserId());
bookAssocLastQrAskVO.setBookId(bookDto.getBookId());
bookAssocLastQrAskVO.setChannelId(bookDto.getChannelId());
bookAssocLastQrAskVOS.add(bookAssocLastQrAskVO);
}
if(ListUtils.isEmpty(bookAssocLastQrAskVOS)){
return;
}
Map<String,BookAssocLastQrVO> bookAssocLastQrVOMap = qrcodeSceneConsr.getLastQrInfoByBookIds(bookAssocLastQrAskVOS);
if(MapUtils.isEmpty(bookAssocLastQrVOMap)){
return;
}
for(Object object:recordList){
BookDto bookDto = (BookDto) object;
String key = bookDto.getBookId()+"_"+bookDto.getChannelId();
BookAssocLastQrVO bookAssocLastQrVO = bookAssocLastQrVOMap.get(key);
if(null != bookAssocLastQrVO){
bookDto.setQrcodeUrl(bookAssocLastQrVO.getQrcodeUrl());
bookDto.setMessageCount(bookAssocLastQrVO.getCount());
List<QrcodeLocationDto> qrcodeLocationDtos = bookAssocLastQrVO.getQrcodeLocations();
String localtion = null;
if(!ListUtils.isEmpty(qrcodeLocationDtos)){
localtion = StringUtil.isEmpty(qrcodeLocationDtos.get(0).getLocationName())?qrcodeLocationDtos.get(0).getLocationRemark():qrcodeLocationDtos.get(0).getLocationName();
}
bookDto.setLocation(localtion);
bookDto.setSceneName(bookAssocLastQrVO.getSceneName());
bookDto.setSceneId(bookAssocLastQrVO.getSceneId());
}
}
}
/**
* 设置图书收益 * 设置图书收益
* *
* @param recordList * @param recordList
...@@ -1476,4 +1524,25 @@ public class BookSet { ...@@ -1476,4 +1524,25 @@ public class BookSet {
} }
LOGGER.info("设置父模板标识.setTempleParentId.<END>.[bookDto]:"+bookDto); LOGGER.info("设置父模板标识.setTempleParentId.<END>.[bookDto]:"+bookDto);
} }
/**
* 设置父模板标识
* @param bookDto
*/
public void setTempleParentIdAndTempletName(BookDto bookDto){
LOGGER.info("设置分类名称..<START>.[bookDto]:"+bookDto);
if(null != bookDto && null != bookDto.getTempletId()){
List<Long> assistTempletIds = Lists.newArrayList();
assistTempletIds.add(bookDto.getTempletId());
Map<Long, AssistTempletDTO> templeMap = assistTempletConsr.mapByIds(assistTempletIds);
if(!MapUtils.isEmpty(templeMap)){
AssistTempletDTO templetDTO = templeMap.get(bookDto.getTempletId());
if(null != templetDTO){
bookDto.setTempletName(templetDTO.getTempletName());
bookDto.setTempleParentId(templetDTO.getParentId());
}
}
}
LOGGER.info("设置父模板标识.setTempletName.<END>.[bookDto]:"+bookDto);
}
} }
...@@ -4,6 +4,7 @@ import java.util.HashMap; ...@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.pcloud.common.core.aspect.ParamLog;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -18,7 +19,7 @@ import com.pcloud.common.utils.ResponseHandleUtil; ...@@ -18,7 +19,7 @@ import com.pcloud.common.utils.ResponseHandleUtil;
/** /**
* 模板外部接口调用 * 模板外部接口调用
* *
* @author lili * @author lili
* @date 创建时间:2017年11月10日 上午11:17:39 * @date 创建时间:2017年11月10日 上午11:17:39
*/ */
...@@ -34,7 +35,7 @@ public class AssistTempletConsr { ...@@ -34,7 +35,7 @@ public class AssistTempletConsr {
/** /**
* 获取模板基本信息 * 获取模板基本信息
* *
* @param appIds * @param appIds
* @param object * @param object
* @return * @return
...@@ -57,4 +58,19 @@ public class AssistTempletConsr { ...@@ -57,4 +58,19 @@ public class AssistTempletConsr {
} }
return assistTempletDTOs; return assistTempletDTOs;
} }
@ParamLog(description = "根据父项获取子项模板ID集合")
public List<Long> getChildIdListByParentId(Long parentId){
if(null == parentId){
return null;
}
List<Long> ids = null;
try {
ids = ResponseHandleUtil.parseListResponse(assistTempletService.getChildIdBy(parentId),Long.class);
} catch (BizException e) {
LOGGER.error("获取模板基本信息[assistTempletService.mapByIds]:" + e.getMessage(), e);
}
return ids;
}
} }
...@@ -16,10 +16,23 @@ import org.springframework.stereotype.Component; ...@@ -16,10 +16,23 @@ import org.springframework.stereotype.Component;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.channelcenter.qrcode.dto.DefaultTempletQrcode; import com.pcloud.channelcenter.qrcode.dto.DefaultTempletQrcode;
import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService; import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService;
import com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrAskVO;
import com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrVO;
import com.pcloud.channelcenter.qrcode.vo.BookAssocQRcountRequestVO;
import com.pcloud.common.core.aspect.ParamLog;
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.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @描述:二维码中间件 * @描述:二维码中间件
...@@ -221,7 +234,7 @@ public class QrcodeSceneConsr { ...@@ -221,7 +234,7 @@ public class QrcodeSceneConsr {
} }
LOGGER.info("【二维码-渠道(消)】 根据图书恢复二维码,<END>"); LOGGER.info("【二维码-渠道(消)】 根据图书恢复二维码,<END>");
} }
/** /**
* 获取图书待审核二维码 * 获取图书待审核二维码
*/ */
...@@ -232,7 +245,7 @@ public class QrcodeSceneConsr { ...@@ -232,7 +245,7 @@ public class QrcodeSceneConsr {
} }
Map<Long, Long> result = null; Map<Long, Long> result = null;
try { try {
result = ResponseHandleUtil.parseMapResponse(qrcodeSceneService.getCountMapByBookIds(bookIds),Long.class,Long.class); result = ResponseHandleUtil.parseMapResponse(qrcodeSceneService.getCountMapByBookIds(bookIds),Long.class,Long.class);
} catch (BizException e) { } catch (BizException e) {
LOGGER.warn("【二维码-渠道(消)】 获取图书待审核二维码[qrcodeSceneService.getCountMapByBookIds]失败:" + e.getMessage(), e); LOGGER.warn("【二维码-渠道(消)】 获取图书待审核二维码[qrcodeSceneService.getCountMapByBookIds]失败:" + e.getMessage(), e);
throw new BizException(e.getCode(), e.getMessage()); throw new BizException(e.getCode(), e.getMessage());
...@@ -245,4 +258,44 @@ public class QrcodeSceneConsr { ...@@ -245,4 +258,44 @@ public class QrcodeSceneConsr {
return result; return result;
} }
/**
* 获取图书最近关联二维码信息
*/
public Map<String, BookAssocLastQrVO> getLastQrInfoByBookIds(List<BookAssocLastQrAskVO> bookAssocLastQrAskVOs) throws BizException {
LOGGER.info("【二维码-渠道(消)】获取图书最近关联二维码信息,<START>.[bookAssocLastQrAskVOs]=" + bookAssocLastQrAskVOs);
if (ListUtils.isEmpty(bookAssocLastQrAskVOs)) {
return null;
}
Map<String, BookAssocLastQrVO> result = null;
try {
result = ResponseHandleUtil.parseMapResponse(qrcodeSceneService.getLastQrInfoByBookIds(bookAssocLastQrAskVOs),String.class,BookAssocLastQrVO.class);
} catch (BizException e) {
LOGGER.warn("【二维码-渠道(消)】 获取图书最近关联二维码信息[qrcodeSceneService.getLastQrInfoByBookIds]失败:" + e.getMessage(), e);
throw new BizException(e.getCode(), e.getMessage());
} catch (Exception e) {
LOGGER.error("【二维码-渠道(消)】 获取图书最近关联二维码信息[qrcodeSceneService.getLastQrInfoByBookIds],<ERROR>.[create]:" + e.getMessage(),
e);
throw new BookBizException(BookBizException.INVOKE_CHANNEL_ERROR, " 获取图书最近关联二维码信息失败~!");
}
LOGGER.info("【二维码-渠道(消)】 获取图书最近关联二维码信息,<END>");
return result;
}
@ParamLog(description = "获取图书关联二维码个数")
public Integer getBookQRCountByMap(Long adviserId,Long channelId,Long bookId)throws BizException{
Integer count = 0;
BookAssocQRcountRequestVO bookAssocQRcountRequestVO = new BookAssocQRcountRequestVO();
bookAssocQRcountRequestVO.setAdviserId(adviserId);
bookAssocQRcountRequestVO.setBookId(bookId);
bookAssocQRcountRequestVO.setChannelId(channelId);
try {
count = ResponseHandleUtil.parseResponse(qrcodeSceneService.getBookQRCountByMap(bookAssocQRcountRequestVO),Integer.class);
} catch (BizException e) {
LOGGER.error("【二维码-渠道(消)】 获取图书关联二维码个数[qrcodeSceneService.getBookQRCountByMap],<ERROR>.[create]:" + e.getMessage(),
e);
throw new BookBizException(BookBizException.INVOKE_CHANNEL_ERROR, " 获取图书关联二维码个数失败~!");
}
return count;
}
} }
...@@ -411,6 +411,10 @@ ...@@ -411,6 +411,10 @@
AND AND
B.PUBLISH LIKE CONCAT('%', #{publish},'%') B.PUBLISH LIKE CONCAT('%', #{publish},'%')
</if> </if>
<if test="fundName!=null">
AND
BF.FUND_NAME LIKE CONCAT('%', #{fundName},'%')
</if>
) a ) a
</select> </select>
...@@ -465,13 +469,23 @@ ...@@ -465,13 +469,23 @@
AND AND
BF.BOOK_FUND_ID IS NOT NULL BF.BOOK_FUND_ID IS NOT NULL
</if> </if>
<if test="templetId!=null"> <if test="templeIds!=null">
AND AND
A.TEMPLET_ID = #{templetId} A.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
<if test="isbns != null">
AND
B.ISBN <![CDATA[ <> ]]> ${isbns}
</if> </if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY ORDER BY
A.CREATED_DATE DESC A.LAST_MODIFIED_DATE DESC
<if test="num != null">
LIMIT ${num}
</if>
</select> </select>
<!-- 获取书籍列表(编辑) --> <!-- 获取书籍列表(编辑) -->
...@@ -914,5 +928,26 @@ ...@@ -914,5 +928,26 @@
WHERE WHERE
BOOK_ID = #{bookId, jdbcType=BIGINT} BOOK_ID = #{bookId, jdbcType=BIGINT}
</update> </update>
<update id="updateTimeById" parameterType="map">
UPDATE BOOK SET LAST_MODIFIED_DATE = NOW() WHERE BOOK_ID = #{bookId, jdbcType=BIGINT}
</update>
<update id="updateTimeByIds" parameterType="map">
UPDATE BOOK_ADVISER SET LAST_MODIFIED_DATE = NOW() WHERE
ADVISER_ID = #{adviserId}
<if test="channelId != null">
and CHANNEL_ID = #{channelId}
</if>
<if test="bookId != null">
AND BOOK_ID = #{bookId}
</if>
<if test="bookIds != null">
AND BOOK_ID in
<foreach collection="bookIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -382,6 +382,7 @@ ...@@ -382,6 +382,7 @@
<if test="templetId != null"> <if test="templetId != null">
,TEMPLET_ID = #{templetId} ,TEMPLET_ID = #{templetId}
</if> </if>
,LAST_MODIFIED_DATE = NOW()
WHERE WHERE
BOOK_ID = #{bookId, jdbcType=BIGINT} BOOK_ID = #{bookId, jdbcType=BIGINT}
<if test="adviserId != null"> <if test="adviserId != null">
......
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