From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java | 768 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 650 insertions(+), 118 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java index f23f4ea..0b10b35 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/MasterDataServiceImpl.java @@ -10,6 +10,7 @@ import com.highdatas.mdm.pojo.*; import com.highdatas.mdm.service.*; import com.highdatas.mdm.util.*; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +30,7 @@ */ @Service +@Slf4j public class MasterDataServiceImpl implements MasterDataService { @Autowired IMenuMappingService menuMappingService; @@ -52,7 +54,18 @@ SqlSessionFactory sqlSessionFactory; @Resource protected DataSource dataSource; + @Autowired + AntianaphylaxisClient antianaphylaxisClient; + + /** + * + * @description: 鏍规嵁琛ㄥ悕鍜宨d鑾峰彇鏁版嵁 + * @param tableName 琛ㄥ悕 + * @param id 鏁版嵁id + * @return: 鏁版嵁 + * + */ @Override public Result selectById(String tableName, String id) { try{ @@ -76,28 +89,71 @@ return Result.error(CodeMsg.SELECT_ERROR); } } - + /** + * + * @description: 鏍规嵁鐢ㄦ埛鍜岃〃鍚嶈幏鍙栨暟鎹� + * @param tableName 琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁 + * + */ @Override public Result selectList(Character character, String tableName) { return selectList(character, tableName, null,null, (maintainService.getNowVersion(tableName).getVersion())); } - + /** + * + * @description: 鏍规嵁鐢ㄦ埛鍜岃〃鍚嶏紝绛涢�夋潯浠惰幏鍙栨暟鎹� + * @param tableName 琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁 + * + */ @Override public Result selectList(Character character, String tableName, String whereSegment) { return selectList(character,tableName, whereSegment, (maintainService.getNowVersion(tableName).getVersion())); } - + /** + * + * @description: 鏍规嵁鐢ㄦ埛鍜岃〃鍚嶏紝绛涢�夋潯浠讹紝鏁版嵁鐗堟湰鑾峰彇鏁版嵁 + * @param tableName 琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @param version 鏁版嵁鐗堟湰 + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁 + * + */ @Override public Result selectList(Character character,String tableName, String whereSegment, String version) { return selectList(character, tableName, null, whereSegment, version); } - + /** + * + * @description: 鏍规嵁鐢ㄦ埛锛屽瓧娈碉紝琛ㄥ悕锛岀瓫閫夋潯浠惰幏鍙栨暟鎹� + * @param tableName 琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @param fieldList 瀛楁 + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁 + * + */ @Override public Result selectList(Character character, String tableName, List<String> fieldList, String whereSegment) { return selectList(character, tableName, fieldList, whereSegment, maintainService.getNowVersion(tableName).getVersion()); } - + /** + * + * @description: 鏍规嵁鐢ㄦ埛锛屽瓧娈碉紝琛ㄥ悕锛岀瓫閫夋潯浠讹紝鏁版嵁鐗堟湰鑾峰彇鏁版嵁 + * @param tableName 琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @param fieldList 瀛楁 + * @param version 鏁版嵁鐗堟湰 + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁 + * + */ @Override public Result selectList(Character character, String tableName,List<String> fieldList, String whereSegment, String version) { try{ @@ -124,12 +180,27 @@ } } - + /** + * + * @description: 鏍规嵁鐢ㄦ埛锛屽瓧娈碉紝琛ㄥ悕鑾峰彇鏁版嵁 + * @param tableName 琛ㄥ悕 + * @param fieldList 瀛楁 + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁 + * + */ @Override public Result selectList(Character character, String tableName, List<String> fields) { return selectList(character, tableName,fields,Constant.WHERE_DEFAULT,(maintainService.getNowVersion(tableName).getVersion())); } - + /** + * + * @description: 鏍规嵁琛ㄥ悕锛岀瓫閫夋潯浠惰幏鍙栨暟鎹潯鏁� + * @param tableName 琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @return: 鏁版嵁鏉℃暟 + * + */ public Long getCount(String tableName, String whereSegment) { try{ if (StringUtils.isEmpty(whereSegment)) { @@ -143,18 +214,29 @@ return null; } } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁鏉℃暟 + * @param maintainId 鏁版嵁鐗堟湰 + * @param tableName 琛ㄥ悕 + * @param tableTempName 涓存椂琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @param fieldList 瀛楁 + * @param version 鏁版嵁鐗堟湰 + * @param character 鐢ㄦ埛 + * @param fromOrderNo 浠庡摢涓増鏈紑濮嬪線鍓嶆帹 + * @param toOrderNo 鍒板摢涓増鏈粨鏉熷線鍓嶆帹 + * @return: 鏁版嵁鏉℃暟 + * + */ @Override public Long getCountByVersion (Character character, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { try{ Maintain maintain = maintainService.selectById(maintainId); - String fields = getFields(character,tableName, maintain); - String Hfields = getFields(character, tableName, Constant.H, maintain); - String tempFields = getTempFields(character, tableName, maintain); + String tempFields = getTempFields(character, tableName, Constant.A1, maintain); String A1fields = getFields(character, tableName, Constant.A1, maintain); - String A2fields = getFields(character, tableName, Constant.A2, maintain); - String tempHFields = getTempFields(character, tableName, Constant.H, maintain); + if (StringUtils.isEmpty(whereSegment)) { whereSegment = Constant.WHERE_DEFAULT; } @@ -162,7 +244,7 @@ if (StringUtils.isEmpty(fields)) { return 0L; } - count = mapper.getCountByVersion(tableName, tableTempName, fields, tempFields, Hfields, A1fields,A2fields,tempHFields, fromOrderNo, toOrderNo, DbUtils.quotedStr(maintainId), whereSegment); + count = mapper.getCountByVersion(tableName, tableTempName, fields, tempFields, A1fields,fromOrderNo, toOrderNo, whereSegment); return count; } catch (Exception e) { @@ -170,21 +252,33 @@ return null; } } - - public Long getCountByMaxVersion (Character character, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, Integer toOrderNo, String whereSegment) { + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏈�澶х増鏈殑鏁版嵁鏉℃暟 + * @param maintainId 鏁版嵁鐗堟湰 + * @param tableName 琛ㄥ悕 + * @param tableTempName 涓存椂琛ㄥ悕 + * @param whereSegment 绛涢�夋潯浠� + * @param fieldList 瀛楁 + * @param version 鏁版嵁鐗堟湰 + * @param character 鐢ㄦ埛 + * @return: 鏁版嵁鏉℃暟 + * + */ + public Long getCountByMaxVersion (Character character, String maintainId, String tableName,String tableTempName,Integer fromOrderNo, String whereSegment) { try{ Maintain maintain = maintainService.selectById(maintainId); String fields = getFields(character, tableName, maintain); - String Hfields = getFields(character, tableName, Constant.H, maintain); - String tempFields = getTempFields(character, tableName, maintain); + + String tempFields = getTempFields(character, tableName, Constant.A1, maintain); String A1fields = getFields(character, tableName, Constant.A1, maintain); - String A2fields = getFields(character, tableName, Constant.A2, maintain); - String tempHFields = getTempFields(character, tableName, Constant.H, maintain); + if (StringUtils.isEmpty(whereSegment)) { whereSegment = Constant.WHERE_DEFAULT; } - Long count = mapper.getCountByMaxVersion(tableName, tableTempName, fields, tempFields, Hfields, A1fields,A2fields,tempHFields, fromOrderNo, toOrderNo, DbUtils.quotedStr(maintainId), whereSegment); + + Long count = mapper.getCountByMaxVersion(tableName, tableTempName, fields, tempFields, A1fields, fromOrderNo, whereSegment); return count; } catch (Exception e) { @@ -193,18 +287,54 @@ } } - + /** + * + * @description: 鏍规嵁琛ㄥ悕鑾峰彇瀛楁sql + * @param tableName 琛ㄥ悕 + * @return: 瀛楁sql + * + */ @Override public String getFields(String tableName) { return getFields(tableName, Constant.EMPTY_Str); } - + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇瀛楁sql + * @param tableName 琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param maintain 鐗堟湰 + * @return: 瀛楁sql + * + */ @Override public String getFields(Character character, String tableName, Maintain maintain) { return getFields(character, tableName, null, maintain); } + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇瀛楁sql + * @param tableName 琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param maintain 鐗堟湰 + * @param uuid 璇锋眰鍞竴鏍囪瘑锛宭og涓煡璇㈡椂闂翠娇鐢� + * @return: 瀛楁sql + * + */ + @Override + public String getFields(Character character, String tableName, Maintain maintain, String uuid) { + return getFields(character, tableName, null, maintain, uuid); + } + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰缁勮 casewhen 瀛楁sql + * @param tableName 琛ㄥ悕 + + * @return: 瀛楁sql + * + */ private String getCaseWhenFields(String tableName) { List<TableSchemaResult> tableField = mapper.getTableField(tableName); ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); @@ -218,6 +348,14 @@ } return contentBuilder.toString(); } + /** + * + * @description: 鏍规嵁琛ㄥ悕 锛岃幏鍙栧瓧娈祍ql骞舵坊鍔犲埆鍚� + * @param tableName 琛ㄥ悕 + * @param alias 鍒悕 + * @return: 瀛楁sql + * + */ @Override public String getFields(String tableName, String alias) { List<TableSchemaResult> tableField = mapper.getTableField(tableName); @@ -237,14 +375,38 @@ } return contentBuilder.toString(); } - + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇瀛楁sql锛屽苟娣诲姞鍒悕 + * @param tableName 琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param maintain 鐗堟湰 + * @param alias 鍒悕 + * @return: 瀛楁sql + * + */ @Override public String getFields(Character character, String tableName, String alias, Maintain maintain) { + return getFields(character, tableName, alias, maintain, null); + } + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇瀛楁sql锛屽苟娣诲姞鍒悕 + * @param tableName 琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param maintain 鐗堟湰 + * @param alias 鍒悕 + * @param uuid 璇锋眰鍞竴鏍囪瘑锛宭og涓煡璇㈡椂闂翠娇鐢� + * @return: 瀛楁sql + * + */ + @Override + public String getFields(Character character, String tableName, String alias, Maintain maintain, String uuid) { List<SysField> fields; if (character == null) { fields = fieldService.getFieldByMaintain(maintain.getId()); }else { - fields = masterAuthorService.getField(character, maintain.getId()); + fields = masterAuthorService.getField(character, maintain.getId(), uuid); } ContentBuilder contentBuilder = new ContentBuilder(Constant.COMMA); if (fields == null) { @@ -271,15 +433,41 @@ return contentBuilder.toString(); } + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇涓存椂琛ㄥ瓧娈祍ql锛屽苟娣诲姞鍒悕 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param maintain 鐗堟湰 + * @return: 瀛楁sql + * + */ @Override public String getTempFields(Character character, String tableName, Maintain maintain) { return getTempFields(character, tableName, null, maintain); } + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇涓存椂琛ㄥ瓧娈祍ql锛屽苟娣诲姞鍒悕 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @return: 瀛楁sql + * + */ @Override public String getTempFields(Character character, String tableName) { return getTempFields(character, tableName, Constant.EMPTY_Str); } + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛鑾峰彇涓存椂琛ㄥ瓧娈祍ql锛屽苟娣诲姞鑷畾涔夊埆鍚� + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param alias 鍒悕 + * @return: 瀛楁sql + * + */ @Override public String getTempFields(Character character, String tableName, String alias) { List<TableSchemaResult> tableField = mapper.getTableField(tableName); @@ -303,7 +491,16 @@ } return contentBuilder.toString(); } - + /** + * + * @description: 鏍规嵁琛ㄥ悕 鐢ㄦ埛锛� 鐗堟湰鑾峰彇涓存椂琛ㄥ瓧娈祍ql锛屽苟娣诲姞鑷畾涔夊埆鍚� + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param maintain 鐗堟湰 + * @param alias 鍒悕 + * @return: 瀛楁sql + * + */ @Override public String getTempFields(Character character, String tableName, String alias, Maintain maintain) { List<SysField> fields; @@ -319,6 +516,7 @@ if (!fields.contains(Constant.ID)) { fields.add(new SysField().setField(Constant.ID)); } + List<String> joinFieldList = getJoinFieldList(); for (SysField field : fields) { String fieldName = field.getField(); @@ -326,57 +524,198 @@ if (StringUtils.isEmpty(alias)) { contentBuilder.append(MessageFormat.format("{0} as id", Constant.STD_ID)); } else { - contentBuilder.append(MessageFormat.format("{0}.{1} as id", alias, Constant.STD_ID)); + if (joinFieldList.contains(fieldName)) { + contentBuilder.append(MessageFormat.format("{0}.{1} as id", alias, Constant.STD_ID)); + } else { + contentBuilder.append(MessageFormat.format("{0} as id", Constant.STD_ID)); + } + } continue; } if (StringUtils.isEmpty(alias)) { contentBuilder.append(fieldName); } else { - contentBuilder.append(MessageFormat.format(Constant.Alias,alias,fieldName)); + if (joinFieldList.contains(fieldName)) { + contentBuilder.append(MessageFormat.format(Constant.Alias,alias,fieldName)); + } else { + contentBuilder.append(fieldName); + } } } return contentBuilder.toString(); } + private List<String> getJoinFieldList() { + List<TableSchemaResult> fieldList = new ArrayList<>(); + List<TableSchemaResult> maintainList = mapper.getTableField("maintain"); + if (maintainList != null) { + fieldList.addAll(maintainList); + } + List<TableSchemaResult> flows = mapper.getTableField("flows"); + if (flows != null) { + fieldList.addAll(flows); + } + List<TableSchemaResult> maintain_detail = mapper.getTableField("maintain_detail"); + if (maintain_detail != null) { + fieldList.addAll(maintain_detail); + } + return fieldList.stream().map(tableSchemaResult -> tableSchemaResult.getFieldName()).collect(Collectors.toList()); + } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏁版嵁閲� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, Integer pageNo, Integer pageSize, boolean findMax) { return selectListByPageByVersion(character, tableName,Constant.WHERE_DEFAULT,pageNo,pageSize, findMax); } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏁版嵁閲� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, boolean findMax) { return selectListByPageByVersion(character, tableName,null, whereSegment,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param pageNo 椤垫暟 + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @param uuid 璇锋眰鍞竴鏍囪瘑锛宭og涓煡璇㈡椂闂翠娇鐢� + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, Integer pageNo, String version, boolean findMax) { return selectListByPageByVersion(character, tableName,null,Constant.WHERE_DEFAULT,pageNo, null, version, findMax); } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param pageNo 椤垫暟 + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, Integer pageNo, boolean findMax) { return selectListByPageByVersion(character, tableName,null,Constant.WHERE_DEFAULT,pageNo, null, String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏁版嵁閲� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { return selectListByPageByVersion(character, tableName,null,whereSegment,pageNo,pageSize, findMax); } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param fieldList 绛涢�夊瓧娈� + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏁版嵁閲� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, boolean findMax) { return selectListByPageByVersion(character, tableName,null,whereSegment,pageNo, null, findMax); } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param fieldList 瀛楁鍒楄〃 + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, Integer pageNo, boolean findMax) { return selectListByPageByVersion(character, tableName,null,Constant.WHERE_DEFAULT,pageNo, findMax); } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, String version, boolean findMax) { return selectListByPageByVersion(character, tableName, null,whereSegment, pageNo, null,version, findMax); } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @param uuid 鏃ュ織浣跨敤 + * @return: 鏁版嵁 + * + */ + @Override + public Result selectListByPageByVersion(Character character, String tableName, String whereSegment, Integer pageNo, String version, boolean findMax, String uuid) { + return selectListByPageByVersion(character, tableName, null,whereSegment, pageNo, null,version, findMax, uuid); + } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ @Override public List<Map<String, Object>> selectListByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, String version, boolean findMax) { Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); @@ -396,32 +735,22 @@ String fields; String tempFields; - String Hfields; - String A1fields; - String A2fields; + String A1Fields; - String tempHfields; + if (fieldList == null || fieldList.size() == 0) { fields = getFields(character, tableName, maintainFromVersion); - Hfields = getFields(character, tableName,Constant.H, maintainFromVersion); - A1fields = getFields(character, tableName,Constant.A1, maintainFromVersion); - A2fields = getFields(character, tableName,Constant.A2, maintainFromVersion); - tempFields = getTempFields(character, tableName, maintainFromVersion); - tempHfields = getTempFields(character, tableName, Constant.H, maintainFromVersion); + A1Fields = getFields(character, tableName, Constant.A1, maintainFromVersion); + tempFields = getTempFields(character, tableName, Constant.A1, maintainFromVersion); } else { fields = fieldList.stream().collect(Collectors.joining(Constant.COMMA)); - Hfields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.H, s)).collect(Collectors.joining(Constant.COMMA)); - A1fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)).collect(Collectors.joining(Constant.COMMA)); - A2fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A2, s)).collect(Collectors.joining(Constant.COMMA)); + A1Fields = fieldList.stream() + .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) + .collect(Collectors.joining(Constant.COMMA)); tempFields = fieldList.stream() .map(s -> s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) - .collect(Collectors.joining(Constant.COMMA)); - - tempHfields = fieldList.stream() - .map(s -> - s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) - .map(s -> MessageFormat.format(Constant.Alias,Constant.H,s)) + .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) .collect(Collectors.joining(Constant.COMMA)); } @@ -437,15 +766,25 @@ long con = maintainIds.stream().map(s -> builder.append(DbUtils.quotedStr(s))).count(); } - result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, fromVersionOrderNo, nowVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, null); + result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, whereSegment, null); }else { - result = mapper.selectByPageByVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, nowVersionOrderNo, fromVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, null); + result = mapper.selectByPageByVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, fromVersionOrderNo, whereSegment, null); } return result; } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁sql璇彞 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁sql璇彞 + * + */ @Override public String selectByVersionSql(Character character, String tableName, List<String> fieldList, String whereSegment, String version, boolean findMax) { Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); @@ -545,9 +884,19 @@ return result; } - + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁閲� + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁閲� + * + */ @Override - public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax) { + public Long getCountByVersion(Character character, String tableName, String whereSegment, String version, boolean findMax) { Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); Maintain nowVersionMaintain = maintainService.getNowVersion(tableName); boolean isMax = maintainService.checkdMaxVersion(maintainFromVersion.getId()); @@ -564,7 +913,112 @@ Long count; - if (isNow && !findMax){ + if (isNow && !findMax){ + count = getCount(tableName, whereSegment); + } + else if (isMax && findMax) { + if (isFirst && nowVersionMaintain == null) { + nowVersionOrderNo = nowVersionOrderNo - 1; + } + + count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, whereSegment); + }else { + count = getCountByVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, fromVersionOrderNo, whereSegment); + } + return count; + } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏉℃暟 + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ + @Override + public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax) { + return selectListByPageByVersion(character, tableName, fieldList, whereSegment, pageNo, pageSize, version, findMax, null); + } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param fieldList 瀛楁鍒楄〃 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏉℃暟 + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @return: 鏁版嵁 + * + */ + @Override + public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax, String uuid) { + return selectListByPageByVersion(character, tableName, fieldList, whereSegment, pageNo, pageSize, version, findMax, uuid, null); + } + /** + * + * @description: 鏍规嵁鏉′欢鑾峰彇鏁版嵁 + * @param tableName 涓存椂琛ㄥ悕 + * @param character 鐢ㄦ埛 + * @param whereSegment 绛涢�夋潯浠� + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏉℃暟 + * @param version 鐗堟湰鍙� + * @param findMax 鏄惁鏌ヨ鐨勬渶澶х増鏈殑鏁版嵁 + * @param uuid 渚涙棩蹇椾娇鐢� + * @param page 宸茬粡璁$畻濂界殑鍒嗛〉瀵硅薄 + * @return: 鏁版嵁 + * + */ + @Override + public Result selectListByPageByVersion(Character character, String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version, boolean findMax, String uuid, Page page) { + String fieldStr = ""; + if (fieldList == null || fieldList.isEmpty()) { + fieldStr = ""; + } else { + fieldList.stream().collect(Collectors.joining(Constant.UnderLine)); + } + String key; + if (page == null) { + key = DbUtils.StrJoinLink(Constant.UnderLine, character.getId(), tableName, whereSegment, String.valueOf(pageNo), String.valueOf(pageSize), version, String.valueOf(findMax)); + + } else { + key = DbUtils.StrJoinLink(Constant.UnderLine, character.getId(), tableName, whereSegment, String.valueOf(pageNo), String.valueOf(pageSize), version, String.valueOf(findMax), page.getLimitSQL()); + } + + if (!findMax) { + Object redisValObj = redisClient.getRedisValObj(key); + if (redisValObj != null) { + JSONObject object = (JSONObject) redisValObj; + Result result = JSONObject.parseObject(object.toJSONString(), Result.class); + return result; + } + } + + Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); + Maintain nowVersionMaintain = maintainService.getNowVersion(tableName); + boolean isMax = maintainService.checkdMaxVersion(maintainFromVersion.getId()); + boolean isNow = maintainService.checkNowVersion(maintainFromVersion.getId()); + boolean isFirst = maintainService.checkFirstVersion(maintainFromVersion.getId()); + + Integer fromVersionOrderNo = maintainFromVersion.getOrderNo(); + Integer nowVersionOrderNo = 0; + if (nowVersionMaintain != null) { + nowVersionOrderNo = nowVersionMaintain.getOrderNo(); + } + + String tableTempName = tableName + Constant.RECORD; + + Long count; + Date startDate = new Date(); + if (isNow && !findMax){ count = getCount(tableName, whereSegment); } else if (isMax && findMax) { @@ -572,56 +1026,69 @@ nowVersionOrderNo = nowVersionOrderNo - 1; } - count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, fromVersionOrderNo, nowVersionOrderNo, whereSegment); + count = getCountByMaxVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, whereSegment); }else { count = getCountByVersion(character, maintainFromVersion.getId(), tableName, tableTempName, nowVersionOrderNo, fromVersionOrderNo, whereSegment); } - if (count == 0) { + Date endDate = new Date(); + log.info(MessageFormat.format("master tag:{0} MASTER-- select count:{1} ms",uuid, (endDate.getTime() - startDate.getTime()))); + + if (page != null && count != null) { + page.setRecordCount(count.intValue()); + } + if (count == null || count == 0) { return Result.success(null); } //mapper.selectByPageByVersion(tableName, tableTempName, fieldList, whereSegment,); - Page page = new Page(count); - if (pageSize != null && pageSize.compareTo(1) != -1) { - page.setPageSize(pageSize); - } List<Map<String, Object>> result = null; - if (page.getPageCount() < pageNo) { - return Result.error(CodeMsg.SELECT_ERROR_NOTFOUND); + + if (page == null) { + page = new Page(count); + if (pageSize != null && pageSize.compareTo(1) != -1) { + page.setPageSize(pageSize); + } + + if (page.getPageCount() < pageNo) { + return Result.error(CodeMsg.SELECT_ERROR_NOTFOUND); + } + page.setPageNo(pageNo); } - page.setPageNo(pageNo); String limitSQL = page.getLimitSQL(); String fields; String tempFields; - String Hfields; - String A1fields; - String A2fields; - String tempHfields; + String A1Fields; + if (fieldList == null || fieldList.size() == 0) { - fields = getFields(character, tableName, maintainFromVersion); - Hfields = getFields(character, tableName,Constant.H, maintainFromVersion); - A1fields = getFields(character, tableName,Constant.A1, maintainFromVersion); - A2fields = getFields(character, tableName,Constant.A2, maintainFromVersion); - tempFields = getTempFields(character, tableName, maintainFromVersion); - tempHfields = getTempFields(character, tableName, Constant.H, maintainFromVersion); - } else { - fields = fieldList.stream().collect(Collectors.joining(Constant.COMMA)); - Hfields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.H, s)).collect(Collectors.joining(Constant.COMMA)); - A1fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)).collect(Collectors.joining(Constant.COMMA)); - A2fields = fieldList.stream().map(s -> MessageFormat.format(Constant.Alias,Constant.A2, s)).collect(Collectors.joining(Constant.COMMA)); - tempFields = fieldList.stream() + fields = getFields(character, tableName, maintainFromVersion, uuid); + A1Fields = getFields(character, tableName, Constant.A1, maintainFromVersion, uuid); + List<String> fieldStrList = DbUtils.split(fields, Constant.COMMA); + tempFields = fieldStrList.stream() .map(s -> - s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{} as id",Constant.STD_ID): s) + s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) + .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) .collect(Collectors.joining(Constant.COMMA)); - tempHfields = fieldList.stream() + } else { + if (!fieldList.contains(Constant.ID)) { + fieldList.add(Constant.ID); + } + fields = fieldList.stream().collect(Collectors.joining(Constant.COMMA)); + A1Fields = fieldList.stream() + .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) + .collect(Collectors.joining(Constant.COMMA)); + tempFields = fieldList.stream() .map(s -> - s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{} as id",Constant.STD_ID): s) - .map(s -> MessageFormat.format(Constant.Alias,Constant.H,s)) + s.equalsIgnoreCase(Constant.ID) ? MessageFormat.format("{0} as id",Constant.STD_ID): s) + .map(s -> MessageFormat.format(Constant.Alias,Constant.A1, s)) .collect(Collectors.joining(Constant.COMMA)); } + startDate = new Date(); + log.info(MessageFormat.format("master tag:{0} MASTER-- select field :{1} ms",uuid, (startDate.getTime() - endDate.getTime()))); + + if (isNow && !findMax){ result = mapper.selectByPage(tableName, fields, whereSegment, page.getLimitSQL()); } @@ -634,15 +1101,17 @@ long con = maintainIds.stream().map(s -> builder.append(DbUtils.quotedStr(s))).count(); } - result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, fromVersionOrderNo, nowVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, limitSQL); + result = mapper.selectByPageByMaxVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, whereSegment, limitSQL); }else { - result = mapper.selectByPageByVersion(tableName,tableTempName,fields,tempFields, Hfields, A1fields, A2fields, tempHfields, nowVersionOrderNo, fromVersionOrderNo, DbUtils.quotedStr(maintainFromVersion.getId()), whereSegment, limitSQL); + result = mapper.selectByPageByVersion(tableName,tableTempName,fields, A1Fields, tempFields, nowVersionOrderNo, fromVersionOrderNo, whereSegment, limitSQL); } + endDate = new Date(); + log.info(MessageFormat.format("master tag:{0} MASTER-- select dataMap :{1} ms",uuid, (endDate.getTime() - startDate.getTime()))); EntityWrapper<SysField> sysFieldEntityWrapper = new EntityWrapper<>(); sysFieldEntityWrapper.eq("table_name", tableName); - List<SysField> sysFields = fieldService.getFieldByMaintain(maintainFromVersion.getId()); + List<SysField> sysFields = masterAuthorService.getField(character, maintainFromVersion.getId()); if (isMax) { sysFields.add(new SysField().setAlias("鏁版嵁鐘舵��").setField("operate").setVisible(true).setFormat("operate_")); sysFields.add(new SysField().setAlias("瀹℃壒鐘舵��").setField("status").setVisible(true).setFormat("status_")); @@ -651,8 +1120,13 @@ JSONObject object = new JSONObject(); + Map<String, AntianaphylaxisResult> helpfulField = antianaphylaxisClient.getHelpfulField(fields, tableName); + antianaphylaxisClient.fixMasterData(result,helpfulField); + startDate = new Date(); + log.info(MessageFormat.format("master tag:{0} MASTER-- antianaphy dataMap :{1} ms",uuid, (startDate.getTime() - endDate.getTime()))); + object.fluentPut("total", page.getRecordCount()); - object.fluentPut("passiveQueueSize", page.getPageSize()); + object.fluentPut("size", page.getPageSize()); object.fluentPut("pages", page.getPageCount()); object.fluentPut("current", page.getPageNo()); object.fluentPut("record", result); @@ -660,13 +1134,35 @@ resultobject.fluentPut("grid",object); resultobject.fluentPut("fields",sysFields); resultobject.fluentPut("maintainId", maintainFromVersion.getId()); + + + redisClient.putRedisValObj(key, Result.success(resultobject)); + return Result.success(resultobject); } - + /** + * + * @description: 涓婁紶鏁版嵁鍚庣殑鎿嶄綔 + * @param tableName 涓存椂琛ㄥ悕 + * @param uploadType 鏇存柊绫诲瀷 + * @param userId 鐢ㄦ埛id + * @return: 鐢熸垚鍚庣殑鐗堟湰 + * + */ @Override public Maintain uploadedData(String tableName, SysAssembleUpdateType uploadType, String userId) { return uploadedData(tableName, uploadType, userId, true); } + /** + * + * @description: 涓婁紶鏁版嵁鍚庣殑鎿嶄綔 + * @param tableName 涓存椂琛ㄥ悕 + * @param uploadType 鏇存柊绫诲瀷 + * @param bigVersion 鏄惁鐢熸垚澶х増鏈� + * @param userId 鐢ㄦ埛id + * @return: 鐢熸垚鍚庣殑鐗堟湰 + * + */ @Override public Maintain uploadedData(String tableName, SysAssembleUpdateType uploadType, String userId, boolean bigVersion) { MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("table_name",tableName)); @@ -751,6 +1247,7 @@ .setDesp("鎵归噺涓婁紶鏁版嵁"); maintain.insert(); + connection.commit(); } catch (Exception e) { e.printStackTrace(); @@ -771,6 +1268,7 @@ //bak + @Deprecated public Result selectListByPage(String tableName, List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, String version) { Maintain maintainFromVersion = maintainService.getMaintainFromVersion(tableName, version); long changeCount = maintainService.countVersionOperatorByType(tableName + Constant.RECORD, whereSegment, maintainFromVersion.getId(), Operate.create); @@ -831,7 +1329,7 @@ JSONObject object = new JSONObject(); object.fluentPut("total", page.getRecordCount()); - object.fluentPut("passiveQueueSize", page.getPageSize()); + object.fluentPut("size", page.getPageSize()); object.fluentPut("pages", page.getPageCount()); object.fluentPut("current", page.getPageNo()); object.fluentPut("record", result); @@ -841,6 +1339,10 @@ return Result.success(resultobject); } + @Override + public Result selectListByPageByVersion(Character character, String tableName,List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax, String uuid) { + return selectListByPageByVersion(character, tableName, fieldList, whereSegment,pageNo,pageSize,String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax, uuid); + } @Override public Result selectListByPageByVersion(Character character, String tableName,List<String> fieldList, String whereSegment, Integer pageNo, Integer pageSize, boolean findMax) { return selectListByPageByVersion(character, tableName, fieldList, whereSegment,pageNo,pageSize,String.valueOf(maintainService.getNowVersion(tableName).getVersion()), findMax); @@ -885,11 +1387,12 @@ public Result insert(String tableName, String json) { try { - List<SysField> fieldByTable = fieldService.getFieldByTable(tableName); - - List<String> fieldNameList = fieldByTable.stream().map(sysField -> sysField.getField()).collect(Collectors.toList()); - String fields = fieldByTable.stream().map(sysField -> sysField.getField()).collect(Collectors.joining(Constant.COMMA)); - + JSONObject dataObject = JSON.parseObject(json); + Set<String> keySet = dataObject.keySet(); + List<String> fieldNameList = new ArrayList<>(keySet); +// List<SysField> fieldByTable = fieldService.getFieldByTable(tableName); +// List<String> fieldNameList = fieldByTable.stream().map(sysField -> sysField.getField()).collect(Collectors.toList()); + String fields = keySet.stream().collect(Collectors.joining(Constant.COMMA)); ContentBuilder builder = new ContentBuilder(Constant.COMMA); Object parse = JSON.parse(json); List<String> ids = new ArrayList<>(); @@ -1119,24 +1622,32 @@ return Result.error(CodeMsg.DELETE_ERROR); } } - + /** + * + * @description: 鑾峰彇琛ㄤ腑distinct鍚庣殑鍊� + * @param tableName 涓存椂琛ㄥ悕 + * @param field 瀛楁鍚� + * @return: 鍘婚噸鍚庣殑鏁版嵁 + * + */ @Override public Set<String> getFieldValByTable(String tableName, String field) { //鏌ョ紦瀛� String key = DbUtils.getFieldRedisKey(tableName,field); - String redisVal = redisClient.getRedisVal(key); - if (!StringUtils.isEmpty(redisVal)) { - List<String> valList = DbUtils.split(redisVal); - if (valList != null) { - return new HashSet<String>(valList); + List<Object> redisList = redisClient.getRedisList(key); + if (redisList != null) { + HashSet<String> strings = new HashSet<>(); + for (Object o : redisList) { + strings.add(o.toString()); } + return strings; } // 璇绘暟鎹簱 String tempTableName = tableName + Constant.RECORD; - List<Map<String, Object>> maps = mapper.selectByPage(tableName, MessageFormat.format(Constant.DISTINCT, field), Constant.WHERE_DEFAULT, null); + // List<Map<String, Object>> maps = mapper.selectByPage(tableName, MessageFormat.format(Constant.DISTINCT, field), Constant.WHERE_DEFAULT, null); - List<Map<String, Object>> tempMaps = mapper.selectByPage(tempTableName, MessageFormat.format(Constant.DISTINCT, field), Constant.WHERE_DEFAULT, null); - maps.addAll(tempMaps); + List<Map<String, Object>> maps = mapper.selectDistinct(tempTableName, field, Constant.WHERE_DEFAULT); + if (maps.size() == 0) { return null; } @@ -1145,23 +1656,24 @@ .map(one -> one.get(field)) .filter(o -> o != null) .map(o -> o.toString()).collect(Collectors.toSet()); + redisClient.putRedisList(key, new ArrayList(result)); return result; } - + /** + * + * @description: 鑾峰彇琛ㄤ腑distinct鍚庣殑鍊� + * @param maintainFieldId 瀛楁鐗堟湰id + * @param tableName 琛ㄥ悕 + * @param field 瀛楁鍚� + * @return: 鍘婚噸鍚庣殑鏁版嵁 + * + */ @Override public Set<String> getFieldValByMaintainField(String maintainFieldId, String field, String tableName) { //鏌ョ紦瀛� MaintainField maintainField = maintainFieldService.selectById(maintainFieldId); - String key = DbUtils.getFieldRedisKey(tableName, field); - String redisVal = redisClient.getRedisVal(key); - if (!StringUtils.isEmpty(redisVal)) { - List<String> valList = DbUtils.split(redisVal); - if (valList != null) { - HashSet<String> strings = new HashSet<>(valList); - return strings; - } - } + // 璇绘暟鎹簱 List<Maintain> list = maintainFieldService.getMaintainByMaintainField(maintainFieldId, tableName); Maintain max = list.stream().max(new Comparator<Maintain>() { @@ -1194,7 +1706,27 @@ .filter(o -> o != null) .map(o -> o.toString()).collect(Collectors.toSet()); String val = result.stream().collect(Collectors.joining(Constant.SEMICOLON)); - redisClient.putRedisVal(key, val); + return result; } + /** + * + * @description: 鍒涘缓绱㈠紩 + * @param recordTableName 璁板綍琛ㄥ悕绉� + * @return: + * + */ + @Override + public void createIdx(String recordTableName) { + String idxName = MessageFormat.format(Constant.IDX_TEMPLATE, recordTableName, Constant.STD_ID); + + List<Map<String, Object>> maps = mapper.selectIdxByTableName(DbUtils.quotedStr(recordTableName)); + long existsIdx = maps.stream().filter(stringObjectMap -> stringObjectMap.get("index_name") != null) + .map(stringObjectMap -> stringObjectMap.get("index_name").toString()) + .filter(s -> idxName.equalsIgnoreCase(s)).count(); + if (existsIdx == 0) { + + mapper.createIdx(recordTableName, idxName, Constant.STD_ID + Constant.COMMA + Constant.DEAL); + } + } } -- Gitblit v1.8.0