package com.moral.api.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.config.Interceptor.UserHelper;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.SysDictType;
import com.moral.api.mapper.SysDictTypeMapper;
import com.moral.api.pojo.enums.SysDictTypeEnum;
import com.moral.api.pojo.vo.user.QxUser;
import com.moral.api.service.SysDictTypeService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
*
* 字典表 服务实现类
*
*
* @author moral
* @since 2021-03-09
*/
@Service
public class SysDictTypeServiceImpl extends ServiceImpl implements SysDictTypeService {
@Autowired
private SysDictTypeMapper sysDictTypeMapper;
@Override
public List listAll(String code, String dataKey) {
List listAll = this.baseMapper.selectCodeList(code,dataKey);
return listAll;
}
@Override
public SysDictData listOne(String code, String dataKey) {
List list = listAll(code,dataKey);
SysDictData sysDictData = new SysDictData();
if (CollectionUtils.isNotEmpty(list)) {
return list.get(0);
}
sysDictData.setDataValue("0");
return sysDictData;
}
@Override
public List listWindAll(String code, List dataKey) {
List listAll = this.baseMapper.selectIdList(code,dataKey);
return listAll;
}
@Override
public List dateValueList(String code) {
QxUser user = UserHelper.getCurrentUser();
List integerList = new ArrayList<>();
SysDictData listSys = this.listOne(code,user.getUserId().toString());
if(listSys.getDataValue().contains(",")){
List resultStr = Arrays.asList(listSys.getDataValue().split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
integerList.addAll(resultStr);
}else {
Integer dataValue = Objects.nonNull(listSys.getDataValue())?Integer.parseInt(listSys.getDataValue()):0;
integerList.add(dataValue);
}
return integerList;
}
@Override
public SysDictType slectFind(String name) {
SysDictType sysDictType = this.baseMapper.selectFind(name);
return sysDictType;
}
}