diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java index e141cc1b62..4220d88dfc 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java @@ -2,7 +2,6 @@ package io.dataease.auth.service.impl; import io.dataease.auth.service.ExtAuthService; import io.dataease.base.domain.SysAuth; -import io.dataease.base.domain.SysAuthExample; import io.dataease.base.mapper.SysAuthMapper; import io.dataease.base.mapper.ext.ExtAuthMapper; import io.dataease.commons.model.AuthURD; diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java index 68c20a92f2..8ebf604a00 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java @@ -45,6 +45,8 @@ public class ShiroServiceImpl implements ShiroService { //验证链接 filterChainDefinitionMap.put("/api/link/validate**", ANON); filterChainDefinitionMap.put("/api/map/areaEntitys/**", ANON); + //未读消息数量 + filterChainDefinitionMap.put("/api/sys_msg/unReadCount", ANON); filterChainDefinitionMap.put("/**/*.json", ANON); filterChainDefinitionMap.put("/system/ui/**", ANON); diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.java deleted file mode 100644 index 6bb998b724..0000000000 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.dataease.base.mapper.ext; - -public interface ExtBaseMapper { -} diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.xml deleted file mode 100644 index 72123155c8..0000000000 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - order by - - ${order.name} ${order.type} - - - - - - - - like CONCAT('%', #{${object}.value},'%') - - - not like CONCAT('%', #{${object}.value},'%') - - - in - - #{v} - - - - not in - - #{v} - - - - between #{${object}.value[0]} and #{${object}.value[1]} - - - > #{${object}.value} - - - < #{${object}.value} - - - >= #{${object}.value} - - - <= #{${object}.value} - - - = '${@io.metersphere.commons.utils.SessionUtils@getUserId()}' - - - = #{${object}.value} - - - - - diff --git a/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java b/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java index 4bdea0e469..7e3c5ef7aa 100644 --- a/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java +++ b/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java @@ -7,7 +7,6 @@ import javax.crypto.*; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.MessageDigest; -import java.util.UUID; /** * 加密解密工具 diff --git a/backend/src/main/java/io/dataease/commons/utils/FileUtils.java b/backend/src/main/java/io/dataease/commons/utils/FileUtils.java deleted file mode 100644 index e76b24c687..0000000000 --- a/backend/src/main/java/io/dataease/commons/utils/FileUtils.java +++ /dev/null @@ -1,34 +0,0 @@ -package io.dataease.commons.utils; - -import io.dataease.commons.exception.DEException; -import io.dataease.i18n.Translator; -import org.apache.commons.collections4.CollectionUtils; -import org.aspectj.util.FileUtil; -import org.springframework.web.multipart.MultipartFile; - -import java.io.*; -import java.util.List; - -public class FileUtils { - private static final String BODY_FILE_DIR = "/opt/metersphere/data/body"; - - public static void createBodyFiles(List bodyUploadIds, List bodyFiles) { - if (CollectionUtils.isNotEmpty(bodyUploadIds) && CollectionUtils.isNotEmpty(bodyFiles)) { - File testDir = new File(BODY_FILE_DIR); - if (!testDir.exists()) { - testDir.mkdirs(); - } - for (int i = 0; i < bodyUploadIds.size(); i++) { - MultipartFile item = bodyFiles.get(i); - File file = new File(BODY_FILE_DIR + "/" + bodyUploadIds.get(i) + "_" + item.getOriginalFilename()); - try (InputStream in = item.getInputStream(); OutputStream out = new FileOutputStream(file)) { - file.createNewFile(); - FileUtil.copyStream(in, out); - } catch (IOException e) { - LogUtil.error(e); - DEException.throwException(Translator.get("upload_fail")); - } - } - } - } -} diff --git a/backend/src/main/java/io/dataease/controller/IndexController.java b/backend/src/main/java/io/dataease/controller/IndexController.java index 19c83d007f..70febde13c 100644 --- a/backend/src/main/java/io/dataease/controller/IndexController.java +++ b/backend/src/main/java/io/dataease/controller/IndexController.java @@ -2,7 +2,6 @@ package io.dataease.controller; import io.dataease.commons.license.DefaultLicenseService; import io.dataease.commons.license.F2CLicenseResponse; -import io.dataease.exception.DataEaseException; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index 5b50abc369..18bfca1765 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -5,9 +5,7 @@ import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.commons.utils.AuthUtils; import io.dataease.controller.request.chart.ChartExtRequest; import io.dataease.controller.request.chart.ChartViewRequest; -import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.dto.chart.ChartViewDTO; -import io.dataease.dto.dataset.DataSetTableDTO; import io.dataease.service.chart.ChartViewService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java index 430fb22f1c..7009e07eba 100644 --- a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java @@ -3,7 +3,6 @@ package io.dataease.controller.request.dataset; import io.dataease.base.domain.DatasetGroup; import lombok.Data; -import java.util.List; import java.util.Set; /** diff --git a/backend/src/main/java/io/dataease/controller/sys/MsgController.java b/backend/src/main/java/io/dataease/controller/sys/MsgController.java index 1b4ce8bc8f..729edbae37 100644 --- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java +++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java @@ -6,6 +6,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.base.domain.SysMsgChannel; import io.dataease.base.domain.SysMsgSetting; import io.dataease.base.domain.SysMsgType; +import io.dataease.commons.exception.DEException; import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; @@ -21,6 +22,7 @@ import org.apache.commons.lang3.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Api(tags = "系统:消息管理") @@ -46,6 +48,16 @@ public class MsgController { return listPager; } + @ApiOperation("查询未读数量") + @PostMapping("/unReadCount") + public Long unReadCount(@RequestBody Map request) { + if(null == request || null == request.get("userId")) { + throw new RuntimeException("缺少用户ID"); + } + Long userId = request.get("userId"); + return sysMsgService.queryCount(userId); + } + @ApiOperation("设置已读") @PostMapping("/setReaded/{msgId}") public void setReaded(@PathVariable Long msgId) { diff --git a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java index daf98f1796..0a1052f787 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java @@ -5,6 +5,7 @@ import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.auth.api.dto.CurrentUserDto; +import io.dataease.base.domain.SysRole; import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; @@ -116,4 +117,14 @@ public class SysUserController { public List all(){ return sysRoleService.allRoles(); } + + + + @ApiOperation("查询角色") + @PostMapping("/roleGrid/{goPage}/{pageSize}") + public Pager> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { + Page page = PageHelper.startPage(goPage, pageSize, true); + Pager> listPager = PageUtils.setPageInfo(page, sysRoleService.query(request)); + return listPager; + } } diff --git a/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java index 8f1149ead6..4ddf049a69 100644 --- a/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java @@ -4,7 +4,6 @@ import io.dataease.base.domain.SysUser; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.ArrayList; import java.util.List; @Data diff --git a/backend/src/main/java/io/dataease/dto/chart/Series.java b/backend/src/main/java/io/dataease/dto/chart/Series.java index 2052dca0cd..96b7d000d4 100644 --- a/backend/src/main/java/io/dataease/dto/chart/Series.java +++ b/backend/src/main/java/io/dataease/dto/chart/Series.java @@ -3,7 +3,6 @@ package io.dataease.dto.chart; import lombok.Getter; import lombok.Setter; -import java.math.BigDecimal; import java.util.List; /** diff --git a/backend/src/main/java/io/dataease/provider/QueryProvider.java b/backend/src/main/java/io/dataease/provider/QueryProvider.java index b3f4ad5a8a..9caa1ebb68 100644 --- a/backend/src/main/java/io/dataease/provider/QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/QueryProvider.java @@ -5,7 +5,6 @@ import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.Datasource; import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.datasource.dto.JdbcDTO; -import io.dataease.datasource.dto.SqlServerConfigration; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.dto.sqlObj.SQLObj; diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java b/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java index e25aa90085..fda5ea41ef 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java +++ b/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java @@ -3,7 +3,6 @@ package io.dataease.provider.doris; import io.dataease.provider.SQLConstants; import static io.dataease.datasource.constants.DatasourceTypes.doris; -import static io.dataease.datasource.constants.DatasourceTypes.mysql; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java b/backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java index eecb57b2d2..9944e3b1b8 100644 --- a/backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java @@ -8,8 +8,6 @@ import io.dataease.base.mapper.DatasetTableFieldMapper; import io.dataease.commons.constants.DeTypeConstants; import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.datasource.dto.JdbcDTO; -import io.dataease.datasource.dto.PgConfigration; -import io.dataease.datasource.dto.SqlServerConfigration; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.dto.sqlObj.SQLObj; diff --git a/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java index 6820889473..37d0ec4881 100644 --- a/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java @@ -8,7 +8,6 @@ import io.dataease.base.mapper.DatasetTableFieldMapper; import io.dataease.commons.constants.DeTypeConstants; import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.datasource.dto.JdbcDTO; -import io.dataease.datasource.dto.SqlServerConfigration; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.dto.sqlObj.SQLObj; diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java index 08a1b41d61..919deddbb5 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java @@ -12,7 +12,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.UUID; /** diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 49ebc00bb5..e6b944db19 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -1183,6 +1183,7 @@ public class DataSetTableService { if (StringUtils.isNotEmpty(tableId) && editType == 1 ) { List datasetTableFields = dataSetTableFieldsService.getFieldsByTableId(tableId); + datasetTableFields.stream().filter(datasetTableField -> datasetTableField.getName().startsWith("C_")).collect(Collectors.toList()); datasetTableFields.sort((o1, o2) -> { if (o1.getColumnIndex() == null) { return -1; diff --git a/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java b/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java index 92f2d61b4c..0ce78d354e 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java @@ -2,9 +2,7 @@ package io.dataease.service.dataset; import io.dataease.base.domain.*; import io.dataease.base.mapper.DatasetTableFunctionMapper; -import io.dataease.commons.utils.DorisTableUtils; import io.dataease.datasource.service.DatasourceService; -import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 53bdf602fe..09c5226a65 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -164,6 +164,7 @@ public class ExtractDataService { if(datasetTableFields == null){ datasetTableFields = dataSetTableFieldsService.list(DatasetTableField.builder().tableId(datasetTable.getId()).build()); } + datasetTableFields = datasetTableFields.stream().filter(datasetTableField -> datasetTableField.getName().startsWith("C_")).collect(Collectors.toList()); datasetTableFields.sort((o1, o2) -> { if (o1.getColumnIndex() == null) { return -1; @@ -273,6 +274,7 @@ public class ExtractDataService { datasource.setType(datasetTable.getType()); } List datasetTableFields = dataSetTableFieldsService.list(DatasetTableField.builder().tableId(datasetTable.getId()).build()); + datasetTableFields = datasetTableFields.stream().filter(datasetTableField -> datasetTableField.getName().startsWith("C_")).collect(Collectors.toList()); datasetTableFields.sort((o1, o2) -> { if (o1.getColumnIndex() == null) { return -1; diff --git a/backend/src/main/java/io/dataease/service/message/SysMsgService.java b/backend/src/main/java/io/dataease/service/message/SysMsgService.java index 0bfa10c343..798e0b42a2 100644 --- a/backend/src/main/java/io/dataease/service/message/SysMsgService.java +++ b/backend/src/main/java/io/dataease/service/message/SysMsgService.java @@ -105,6 +105,13 @@ public class SysMsgService { return msgGridDtos; } + public Long queryCount(Long userId) { + SysMsgExample example = new SysMsgExample(); + SysMsgExample.Criteria criteria = example.createCriteria(); + criteria.andUserIdEqualTo(userId).andStatusEqualTo(false); + return sysMsgMapper.countByExample(example); + } + public void setReaded(Long msgId) { SysMsg sysMsg = new SysMsg(); sysMsg.setMsgId(msgId); diff --git a/backend/src/main/java/io/dataease/service/panel/PanelViewLinkageService.java b/backend/src/main/java/io/dataease/service/panel/PanelViewLinkageService.java index 20447092a0..0e5cfe21b0 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelViewLinkageService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelViewLinkageService.java @@ -1,7 +1,6 @@ package io.dataease.service.panel; import io.dataease.base.domain.PanelViewLinkage; -import io.dataease.base.domain.PanelViewLinkageExample; import io.dataease.base.domain.PanelViewLinkageField; import io.dataease.base.mapper.PanelViewLinkageFieldMapper; import io.dataease.base.mapper.PanelViewLinkageMapper; @@ -10,7 +9,6 @@ import io.dataease.commons.utils.AuthUtils; import io.dataease.controller.request.panel.PanelLinkageRequest; import io.dataease.dto.LinkageInfoDTO; import io.dataease.dto.PanelViewLinkageDTO; -import io.dataease.dto.PanelViewLinkageFieldDTO; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/backend/src/main/java/io/dataease/service/sys/DeptService.java b/backend/src/main/java/io/dataease/service/sys/DeptService.java index a065e84e9b..7eb30ae7c8 100644 --- a/backend/src/main/java/io/dataease/service/sys/DeptService.java +++ b/backend/src/main/java/io/dataease/service/sys/DeptService.java @@ -8,7 +8,6 @@ import io.dataease.base.mapper.ext.query.GridExample; import io.dataease.commons.utils.BeanUtils; import io.dataease.commons.utils.CommonBeanFactory; import io.dataease.controller.sys.base.BaseGridRequest; -import io.dataease.controller.sys.base.ConditionEntity; import io.dataease.controller.sys.request.DeptCreateRequest; import io.dataease.controller.sys.request.DeptDeleteRequest; import io.dataease.controller.sys.request.DeptStatusRequest; @@ -19,7 +18,6 @@ import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; diff --git a/backend/src/main/java/io/dataease/service/sys/SysRoleService.java b/backend/src/main/java/io/dataease/service/sys/SysRoleService.java index 558c0b7f96..3747055c9c 100644 --- a/backend/src/main/java/io/dataease/service/sys/SysRoleService.java +++ b/backend/src/main/java/io/dataease/service/sys/SysRoleService.java @@ -5,9 +5,11 @@ package io.dataease.service.sys; import io.dataease.base.domain.SysUsersRolesExample; import io.dataease.base.mapper.SysRoleMapper; import io.dataease.base.mapper.SysUsersRolesMapper;*/ +import io.dataease.base.domain.SysRole; import io.dataease.base.mapper.ext.ExtSysRoleMapper; /*import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.request.RoleMenusRequest;*/ +import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.response.RoleUserItem; import org.springframework.stereotype.Service; /*import org.springframework.transaction.annotation.Transactional;*/ @@ -55,12 +57,13 @@ public class SysRoleService { return mapper.deleteByPrimaryKey(roleId); } - + */ public List query(BaseGridRequest request){ List result = extSysRoleMapper.query(request.convertExample()); return result; } + /* public List menuIds(Long roleId){ return extSysRoleMapper.menuIds(roleId); diff --git a/backend/src/main/resources/db/migration/V19__area_mapping.sql b/backend/src/main/resources/db/migration/V19__area_mapping.sql index 388374710a..be0147d8c6 100644 --- a/backend/src/main/resources/db/migration/V19__area_mapping.sql +++ b/backend/src/main/resources/db/migration/V19__area_mapping.sql @@ -87,8 +87,6 @@ INSERT INTO `dataset_table_function` VALUES (57, 'ROUND', 'ROUND(x,y)', 'doris', INSERT INTO `dataset_table_function` VALUES (58, 'SIGN', 'SIGN(x)', 'doris', 2, '返回参数x的符号,-1表示负数,0表示0,1表示正数'); INSERT INTO `dataset_table_function` VALUES (59, 'POW', 'POW(x,y)', 'doris', 2, '返回x的y次乘方的值'); INSERT INTO `dataset_table_function` VALUES (60, 'EXP', 'EXP(x)', 'doris', 2, '返回e的x乘方后的值'); -INSERT INTO `dataset_table_function` VALUES (61, 'LOG', 'LOG(x)', 'doris', 2, '返回x的自然对数,x相对于基数e的对数'); -INSERT INTO `dataset_table_function` VALUES (62, 'LOG10', 'LOG10(x)', 'doris', 2, '返回x的基数为10的对数'); INSERT INTO `dataset_table_function` VALUES (63, 'RADIANS', 'RADIANS(x)', 'doris', 2, '返回x由角度转化为弧度的值'); INSERT INTO `dataset_table_function` VALUES (64, 'DEGREES', 'DEGREES(x)', 'doris', 2, '返回x由弧度转化为角度的值'); INSERT INTO `dataset_table_function` VALUES (65, 'SIN', 'SIN(x)', 'doris', 2, '返回x的正弦,其中x为给定的弧度值'); @@ -105,18 +103,11 @@ INSERT INTO `dataset_table_function` VALUES (75, 'RTRIM', 'RTRIM(s)', 'doris', 4 INSERT INTO `dataset_table_function` VALUES (76, 'REPLACE', 'REPLACE(s,s1,s2)', 'doris', 4, '返回一个字符串,用字符串s2替代字符串s中所有的字符串s1'); INSERT INTO `dataset_table_function` VALUES (77, 'SUBSTRING', 'SUBSTRING(s,n,len)', 'doris', 4, '获取从字符串s中的第n个位置开始长度为len的字符串'); INSERT INTO `dataset_table_function` VALUES (78, 'CONCAT', 'CONCAT(s1,s2,...)', 'doris', 4, '返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL'); -INSERT INTO `dataset_table_function` VALUES (79, 'INSERT', 'INSERT(s1,x,len,s2)', 'doris', 4, '返回字符串s1,其子字符串起始于位置x,被字符串s2取代len个字符'); INSERT INTO `dataset_table_function` VALUES (80, 'LOWER', 'LOWER(str)', 'doris', 4, '将str中的字母全部转换成小写'); INSERT INTO `dataset_table_function` VALUES (81, 'UPPER', 'UPPER(str)', 'doris', 4, '将字符串中的字母全部转换成大写'); -INSERT INTO `dataset_table_function` VALUES (82, 'LEFT', 'LEFT(s,n)', 'doris', 4, '返回字符串s从最左边开始的n个字符'); -INSERT INTO `dataset_table_function` VALUES (83, 'RIGHT', 'RIGHT(s,n)', 'doris', 4, '返回字符串s从最右边开始的n个字符'); -INSERT INTO `dataset_table_function` VALUES (84, 'REPEAT', 'REPEAT(s,n)', 'doris', 4, '返回一个由重复字符串s组成的字符串,字符串s的数目等于n'); -INSERT INTO `dataset_table_function` VALUES (85, 'SPACE', 'SPACE(n)', 'doris', 4, '返回一个由n个空格组成的字符串'); -INSERT INTO `dataset_table_function` VALUES (86, 'REVERSE', 'REVERSE(s)', 'doris', 4, '将字符串s反转'); INSERT INTO `dataset_table_function` VALUES (87, 'CURDATE', 'CURDATE()', 'doris', 3, '将当前日期按照\"YYYY-MM-DD\"或者\"YYYYMMDD\"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定'); INSERT INTO `dataset_table_function` VALUES (88, 'CURRENT_DATE', 'CURRENT_DATE()', 'doris', 3, '将当前日期按照\"YYYY-MM-DD\"或者\"YYYYMMDD\"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定'); INSERT INTO `dataset_table_function` VALUES (89, 'NOW', 'NOW()', 'doris', 3, '返回当前日期和时间值,格式为\"YYYY_MM-DD HH:MM:SS\"或\"YYYYMMDDHHMMSS\",具体格式根据函数用在字符串或数字语境中而定'); -INSERT INTO `dataset_table_function` VALUES (90, 'SYSDATE', 'SYSDATE()', 'doris', 3, '返回当前日期和时间值,格式为\"YYYY_MM-DD HH:MM:SS\"或\"YYYYMMDDHHMMSS\",具体格式根据函数用在字符串或数字语境中而定'); INSERT INTO `dataset_table_function` VALUES (91, 'LOCALTIME', 'LOCALTIME()', 'doris', 3, '返回当前日期和时间值,格式为\"YYYY_MM-DD HH:MM:SS\"或\"YYYYMMDDHHMMSS\",具体格式根据函数用在字符串或数字语境中而定'); INSERT INTO `dataset_table_function` VALUES (92, 'CURRENT_TIMESTAMP', 'CURRENT_TIMESTAMP()', 'doris', 3, '返回当前日期和时间值,格式为\"YYYY_MM-DD HH:MM:SS\"或\"YYYYMMDDHHMMSS\",具体格式根据函数用在字符串或数字语境中而定'); INSERT INTO `dataset_table_function` VALUES (93, 'UNIX_TIMESTAMP', 'UNIX_TIMESTAMP()', 'doris', 3, '返回一个格林尼治标准时间1970-01-01 00:00:00到现在的秒数'); @@ -135,6 +126,29 @@ INSERT INTO `dataset_table_function` VALUES (105, 'ABS', 'ABS(value)', 'oracle', INSERT INTO `dataset_table_function` VALUES (106, 'CEIL', 'CEIL(value)', 'oracle', 2, '返回大于等于value的最小整数'); INSERT INTO `dataset_table_function` VALUES (107, 'FLOOR', 'FLOOR(value)', 'oracle', 2, '返回小于等于value的最大整数'); INSERT INTO `dataset_table_function` VALUES (108, 'ROUND', 'ROUND(value,n)', 'oracle', 2, '对value进行四舍五入,保存小数点右侧的n位。如果n省略的话,相当于n=0的情况'); +INSERT INTO `dataset_table_function` VALUES (109, 'datalength', 'datalength(s)', 'sqlServer', 4, '返回字符串包含字符数,但不包含后面的空格'); +INSERT INTO `dataset_table_function` VALUES (110, 'substring', 'substring(expression,start,length)', 'sqlServer', 4, '取子串'); +INSERT INTO `dataset_table_function` VALUES (111, 'ltrim', 'ltrim(expression)', 'sqlServer', 4, '把字符串头部的空格去掉'); +INSERT INTO `dataset_table_function` VALUES (112, 'rtrim', 'rtrim(expression)', 'sqlServer', 4, '把字符串尾部的空格去掉'); +INSERT INTO `dataset_table_function` VALUES (113, 'upper', 'substring(expression)', 'sqlServer', 4, '转为大写'); +INSERT INTO `dataset_table_function` VALUES (114, 'lower', 'substring(expression)', 'sqlServer', 4, '转为小写'); +INSERT INTO `dataset_table_function` VALUES (115, 'reverse', 'reverse(expression)', 'sqlServer', 4, '反转字符串'); +INSERT INTO `dataset_table_function` VALUES (116, 'pi', 'pi()', 'sqlServer', 2, 'π'); +INSERT INTO `dataset_table_function` VALUES (117, 'abs', 'abs(numeric_expr)', 'sqlServer', 2, '求绝对值'); +INSERT INTO `dataset_table_function` VALUES (118, 'sqrt', 'sqrt(float_expr)', 'sqlServer', 2, '平方根'); +INSERT INTO `dataset_table_function` VALUES (119, 'power', 'power(numeric_expr,power) ', 'sqlServer', 2, '返回power次方'); +INSERT INTO `dataset_table_function` VALUES (120, 'getdate', 'getdate() ', 'sqlServer', 3, '返回日期'); +INSERT INTO `dataset_table_function` VALUES (121, 'getutcdate', 'getutcdate() ', 'sqlServer', 3, '获取utc时间'); +INSERT INTO `dataset_table_function` VALUES (122, 'day', 'day(getdate()) ', 'sqlServer', 3, '取出天'); +INSERT INTO `dataset_table_function` VALUES (123, 'abs', 'abs(x)', 'pg', 2, '绝对值'); +INSERT INTO `dataset_table_function` VALUES (124, 'sin', 'sin(x)', 'pg', 2, '正弦'); +INSERT INTO `dataset_table_function` VALUES (125, 'sqrt', 'sqrt(double/numeric)', 'pg', 2, '平方根'); +INSERT INTO `dataset_table_function` VALUES (126, 'lower', 'lower(string)', 'pg', 4, '把字串转化为小写'); +INSERT INTO `dataset_table_function` VALUES (127, 'length', 'length(string text)', 'pg', 4, 'string中字符的数目'); +INSERT INTO `dataset_table_function` VALUES (128, 'md5', 'md5(string text)', 'pg', 4, '计算给出string的MD5散列,以十六进制返回结果'); +INSERT INTO `dataset_table_function` VALUES (129, 'strpos', 'strpos(string, substring)', 'pg', 4, '声明的子字串的位置'); +INSERT INTO `dataset_table_function` VALUES (130, 'to_char', 'to_char(timestamp, text)', 'pg', 3, '将时间戳转换为字符串'); +INSERT INTO `dataset_table_function` VALUES (131, 'to_timestamp', 'to_timestamp(double precision)', 'pg', 3, '把UNIX纪元转换成时间戳'); COMMIT; SET FOREIGN_KEY_CHECKS = 1; diff --git a/frontend/src/api/system/msg.js b/frontend/src/api/system/msg.js index 83accc340f..45ac7c687b 100644 --- a/frontend/src/api/system/msg.js +++ b/frontend/src/api/system/msg.js @@ -9,6 +9,15 @@ export function query(pageIndex, pageSize, data) { }) } +export function unReadCount(data) { + return request({ + url: '/api/sys_msg/unReadCount', + method: 'post', + loading: false, + data + }) +} + export function updateStatus(msgId) { return request({ url: '/api/sys_msg/setReaded/' + msgId, diff --git a/frontend/src/api/system/user.js b/frontend/src/api/system/user.js index f3db990e04..47cfc04581 100644 --- a/frontend/src/api/system/user.js +++ b/frontend/src/api/system/user.js @@ -89,4 +89,13 @@ export const allRoles = () => { }) } -export default { editPassword, delUser, editUser, addUser, userLists, editStatus, persionInfo, updatePerson, updatePersonPwd, allRoles } +export function roleGrid(pageIndex, pageSize, data) { + return request({ + url: '/api/user/roleGrid/' + pageIndex + '/' + pageSize, + method: 'post', + data, + loading: true + }) +} + +export default { editPassword, delUser, editUser, addUser, userLists, editStatus, persionInfo, updatePerson, updatePersonPwd, allRoles, roleGrid } diff --git a/frontend/src/components/Notification/index.vue b/frontend/src/components/Notification/index.vue index 6e0d6cae1a..fa07c8e79d 100644 --- a/frontend/src/components/Notification/index.vue +++ b/frontend/src/components/Notification/index.vue @@ -53,14 +53,14 @@ class-name="notification" icon-class="notification" /> - {{ paginationConfig.total }} + {{ count || paginationConfig.total }} - - diff --git a/frontend/src/views/system/user/index.vue b/frontend/src/views/system/user/index.vue index 1ded283510..2e29261c52 100644 --- a/frontend/src/views/system/user/index.vue +++ b/frontend/src/views/system/user/index.vue @@ -15,10 +15,10 @@ - - + + - + - + - + @@ -191,6 +191,9 @@ export default { }, { label: this.$t('member.edit_password'), icon: 'el-icon-s-tools', type: 'success', click: this.editPassword, show: this.checkPermission(['user:editPwd']) + }, { + label: '权限查看', icon: 'el-icon-lock', type: 'warning', click: this.showAuth, + show: this.checkPermission(['user:editPwd']) } ], searchConfig: { @@ -352,6 +355,9 @@ export default { edit(row) { this.$router.push({ name: 'system-user-form', params: row }) }, + showAuth(row) { + this.$router.push({ name: 'system-user-form', params: row }) + }, // edit(row) { // this.depts = null // this.formType = 'modify'