From ae5807029edabde0b1e1488c090bd830fccf75a7 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 18 九月 2023 16:13:07 +0800 Subject: [PATCH] 代码提交 --- Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java | 166 ++++++++---------------------------------------------- 1 files changed, 26 insertions(+), 140 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java index 47dbf05..e446893 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMsMapperProcessor.java @@ -1,15 +1,20 @@ package com.vci.ubcs.ddl.processor.dll; -import com.vci.starter.web.enumpck.VciFieldTypeEnum; + +import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO; +import com.vci.ubcs.ddl.mapper.DdlMSMapper; import com.vci.ubcs.ddl.mapper.DllMapper; import com.vci.ubcs.ddl.mapper.DllMsMapper; -import com.vci.ubcs.ddl.mapper.DllOracleMapper; -import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO; +import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.starter.exception.VciBaseException; -import org.apache.commons.lang3.StringUtils; +import com.vci.ubcs.starter.util.VciSpringUtil; +import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; +import org.apache.commons.collections4.BidiMap; +import org.springblade.core.tool.utils.StringPool; +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; /** @@ -18,24 +23,28 @@ * @author LiHang * @date 2023/4/24 */ +@Component +@DependsOn("vciSpringUtil") public class DllMsMapperProcessor extends DllMapperProcessor { - @Resource - private DllMsMapper realMapper; + private static DllMapper mapper = VciSpringUtil.getBean(DllMsMapper.class); - private static DllMapper mapper; - @PostConstruct - public void init(){ - mapper = realMapper; - } + private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy(); public DllMsMapperProcessor() { super(mapper); + System.out.println("-----------------"); + if (mapper != null){ + System.out.println("[success]::鍔犺浇Sql Server鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛"); + }else { + System.out.println("[fail]::鍔犺浇Sql Server鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触"); + } } - public static class SINGLE { - public static DllMsMapperProcessor INSTANCE = new DllMsMapperProcessor(); + @Override + protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) { + return getMappingBOInMap(fieldTypeEnum,FIELD_MAP); } @Override @@ -43,131 +52,8 @@ return "oracle.jdbc.OracleDiver".equals(url); } - /** - * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒� - * - * @param attributeVOList 灞炴�х殑绔嬬 - * @return sql璇彞 - */ @Override - public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) { - StringBuilder sb = new StringBuilder(); - attributeVOList.forEach(a -> { - sb.append(a.getId()).append(SPACE); - VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType()); - if (fieldTypeEnum == null) { - throw new VciBaseException("灞炴�ф湁璇�"); - } - switch (fieldTypeEnum) { - case VTInteger: - case VTLong: - sb.append(dealNumberCreateSql(a)); - break; - case VTDouble: - sb.append(dealDoubleCreateSql(a)); - break; - case VTBoolean: - sb.append(dealBooleanCreateSql(a)); - break; - case VTDate: - case VTTime: - case VTDateTime: - sb.append(dealDateTimeCreateSql(a)); - break; - case VTFilePath: - sb.append("VARCHAR").append("(100)").append(SPACE); - break; - case VTClob: - sb.append("varchar(max)").append(SPACE); - if(!a.isNullableFlag()){ - sb.append(SPACE).append("not null").append(SPACE); - } - break; - default: - dealStringCreateSql(a); - break; - } - sb.append(",\n\t"); - }); - return sb.substring(0,sb.lastIndexOf(",")); - } - - /** - * 澶勭悊鏁存暟绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealNumberCreateSql(OmdBtmTypeAttributeVO attributeVO) { - return "INT" + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊娴偣鏁扮被鍨嬬殑sql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDoubleCreateSql(OmdBtmTypeAttributeVO attributeVO) { - Integer length = attributeVO.getPrecisionLength(); - if(length == null || length == 0){ - length = 20; - } - Integer scaleLength = attributeVO.getScaleLength(); - if(scaleLength == null){ - scaleLength = 2; - } - StringBuilder sb = new StringBuilder().append("numeric").append("(").append(String.valueOf(length.intValue())) - .append(",").append(String.valueOf(scaleLength.intValue())) - .append(")").append(SPACE); - sb.append(dealDefaultAndNull(attributeVO)); - return sb.toString(); - } - - - /** - * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) { - return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO); - } - - /** - * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) { - return "DATETIME" + SPACE + dealNullableSql(attributeVO); - } - - /** - * 澶勭悊瀛楃涓茬被鍨嬬殑sql杞崲 - * - * @param attributeVO 灞炴�� - * @return sql - */ - @Override - public String dealStringCreateSql(OmdBtmTypeAttributeVO attributeVO) { - Integer length2 = attributeVO.getAttributeLength(); - if(length2 == null){ - length2 = 250; - } - StringBuilder sb = new StringBuilder().append("VARCHAR").append("("). - append(String.valueOf(length2.intValue())).append(")").append(SPACE); - if (OID.equalsIgnoreCase(attributeVO.getId())) { - sb.append(" primary key "); - //寮哄埗璁剧疆OID涓轰富閿� - } - sb.append(dealDefaultAndNull(attributeVO)); - return sb.toString(); + public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) { + return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP); } } -- Gitblit v1.9.3