package jnpf.portal.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import jnpf.base.MyBatisPrimaryBase; import jnpf.base.mapper.SuperMapper; import jnpf.constant.MsgCode; import jnpf.portal.entity.PortalDataEntity; import jnpf.portal.model.PortalCustomPrimary; import jnpf.portal.model.PortalModPrimary; import jnpf.portal.model.PortalReleasePrimary; import jnpf.util.DateUtil; import java.util.List; /** *

* Mapper 接口 *

* * @author YanYu * @since 2023-04-19 */ public interface PortalDataMapper extends SuperMapper { default String getModelDataForm(PortalModPrimary primary) throws Exception { PortalDataEntity one = selectOne(primary.getQuery()); if (one != null) { return one.getFormData(); } else { insert(primary.getEntity()); } return ""; } default void deleteAll(String portalId) { QueryWrapper query = new QueryWrapper<>(); query.lambda().eq(PortalDataEntity::getPortalId, portalId); this.deleteByIds(this.selectList(query)); } /** * 创建或更新 *

* 门户ID ->(平台、系统ID、用户ID)-> 排版信息 * 基础:门户ID绑定排版信息(一对多)、 条件:平台、系统ID、用户ID */ default void createOrUpdate(PortalCustomPrimary primary, String formData) throws Exception { creUpCom(primary, formData); } default void createOrUpdate(PortalModPrimary primary, String formData) throws Exception { creUpCom(primary, formData); } default void createOrUpdate(PortalReleasePrimary primary, String formData) throws Exception { creUpCom(primary, formData); } default void creUpCom(MyBatisPrimaryBase primary, String formData) throws Exception { // 自定义数据变量条件:0、门户 1、用户 2、系统 3、平台 List list = this.selectList(primary.getQuery()); if (list.size() < 1) { PortalDataEntity creEntity = primary.getEntity(); creEntity.setFormData(formData); insert(creEntity); } else if (list.size() == 1) { PortalDataEntity upEntity = list.get(0); upEntity.setFormData(formData); upEntity.setLastModifyTime(DateUtil.getNowDate()); updateById(upEntity); } else { throw new Exception(MsgCode.VS414.get()); } } }