package com.wgcloud.service; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.wgcloud.entity.DbInfo; import com.wgcloud.mapper.DbInfoMapper; import com.wgcloud.util.DateUtil; import com.wgcloud.util.HostUtil; import com.wgcloud.util.UUIDUtil; import com.wgcloud.util.jdbc.RDSConnection; import com.wgcloud.util.staticvar.StaticKeys; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; /** * @version v3.3 * @ClassName:DbInfoService.java * @author: http://www.wgstart.com * @date: 2021年1月16日 * @Description: DbInfoService.java * @Copyright: 2019-2021 wgcloud. All rights reserved. */ @Service public class DbInfoService { public PageInfo selectByParams(Map params, int currPage, int pageSize) throws Exception { PageHelper.startPage(currPage, pageSize); List list = dbInfoMapper.selectByParams(params); PageInfo pageInfo = new PageInfo(list); return pageInfo; } public void save(DbInfo DbInfo) throws Exception { DbInfo.setId(UUIDUtil.getUUID()); DbInfo.setCreateTime(DateUtil.getNowTime()); DbInfo.setDbState(StaticKeys.ON_STATE); dbInfoMapper.save(DbInfo); } public int countByParams(Map params) throws Exception { return dbInfoMapper.countByParams(params); } @Transactional public int deleteById(String[] id) throws Exception { return dbInfoMapper.deleteById(id); } public int updateById(DbInfo DbInfo) throws Exception { return dbInfoMapper.updateById(DbInfo); } public DbInfo selectById(String id) throws Exception { return dbInfoMapper.selectById(id); } public List selectAllByParams(Map params) throws Exception { return dbInfoMapper.selectAllByParams(params); } /** * 保存操作日志 * * @param request 获取当前登录用户 * @param action 操作标识 */ public void saveLog(HttpServletRequest request, String action, DbInfo dbInfo) { if (null == dbInfo) { return; } logInfoService.save(HostUtil.getAccountByRequest(request).getAccount() + action + "数据源监测信息:" + dbInfo.getAliasName(), "数据库类型:" + dbInfo.getDbType(), StaticKeys.LOG_XTCZ); } /** * 设置数据库logo * * @param list */ public void dbAddLogo(List list) throws Exception { for (DbInfo dbInfo : list) { if (!StringUtils.isEmpty(dbInfo.getDbType())) { if (RDSConnection.KEY_MYSQL.equals(dbInfo.getDbType())) { dbInfo.setImage("/tssw/static/images/mysql.png"); } else if (RDSConnection.KEY_MARIADB.equals(dbInfo.getDbType())) { dbInfo.setImage("/tssw/static/images/mariadb.png"); } else if (RDSConnection.KEY_POSTGRESQL.equals(dbInfo.getDbType())) { dbInfo.setImage("/tssw/static/images/postgresql.png"); } else if (RDSConnection.KEY_SQLSERVER.equals(dbInfo.getDbType())) { dbInfo.setImage("/tssw/static/images/windows.png"); } else if (RDSConnection.KEY_DB2.equals(dbInfo.getDbType())) { dbInfo.setImage("/tssw/static/images/db2.png"); } else { dbInfo.setImage("/tssw/static/images/oracle.png"); } } else { dbInfo.setImage("/tssw/static/images/mysql.png"); } } } @Autowired private DbInfoMapper dbInfoMapper; @Autowired private LogInfoService logInfoService; }