案例萃取,案例浏览记录

This commit is contained in:
yang
2024-09-11 14:37:44 +08:00
parent 6a9deb1bac
commit ff43f046d0
3 changed files with 23 additions and 1 deletions

View File

@@ -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"));
} }

View File

@@ -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是案例IDbrowsingHistoryId是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());

View File

@@ -28,6 +28,8 @@ public class CasesBrowsingHistoryVo extends Cases{
* */ * */
// private Integer type; // private Integer type;
private String browsingHistoryId;
/** /**
* 动态的标题 * 动态的标题
*/ */