Browse Source

refactor(permission): 将权限数据规则方案相关代码迁移到common-online模块

- 将PermissionDataRuleSchema实体类从tenant-admin移动到common.online.model包
- 将IPermissionDataRuleSchemaService接口从tenant-admin移动到common.online.service包
- 将PermissionDataRuleSchemaMapper接口及其实现从tenant-admin移动到common.online.dao包
- 将PermissionDataRuleSchemaVo类从tenant-admin移动到common.online.vo包
- 更新OnlineFormController添加根据表单类型查询表单列表的功能
- 在ListDataOrmService中添加过滤器TODO注释
- 修改OnlineFormService和OnlineFormServiceImpl实现表单类型查询功能
feature/form-permission-control
chenchuchuan 3 weeks ago
parent
commit
b8a4b5727f
  1. 4
      application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/controller/PermissionDataRuleSchemaController.java
  2. 1
      common/common-online/src/main/java/apelet/common/online/abstractplugin/ListDataOrmService.java
  3. 16
      common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java
  4. 4
      common/common-online/src/main/java/apelet/common/online/dao/PermissionDataRuleSchemaMapper.java
  5. 4
      common/common-online/src/main/java/apelet/common/online/dao/mapper/PermissionDataRuleSchemaMapper.xml
  6. 4
      common/common-online/src/main/java/apelet/common/online/model/PermissionDataRuleSchema.java
  7. 4
      common/common-online/src/main/java/apelet/common/online/service/IPermissionDataRuleSchemaService.java
  8. 8
      common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java
  9. 18
      common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java
  10. 8
      common/common-online/src/main/java/apelet/common/online/service/impl/PermissionDataRuleSchemaServiceImpl.java
  11. 4
      common/common-online/src/main/java/apelet/common/online/vo/PermissionDataRuleSchemaVo.java

4
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/controller/PermissionDataRuleSchemaController.java

@ -11,8 +11,8 @@ import apelet.common.core.util.MyPageUtil;
import apelet.common.core.validator.UpdateGroup; import apelet.common.core.validator.UpdateGroup;
import apelet.common.log.annotation.OperationLog; import apelet.common.log.annotation.OperationLog;
import apelet.common.log.model.constant.SysOperationLogType; import apelet.common.log.model.constant.SysOperationLogType;
import apelet.tenantadmin.tenant.model.PermissionDataRuleSchema; import apelet.common.online.model.PermissionDataRuleSchema;
import apelet.tenantadmin.tenant.service.IPermissionDataRuleSchemaService; import apelet.common.online.service.IPermissionDataRuleSchemaService;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

1
common/common-online/src/main/java/apelet/common/online/abstractplugin/ListDataOrmService.java

@ -65,6 +65,7 @@ public class ListDataOrmService extends ListDataService {
JSONObject widgetList = widgetJson.getJSONObject("pc").getJSONObject("tableWidget"); JSONObject widgetList = widgetJson.getJSONObject("pc").getJSONObject("tableWidget");
Set<String> selectorSet = new TreeSet<>(); Set<String> selectorSet = new TreeSet<>();
getOrmSelector(widgetList, selectorSet, masterTable, new HashMap<>()); getOrmSelector(widgetList, selectorSet, masterTable, new HashMap<>());
// todo 过滤器
Filter filter = getFilter(); Filter filter = getFilter();
Sorter sorter = new Sorter(); Sorter sorter = new Sorter();

16
common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java

@ -32,6 +32,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.google.common.collect.Lists;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -697,4 +698,19 @@ public class OnlineFormController {
} }
return ResponseResult.success(onlineFormList); return ResponseResult.success(onlineFormList);
} }
/**
* 根据表单类型查询表单列表
*
* @param formType 表单类型
* @return 表单列表
* @see apelet.common.online.model.constant.FormType
*/
@PostMapping(value = "/queryFormByType")
public ResponseResult<List<OnlineForm>> queryFormByType(@MyRequestBody Integer formType) {
if (formType == null) {
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
}
return ResponseResult.success(onlineFormService.queryListByFormType(Lists.newArrayList(formType)));
}
} }

4
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/dao/PermissionDataRuleSchemaMapper.java → common/common-online/src/main/java/apelet/common/online/dao/PermissionDataRuleSchemaMapper.java

@ -1,7 +1,7 @@
package apelet.tenantadmin.tenant.dao; package apelet.common.online.dao;
import apelet.common.core.base.dao.BaseDaoMapper; import apelet.common.core.base.dao.BaseDaoMapper;
import apelet.tenantadmin.tenant.model.PermissionDataRuleSchema; import apelet.common.online.model.PermissionDataRuleSchema;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

4
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/dao/mapper/PermissionDataRuleSchemaMapper.xml → common/common-online/src/main/java/apelet/common/online/dao/mapper/PermissionDataRuleSchemaMapper.xml

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="apelet.tenantadmin.tenant.dao.PermissionDataRuleSchemaMapper"> <mapper namespace="apelet.common.online.dao.PermissionDataRuleSchemaMapper">
<select id="getListByFilter" <select id="getListByFilter"
resultType="apelet.tenantadmin.tenant.model.PermissionDataRuleSchema"> resultType="apelet.common.online.model.PermissionDataRuleSchema">
SELECT * FROM zz_permission_data_rule_schema SELECT * FROM zz_permission_data_rule_schema
WHERE 1=1 WHERE 1=1
<if test="filter.ruleCode != null and filter.ruleCode != ''"> <if test="filter.ruleCode != null and filter.ruleCode != ''">

