Commit 514619ea by 吴博

feat: [1004229] 推公众号时推小程序链接

parent 1c03d6fa
......@@ -781,6 +781,19 @@ public class BookDto extends BaseDto {
*/
private Boolean minimumSupport;
/**
*扫公众号码是否推小程序链接
*/
private Integer isSendMiniUrl;
public Integer getIsSendMiniUrl() {
return isSendMiniUrl;
}
public void setIsSendMiniUrl(Integer isSendMiniUrl) {
this.isSendMiniUrl = isSendMiniUrl;
}
public Boolean getMinimumSupport() {
return minimumSupport;
}
......
......@@ -15,6 +15,7 @@ import com.pcloud.book.book.dto.BookVarietyStatsDto;
import com.pcloud.book.book.dto.BookVarietyStatsRequestDto;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import io.swagger.annotations.Api;
......@@ -164,4 +165,16 @@ public interface BookAdviserService {
@ApiOperation("根据出版ID获取图书数量")
ResponseEntity<ResponseDto<Integer>> getBookCountByAgentId(@RequestParam("agentId") Long agentId) throws BizException;
@GetMapping("getBookByBookIdAdviserIdChannelId")
@ApiOperation("根据ID获取图书信息")
ResponseEntity<ResponseDto<BookDto>> getBookByBookIdAdviserIdChannelId(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId);
@GetMapping("getBookAppletByBookId")
@ApiOperation("根据bookID获取小程序码")
ResponseEntity<ResponseDto<BookAppletSceneDTO>> getBookAppletByBookId(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId);
}
......@@ -246,4 +246,8 @@ public interface BookGroupService {
@ApiOperation("获取社群书信息-渠道用")
@GetMapping("getBookNameByBookGroupId4Channel")
ResponseEntity<ResponseDto<Map<String, Object>>> getBookNameByBookGroupId4Channel(@RequestParam("bookGroupId") Long bookGroupId);
@ApiOperation("通过自有码sceneId查询小程序相关信息")
@PostMapping("getOneBookAppletBySceneIds")
ResponseEntity<ResponseDto<BookAppletSceneDTO>> getOneBookAppletBySceneIds(@RequestBody List<Long> sceneIds);
}
......@@ -25,6 +25,7 @@ import com.pcloud.book.book.vo.AgentBookStatsDetailVO;
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.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
......@@ -324,4 +325,31 @@ public interface BookAdviserBiz {
* 导出编辑书刊列表(ERP项目用)
*/
Map<String,Object> exportAdviserBook4Erp(String isbn, String uniqueNumber, String adviserName, Long agentId);
/**
*扫公众号码是否推小程序链接
* @param bookId
* @param adviserId
* @param channelId
* @param isSendMiniUrl 0 关闭 1 打开
*/
void updateSendMiniUrlState(Long bookId, Long adviserId, Long channelId, Integer isSendMiniUrl);
/**
*
* @param bookId
* @param channelId
* @param adviserId
* @return
*/
BookDto getBookByBookIdAdviserIdChannelId(Long bookId, Long channelId, Long adviserId);
/**
*
* @param bookId
* @param channelId
* @param adviserId
* @return
*/
BookAppletSceneDTO getBookAppletByBookId(Long bookId, Long channelId, Long adviserId);
}
......@@ -58,10 +58,13 @@ import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dao.BookAppletSceneDao;
import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.entity.BookAppletScene;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.dao.RightsSettingDAO;
......@@ -192,6 +195,8 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
private AgentConsr agentConsr;
@Autowired
private MessageConsr messageConsr;
@Autowired
private BookAppletSceneDao bookAppletSceneDao;
@Override
public List<BookDto> listByAdviserId(Long adviserId) {
......@@ -2119,6 +2124,24 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
return result;
}
@Override
@ParamLog("扫公众号码是否推小程序链接")
public void updateSendMiniUrlState(Long bookId, Long adviserId, Long channelId, Integer isSendMiniUrl) {
bookAdviserDao.updateSendMiniUrlState(bookId, adviserId, channelId, isSendMiniUrl);
}
@Override
public BookDto getBookByBookIdAdviserIdChannelId(Long bookId, Long channelId, Long adviserId) {
return bookAdviserDao.getBookByBookIdAdviserIdChannelId(bookId, channelId, adviserId);
}
@Override
@ParamLog("通过bookid获取小程序码")
public BookAppletSceneDTO getBookAppletByBookId(Long bookId, Long channelId, Long adviserId) {
return bookAppletSceneDao.getBookAppletByBookId(bookId, channelId, adviserId);
}
private void setBookInfo4Erp(List<ErpAdviserBookVO> bookVOS) {
List<Long> adviserIds = bookVOS.stream().filter(s -> s.getAdviserId() != null).map(ErpAdviserBookVO::getAdviserId).distinct().collect(Collectors.toList());
List<Long> channelIds = bookVOS.stream().filter(s -> s.getChannelId() != null).map(ErpAdviserBookVO::getChannelId).distinct().collect(Collectors.toList());
......
......@@ -10,6 +10,7 @@ import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO;
import com.pcloud.book.book.dto.BookCountByAdvisersDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.ERPPublishNumDTO;
import com.pcloud.book.book.dto.ErpBookInfoDTO;
import com.pcloud.book.book.entity.BookAdviser;
......@@ -310,4 +311,8 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
void syncTempletId4ES(ResultHandler<ESBookAndAdviser> resultHandler);
List<BookInfo4ScanCount> listBookInfo4ScanCount(List<Long> adviserIds, List<Long> channelIds, List<Long> bookIds);
void updateSendMiniUrlState(Long bookId, Long adviserId, Long channelId, Integer isSendMiniUrl);
BookDto getBookByBookIdAdviserIdChannelId(Long bookId, Long channelId, Long adviserId1);
}
......@@ -15,6 +15,7 @@ import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountAndAdviserIdDTO;
import com.pcloud.book.book.dto.BookCountByAdvisersDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.ERPPublishNumDTO;
import com.pcloud.book.book.dto.ErpBookInfoDTO;
import com.pcloud.book.book.entity.BookAdviser;
......@@ -377,4 +378,23 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
param.put("bookIds",bookIds);
return getSessionTemplate().selectList(getStatement("listBookInfo4ScanCount"), param);
}
@Override
public void updateSendMiniUrlState(Long bookId, Long adviserId, Long channelId, Integer isSendMiniUrl) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId",bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
paramMap.put("isSendMiniUrl", isSendMiniUrl);
getSessionTemplate().update(getStatement("updateSendMiniUrlState"), paramMap);
}
@Override
public BookDto getBookByBookIdAdviserIdChannelId(Long bookId, Long channelId, Long adviserId) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId",bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
return getSessionTemplate().selectOne(getStatement("getBookByBookIdAdviserIdChannelId"), paramMap);
}
}
......@@ -21,6 +21,7 @@ import com.pcloud.book.book.facade.BookAdviserFacade;
import com.pcloud.book.book.vo.AgentBookStatsDetailVO;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
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;
......@@ -356,4 +357,14 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
@RequestParam("channelId") Long channelId){
return new ResponseDto<>(bookAdviserBiz.getAnswerServesByBook(bookId, adviserId, channelId));
}
@RequestMapping(value = "updateSendMiniUrlState", method = RequestMethod.GET)
public ResponseDto<?> updateSendMiniUrlState(@RequestHeader("token") String token,
@RequestParam(value = "bookId") Long bookId,
@RequestParam(value = "channelId") Long channelId,
@RequestParam(value = "isSendMiniUrl") Integer isSendMiniUrl) throws PermissionException {
Long adviserId = (Long)SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
bookAdviserBiz.updateSendMiniUrlState(bookId, adviserId, channelId, isSendMiniUrl);
return new ResponseDto<>();
}
}
......@@ -18,6 +18,7 @@ import com.pcloud.book.book.dto.BookVarietyStatsRequestDto;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.service.BookAdviserService;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
......@@ -177,4 +178,21 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Integer>> getBookCountByAgentId(@RequestParam("agentId") Long agentId) throws BizException{
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookCount(agentId));
}
@Override
@GetMapping("getBookByBookIdAdviserIdChannelId")
public ResponseEntity<ResponseDto<BookDto>>getBookByBookIdAdviserIdChannelId(
@RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId) {
BookDto bookDto = bookAdviserBiz.getBookByBookIdAdviserIdChannelId(bookId,channelId,adviserId);
return ResponseHandleUtil.toResponse(bookDto);
}
@Override
@GetMapping("getBookAppletByBookId")
public ResponseEntity<ResponseDto<BookAppletSceneDTO>> getBookAppletByBookId(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookAppletByBookId(bookId, channelId, adviserId));
}
}
......@@ -1036,4 +1036,6 @@ public interface BookGroupBiz {
List<Long> getBookGroupIdInAgents(List<Long> agentIds);
void fillBookServe4RightsSetting(List<BookServeDTO> bookServeVOS);
BookAppletSceneDTO getOneBookAppletBySceneIds(List<Long> sceneIds);
}
......@@ -6470,4 +6470,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
serveDTOList.removeAll(removeList);
}
@Override
@ParamLog("通过自有码sceneId查询小程序相关信息")
public BookAppletSceneDTO getOneBookAppletBySceneIds(List<Long> sceneIds) {
if (ListUtils.isEmpty(sceneIds)) {
return new BookAppletSceneDTO();
}
BookAppletSceneDTO bookAppletSceneDTO = bookAppletSceneDao.getBySceneIds(sceneIds);
return bookAppletSceneDTO;
}
}
package com.pcloud.book.group.dao;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.entity.BookAppletScene;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* 社群书小程序码
*/
......@@ -36,4 +39,20 @@ public interface BookAppletSceneDao extends BaseDao<BookAppletScene> {
public void deleteByBookGroupId(Long bookGroupId);
BookAppletScene getBySceneId(Long sceneId);
/**
* 通过自有码sceneId查询小程序相关信息
* @param sceneIds
* @return
*/
BookAppletSceneDTO getBySceneIds(List<Long> sceneIds);
/**
* 根据bookid获取小程序码
* @param bookId
* @param channelId
* @param adviserId
* @return
*/
BookAppletSceneDTO getBookAppletByBookId(Long bookId, Long channelId, Long adviserId);
}
package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.BookAppletSceneDao;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.entity.BookAppletScene;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -40,4 +42,18 @@ public class BookAppletSceneDaoImpl extends BaseDaoImpl<BookAppletScene> impleme
public BookAppletScene getBySceneId(Long sceneId) {
return getSessionTemplate().selectOne(getStatement("getBySceneId"), sceneId);
}
@Override
public BookAppletSceneDTO getBySceneIds(List<Long> sceneIds) {
return getSessionTemplate().selectOne(getStatement("getBySceneIds"), sceneIds);
}
@Override
public BookAppletSceneDTO getBookAppletByBookId(Long bookId, Long channelId, Long adviserId) {
Map<String,Object> map = new HashMap<>();
map.put("bookId", bookId);
map.put("channelId", channelId);
map.put("adviserId", adviserId);
return getSessionTemplate().selectOne(getStatement("getBookAppletByBookId"), map);
}
}
......@@ -429,4 +429,12 @@ public class BookGroupServiceImpl implements BookGroupService {
public ResponseEntity<ResponseDto<Map<String, Object>>> getBookNameByBookGroupId4Channel(@RequestParam("bookGroupId") Long bookGroupId){
return ResponseHandleUtil.toResponse(bookGroupBiz.getBookNameByBookGroupId(bookGroupId));
}
@ApiOperation("通过自有码sceneId查询小程序相关信息")
@PostMapping("getOneBookAppletBySceneIds")
@Override
public ResponseEntity<ResponseDto<BookAppletSceneDTO>> getOneBookAppletBySceneIds(@RequestBody List<Long> sceneIds) {
BookAppletSceneDTO bookAppletSceneDTO = bookGroupBiz.getOneBookAppletBySceneIds(sceneIds);
return ResponseHandleUtil.toResponse(bookAppletSceneDTO);
}
}
......@@ -71,6 +71,7 @@
<result column="edition" property="edition" jdbcType="VARCHAR" />
<result column="minimumSupport" property="minimumSupport" jdbcType="BIT" />
<result column="third_templet_id" property="thirdTempletId" jdbcType="BIGINT" />
<result column="is_send_mini_url" property="isSendMiniUrl" jdbcType="BIT" />
</resultMap>
<resultMap id="bookListPageMap" type="bookDto" extends ="bookMap">
......@@ -314,7 +315,7 @@
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,START_TIME,END_TIME,BA.TEMPLET_ID,BA.SECOND_TEMPLET_ID,BA.third_templet_id,
BA.GRA_LABEL_ID,BA.SUB_LABEL_ID,BA.VER_LABEL_ID,BA.AREA_LABEL_ID, BA.IS_PRINT isPrint,
BA.pro_label_id, BA.dep_label_id,BA.pur_label_id,BA.vol_label_id,if(G.ID IS NULL, 0, 1) isBookGroup, G.id BOOK_GROUP_ID,G.join_group_type,
BA.is_open_robot_process,BA.vol_label_id,b.unique_number,BA.CREATED_DATE,b.edition
BA.is_open_robot_process,BA.vol_label_id,b.unique_number,BA.CREATED_DATE,b.edition,BA.is_send_mini_url
FROM
BOOK_ADVISER BA
INNER JOIN
......
......@@ -1047,4 +1047,39 @@
</foreach>
</select>
<update id="updateSendMiniUrlState" parameterType="map">
update
book_adviser
set
is_send_mini_url = #{isSendMiniUrl}
where
BOOK_ID = #{bookId, jdbcType=BIGINT}
AND
ADVISER_ID = #{adviserId, jdbcType=BIGINT}
AND
CHANNEL_ID = #{channelId, jdbcType=BIGINT}
and
IS_DELETE = 0
</update>
<select id="getBookByBookIdAdviserIdChannelId" parameterType="map" resultMap="com.pcloud.book.book.dao.impl.BookDaoImpl.bookMap">
SELECT
B.BOOK_ID, B.TYPE_CODE,B.ISBN, B.BOOK_NAME,
B.REMARK, B.AUTHOR, B.PUBLISH,
B.PUBLISH_DATE, B.COVER_IMG, B.AD_IMG, B.DETAIL, B.`VERSION`,B.BOOK_PRICE,B.ISSN,B.SERIAL_NUMBER,BA.IS_MAIN_EDITOR,
BA.TEMPLET_ID,BA.SECOND_TEMPLET_ID,BA.third_templet_id,
BA.GRA_LABEL_ID,BA.SUB_LABEL_ID,BA.VER_LABEL_ID,BA.AREA_LABEL_ID, BA.IS_PRINT isPrint,
BA.pro_label_id, BA.dep_label_id,BA.pur_label_id,BA.vol_label_id,
BA.is_open_robot_process,BA.vol_label_id,b.unique_number,BA.CREATED_DATE,b.edition,BA.is_send_mini_url
FROM
BOOK_ADVISER BA
INNER JOIN
BOOK B
ON B.BOOK_ID = BA.BOOK_ID
where
B.BOOK_ID = #{bookId} AND BA.CHANNEL_ID = #{channelId} AND BA.ADVISER_ID = #{adviserId} AND BA.IS_DELETE = 0
LIMIT 1
</select>
</mapper>
......@@ -14,6 +14,9 @@
<result column="account_setting_id" property="accountSettingId" jdbcType="BIGINT"/>
</resultMap>
<resultMap id="BaseResultMap4DTO" type="com.pcloud.book.group.dto.BookAppletSceneDTO">
<result column="applet_id" property="appletId" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id, book_group_id, rays_classify_id, applet_id, applet_url, create_time, update_time, is_delete,scene_id,account_setting_id
......@@ -108,4 +111,32 @@
WHERE book_group_id=#{bookGroupId}
</update>
<select id="getBySceneIds" parameterType="list" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM book_applet_scene
WHERE scene_id
in
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND is_delete = 0
and applet_id is not null
limit 1
</select>
<select id="getBookAppletByBookId" parameterType="map" resultMap="BaseResultMap4DTO">
select
a.applet_id
FROM
book_applet_scene a
LEFT JOIN book_group b ON a.book_group_id = b.id
where
book_id = #{bookid}
and
channel_id = #{channelId}
and
create_user = #{adviserId}
limit 1
</select>
</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