Commit 24a47f8f by gaopeng

无书号时先创建空的社群码

parent f97ba27a
...@@ -188,6 +188,11 @@ public class Book extends BaseEntity { ...@@ -188,6 +188,11 @@ public class Book extends BaseEntity {
private Boolean isBookGroup; private Boolean isBookGroup;
/** /**
* 社群码ID
*/
private Long bookGroupId;
/**
* 第二级类型 * 第二级类型
*/ */
private Long secondTempletId; private Long secondTempletId;
...@@ -469,6 +474,14 @@ public class Book extends BaseEntity { ...@@ -469,6 +474,14 @@ public class Book extends BaseEntity {
this.isBookGroup = isBookGroup; this.isBookGroup = isBookGroup;
} }
public Long getBookGroupId() {
return bookGroupId;
}
public void setBookGroupId(Long bookGroupId) {
this.bookGroupId = bookGroupId;
}
public Long getSecondTempletId() { public Long getSecondTempletId() {
return secondTempletId; return secondTempletId;
} }
...@@ -522,6 +535,7 @@ public class Book extends BaseEntity { ...@@ -522,6 +535,7 @@ public class Book extends BaseEntity {
", sceneId=" + sceneId + ", sceneId=" + sceneId +
", isDelete=" + isDelete + ", isDelete=" + isDelete +
", isBookGroup=" + isBookGroup + ", isBookGroup=" + isBookGroup +
", bookGroupId=" + bookGroupId +
", secondTempletId=" + secondTempletId + ", secondTempletId=" + secondTempletId +
", secondTypeCode='" + secondTypeCode + '\'' + ", secondTypeCode='" + secondTypeCode + '\'' +
'}'; '}';
......
package com.pcloud.book.group.service; package com.pcloud.book.group.service;
import com.pcloud.book.group.dto.BookGroupDTO; import java.util.List;
import com.pcloud.common.dto.ResponseDto; import java.util.Map;
import com.pcloud.common.exceptions.BizException;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; 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 com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -25,6 +26,10 @@ public interface BookGroupService { ...@@ -25,6 +26,10 @@ public interface BookGroupService {
@RequestMapping(value = "getBookGroupInfo",method = RequestMethod.GET) @RequestMapping(value = "getBookGroupInfo",method = RequestMethod.GET)
ResponseEntity<ResponseDto<BookGroupDTO>> getBookGroupInfo(@RequestParam("bookGroupId")Long bookGroupId) throws BizException; ResponseEntity<ResponseDto<BookGroupDTO>> getBookGroupInfo(@RequestParam("bookGroupId")Long bookGroupId) throws BizException;
@ApiOperation("批量获取社群书基本信息")
@RequestMapping(value = "getBookGroupInfoByIds", method = RequestMethod.POST)
ResponseEntity<ResponseDto<Map<Long, BookGroupDTO>>> getBookGroupInfoByIds(@RequestBody List<Long> bookGroupIds) throws BizException;
@ApiOperation("获取社群书基本信息") @ApiOperation("获取社群书基本信息")
@RequestMapping(value = "getBaseInfoBySceneId",method = RequestMethod.GET) @RequestMapping(value = "getBaseInfoBySceneId",method = RequestMethod.GET)
ResponseEntity<ResponseDto<BookGroupDTO>> getBaseInfoBySceneId(@RequestParam("sceneId")Long sceneId) throws BizException; ResponseEntity<ResponseDto<BookGroupDTO>> getBaseInfoBySceneId(@RequestParam("sceneId")Long sceneId) throws BizException;
......
...@@ -1445,6 +1445,10 @@ public class BookBizImpl implements BookBiz { ...@@ -1445,6 +1445,10 @@ public class BookBizImpl implements BookBiz {
bookDto.setBookGroupId(bookGroup.getId()); bookDto.setBookGroupId(bookGroup.getId());
bookDto.setGroupQrcodeUrl(bookGroup.getGroupQrcodeUrl()); bookDto.setGroupQrcodeUrl(bookGroup.getGroupQrcodeUrl());
}*/ }*/
// 关联社群码和社群书信息
if (null != book.getIsBookGroup() && book.getIsBookGroup() && null != book.getBookGroupId()) {
bookGroupBiz.linkBookGroup(book.getBookId(), book.getBookGroupId(), book.getCreatedUser());
}
LOGGER.info("【书籍基础】创建书籍基础信息,<END>"); LOGGER.info("【书籍基础】创建书籍基础信息,<END>");
return bookDto; return bookDto;
} }
......
...@@ -34,6 +34,14 @@ public interface BookGroupBiz { ...@@ -34,6 +34,14 @@ public interface BookGroupBiz {
BookGroupDTO getBookGroupInfo(Long bookGroupId) throws BizException; BookGroupDTO getBookGroupInfo(Long bookGroupId) throws BizException;
/** /**
* 批量获取社群书群二维码信息
* @param bookGroupIds 群二维码ID列表
* @return
* @throws BizException
*/
Map<Long, BookGroupDTO> getBookGroupInfoByIds(List<Long> bookGroupIds) throws BizException;
/**
* 获取社群书群二维码信息 * 获取社群书群二维码信息
* @param bookGroupId 群二维码ID * @param bookGroupId 群二维码ID
* @return * @return
...@@ -77,6 +85,15 @@ public interface BookGroupBiz { ...@@ -77,6 +85,15 @@ public interface BookGroupBiz {
void recoverByBookId(Long bookId, Long channelId, Long adviserId) throws BizException; void recoverByBookId(Long bookId, Long channelId, Long adviserId) throws BizException;
/** /**
* 关联社群码和社群书
* @param bookId 书刊ID
* @param bookGroupId 社群码ID
* @param adviserId 编辑ID
* @throws BizException
*/
void linkBookGroup(Long bookId, Long bookGroupId, Long adviserId) throws BizException;
/**
* 根据社群码ID获取书名 * 根据社群码ID获取书名
* @param bookGroupId 社群码ID * @param bookGroupId 社群码ID
* @return * @return
...@@ -96,13 +113,22 @@ public interface BookGroupBiz { ...@@ -96,13 +113,22 @@ public interface BookGroupBiz {
/** /**
* 获取社群书列表(编辑) * 获取社群书列表(编辑)
* @param paramMap 参数Map * @param paramMap 参数Map
* @return * @return
* @throws BizException * @throws BizException
*/ */
List<BookDto> listSimpleBookGroup4Adviser(Map<String, Object> paramMap) throws BizException; List<BookDto> listSimpleBookGroup4Adviser(Map<String, Object> paramMap) throws BizException;
/** /**
* 获取社群书列表(编辑)
* @param paramMap 参数Map
* @param pageParam 分页参数
* @return
* @throws BizException
*/
PageBean listSimpleBookGroup4Adviser(Map<String, Object> paramMap, PageParam pageParam) throws BizException;
/**
* 获取未创建社群码的书刊列表 * 获取未创建社群码的书刊列表
* @param paramMap 参数Map * @param paramMap 参数Map
* @param pageParam 分页参数 * @param pageParam 分页参数
......
package com.pcloud.book.group.biz.impl; package com.pcloud.book.group.biz.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
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.dao.BookDao; import com.pcloud.book.book.dao.BookDao;
...@@ -33,19 +45,6 @@ import com.pcloud.resourcecenter.product.service.ProductService; ...@@ -33,19 +45,6 @@ import com.pcloud.resourcecenter.product.service.ProductService;
import com.pcloud.settlementcenter.record.service.SettlementService; import com.pcloud.settlementcenter.record.service.SettlementService;
import com.pcloud.wechatgroup.group.service.GroupMemberService; import com.pcloud.wechatgroup.group.service.GroupMemberService;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* Description 社群书群二维码业务逻辑层接口实现类 * Description 社群书群二维码业务逻辑层接口实现类
* Created by PENG on 2019/4/17. * Created by PENG on 2019/4/17.
...@@ -160,6 +159,18 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -160,6 +159,18 @@ public class BookGroupBizImpl implements BookGroupBiz {
return bookGroupDTO; return bookGroupDTO;
} }
@Override
public Map<Long, BookGroupDTO> getBookGroupInfoByIds(List<Long> bookGroupIds) throws BizException {
if (ListUtils.isEmpty(bookGroupIds)) {
return null;
}
List<BookGroupDTO> list = bookGroupDao.getDTOByIds(bookGroupIds);
if (ListUtils.isEmpty(list)) {
return null;
}
return list.stream().collect(Collectors.toMap(BookGroupDTO::getId, dto -> dto));
}
/** /**
* 获取社群书群二维码信息 * 获取社群书群二维码信息
*/ */
...@@ -279,6 +290,33 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -279,6 +290,33 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
/** /**
* 关联社群码和社群书
*/
@Override
@ParamLog("关联社群码和社群书")
@Transactional(rollbackFor = Exception.class)
public void linkBookGroup(Long bookId, Long bookGroupId, Long adviserId) throws BizException {
BookGroupDTO bookGroupDTO = getBookGroupInfo4Wechat(bookGroupId);
if (null == bookGroupDTO || bookGroupDTO.getIsDelete() || !bookGroupDTO.getCreateUser().equals(adviserId)) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码不存在或已删除!");
}
if (null != bookGroupDTO.getBookId() && !bookGroupDTO.getBookId().equals(0L)) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码已关联其他社群书!");
}
BookGroupDTO dto = bookGroupDao.getDTOByBookId(bookId, bookGroupDTO.getChannelId(), adviserId);
if (null != dto) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "该社群书已经添加过其他社群码!");
}
BookGroup bookGroup = new BookGroup();
bookGroup.setBookId(bookId);
bookGroup.setId(bookGroupId);
long result = bookGroupDao.linkBookGroup(bookGroup);
if (result <= 0) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "关联社群书失败!");
}
}
/**
* 根据社群码ID获取书名 * 根据社群码ID获取书名
*/ */
@Override @Override
...@@ -354,6 +392,14 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -354,6 +392,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
/** /**
* 获取社群书列表(编辑)
*/
@Override
public PageBean listSimpleBookGroup4Adviser(Map<String, Object> paramMap, PageParam pageParam) throws BizException {
return bookDao.listPage(pageParam, paramMap, "listSimpleBookGroup4Adviser");
}
/**
* 获取未创建社群码的书刊列表 * 获取未创建社群码的书刊列表
*/ */
@Override @Override
......
package com.pcloud.book.group.dao; package com.pcloud.book.group.dao;
import java.util.List;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.QrcodeNameAndProIdDTO; import com.pcloud.book.group.dto.QrcodeNameAndProIdDTO;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
...@@ -19,6 +20,13 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -19,6 +20,13 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
BookGroupDTO getDTOById(Long bookGroupId); BookGroupDTO getDTOById(Long bookGroupId);
/** /**
* 批量获取DTO信息
* @param bookGroupIds 群二维码ID列表
* @return
*/
List<BookGroupDTO> getDTOByIds(List<Long> bookGroupIds);
/**
* 获取DTO信息 * 获取DTO信息
* @param bookId 书刊ID * @param bookId 书刊ID
* @param channelId 运营ID * @param channelId 运营ID
...@@ -46,6 +54,13 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -46,6 +54,13 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
long recoverByBookId(Long bookId, Long channelId, Long adviserId); long recoverByBookId(Long bookId, Long channelId, Long adviserId);
/** /**
* 关联社群码和社群书
* @param bookGroup 社群码实体
* @return
*/
long linkBookGroup(BookGroup bookGroup);
/**
* 获取编辑社群书数量 * 获取编辑社群书数量
* @param adviserId 编辑ID * @param adviserId 编辑ID
* @return * @return
...@@ -81,6 +96,14 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -81,6 +96,14 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
String getSpareQr(Long bookGroupId); String getSpareQr(Long bookGroupId);
/** /**
* 获取社群书基本信息(包括书籍封面isbn号)
* @param bookGroupIds
* @return
*/
List<BookGroupDTO> getBookBaseInfoByIds(List<Long> bookGroupIds);
/**
* @Author:lili * @Author:lili
* @Desr:根据二维码获取社群码基本信息 * @Desr:根据二维码获取社群码基本信息
* @Date:2019/5/27 18:00 * @Date:2019/5/27 18:00
......
package com.pcloud.book.group.dao.impl; package com.pcloud.book.group.dao.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.QrcodeNameAndProIdDTO; import com.pcloud.book.group.dto.QrcodeNameAndProIdDTO;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
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.Map;
/** /**
* Description 社群书群二维码数据访问层接口实现类 * Description 社群书群二维码数据访问层接口实现类
* Created by PENG on 2019/4/17. * Created by PENG on 2019/4/17.
...@@ -27,6 +26,14 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -27,6 +26,14 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
} }
/** /**
* 批量获取DTO信息
*/
@Override
public List<BookGroupDTO> getDTOByIds(List<Long> bookGroupIds) {
return super.getSqlSession().selectList(getStatement("getDTOByIds"), bookGroupIds);
}
/**
* 获取DTO信息 * 获取DTO信息
*/ */
@Override @Override
...@@ -63,6 +70,14 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -63,6 +70,14 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
} }
/** /**
* 关联社群码和社群书
*/
@Override
public long linkBookGroup(BookGroup bookGroup) {
return super.getSqlSession().update(getStatement("linkBookGroup"), bookGroup);
}
/**
* 获取编辑社群书数量 * 获取编辑社群书数量
*/ */
@Override @Override
...@@ -94,6 +109,11 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -94,6 +109,11 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
} }
@Override @Override
public List<BookGroupDTO> getBookBaseInfoByIds(List<Long> bookGroupIds) {
return this.getSqlSession().selectList(this.getStatement("getBookBaseInfoByIds"), bookGroupIds);
}
@Override
public BookGroupDTO getBaseInfoBySceneId(Long sceneId) { public BookGroupDTO getBaseInfoBySceneId(Long sceneId) {
return this.getSqlSession().selectOne(this.getStatement("getBaseInfoBySceneId"), sceneId); return this.getSqlSession().selectOne(this.getStatement("getBaseInfoBySceneId"), sceneId);
} }
......
...@@ -116,6 +116,16 @@ public class BookGroupDTO extends BaseDto { ...@@ -116,6 +116,16 @@ public class BookGroupDTO extends BaseDto {
*/ */
private BookDto bookInfo; private BookDto bookInfo;
/**
* 书刊封面
*/
private String bookImg;
/**
* isbn号
*/
private String isbn;
private String url; private String url;
public String getUrl() { public String getUrl() {
...@@ -125,6 +135,7 @@ public class BookGroupDTO extends BaseDto { ...@@ -125,6 +135,7 @@ public class BookGroupDTO extends BaseDto {
public void setUrl(String url) { public void setUrl(String url) {
this.url = url; this.url = url;
} }
public Long getId() { public Long getId() {
return id; return id;
} }
...@@ -287,6 +298,22 @@ public class BookGroupDTO extends BaseDto { ...@@ -287,6 +298,22 @@ public class BookGroupDTO extends BaseDto {
this.bookInfo = bookInfo; this.bookInfo = bookInfo;
} }
public String getBookImg() {
return bookImg;
}
public void setBookImg(String bookImg) {
this.bookImg = bookImg;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
@Override @Override
public String toString() { public String toString() {
return "BookGroupDTO{" + return "BookGroupDTO{" +
...@@ -310,6 +337,8 @@ public class BookGroupDTO extends BaseDto { ...@@ -310,6 +337,8 @@ public class BookGroupDTO extends BaseDto {
", updateTime=" + updateTime + ", updateTime=" + updateTime +
", isDelete=" + isDelete + ", isDelete=" + isDelete +
", bookInfo=" + bookInfo + ", bookInfo=" + bookInfo +
"} " + super.toString(); ", bookImg='" + bookImg + '\'' +
", isbn='" + isbn + '\'' +
'}';
} }
} }
\ No newline at end of file
...@@ -120,11 +120,15 @@ public interface BookGroupFacade { ...@@ -120,11 +120,15 @@ public interface BookGroupFacade {
@ApiOperation(value = "获取社群书列表(编辑)", httpMethod = "GET") @ApiOperation(value = "获取社群书列表(编辑)", httpMethod = "GET")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", dataType = "string", paramType = "header"), @ApiImplicitParam(name = "token", value = "token", dataType = "string", paramType = "header"),
@ApiImplicitParam(name = "name", value = "书籍名称", dataType = "string", paramType = "query") @ApiImplicitParam(name = "name", value = "书籍名称", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "currentPage", value = "当前页", dataType = "Integer", paramType = "query"),
@ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "Integer", paramType = "query")
}) })
@RequestMapping(value = "listSimpleBookGroup4Adviser", method = RequestMethod.GET) @RequestMapping(value = "listSimpleBookGroup4Adviser", method = RequestMethod.GET)
ResponseDto<?> listSimpleBookGroup4Adviser(@RequestHeader("token") String token, ResponseDto<?> listSimpleBookGroup4Adviser(@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name) @RequestParam(value = "name", required = false) String name,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage)
throws BizException, PermissionException; throws BizException, PermissionException;
@ApiOperation(value = "获取未创建社群码的书刊列表", httpMethod = "GET") @ApiOperation(value = "获取未创建社群码的书刊列表", httpMethod = "GET")
...@@ -171,4 +175,5 @@ public interface BookGroupFacade { ...@@ -171,4 +175,5 @@ public interface BookGroupFacade {
}) })
@RequestMapping(value = "isSpecialAgent", method = RequestMethod.GET) @RequestMapping(value = "isSpecialAgent", method = RequestMethod.GET)
ResponseDto<Boolean> isSpecialAgent(@RequestHeader("token") String token) throws BizException, PermissionException, JsonParseException; ResponseDto<Boolean> isSpecialAgent(@RequestHeader("token") String token) throws BizException, PermissionException, JsonParseException;
} }
...@@ -168,13 +168,22 @@ public class BookGroupFacadeImpl implements BookGroupFacade { ...@@ -168,13 +168,22 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
@Override @Override
@RequestMapping(value = "listSimpleBookGroup4Adviser", method = RequestMethod.GET) @RequestMapping(value = "listSimpleBookGroup4Adviser", method = RequestMethod.GET)
public ResponseDto<?> listSimpleBookGroup4Adviser(@RequestHeader("token") String token, public ResponseDto<?> listSimpleBookGroup4Adviser(@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name) @RequestParam(value = "name", required = false) String name,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage)
throws BizException, PermissionException { throws BizException, PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID); Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("adviserId", adviserId); paramMap.put("adviserId", adviserId);
paramMap.put("name", name != null && "".equals(name.trim()) ? null : name); paramMap.put("name", name != null && "".equals(name.trim()) ? null : name);
return new ResponseDto<>(bookGroupBiz.listSimpleBookGroup4Adviser(paramMap)); if ((null == currentPage && null != numPerPage) || (null != currentPage && null == numPerPage)) {
throw BookBizException.PAGE_PARAM_DELETION;
}
if (null != currentPage) {
return new ResponseDto<>(bookGroupBiz.listSimpleBookGroup4Adviser(paramMap, new PageParam(currentPage, numPerPage)));
} else {
return new ResponseDto<>(bookGroupBiz.listSimpleBookGroup4Adviser(paramMap));
}
} }
/** /**
......
package com.pcloud.book.group.service.impl; package com.pcloud.book.group.service.impl;
import com.pcloud.book.group.biz.BookGroupBiz; import java.util.List;
import com.pcloud.book.group.dto.BookGroupDTO; import java.util.Map;
import com.pcloud.book.group.service.BookGroupService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; 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 org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.service.BookGroupService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
/** /**
* Description 社群书内部接口实现类 * Description 社群书内部接口实现类
...@@ -35,6 +37,15 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -35,6 +37,15 @@ public class BookGroupServiceImpl implements BookGroupService {
} }
/** /**
* 批量获取社群书基本信息
*/
@Override
@RequestMapping(value = "getBookGroupInfoByIds", method = RequestMethod.POST)
public ResponseEntity<ResponseDto<Map<Long, BookGroupDTO>>> getBookGroupInfoByIds(@RequestBody List<Long> bookGroupIds) throws BizException {
return ResponseHandleUtil.toResponse(bookGroupBiz.getBookGroupInfoByIds(bookGroupIds));
}
/**
* 获取社群书基本信息 * 获取社群书基本信息
*/ */
@Override @Override
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
<result column="BOOK_ADVISER_ID" property="bookAdviserId" jdbcType="BIGINT" /> <result column="BOOK_ADVISER_ID" property="bookAdviserId" jdbcType="BIGINT" />
<result column="SECOND_TEMPLET_ID" property="secondTempletId" jdbcType="BIGINT" /> <result column="SECOND_TEMPLET_ID" property="secondTempletId" jdbcType="BIGINT" />
<result column="SECOND_TYPE_CODE" property="secondTypeCode" jdbcType="BIGINT" /> <result column="SECOND_TYPE_CODE" property="secondTypeCode" jdbcType="BIGINT" />
<result column="BOOK_GROUP_ID" property="bookGroupId" jdbcType="BIGINT" />
</resultMap> </resultMap>
<resultMap id="bookListPageMap" type="bookDto" extends ="bookMap"> <resultMap id="bookListPageMap" type="bookDto" extends ="bookMap">
...@@ -545,16 +546,24 @@ ...@@ -545,16 +546,24 @@
A.BOOK_ID, A.CHANNEL_ID, A.ADVISER_ID, A.IS_MAIN_EDITOR, T.TYPE_CODE, T.TYPE_NAME, B.ISBN, B.BOOK_NAME, B.REMARK, A.BOOK_ID, A.CHANNEL_ID, A.ADVISER_ID, A.IS_MAIN_EDITOR, T.TYPE_CODE, T.TYPE_NAME, B.ISBN, B.BOOK_NAME, B.REMARK,
B.AUTHOR, B.PUBLISH, B.PUBLISH_DATE, B.COVER_IMG, B.ORIGIN_NAME, B.BOOK_PRICE, B.ISSN, B.BOOK_NUM, B.SERIAL_NUMBER, B.AUTHOR, B.PUBLISH, B.PUBLISH_DATE, B.COVER_IMG, B.ORIGIN_NAME, B.BOOK_PRICE, B.ISSN, B.BOOK_NUM, B.SERIAL_NUMBER,
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT, A.TEMPLET_ID, A.BOOK_ADVISER_ID, CONCAT('BK',A.BOOK_ID) uniqueNumber, IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT, A.TEMPLET_ID, A.BOOK_ADVISER_ID, CONCAT('BK',A.BOOK_ID) uniqueNumber,
G.update_time LAST_MODIFIED_DATE, G.create_time CREATED_DATE, G.id bookGroupId, G.group_qrcode_url groupQrcodeUrl, G.update_time LAST_MODIFIED_DATE, G.create_time CREATED_DATE, G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,
G.group_qrcode_name groupQrcodeName G.group_qrcode_name groupQrcodeName
FROM FROM
BOOK_ADVISER A book_group G
INNER JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID AND G.IS_DELETE = 0 LEFT JOIN BOOK_ADVISER A ON G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND B.IS_DELETE = 0 LEFT JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID
LEFT JOIN BOOK_TYPE T ON B.TYPE_CODE = T.TYPE_CODE LEFT JOIN BOOK_TYPE T ON B.TYPE_CODE = T.TYPE_CODE
LEFT JOIN BOOK_FUND BF ON BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW() LEFT JOIN BOOK_FUND BF ON BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW()
WHERE WHERE
A.ADVISER_ID = #{adviserId} AND A.IS_DELETE = 0 G.create_user = #{adviserId} AND G.is_delete = 0
AND (
A.BOOK_ADVISER_ID IS NULL
OR A.IS_DELETE = 0
)
AND (
B.BOOK_ID IS NULL
OR B.IS_DELETE = 0
)
<if test="bookId != null"> <if test="bookId != null">
AND AND
A.BOOK_ID = #{bookId} A.BOOK_ID = #{bookId}
...@@ -590,7 +599,7 @@ ...@@ -590,7 +599,7 @@
<if test="startDate != null and endDate != null"> <if test="startDate != null and endDate != null">
AND G.create_time BETWEEN #{startDate} AND #{endDate} AND G.create_time BETWEEN #{startDate} AND #{endDate}
</if> </if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID GROUP BY G.id
ORDER BY ORDER BY
G.UPDATE_TIME DESC G.UPDATE_TIME DESC
</select> </select>
...@@ -603,7 +612,9 @@ ...@@ -603,7 +612,9 @@
A.ADVISER_ID, A.ADVISER_ID,
B.ISBN, B.ISBN,
B.BOOK_NAME, B.BOOK_NAME,
CONCAT('BK', A.BOOK_ID) uniqueNumber B.COVER_IMG,
CONCAT('BK', A.BOOK_ID) uniqueNumber,
G.ID book_group_id
FROM FROM
BOOK_ADVISER A BOOK_ADVISER A
INNER JOIN book_group G ON G.BOOK_ID = A.BOOK_ID INNER JOIN book_group G ON G.BOOK_ID = A.BOOK_ID
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="is_delete" property="isDelete" jdbcType="BIT"/> <result column="is_delete" property="isDelete" jdbcType="BIT"/>
<result column="book_img" property="bookImg" jdbcType="VARCHAR"/>
<result column="isbn" property="isbn" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -59,6 +61,16 @@ ...@@ -59,6 +61,16 @@
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</select> </select>
<select id="getDTOByIds" resultMap="BookGroupDTO" parameterType="list">
select
<include refid="Base_Column_List"/>
from book_group
where id in
<foreach collection="list" open="(" close=")" item="item" separator=",">
${item}
</foreach>
</select>
<select id="getDTOByBookId" resultMap="BookGroupDTO" parameterType="map"> <select id="getDTOByBookId" resultMap="BookGroupDTO" parameterType="map">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
...@@ -70,29 +82,24 @@ ...@@ -70,29 +82,24 @@
<select id="getBookGroupCount" resultType="Integer" parameterType="Long"> <select id="getBookGroupCount" resultType="Integer" parameterType="Long">
SELECT SELECT
count(1) COUNT(DISTINCT G.id)
FROM FROM
( book_group G
SELECT LEFT JOIN BOOK_ADVISER A ON G.BOOK_ID = A.BOOK_ID
bg.book_id, AND G.CHANNEL_ID = A.CHANNEL_ID
bg.channel_id AND G.CREATE_USER = A.ADVISER_ID
FROM LEFT JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID
book b, WHERE
book_adviser ba, G.create_user = #{adviserId, jdbcType=BIGINT}
book_group bg AND G.is_delete = 0
WHERE AND (
ba.ADVISER_ID = #{adviserId, jdbcType=BIGINT} A.BOOK_ADVISER_ID IS NULL
AND ba.IS_DELETE = 0 OR A.IS_DELETE = 0
AND b.IS_DELETE = 0 )
AND bg.IS_DELETE = 0 AND (
AND bg.create_user = ba.ADVISER_ID B.BOOK_ID IS NULL
AND ba.BOOK_ID = b.BOOK_ID OR B.IS_DELETE = 0
AND bg.BOOK_ID = ba.BOOK_ID )
AND bg.CHANNEL_ID = ba.CHANNEL_ID
GROUP BY
bg.book_id,
bg.channel_id
) tmp
</select> </select>
<delete id="deleteById" parameterType="java.lang.Long"> <delete id="deleteById" parameterType="java.lang.Long">
...@@ -119,6 +126,11 @@ ...@@ -119,6 +126,11 @@
</if> </if>
and is_delete = 1 and is_delete = 1
</update> </update>
<update id="linkBookGroup" parameterType="com.pcloud.book.group.entity.BookGroup">
update book_group set book_id = #{bookId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT} and is_delete = 0
</update>
<insert id="insert" parameterType="com.pcloud.book.group.entity.BookGroup" useGeneratedKeys="true" <insert id="insert" parameterType="com.pcloud.book.group.entity.BookGroup" useGeneratedKeys="true"
keyProperty="id"> keyProperty="id">
...@@ -230,6 +242,25 @@ ...@@ -230,6 +242,25 @@
from book_group from book_group
where id = #{_parameter,jdbcType=BIGINT} where id = #{_parameter,jdbcType=BIGINT}
</select> </select>
<!--获取社群码基本信息(包括书籍信息)-->
<select id="getBookBaseInfoByIds" parameterType="list" resultMap="BookGroupDTO">
SELECT
bg.id,
bg.book_id,
bg.group_qrcode_name,
b.COVER_IMG book_img,
b.ISBN
FROM
book_group bg
LEFT JOIN book b ON bg.book_id = b.BOOK_ID
where id in
<foreach collection="list" open="(" close=")" item="item" separator=",">
${item}
</foreach>
</select>
<select id="getBaseInfoBySceneId" resultMap="BookGroupDTO" parameterType="map"> <select id="getBaseInfoBySceneId" resultMap="BookGroupDTO" parameterType="map">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
......
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