java之导出功能--Object转换为HashMap用法,并且为了有序性使用LinkedHashMap


java实体:

package com.hundsun.amos.basics.api.bean;

import java.io.Serializable;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

/**
 * 
 * @Description: 通告信息导出excel表dto
 * @author: caigb28355
 * @createTime: 2019年11月13日F
 * @version:
 */
@Data
public class NoticeInfoExcelDTO implements Serializable {

	/**
	 * 序列号
	 */
	private static final long serialVersionUID = -2086685169844189801L;
	
	/**
	 * 通告ID
	 */
	private String noticeId;
	
	/**
	 * 通告标题
	 */
	@JSONField(ordinal = 1)
	private String noticeTitle;
	
	/**
	 * 通告类型 (1、产品类;2、运营服务类;3、公司发文;4、内部通知;5、其他;6、投资人通告)
	 */
	private String noticeType;
	
	/**
	 * 通告级别 (1、紧急;2、重要;3、普通)
	 */
	private String noticeLevel;
	
	/**
	 * 通告群体 (通告群体  2、广发证券用户;4、部分角色)
	 */
	private String noticeColony;
	
	/**
	 * 生效日期(默认为创建日期)
	 */
	private String noticeBegdate;
	
	/**
	 * 截止日期(为空则认为永久有效)
	 */
	@JSONField(ordinal = 9)
	private String noticeEnddate;
	
	/**
	 * 文件编号
	 */
	@JSONField(ordinal = 6)
	private String noticeFileCode;
	
	/**
	 * 通告内容
	 */
	private String noticeContent;
	
	/**
	 * 通告状态(1、未发布;2、已发布;3、已撤销)
	 */
	private String noticeStatus;
	
	/**
	 * 强制通知标记(0、否;1、是)
	 */
	private String pushNotification;
	
	/**
	 * 发布人
	 */
	private String publishUser;
	
	/**
	 * 发布时间
	 */
	@JSONField(ordinal = 8)
	private String publishTime;
	
	/**
	 * 创建人
	 */
	private String creator;
	
	/**
	 * 创建时间
	 */
	private String createrTime;
	
	/**
	 * 操作人
	 */
	private String operator;
	
	/**
	 * 操作人
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private String operateTime;
	
	/**
	 * 已阅读人数
	 */
	@JSONField(ordinal = 10)
	private String noticeReadNum;
	
	/**
	 * 发布人姓名
	 */
	@JSONField(ordinal = 7)
	private String publishUserName;
	
	/**
	 * 通告类型名称
	 */
	@JSONField(ordinal = 4)
	private String noticeTypeName;
	
	/**
	 * 通告级别名称
	 */
	@JSONField(ordinal = 3)
	private String noticeLevelName;
	
	/**
	 * 通告群体名称
	 */
	@JSONField(ordinal = 2)
	private String noticeColonyName;
	
	/**
	 * 通告状态名称
	 */
	@JSONField(ordinal = 5)
	private String noticeStatusName;
	
	/**
	 * 当前登陆人用户ID
	 */
	private String userId;
	
	/**
	 * 是否已读
	 */
	private String isReadFlag;
	
	/**
	 * 是否已读名称
	 */
	private String isReadFlagName;
	
	/**
	 * 标题名字
	 */
	@JSONField(serialize = false)
	private String titleName;

}

实现类:

// Object转换为HashMap用法,并且为了有序性使用LinkedHashMap,按照@JSONField(ordinal = 1)排序
		LinkedHashMap<String, String> linkMap = JSON.parseObject(JSON.toJSONString(input.getParam()),
				LinkedHashMap.class, 1, Feature.OrderedField);

  注意:

@JSONField(serialize = false)表示在序列化之后将不会有这个属性存在


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM