kimi
2020-05-18 c8aee7b9bfd79cfd741d7e5692520f4f51a31a86
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,21 +58,69 @@
    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 = "runTest/{id}", method = RequestMethod.GET)
    public Result runTest(@PathVariable String id, HttpServletRequest request) {
        SysAssemble assemble = assembleService.selectById(id);
        if (assemble == null) {
            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
        }
        return assembleService.run(id);
    }
    @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 = "saveAutoJobGroup", method = RequestMethod.GET)
    public Result saveAutoJobGroup(HttpServletRequest request) {
        boolean b = client.saveAutoJobGroup();
        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)
    public Result delete(HttpServletRequest request) {
        SysAssemble assemble = new SysAssemble();
        TUser user = (TUser) request.getSession().getAttribute(Constant.USER);
        TUser user = DbUtils.getUser(request);
        assemble.setStatus(SysAssembleStatus.edit).setCreateTime(new Date()).setUserId(user.getUserId()).setUpdateType(SysAssembleUpdateType.All);
        boolean insert = assemble.setId(DbUtils.getUUID()).insert();
        boolean insert = assemble.setId(DbUtils.getUUID()).setEmptyData(true).insert();
        if (insert) {
            String assembleId = assemble.getId();
            // 创建job的时候将所有 通用参数搬一份过去
@@ -98,14 +144,15 @@
    @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);
        }
        assemble.setUpdateType(updateType).setUpdateFields(updateFields);
        assemble.setEmptyData(false);
        assemble.setBigdata(Boolean.valueOf(bigData));
        TUser user = (TUser) request.getSession().getAttribute(Constant.USER);
        TUser user = DbUtils.getUser(request);
        boolean insert = assemble.setUserId(user.getUserId()).setMenuId(menuId).setUpdateTime(new Date()).updateById();
        if (insert) {
@@ -117,7 +164,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,6 +203,11 @@
        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);
        }
        boolean deleted = assemble.deleteById();
        if (deleted) {
@@ -165,15 +217,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 +302,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 +319,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) {
@@ -323,7 +392,7 @@
        }else {
            page = new Page(pageNo, 15);
        }
        wrapper.orderBy("update_time desc, create_time desc");
        Page<SysAssemble> resultPage = assembleService.selectPage(page,wrapper);
        List<SysAssemble> records = resultPage.getRecords();
@@ -334,8 +403,10 @@
            JSONObject o = (JSONObject) JSON.toJSON(record);
            SysAssembleParams sysAssembleParams = paramsService.selectOne(eq);
            String val = sysAssembleParams.getVal();
            o.fluentPut("nextTime", val);
            if(sysAssembleParams != null) {
                String val = sysAssembleParams.getVal();
                o.fluentPut("nextTime", val);
            }
            String realMenuId = record.getMenuId();
            if (!StringUtils.isEmpty(realMenuId)) {
@@ -345,8 +416,6 @@
                List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId);
                o.fluentPut("menuList", sysMenus);
            }
            List<SysAssembleDb> dbList = dbService.selectList(new EntityWrapper<SysAssembleDb>().eq(Constant.PARENT_ID, record.getId()));
            o.fluentPut("dbList", dbList);