4
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/model/PermissionDataRuleSchema.java → common/common-online/src/main/java/apelet/common/online/model/PermissionDataRuleSchema.java

@ -1,9 +1,9 @@
package apelet.tenantadmin.tenant.model; package apelet.common.online.model;
import apelet.common.core.base.mapper.BaseModelMapper; import apelet.common.core.base.mapper.BaseModelMapper;
import apelet.common.core.base.model.BaseModel; import apelet.common.core.base.model.BaseModel;
import apelet.common.core.validator.UpdateGroup; import apelet.common.core.validator.UpdateGroup;
import apelet.tenantadmin.tenant.vo.PermissionDataRuleSchemaVo; import apelet.common.online.vo.PermissionDataRuleSchemaVo;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;

4
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/service/IPermissionDataRuleSchemaService.java → common/common-online/src/main/java/apelet/common/online/service/IPermissionDataRuleSchemaService.java

@ -1,8 +1,8 @@
package apelet.tenantadmin.tenant.service; package apelet.common.online.service;
import apelet.common.core.base.service.IBaseService; import apelet.common.core.base.service.IBaseService;
import apelet.common.core.object.CallResult; import apelet.common.core.object.CallResult;
import apelet.tenantadmin.tenant.model.PermissionDataRuleSchema; import apelet.common.online.model.PermissionDataRuleSchema;
import java.util.List; import java.util.List;

8
common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java

@ -139,4 +139,12 @@ public interface OnlineFormService extends IBaseService<OnlineForm, Long> {
* @return * @return
*/ */
ObjectValue getObjectValue(Map<String, Object> masterData, Map<String, Object> savedata, String tableName); ObjectValue getObjectValue(Map<String, Object> masterData, Map<String, Object> savedata, String tableName);
/**
* 根据表单类型查询表单列表
*
* @param formType 表单类型
* @return 表单列表
*/
List<OnlineForm> queryListByFormType(List<Integer> formType);
} }

18
common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java

@ -26,6 +26,7 @@ import apelet.common.orm.impl.LinkEntityColumn;
import apelet.common.redis.util.CommonRedisUtil; import apelet.common.redis.util.CommonRedisUtil;
import apelet.common.sequence.wrapper.IdGeneratorWrapper; import apelet.common.sequence.wrapper.IdGeneratorWrapper;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
@ -460,6 +461,23 @@ public class OnlineFormServiceImpl extends BaseService<OnlineForm, Long> impleme
return objectValue; return objectValue;
} }
@Override
public List<OnlineForm> queryListByFormType(List<Integer> formType) {
// 查询已发布的 page
List<OnlinePage> pageList = onlinePageService.queryByEnableList();
if (CollectionUtil.isEmpty(pageList)) {
return Collections.emptyList();
}
Set<Long> pageIdSet = pageList.stream().map(OnlinePage::getPageId).collect(Collectors.toSet());
List<OnlineForm> formList = onlineFormMapper.selectList(new LambdaQueryWrapper<OnlineForm>().in(OnlineForm::getFormType, formType).in(OnlineForm::getPageId, pageIdSet));
if (CollectionUtil.isNotEmpty(formList)) {
formList.forEach(item -> {
item.setWidgetJson(null);
});
}
return formList;
}
/** /**
* 设置关联表字段转换为对象 * 设置关联表字段转换为对象
* *

8
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/service/impl/PermissionDataRuleSchemaServiceImpl.java → common/common-online/src/main/java/apelet/common/online/service/impl/PermissionDataRuleSchemaServiceImpl.java

@ -1,14 +1,14 @@
package apelet.tenantadmin.tenant.service.impl; package apelet.common.online.service.impl;
import apelet.common.core.base.dao.BaseDaoMapper; import apelet.common.core.base.dao.BaseDaoMapper;
import apelet.common.core.base.service.BaseService; import apelet.common.core.base.service.BaseService;
import apelet.common.core.object.CallResult; import apelet.common.core.object.CallResult;
import apelet.common.generator.model.OnlFormHead; import apelet.common.generator.model.OnlFormHead;
import apelet.common.generator.service.IOnlFormHeadService; import apelet.common.generator.service.IOnlFormHeadService;
import apelet.common.online.dao.PermissionDataRuleSchemaMapper;
import apelet.common.online.model.PermissionDataRuleSchema;
import apelet.common.online.service.IPermissionDataRuleSchemaService;
import apelet.common.sequence.wrapper.IdGeneratorWrapper; import apelet.common.sequence.wrapper.IdGeneratorWrapper;
import apelet.tenantadmin.tenant.dao.PermissionDataRuleSchemaMapper;
import apelet.tenantadmin.tenant.model.PermissionDataRuleSchema;
import apelet.tenantadmin.tenant.service.IPermissionDataRuleSchemaService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

4
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/vo/PermissionDataRuleSchemaVo.java → common/common-online/src/main/java/apelet/common/online/vo/PermissionDataRuleSchemaVo.java

@ -1,6 +1,6 @@
package apelet.tenantadmin.tenant.vo; package apelet.common.online.vo;
import apelet.tenantadmin.tenant.model.PermissionDataRuleSchema; import apelet.common.online.model.PermissionDataRuleSchema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
Loading…
Cancel
Save