[improvement][launcher]Add DictConf for dimensions in S2VisitsDemo.

This commit is contained in:
jerryjzhang
2024-10-29 14:38:58 +08:00
parent 400b9f86f0
commit 826354cdf1
3 changed files with 24 additions and 17 deletions

View File

@@ -5,9 +5,15 @@ import javax.validation.constraints.NotNull;
import com.tencent.supersonic.common.pojo.enums.StatusEnum; import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums; import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.headless.api.pojo.ItemValueConfig; import com.tencent.supersonic.headless.api.pojo.ItemValueConfig;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DictItemReq { public class DictItemReq {
private Long id; private Long id;

View File

@@ -22,16 +22,7 @@ import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp; import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
import com.tencent.supersonic.headless.api.pojo.response.MetricResp; import com.tencent.supersonic.headless.api.pojo.response.MetricResp;
import com.tencent.supersonic.headless.api.pojo.response.ModelResp; import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
import com.tencent.supersonic.headless.server.service.DataSetService; import com.tencent.supersonic.headless.server.service.*;
import com.tencent.supersonic.headless.server.service.DatabaseService;
import com.tencent.supersonic.headless.server.service.DimensionService;
import com.tencent.supersonic.headless.server.service.DomainService;
import com.tencent.supersonic.headless.server.service.MetricService;
import com.tencent.supersonic.headless.server.service.ModelRelaService;
import com.tencent.supersonic.headless.server.service.ModelService;
import com.tencent.supersonic.headless.server.service.TagMetaService;
import com.tencent.supersonic.headless.server.service.TagObjectService;
import com.tencent.supersonic.headless.server.service.TermService;
import com.tencent.supersonic.headless.server.service.impl.DictWordService; import com.tencent.supersonic.headless.server.service.impl.DictWordService;
import dev.langchain4j.provider.ModelProvider; import dev.langchain4j.provider.ModelProvider;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -90,6 +81,10 @@ public abstract class S2BaseDemo implements CommandLineRunner {
@Autowired @Autowired
protected ChatModelService chatModelService; protected ChatModelService chatModelService;
@Autowired @Autowired
protected DictConfService dictConfService;
@Autowired
protected DictTaskService dictTaskService;
@Autowired
protected Environment environment; protected Environment environment;
@Value("${s2.demo.names:S2VisitsDemo}") @Value("${s2.demo.names:S2VisitsDemo}")

View File

@@ -40,13 +40,7 @@ import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType;
import com.tencent.supersonic.headless.api.pojo.enums.MetricDefineType; import com.tencent.supersonic.headless.api.pojo.enums.MetricDefineType;
import com.tencent.supersonic.headless.api.pojo.enums.SemanticType; import com.tencent.supersonic.headless.api.pojo.enums.SemanticType;
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType; import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
import com.tencent.supersonic.headless.api.pojo.request.DataSetReq; import com.tencent.supersonic.headless.api.pojo.request.*;
import com.tencent.supersonic.headless.api.pojo.request.DimensionReq;
import com.tencent.supersonic.headless.api.pojo.request.DomainReq;
import com.tencent.supersonic.headless.api.pojo.request.MetricReq;
import com.tencent.supersonic.headless.api.pojo.request.ModelReq;
import com.tencent.supersonic.headless.api.pojo.request.TagObjectReq;
import com.tencent.supersonic.headless.api.pojo.request.TermReq;
import com.tencent.supersonic.headless.api.pojo.response.DataSetResp; import com.tencent.supersonic.headless.api.pojo.response.DataSetResp;
import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp; import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp; import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
@@ -54,6 +48,7 @@ import com.tencent.supersonic.headless.api.pojo.response.DomainResp;
import com.tencent.supersonic.headless.api.pojo.response.MetricResp; import com.tencent.supersonic.headless.api.pojo.response.MetricResp;
import com.tencent.supersonic.headless.api.pojo.response.ModelResp; import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
import com.tencent.supersonic.headless.api.pojo.response.TagObjectResp; import com.tencent.supersonic.headless.api.pojo.response.TagObjectResp;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -91,6 +86,10 @@ public class S2VisitsDemo extends S2BaseDemo {
updateMetric(stayTimeModel, departmentDimension, userDimension); updateMetric(stayTimeModel, departmentDimension, userDimension);
updateMetric_pv(pvUvModel, departmentDimension, userDimension, metricPv); updateMetric_pv(pvUvModel, departmentDimension, userDimension, metricPv);
// create dict conf for dimensions
createDictConf(departmentDimension);
createDictConf(userDimension);
// create data set // create data set
DataSetResp s2DataSet = addDataSet(s2Domain); DataSetResp s2DataSet = addDataSet(s2Domain);
addAuthGroup_1(stayTimeModel); addAuthGroup_1(stayTimeModel);
@@ -346,6 +345,13 @@ public class S2VisitsDemo extends S2BaseDemo {
dimensionService.updateDimension(dimensionReq, defaultUser); dimensionService.updateDimension(dimensionReq, defaultUser);
} }
private void createDictConf(DimensionResp dimension) {
dictConfService.addDictConf(DictItemReq.builder().type(TypeEnums.DIMENSION)
.itemId(dimension.getId()).status(StatusEnum.ONLINE).build(), defaultUser);
dictTaskService.addDictTask(DictSingleTaskReq.builder().itemId(dimension.getId())
.type(TypeEnums.DIMENSION).build(), defaultUser);
}
public void updateMetric(ModelResp stayTimeModel, DimensionResp departmentDimension, public void updateMetric(ModelResp stayTimeModel, DimensionResp departmentDimension,
DimensionResp userDimension) throws Exception { DimensionResp userDimension) throws Exception {
MetricResp stayHoursMetric = metricService.getMetric(stayTimeModel.getId(), "stay_hours"); MetricResp stayHoursMetric = metricService.getMetric(stayTimeModel.getId(), "stay_hours");