mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 04:16:51 +08:00
案例萃取,案例浏览记录
This commit is contained in:
@@ -303,6 +303,7 @@ public class ThirdApi {
|
|||||||
builder.append("&pageSize=").append(URLEncoder.encode(param.getPageSize().toString(), "UTF-8"));
|
builder.append("&pageSize=").append(URLEncoder.encode(param.getPageSize().toString(), "UTF-8"));
|
||||||
builder.append("&contentType=").append(URLEncoder.encode(param.getContentType().toString(), "UTF-8"));
|
builder.append("&contentType=").append(URLEncoder.encode(param.getContentType().toString(), "UTF-8"));
|
||||||
builder.append("&aid=").append(URLEncoder.encode(param.getAid().toString(), "UTF-8"));
|
builder.append("&aid=").append(URLEncoder.encode(param.getAid().toString(), "UTF-8"));
|
||||||
|
builder.append("&eventKey=").append(URLEncoder.encode("ReadCase", "UTF-8"));
|
||||||
if (param.getHidden() != null) {
|
if (param.getHidden() != null) {
|
||||||
builder.append("&hidden=").append(URLEncoder.encode(param.getHidden(), "UTF-8"));
|
builder.append("&hidden=").append(URLEncoder.encode(param.getHidden(), "UTF-8"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.xboe.orm.CustomFieldInFilter;
|
|||||||
import com.xboe.school.vo.CasesVo;
|
import com.xboe.school.vo.CasesVo;
|
||||||
import com.xboe.standard.enums.BoedxResourceType;
|
import com.xboe.standard.enums.BoedxResourceType;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.beanutils.PropertyUtils;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@@ -1443,8 +1444,26 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
|
|
||||||
List<CasesBrowsingHistoryVo> batchHistoryVoList = allUserdynamicList.stream().map(userDynamic -> {
|
List<CasesBrowsingHistoryVo> batchHistoryVoList = allUserdynamicList.stream().map(userDynamic -> {
|
||||||
CasesBrowsingHistoryVo browsingHistoryVo = new CasesBrowsingHistoryVo();
|
CasesBrowsingHistoryVo browsingHistoryVo = new CasesBrowsingHistoryVo();
|
||||||
|
// 注意,两者存在重名属性,如ID,会出现覆盖。CasesBrowsingHistoryVo中的ID是案例ID,browsingHistoryId是UserDynamic的ID
|
||||||
BeanUtils.copyProperties(userDynamic, browsingHistoryVo);
|
BeanUtils.copyProperties(userDynamic, browsingHistoryVo);
|
||||||
BeanUtils.copyProperties(map.get(userDynamic.getContentId()), browsingHistoryVo);
|
browsingHistoryVo.setBrowsingHistoryId(userDynamic.getId());
|
||||||
|
browsingHistoryVo.setId(null);
|
||||||
|
if (map.containsKey(userDynamic.getContentId())){
|
||||||
|
// 确保copy案例时,不会覆盖数据
|
||||||
|
try {
|
||||||
|
// 检查并复制第二次
|
||||||
|
Map<String, Object> srcMap = PropertyUtils.describe(map.get(userDynamic.getContentId()));
|
||||||
|
for (String key : srcMap.keySet()) {
|
||||||
|
if (PropertyUtils.getProperty(browsingHistoryVo, key) == null) { // 只有当目标对象的属性为null时才复制
|
||||||
|
PropertyUtils.setProperty(browsingHistoryVo, key, srcMap.get(key));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e){
|
||||||
|
log.error("browsingHistoryVo copy error", e);
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
return browsingHistoryVo;
|
return browsingHistoryVo;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ public class CasesBrowsingHistoryVo extends Cases{
|
|||||||
* */
|
* */
|
||||||
// private Integer type;
|
// private Integer type;
|
||||||
|
|
||||||
|
private String browsingHistoryId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 动态的标题
|
* 动态的标题
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user