package com.example.demo.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.demo.domain.dto.ConfigDTO; import com.example.demo.domain.entity.WebConfig; import com.example.demo.domain.entity.WebLoginConfig; import com.example.demo.mapper.WebConfigMapper; import com.example.demo.mapper.WebLoginConfigMapper; import com.example.demo.model.vo.BaseVO; import com.example.demo.model.vo.ConfigVO; import com.example.demo.model.vo.PersonnelVO; import com.example.demo.model.vo.QueryConfigVO; import com.example.demo.util.CacheUtils; import com.example.demo.util.LoginUtils; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.List; /** * @author admin * @description 针对表【web_config(网站配置)】的数据库操作Service实现 * @createDate 2023-03-08 18:51:17 */ @Service @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class WebLoginConfigService extends ServiceImpl { private final CacheUtils cacheUtils; private final LoginUtils loginUtils; //添加配置 public void addLoginConfig(ConfigDTO configDTO) { PersonnelVO personnelVO = cacheUtils.getLoginUserPersonnel(loginUtils.getId()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WebLoginConfig::getWebId, configDTO.getWebId()) .eq(WebLoginConfig::getTenantId, personnelVO.getTenantId()); List configs = this.list(wrapper); WebLoginConfig config = new WebLoginConfig(); if (configs.size() > 0) { config = configs.get(0); } config.setWebId(configDTO.getWebId()); config.setTenantId(personnelVO.getTenantId()); config.setLoginAccount(configDTO.getLoginAccount()); config.setLoginPassword(configDTO.getLoginPassword()); this.saveOrUpdate(config); } public WebLoginConfig getLoginConfig(Integer webId) { PersonnelVO personnelVO = cacheUtils.getLoginUserPersonnel(loginUtils.getId()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WebLoginConfig::getWebId, webId) .eq(WebLoginConfig::getTenantId, personnelVO.getTenantId()); List configs = this.list(wrapper); WebLoginConfig config = new WebLoginConfig(); if (configs.size() > 0) { config = configs.get(0); } else { config = null; } return config; } public IPage queryLoginConfig(QueryConfigVO queryConfigVO) { PersonnelVO personnelVO = cacheUtils.getLoginUserPersonnel(loginUtils.getId()); queryConfigVO.setTenantId(personnelVO.getTenantId()); IPage dataPage = baseMapper.getPageList(new Page<>(queryConfigVO.getCurrent(), queryConfigVO.getSize()), queryConfigVO); return dataPage; } public Boolean deleteConfig(List ids) { return this.removeByIds(ids); } }