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.SendConfigTemplateEntity;
|
import jnpf.message.entity.SendMessageConfigEntity;
|
import jnpf.message.model.sendmessageconfig.SendMessageConfigPagination;
|
import jnpf.util.StringUtil;
|
import jnpf.util.UserProvider;
|
|
import java.lang.reflect.Field;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
*
|
* 消息发送配置
|
* 版本: V3.2.0
|
* 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
* 作者: JNPF开发平台组
|
* 日期: 2022-08-19
|
*/
|
public interface SendMessageConfigMapper extends SuperMapper<SendMessageConfigEntity> {
|
|
default List<SendMessageConfigEntity> getList(SendMessageConfigPagination sendMessageConfigPagination, String dataType) {
|
String userId = UserProvider.getUser().getUserId();
|
int total = 0;
|
int sendMessageConfigNum = 0;
|
QueryWrapper<SendMessageConfigEntity> sendMessageConfigQueryWrapper = new QueryWrapper<>();
|
int sendConfigTemplateNum = 0;
|
QueryWrapper<SendConfigTemplateEntity> sendConfigTemplateQueryWrapper = new QueryWrapper<>();
|
//关键字
|
if (ObjectUtil.isNotEmpty(sendMessageConfigPagination.getKeyword())) {
|
sendMessageConfigNum++;
|
sendMessageConfigQueryWrapper.lambda().and(t -> t.like(SendMessageConfigEntity::getEnCode, sendMessageConfigPagination.getKeyword()).
|
or().like(SendMessageConfigEntity::getFullName, sendMessageConfigPagination.getKeyword()));
|
}
|
//模板类型
|
if (ObjectUtil.isNotEmpty(sendMessageConfigPagination.getTemplateType())) {
|
sendMessageConfigNum++;
|
sendMessageConfigQueryWrapper.lambda().eq(SendMessageConfigEntity::getTemplateType, sendMessageConfigPagination.getTemplateType());
|
}
|
//状态
|
if (ObjectUtil.isNotEmpty(sendMessageConfigPagination.getEnabledMark())) {
|
sendMessageConfigNum++;
|
int enabledMark = Integer.parseInt(sendMessageConfigPagination.getEnabledMark());
|
sendMessageConfigQueryWrapper.lambda().eq(SendMessageConfigEntity::getEnabledMark, enabledMark);
|
}
|
//消息来源
|
if (ObjectUtil.isNotEmpty(sendMessageConfigPagination.getMessageSource())) {
|
sendMessageConfigNum++;
|
sendMessageConfigQueryWrapper.lambda().eq(SendMessageConfigEntity::getMessageSource, sendMessageConfigPagination.getMessageSource());
|
}
|
|
//排序
|
if (StringUtil.isEmpty(sendMessageConfigPagination.getSidx())) {
|
sendMessageConfigQueryWrapper.lambda().orderByAsc(SendMessageConfigEntity::getSortCode).orderByDesc(SendMessageConfigEntity::getCreatorTime).orderByDesc(SendMessageConfigEntity::getLastModifyTime);;
|
} else {
|
try {
|
String sidx = sendMessageConfigPagination.getSidx();
|
SendMessageConfigEntity sendMessageConfigEntity = new SendMessageConfigEntity();
|
Field declaredField = sendMessageConfigEntity.getClass().getDeclaredField(sidx);
|
declaredField.setAccessible(true);
|
String value = declaredField.getAnnotation(TableField.class).value();
|
sendMessageConfigQueryWrapper = "asc".equals(sendMessageConfigPagination.getSort().toLowerCase()) ? sendMessageConfigQueryWrapper.orderByAsc(value) : sendMessageConfigQueryWrapper.orderByDesc(value);
|
} catch (NoSuchFieldException e) {
|
e.printStackTrace();
|
}
|
}
|
if (!"1".equals(dataType)) {
|
if (total > 0 || total == 0) {
|
Page<SendMessageConfigEntity> page = new Page<>(sendMessageConfigPagination.getCurrentPage(), sendMessageConfigPagination.getPageSize());
|
IPage<SendMessageConfigEntity> userIPage = this.selectPage(page, sendMessageConfigQueryWrapper);
|
return sendMessageConfigPagination.setData(userIPage.getRecords(), userIPage.getTotal());
|
} else {
|
List<SendMessageConfigEntity> list = new ArrayList();
|
return sendMessageConfigPagination.setData(list, list.size());
|
}
|
} else {
|
return this.selectList(sendMessageConfigQueryWrapper);
|
}
|
}
|
|
default List<SendMessageConfigEntity> getSelectorList(SendMessageConfigPagination sendMessageConfigPagination) {
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().eq(SendMessageConfigEntity::getMessageSource, 5).eq(SendMessageConfigEntity::getEnabledMark, 1);
|
queryWrapper.lambda().eq(SendMessageConfigEntity::getTemplateType, 0);
|
Page<SendMessageConfigEntity> page = new Page<>(sendMessageConfigPagination.getCurrentPage(), sendMessageConfigPagination.getPageSize());
|
IPage<SendMessageConfigEntity> userIPage = this.selectPage(page, queryWrapper);
|
return sendMessageConfigPagination.setData(userIPage.getRecords(), userIPage.getTotal());
|
}
|
|
|
default SendMessageConfigEntity getInfo(String id) {
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().eq(SendMessageConfigEntity::getId, id);
|
return this.selectOne(queryWrapper);
|
}
|
|
default SendMessageConfigEntity getInfoByEnCode(String enCode){
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().eq(SendMessageConfigEntity::getEnCode, enCode);
|
return this.selectOne(queryWrapper);
|
}
|
|
default boolean isExistByFullName(String fullName, String id) {
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().eq(SendMessageConfigEntity::getFullName, fullName);
|
if (!StringUtil.isEmpty(id)) {
|
queryWrapper.lambda().ne(SendMessageConfigEntity::getId, id);
|
}
|
return this.selectCount(queryWrapper) > 0 ? true : false;
|
}
|
|
default boolean isExistByEnCode(String enCode, String id) {
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().eq(SendMessageConfigEntity::getEnCode, enCode);
|
if (!StringUtil.isEmpty(id)) {
|
queryWrapper.lambda().ne(SendMessageConfigEntity::getId, id);
|
}
|
return this.selectCount(queryWrapper) > 0 ? true : false;
|
}
|
|
default List<SendMessageConfigEntity> getList(List<String> idList){
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().in(SendMessageConfigEntity::getId,idList);
|
return this.selectList(queryWrapper);
|
}
|
|
|
default List<String> getIdList(String usedId){
|
List<String> idList = new ArrayList<>();
|
QueryWrapper<SendMessageConfigEntity> queryWrapper = new QueryWrapper<>();
|
if(this.selectList(queryWrapper) != null && this.selectList(queryWrapper).size()>0){
|
idList = this.selectList(queryWrapper).stream().distinct().map(t->t.getId()).collect(Collectors.toList());
|
}
|
return idList;
|
}
|
|
default boolean idUsed(String id){
|
boolean flag = false;
|
SendMessageConfigEntity entity = this.getInfo(id);
|
// TODO 删除逻辑重新设置
|
return flag;
|
}
|
}
|