From 7b157aa56608423c9e7de63e12240e8044b3afd9 Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期一, 17 四月 2023 16:51:06 +0800 Subject: [PATCH] 元数据管理ver初始 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdFiledRangeWrapper.java | 43 ++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdFieldRange.java | 39 + Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdAttributeController.java | 105 +++++ Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdAttributeService.java | 46 ++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdAttributeVO.java | 40 ++ Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdAttributeWrapper.java | 53 ++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeClient.java | 60 +++ Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/OmdAttributeMapper.xml | 40 ++ Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/OmdAttributeClient.java | 43 ++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdCacheConstant.java | 14 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/OmdAttributeCache.java | 63 +++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdAttribute.java | 173 ++++++++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdFieldTypeEnum.java | 103 +++++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeFallback.java | 43 ++ Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdFieldRangeVO.java | 23 + Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdAttributeDTO.java | 22 + Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdCompareTypeEnum.java | 99 ++++ Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdAttributeMapper.java | 36 + Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java | 97 ++++ 19 files changed, 1,142 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/OmdAttributeCache.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/OmdAttributeCache.java new file mode 100644 index 0000000..449ada2 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/OmdAttributeCache.java @@ -0,0 +1,63 @@ +package com.vci.ubcs.omd.cache; + +import com.vci.ubcs.omd.entity.OmdAttribute; +import com.vci.ubcs.omd.feign.IOmdAttributeClient; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.core.tool.utils.StringPool; + +import java.util.List; + +import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE; + + +/** + * 鍏冩暟鎹�(灞炴��)缂撳瓨宸ュ叿绫� + * + * @author Chill + */ +public class OmdAttributeCache { + + private static final String ATTR_ID = "attr:id"; + private static final String ATTR_LIST = "attr:list"; + private static final String ATTR_CACHE = "ubcs:attr"; + + private static IOmdAttributeClient attrClient; + + private static IOmdAttributeClient getAttributeClient() { + if (attrClient == null) { + attrClient = SpringUtil.getBean(IOmdAttributeClient.class); + } + return attrClient; + } + + /** + * 鑾峰彇鍏冩暟鎹疄浣� + * + * @param id 涓婚敭 + * @return 鍏冩暟鎹疄浣撳璞� + */ + public static OmdAttribute getById(Long id) { + String keyPrefix = ATTR_ID.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON); + return CacheUtil.get(ATTR_CACHE, keyPrefix, id, () -> { + R<OmdAttribute> result = getAttributeClient().getById(id); + return result.getData(); + }); + } + + /** + * 鑾峰彇鍏冩暟鎹泦鍚� + * + * @param key 灞炴�у悕绉� + */ + public static List<OmdAttribute> getList(String key) { + String keyPrefix = ATTR_LIST.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON); + return CacheUtil.get(DICT_CACHE, keyPrefix, key, () -> { + R<List<OmdAttribute>> result = getAttributeClient().getList(key); + return result.getData(); + }); + } + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdCacheConstant.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdCacheConstant.java new file mode 100644 index 0000000..16a6bca --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/OmdCacheConstant.java @@ -0,0 +1,14 @@ +package com.vci.ubcs.omd.constant; + +/** + * Description: + * + * @author LiHang + * @date 2023/4/4 + */ +public class OmdCacheConstant { + /** + * 鍏冩暟鎹� + */ + public static final String ATTR_CACHE = "ubcs:attr"; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdAttributeDTO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdAttributeDTO.java new file mode 100644 index 0000000..3365ca7 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/dto/OmdAttributeDTO.java @@ -0,0 +1,22 @@ +package com.vci.ubcs.omd.dto; + +import com.vci.ubcs.omd.entity.OmdAttribute; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * Description: 鍏冩暟鎹〉闈紶杈撳璞� + * + * @author LiHang + * @date 2023/4/4 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class OmdAttributeDTO extends OmdAttribute { + + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 5515095331865594996L; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdAttribute.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdAttribute.java new file mode 100644 index 0000000..b3babc8 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdAttribute.java @@ -0,0 +1,173 @@ +package com.vci.ubcs.omd.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springblade.core.mp.base.BaseEntity; +import org.springframework.data.annotation.Transient; + +import javax.validation.constraints.NotNull; + + +/** + * Description: 鍏冩暟鎹�(灞炴�ф睜) + * + * @author LiHang + * @date 2023/4/3 + */ +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@TableName("pl_omd_attribute") +@ApiModel(value = "灞炴�у璞�", description = "灞炴�у璞�") +public class OmdAttribute extends BaseEntity { + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = -6792640675358002410L; + + /** + * 绉熸埛ID + */ + @ApiModelProperty(value = "绉熸埛ID") + private String tenantId; + + /** + * 瀛楁缂栧彿 + */ + @ApiModelProperty(value = "瀛楁缂栧彿") + @NotNull + private String key; + + /** + * 瀛楁鍚嶇О + */ + @ApiModelProperty(value = "瀛楁鍚嶇О") + private String label; + + /** + * 灞炴�х被鍨嬪瓧鍏哥爜 + */ + @ApiModelProperty(value = "灞炴�х被鍨嬪瓧鍏哥爜") + private String typeCode; + + /** + * 灞炴�х被鍨嬪瓧鍏稿�� + */ + @ApiModelProperty(value = "灞炴�х被鍨嬪瓧鍏稿��") + private String typeKey; + + /** + * 灞炴�х被鍨嬪瓧鍏告樉绀哄悕绉� + */ + @Transient + private String typeValue; + + + /** + * 鏍囩 + */ + @ApiModelProperty(value = "鏍囩") + private String hashtag; + + /** + * 鎻忚堪 + */ + @ApiModelProperty(value = "鎻忚堪") + private String description; + + /** + * 鏄惁涓虹┖ + */ + @ApiModelProperty("鏄惁涓虹┖") + private String nullable; + + /** + * 鏈�澶ч暱搴� + */ + @ApiModelProperty("鏈�澶ч暱搴�") + private Integer maxLength; + + /** + * 绮惧害 + */ + @ApiModelProperty("绮惧害") + private Integer precision; + + /** + * 鍙傜収鐨勭被鍨� + */ + @ApiModelProperty("鍙傜収绫诲瀷瀛楀吀鐮�") + private String referTypeCode; + + /** + * 鍙傜収绫诲瀷瀛楀吀鍊� + */ + @ApiModelProperty("鍙傜収绫诲瀷瀛楀吀鍊�") + private String referTypeKey; + + /** + * 鍙傜収绫诲瀷瀛楀吀鏄剧ず鍚嶇О + */ + @Transient + private String referTypeValue; + + /** + * 鍙傜収瀵硅薄 + */ + @ApiModelProperty("鍙傜収鐨勪富閿�") + @JsonSerialize(using = ToStringSerializer.class) + private Long referToId; + + /** + * 鍙傜収瀵硅薄鐨勫悕绉� + */ + @ApiModelProperty("鍙傜収瀵硅薄鍚嶇О") + private String referToName; + + /** + * 浣跨敤瀛楀吀 + */ + @ApiModelProperty("浣跨敤瀛楀吀") + private String usingDict; + + /** + * 瀛楀吀鐮� + */ + @ApiModelProperty("瀛楀吀鐮�") + private String dictCode; + + /** + * 瀛楀吀閿�� + */ + @ApiModelProperty("瀛楀吀閿��") + private String dictKey; + + /** + * 瀛楀吀鏄剧ず鍊� + */ + @Transient + private String dictValue; + + /** + * 榛樿鍊� + */ + @ApiModelProperty("榛樿鍊�") + private String defaultValue; + /** + * 姣旇緝鏂瑰紡 + */ + @Transient + private String calculateType; + + /** + * 姣旇緝鍊� + */ + @Transient + private String calculateValue; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdFieldRange.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdFieldRange.java new file mode 100644 index 0000000..80eea5f --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/OmdFieldRange.java @@ -0,0 +1,39 @@ +package com.vci.ubcs.omd.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springblade.core.mp.base.BaseEntity; + + +/** + * Description: 瀛楁鑼冨洿 + * + * @author LiHang + * @date 2023/4/3 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@TableName("pl_omd_field_range") +@ApiModel(value = "瀛楁鑼冨洿",description = "瀛楁鑼冨洿") +public class OmdFieldRange extends BaseEntity { + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 7849276277821126507L; + /** + * 姣旇緝鏂瑰紡 + */ + @ApiModelProperty("姣旇緝鏂瑰紡") + private String calculateType; + + /** + * 姣旇緝鍊� + */ + @ApiModelProperty("姣旇緝鍊�") + private String calculateValue; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdCompareTypeEnum.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdCompareTypeEnum.java new file mode 100644 index 0000000..419a522 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdCompareTypeEnum.java @@ -0,0 +1,99 @@ +package com.vci.ubcs.omd.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * Description: 灞炴�х被鍨嬫灇涓� + * + * @author LiHang + * @date 2023/4/3 + */ +@Getter +@AllArgsConstructor +public enum OmdCompareTypeEnum { + /** + * 澶т簬 + */ + GRATE_THAN("grate_than",">"), + /** + * 灏忎簬 + */ + LESS_THAN("less_than","<"), + /** + * 澶т簬绛変簬 + */ + GRATE_EQUAL("grate_equal",">="), + /** + * 灏忎簬绛変簬 + */ + LESS_EQUAL("less_equal","<="), + /** + * 绛変簬 + */ + EQUAL("equal","="), + /** + * 涓嶇瓑浜� + */ + NOT_EQUAL("not_equal","!="), + /** + * 鑼冨洿 + */ + BETWEEN("between","[]"), + ; + /** + * 缂栧彿 + */ + private final String value; + + /** + * 鏄剧ず鍊� + */ + private final String text; + + /** + * 鏍规嵁鍚嶇О鑾峰彇瀵瑰簲鐨勬灇涓惧�� + * + * @param text 鍚嶇О + * @return 鏋氫妇鍊� + */ + public static String getValueByText(String text) { + for (OmdCompareTypeEnum item : OmdCompareTypeEnum.values()) { + if (item.getText().equalsIgnoreCase(text)) { + return item.getValue(); + } + } + return ""; + } + + /** + * 鏍规嵁鏋氫妇鍊艰幏鍙栧悕绉� + * + * @param value 鏋氫妇鍊� + * @return 鍚嶇О + */ + public static String getTextByValue(String value) { + for (OmdCompareTypeEnum item : OmdCompareTypeEnum.values()) { + if (item.getValue().equalsIgnoreCase(value)) { + return item.getText(); + } + } + return ""; + } + + /** + * 鏍规嵁鏋氫妇鍊艰幏鍙栧璞� + * + * @param value 鏋氫妇鍊� + * @return 鏋氫妇瀵硅薄 + */ + public static OmdCompareTypeEnum forValue(String value) { + for (OmdCompareTypeEnum item : OmdCompareTypeEnum.values()) { + if (item.getValue().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdFieldTypeEnum.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdFieldTypeEnum.java new file mode 100644 index 0000000..c9a065c --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/OmdFieldTypeEnum.java @@ -0,0 +1,103 @@ +package com.vci.ubcs.omd.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * Description: 灞炴�х被鍨嬫灇涓� + * + * @author LiHang + * @date 2023/4/3 + */ +@Getter +@AllArgsConstructor +public enum OmdFieldTypeEnum { + /** + * 瀛楃涓� + */ + VTSTRING("VTString","瀛楃涓�"), + /** + * 鏁存暟 + */ + VTINTEGER("VTInteger","鏁存暟"), + /** + * 甯冨皵 + */ + VTBOOLEAN("VTBoolean","甯冨皵"), + /** + * 闀挎暣鏁� + */ + VTLONG("VTLong","闀挎暣鏁�"), + /** + * 娴偣鏁� + */ + VTDOUBLE("VTDouble","娴偣鏁�"), + /** + * 鏃ユ湡 + */ + VTDATE("VTDate","鏃ユ湡"), + /** + * 鏃堕棿 + */ + VTTIME("VTTime","鏃堕棿"), + /** + * 鏃ユ湡鏃堕棿 + */ + VTDATETIME("VTDateTime","鏃ユ湡鏃堕棿"), + ; + /** + * 缂栧彿 + */ + private final String value; + + /** + * 鏄剧ず鍊� + */ + private final String text; + + /** + * 鏍规嵁鍚嶇О鑾峰彇瀵瑰簲鐨勬灇涓惧�� + * + * @param text 鍚嶇О + * @return 鏋氫妇鍊� + */ + public static String getValueByText(String text) { + for (OmdFieldTypeEnum item : OmdFieldTypeEnum.values()) { + if (item.getText().equalsIgnoreCase(text)) { + return item.getValue(); + } + } + return ""; + } + + /** + * 鏍规嵁鏋氫妇鍊艰幏鍙栧悕绉� + * + * @param value 鏋氫妇鍊� + * @return 鍚嶇О + */ + public static String getTextByValue(String value) { + for (OmdFieldTypeEnum item : OmdFieldTypeEnum.values()) { + if (item.getValue().equalsIgnoreCase(value)) { + return item.getText(); + } + } + return ""; + } + + /** + * 鏍规嵁鏋氫妇鍊艰幏鍙栧璞� + * + * @param value 鏋氫妇鍊� + * @return 鏋氫妇瀵硅薄 + */ + public static OmdFieldTypeEnum forValue(String value) { + for (OmdFieldTypeEnum item : OmdFieldTypeEnum.values()) { + if (item.getValue().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeClient.java new file mode 100644 index 0000000..f3f0042 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeClient.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 搴勯獮 (smallchill@163.com) + */ +package com.vci.ubcs.omd.feign; + + +import com.vci.ubcs.omd.entity.OmdAttribute; +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.core.tool.api.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * Feign鎺ュ彛绫� + * + * @author Chill + */ +@FeignClient( + value = AppConstant.APPLICATION_NAME_OMD, + fallback = IOmdAttributeFallback.class +) +public interface IOmdAttributeClient { + + String API_PREFIX = "/client"; + String GET_BY_ID = API_PREFIX + "/attribute/get-by-id"; + String GET_LIST = API_PREFIX + "/attribute/get-list"; + + + /** + * 鑾峰彇鍏冩暟鎹璞� + * @param id 涓婚敭 + * @return 鍏冩暟鎹璞� + */ + @GetMapping(GET_BY_ID) + R<OmdAttribute> getById(@RequestParam("id") Long id); + + /** + * 鑾峰彇鍏冩暟鎹垪琛� + * @param key 鏌ヨ灞炴�у悕 + * @return 鍏冩暟鎹垪琛� + */ + @GetMapping(GET_LIST) + R<List<OmdAttribute>> getList(@RequestParam("key") String key); +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeFallback.java new file mode 100644 index 0000000..40dc9ea --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IOmdAttributeFallback.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 搴勯獮 (smallchill@163.com) + */ +package com.vci.ubcs.omd.feign; + +import com.vci.ubcs.omd.entity.OmdAttribute; +import org.springblade.core.tool.api.R; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Feign澶辫触閰嶇疆 + * + * @author Chill + */ +@Component +public class IOmdAttributeFallback implements IOmdAttributeClient { + @Override + public R<OmdAttribute> getById(Long id) { + return R.fail("鑾峰彇鏁版嵁澶辫触"); + } + + @Override + public R<List<OmdAttribute>> getList(String code) { + return R.fail("鑾峰彇鏁版嵁澶辫触"); + } + + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdAttributeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdAttributeVO.java new file mode 100644 index 0000000..33edc96 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdAttributeVO.java @@ -0,0 +1,40 @@ +package com.vci.ubcs.omd.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.vci.ubcs.omd.entity.OmdAttribute; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * Description: 鍏冩暟鎹樉绀哄璞� + * + * @author LiHang + * @date 2023/4/3 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "鍏冩暟鎹樉绀哄璞�", description = "鍏冩暟鎹樉绀哄璞�") +public class OmdAttributeVO extends OmdAttribute { + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 279638479374768539L; + + /** + * 涓婚敭ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("瀛楁鑼冨洿") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + List<OmdFieldRangeVO> fieldRanges; + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdFieldRangeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdFieldRangeVO.java new file mode 100644 index 0000000..87edbe1 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/OmdFieldRangeVO.java @@ -0,0 +1,23 @@ +package com.vci.ubcs.omd.vo; + +import com.vci.ubcs.omd.entity.OmdFieldRange; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * Description: 瀛楁鑼冨洿鏄剧ず瀵硅薄 + * + * @author LiHang + * @date 2023/4/3 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "瀛楁鑼冨洿鏄剧ず瀵硅薄", description = "瀛楁鑼冨洿鏄剧ず瀵硅薄") +public class OmdFieldRangeVO extends OmdFieldRange { + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 1770817945737478318L; +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdAttributeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdAttributeController.java new file mode 100644 index 0000000..bcf4d68 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/OmdAttributeController.java @@ -0,0 +1,105 @@ +package com.vci.ubcs.omd.controller; + +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.vci.ubcs.omd.constant.OmdCacheConstant; +import com.vci.ubcs.omd.dto.OmdAttributeDTO; +import com.vci.ubcs.omd.entity.OmdAttribute; +import com.vci.ubcs.omd.service.IOmdAttributeService; +import com.vci.ubcs.omd.vo.OmdAttributeVO; +import com.vci.ubcs.omd.wrapper.OmdAttributeWrapper; +import io.swagger.annotations.*; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.validation.Valid; +import java.util.List; +import java.util.Map; + +/** + * Description: 鍏冩暟鎹�(灞炴��)鎺у埗鍣� + * + * @author LiHang + * @date 2023/4/3 + */ +@NonDS +@RestController +@AllArgsConstructor +@RequestMapping("/attribute") +@Api(value = "鍏冩暟鎹帶鍒跺櫒", tags = "鍏冩暟鎹帶鍒跺櫒") +public class OmdAttributeController extends BladeController { + /** + * 鍏冩暟鎹湇鍔� + */ + private IOmdAttributeService attributeService; + + /** + * 鏌ョ湅璇︽儏 + * @param id 涓婚敭 + * @return 鎵ц缁撴灉 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "鏌ョ湅璇︽儏", notes = "浼犲叆涓婚敭") + public R<OmdAttributeVO> detail(Long id) { + return R.data(attributeService.getAttributeDetail(id)); + } + + /** + * 鍒楄〃 + * @param condition 鏌ヨ鏉′欢 + * @return 鎵ц缁撴灉 + */ + @GetMapping("/list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "key", value = "灞炴�у悕", paramType = "query", dataType = "string"), + }) + @ApiOperationSupport(order = 2) + @ApiOperation(value = "鏌ヨ鍒楄〃", notes = "浼犲叆鏌ヨ") + public R<List<OmdAttributeVO>> list(@ApiIgnore @RequestParam Map<String, Object> condition) { + return R.data(OmdAttributeWrapper.build().listEntityVO(attributeService.list(Condition.getQueryWrapper(condition, OmdAttribute.class).lambda().orderByAsc(OmdAttribute::getKey)))); + } + + /** + * 鏂板鎴栦慨鏀� + * @param dto 鍏冩暟鎹〉闈紶杈撳璞� + * @return 鎵ц缁撴灉 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆鍏冩暟鎹璞�") + public R submit(@Valid @RequestBody OmdAttributeDTO dto) { + CacheUtil.clear(OmdCacheConstant.ATTR_CACHE); + return R.status(attributeService.submit(dto)); + } + + /** + * 鍒犻櫎 + * @param ids 涓婚敭闆嗗悎 + * @return 鎵ц缁撴灉 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "鍒犻櫎", notes = "涓婚敭闆嗗悎") + public R remove(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String ids) { + CacheUtil.clear(OmdCacheConstant.ATTR_CACHE); + return R.status(attributeService.removeAttrs(ids)); + } + + /** + * 鏌ョ湅搴旂敤鑼冨洿 + * @param id 涓婚敭 + * @return 鏌ヨ缁撴灉 + */ + @GetMapping("/applyRange") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "鏌ョ湅搴旂敤鑼冨洿",notes = "浼犲叆涓婚敭") + public R applyRange(Long id){ + return R.data(attributeService.applyRange(id)); + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/OmdAttributeClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/OmdAttributeClient.java new file mode 100644 index 0000000..dfc3e88 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/OmdAttributeClient.java @@ -0,0 +1,43 @@ +package com.vci.ubcs.omd.feign; + +import com.vci.ubcs.omd.entity.OmdAttribute; +import com.vci.ubcs.omd.service.IOmdAttributeService; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Description: 鍏冩暟鎹湇鍔eign璋冪敤绫� + * + * @author LiHang + * @date 2023/4/4 + */ +@NonDS +@ApiIgnore +@RestController +@AllArgsConstructor +public class OmdAttributeClient implements IOmdAttributeClient{ + private final IOmdAttributeService service; + + @Override + @GetMapping(GET_BY_ID) + public R<OmdAttribute> getById(Long id) { + return R.data(service.getById(id)); + } + + @Override + @GetMapping(GET_LIST) + public R<List<OmdAttribute>> getList(String key) { + Map<String,Object> condition = new HashMap<>(); + condition.put("key",key); + return R.data(service.list(Condition.getQueryWrapper(condition, OmdAttribute.class).lambda().orderByAsc(OmdAttribute::getKey))); + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdAttributeMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdAttributeMapper.java new file mode 100644 index 0000000..6b47932 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/OmdAttributeMapper.java @@ -0,0 +1,36 @@ +package com.vci.ubcs.omd.mapper; + +import com.vci.ubcs.omd.entity.OmdAttribute; +import org.springblade.core.mp.mapper.BladeMapper; + +import java.util.Collection; +import java.util.List; + +/** + * Description:鍏冩暟鎹暟鎹眰 + * + * @author LiHang + * @date 2023/4/3 + */ +public interface OmdAttributeMapper extends BladeMapper<OmdAttribute> { + + /** + * 鏌ヨ鍏ㄩ儴 + * @return 鏌ヨ缁撴灉 + */ + List<OmdAttribute> selectAll(); + + /** + * 涓婚敭鏌ヨ + * @param primaryKey 涓婚敭 + * @return 鏌ヨ缁撴灉 + */ + OmdAttribute selectByPrimaryKey(Long primaryKey); + + /** + * 涓婚敭鎵归噺鏌ヨ + * @param primaryKeyCollection 涓婚敭闆嗗悎 + * @return 鏌ヨ缁撴灉 + */ + List<OmdAttribute> selectByPrimaryKeyCollection(Collection<String> primaryKeyCollection); +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdAttributeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdAttributeService.java new file mode 100644 index 0000000..fa0dd2c --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IOmdAttributeService.java @@ -0,0 +1,46 @@ +package com.vci.ubcs.omd.service; + +import com.vci.ubcs.omd.dto.OmdAttributeDTO; +import com.vci.ubcs.omd.entity.OmdAttribute; +import com.vci.ubcs.omd.vo.OmdAttributeVO; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + + +/** + * Description: 鍏冩暟鎹�(灞炴��)鐨勬湇鍔℃帴鍙� + * + * @author LiHang + * @date 2023/4/3 + */ +public interface IOmdAttributeService extends BaseService<OmdAttribute> { + + /** + * 鑾峰彇鍏冩暟鎹鎯� + * @param id 涓婚敭 + * @return 鍏冩暟鎹樉绀哄璞� + */ + OmdAttributeVO getAttributeDetail(Long id); + + /** + * 鏂板鎴栦慨鏀� + * @param dto 椤甸潰浼犺緭瀵硅薄 + * @return 鎵ц缁撴灉 + */ + boolean submit(OmdAttributeDTO dto); + + /** + * 鍒犻櫎 + * @param ids 涓婚敭闆嗗悎 + * @return 鎵ц缁撴灉 + */ + boolean removeAttrs(String ids); + + /** + * 鏌ョ湅搴旂敤鑼冨洿 + * @param id 涓婚敭 + * @return 鏌ヨ宸插簲鐢ㄧ殑涓氬姟绫诲瀷鍚嶇О + */ + List<String> applyRange(Long id); +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java new file mode 100644 index 0000000..9a483fe --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java @@ -0,0 +1,97 @@ +package com.vci.ubcs.omd.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.core.log.exception.ServiceException; +import com.vci.ubcs.omd.constant.OmdCacheConstant; +import com.vci.ubcs.omd.dto.OmdAttributeDTO; +import com.vci.ubcs.omd.entity.OmdAttribute; +import com.vci.ubcs.omd.mapper.OmdAttributeMapper; +import com.vci.ubcs.omd.service.IOmdAttributeService; +import com.vci.ubcs.omd.vo.OmdAttributeVO; +import com.vci.ubcs.omd.wrapper.OmdAttributeWrapper; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springframework.stereotype.Service; + +import javax.validation.constraints.NotEmpty; +import java.util.ArrayList; +import java.util.List; + + +/** + * Description: 鍏冩暟鎹�(灞炴��)鐨勬湇鍔� + * + * @author LiHang + * @date 2023/4/3 + */ +@Service +public class OmdAttributeServiceImpl extends ServiceImpl<OmdAttributeMapper, OmdAttribute> implements IOmdAttributeService { + + @Override + public boolean deleteLogic(@NotEmpty List<Long> ids) { + return false; + } + + @Override + public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) { + return false; + } + + /** + * 鑾峰彇鍏冩暟鎹鎯� + * + * @param id 涓婚敭 + * @return 鍏冩暟鎹樉绀哄璞� + */ + @Override + public OmdAttributeVO getAttributeDetail(Long id) { + Func.requireNotNull(id,"涓婚敭涓嶈兘涓虹┖"); + return OmdAttributeWrapper.build().entityVO(baseMapper.selectByPrimaryKey(id)); + } + + /** + * 鏂板鎴栦慨鏀� + * + * @param dto 椤甸潰浼犺緭瀵硅薄 + * @return 鎵ц缁撴灉 + */ + @Override + public boolean submit(OmdAttributeDTO dto) { + LambdaQueryWrapper<OmdAttribute> wrapper = Wrappers.<OmdAttribute>query().lambda().eq(OmdAttribute::getKey, dto.getKey()); + Long count = baseMapper.selectCount((Func.isEmpty(dto.getId())) ? wrapper : wrapper.notIn(OmdAttribute::getId, dto.getId())); + if (count > 0L) { + throw new ServiceException("灞炴�у悕宸插瓨鍦�!"); + } + dto.setIsDeleted(BladeConstant.DB_NOT_DELETED); + OmdAttribute omdAttribute = BeanUtil.copy(dto, OmdAttribute.class); + CacheUtil.clear(OmdCacheConstant.ATTR_CACHE); + return saveOrUpdate(omdAttribute); + } + + /** + * 鍒犻櫎 + * + * @param ids 涓婚敭闆嗗悎 + * @return 鎵ц缁撴灉 + */ + @Override + public boolean removeAttrs(String ids) { + List<Long> idList = Func.toLongList(ids); + return !deleteLogic(idList) && removeByIds(idList); + } + + /** + * 鏌ョ湅搴旂敤鑼冨洿 + * + * @param id 涓婚敭 + * @return 鏌ヨ宸插簲鐢ㄧ殑涓氬姟绫诲瀷鍚嶇О + */ + @Override + public List<String> applyRange(Long id) { + return new ArrayList<>(); + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdAttributeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdAttributeWrapper.java new file mode 100644 index 0000000..6ab81a8 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdAttributeWrapper.java @@ -0,0 +1,53 @@ +package com.vci.ubcs.omd.wrapper; + +import com.vci.ubcs.omd.cache.DictBizCache; +import com.vci.ubcs.omd.entity.OmdAttribute; +import com.vci.ubcs.omd.vo.*; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.StringUtil; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + + +/** + * 鍏冩暟鎹璞$殑鍖呰绫�,杩斿洖瑙嗗浘灞傛墍闇�鐨勫瓧娈� + * + * @author LiHang + * @date 2023/4/3 + */ +public class OmdAttributeWrapper extends BaseEntityWrapper<OmdAttribute, OmdAttributeVO> { + + public static OmdAttributeWrapper build() { + return new OmdAttributeWrapper(); + } + + /** + * do2vo + * @param entity pojo + * @return 鏄剧ず瀵硅薄 + */ + @Override + public OmdAttributeVO entityVO(OmdAttribute entity) { + OmdAttributeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, OmdAttributeVO.class)); + vo.setTypeValue(DictBizCache.getValue(vo.getTypeCode(),vo.getTypeKey())); + if (StringUtil.isNotBlank(vo.getReferTypeCode())){ + vo.setReferTypeValue(DictBizCache.getValue(vo.getReferTypeCode(),vo.getReferTypeKey())); + } + if (StringUtil.isNotBlank(vo.getDictCode())){ + vo.setDictValue(DictBizCache.getValue(vo.getDictCode(),vo.getDictKey())); + } + return vo; + } + + /** + * 鎵归噺杞瑅o + * @param list pojo闆嗗悎 + * @return 鏄剧ず瀵硅薄 + */ + public List<OmdAttributeVO> listEntityVO(List<OmdAttribute> list) { + return list.stream().map(this::entityVO).collect(Collectors.toList()); + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdFiledRangeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdFiledRangeWrapper.java new file mode 100644 index 0000000..60090b0 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/OmdFiledRangeWrapper.java @@ -0,0 +1,43 @@ +package com.vci.ubcs.omd.wrapper; + +import com.vci.ubcs.omd.entity.OmdFieldRange; +import com.vci.ubcs.omd.vo.OmdFieldRangeVO; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Description: 瀛楁鑼冨洿鐨勫寘瑁呯被 + * + * @author LiHang + * @date 2023/4/3 + */ +public class OmdFiledRangeWrapper extends BaseEntityWrapper<OmdFieldRange, OmdFieldRangeVO> { + + public static OmdFiledRangeWrapper build() { + return new OmdFiledRangeWrapper(); + } + + /** + * do2vo + * @param entity pojo + * @return 鏄剧ず瀵硅薄 + */ + @Override + public OmdFieldRangeVO entityVO(OmdFieldRange entity) { + OmdFieldRangeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, OmdFieldRangeVO.class)); + return vo; + } + + /** + * 鎵归噺杞瑅o + * @param list pojo闆嗗悎 + * @return 鏄剧ず瀵硅薄 + */ + public List<OmdFieldRangeVO> listEntityVO(List<OmdFieldRange> list) { + return list.stream().map(this::entityVO).collect(Collectors.toList()); + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/OmdAttributeMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/OmdAttributeMapper.xml new file mode 100644 index 0000000..a7f1891 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/OmdAttributeMapper.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.vci.ubcs.omd.mapper.OmdAttributeMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="baseResultMap" type="com.vci.ubcs.omd.entity.OmdAttribute"> + <id column="id" property="id"/> + <result column="create_user" property="createUser" jdbcType="NUMBER"/> + <result column="create_dept" property="createDept" jdbcType="NUMBER"/> + <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> + <result column="update_user" property="updateUser" jdbcType="NUMBER"/> + <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> + <result column="status" property="status" jdbcType="NUMBER"/> + <result column="is_deleted" property="isDeleted" jdbcType="NUMBER"/> + <result column="tenant_id" property="tenantId" jdbcType="NUMBER"/> + <result column="key" property="key" jdbcType="VARCHAR"/> + <result column="label" property="label" jdbcType="VARCHAR"/> + <result column="type" property="type" jdbcType="VARCHAR"/> + <result column="hashtag" property="hashtag" jdbcType="VARCHAR"/> + <result column="description" property="description" jdbcType="VARCHAR"/> + </resultMap> + + <resultMap id="extraResultMap" type="com.vci.ubcs.omd.entity.OmdAttribute"> + <result column="nullable" property="nullable" jdbcType="VARCHAR"/> + <result column="max_length" property="maxLength" jdbcType="NUMBER"/> + <result column="precision" property="precision" jdbcType="NUMBER"/> + <result column="refer_to_id" property="referToId" jdbcType="NUMBER"/> + <result column="refer_type" property="referType" jdbcType="VARCHAR"/> + <result column="refer_to_name" property="referToName" jdbcType="VARCHAR"/> + <result column="using_enum" property="usingEnum" jdbcType="VARCHAR"/> + <result column="enum_key" property="enumKey" jdbcType="VARCHAR"/> + <result column="enum_name" property="enumName" jdbcType="VARCHAR"/> + <result column="default_value" property="defaultValue" jdbcType="VARCHAR"/> + <result column="calculate_type" property="calculateType" jdbcType="VARCHAR"/> + <result column="calculate_value" property="calculateValue" jdbcType="VARCHAR"/> + </resultMap> + + + +</mapper> -- Gitblit v1.9.3