瀏覽代碼

加入驼峰转下换线

wuweihao 3 年之前
父節點
當前提交
9feecaec78

+ 5 - 1
README.md

@@ -9,4 +9,8 @@ gis_biguiyuan  AR-碧桂园项目-文通部门
 
 
 # 开发进度日志
- 2022-3-21 完成删除表功能
+ 2022-3-21 删除表      已完成
+ 2022-3-21 删除字段    未完成
+ 
+ 低代码UI参考:
+ https://github.com/jeecgboot/jeecg-boot

+ 10 - 9
gis_common/src/main/java/com/gis/common/base/exception/BaseRuntimeException.java

@@ -6,10 +6,6 @@ import org.springframework.util.CollectionUtils;
 
 import java.util.List;
 
-
-/**
- *  2022-3-15 by owen
- */
 public class BaseRuntimeException extends RuntimeException{
 
     private static final long serialVersionUID = -1518945670203783450L;
@@ -66,7 +62,7 @@ public class BaseRuntimeException extends RuntimeException{
             getExc(code, msg);
         }
 
-        if (obj instanceof String || StrUtil.isBlank(obj.toString())){
+        if (obj instanceof String && StrUtil.isBlank(obj.toString())){
             getExc(code, msg);
         }
 
@@ -85,7 +81,7 @@ public class BaseRuntimeException extends RuntimeException{
             getExc(code, msg);
         }
 
-        if (obj instanceof String || StrUtil.isBlank(obj.toString())){
+        if (obj instanceof String && StrUtil.isBlank(obj.toString())){
             getExc(code, msg);
         }
 
@@ -96,7 +92,7 @@ public class BaseRuntimeException extends RuntimeException{
      * @param obj true 存在抛异常
      * @param errorEnum
      */
-    public static void isHas(boolean obj, ErrorEnum errorEnum){
+    public static void isTrue(boolean obj, ErrorEnum errorEnum){
         if (obj){
             getExc(errorEnum.code(), errorEnum.message());
         }
@@ -108,13 +104,13 @@ public class BaseRuntimeException extends RuntimeException{
      * @param code 允许为null
      * @param msg
      */
-    public static void isHas(boolean obj, Integer code, String msg){
+    public static void isTrue(boolean obj, Integer code, String msg){
         if (obj){
             getExc(code, msg);
         }
     }
 
-    private static void  getExc(Integer code, String msg){
+    public static void  getExc(Integer code, String msg){
         throw new BaseRuntimeException(code, msg);
     }
 
@@ -129,5 +125,10 @@ public class BaseRuntimeException extends RuntimeException{
         }
     }
 
+    public static void isEmpty(List obj, Integer code, String msg){
+        if (CollectionUtils.isEmpty(obj)){
+            getExc(code, msg);
+        }
+    }
 
 }

+ 9 - 0
gis_db/src/main/java/com/gis/db/controller/FieldController.java

@@ -3,6 +3,7 @@ package com.gis.db.controller;
 import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.util.Result;
 import com.gis.db.entity.dto.FieldDto;
+import com.gis.db.entity.dto.IdsDto;
 import com.gis.db.entity.dto.TableDto;
 import com.gis.db.entity.po.FieldEntity;
 import com.gis.db.service.DdlService;
@@ -39,6 +40,14 @@ public class FieldController {
         return entityService.addField(param);
     }
 
+
+    @Transactional(rollbackFor = Exception.class)
+    @ApiOperation(value = "删除表字段", notes = "字段id,允许多个")
+    @PostMapping("delField")
+    public Result delField(@Valid @RequestBody IdsDto param){
+        return entityService.delField(param);
+    }
+
     @ApiOperation(value = "测试sql")
     @GetMapping("testSql")
     public Result testSql(){

+ 0 - 1
gis_db/src/main/java/com/gis/db/entity/dto/IdsDto.java

@@ -3,7 +3,6 @@ package com.gis.db.entity.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 

+ 2 - 0
gis_db/src/main/java/com/gis/db/mapper/DdlMapper.java

@@ -21,4 +21,6 @@ public interface DdlMapper extends BaseMapper<Object> {
     void updateSql(String param);
 
     void delTable(@Param("tableName")String tableName);
+
+    void delFields(@Param("tableName")String tableName, @Param("fieldNames")List<String> fieldNames);
 }

+ 2 - 4
gis_db/src/main/java/com/gis/db/service/DdlService.java

@@ -1,10 +1,6 @@
 package com.gis.db.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.gis.common.util.Result;
-import com.gis.db.entity.dto.TableDto;
 import com.gis.db.entity.po.FieldEntity;
-import com.gis.db.entity.po.TableEntity;
 
 import java.util.List;
 
@@ -14,4 +10,6 @@ import java.util.List;
 public interface DdlService  {
 
     void addField(List<FieldEntity> param, String tableName);
+
+
 }

+ 3 - 0
gis_db/src/main/java/com/gis/db/service/FieldService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.util.Result;
 import com.gis.db.entity.dto.FieldDto;
+import com.gis.db.entity.dto.IdsDto;
 import com.gis.db.entity.dto.TableDto;
 import com.gis.db.entity.po.FieldEntity;
 import com.gis.db.entity.po.TableEntity;
@@ -24,4 +25,6 @@ public interface FieldService extends IService<FieldEntity> {
     Result detail(Long tableId, Long id);
 
     void removeBatchByTableId(List<Integer>tableIds);
+
+    Result delField(IdsDto param);
 }

+ 42 - 5
gis_db/src/main/java/com/gis/db/service/impl/FieldServiceImpl.java

@@ -1,6 +1,7 @@
 package com.gis.db.service.impl;
 
 import cn.hutool.core.lang.Validator;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -12,6 +13,7 @@ import com.gis.common.constant.ErrorEnum;
 import com.gis.common.util.BaseUtil;
 import com.gis.common.util.Result;
 import com.gis.db.entity.dto.FieldDto;
+import com.gis.db.entity.dto.IdsDto;
 import com.gis.db.entity.po.FieldEntity;
 import com.gis.db.entity.po.TableEntity;
 import com.gis.db.mapper.DdlMapper;
@@ -49,7 +51,12 @@ public class FieldServiceImpl extends ServiceImpl<FieldMapper, FieldEntity> impl
         Long tableId = null;
         ArrayList<FieldEntity> list = new ArrayList<>();
         for (FieldDto dto : param) {
-            BaseRuntimeException.isHas(isExistByTableIdAndName(dto.getTableId(), dto.getName()), null, "字段重复添加");
+
+            // 驼峰转下划线
+            String underLineCase = StrUtil.toUnderlineCase(dto.getName());
+            dto.setName(underLineCase);
+
+            BaseRuntimeException.isTrue(isExistByTableIdAndName(dto.getTableId(), dto.getName()), null, "字段重复添加");
             entity = new FieldEntity();
             BeanUtils.copyProperties(dto, entity);
             list.add(entity);
@@ -69,9 +76,7 @@ public class FieldServiceImpl extends ServiceImpl<FieldMapper, FieldEntity> impl
 
     @Override
     public Result testSql() {
-        //alter table ts_aa add age varchar(255);
         String sql = "alter table ts_aa add age_1 varchar(255)";
-//        ddlMapper.updateSql(sql);
         return Result.success();
     }
 
@@ -79,8 +84,6 @@ public class FieldServiceImpl extends ServiceImpl<FieldMapper, FieldEntity> impl
     public Result getFieldData(Long tableId, PageDto param) {
         BaseUtil.startPage(param);
         IPage<Map> page = new Page<>(param.getPageNum() , param.getPageSize());
-//        List<String> strs = Arrays.asList("id", "age_2", "age_1");
-//        String tableName = "ts_aa";
         TableEntity tableEntity = tableService.getById(tableId);
         BaseRuntimeException.isNull(tableEntity, ErrorEnum.FAILURE_CODE_3001);
         IPage<Map> resPage = getBaseMapper().page(tableEntity.getName(), getFileNames(tableId), page);
@@ -117,10 +120,44 @@ public class FieldServiceImpl extends ServiceImpl<FieldMapper, FieldEntity> impl
     }
 
     /**
+     * todo 需要校验appId
+     * @param param
+     * @return
+     */
+    @Override
+    public Result delField(IdsDto param) {
+
+
+        // todo 校验appId
+
+        // 删除表字段
+
+
+        List<String> fieldNames = getFieldName(param.getIds());
+
+        String tableName = "ts_cc";
+        ddlMapper.delFields(tableName, fieldNames);
+
+        return null;
+    }
+
+    private List<String> getFieldName(List<Integer> ids){
+        List<FieldEntity> entityList = this.listByIds(ids);
+        List<String> filedNames = new ArrayList<>();
+        for (FieldEntity entity : entityList) {
+            filedNames.add(entity.getName());
+        }
+        return filedNames;
+    }
+
+    /**
      * 判断该表是否已添加过字段
      * @return
      */
     private Boolean isExistByTableIdAndName(Long tableId, String filedName){
+
+        filedName = StrUtil.toUnderlineCase(filedName);
+
         LambdaQueryWrapper<FieldEntity> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(FieldEntity::getTableId, tableId);
         wrapper.eq(FieldEntity::getName, filedName);

+ 6 - 2
gis_db/src/main/java/com/gis/db/service/impl/TableServiceImpl.java

@@ -48,8 +48,12 @@ public class TableServiceImpl extends ServiceImpl<TableMapper, TableEntity> impl
     @Override
     public Result createTable(TableDto param) {
 
+        // 驼峰转下划线
+        String underLineCase = StrUtil.toUnderlineCase(param.getName());
+        param.setName(underLineCase);
+
         // 检查表名唯一性
-        BaseRuntimeException.isHas(isExistByName(param.getName()), ErrorEnum.FAILURE_SYS_2010);
+        BaseRuntimeException.isTrue(isExistByName(param.getName()), ErrorEnum.FAILURE_SYS_2010);
         TableEntity entity = new TableEntity();
         BeanUtils.copyProperties(param, entity);
         this.save(entity);
@@ -115,7 +119,7 @@ public class TableServiceImpl extends ServiceImpl<TableMapper, TableEntity> impl
      */
     private Boolean isExistByName(String name){
 
-        BaseRuntimeException.isHas(Validator.hasChinese(name), null, "不能含有中文字符");
+        BaseRuntimeException.isTrue(Validator.hasChinese(name), null, "不能含有中文字符");
         LambdaQueryWrapper<TableEntity> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(TableEntity::getName, name);
         long count = this.count(wrapper);

+ 7 - 0
gis_db/src/main/resources/mybatis-mapper/DdlMapper.xml

@@ -24,4 +24,11 @@
     <delete id="delTable">
         DROP TABLE IF EXISTS ${tableName}
     </delete>
+
+    <delete id="delFields">
+      ALTER TABLE ${tableName}
+        <foreach collection="fieldNames" index="index" item="name" separator=",">
+           DROP ${name}
+        </foreach>
+    </delete>
 </mapper>

+ 6 - 0
pom.xml

@@ -86,6 +86,12 @@
         <version>${gis.version}</version>
       </dependency>
 
+      <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
+      <dependency>
+        <groupId>org.springframework</groupId>
+        <artifactId>spring-core</artifactId>
+        <version>5.2.20.RELEASE</version>
+      </dependency>
 
       <!-- springboot -->
       <dependency>