123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package cn.cslg.pas.service.business;
- import cn.cslg.pas.common.dto.customAnalyse.SchemaDataDTO;
- import cn.cslg.pas.common.dto.customAnalyse.SchemaDimensionDTO;
- import cn.cslg.pas.common.model.cronModel.PersonnelVO;
- import cn.cslg.pas.common.utils.CacheUtils;
- import cn.cslg.pas.common.utils.LoginUtils;
- import cn.cslg.pas.domain.business.CustomAnalysisItemSchema;
- import cn.cslg.pas.exception.UnLoginException;
- import cn.cslg.pas.mapper.CustomAnalysisItemSchemaMapper;
- import cn.dev33.satoken.stp.StpUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * <p>
- * 自定义分析项目维度数据 服务实现类
- * </p>
- */
- @Service
- public class CustomAnalysisItemSchemaService extends ServiceImpl<CustomAnalysisItemSchemaMapper, CustomAnalysisItemSchema> {
- @Autowired
- private CacheUtils cacheUtils;
- @Autowired
- private LoginUtils loginUtils;
- @Autowired
- private CustomAnalysisItemSchemaMapper customAnalysisItemSchemaMapper;
- public List<CustomAnalysisItemSchema> getListByUid(String uid) {
- LambdaQueryWrapper<CustomAnalysisItemSchema> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(CustomAnalysisItemSchema::getUid, uid);
- return this.list(queryWrapper);
- }
- public SchemaDimensionDTO getItemSchemaByUid(String uid) {
- List<CustomAnalysisItemSchema> schemaList = this.getListByUid(uid);
- CustomAnalysisItemSchema d1 = schemaList.stream().filter(item -> item.getDimension().equals("x")).findFirst().orElse(new CustomAnalysisItemSchema());
- CustomAnalysisItemSchema d2 = schemaList.stream().filter(item -> item.getDimension().equals("y")).findFirst().orElse(new CustomAnalysisItemSchema());
- SchemaDimensionDTO dto = new SchemaDimensionDTO();
- SchemaDataDTO x = new SchemaDataDTO();
- SchemaDataDTO y = new SchemaDataDTO();
- x.setField(d1.getField());
- x.setExpand(d1.getExpand());
- x.setPtype(d1.getPtype());
- x.setNum(d1.getNum());
- x.setType(d1.getType());
- x.setGroupBy(d1.getGroupBy());
- x.setFieldKind(d1.getFieldKind());
- x.setName(d1.getName());
- y.setField(d2.getField());
- y.setExpand(d2.getExpand());
- y.setPtype(d2.getPtype());
- y.setNum(d2.getNum());
- y.setType(d2.getType());
- y.setName(d2.getName());
- y.setGroupBy(d2.getGroupBy());
- y.setFieldKind(d2.getFieldKind());
- dto.setX(x);
- dto.setY(y);
- return dto;
- }
- public void add(SchemaDimensionDTO dto, String uid) {
- //获取登陆人信息 用于设置创建人
- PersonnelVO personnelVO = new PersonnelVO();
- try {
- personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
- } catch (Exception e) {
- throw new UnLoginException("未登录");
- }
- List<CustomAnalysisItemSchema> customAnalysisItemSchema = new ArrayList<>();
- CustomAnalysisItemSchema d1 = new CustomAnalysisItemSchema();
- CustomAnalysisItemSchema d2 = new CustomAnalysisItemSchema();
- d1.setUid(uid);
- d1.setDimension("x");
- d1.setField(dto.getX().getField());
- d1.setExpand(dto.getX().getExpand());
- d1.setPtype(dto.getX().getPtype());
- d1.setType(dto.getX().getType());
- d1.setNum(dto.getX().getNum());
- d1.setName(dto.getX().getName());
- d1.setGroupBy(dto.getX().getGroupBy());
- d1.setFieldKind(dto.getX().getFieldKind());
- d1.setCreateId(personnelVO.getId());
- d1.setCreateName(personnelVO.getName());
- d1.setCreateTime(new Date());
- d1.setUpdateTime(new Date());
- d2.setUid(uid);
- d2.setDimension("y");
- d2.setField(dto.getY().getField());
- d2.setExpand(dto.getY().getExpand());
- d2.setPtype(dto.getY().getPtype());
- d2.setType(dto.getY().getType());
- d2.setNum(dto.getY().getNum());
- d2.setName(dto.getY().getName());
- d2.setGroupBy(dto.getY().getGroupBy());
- d2.setFieldKind(dto.getY().getFieldKind());
- d2.setCreateId(personnelVO.getId());
- d2.setCreateName(personnelVO.getName());
- d2.setCreateTime(new Date());
- d2.setUpdateTime(new Date());
- customAnalysisItemSchema.add(d1);
- customAnalysisItemSchema.add(d2);
- this.saveBatch(customAnalysisItemSchema);
- }
- public void edit(SchemaDimensionDTO dto, String uid) {
- List<CustomAnalysisItemSchema> schemaList = this.getListByUid(uid);
- if (schemaList.size() == 0) {
- this.add(dto, uid);
- } else {
- schemaList.forEach(item -> {
- switch (item.getDimension()) {
- case "x":
- item.setField(dto.getX().getField());
- item.setExpand(dto.getX().getExpand());
- item.setPtype(dto.getX().getPtype());
- item.setNum(dto.getX().getNum());
- item.setType(dto.getX().getType());
- item.setName(dto.getX().getName());
- item.setGroupBy(dto.getX().getGroupBy());
- item.setFieldKind(dto.getX().getFieldKind());
- break;
- case "y":
- item.setField(dto.getY().getField());
- item.setExpand(dto.getY().getExpand());
- item.setPtype(dto.getY().getPtype());
- item.setNum(dto.getY().getNum());
- item.setType(dto.getY().getType());
- item.setName(dto.getY().getName());
- item.setGroupBy(dto.getY().getGroupBy());
- item.setFieldKind(dto.getY().getFieldKind());
- break;
- }
- });
- this.saveOrUpdateBatch(schemaList);
- }
- }
- public void deleteByUid(String uid) {
- this.remove(Wrappers.<CustomAnalysisItemSchema>lambdaQuery().eq(CustomAnalysisItemSchema::getUid, uid));
- }
- }
|