Commit a2490537 by 阮思源

Merge branch 'feat-1002563' into 'master'

1002563方案等待阶段有一个网址链接文案可以让用户看对应书籍配套资源

See merge request rays/pcloud-book!537
parents e3fce1ab ebc07522
......@@ -9,6 +9,7 @@ import com.pcloud.book.custom.vo.CustomPlanPaperVO;
import com.pcloud.book.custom.vo.EditCustomPlanModuleVO;
import com.pcloud.book.custom.vo.ModuleSuggestionVO;
import com.pcloud.book.custom.vo.SuggestionListVO;
import com.pcloud.book.custom.vo.UserBookServiceVO;
import com.pcloud.common.page.PageBeanNew;
import org.apache.ibatis.annotations.Param;
......@@ -52,4 +53,6 @@ public interface CustomPlanBiz {
Integer addBookNameAndServiceType(AddBookNameVO addBookNameVO);
AddBookNameVO getUserBookAdnServiceType(String wxId, String robotWxId, Integer type);
UserBookServiceVO getUserBookServiceById(Long userBookServiceId);
}
......@@ -27,11 +27,13 @@ import com.pcloud.book.custom.vo.EditCustomPlanModuleVO;
import com.pcloud.book.custom.vo.ModuleSuggestionVO;
import com.pcloud.book.custom.vo.SuggestionListVO;
import com.pcloud.book.custom.vo.ToPdfVO;
import com.pcloud.book.custom.vo.UserBookServiceVO;
import com.pcloud.book.group.biz.WeixinQrcodeBiz;
import com.pcloud.book.group.tools.Kit;
import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ListUtils;
......@@ -399,4 +401,10 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
public AddBookNameVO getUserBookAdnServiceType(String wxId, String robotWxId, Integer type) {
return customPlanModuleSuggestionMapper.getUserBookAdnServiceType(wxId, robotWxId, type);
}
@ParamLog("根据id获取用户埋点书名")
@Override
public UserBookServiceVO getUserBookServiceById(Long userBookServiceId) {
return customPlanModuleSuggestionMapper.getUserBookServiceById(userBookServiceId);
}
}
......@@ -188,4 +188,12 @@ public class CustomPlanFacade {
return new ResponseDto<>(customPlanBiz.getUserBookAdnServiceType(wxId, robotWxId, type));
}
@ApiOperation("根据id获取用户埋点书名")
@GetMapping("getUserBookServiceById")
ResponseDto<?> getUserBookServiceById(
@RequestParam("userBookServiceId") Long userBookServiceId
){
return new ResponseDto<>(customPlanBiz.getUserBookServiceById(userBookServiceId));
}
}
......@@ -6,6 +6,7 @@ import com.pcloud.book.custom.vo.AddBookNameVO;
import com.pcloud.book.custom.vo.AddCustomPlan4UserVO;
import com.pcloud.book.custom.vo.ModuleSuggestionVO;
import com.pcloud.book.custom.vo.SuggestionListVO;
import com.pcloud.book.custom.vo.UserBookServiceVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
......@@ -36,4 +37,8 @@ public interface CustomPlanModuleSuggestionMapper {
Integer addBookNameAndServiceType(AddBookNameVO addBookNameVO);
AddBookNameVO getUserBookAdnServiceType(@Param("wxId") String wxId, @Param("robotWxId") String robotWxId, @Param("type") Integer type);
UserBookServiceVO getLastUserBookService(@Param("wxId") String wxId, @Param("robotWxId") String robotWxId);
UserBookServiceVO getUserBookServiceById(@Param("userBookServiceId") Long userBookServiceId);
}
\ No newline at end of file
package com.pcloud.book.custom.vo;
import lombok.Data;
@Data
public class UserBookServiceVO {
private Long id;
private String wxId;
private String bookName;
private String serviceType;
private String robotWxId;
}
......@@ -6,6 +6,8 @@ import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper;
import com.pcloud.book.custom.vo.AddBookNameVO;
import com.pcloud.book.custom.vo.UserBookServiceVO;
import com.pcloud.book.keywords.enums.ReplyTypeEnum;
import com.pcloud.book.mq.delay.DelayMessageSender;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotClassifyDao;
......@@ -761,6 +763,22 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
}
content = replaceUserSendContent(content, robotId, userWxId);
content = replaceReadingStyle(content, robotId, userWxId);
content = replaceBookSearch(content, robotId, userWxId);
return content;
}
@ParamLog("替换书籍搜索")
private String replaceBookSearch(String content, String robotId, String userWxId) {
if(content.indexOf(PersonalStageConstant.BOOK_SEARCH) > -1){
//查询用户最近搜索的书
UserBookServiceVO userBookServiceVO = customPlanModuleSuggestionMapper.getLastUserBookService(userWxId, robotId);
if (userBookServiceVO!=null){
Long userBookServiceId=userBookServiceVO.getId();
String h5link = wechatLinkPrefix +"/dialog/search?wxId=" + userWxId +"&robotWxId=" + robotId + "&userBookServiceId=" +userBookServiceId;
String linkUrl = UrlUtils.getShortUrl4Own(h5link);
content = content.replace(PersonalStageConstant.BOOK_SEARCH, linkUrl);
}
}
return content;
}
......
......@@ -34,6 +34,11 @@ public class PersonalStageConstant {
//定制方案占位符
public static final String CUSTOM_PLAN = "${CUSTOM_PLAN}";
/**
* 书籍搜索占位符
*/
public static final String BOOK_SEARCH = "${BOOK_SEARCH}";
}
......@@ -129,4 +129,34 @@
order by create_time desc
limit 1
</select>
<select id="getLastUserBookService" resultType="com.pcloud.book.custom.vo.UserBookServiceVO">
SELECT
id id,
wx_id wxId,
robot_wx_id robotWxId,
book_name bookName,
service_type serviceType
FROM
user_book_service
WHERE
book_name is not null
and wx_id = #{wxId}
AND robot_wx_id = #{robotWxId}
order by create_time desc
limit 1
</select>
<select id="getUserBookServiceById" resultType="com.pcloud.book.custom.vo.UserBookServiceVO">
SELECT
id id,
wx_id wxId,
robot_wx_id robotWxId,
book_name bookName,
service_type serviceType
FROM
user_book_service
where id=#{userBookServiceId}
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