package com.beecode.inz.message; import java.util.UUID; import org.json.JSONObject; import com.beecode.bcp.type.KObject; import com.beecode.inz.message.enumeration.MessageSourceType; import com.beecode.inz.message.enumeration.MessageType; import com.beecode.inz.message.util.MessageUtils; import com.beecode.inz.message.web.info.ReferenceInfo; import com.google.gson.JsonObject; public class MessageToUser { public MessageToUser() { this.setMsgId(UUID.randomUUID().toString()); } public MessageToUser(KObject object) { this.setMsgId(UUID.randomUUID().toString()); this.sender = new ReferenceInfo(object, MessageInfoConstants.SENDER); } public MessageToUser(ReferenceInfo sender, String content, String data, String lookName, String lookType, String partId,Boolean isToCustomer, MessageSourceType sourceType,String type,String title){ this.sender = sender; this.setMsgId(UUID.randomUUID().toString()); JsonObject json = new JsonObject(); json.addProperty(MessageInfoConstants.TITLE, title); json.addProperty(MessageInfoConstants.CONTENT, content); json.addProperty(MessageInfoConstants.DATA, data); json.addProperty(MessageInfoConstants.LOOK_NAME, lookName); json.addProperty(MessageInfoConstants.LOOK_TYPE, lookType); String jsonContent = json.toString(); this.content = jsonContent; this.partId = partId; String tenantId = MessageUtils.getTenantId(); if(tenantId == null || "".equals(tenantId)){ tenantId = "__default__tenant__"; } this.tenantId = tenantId; this.sourceType = sourceType; this.isToCustomer = isToCustomer; this.type = type; } public MessageToUser(KObject object, String content, String data, String lookName, String lookType, String partId,Boolean isToCustomer, MessageSourceType sourceType){ this.sender = new ReferenceInfo(object, MessageInfoConstants.SENDER); this.setMsgId(UUID.randomUUID().toString()); JsonObject json = new JsonObject(); json.addProperty(MessageInfoConstants.CONTENT, content); json.addProperty(MessageInfoConstants.DATA, data); json.addProperty(MessageInfoConstants.LOOK_NAME, lookName); json.addProperty(MessageInfoConstants.LOOK_TYPE, lookType); String jsonContent = json.toString(); this.content = jsonContent; this.partId = partId; String tenantId = MessageUtils.getTenantId(); if(tenantId == null || "".equals(tenantId)){ tenantId = "__default__tenant__"; // throw new JSONException("tenantId shouldn't be null"); } this.tenantId = tenantId; this.sourceType = sourceType; this.isToCustomer = isToCustomer; this.type = MessageType.REMIND.getMessageType(); } public MessageToUser(KObject object, String content, String data, String lookName, String lookType, String partId, MessageSourceType sourceType){ this.sender = new ReferenceInfo(object, MessageInfoConstants.SENDER); this.setMsgId(UUID.randomUUID().toString()); JsonObject json = new JsonObject(); json.addProperty(MessageInfoConstants.CONTENT, content); json.addProperty(MessageInfoConstants.DATA, data); json.addProperty(MessageInfoConstants.LOOK_NAME, lookName); json.addProperty(MessageInfoConstants.LOOK_TYPE, lookType); String jsonContent = json.toString(); this.content = jsonContent; this.partId = partId; String tenantId = MessageUtils.getTenantId(); if(tenantId == null || "".equals(tenantId)){ tenantId = "__default__tenant__"; // throw new JSONException("tenantId shouldn't be null"); } this.tenantId = tenantId; this.sourceType = sourceType; this.type = MessageType.REMIND.getMessageType(); } //消息id private String msgId; //消息内容 private String content; //消息类型 private String type; //創建者名稱 private ReferenceInfo sender; //来源类型 private MessageSourceType sourceType; //接收用户id private String partId; //租户id private String tenantId; //是否是到C端客户 private Boolean isToCustomer; public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getPartId() { return partId; } public void setPartId(String partId) { this.partId = partId; } public String getMsgId() { return msgId; } public void setMsgId(String msgId) { this.msgId = msgId; } public String getTenantId() { return tenantId; } public void setTenantId(String tenantId) { this.tenantId = tenantId; } public ReferenceInfo getSender() { return sender; } public void setSender(ReferenceInfo sender) { this.sender = sender; } public MessageSourceType getSourceType() { return sourceType; } public void setSourceType(MessageSourceType sourceType) { this.sourceType = sourceType; } public Boolean getIsToCustomer() { return isToCustomer; } public void setIsToCustomer(Boolean isToCustomer) { this.isToCustomer = isToCustomer; } /** * json格式序列化 */ public JSONObject toJsonString(){ JSONObject job = new JSONObject(); job.put("msgId", this.getMsgId()); job.put(MessageInfoConstants.PART_ID, this.getPartId()); job.put(MessageInfoConstants.CONTENT, this.getContent()); job.put(MessageInfoConstants.TYPE, this.getType()); job.put(MessageInfoConstants.SENDER, this.getSender() != null? this.getSender().getName() : ""); job.put(MessageInfoConstants.SOURCE_TYPE, this.getSourceType().name()); job.put(MessageInfoConstants.TENANT_ID, this.getTenantId()); job.put(MessageInfoConstants.IS_C, this.getIsToCustomer()); return job; } }