package com.yeshi.fanli.util.factory.msg;
|
|
import com.google.gson.Gson;
|
import com.ks.vip.pojo.Enums.VIPEnum;
|
import com.yeshi.common.vo.ClientTextStyleVO;
|
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
|
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
|
import com.yeshi.fanli.entity.bus.user.UserInfo;
|
import com.yeshi.fanli.lijin.entity.MsgLijinVIPDetail;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.vo.msg.CommonMsgItemVO;
|
import com.yeshi.fanli.vo.msg.CommonMsgItemVOFactory;
|
import org.yeshi.utils.TimeUtil;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
public class MsgLijinVIPDetailFactory {
|
|
|
/**
|
* 会员即将到期
|
*
|
* @param uid
|
* @param outOfDateTime
|
* @param remark
|
* @return
|
*/
|
public static MsgLijinVIPDetail createVIPWillOutOfDate(Long uid, Date outOfDateTime, VIPEnum vipLevel, String remark) {
|
if (uid == null || outOfDateTime == null)
|
return null;
|
|
long time = outOfDateTime.getTime() - System.currentTimeMillis();
|
time = time < 0 ? 0L : time;
|
time = time / 1000;
|
String timeDesc = "";
|
if (time < 60) {
|
timeDesc += time + "秒";
|
} else if (time < 60 * 60) {
|
timeDesc += time / 60 + "分";
|
} else if (time < 60 * 60 * 24L) {
|
timeDesc += time / (60 * 60) + "小时";
|
} else {
|
timeDesc += time / (60 * 60 * 24) + "天";
|
}
|
|
|
// 添加内容
|
List<CommonMsgItemVO> listMsg = new ArrayList<>();
|
listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("有效期", ClientTextStyleVO.COLOR_TITLE),
|
new ClientTextStyleVO(vipLevel.getDesc() + "会员" + timeDesc, ClientTextStyleVO.COLOR_CONTENT)));
|
|
|
listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
|
new ClientTextStyleVO(StringUtil.isNullOrEmpty(remark) ? "无" : remark,
|
ClientTextStyleVO.COLOR_CONTENT)));
|
|
MsgLijinVIPDetail detail = new MsgLijinVIPDetail();
|
detail.setRemark(remark);
|
detail.setCreateTime(new Date());
|
detail.setRead(false);
|
detail.setType(MsgLijinVIPDetail.MsgTypeLijinVIPTypeEnum.vipNotify);
|
detail.setUser(new UserInfo(uid));
|
detail.setExtraInfo(new Gson().toJson(listMsg));
|
return detail;
|
}
|
|
|
/**
|
* 会员降级
|
*
|
* @param uid
|
* @param nowVIPLevel
|
* @param originVIPLevel
|
* @param remark
|
* @return
|
*/
|
public static MsgLijinVIPDetail createVIPLevelDown(Long uid, VIPEnum nowVIPLevel, VIPEnum originVIPLevel, String remark) {
|
if (uid == null || nowVIPLevel == null)
|
return null;
|
|
// 添加内容
|
List<CommonMsgItemVO> listMsg = new ArrayList<>();
|
listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("当前会员", ClientTextStyleVO.COLOR_TITLE),
|
new ClientTextStyleVO(nowVIPLevel.getDesc(), ClientTextStyleVO.COLOR_CONTENT)));
|
|
listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("备注", ClientTextStyleVO.COLOR_TITLE),
|
new ClientTextStyleVO(StringUtil.isNullOrEmpty(remark) ? "无" : remark,
|
ClientTextStyleVO.COLOR_CONTENT)));
|
|
MsgLijinVIPDetail detail = new MsgLijinVIPDetail();
|
detail.setRemark(remark);
|
detail.setCreateTime(new Date());
|
detail.setRead(false);
|
detail.setType(MsgLijinVIPDetail.MsgTypeLijinVIPTypeEnum.vipDown);
|
detail.setUser(new UserInfo(uid));
|
detail.setExtraInfo(new Gson().toJson(listMsg));
|
return detail;
|
}
|
|
}
|