package com.izouma.nineth.domain; import com.alibaba.excel.annotation.ExcelProperty; import com.izouma.nineth.annotations.Searchable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.Entity; import javax.persistence.Table; import java.time.LocalDateTime; import java.util.Objects; @Data @AllArgsConstructor @NoArgsConstructor @Entity @Table(name = "meta_mmo_login_info") @ApiModel("元宇宙玩家登陆信息") @Builder public class MetaMMOLoginInfo extends BaseEntity { @ApiModelProperty("昵称") @ExcelProperty("昵称") @Searchable private String nickname; @ApiModelProperty("用户id") @ExcelProperty("用户id") @Searchable private Long userId; @ApiModelProperty("区域id") @ExcelProperty("区域id") @Searchable private Long regionId; @ApiModelProperty("城市id") @ExcelProperty("城市id") @Searchable private Long cityId; @ApiModelProperty("上线时间") @ExcelProperty("上线时间") private LocalDateTime onLineTime; @ApiModelProperty("离线时间") @ExcelProperty("离线时间") private LocalDateTime offLineTime; @ApiModelProperty("sessionId") @ExcelProperty("sessionId") private String sessionId; @ApiModelProperty("角色") @ExcelProperty("角色") private String role; @ExcelProperty("axisX") private Float axisX; @ExcelProperty("axisY") private Float axisY; @ExcelProperty("axisZ") private Float axisZ; @ExcelProperty("eulerX") private Float eulerX; @ExcelProperty("eulerY") private Float eulerY; @ExcelProperty("eulerZ") private Float eulerZ; @ExcelProperty("top") private int top; @ExcelProperty("hat") private int hat; @ExcelProperty("down") private int down; @ExcelProperty("shoes") private int shoes; @ExcelProperty("anim") private int anim; @ExcelProperty("emoji") private int emoji; /** * 根据玩家历史登陆信息初始化本次登陆信息 * * @param metaMMOLoginInfo 历史登陆信息 * @return 本次登陆默认信息 */ public static MetaMMOLoginInfo initMetaMMOLoginInfo(MetaMMOLoginInfo metaMMOLoginInfo) { MetaMMOLoginInfo newMetaMMOLoginInfo = new MetaMMOLoginInfo(); if (Objects.isNull(metaMMOLoginInfo)) { newMetaMMOLoginInfo.setRegionId(0L); newMetaMMOLoginInfo.setCityId(0L); newMetaMMOLoginInfo.setAxisX(0F); newMetaMMOLoginInfo.setAxisY(0F); newMetaMMOLoginInfo.setAxisZ(0F); newMetaMMOLoginInfo.setEulerX(0F); newMetaMMOLoginInfo.setEulerY(0F); newMetaMMOLoginInfo.setEulerZ(0F); newMetaMMOLoginInfo.setTop(0); newMetaMMOLoginInfo.setHat(0); newMetaMMOLoginInfo.setDown(0); newMetaMMOLoginInfo.setShoes(0); newMetaMMOLoginInfo.setAnim(0); newMetaMMOLoginInfo.setEmoji(0); return newMetaMMOLoginInfo; } newMetaMMOLoginInfo.setCityId(metaMMOLoginInfo.getCityId()); newMetaMMOLoginInfo.setRegionId(metaMMOLoginInfo.getRegionId()); newMetaMMOLoginInfo.setAxisX(metaMMOLoginInfo.getAxisX()); newMetaMMOLoginInfo.setAxisY(metaMMOLoginInfo.getAxisY()); newMetaMMOLoginInfo.setAxisZ(metaMMOLoginInfo.getAxisZ()); newMetaMMOLoginInfo.setEulerX(metaMMOLoginInfo.getEulerX()); newMetaMMOLoginInfo.setEulerY(metaMMOLoginInfo.getEulerY()); newMetaMMOLoginInfo.setEulerZ(metaMMOLoginInfo.getEulerZ()); newMetaMMOLoginInfo.setTop(metaMMOLoginInfo.getTop()); newMetaMMOLoginInfo.setHat(metaMMOLoginInfo.getHat()); newMetaMMOLoginInfo.setDown(metaMMOLoginInfo.getDown()); newMetaMMOLoginInfo.setShoes(metaMMOLoginInfo.getShoes()); newMetaMMOLoginInfo.setAnim(metaMMOLoginInfo.getAnim()); newMetaMMOLoginInfo.setEmoji(metaMMOLoginInfo.getEmoji()); newMetaMMOLoginInfo.setRole(metaMMOLoginInfo.getRole()); return newMetaMMOLoginInfo; } }