liuxm
2024-05-16 b359563faedeb743f885dbadbaa154f69582f333
权限id序列化问题
1个文件已添加
2个文件已修改
26 ■■■■■ 已修改文件
pms-parent/pms-common/src/main/java/com/dy/common/util/ListLongToStringArrayWriter.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaRole.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-common/src/main/java/com/dy/common/util/ListLongToStringArrayWriter.java
New file
@@ -0,0 +1,22 @@
package com.dy.common.util;
import com.alibaba.fastjson2.JSONWriter;
import com.alibaba.fastjson2.writer.ObjectWriter;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.List;
public class ListLongToStringArrayWriter implements ObjectWriter<List<Long>> {
    @Override
    public void write(JSONWriter jsonWriter, Object object, Object fieldName, Type fieldType, long features) {
        if (object == null) {
            jsonWriter.writeNull();
            return;
        }
        List<Long> longList = (List<Long>) object;
        String[] stringArray = longList.stream().map(String::valueOf).toArray(String[]::new);
        jsonWriter.write(Arrays.asList(stringArray));
    }
}
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaPrivilege.java
@@ -33,7 +33,7 @@
    ASSIGN_ID(3),  //默认全局唯一ID
    ASSIGN_UUID(4), //全局唯一的 uuid
    */
//    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(value = "id", type = IdType.INPUT)
    public Long id;
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoBa/BaRole.java
@@ -8,6 +8,7 @@
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
import com.baomidou.mybatisplus.annotation.*;
import com.dy.common.po.BaseEntity;
import com.dy.common.util.ListLongToStringArrayWriter;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;
@@ -68,6 +69,7 @@
     * 前端web界面提交的角色所属权限的id,其是一个字符串数组
     */
    @TableField(exist = false)
    @JSONField(serializeUsing= ListLongToStringArrayWriter.class)
    public List<Long> priIds ;
}