This commit is contained in:
water 2020-03-20 15:25:08 +08:00
parent 4e2e035e21
commit 3bd95eae34
6 changed files with 63 additions and 10 deletions

View File

@ -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<Boolean> 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));
}

View File

@ -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<JobJdbcDatasource> {
int update(JobJdbcDatasource datasource);
}

View File

@ -11,10 +11,14 @@ import com.wugui.datax.admin.entity.JobJdbcDatasource;
* @since 2019-07-30
*/
public interface IJobJdbcDatasourceService extends IService<JobJdbcDatasource> {
/**
* 测试数据源
* @param jdbcDatasource
* @return
*/
Boolean dataSourceTest(JobJdbcDatasource jdbcDatasource);
int update(JobJdbcDatasource datasource);
}

View File

@ -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<JobJdbcDatasourceMapper, JobJdbcDatasource> 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);
}
}

View File

@ -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"));
}
}

View File

@ -4,9 +4,26 @@
<!--<resultMap type="com.wugui.datax.admin.entity.JobJdbcDatasource" id="jobJdbcDatasource">-->
<!--<result property="jdbcUsername" column="jdbc_username" jdbcType="VARCHAR" javaType="String"-->
<!--typeHandler="com.wugui.datax.admin.core.util.AESEncryptHandler"/>-->
<!--<result property="jdbcPassword" column="jdbc_password" jdbcType="VARCHAR" javaType="String"-->
<!--typeHandler="com.wugui.datax.admin.core.util.AESEncryptHandler"/>-->
<!--<result property="jdbcUsername" column="jdbc_username" jdbcType="VARCHAR" javaType="String"-->
<!--typeHandler="com.wugui.datax.admin.core.util.AESEncryptHandler"/>-->
<!--<result property="jdbcPassword" column="jdbc_password" jdbcType="VARCHAR" javaType="String"-->
<!--typeHandler="com.wugui.datax.admin.core.util.AESEncryptHandler"/>-->
<!--</resultMap>-->
<update id="update" parameterType="com.wugui.datax.admin.entity.JobJdbcDatasource">
UPDATE job_jdbc_datasource
<set>
<if test="datasourceName!=null">datasource_name = #{datasourceName},</if>
<if test="datasource!=null">datasource = #{datasource},</if>
<if test="datasourceGroup!=null">datasource_group = #{datasourceGroup},</if>
<if test="jdbcUsername!=null">jdbc_username = #{jdbcUsername},</if>
<if test="jdbcPassword!=null">jdbc_password = #{jdbcPassword},</if>
<if test="jdbcUrl!=null">jdbc_url = #{jdbcUrl},</if>
<if test="jdbcDriverClass!=null">jdbc_driver_class = #{jdbcDriverClass},</if>
<if test="status!=null">status = #{status},</if>
<if test="comments!=null">comments = #{comments},</if>
</set>
WHERE id = #{id}
</update>
</mapper>