shiqian 4 yıl önce
ebeveyn
işleme
7875cc2a20

+ 5 - 0
boman-modules/boman-system/src/main/java/com/boman/system/common/FormDataConstant.java

@@ -18,6 +18,11 @@ public class FormDataConstant {
      */
     public static final String ID_LIST = "idList";
 
+    /**
+     * id标识
+     */
+    public static final String ID = "id";
+
     /**
      * 查询的条件
      */

+ 26 - 1
boman-modules/boman-system/src/main/java/com/boman/system/common/TableServiceCmdService.java

@@ -127,7 +127,7 @@ public class TableServiceCmdService {
      * @param dto condition
      * @return com.boman.system.common.ValueHolder
      */
-    public AjaxResult getObject(BaseTableSaveDTO dto) {
+    public AjaxResult queryList(BaseTableSaveDTO dto) {
         requireNonNull(dto.getTable());
 
         // 拿到每个字段对应的查询类型,=、 like、 >、 <
@@ -147,6 +147,31 @@ public class TableServiceCmdService {
         return AjaxResult.success(result);
     }
 
+ /**
+     * 功能描述: 获取单表单数据
+     *
+     * @param dto condition
+     * @return com.boman.system.common.ValueHolder
+     */
+    public AjaxResult getObject(BaseTableSaveDTO dto) {
+        requireNonNull(dto.getTable());
+
+        // 拿到每个字段对应的查询类型,=、 like、 >、 <
+        // 拿到pkName
+        GenTable genTable = redisService.getCacheObject(RedisKey.TABLE_INFO + requireNonNull(dto.getTable()));
+        requireNonNull(genTable);
+        String pkName = IdUtils.getPkName(genTable.getColumns());
+
+        JSONObject fixedData = dto.getFixedData();
+        requireNonNull(fixedData);
+        Long id = fixedData.getLong(FormDataConstant.ID);
+        requireNonNull(id);
+
+        // 默认查所有字段,不支持自定义
+        JSONObject jsonObject = selectService.selectById(genTable.getTableName(), pkName, id);
+        return AjaxResult.success(jsonObject);
+    }
+
     /**
      * 功能描述: 封装成查询条件 key: 列名,  value:查询条件_查询类别
      *              eg: [{"config_name":"系统配置_like"}, {"config_name":"_like"}]

+ 18 - 7
boman-modules/boman-system/src/main/java/com/boman/system/controller/ObjController.java

@@ -89,6 +89,23 @@ public class ObjController {
         return tableServiceCmdService.objectLogicDelete(baseTableSaveDTO);
     }
 
+    /**
+     * 功能描述: 获取单表单数据 默认查所有字段
+     *                    eg:{
+     *                          "table": "sys_config",
+     *                          "fixedData": {
+     *                              "idList": ["id1", "id2", "id2"]
+     *                            }
+     *                        }
+     * @param condition condition
+     * @return com.boman.system.common.ValueHolder
+     */
+    @ApiOperation(value = "获取单表单数据")
+    @PostMapping("/getObject")
+    public AjaxResult getObject(@RequestBody BaseTableSaveDTO condition) {
+        return tableServiceCmdService.getObject(condition);
+    }
+
     /**
      * 功能描述: 获取单表单数据
      *                    eg:{
@@ -110,16 +127,10 @@ public class ObjController {
      * @param condition condition
      * @return com.boman.system.common.ValueHolder
      */
-    @ApiOperation(value = "获取单表单数据")
-    @PostMapping("/getObject")
-    public AjaxResult getObject(@RequestBody BaseTableSaveDTO condition) {
-        return tableServiceCmdService.getObject(condition);
-    }
-
     @ApiOperation(value = "获取表单列表数据")
     @PostMapping("/queryList")
     public AjaxResult queryList(@RequestBody BaseTableSaveDTO condition) {
-        return tableServiceCmdService.getObject(condition);
+        return tableServiceCmdService.queryList(condition);
     }
 
 

+ 12 - 0
boman-modules/boman-system/src/main/java/com/boman/system/mapper/StandardlyMapper.java

@@ -92,6 +92,18 @@ public interface StandardlyMapper {
     @Select("select max(${pkName}) from ${tableName}")
     Long selectMaxId(@Param("tableName") String tableName, @Param("pkName") String pkName);
 
+    /**
+     * 功能描述: 根据id查所有
+     *
+     * @param tableName 表名
+     * @param pkName    主键名称
+     * @param id        主键值
+     * @return com.alibaba.fastjson.JSONObject
+     */
+    @Select("select * from ${tableName} where ${pkName} = #{id}")
+    JSONObject selectById(@Param("tableName") String tableName
+            , @Param("pkName") String pkName, @Param("id") Long id);
+
     /**
      * 功能描述: 自定义查询,需要查询的字段和value都在condition中
      *

+ 10 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/IBaseSelectService.java

@@ -25,4 +25,14 @@ public interface IBaseSelectService {
      */
     List<JSONObject> selectByCondition(String tableName, JSONObject condition, JSONObject packCondition
             , JSONArray showData, String orderBy, Integer limit, Integer offset);
+
+    /**
+     * 功能描述: 根据id查所有,不支持自定义查询列
+     *
+     * @param tableName 表名
+     * @param pkName    主键名称
+     * @param id        主键值
+     * @return com.alibaba.fastjson.JSONObject
+     */
+    JSONObject selectById(String tableName, String pkName, Long id);
 }

+ 16 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/BaseSelectServiceImpl.java

@@ -47,4 +47,20 @@ public class BaseSelectServiceImpl implements IBaseSelectService {
         requireNonNull(orderBy);
         return mapper.selectByCondition(tableName, condition, packCondition, showData, orderBy, limit, offset);
     }
+
+    /**
+     * 功能描述: 根据id查所有,不支持自定义查询列
+     *
+     * @param tableName 表名
+     * @param pkName    主键名称
+     * @param id        主键值
+     * @return com.alibaba.fastjson.JSONObject
+     */
+    @Override
+    public JSONObject selectById(String tableName, String pkName, Long id) {
+        requireNonNull(tableName);
+        requireNonNull(pkName);
+        requireNonNull(id);
+        return mapper.selectById(tableName, pkName, id);
+    }
 }