diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectDeserializer.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectDeserializer.java index 548f665..83af4e7 100644 --- a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectDeserializer.java +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectDeserializer.java @@ -1,14 +1,12 @@ package com.njzscloud.common.core.fastjson.serializer; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSONReader; import com.alibaba.fastjson2.reader.ObjectReader; import com.alibaba.fastjson2.util.TypeUtils; import com.njzscloud.common.core.ex.Exceptions; -import com.njzscloud.common.core.ienum.Dict; -import com.njzscloud.common.core.ienum.DictInt; -import com.njzscloud.common.core.ienum.DictStr; -import com.njzscloud.common.core.ienum.IEnum; +import com.njzscloud.common.core.ienum.*; import lombok.extern.slf4j.Slf4j; import java.lang.reflect.Type; @@ -40,18 +38,28 @@ public class DictObjectDeserializer implements ObjectReader { Map map = jsonReader.readObject(); String typeField = (String) map.get(IEnum.ENUM_TYPE); + Object valField = map.get(Dict.ENUM_VAL); + Class clazz; + if (typeField == null) { + clazz = TypeUtils.getClass(fieldType); + } else { + clazz = CLASSLOADER.loadClass(typeField); + } - - Class clazz = CLASSLOADER.loadClass(typeField); - - if (valField instanceof String) { + if (valField instanceof String val) { if (DictStr.class.isAssignableFrom(clazz)) { - DictStr[] constants = (DictStr[]) clazz.getEnumConstants(); - return Dict.parse((String) valField, constants); + if (clazz.isEnum()) { + DictStr[] constants = (DictStr[]) clazz.getEnumConstants(); + return Dict.parse(val, constants); + } else { + if (StrUtil.isBlank(val)) return null; + String keyField = (String) map.get(Dict.ENUM_KEY); + return DictItem.get(keyField, val); + } } else if (DictInt.class.isAssignableFrom(clazz)) { DictInt[] constants = (DictInt[]) clazz.getEnumConstants(); - return Dict.parse(Integer.parseInt((String) valField), constants); + return Dict.parse(Integer.parseInt(val), constants); } else { return null; } @@ -71,12 +79,19 @@ public class DictObjectDeserializer implements ObjectReader { } else { if (jsonReader.isString()) { Class clazz = TypeUtils.getClass(fieldType); + String val = jsonReader.readString(); if (DictStr.class.isAssignableFrom(clazz)) { - String val = jsonReader.readString(); - DictStr[] constants = (DictStr[]) clazz.getEnumConstants(); - return Dict.parse(val, constants); + if (clazz.isEnum()) { + DictStr[] constants = (DictStr[]) clazz.getEnumConstants(); + return Dict.parse(val, constants); + } else { + if (StrUtil.isBlank(val)) return null; + DictKey annotation = clazz.getAnnotation(DictKey.class); + if (annotation == null) return null; + String value = annotation.value(); + return DictItem.get(value, val); + } } else if (DictInt.class.isAssignableFrom(clazz)) { - String val = jsonReader.readString(); DictInt[] constants = (DictInt[]) clazz.getEnumConstants(); return Dict.parse(Integer.parseInt(val), constants); } else { diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectSerializer.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectSerializer.java index 38f1ce2..c1c7722 100644 --- a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectSerializer.java +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/fastjson/serializer/DictObjectSerializer.java @@ -56,13 +56,19 @@ public class DictObjectSerializer implements ObjectWriter { jsonWriter.writeColon(); jsonWriter.writeString(dict.getClass().getName()); - jsonWriter.writeName(IEnum.ENUM_NAME); - jsonWriter.writeColon(); - jsonWriter.writeString(((Enum) dict).name()); + if (dict.getClass().isEnum()) { + jsonWriter.writeName(IEnum.ENUM_NAME); + jsonWriter.writeColon(); + jsonWriter.writeString(((Enum) dict).name()); - jsonWriter.writeName(IEnum.ENUM_ORDINAL); + jsonWriter.writeName(IEnum.ENUM_ORDINAL); + jsonWriter.writeColon(); + jsonWriter.writeInt32(((Enum) dict).ordinal()); + } + + jsonWriter.writeName(Dict.ENUM_KEY); jsonWriter.writeColon(); - jsonWriter.writeInt32(((Enum) dict).ordinal()); + jsonWriter.writeAny(dict.getKey()); jsonWriter.writeName(Dict.ENUM_VAL); jsonWriter.writeColon(); @@ -83,12 +89,21 @@ public class DictObjectSerializer implements ObjectWriter { jsonWriter.writeName(fieldName + "Txt"); jsonWriter.writeColon(); jsonWriter.writeString(dictInt.getTxt()); + + jsonWriter.writeName(fieldName + "Key"); + jsonWriter.writeColon(); + jsonWriter.writeString(dictInt.getKey()); } else if (DictStr.class.isAssignableFrom(clazz)) { DictStr dictStr = (DictStr) object; jsonWriter.writeString(dictStr.getVal()); + jsonWriter.writeName(fieldName + "Txt"); jsonWriter.writeColon(); jsonWriter.writeString(dictStr.getTxt()); + + jsonWriter.writeName(fieldName + "Key"); + jsonWriter.writeColon(); + jsonWriter.writeString(dictStr.getKey()); } else { jsonWriter.writeNull(); } diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/Dict.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/Dict.java index 5b4bfe2..12deddd 100644 --- a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/Dict.java +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/Dict.java @@ -33,6 +33,11 @@ public interface Dict extends IEnum { * 存放枚举的 txt 属性值 */ String ENUM_TXT = "txt"; + /** + * 枚举单独序列化时的属性
+ * 存放枚举的 key 属性值 + */ + String ENUM_KEY = "key"; /** * 根据 "值" 获取到对应的枚举对象 @@ -52,6 +57,13 @@ public interface Dict extends IEnum { return null; } + /** + * 字段项 + */ + default String getKey() { + return ""; + } + /** * 值 * diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/DictItem.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/DictItem.java new file mode 100644 index 0000000..30a12f6 --- /dev/null +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/DictItem.java @@ -0,0 +1,72 @@ +package com.njzscloud.common.core.ienum; + +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson2.annotation.JSONType; +import com.njzscloud.common.core.fastjson.serializer.DictObjectDeserializer; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +@JSONType(deserializer = DictObjectDeserializer.class) +public class DictItem implements DictStr { + private static final Map> cache = new ConcurrentHashMap<>(); + private String key; + private String val; + private String txt; + + public static void put(String key, DictItem dictItem) { + cache.compute(key, (k, v) -> { + if (v == null) v = new LinkedList<>(); + v.add(dictItem); + return v; + }); + } + + public static void put(String key, List list) { + cache.put(key, new LinkedList<>(list)); + } + + public static DictItem get(String key, String val) { + DictItem dictItem = new DictItem(); + cache.compute(key, (k, v) -> { + if (CollUtil.isNotEmpty(v)) { + Optional first = v.stream().filter(it -> it.val.equals(val)).findFirst(); + if (first.isPresent()) { + DictItem data = first.get(); + dictItem.key = data.key; + dictItem.val = data.val; + dictItem.txt = data.txt; + } + } + return v; + }); + if (dictItem.key == null) return null; + return dictItem; + } + + public static void clear() { + cache.clear(); + } + + public static void remove(String key, String val) { + cache.compute(key, (k, v) -> { + if (CollUtil.isNotEmpty(v)) v.removeIf(it -> it.val.equals(val)); + return v; + }); + } + + public static void remove(String key) { + cache.remove(key); + } +} diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/DictKey.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/DictKey.java new file mode 100644 index 0000000..bc57d59 --- /dev/null +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/ienum/DictKey.java @@ -0,0 +1,15 @@ +package com.njzscloud.common.core.ienum; + + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.PARAMETER; + +@Target({FIELD, PARAMETER}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DictKey { + String value(); +} diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictDeserializer.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictDeserializer.java index 662e6c8..af7597b 100644 --- a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictDeserializer.java +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictDeserializer.java @@ -1,5 +1,6 @@ package com.njzscloud.common.core.jackson.serializer; +import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonStreamContext; import com.fasterxml.jackson.core.JsonToken; @@ -9,10 +10,7 @@ import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.node.IntNode; import com.fasterxml.jackson.databind.node.TextNode; import com.njzscloud.common.core.ex.Exceptions; -import com.njzscloud.common.core.ienum.Dict; -import com.njzscloud.common.core.ienum.DictInt; -import com.njzscloud.common.core.ienum.DictStr; -import com.njzscloud.common.core.ienum.IEnum; +import com.njzscloud.common.core.ienum.*; import lombok.extern.slf4j.Slf4j; import java.io.IOException; @@ -106,8 +104,16 @@ public class DictDeserializer extends JsonDeserializer { Class clazz = field.getType(); if (DictStr.class.isAssignableFrom(clazz)) { String val = p.getValueAsString(); - DictStr[] constants = (DictStr[]) clazz.getEnumConstants(); - return Dict.parse(val, constants); + if (clazz.isEnum()) { + DictStr[] constants = (DictStr[]) clazz.getEnumConstants(); + return Dict.parse(val, constants); + } else { + if (StrUtil.isBlank(val)) return null; + DictKey annotation = field.getAnnotation(DictKey.class); + if (annotation == null) return null; + String value = annotation.value(); + return DictItem.get(value, val); + } } else if (DictInt.class.isAssignableFrom(clazz)) { int val = p.getValueAsInt(); DictInt[] constants = (DictInt[]) clazz.getEnumConstants(); diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictSerializer.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictSerializer.java index cc4b4ed..6469f3a 100644 --- a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictSerializer.java +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictSerializer.java @@ -46,8 +46,11 @@ public class DictSerializer extends JsonSerializer { if (ctx.inRoot()) { gen.writeStartObject(); gen.writeStringField(IEnum.ENUM_TYPE, value.getClass().getName()); - gen.writeStringField(IEnum.ENUM_NAME, ((Enum) value).name()); - gen.writeNumberField(IEnum.ENUM_ORDINAL, ((Enum) value).ordinal()); + if (value.getClass().isEnum()) { + gen.writeStringField(IEnum.ENUM_NAME, ((Enum) value).name()); + gen.writeNumberField(IEnum.ENUM_ORDINAL, ((Enum) value).ordinal()); + } + gen.writeObjectField(Dict.ENUM_KEY, value.getKey()); gen.writeObjectField(Dict.ENUM_VAL, value.getVal()); gen.writeStringField(Dict.ENUM_TXT, value.getTxt()); gen.writeEndObject(); @@ -55,6 +58,7 @@ public class DictSerializer extends JsonSerializer { gen.writeObject(value.getVal()); String currentName = ctx.getCurrentName(); gen.writeStringField(currentName + "Txt", value.getTxt()); + gen.writeStringField(currentName + "Key", value.getKey()); } } } diff --git a/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/support/DictHandlerMethodArgumentResolver.java b/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/support/DictHandlerMethodArgumentResolver.java index 16ac323..a71e209 100644 --- a/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/support/DictHandlerMethodArgumentResolver.java +++ b/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/support/DictHandlerMethodArgumentResolver.java @@ -1,11 +1,10 @@ package com.njzscloud.common.mvc.support; import cn.hutool.core.util.StrUtil; -import com.njzscloud.common.core.ienum.Dict; -import com.njzscloud.common.core.ienum.DictInt; -import com.njzscloud.common.core.ienum.DictStr; +import com.njzscloud.common.core.ienum.*; import org.springframework.core.MethodParameter; import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.method.support.HandlerMethodArgumentResolver; @@ -16,6 +15,13 @@ import org.springframework.web.method.support.ModelAndViewContainer; */ @SuppressWarnings({"ConstantConditions"}) public class DictHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { + { + DictItem dictItem = new DictItem() + .setKey("key") + .setVal("val") + .setTxt("txt"); + DictItem.put("key", dictItem); + } /** * 支持 {@link DictInt} 和 {@link DictStr} 类型的返回值 @@ -25,7 +31,8 @@ public class DictHandlerMethodArgumentResolver implements HandlerMethodArgumentR */ @Override public boolean supportsParameter(MethodParameter parameter) { - return DictInt.class.isAssignableFrom(parameter.getParameterType()) || DictStr.class.isAssignableFrom(parameter.getParameterType()); + Class parameterType = parameter.getParameterType(); + return DictInt.class.isAssignableFrom(parameterType) || DictStr.class.isAssignableFrom(parameterType); } /** @@ -40,8 +47,14 @@ public class DictHandlerMethodArgumentResolver implements HandlerMethodArgumentR @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, NativeWebRequest request, WebDataBinderFactory factory) throws Exception { String parameterName = parameter.getParameterName(); - String param = request.getParameter(parameterName); + if (parameterName == null) { + RequestParam parameterAnnotation = parameter.getParameterAnnotation(RequestParam.class); + if (parameterAnnotation == null) return null; + parameterName = parameterAnnotation.value(); + } + + String param = request.getParameter(parameterName); if (StrUtil.isBlank(param)) return null; Class type = parameter.getParameterType(); @@ -51,8 +64,16 @@ public class DictHandlerMethodArgumentResolver implements HandlerMethodArgumentR DictInt[] constants = (DictInt[]) type.getEnumConstants(); return Dict.parse(val, constants); } else if (DictStr.class.isAssignableFrom(type)) { - DictStr[] constants = (DictStr[]) type.getEnumConstants(); - return Dict.parse(param, constants); + if (type.isEnum()) { + DictStr[] constants = (DictStr[]) type.getEnumConstants(); + return Dict.parse(param, constants); + } else { + if (StrUtil.isBlank(param)) return null; + DictKey annotation = parameter.getParameterAnnotation(DictKey.class); + if (annotation == null) return null; + String value = annotation.value(); + return DictItem.get(value, param); + } } else { return null; } diff --git a/njzscloud-common/njzscloud-common-security/src/main/java/com/njzscloud/common/security/util/SecurityUtil.java b/njzscloud-common/njzscloud-common-security/src/main/java/com/njzscloud/common/security/util/SecurityUtil.java index 1617507..459d7c5 100644 --- a/njzscloud-common/njzscloud-common-security/src/main/java/com/njzscloud/common/security/util/SecurityUtil.java +++ b/njzscloud-common/njzscloud-common-security/src/main/java/com/njzscloud/common/security/util/SecurityUtil.java @@ -60,7 +60,9 @@ public class SecurityUtil { * @param userDetail 用户信息 */ public static UserDetail registrationUser(UserDetail userDetail) { - SpringUtil.getBean(ITokenService.class).updateToken(userDetail); + Token token = Token.of(userDetail.getUserId(), userDetail.getAccountId(), userDetail.getAuthWay()); + userDetail.setToken(token); + saveToken(userDetail); return userDetail; } @@ -69,11 +71,9 @@ public class SecurityUtil { * * @param userDetail 用户信息 */ - public static UserDetail updateUser(UserDetail userDetail) { - Token token = Token.of(userDetail.getUserId(), userDetail.getAccountId(), userDetail.getAuthWay()); - userDetail.setToken(token); - saveToken(userDetail); - return userDetail; + + public static void updateUser(UserDetail userDetail) { + SpringUtil.getBean(ITokenService.class).updateToken(userDetail); } /** diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/auth/service/AuthService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/auth/service/AuthService.java index 475dba7..10bb600 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/auth/service/AuthService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/auth/service/AuthService.java @@ -93,6 +93,7 @@ public class AuthService implements IAuthService { .setMenus(menuResources) .setEndpoints(endpointResources) .setRoles(roles) + .setClient(client) ; } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/Data.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/Data.java new file mode 100644 index 0000000..4db9856 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/Data.java @@ -0,0 +1,20 @@ +package com.njzscloud.dispose.sys.dict.controller; + +import com.njzscloud.common.core.ienum.DictItem; +import com.njzscloud.common.core.ienum.DictKey; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class Data { + @DictKey("key") + DictItem dictItem; + String a; + String b; + String e; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/DictController.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/DictController.java index fbf2ab5..1d19e63 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/DictController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/DictController.java @@ -1,10 +1,12 @@ package com.njzscloud.dispose.sys.dict.controller; +import com.njzscloud.common.core.ienum.DictItem; +import com.njzscloud.common.core.ienum.DictKey; import com.njzscloud.common.core.utils.R; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; -import com.njzscloud.dispose.sys.dict.pojo.DictEntity; -import com.njzscloud.dispose.sys.dict.pojo.ObtainDictDataResult; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictEntity; +import com.njzscloud.dispose.sys.dict.pojo.result.ObtainDictDataResult; import com.njzscloud.dispose.sys.dict.service.DictService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -77,4 +79,22 @@ public class DictController { } + /** + * 获取字典数据 + */ + @GetMapping("/a") + public R a(@DictKey("key") @RequestParam("dictItem") DictItem dictItem) { + return R.success(dictItem); + } + + + /** + * 获取字典数据 + */ + @PostMapping("/b") + public R b(@RequestBody Data data) { + return R.success(data); + } + + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/SysDictItemController.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/SysDictItemController.java index 01db03c..dd00879 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/SysDictItemController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/controller/SysDictItemController.java @@ -3,7 +3,7 @@ package com.njzscloud.dispose.sys.dict.controller; import com.njzscloud.common.core.utils.R; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; -import com.njzscloud.dispose.sys.dict.pojo.DictItemEntity; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictItemEntity; import com.njzscloud.dispose.sys.dict.service.DictItemService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictItemMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictItemMapper.java index 909712b..c3f9cb7 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictItemMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictItemMapper.java @@ -1,7 +1,7 @@ package com.njzscloud.dispose.sys.dict.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njzscloud.dispose.sys.dict.pojo.DictItemEntity; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictItemEntity; import org.apache.ibatis.annotations.Mapper; /** diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictMapper.java index 7379bef..ee80160 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/mapper/DictMapper.java @@ -1,7 +1,7 @@ package com.njzscloud.dispose.sys.dict.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njzscloud.dispose.sys.dict.pojo.DictEntity; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictEntity; import org.apache.ibatis.annotations.Mapper; /** diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/DictEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/entity/DictEntity.java similarity index 93% rename from njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/DictEntity.java rename to njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/entity/DictEntity.java index 1ff3454..5d64f1e 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/DictEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/entity/DictEntity.java @@ -1,4 +1,4 @@ -package com.njzscloud.dispose.sys.dict.pojo; +package com.njzscloud.dispose.sys.dict.pojo.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/DictItemEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/entity/DictItemEntity.java similarity index 95% rename from njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/DictItemEntity.java rename to njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/entity/DictItemEntity.java index aae184d..fb27d1d 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/DictItemEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/entity/DictItemEntity.java @@ -1,4 +1,4 @@ -package com.njzscloud.dispose.sys.dict.pojo; +package com.njzscloud.dispose.sys.dict.pojo.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/ObtainDictDataResult.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/result/ObtainDictDataResult.java similarity index 94% rename from njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/ObtainDictDataResult.java rename to njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/result/ObtainDictDataResult.java index 07a1f7c..278e5e9 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/ObtainDictDataResult.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/pojo/result/ObtainDictDataResult.java @@ -1,4 +1,4 @@ -package com.njzscloud.dispose.sys.dict.pojo; +package com.njzscloud.dispose.sys.dict.pojo.result; import lombok.Getter; import lombok.Setter; diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictItemService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictItemService.java index 07bd8bc..b734125 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictItemService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictItemService.java @@ -10,7 +10,7 @@ import com.njzscloud.common.core.ex.Exceptions; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.dispose.sys.dict.mapper.DictItemMapper; -import com.njzscloud.dispose.sys.dict.pojo.DictItemEntity; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictItemEntity; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictService.java index 8ba48ab..4d59580 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/dict/service/DictService.java @@ -10,11 +10,11 @@ import com.njzscloud.common.core.ex.Exceptions; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.dispose.sys.dict.mapper.DictMapper; -import com.njzscloud.dispose.sys.dict.pojo.DictEntity; -import com.njzscloud.dispose.sys.dict.pojo.DictItemEntity; -import com.njzscloud.dispose.sys.dict.pojo.ObtainDictDataResult; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictEntity; +import com.njzscloud.dispose.sys.dict.pojo.entity.DictItemEntity; +import com.njzscloud.dispose.sys.dict.pojo.result.ObtainDictDataResult; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,9 +26,9 @@ import java.util.stream.Collectors; */ @Slf4j @Service +@RequiredArgsConstructor public class DictService extends ServiceImpl implements IService { - @Autowired - private DictItemService dictItemService; + private final DictItemService dictItemService; /** * 新增 @@ -84,7 +84,7 @@ public class DictService extends ServiceImpl implements .or().like(DictItemEntity::getVal, keywords) .or().like(DictItemEntity::getMemo, keywords) ) - .orderByAsc(DictItemEntity::getSort, DictItemEntity::getVal) + .orderByAsc(DictItemEntity::getSort, DictItemEntity::getVal, DictItemEntity::getId) ) .stream().map(it -> BeanUtil.copyProperties(it, ObtainDictDataResult.class)) .collect(Collectors.toList()); diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/user/service/UserService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/user/service/UserService.java index b9d639b..68931da 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/user/service/UserService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/sys/user/service/UserService.java @@ -55,6 +55,7 @@ public class UserService extends ServiceImpl implements private final UserAccountService userAccountService; private final UserRoleService userRoleService; private final CustomerService customerService; + private final AuthService authService; /** * 新增 @@ -139,7 +140,6 @@ public class UserService extends ServiceImpl implements return PageResult.of(baseMapper.paging(pageParam.toPage(), ew)); } - AuthService authService; /** * 用户注册 diff --git a/njzscloud-svr/src/test/java/a/Data.java b/njzscloud-svr/src/test/java/a/Data.java new file mode 100644 index 0000000..31167cb --- /dev/null +++ b/njzscloud-svr/src/test/java/a/Data.java @@ -0,0 +1,20 @@ +package a; + +import com.njzscloud.common.core.ienum.DictItem; +import com.njzscloud.common.core.ienum.DictKey; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class Data { + @DictKey("key") + DictItem dictItem; + String a; + String b; + String e; +}