今天在编写一个返回对象VO时,需要做一些处理,返回对象VO如下:
CollectListVO
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@ApiModel(value = "收藏列表")
public class CollectListVO {
/**
* 活动列表,协办单位
*/
@ApiModelProperty(value = "活动:协办单位字符串")
private String strSupportOrg;
/**
* 活动列表
*/
@ApiModelProperty(value = "活动列表")
private List<CollectActivityVO> activityVOList;
}
CollectActivityVO
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@ApiModel(value = "收藏活动列表")
public class CollectActivityVO {
/**
* id
*/
@ApiModelProperty(value = "ID")
private String id;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
/**
* 发布单位
*/
@ApiModelProperty(value = "发布单位")
private String publishOrg;
/**
* 协办单位
*/
@ApiModelProperty(value = "协办单位")
private List<String> supportOrg;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 封面图
*/
@ApiModelProperty(value="封面图")
private String coverImg;
/** 开始时间 */
@ApiModelProperty(value = "开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime beginDate;
/** 结束日期 */
@ApiModelProperty(value = "结束日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDate;
/**
* 收藏状态
*/
@ApiModelProperty(value="收藏状态:0正常,1取消收藏")
private String collectStatus;
}
因为我们的协办单位在数据库中是利用(,)逗号进行分割的,但是我们返回给前端的时候,需要转换成list,所以需要对其进行分割并且将解决赋值给CollectActivityVO中的supportOrg,我们可以利用stream流来操作,业务代码如下:
List<CollectListVO> collectListVOS = collectMapper.getListActivity();
for (CollectListVO cList: collectListVOS) {
cList.getActivityVOList().stream().forEach(e->{
e.setSupportOrg(Arrays.asList(cList.getStrSupportOrg().split(",")));
});
cList.setStrSupportOrg(null);
}
return collectListVOS;
根据以上操作便能成功将分割后的对象保存到CollectActivityVO中的supportOrg中。