package cn.iocoder.yudao.module.mp.convert.material; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mp.controller.admin.material.vo.MpMaterialRespVO; import cn.iocoder.yudao.module.mp.controller.admin.material.vo.MpMaterialUploadRespVO; import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; import cn.iocoder.yudao.module.mp.dal.dataobject.material.MpMaterialDO; import me.chanjar.weixin.mp.bean.material.WxMpMaterial; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; import java.io.File; @Mapper public interface MpMaterialConvert { MpMaterialConvert INSTANCE = Mappers.getMapper(MpMaterialConvert.class); @Mappings({ @Mapping(target = "id", ignore = true), @Mapping(source = "account.id", target = "accountId"), @Mapping(source = "account.appId", target = "appId"), @Mapping(source = "name", target = "name") }) MpMaterialDO convert(String mediaId, String type, String url, MpAccountDO account, String name); @Mappings({ @Mapping(target = "id", ignore = true), @Mapping(source = "account.id", target = "accountId"), @Mapping(source = "account.appId", target = "appId"), @Mapping(source = "name", target = "name") }) MpMaterialDO convert(String mediaId, String type, String url, MpAccountDO account, String name, String title, String introduction, String mpUrl); MpMaterialUploadRespVO convert(MpMaterialDO bean); default WxMpMaterial convert(String name, File file, String title, String introduction) { return new WxMpMaterial(name, file, title, introduction); } PageResult convertPage(PageResult page); }