package com.yeshi.fanli.util.factory.msg;
|
|
import java.math.BigDecimal;
|
import java.util.Calendar;
|
import java.util.Date;
|
|
import org.yeshi.utils.StringUtil;
|
|
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
|
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
|
import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
|
import com.yeshi.fanli.entity.bus.user.Extract;
|
import com.yeshi.fanli.entity.bus.user.ExtractWeiXinRecord;
|
import com.yeshi.fanli.entity.bus.user.UserInfo;
|
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
|
public class MsgMoneyDetailFactory {
|
|
/**
|
* 提现申请消息
|
*
|
* @param extract
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createExtractApplyMsg(Extract extract, Long uid, String beiZhu) {
|
if (extract == null || uid == null)
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setExtract(extract);
|
detail.setMoney(extract.getMoney());
|
detail.setMsgType(MsgTypeMoneyTypeEnum.extract);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
detail.setStateDesc("人工审核中");
|
return detail;
|
}
|
|
/**
|
* 提现成功消息
|
*
|
* @param extract
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createExtractSuccessMsg(Extract extract, Long uid, String beiZhu) {
|
if (extract == null || uid == null)
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setExtract(extract);
|
detail.setMoney(extract.getMoney());
|
detail.setMsgType(MsgTypeMoneyTypeEnum.extract);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
detail.setStateDesc("提现成功");
|
return detail;
|
}
|
|
/**
|
* 自动提现
|
*
|
* @param extract
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createExtractAutoMsg(ExtractWeiXinRecord extractRecord, String stateDesc, String desc,
|
String beiZhu) {
|
if (extractRecord == null)
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setUser(new UserInfo(extractRecord.getUid()));
|
detail.setRead(false);
|
detail.setMoney(extractRecord.getMoney());
|
detail.setMsgType(MsgTypeMoneyTypeEnum.extractAutoWX);
|
detail.setExtract(new Extract(extractRecord.getId()));
|
detail.setStateDesc(stateDesc);
|
detail.setDesc(desc);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
return detail;
|
}
|
|
/**
|
* 提现失败消息
|
*
|
* @param extract
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createExtractFailMsg(Extract extract, Long uid, String beiZhu) {
|
if (extract == null || uid == null)
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setExtract(extract);
|
detail.setMoney(extract.getMoney());
|
detail.setMsgType(MsgTypeMoneyTypeEnum.extract);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
detail.setStateDesc("提现失败");
|
return detail;
|
}
|
|
/**
|
* 账号验证消息
|
*
|
* @param valid
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createAlipayAccountValidMsg(AlipayAccountValidNormalHistory valid, Long uid,
|
String appName, BigDecimal money, String beiZhu) {
|
if (valid == null || uid == null || appName == null)
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setAlipayAccountValid(valid);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setStateDesc(String.format("你的支付宝将收到一笔,理由\"来自于%s的支付宝验证打款\"和对方账户\"%s支付宝验证\"的%s元转账。", appName, appName,
|
MoneyBigDecimalUtil.getWithNoZera(money)).toString());
|
detail.setMsgType(MsgTypeMoneyTypeEnum.extractValid);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
return detail;
|
}
|
|
/**
|
* 返利到账
|
*
|
* @param money
|
* @param balance
|
* @param orderId
|
* @param goodsCount
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createFailiMsg(BigDecimal money, BigDecimal balance, String orderId, int orderType,
|
int goodsCount, Long uid, String beiZhu) {
|
if (money == null || balance == null || orderId == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setGoodsCount(goodsCount);
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.fanli);
|
detail.setOrderId(orderId);
|
detail.setOrderType(orderType);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
|
return detail;
|
}
|
|
/**
|
* 返利维权
|
*
|
* @param uid
|
* @param orderId
|
* @param money
|
* @param balance
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createFailiWeiQuanMsg(Long uid, String orderId, int orderType, BigDecimal money,
|
BigDecimal balance, String beiZhu) {
|
if (money == null || orderId == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.fanliWeiQuan);
|
detail.setOrderId(orderId);
|
detail.setOrderType(orderType);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
|
return detail;
|
}
|
|
/**
|
* 邀请赚到账
|
*
|
* @param money
|
* @param balance
|
* @param orderCount
|
* @param goodsCount
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createInviteMsg(BigDecimal money, BigDecimal balance, int orderType, int orderCount,
|
int goodsCount, Long uid, String beiZhu) {
|
if (money == null || balance == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setGoodsCount(goodsCount);
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.invite);
|
detail.setOrderCount(orderCount);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
detail.setOrderType(orderType);
|
|
return detail;
|
}
|
|
/**
|
* 邀请赚维权
|
*
|
* @param uid
|
* @param orderId
|
* @param money
|
* @param balance
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createInviteWeiQuanMsg(Long uid, String orderId, int orderType, BigDecimal money,
|
BigDecimal balance, String beiZhu) {
|
if (money == null || orderId == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.inviteWeiQuan);
|
detail.setOrderId(orderId);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
detail.setOrderType(orderType);
|
|
return detail;
|
}
|
|
/**
|
* 分享赚到账
|
*
|
* @param money
|
* @param balance
|
* @param orderCount
|
* @param goodsCount
|
* @param uid
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createShareMsg(BigDecimal money, BigDecimal balance, int orderType, int orderCount,
|
int goodsCount, Long uid, String beiZhu) {
|
if (money == null || balance == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setGoodsCount(goodsCount);
|
detail.setOrderType(orderType);
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.share);
|
detail.setOrderCount(orderCount);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
|
return detail;
|
}
|
|
/**
|
* 分享赚维权
|
*
|
* @param uid
|
* @param orderId
|
* @param money
|
* @param balance
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createShareWeiQuanMsg(Long uid, String orderId, int orderType, BigDecimal money,
|
BigDecimal balance, String beiZhu) {
|
if (money == null || orderId == null || money == null || uid == null)
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.shareWeiQuan);
|
detail.setOrderId(orderId);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
detail.setOrderType(orderType);
|
return detail;
|
}
|
|
public static MsgMoneyDetail createOrderRewardMsg(Long uid, String orderId, int orderType, BigDecimal money,
|
BigDecimal balance, String beiZhu) {
|
if (money == null || orderId == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.orderReward);
|
detail.setOrderId(orderId);
|
detail.setRead(false);
|
detail.setOrderType(orderType);
|
detail.setUser(new UserInfo(uid));
|
return detail;
|
}
|
|
public static MsgMoneyDetail createSystemEqualizeMsg(Long uid, String reason, BigDecimal money, BigDecimal balance,
|
String beiZhu) {
|
if (money == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.systemEqualize);
|
detail.setOrderId(reason);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
return detail;
|
}
|
|
public static MsgMoneyDetail createElmeFanliMsg(Long uid, String orderId, BigDecimal money, BigDecimal balance,
|
String beiZhu) {
|
if (money == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.fanliElme);
|
detail.setOrderId(orderId);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
return detail;
|
}
|
|
|
|
/**
|
* 邀请订单补贴
|
*
|
* @param uid
|
* @param date
|
* @param from
|
* @param money
|
* @param balance
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createInviteOrderSubSidyMsg(Long uid, Date date, String from, BigDecimal money,
|
BigDecimal balance, String beiZhu) {
|
if (money == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.subSidy);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
Calendar calendar = Calendar.getInstance();
|
calendar.setTime(date);
|
detail.setStateDesc(String.format("%s年%s月额外补贴到账", calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH)));
|
detail.setDesc(from);
|
|
return detail;
|
}
|
|
/**
|
* 团队奖励
|
* @Title: createOrderTeamRewardMsg
|
* @Description:
|
* @param uid
|
* @param date
|
* @param from
|
* @param money
|
* @param balance
|
* @param beiZhu
|
* @return
|
* MsgMoneyDetail 返回类型
|
* @throws
|
*/
|
public static MsgMoneyDetail createOrderTeamRewardMsg(Long uid, Date date, String from, BigDecimal money,
|
BigDecimal balance, String beiZhu) {
|
if (money == null || money == null || uid == null)
|
return null;
|
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setBalance(balance);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
detail.setMoney(money);
|
detail.setMsgType(MsgTypeMoneyTypeEnum.orderTeamReward);
|
detail.setRead(false);
|
detail.setUser(new UserInfo(uid));
|
Calendar calendar = Calendar.getInstance();
|
calendar.setTime(date);
|
detail.setStateDesc(String.format("%s年%s月团队奖励到账", calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH)));
|
detail.setDesc(from);
|
|
return detail;
|
}
|
|
|
/**
|
* 红包相关信息
|
* @param uid
|
* @param type
|
* @param content
|
* @param beiZhu
|
* @return
|
*/
|
public static MsgMoneyDetail createRedPackMsg(Long uid, MsgTypeMoneyTypeEnum type, String content, String beiZhu) {
|
if (uid == null || type == null || StringUtil.isNullOrEmpty(content))
|
return null;
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setUser(new UserInfo(uid));
|
detail.setRead(false);
|
detail.setContent(content);
|
detail.setMsgType(type);
|
detail.setBeiZhu(beiZhu);
|
detail.setCreateTime(new Date());
|
return detail;
|
}
|
|
}
|