Forráskód Böngészése

调整视图代码,新增视图统计结果接口。

zhangjinjun 6 éve
szülő
commit
052a329856

+ 11 - 14
src/main/java/com/yihu/quota/controller/ViewController.java

@ -1,6 +1,7 @@
package com.yihu.quota.controller;
import com.yihu.ehr.constants.ApiVersion;
import com.yihu.ehr.constants.ServiceApi;
import com.yihu.ehr.util.rest.Envelop;
import com.yihu.quota.model.cube.Cube;
import com.yihu.quota.model.view.View;
@ -38,7 +39,7 @@ import java.util.Map;
 * @date 2018年9月26日
 */
@RestController
@RequestMapping(ApiVersion.Version1_0 + "/view")
@RequestMapping(ApiVersion.Version1_0 )
@Api(description = "OLAP 视图 控制入口")
public class ViewController extends BaseController {
@ -56,8 +57,8 @@ public class ViewController extends BaseController {
    private AggregationBuildHandler aggregationBuildHandler;
    @ApiOperation(value = "添加视图")
    @RequestMapping(value = "/addView", method = RequestMethod.GET)
    public Envelop addView(
    @RequestMapping(value = ServiceApi.StatisticView.View.Add, method = RequestMethod.GET)
    public Envelop add(
            @ApiParam(name = "code", value = "视图code", required = true)
            @RequestParam(value = "code", required = true) String code,
            @ApiParam(name = "name", value = "视图名称", required = true)
@ -89,8 +90,8 @@ public class ViewController extends BaseController {
    }
    @ApiOperation(value = "删除视图")
    @RequestMapping(value = "/delView", method = RequestMethod.DELETE)
    public Envelop delView(
    @RequestMapping(value = ServiceApi.StatisticView.View.Delete, method = RequestMethod.DELETE)
    public Envelop delete(
            @ApiParam(name = "id", value = "ID", required = true)
            @RequestParam(value = "id", required = true) int id){
        Envelop envelop = new Envelop();
@ -99,18 +100,14 @@ public class ViewController extends BaseController {
        return envelop;
    }
    @ApiOperation(value = "根据维度配置查询视图数据")
    @RequestMapping(value = "/getEsDataGrammar", method = RequestMethod.DELETE)
    public Envelop getEsDataGrammar(
            @ApiParam(name = "id", value = "视图ID", required = true)
            @RequestParam(value = "id", required = true) int id){
    @ApiOperation(value = "获取视图的统计结果")
    @RequestMapping(value = ServiceApi.StatisticView.View.GetViewStatisticData, method = RequestMethod.GET)
    public Envelop getViewStatisticData(
            @ApiParam(name = "viewCode", value = "视图编码", required = true)
            @RequestParam(value = "viewCode") String viewCode) {
        Envelop envelop = new Envelop();
        envelop.setSuccessFlg(true);
        try {
            View view = viewService.findOne(id);
            List<ViewDimension> viewDimensions = viewDimensionService.findByField("viewId",id);
            List<ViewQuota> viewQuotas = viewQuotaService.findByField("viewId",id);
        }catch (Exception e){

+ 2 - 0
src/main/java/com/yihu/quota/dao/view/ViewDao.java

@ -2,6 +2,7 @@ package com.yihu.quota.dao.view;
import com.yihu.quota.model.view.View;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
/**
@ -10,5 +11,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
public interface ViewDao extends PagingAndSortingRepository<View, Integer> {
    View findByCode(@Param("code") String code);
}

+ 4 - 0
src/main/java/com/yihu/quota/dao/view/ViewDimensionDao.java

@ -2,6 +2,9 @@ package com.yihu.quota.dao.view;
import com.yihu.quota.model.view.ViewDimension;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
@ -10,5 +13,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
public interface ViewDimensionDao extends PagingAndSortingRepository<ViewDimension, Integer> {
    List<ViewDimension> findByViewId(@Param("viewId") String viewId);
}

+ 4 - 0
src/main/java/com/yihu/quota/dao/view/ViewQuotaDao.java

@ -2,6 +2,9 @@ package com.yihu.quota.dao.view;
import com.yihu.quota.model.view.ViewQuota;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
@ -10,5 +13,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
public interface ViewQuotaDao extends PagingAndSortingRepository<ViewQuota, Integer> {
    List<ViewQuota> findByViewId(@Param("viewId") String viewId);
}

+ 4 - 0
src/main/java/com/yihu/quota/dao/view/ViewQuotaFilterDao.java

@ -2,6 +2,9 @@ package com.yihu.quota.dao.view;
import com.yihu.quota.model.view.ViewQuotaFilter;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
@ -10,5 +13,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
public interface ViewQuotaFilterDao extends PagingAndSortingRepository<ViewQuotaFilter, Integer> {
    List<ViewQuotaFilter> findByRelationId(@Param("relationId") String relationId);
}

+ 2 - 1
src/main/java/com/yihu/quota/model/view/View.java

@ -1,6 +1,7 @@
package com.yihu.quota.model.view;
import com.yihu.ehr.entity.BaseAssignedEntity;
import com.yihu.ehr.entity.BaseIdentityEntity;
import javax.persistence.Column;
@ -14,7 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "olap_view")
public class View extends BaseIdentityEntity {
public class View extends BaseAssignedEntity {
    public String code; // 视图编码
    public String name; // 视图名称

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

@ -1,6 +1,7 @@
package com.yihu.quota.model.view;
import com.yihu.ehr.entity.BaseAssignedEntity;
import com.yihu.ehr.entity.BaseIdentityEntity;
import javax.persistence.Column;
@ -14,7 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "olap_view_dimension")
public class ViewDimension extends BaseIdentityEntity {
public class ViewDimension extends BaseAssignedEntity {
    public Integer viewId; // 视图Id
    public String dimensionCode; // 维度编码

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

@ -1,6 +1,7 @@
package com.yihu.quota.model.view;
import com.yihu.ehr.entity.BaseAssignedEntity;
import com.yihu.ehr.entity.BaseIdentityEntity;
import javax.persistence.Column;
@ -14,7 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "olap_view_quota")
public class ViewQuota extends BaseIdentityEntity {
public class ViewQuota extends BaseAssignedEntity {
    public Integer viewId; // 视图Id
    public String dimensionCode; // 维度编码

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

@ -1,6 +1,7 @@
package com.yihu.quota.model.view;
import com.yihu.ehr.entity.BaseAssignedEntity;
import com.yihu.ehr.entity.BaseIdentityEntity;
import javax.persistence.Column;
@ -14,7 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "olap_view_quota_filter")
public class ViewQuotaFilter extends BaseIdentityEntity {
public class ViewQuotaFilter extends BaseAssignedEntity {
    public Integer relationId; // 视图/指标主键
    public String dimensionCode; // 维度编码

+ 35 - 1
src/main/java/com/yihu/quota/service/view/ViewService.java

@ -1,13 +1,22 @@
package com.yihu.quota.service.view;
import com.yihu.ehr.elasticsearch.ElasticSearchPool;
import com.yihu.ehr.query.BaseJpaService;
import com.yihu.quota.dao.view.ViewDao;
import com.yihu.quota.dao.view.ViewDimensionDao;
import com.yihu.quota.dao.view.ViewQuotaDao;
import com.yihu.quota.dao.view.ViewQuotaFilterDao;
import com.yihu.quota.model.cube.Cube;
import com.yihu.quota.model.view.View;
import com.yihu.quota.model.view.ViewDimension;
import com.yihu.quota.model.view.ViewQuota;
import org.apache.log4j.Logger;
import org.elasticsearch.client.transport.TransportClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @author janseny
@ -19,10 +28,35 @@ public class ViewService extends BaseJpaService<View, ViewDao> {
    private static final Logger logger = Logger.getLogger(ViewService.class);
    @Autowired
    ViewDao viewDao;
    private ViewDao viewDao;
    @Autowired
    private ViewDimensionDao viewDimensionDao;
    @Autowired
    private ViewQuotaDao viewQuotaDao;
    @Autowired
    private ViewQuotaFilterDao viewQuotaFilterDao;
    @Autowired
    private ElasticSearchPool elasticSearchPool;
    public View findOne(Integer id) {
        return viewDao.findOne(id);
    }
    /**
     * 获取视图统计结果
     *
     * @param viewCode
     */
    public void statViewResult(String viewCode) {
        View view = viewDao.findByCode(viewCode);
        List<ViewDimension> viewDimensionList = viewDimensionDao.findByViewId(view.getId());
        List<ViewQuota> viewQuotaList = viewQuotaDao.findByViewId(view.getId());
        TransportClient transportClient = elasticSearchPool.getClient();
        transportClient.close();
    }
}