kimi42345
2020-03-11 2c43f24c1a778b48ac20b07e17f5da38136cafb4
src/main/java/com/highdatas/mdm/controller/AssembleController.java
@@ -7,10 +7,8 @@
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.highdatas.mdm.entity.*;
import com.highdatas.mdm.pojo.CodeMsg;
import com.highdatas.mdm.pojo.Result;
import com.highdatas.mdm.pojo.SysAssembleStatus;
import com.highdatas.mdm.pojo.SysAssembleUpdateType;
import com.highdatas.mdm.job.JobClient;
import com.highdatas.mdm.pojo.*;
import com.highdatas.mdm.pojo.kettle.BigDataDataSourceInfo;
import com.highdatas.mdm.pojo.kettle.DataSourceInfo;
import com.highdatas.mdm.pojo.kettle.UnBigDataDataSourceInfo;
@@ -60,13 +58,42 @@
    BigDataDataSourceInfo bigDataDataSourceInfo;
    @Autowired
    UnBigDataDataSourceInfo unBigDataDataSourceInfo;
    @Autowired
    JobClient client;
    @RequestMapping(value = "run/{id}", method = RequestMethod.GET)
    public Result delete(@PathVariable String id, HttpServletRequest request) {
        Result run = assembleService.run(id, request.getSession());
        return run;
    public Result trigger(@PathVariable String id, HttpServletRequest request) {
        SysAssemble assemble = assembleService.selectById(id);
        if (assemble == null) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
        }
        boolean trigger = client.trigger(assemble);
        if (trigger) {
            return Result.success(null);
        }else {
            return Result.error(CodeMsg.OPERATR_ERROR);
        }
    }
    @RequestMapping(value = "saveJobGroup", method = RequestMethod.GET)
    public Result saveJobGroup(HttpServletRequest request) {
        boolean b = client.saveJobGroup();
        if (b) {
            return Result.success(null);
        }else {
            return Result.error(CodeMsg.OPERATR_ERROR);
        }
    }
    @RequestMapping(value = "deleteJobGroup", method = RequestMethod.GET)
    public Result deleteJobGroup(HttpServletRequest request) {
        boolean b = client.saveJobGroup();
        if (b) {
            return Result.success(null);
        }else {
            return Result.error(CodeMsg.OPERATR_ERROR);
        }
    }
    @RequestMapping(value = "new", method = RequestMethod.GET)
@@ -98,7 +125,7 @@
    @RequestMapping(value = "/saveCommon/{id}", method = RequestMethod.GET)
    public Result add(@PathVariable String id, @RequestParam String menuId, @RequestParam SysAssembleUpdateType updateType, @RequestParam Boolean bigData, @RequestParam String updateFields, HttpServletRequest request) {
    public Result saveCommon(@PathVariable String id, @RequestParam String menuId, @RequestParam SysAssembleUpdateType updateType, @RequestParam Boolean bigData, @RequestParam String updateFields, HttpServletRequest request) {
        SysAssemble assemble = assembleService.selectById(id);
        if (assemble == null) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
@@ -117,7 +144,7 @@
    @Transactional(rollbackFor=Exception.class)
    @RequestMapping(value = "delete/{id}", method = RequestMethod.GET)
    public Result add(@PathVariable String id) {
    public Result delete(@PathVariable String id) throws Exception {
        SysAssemble assemble = assembleService.selectById(id);
        if (assemble == null) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
@@ -156,7 +183,14 @@
        apiService.delete(new EntityWrapper<SysAssembleApi>().eq(Constant.PARENT_ID, id));
        //delete param
        paramsService.delete(new EntityWrapper<SysAssembleParams>().eq(Constant.PARENT_ID, id));
        boolean b = true;
        String jobId = assemble.getJobId();
        if (!StringUtils.isEmpty(jobId)) {
            b = client.deleteJob(jobId);
        }
        if (!b) {
            throw new Exception("xxljob 删除失败");
        }
        boolean deleted = assemble.deleteById();
        if (deleted) {
            return Result.success(assemble);
@@ -165,15 +199,20 @@
        }
    }
    @RequestMapping(value = "updateJob/{id}", method = RequestMethod.GET)
    public Result updateStatus(@RequestParam String jobId,@RequestParam String id) {
    @RequestMapping(value = "saveCheckType/{id}", method = RequestMethod.GET)
    public Result saveUpdateType(@RequestParam SysAssembleCheckType type, @PathVariable String id,HttpServletRequest request) {
        SysAssemble assemble = assembleService.selectById(id);
        if (assemble == null) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
        }
        assemble.setJobId(jobId);
        assemble.setCheckType(type);
        if (type.equals(SysAssembleCheckType.partSuccessAdd)) {
            String fields = request.getParameter("fields");
            if (StringUtils.isEmpty(fields)) {
                return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
            }
            assemble.setCheckFields(fields);
        }
        boolean updated = assemble.updateById();
        if (updated) {
            return Result.success(assemble);
@@ -245,8 +284,9 @@
        return Result.success(result);
    }
    @Transactional(rollbackFor=Exception.class)
    @RequestMapping(value = "saveCorn/{id}", method = RequestMethod.GET)
    public Result add(@RequestParam String cron,@PathVariable String id) {
    public Result add(@RequestParam String cron,@PathVariable String id) throws Exception {
        SysAssemble assemble = assembleService.selectById(id);
        if (assemble == null) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
@@ -261,6 +301,17 @@
            return Result.error(new CodeMsg(6007, "corn 表达式更新值错误"));
        }
        assemble.setStatus(SysAssembleStatus.working);
        String jobId = assemble.getJobId();
        boolean xxljobStatus = true;
        if (StringUtils.isEmpty(jobId)) {
            xxljobStatus = client.addJob(assemble);
        }
        else {
            xxljobStatus = client.updateJob(assemble);
        }
        if (!xxljobStatus) {
            throw new Exception("add or update xxxljob fail");
        }
        boolean updated = assemble.updateById();
        if (updated) {