Commit 91ec974d by 田超

Merge branch 'feature/1005102-01' into 'master'

feat:[1005102]搜答案优化

See merge request rays/pcloud-book!1373
parents 129f4838 e1f62450
......@@ -76,6 +76,12 @@ public interface BookLabelBiz {
List<BookLabel> getBookLabelsByType(Integer labelType);
/**
* 添加书刊新标签
* @author:zhuyajie
* @date:2021/8/5 16:47
* * @param null
*/
void addBookNewLabel(List<Long> bookIds);
/**
......@@ -93,4 +99,12 @@ public interface BookLabelBiz {
* * @param null
*/
List<BookLabelTrim> getBookLabelTrimList(Integer type);
/**
* 更新昨日修改过的书刊的标签
* @author:zhuyajie
* @date:2021/8/5 16:53
* * @param null
*/
void updateYesterdayBookNewLabel();
}
......@@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookLabelBiz;
import com.pcloud.book.book.constant.BookConstant;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dao.BookLabelDao;
import com.pcloud.book.book.dao.BookLabelTrimDao;
......@@ -17,10 +18,13 @@ import com.pcloud.book.book.entity.BookLabelTrimRelate;
import com.pcloud.book.book.enums.BookLabelAuditState;
import com.pcloud.book.book.vo.BookLabelVO;
import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import com.pcloud.book.util.properties.BookProps;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtil;
......@@ -34,6 +38,8 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -58,6 +64,10 @@ public class BookLabelBizImpl implements BookLabelBiz {
private BookDao bookDao;
@Autowired
private BookLabelTrimDao bookLabelTrimDao;
@Autowired
private ESBookAndAdviserBiz esBookAndAdviserBiz;
@Autowired
private BookAdviserDao bookAdviserDao;
@Override
public void applyBookLabel(BookLabel bookLabel, String systemCode) {
......@@ -211,7 +221,16 @@ public class BookLabelBizImpl implements BookLabelBiz {
}
/* private Map<String, Object> getLabel(Long bookId, String bookName) {
/**
* 整理后的标签查询,只支持生产环境
* @author:zhuyajie
* @date:2021/8/5 16:43
* * @param null
*/
private Map<String, Object> getLabel(Long bookId, String bookName) {
if (!"pro".equals(BookProps.getSystemEnv())) {
return new HashMap<>();
}
Map<String, Object> labelMap = new HashMap<>();
try {
JSONObject dataJsonObj = new JSONObject();
......@@ -219,7 +238,7 @@ public class BookLabelBizImpl implements BookLabelBiz {
JSONObject jsonObject = new JSONObject();
jsonObject.put("data", dataJsonObj);
jsonObject.put("type", "book");
String response = HttpUtil.post("http://192.168.82.152:8000/getLabels", jsonObject.toString());
String response = HttpUtil.post("http://192.168.92.168:8000/getLabels", jsonObject.toString());
// 解析结果
JSONObject object = JSONObject.parseObject(response);
log.info("标签解析结果==" + object.toString());
......@@ -236,19 +255,24 @@ public class BookLabelBizImpl implements BookLabelBiz {
log.error("调用查标签失败" + e.getMessage(), e);
}
return labelMap;
}*/
}
@Override
public void addBookNewLabel(List<Long> bookIds) {
if(ListUtils.isEmpty(bookIds)) {
return;
}
if (!"pro".equals(BookProps.getSystemEnv())) {
//只支持查生产环境
return;
}
Map<Long,BookDto> bookDtoMap = bookDao.getMapByBookIds(bookIds);
if (MapUtils.isEmpty(bookDtoMap)) {
return;
}
/* List<BookLabelTrimRelate> list = new ArrayList<>();
for (BookDto bookDto:bookDtoMap.values()){
//已有标签
Map<Long,BookLabelTrimRelate> labelTrimRelateMap = bookLabelTrimRelateDao.mapBookTrimLabel(bookIds);
for (BookDto bookDto : bookDtoMap.values()) {
Map<String, Object> labelMap = this.getLabel(bookDto.getBookId(), bookDto.getBookName());
BookLabelTrimRelate labelTrimRelate = new BookLabelTrimRelate();
labelTrimRelate.setBookId(bookDto.getBookId());
......@@ -256,9 +280,17 @@ public class BookLabelBizImpl implements BookLabelBiz {
labelTrimRelate.setLabel2((String) labelMap.get("label2"));
labelTrimRelate.setLabel3((String) labelMap.get("label3"));
labelTrimRelate.setLabel4((String) labelMap.get("label4"));
list.add(labelTrimRelate);
if (!MapUtils.isEmpty(labelTrimRelateMap) && labelTrimRelateMap.containsKey(bookDto.getBookId())) {
//修改
BookLabelTrimRelate relate = labelTrimRelateMap.get(bookDto.getBookId());
labelTrimRelate.setId(relate.getId());
bookLabelTrimRelateDao.update(labelTrimRelate);
} else {
//新增
bookLabelTrimRelateDao.insert(labelTrimRelate);
}
}
bookLabelTrimRelateDao.insert(list);*/
esBookAndAdviserBiz.updateBookAndAdviserToES(bookIds);
}
@Override
......@@ -273,4 +305,15 @@ public class BookLabelBizImpl implements BookLabelBiz {
public List<BookLabelTrim> getBookLabelTrimList(Integer type) {
return bookLabelTrimDao.getBookLabelTrimList(type);
}
@Override
public void updateYesterdayBookNewLabel() {
Date yesterday = DateUtils.addDay(new Date(),-1);
String startTime = DateUtils.formatDate(DateUtils.getDayStart(yesterday), DateUtils.DATE_FORMAT_DATETIME);
String endTime = DateUtils.formatDate(DateUtils.getDayEnd(yesterday), DateUtils.DATE_FORMAT_DATETIME);
List<Long> bookIds = bookAdviserDao.getYesterdayUpdateBookIds(startTime, endTime);
if (!ListUtils.isEmpty(bookIds)) {
this.addBookNewLabel(bookIds);
}
}
}
......@@ -339,4 +339,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
void updateBookWechatAuth(Long bookId, Long adviserId, Long channelId, Integer isWechatAuth);
Integer getBookWechatAuth(Long bookId, Long adviserId, Long channelId);
List<Long> getYesterdayUpdateBookIds(String startTime, String endTime);
}
......@@ -485,4 +485,12 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap.put("adviserId", adviserId);
return getSessionTemplate().selectOne(getStatement("getBookWechatAuth"), paramMap);
}
@Override
public List<Long> getYesterdayUpdateBookIds(String startTime, String endTime) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("startTime",startTime);
paramMap.put("endTime", endTime);
return getSessionTemplate().selectList(getStatement("getYesterdayUpdateBookIds"), paramMap);
}
}
......@@ -141,6 +141,7 @@ public class BookLabelFacadeImpl {
}
@ApiOperation("添加书刊标签")
@PostMapping("addBookNewLabel")
public ResponseDto<?> addBookNewLabel(@RequestBody List<Long> bookIds) {
bookLabelBiz.addBookNewLabel(bookIds);
......@@ -153,4 +154,11 @@ public class BookLabelFacadeImpl {
@RequestParam(value = "type", required = false) Integer type) {
return new ResponseDto<>(bookLabelBiz.getBookLabelTrimList(type));
}
@ApiOperation("更新昨日修改过的书刊的标签")
@GetMapping("updateYesterdayBookNewLabel")
public ResponseDto<?> updateYesterdayBookNewLabel() {
bookLabelBiz.updateYesterdayBookNewLabel();
return new ResponseDto<>();
}
}
......@@ -1303,4 +1303,14 @@
is_delete = 0
limit 1
</select>
<select id="getYesterdayUpdateBookIds" parameterType="map" resultType="long">
SELECT
DISTINCT BOOK_ID
FROM
book_adviser
WHERE
LAST_MODIFIED_DATE BETWEEN #{startTime} AND #{endTime}
</select>
</mapper>
......@@ -54,12 +54,7 @@
<if test="label4 != null">
label4 = #{label4},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
update_time = now(),
</set>
where id = #{id}
</update>
......
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