package jnpf.message.mapper; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jnpf.base.mapper.SuperMapper; import jnpf.message.entity.MessageTemplateConfigEntity; import jnpf.message.model.messagetemplateconfig.MessageTemplateConfigPagination; import jnpf.util.StringUtil; import java.lang.reflect.Field; import java.util.List; /** * 消息模板(新) * 版本: V3.2.0 * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) * 作者: JNPF开发平台组 * 日期: 2022-08-18 */ public interface MessageTemplateConfigMapper extends SuperMapper { default List getList(MessageTemplateConfigPagination MessageTemplateConfigPagination) { return getTypeList(MessageTemplateConfigPagination, MessageTemplateConfigPagination.getDataType()); } default List getTypeList(MessageTemplateConfigPagination MessageTemplateConfigPagination, String dataType) { QueryWrapper messageTemplateNewQueryWrapper = new QueryWrapper<>(); //关键字 if (ObjectUtil.isNotEmpty(MessageTemplateConfigPagination.getKeyword())) { messageTemplateNewQueryWrapper.lambda().and(t -> t.like(MessageTemplateConfigEntity::getEnCode, MessageTemplateConfigPagination.getKeyword()). or().like(MessageTemplateConfigEntity::getFullName, MessageTemplateConfigPagination.getKeyword())); } //模板类型 if (ObjectUtil.isNotEmpty(MessageTemplateConfigPagination.getTemplateType())) { messageTemplateNewQueryWrapper.lambda().eq(MessageTemplateConfigEntity::getTemplateType, MessageTemplateConfigPagination.getTemplateType()); } //消息类型 if (ObjectUtil.isNotEmpty(MessageTemplateConfigPagination.getMessageType())) { messageTemplateNewQueryWrapper.lambda().eq(MessageTemplateConfigEntity::getMessageType, MessageTemplateConfigPagination.getMessageType()); } //消息来源 if (ObjectUtil.isNotEmpty(MessageTemplateConfigPagination.getMessageSource())) { messageTemplateNewQueryWrapper.lambda().eq(MessageTemplateConfigEntity::getMessageSource, MessageTemplateConfigPagination.getMessageSource()); } //状态 if (ObjectUtil.isNotEmpty(MessageTemplateConfigPagination.getEnabledMark())) { int enabledMark = Integer.parseInt(MessageTemplateConfigPagination.getEnabledMark()); messageTemplateNewQueryWrapper.lambda().eq(MessageTemplateConfigEntity::getEnabledMark, enabledMark); } //排序 if (StringUtil.isEmpty(MessageTemplateConfigPagination.getSidx())) { messageTemplateNewQueryWrapper.lambda().orderByAsc(MessageTemplateConfigEntity::getSortCode).orderByDesc(MessageTemplateConfigEntity::getCreatorTime).orderByDesc(MessageTemplateConfigEntity::getLastModifyTime); } else { try { String sidx = MessageTemplateConfigPagination.getSidx(); MessageTemplateConfigEntity MessageTemplateConfigEntity = new MessageTemplateConfigEntity(); Field declaredField = MessageTemplateConfigEntity.getClass().getDeclaredField(sidx); declaredField.setAccessible(true); String value = declaredField.getAnnotation(TableField.class).value(); messageTemplateNewQueryWrapper = "asc".equals(MessageTemplateConfigPagination.getSort().toLowerCase()) ? messageTemplateNewQueryWrapper.orderByAsc(value) : messageTemplateNewQueryWrapper.orderByDesc(value); } catch (NoSuchFieldException e) { e.printStackTrace(); } } if (!"1".equals(dataType)) { Page page = new Page<>(MessageTemplateConfigPagination.getCurrentPage(), MessageTemplateConfigPagination.getPageSize()); IPage userIPage = this.selectPage(page, messageTemplateNewQueryWrapper); return MessageTemplateConfigPagination.setData(userIPage.getRecords(), userIPage.getTotal()); } else { return this.selectList(messageTemplateNewQueryWrapper); } } default MessageTemplateConfigEntity getInfo(String id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(MessageTemplateConfigEntity::getId, id); return this.selectOne(queryWrapper); } default MessageTemplateConfigEntity getInfoByEnCode(String enCode, String messageType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(MessageTemplateConfigEntity::getEnCode, enCode); queryWrapper.lambda().eq(MessageTemplateConfigEntity::getMessageType, messageType); return this.selectOne(queryWrapper); } default boolean isExistByFullName(String fullName, String id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(MessageTemplateConfigEntity::getFullName, fullName); if (!StringUtil.isEmpty(id)) { queryWrapper.lambda().ne(MessageTemplateConfigEntity::getId, id); } return this.selectCount(queryWrapper) > 0 ? true : false; } default boolean isExistByEnCode(String enCode, String id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(MessageTemplateConfigEntity::getEnCode, enCode); if (!StringUtil.isEmpty(id)) { queryWrapper.lambda().ne(MessageTemplateConfigEntity::getId, id); } return this.selectCount(queryWrapper) > 0 ? true : false; } }