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; ...@@ -9,6 +9,7 @@ import com.pcloud.book.custom.vo.CustomPlanPaperVO;
import com.pcloud.book.custom.vo.EditCustomPlanModuleVO; import com.pcloud.book.custom.vo.EditCustomPlanModuleVO;
import com.pcloud.book.custom.vo.ModuleSuggestionVO; import com.pcloud.book.custom.vo.ModuleSuggestionVO;
import com.pcloud.book.custom.vo.SuggestionListVO; import com.pcloud.book.custom.vo.SuggestionListVO;
import com.pcloud.book.custom.vo.UserBookServiceVO;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -52,4 +53,6 @@ public interface CustomPlanBiz { ...@@ -52,4 +53,6 @@ public interface CustomPlanBiz {
Integer addBookNameAndServiceType(AddBookNameVO addBookNameVO); Integer addBookNameAndServiceType(AddBookNameVO addBookNameVO);
AddBookNameVO getUserBookAdnServiceType(String wxId, String robotWxId, Integer type); AddBookNameVO getUserBookAdnServiceType(String wxId, String robotWxId, Integer type);
UserBookServiceVO getUserBookServiceById(Long userBookServiceId);
} }
...@@ -27,11 +27,13 @@ import com.pcloud.book.custom.vo.EditCustomPlanModuleVO; ...@@ -27,11 +27,13 @@ import com.pcloud.book.custom.vo.EditCustomPlanModuleVO;
import com.pcloud.book.custom.vo.ModuleSuggestionVO; import com.pcloud.book.custom.vo.ModuleSuggestionVO;
import com.pcloud.book.custom.vo.SuggestionListVO; import com.pcloud.book.custom.vo.SuggestionListVO;
import com.pcloud.book.custom.vo.ToPdfVO; 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.biz.WeixinQrcodeBiz;
import com.pcloud.book.group.tools.Kit; import com.pcloud.book.group.tools.Kit;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.util.common.ThreadPoolUtils; import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.BeanUtils; import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
...@@ -399,4 +401,10 @@ public class CustomPlanBizImpl implements CustomPlanBiz { ...@@ -399,4 +401,10 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
public AddBookNameVO getUserBookAdnServiceType(String wxId, String robotWxId, Integer type) { public AddBookNameVO getUserBookAdnServiceType(String wxId, String robotWxId, Integer type) {
return customPlanModuleSuggestionMapper.getUserBookAdnServiceType(wxId, robotWxId, 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 { ...@@ -188,4 +188,12 @@ public class CustomPlanFacade {
return new ResponseDto<>(customPlanBiz.getUserBookAdnServiceType(wxId, robotWxId, type)); 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; ...@@ -6,6 +6,7 @@ import com.pcloud.book.custom.vo.AddBookNameVO;
import com.pcloud.book.custom.vo.AddCustomPlan4UserVO; import com.pcloud.book.custom.vo.AddCustomPlan4UserVO;
import com.pcloud.book.custom.vo.ModuleSuggestionVO; import com.pcloud.book.custom.vo.ModuleSuggestionVO;
import com.pcloud.book.custom.vo.SuggestionListVO; import com.pcloud.book.custom.vo.SuggestionListVO;
import com.pcloud.book.custom.vo.UserBookServiceVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -36,4 +37,8 @@ public interface CustomPlanModuleSuggestionMapper { ...@@ -36,4 +37,8 @@ public interface CustomPlanModuleSuggestionMapper {
Integer addBookNameAndServiceType(AddBookNameVO addBookNameVO); Integer addBookNameAndServiceType(AddBookNameVO addBookNameVO);
AddBookNameVO getUserBookAdnServiceType(@Param("wxId") String wxId, @Param("robotWxId") String robotWxId, @Param("type") Integer type); 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; ...@@ -6,6 +6,8 @@ import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper; 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.keywords.enums.ReplyTypeEnum;
import com.pcloud.book.mq.delay.DelayMessageSender; import com.pcloud.book.mq.delay.DelayMessageSender;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotClassifyDao; import com.pcloud.book.pcloudkeyword.dao.PcloudRobotClassifyDao;
...@@ -761,6 +763,22 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -761,6 +763,22 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
} }
content = replaceUserSendContent(content, robotId, userWxId); content = replaceUserSendContent(content, robotId, userWxId);
content = replaceReadingStyle(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; return content;
} }
......
...@@ -34,6 +34,11 @@ public class PersonalStageConstant { ...@@ -34,6 +34,11 @@ public class PersonalStageConstant {
//定制方案占位符 //定制方案占位符
public static final String CUSTOM_PLAN = "${CUSTOM_PLAN}"; public static final String CUSTOM_PLAN = "${CUSTOM_PLAN}";
/**
* 书籍搜索占位符
*/
public static final String BOOK_SEARCH = "${BOOK_SEARCH}";
} }
...@@ -129,4 +129,34 @@ ...@@ -129,4 +129,34 @@
order by create_time desc order by create_time desc
limit 1 limit 1
</select> </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> </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