Commit d524ef72 by 田超

Merge branch 'feature/1004560' into 'master'

feat: [1004560] 出版社查看自己项目需求

See merge request rays/pcloud-book!1279
parents ce53b6c0 f7d67a07
......@@ -29,6 +29,7 @@ import com.pcloud.book.book.vo.BookServesListDTO;
import com.pcloud.book.book.vo.ErpAdviserBookVO;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.book.book.vo.request.RelateRaysBookApprovalVO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO;
......@@ -420,4 +421,6 @@ public interface BookAdviserBiz {
* @return
*/
Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds);
void updateRaysField4Erp(List<RelateRaysBookApprovalVO> relateRaysBookList);
}
......@@ -194,7 +194,7 @@ public interface BookBiz {
* @return
* @throws BizException
*/
List<BookDto> getList4Adviser(Long adviserId, Integer num, Boolean isPrint) throws BizException;
List<BookDto> getList4Adviser(Long adviserId, Integer num, Boolean isPrint, Boolean isApproval) throws BizException;
/**
* 微信端获取书籍列表(编辑)
*
......
......@@ -50,6 +50,7 @@ import com.pcloud.book.book.vo.ErpAdviserBookVO;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.book.book.vo.QrcodeInfoDto;
import com.pcloud.book.book.vo.request.RelateRaysBookApprovalVO;
import com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto;
import com.pcloud.book.consumer.analysisengine.BrowseRecordConsr;
import com.pcloud.book.consumer.app.AppConsr;
......@@ -3106,4 +3107,30 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds) {
return bookAdviserDao.getBookMapByAdviserBookIds(adviserBookIds);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateRaysField4Erp(List<RelateRaysBookApprovalVO> relateRaysBookList){
if(CollUtil.isEmpty(relateRaysBookList)){
return;
}
List<RelateRaysBookApprovalVO> approvalList = CollUtil.toList();
List<RelateRaysBookApprovalVO> nonApprovalList = CollUtil.toList();
for (RelateRaysBookApprovalVO vo : relateRaysBookList) {
if(vo.getIsApproval() == null){
continue;
}
if(YesOrNoNumEnum.YES.getValue() == vo.getIsApproval()){
approvalList.add(vo);
} else {
nonApprovalList.add(vo);
}
}
if(CollUtil.isNotEmpty(approvalList)){
bookAdviserDao.updateRaysField4Erp(approvalList, YesOrNoNumEnum.YES.getValue());
}
if(CollUtil.isNotEmpty(nonApprovalList)){
bookAdviserDao.updateRaysField4Erp(nonApprovalList, YesOrNoNumEnum.NO.getValue());
}
}
}
......@@ -995,11 +995,12 @@ public class BookBizImpl implements BookBiz {
@ParamLog(description = "首页展示正在做的图书", isAfterReturn = false)
@Override
public List<BookDto> getList4Adviser(Long adviserId, Integer num, Boolean isPrint) throws BizException {
public List<BookDto> getList4Adviser(Long adviserId, Integer num, Boolean isPrint, Boolean isApproval) throws BizException {
Map<String, Object> paramMap = Maps.newHashMap();
paramMap.put("adviserId", adviserId);
paramMap.put("num", num);
paramMap.put("isPrint", isPrint);
paramMap.put("isApproval", isApproval);
paramMap.put("isbns", BookConstant.DEFAULT_BOOK_ISBN);
List<BookDto> bookDtos = bookDao.getList4Adviser(paramMap);
if (!ListUtils.isEmpty(bookDtos)) {
......
......@@ -18,6 +18,7 @@ import com.pcloud.book.book.vo.AgentBookStatsDetailVO;
import com.pcloud.book.book.vo.BookInfo4ScanCount;
import com.pcloud.book.book.vo.BookServesListDTO;
import com.pcloud.book.book.vo.ErpAdviserBookVO;
import com.pcloud.book.book.vo.request.RelateRaysBookApprovalVO;
import com.pcloud.book.es.entity.ESBookAndAdviser;
import com.pcloud.common.core.dao.BaseDao;
import org.apache.ibatis.session.ResultHandler;
......@@ -326,4 +327,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog);
Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds);
int updateRaysField4Erp(List<RelateRaysBookApprovalVO> approvalList, Integer isApproval);
}
......@@ -23,6 +23,7 @@ import com.pcloud.book.book.vo.AgentBookStatsDetailVO;
import com.pcloud.book.book.vo.BookInfo4ScanCount;
import com.pcloud.book.book.vo.BookServesListDTO;
import com.pcloud.book.book.vo.ErpAdviserBookVO;
import com.pcloud.book.book.vo.request.RelateRaysBookApprovalVO;
import com.pcloud.book.es.entity.ESBookAndAdviser;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.apache.ibatis.session.ResultHandler;
......@@ -434,4 +435,12 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap.put("isOpenCatalog", isOpenCatalog);
getSessionTemplate().update(getStatement("updateOpenCatalogState"), paramMap);
}
@Override
public int updateRaysField4Erp(List<RelateRaysBookApprovalVO> approvalList, Integer isApproval) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("isApproval",isApproval);
paramMap.put("approvalList", approvalList);
return getSessionTemplate().update(getStatement("updateRaysField4Erp"), paramMap);
}
}
......@@ -158,7 +158,15 @@ public interface BookFacade {
@ApiImplicitParam(name = "bookStatus", value = "图书版权保护状态", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "hasQrcode", value = "只看有二维码", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "isPrint", value = "是否已下印", dataType = "Boolean", paramType = "query"),
@ApiImplicitParam(name = "minimumSupport", value = "是否保底支持", dataType = "int", paramType = "query")
@ApiImplicitParam(name = "isApproval", value = "是否已立项", dataType = "Boolean", paramType = "query"),
@ApiImplicitParam(name = "minimumSupport", value = "是否保底支持", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "proLabelId", value = "专业", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "depLabelId", value = "深度", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "purLabelId", value = "目的", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "areaLabelId", value = "地域", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "graLabelId", value = "年级", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "subLabelId", value = "科目", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "verLabelId", value = "版本", dataType = "int", paramType = "query")
})
@RequestMapping(value = "listPage4Adviser", method = RequestMethod.GET)
ResponseDto<PageBean> getListPage4Adviser(@RequestHeader("token") String token,
......@@ -178,6 +186,7 @@ public interface BookFacade {
@RequestParam(value = "thirdTempletId", required = false) Long thirdTempletId,
@RequestParam(value = "hasQrcode",required = false) Integer hasQrcode,
@RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "isApproval", required = false) Boolean isApproval,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport,
@RequestParam(value = "proLabelId", required = false) Integer proLabelId,
@RequestParam(value = "depLabelId", required = false) Integer depLabelId,
......@@ -195,7 +204,8 @@ public interface BookFacade {
})
@GetMapping("getList4Adviser")
ResponseDto<List<BookDto>> getList4Adviser(@RequestHeader("token") String token, @RequestParam(value = "num") Integer num,
@RequestParam(value = "isPrint", required = false) Boolean isPrint) throws BizException, PermissionException, JsonParseException;
@RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "isApproval", required = false) Boolean isApproval) throws BizException, PermissionException, JsonParseException;
@ApiOperation(value = "获取书籍的详细信息(微信客户端)", httpMethod = "GET")
@ApiImplicitParams({
......
......@@ -25,6 +25,8 @@ import com.pcloud.book.book.vo.BookServeInfo;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO;
import com.pcloud.book.book.vo.request.RelateRaysBookApprovalVO;
import com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
......@@ -433,4 +435,11 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
bookAdviserBiz.updateOpenCatalogState(bookId, adviserId, channelId, isOpenCatalog);
return new ResponseDto<>();
}
@ApiOperation("更新字段")
@PostMapping("updateRaysField4Erp")
public ResponseDto<?> updateRaysField4Erp(@RequestBody List<RelateRaysBookApprovalVO> relateRaysBookList) {
bookAdviserBiz.updateRaysField4Erp(relateRaysBookList);
return new ResponseDto<>();
}
}
......@@ -276,6 +276,7 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "thirdTempletId", required = false) Long thirdTempletId,
@RequestParam(value = "hasQrcode", required = false) Integer hasQrcode,
@RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "isApproval", required = false) Boolean isApproval,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport,
@RequestParam(value = "proLabelId", required = false) Integer proLabelId,
@RequestParam(value = "depLabelId", required = false) Integer depLabelId,
......@@ -310,6 +311,7 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("thirdTempletId", thirdTempletId);
paramMap.put("thirdTempletIds", Optional.ofNullable(paramMap.get("thirdTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
paramMap.put("isPrint", isPrint);
paramMap.put("isApproval", isApproval);
paramMap.put("minimumSupport", minimumSupport);
paramMap.put("proLabelId", proLabelId);
paramMap.put("depLabelId", depLabelId);
......@@ -325,9 +327,10 @@ public class BookFacadeImpl implements BookFacade {
@GetMapping("getList4Adviser")
@Override
public ResponseDto<List<BookDto>> getList4Adviser( @RequestHeader("token") String token, @RequestParam(value = "num") Integer num,
@RequestParam(value = "isPrint", required = false) Boolean isPrint ) throws BizException, PermissionException {
@RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "isApproval", required = false) Boolean isApproval) throws BizException, PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
List<BookDto> bookDtos = bookBiz.getList4Adviser(adviserId, num, isPrint);
List<BookDto> bookDtos = bookBiz.getList4Adviser(adviserId, num, isPrint, isApproval);
return new ResponseDto<>(ListUtils.isEmpty(bookDtos) ? Lists.newArrayList() : bookDtos);
}
......
package com.pcloud.book.book.vo.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class RelateRaysBookApprovalVO {
@ApiModelProperty("Rays端bookId")
private Long bookId;
@ApiModelProperty("Rays端adviserId")
private Long adviserId;
@ApiModelProperty("Rays端channelId")
private Long channelId;
@ApiModelProperty("是否立项;0:未立项;1:已立项;")
private Integer isApproval;
}
......@@ -162,8 +162,6 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
Map<String, BrowseCacheRecordDto> bookSvUvPvMap = browseRecordConsr.getBookSvUvPv(new ArrayList<>(adviserIds),new ArrayList<>(channelIds),new ArrayList<>(searchBookIds));
// 获取书刊累计收益(销售额)
Map<String, IncomeBackDto> bookIncomeMap = tradeConsr.getBookIncome(bookIncomeQueryVos, null);
// 获取书刊是否立项
Map<String, ErpBookApprovalDTO> erpBookApprovalMap = erpConsr.getIsApproval(new ArrayList<>(sourceAdviserIds), new ArrayList<>(sourceChannelIds), new ArrayList<>(sourceBookIds));
for (ESBookAndAdviser bookAndAdviser : list){
String key = bookAndAdviser.getBookId() + "-" + bookAndAdviser.getAdviserId() + "-" + bookAndAdviser.getChannelId();
Integer resourceCount=0;
......@@ -192,9 +190,6 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
fundBookValue = income.multiply(new BigDecimal(10)).add(new BigDecimal(scanCount*3)).add(new BigDecimal(browseCounts));
}
bookAndAdviser.setFundBookValue(fundBookValue == null?BigDecimal.ZERO:fundBookValue);
if(!MapUtils.isEmpty(erpBookApprovalMap) && erpBookApprovalMap.containsKey(key)){
bookAndAdviser.setIsApproval(erpBookApprovalMap.get(key).getIsApproval());
}
Long adviserId = Long.valueOf(bookAndAdviser.getAdviserId());
Long bookId = Long.valueOf(bookAndAdviser.getBookId());
Long channelId = Long.valueOf(bookAndAdviser.getChannelId());
......
......@@ -529,7 +529,7 @@
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, if(G.ID IS NULL, A.LAST_MODIFIED_DATE, G.UPDATE_TIME) LAST_MODIFIED_DATE,
A.BOOK_ADVISER_ID,I.BOOK_STATUS, CONCAT('BK',A.BOOK_ID) uniqueNumber, if(G.ID IS NULL, 0, 1) isBookGroup, A.IS_PRINT isPrint,
G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName,
G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName,A.is_approval isApproval,
G.join_group_type,a.is_open_robot_process,G.single_group singleGroup, G.related_book_group_id relatedBookGroupId,
IF(ISNULL(s.id),0,1) minimumSupport, A.is_open_catalog
FROM
......@@ -620,6 +620,9 @@
AND
A.IS_PRINT = #{isPrint}
</if>
<if test="isApproval != null">
AND A.is_approval = #{isApproval}
</if>
<if test="bookIds != null">
<foreach collection="bookIds" index="index" item="item" open="and (" separator="or" close=")">
<if test="item.bookId != null and item.channelId != null">
......@@ -2473,6 +2476,7 @@
IF(A.AREA_LABEL_ID is NULL, 0, A.AREA_LABEL_ID) areaLabelId,
IF(A.VER_LABEL_ID is NULL, 0, A.VER_LABEL_ID) verLabelId,
IF(A.vol_label_id is NULL, 0, A.vol_label_id) volLabelId,
A.is_approval isApproval,
G.id bookGroupId,
G.join_group_type joinGroupType,
IF((BF.BOOK_FUND_ID>0 OR f.IS_FREEZE = 1),1,0) isFundSupport,
......@@ -2512,6 +2516,7 @@
IF(A.AREA_LABEL_ID is NULL, 0, A.AREA_LABEL_ID) areaLabelId,
IF(A.VER_LABEL_ID is NULL, 0, A.VER_LABEL_ID) verLabelId,
IF(A.vol_label_id is NULL, 0, A.vol_label_id) volLabelId,
A.is_approval isApproval,
G.id bookGroupId,
G.join_group_type joinGroupType,
IF((BF.BOOK_FUND_ID>0 OR f.IS_FREEZE = 1),1,0) isFundSupport,
......
......@@ -1221,4 +1221,12 @@
</foreach>
</select>
<update id="updateRaysField4Erp" parameterType="map">
UPDATE book_adviser SET is_approval = #{isApproval}, LAST_MODIFIED_DATE = NOW()
WHERE
<foreach collection="approvalList" item="item" open="(" close=")" separator=" OR ">
book_id = #{item.bookId} AND adviser_id = #{item.adviserId} AND channel_id = #{item.channelId}
</foreach>
</update>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment