package com.yeshi.fanli.service.impl.money.msg;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dto.push.PushContentDTO;
|
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.UserInfo;
|
import com.yeshi.fanli.entity.config.push.PushMsgFactory;
|
import com.yeshi.fanli.exception.msg.MsgMoneyDetailException;
|
import com.yeshi.fanli.exception.push.PushException;
|
import com.yeshi.fanli.service.inter.money.msg.MsgMoneyDetailService;
|
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
|
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
|
import com.yeshi.fanli.service.inter.push.PushService;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.factory.msg.MsgMoneyDetailFactory;
|
|
@Service
|
public class UserMoneyMsgNotificationServiceImpl implements UserMoneyMsgNotificationService {
|
|
@Resource
|
private MsgMoneyDetailService msgMoneyDetailService;
|
@Resource
|
private PushService pushService;
|
|
@Resource
|
private MsgExtraService msgExtraService;
|
|
@Override
|
public void extractApplay(Extract extract) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createExtractMsg("人工审核中", extract.getUserInfo().getId(),
|
extract, null, null);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@Override
|
public void extractFail(Extract extract, String reason) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createExtractMsg("提现失败", extract.getUserInfo().getId(),
|
extract, reason, null);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createmoneyExtractFail(new Date(extract.getExtractTime()),
|
extract.getMoney(), extract.getAccount());
|
try {
|
pushService.pushZNX(extract.getUserInfo().getId(), dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void extractSuccess(Extract extract, String alipayNo) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createExtractMsg("提现成功", extract.getUserInfo().getId(),
|
extract, null, alipayNo);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
PushContentDTO dto = PushMsgFactory.createMoneyExtractSuccess(new Date(extract.getExtractTime()),
|
extract.getMoney(), extract.getAccount());
|
try {
|
pushService.pushZNX(extract.getUserInfo().getId(), dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void alipayAccountValid(AlipayAccountValidNormalHistory history, String limitDay, boolean change) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createAlipayAccountValidMsg(history, history.getUid(),
|
Constant.alipayConfig.getAccountName(), new BigDecimal("0.1"), limitDay, change);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createAlipayAccountValid(history.getAccount(), new BigDecimal("0.1"));
|
try {
|
pushService.pushZNX(history.getUid(), dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@Override
|
public void alipayAccountValidFail(AlipayAccountValidNormalHistory history, int limitDay, boolean change) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createAlipayAccountValidFail(history, history.getUid(),
|
Constant.systemCommonConfig.getProjectChineseName(), new BigDecimal("0.1"), limitDay, change);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@Override
|
public void fanliOrderReceived(Long uid, String orderId, int orderType, int goodsCount, BigDecimal money,
|
BigDecimal balance, Date downTime) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.fanLiOrderReceivedMsg(money, balance, orderId, orderType, goodsCount,
|
uid, downTime, false);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createMoneyFanliRecieved(orderType, orderId, money);
|
try {
|
pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@Override
|
public void rewardCounponReceived(Long uid, String orderId, int orderType, int goodsCount, BigDecimal money,
|
BigDecimal balance, Date downTime) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.fanLiOrderReceivedMsg(money, balance, orderId, orderType, goodsCount,
|
uid, downTime, true);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createMoneyFanliRecieved(orderType, orderId, money);
|
try {
|
pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void fanliOrderWeiQuan(Long uid, String orderId, int orderType, BigDecimal money, BigDecimal fanliMoney,
|
int goodsCount, Date downTime) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createOrderWeiQuanMsg(uid, orderId, orderType, money, fanliMoney,
|
goodsCount, downTime, Constant.TYPE_REBATE);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
// TODO 需要传入是否部分维权
|
PushContentDTO dto = PushMsgFactory.createMoneyOrderFanLiWeiquan(orderType, orderId, false, money);
|
try {
|
pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void shareOrderReceived(Long uid, int orderType, int orderCount, int goodsCount, BigDecimal money,
|
BigDecimal balance, String orderId, Date downTime) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.shareOrderReceivedMsg(money, balance, orderType, uid);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createMoneyShareRecieved(orderType, money);
|
try {
|
pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void shareOrderWeiQuan(Long uid, String orderId, int orderType, BigDecimal money, BigDecimal fanliMoney,
|
int goodsCount, Date downTime) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createOrderWeiQuanMsg(uid, orderId, orderType, money, fanliMoney,
|
goodsCount, downTime, Constant.TYPE_SHAER);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createMoneyOrderShareOrInviteWeiquan(orderType, orderId, false, money);
|
try {
|
pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (PushException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@Override
|
public void systemEqualize(Long uid, String reason, BigDecimal money, BigDecimal balance) {
|
// MsgMoneyDetail detail = MsgMoneyDetailFactory.createSystemEqualizeMsg(uid, reason, money, balance, null);
|
// try {
|
// msgMoneyDetailService.addMsgMoneyDetail(detail);
|
// } catch (MsgMoneyDetailException e) {
|
// e.printStackTrace();
|
// }
|
//
|
// PushContentDTO dto = PushMsgFactory.createMoneySystemCompensate(reason, money);
|
// try {
|
// pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
|
// } catch (NumberFormatException e) {
|
// e.printStackTrace();
|
// } catch (PushException e) {
|
// e.printStackTrace();
|
// }
|
}
|
|
|
@Override
|
public void redPackMsg(Long uid, MsgTypeMoneyTypeEnum type, String content, String beiZhu) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createRedPackMsg(uid, type, content, beiZhu);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void teamRedPackRewardMsg(Long uid, MsgTypeMoneyTypeEnum type, BigDecimal money, String stateDesc,
|
String content) {
|
MsgMoneyDetail detail = new MsgMoneyDetail();
|
detail.setRead(false);
|
detail.setMoney(money);
|
detail.setMsgType(type);
|
detail.setContent(content);
|
detail.setStateDesc(stateDesc);
|
detail.setUser(new UserInfo(uid));
|
detail.setBeiZhu("系统已下发到“我的-红包”中");
|
detail.setCreateTime(new Date());
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
@Override
|
public void teamReceive(Long uid, BigDecimal money, BigDecimal balance, Date receivedDate) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createTeamReceivedMsg(uid, money, balance, receivedDate);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
}
|