Pārlūkot izejas kodu

olap 视图相关添加删除接口

jkzlzhoujie 6 gadi atpakaļ
vecāks
revīzija
8433d5f956

+ 2 - 2
src/main/java/com/yihu/quota/controller/CubeController.java

@ -143,7 +143,7 @@ public class CubeController  extends BaseController {
        return envelop;
    }
    @ApiOperation(value = "测试保存mapping 数据 ")
    @ApiOperation(value = "保存mapping 数据 ")
    @RequestMapping(value = "/saveElasticSearchMappingData", method = RequestMethod.GET)
    public Envelop saveElasticSearchMappingData(
            @ApiParam(name = "table", value = "表 Healtharchive / HealtharchiveSub", required = true)
@ -180,7 +180,7 @@ public class CubeController  extends BaseController {
    }
    @ApiOperation(value = "测试删除mapping 数据 ")
    @ApiOperation(value = "删除mapping 数据 ")
    @RequestMapping(value = "/delElasticSearchMappingData", method = RequestMethod.GET)
    public Envelop delElasticSearchMappingData(
            @ApiParam(name = "table", value = "表 Healtharchive / HealtharchiveSub", required = true)

+ 77 - 0
src/main/java/com/yihu/quota/controller/ViewController.java

@ -0,0 +1,77 @@
package com.yihu.quota.controller;
import com.yihu.ehr.constants.ApiVersion;
import com.yihu.ehr.util.rest.Envelop;
import com.yihu.quota.model.cube.Cube;
import com.yihu.quota.model.view.View;
import com.yihu.quota.service.cube.CubeService;
import com.yihu.quota.service.view.ViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author janseny
 * @date 2018年9月26日
 */
@RestController
@RequestMapping(ApiVersion.Version1_0 + "/view")
@Api(description = "OLAP 视图 控制入口")
public class ViewController extends BaseController {
    @Autowired
    private ViewService viewService;
    @Autowired
    private CubeService cubeService;
    @ApiOperation(value = "添加视图")
    @RequestMapping(value = "/addView", method = RequestMethod.GET)
    public Envelop addView(
            @ApiParam(name = "code", value = "视图code", required = true)
            @RequestParam(value = "code", required = true) String code,
            @ApiParam(name = "name", value = "视图名称", required = true)
            @RequestParam(value = "name", required = true) String name,
            @ApiParam(name = "cubeId", value = "多维数据集ID", required = true)
            @RequestParam(value = "cubeId", required = true) int cubeId,
            @ApiParam(name = "displayType", value = "展示类型 1:数值,2:普通表格,3:树形表格,4:饼图,5:折线图,6:柱状图,7:组合图(折线图+柱状图),8:雷达图,9:旭日图", required = false)
            @RequestParam(value = "displayType", required = false) String displayType,
            @ApiParam(name = "isDrill", value = "可钻取 1:可以,2:不可以", required = false)
            @RequestParam(value = "isDrill", required = false) String isDrill
    ){
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        try {
            View view = new View();
            Cube cube = cubeService.findOne(cubeId);
            view.setCode(code);
            view.setName(name);
            view.setDimensionDataset(cube.getIndexName()+"/" + cube.getIndexType());
            view.setDisplayType(displayType != null ? displayType : "1");
            view.setIsDrill(isDrill != null ? isDrill : "1");
            viewService.save(view);
        }catch (Exception e){
            e.printStackTrace();
            envelop.setSuccessFlg(false);
        }
        return envelop;
    }
    @ApiOperation(value = "删除视图")
    @RequestMapping(value = "/delView", method = RequestMethod.DELETE)
    public Envelop delView(
            @ApiParam(name = "id", value = "ID", required = true)
            @RequestParam(value = "id", required = true) int id){
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        viewService.delete(id);
        return envelop;
    }
}

+ 90 - 0
src/main/java/com/yihu/quota/controller/ViewDimensionController.java

@ -0,0 +1,90 @@
package com.yihu.quota.controller;
import com.yihu.ehr.constants.ApiVersion;
import com.yihu.ehr.util.rest.Envelop;
import com.yihu.quota.model.view.View;
import com.yihu.quota.model.view.ViewDimension;
import com.yihu.quota.service.view.ViewDimensionService;
import com.yihu.quota.service.view.ViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author janseny
 * @date 2018年9月26日
 */
@RestController
@RequestMapping(ApiVersion.Version1_0 + "/viewDimension")
@Api(description = "OLAP 视图维度 控制入口")
public class ViewDimensionController extends BaseController {
    @Autowired
    private ViewDimensionService viewDimensionService;
    @Autowired
    private ViewService viewService;
    @ApiOperation(value = "添加视图维度")
    @RequestMapping(value = "/addViewDimension", method = RequestMethod.GET)
    public Envelop addViewDimension(
            @ApiParam(name = "code", value = "维度code", required = true)
            @RequestParam(value = "code", required = true) String code,
            @ApiParam(name = "name", value = "维度名称", required = true)
            @RequestParam(value = "name", required = true) String name,
            @ApiParam(name = "viewId", value = "多维数据集ID", required = true)
            @RequestParam(value = "viewId", required = true) int viewId,
            @ApiParam(name = "rankType", value = "1:行维度,2,:列维度,默认行维度", required = false)
            @RequestParam(value = "rankType", required = false) String rankType,
            @ApiParam(name = "groupRow", value = "行维度组", required = false)
            @RequestParam(value = "groupRow", required = true) int groupRow,
            @ApiParam(name = "groupRowOrder", value = "组内行维度顺序", required = false)
            @RequestParam(value = "groupRowOrder", required = false) int groupRowOrder,
            @ApiParam(name = "columnOrder", value = "列维度顺序", required = false)
            @RequestParam(value = "columnOrder", required = false) int columnOrder,
            @ApiParam(name = "rowMemberorderType", value = "行维度成员排序方式,1:按名称排序,2:按子聚合统计值排序,默认按名称排序。", required = false)
            @RequestParam(value = "rowMemberorderType", required = false) String rowMemberorderType,
            @ApiParam(name = "rowMemberCount", value = "行维度成员返回个数", required = false)
            @RequestParam(value = "rowMemberCount", required = false) int rowMemberCount
    ){
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        try {
            View view = viewService.findOne(viewId);
            ViewDimension viewDimension = new ViewDimension();
            viewDimension.setViewId(viewId);
            viewDimension.setDimensionCode(code);
            viewDimension.setDimensionName(name);
            String dataset = view.getDimensionDataset();
            viewDimension.setEsIndex(dataset.substring(0,dataset.indexOf("/")));
            viewDimension.setEsIndex(dataset.substring(dataset.indexOf("/")+1));
            viewDimension.setRankType(rankType);
            viewDimension.setGroupRow(groupRow);
            viewDimension.setGroupRowOrder(groupRowOrder);
            viewDimension.setColumnOrder(columnOrder);
            viewDimension.setRowMemberOrderType(rowMemberorderType);
            viewDimension.setRowMemberCount(rowMemberCount);
            viewDimensionService.save(viewDimension);
        }catch (Exception e){
            e.printStackTrace();
            envelop.setSuccessFlg(false);
        }
        return envelop;
    }
    @ApiOperation(value = "删除视图维度")
    @RequestMapping(value = "/delViewDimension", method = RequestMethod.DELETE)
    public Envelop delViewDimension(
            @ApiParam(name = "id", value = "ID", required = true)
            @RequestParam(value = "id", required = true) int id){
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        viewDimensionService.delete(id);
        return envelop;
    }
}

+ 84 - 0
src/main/java/com/yihu/quota/controller/ViewQuotaController.java

@ -0,0 +1,84 @@
package com.yihu.quota.controller;
import com.yihu.ehr.constants.ApiVersion;
import com.yihu.ehr.util.rest.Envelop;
import com.yihu.quota.model.cube.Cube;
import com.yihu.quota.model.view.View;
import com.yihu.quota.model.view.ViewQuota;
import com.yihu.quota.service.cube.CubeService;
import com.yihu.quota.service.view.ViewQuotaService;
import com.yihu.quota.service.view.ViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author janseny
 * @date 2018年9月26日
 */
@RestController
@RequestMapping(ApiVersion.Version1_0 + "/viewQuota")
@Api(description = "OLAP 视图指标 控制入口")
public class ViewQuotaController extends BaseController {
    @Autowired
    private ViewQuotaService viewQuotaService;
    @Autowired
    private ViewService viewService;
    @ApiOperation(value = "添加视图指标")
    @RequestMapping(value = "/addViewQuota", method = RequestMethod.GET)
    public Envelop addViewQuota(
            @ApiParam(name = "code", value = "维度code", required = true)
            @RequestParam(value = "code", required = true) String code,
            @ApiParam(name = "name", value = "维度名称", required = true)
            @RequestParam(value = "name", required = true) String name,
            @ApiParam(name = "viewId", value = "多维数据集ID", required = true)
            @RequestParam(value = "viewId", required = true) int viewId,
            @ApiParam(name = "formulaMode", value = "计算方式,1:基础公式,2:自定义公式。", required = true)
            @RequestParam(value = "formulaMode", required = false) String formulaMode,
            @ApiParam(name = "basicFormulaType", value = "基础公式:1:求和,2.计数,3:均值,4:最大值,5:最小值,6:去重计数", required = false)
            @RequestParam(value = "basicFormulaType", required = false) String basicFormulaType,
            @ApiParam(name = "chartType", value = "图表类型,1:折线图,2:柱状图。", required = false)
            @RequestParam(value = "chartType", required = false) String chartType
    ){
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        try {
            View view = viewService.findOne(viewId);
            ViewQuota viewQuota = new ViewQuota();
            viewQuota.setViewId(viewId);
            viewQuota.setDimensionCode(code);
            viewQuota.setDimensionName(name);
            String dataset = view.getDimensionDataset();
            viewQuota.setEsIndex(dataset.substring(0, dataset.indexOf("/")));
            viewQuota.setEsIndex(dataset.substring(dataset.indexOf("/") + 1));
            viewQuota.setFormulaMode(formulaMode);
            viewQuota.setBasicFormulaType(basicFormulaType);
            viewQuota.setChartType(chartType);
            viewQuotaService.save(viewQuota);
        }catch (Exception e){
            e.printStackTrace();
            envelop.setSuccessFlg(false);
        }
        return envelop;
    }
    @ApiOperation(value = "删除视图指标")
    @RequestMapping(value = "/delViewQuota", method = RequestMethod.DELETE)
    public Envelop delViewQuota(
            @ApiParam(name = "id", value = "ID", required = true)
            @RequestParam(value = "id", required = true) int id){
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        viewQuotaService.delete(id);
        return envelop;
    }
}

+ 3 - 3
src/main/java/com/yihu/quota/model/view/ViewDimension.java

@ -16,7 +16,7 @@ import javax.persistence.Table;
@Table(name = "olap_view_dimension")
public class ViewDimension extends BaseIdentityEntity {
    public String viewId; // 视图Id
    public Integer viewId; // 视图Id
    public String dimensionCode; // 维度编码
    public String dimensionName; // 维度名称
    public String esIndex; // 多维数据集的 ES index
@ -30,11 +30,11 @@ public class ViewDimension extends BaseIdentityEntity {
    public Integer rowMemberCount; //行维度成员返回个数
    @Column(name = "view_id")
    public String getViewId() {
    public Integer getViewId() {
        return viewId;
    }
    public void setViewId(String viewId) {
    public void setViewId(Integer viewId) {
        this.viewId = viewId;
    }

+ 3 - 3
src/main/java/com/yihu/quota/model/view/ViewQuota.java

@ -16,7 +16,7 @@ import javax.persistence.Table;
@Table(name = "olap_view_quota")
public class ViewQuota extends BaseIdentityEntity {
    public String viewId; // 视图Id
    public Integer viewId; // 视图Id
    public String dimensionCode; // 维度编码
    public String dimensionName; // 维度名称
    public String esIndex; // 多维数据集的 ES index
@ -26,11 +26,11 @@ public class ViewQuota extends BaseIdentityEntity {
    public String chartType; // 图表类型,1:折线图,2:柱状图。
    @Column(name = "view_id")
    public String getViewId() {
    public Integer getViewId() {
        return viewId;
    }
    public void setViewId(String viewId) {
    public void setViewId(Integer viewId) {
        this.viewId = viewId;
    }

+ 3 - 3
src/main/java/com/yihu/quota/model/view/ViewQuotaFilter.java

@ -16,7 +16,7 @@ import javax.persistence.Table;
@Table(name = "olap_view_quota_filter")
public class ViewQuotaFilter extends BaseIdentityEntity {
    public String relationId; // 视图/指标主键
    public Integer relationId; // 视图/指标主键
    public String dimensionCode; // 维度编码
    public String dimensionName; // 维度名称
    public String esIndex; // 多维数据集的 ES index
@ -27,11 +27,11 @@ public class ViewQuotaFilter extends BaseIdentityEntity {
    public String filterValue; //过滤的值
    @Column(name = "relation_id")
    public String getRelationId() {
    public Integer getRelationId() {
        return relationId;
    }
    public void setRelationId(String relationId) {
    public void setRelationId(Integer relationId) {
        this.relationId = relationId;
    }

+ 4 - 0
src/main/java/com/yihu/quota/service/view/ViewService.java

@ -2,6 +2,7 @@ package com.yihu.quota.service.view;
import com.yihu.ehr.query.BaseJpaService;
import com.yihu.quota.dao.view.ViewDao;
import com.yihu.quota.model.cube.Cube;
import com.yihu.quota.model.view.View;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@ -20,5 +21,8 @@ public class ViewService extends BaseJpaService<View, ViewDao> {
    @Autowired
    ViewDao viewDao;
    public View findOne(Integer id) {
        return viewDao.findOne(id);
    }
}