Files
youlai-boot/src/main/java/com/youlai/boot/system/converter/NoticeConverter.java
2024-09-29 23:01:36 +08:00

39 lines
1.2 KiB
Java

package com.youlai.boot.system.converter;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.system.model.bo.NoticeBO;
import com.youlai.boot.system.model.entity.Notice;
import com.youlai.boot.system.model.form.NoticeForm;
import com.youlai.boot.system.model.vo.NoticeDetailVO;
import com.youlai.boot.system.model.vo.NoticePageVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* 通知公告对象转换器
*
* @author youlaitech
* @since 2024-08-27 10:31
*/
@Mapper(componentModel = "spring")
public interface NoticeConverter{
@Mappings({
@Mapping(target = "targetUserIds", expression = "java(cn.hutool.core.util.StrUtil.split(entity.getTargetUserIds(),\",\"))")
})
NoticeForm toForm(Notice entity);
@Mappings({
@Mapping(target = "targetUserIds", expression = "java(cn.hutool.core.collection.CollUtil.join(formData.getTargetUserIds(),\",\"))")
})
Notice toEntity(NoticeForm formData);
NoticePageVO toPageVo(NoticeBO bo);
Page<NoticePageVO> toPageVo(Page<NoticeBO> noticePage);
NoticeDetailVO toDetailVO(NoticeBO noticeBO);
}