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