this.ds错误

出现了这样的错误 肯定是Store出现了问题

比如我们的fields和column里面的dataindex不一致 

这样的问题都是我们平时如果仔细一点就可以避免的。

我曾经出现这个问题的原因是由于我在对Grid进行定义的时候,属性写成了一下这样:

store : 'store' 

不知道大家看没看出来 就是因为这对引号,所以一直报this.ds的错误。

贴出来 警示一下自己,希望对大家有帮助

@Override public AjaxResult selectDSById(Integer id) { try { DataSource dataSource = this.datasourceMapper.selectById(id); if (dataSource != null) { if (Constant.DS_TYPE_FILE.equalsIgnoreCase(dataSource.getDsType())) { DataSourceFile dataSourceFile = this.dataSourceFileMapper.selectOne(new QueryWrapper<DataSourceFile>() .eq("datasource_id", dataSource.getId())); dataSource.setDataSourceFile(dataSourceFile); } else if (Constant.DS_TYPE_DB.equalsIgnoreCase(dataSource.getDsType())){ DataSourceDB dataSourceDB = this.dataSourceDBMapper.selectOne(new QueryWrapper<DataSourceDB>() .eq("datasource_id", dataSource.getId())); dataSource.setDatasourceDB(dataSourceDB); } else if (Constant.DS_TYPE_API.equalsIgnoreCase(dataSource.getDsType())){ DataSourceApi dataSourceApi = this.dataSourceApiMapper.selectOne(new QueryWrapper<DataSourceApi>() .eq("datasource_id", dataSource.getId())); dataSource.setDataSourceApi(dataSourceApi); } else { throw new RuntimeException("未知数据源类型!"); } } return AjaxResult.success("数据源详情查询成功!", dataSource); } catch (RuntimeException e) { log.error("数据源详情查询异常:", e.getMessage()); return AjaxResult.error("数据源详情查询异常,请联系管理员! 异常原因: ", e.getMessage()); } } /** * 数据源新增和修改 * @param dataSource * @return */ @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public AjaxResult addOrUpdateDataSource(DataSource dataSource) { try { if (dataSource == null) { return AjaxResult.error("参数数据不能为空"); } QueryWrapper<DataSource> queryWrapper = new QueryWrapper<DataSource>().eq("ds_name", dataSource.getDsName()); if (dataSource.getId() != null) { queryWrapper.ne("id", dataSource.getId()); } DataSource existingDataSource = datasourceMapper.selectOne(queryWrapper); if (existingDataSource != null) { return AjaxResult.warn("数据源名称不能重复!"); } if (dataSource.getId() == null) { datasourceMapper.insert(dataSource); } else { datasourceMapper.updateById(dataSource); } DataSource newDataSource = this.datasourceMapper.selectOne(new QueryWrapper<DataSource>().eq("ds_name", dataSource.getDsName())); if (newDataSource == null) { return AjaxResult.error("数据源子表信息添加失败!"); } String dsType = dataSource.getDsType(); if (Constant.DS_TYPE_FILE.equalsIgnoreCase(dsType)) { handleFileData(dataSource.getDataSourceFile(), newDataSource.getId()); } else if (Constant.DS_TYPE_DB.equalsIgnoreCase(dsType)) { handleDBData(dataSource.getDatasourceDB(), newDataSource.getId()); } else if (Constant.DS_TYPE_API.equalsIgnoreCase(dsType)) { handleApiData(dataSource.getDataSourceApi(), newDataSource.getId()); } else { throw new RuntimeException("未知数据源类型!"); } return AjaxResult.success("数据源新增修改成功!"); } catch (Exception e) { // 手动标记事务回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); log.error("数据源操作异常:", e); return AjaxResult.error("数据源操作异常,请联系管理员! 异常原因: ", e.getMessage()); } } /** * 数据源删除(以及关联子表) * @param id * @return */ @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public AjaxResult deleteDataSource(Integer id) { try { DataSource dataSource = datasourceMapper.selectById(id); if (dataSource == null){ throw new BaseException("数据已被删除 或 不存在!"); } // 删除主表数据 int ds = datasourceMapper.deleteById(id); if (ds <= 0) { throw new BaseException("主表数据删除失败"); } if (Constant.DS_TYPE_FILE.equalsIgnoreCase(dataSource.getDsType())){ // 删除子表数据 int dsFile = dataSourceFileMapper.delete(new QueryWrapper<DataSourceFile>().eq("datasource_id", id)); if (dsFile < 0) { throw new BaseException("文件子表数据删除失败"); } }else if (Constant.DS_TYPE_DB.equalsIgnoreCase(dataSource.getDsType())){ int dsDB = dataSourceDBMapper.delete(new QueryWrapper<DataSourceDB>().eq("datasource_id", id)); if (dsDB < 0) { throw new BaseException("数据库子表数据删除失败"); } }else if (Constant.DS_TYPE_API.equalsIgnoreCase(dataSource.getDsType())){ int dsApi = dataSourceApiMapper.delete(new QueryWrapper<DataSourceApi>().eq("datasource_id", id)); if (dsApi < 0) { throw new BaseException("API子表数据删除失败"); } }else { throw new BaseException("要删除的数据源类型异常,请联系管理员!"); } return AjaxResult.success("数据源删除成功", true); } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); log.error("数据源删除异常:", e); return AjaxResult.error("数据源删除失败,请联系管理员", false); } } private void handleFileData(DataSourceFile dataSourceFile, Long dataSourceId) { if (dataSourceFile == null) return; dataSourceFile.setDatasourceId(dataSourceId); if (dataSourceFile.getId() == null) { dataSourceFileMapper.insert(dataSourceFile); } else { dataSourceFileMapper.updateById(dataSourceFile); } } private void handleDBData(DataSourceDB dataSourceDB, Long dataSourceId) { if (dataSourceDB == null) return; dataSourceDB.setDatasourceId(dataSourceId); if (dataSourceDB.getId() == null) { dataSourceDBMapper.insert(dataSourceDB); } else { dataSourceDBMapper.updateById(dataSourceDB); } } private void handleApiData(DataSourceApi dataSourceApi, Long dataSourceId) { if (dataSourceApi == null) return; dataSourceApi.setDatasourceId(dataSourceId); if (dataSourceApi.getId() == null) { dataSourceApiMapper.insert(dataSourceApi); } else { dataSourceApiMapper.updateById(dataSourceApi); } }代码优化一下
最新发布
07-30
public BaseResponse<GetRankingDetailsResponseDto> getRankingDetails(GetRankingDetailsRequestDto requestDto) { GetRankingDetailsResponseDto responseDto = new GetRankingDetailsResponseDto(); GetSingleMeasureReqBo measureReqBo = new GetSingleMeasureReqBo(); measureReqBo.setDate(FormatUtil.dateToString(new Date(), FormatUtil.DATE_FORMAT_YYYYMMDD)); measureReqBo.setMeasures(MetricTypeEnum.REALTIME_APPLICATION.getSingletonCodeList()); measureReqBo.setDateType(DateTypeEnum.DAY.getCode()); LevelInfo levelInfo = new LevelInfo(); ListTypeEnum listType = ListTypeEnum.getByValue(requestDto.getListType()); if (ListTypeEnum.DS.equals(listType)) { // 构建用户标识 responseDto.setUserFlags(this.buildUserFlags(requestDto.getId())); levelInfo.setDsId(requestDto.getId()); measureReqBo.setLevel(LevelEnum.EMPLOYEE.getCode()); } else if (ListTypeEnum.GROUP.equals(listType)) { measureReqBo.setLevel(LevelEnum.GROUP.getCode()); levelInfo.setGroupId(requestDto.getId()); } else if (ListTypeEnum.UNIT.equals(listType)) { measureReqBo.setLevel(LevelEnum.UNIT.getCode()); levelInfo.setUnitId(requestDto.getId()); } else if (ListTypeEnum.DEPT.equals(listType)) { boolean isDirect = RankingChannel.DIRECT.equals(requestDto.getChannel()); if (isDirect) { levelInfo.setDeptId(requestDto.getId()); measureReqBo.setLevel(LevelEnum.DEPT.getCode()); } else { levelInfo.setUnitId(requestDto.getId()); measureReqBo.setLevel(LevelEnum.UNIT.getCode()); } } measureReqBo.setLevelInfo(levelInfo); measureReqBo.setDimension(LevelEnum.ACCESS.getCode()); measureReqBo.setOperatorId(requestDto.getDsId()); // 团队类型 boolean isBranch = RankingChannel.BRANCH.equals(requestDto.getChannel()); if (isBranch) { measureReqBo.setTeamType(ChampionConstant.TRADITIONAL_BRANCH); } else { measureReqBo.setTeamType(ChampionConstant.CREDIT_CARD_POSITION); } BoWrapper<Map<String, String>> boWrapper = measureService.getSingleMeasure(measureReqBo); if (!boWrapper.isSuccess()) { return BaseResponse.fail(ReturnCode.GET_METRIC_DATA_FAIL.getCode(), String.format(ReturnCode.GET_METRIC_DATA_FAIL.getMsg(), REALTIME_APPLICATION)); } List<AccessDataBo> accessDataList = new ArrayList<>(); Map<String, String> measureData = boWrapper.getData(); accessDataList.add(this.buildAccessData(measureData, AccessEnum.SELF)); accessDataList.add(this.buildAccessData(measureData, AccessEnum.SCENE)); accessDataList.add(this.buildAccessData(measureData, AccessEnum.FUSION)); accessDataList.add(this.buildAccessData(measureData, AccessEnum.LIST)); BigDecimal sum = accessDataList.stream().map(AccessDataBo::getSum).reduce(BigDecimal.ZERO, BigDecimalUtil::add); responseDto.setSum(BigDecimalUtil.setScale(sum, ACCURACY)); // 黑名单业代屏蔽 boolean isDsBlock = Role.isGeneralRole(requestDto.getRoles()) && configServiceAccessor.isMetricBlock(requestDto.getDeptId(), requestDto.getGroupId(), requestDto.getDsId()); if (isDsBlock && ListTypeEnum.DS.equals(listType) && !requestDto.getId().equals(requestDto.getDsId())) { accessDataList = accessDataList.stream().map(e -> new AccessDataBo(e.getType(), e.getDesc(), null, null)).collect(Collectors.toList()); } responseDto.setUpdateTime(new Date()); responseDto.setAccessDataList(accessDataList); return BaseResponse.success(responseDto); }解释一下这段代码逻辑
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值