diff --git a/datax-admin/src/main/java/com/wugui/datax/admin/controller/JobJdbcDatasourceController.java b/datax-admin/src/main/java/com/wugui/datax/admin/controller/JobJdbcDatasourceController.java index dc8aa77c..10c4b7f2 100644 --- a/datax-admin/src/main/java/com/wugui/datax/admin/controller/JobJdbcDatasourceController.java +++ b/datax-admin/src/main/java/com/wugui/datax/admin/controller/JobJdbcDatasourceController.java @@ -13,6 +13,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -93,6 +94,13 @@ public class JobJdbcDatasourceController extends ApiController { @ApiOperation("修改数据") public R update(@RequestBody JobJdbcDatasource entity) { LocalCacheUtil.remove(entity.getDatasourceName()); + JobJdbcDatasource d = jobJdbcDatasourceService.getById(entity.getId()); + if (entity.getJdbcUsername().equals(d.getJdbcUsername())) { + entity.setJdbcUsername(null); + } + if (entity.getJdbcPassword().equals(d.getJdbcPassword())) { + entity.setJdbcPassword(null); + } return success(this.jobJdbcDatasourceService.updateById(entity)); } diff --git a/datax-admin/src/main/java/com/wugui/datax/admin/mapper/JobJdbcDatasourceMapper.java b/datax-admin/src/main/java/com/wugui/datax/admin/mapper/JobJdbcDatasourceMapper.java index 17cb0b90..d3945461 100644 --- a/datax-admin/src/main/java/com/wugui/datax/admin/mapper/JobJdbcDatasourceMapper.java +++ b/datax-admin/src/main/java/com/wugui/datax/admin/mapper/JobJdbcDatasourceMapper.java @@ -2,6 +2,7 @@ package com.wugui.datax.admin.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.wugui.datax.admin.entity.JobJdbcDatasource; +import org.apache.ibatis.annotations.Mapper; /** * jdbc数据源配置表数据库访问层 @@ -10,6 +11,9 @@ import com.wugui.datax.admin.entity.JobJdbcDatasource; * @version v1.0 * @since 2019-07-30 */ +@Mapper public interface JobJdbcDatasourceMapper extends BaseMapper { + int update(JobJdbcDatasource datasource); + } \ No newline at end of file diff --git a/datax-admin/src/main/java/com/wugui/datax/admin/service/IJobJdbcDatasourceService.java b/datax-admin/src/main/java/com/wugui/datax/admin/service/IJobJdbcDatasourceService.java index 15f1dc4a..0765e5ba 100644 --- a/datax-admin/src/main/java/com/wugui/datax/admin/service/IJobJdbcDatasourceService.java +++ b/datax-admin/src/main/java/com/wugui/datax/admin/service/IJobJdbcDatasourceService.java @@ -11,10 +11,14 @@ import com.wugui.datax.admin.entity.JobJdbcDatasource; * @since 2019-07-30 */ public interface IJobJdbcDatasourceService extends IService { + + /** * 测试数据源 * @param jdbcDatasource * @return */ Boolean dataSourceTest(JobJdbcDatasource jdbcDatasource); + + int update(JobJdbcDatasource datasource); } \ No newline at end of file diff --git a/datax-admin/src/main/java/com/wugui/datax/admin/service/impl/JobJdbcDatasourceServiceImpl.java b/datax-admin/src/main/java/com/wugui/datax/admin/service/impl/JobJdbcDatasourceServiceImpl.java index 6fc0f701..293931e3 100644 --- a/datax-admin/src/main/java/com/wugui/datax/admin/service/impl/JobJdbcDatasourceServiceImpl.java +++ b/datax-admin/src/main/java/com/wugui/datax/admin/service/impl/JobJdbcDatasourceServiceImpl.java @@ -6,9 +6,13 @@ import com.wugui.datax.admin.entity.JobJdbcDatasource; import com.wugui.datax.admin.service.IJobJdbcDatasourceService; import com.wugui.datax.admin.tool.query.BaseQueryTool; import com.wugui.datax.admin.tool.query.QueryToolFactory; +import com.wugui.datax.admin.util.AESUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; + /** * jdbc数据源配置表服务实现类 * @@ -20,10 +24,28 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(readOnly = true) public class JobJdbcDatasourceServiceImpl extends ServiceImpl implements IJobJdbcDatasourceService { + @Resource + private JobJdbcDatasourceMapper datasourceMapper; + @Override - public Boolean dataSourceTest(JobJdbcDatasource jdbcDatasource) { + public Boolean dataSourceTest(JobJdbcDatasource jdbcDatasource) { + + String userName = AESUtil.decrypt(jdbcDatasource.getJdbcUsername()); + // 判断账密是否为密文 + if (userName == null) { + jdbcDatasource.setJdbcUsername(AESUtil.encrypt(jdbcDatasource.getJdbcUsername())); + } + String pwd = AESUtil.decrypt(jdbcDatasource.getJdbcPassword()); + if (pwd == null) { + jdbcDatasource.setJdbcPassword(AESUtil.encrypt(jdbcDatasource.getJdbcPassword())); + } BaseQueryTool queryTool = QueryToolFactory.getByDbType(jdbcDatasource); return queryTool.dataSourceTest(); } + @Override + public int update(JobJdbcDatasource datasource) { + return datasourceMapper.update(datasource); + } + } \ No newline at end of file diff --git a/datax-admin/src/main/java/com/wugui/datax/admin/util/AESUtil.java b/datax-admin/src/main/java/com/wugui/datax/admin/util/AESUtil.java index d17f36b5..c8434cf9 100644 --- a/datax-admin/src/main/java/com/wugui/datax/admin/util/AESUtil.java +++ b/datax-admin/src/main/java/com/wugui/datax/admin/util/AESUtil.java @@ -82,11 +82,9 @@ public class AESUtil { public static void main(String[] args) throws Exception { String s = "root"; - // 加密 - System.out.println("加密前:" + s); String encryptResultStr = encrypt(s); - System.out.println("加密后:" + encryptResultStr); - // 解密 - System.out.println("解密后:" + decrypt(encryptResultStr)); + System.out.println(s+" 加密后 :" + encryptResultStr); + System.out.println("mysql"+" 加密后 :" + encrypt("mysql")); + System.out.println("解密后:" + decrypt("mysql")); } } \ No newline at end of file diff --git a/datax-admin/src/main/resources/mybatis-mapper/JobJdbcDatasourceMapper.xml b/datax-admin/src/main/resources/mybatis-mapper/JobJdbcDatasourceMapper.xml index d8210502..b767ae80 100644 --- a/datax-admin/src/main/resources/mybatis-mapper/JobJdbcDatasourceMapper.xml +++ b/datax-admin/src/main/resources/mybatis-mapper/JobJdbcDatasourceMapper.xml @@ -4,9 +4,26 @@ - - - - + + + + + + + UPDATE job_jdbc_datasource + + datasource_name = #{datasourceName}, + datasource = #{datasource}, + datasource_group = #{datasourceGroup}, + jdbc_username = #{jdbcUsername}, + jdbc_password = #{jdbcPassword}, + jdbc_url = #{jdbcUrl}, + jdbc_driver_class = #{jdbcDriverClass}, + status = #{status}, + comments = #{comments}, + + WHERE id = #{id} + + \ No newline at end of file