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.user.AlipayAccountValidNormalHistory;
|
import com.yeshi.fanli.entity.bus.user.Extract;
|
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.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;
|
|
@Override
|
public void extractApplay(Extract extract) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createExtractApplyMsg(extract, extract.getUserInfo().getId(),
|
null);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void extractFail(Extract extract, String stateDesc) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createExtractFailMsg(extract, extract.getUserInfo().getId(),
|
stateDesc);
|
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) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createExtractSuccessMsg(extract, extract.getUserInfo().getId(),
|
null);
|
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) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createAlipayAccountValidMsg(history, history.getUid(),
|
Constant.systemCommonConfig.getProjectChineseName(), new BigDecimal("0.1"), null);
|
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 fanliOrderReceived(Long uid, String orderId, int orderType, int goodsCount, BigDecimal money,
|
BigDecimal balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createFailiMsg(money, balance, orderId, orderType, goodsCount,
|
uid, null);
|
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 balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createFailiWeiQuanMsg(uid, orderId, orderType, money, balance,
|
null);
|
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) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createShareMsg(money, balance, orderType, orderCount, goodsCount,
|
uid, null);
|
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 balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createShareWeiQuanMsg(uid, orderId, orderType, money, balance,
|
null);
|
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 inviteOrderReceived(Long uid, int orderType, int orderCount, int goodsCount, BigDecimal money,
|
BigDecimal balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createInviteMsg(money, balance, orderType, orderCount, goodsCount,
|
uid, null);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createMoneyInviteRecieved(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 inviteOrderWeiQuan(Long uid, String orderId, int orderType, BigDecimal money, BigDecimal balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createInviteWeiQuanMsg(uid, orderId, orderType, money, balance,
|
null);
|
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 orderReward(Long uid, String orderId, int orderType, BigDecimal money, BigDecimal balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createOrderRewardMsg(uid, orderId, orderType, money, balance,
|
null);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
|
PushContentDTO dto = PushMsgFactory.createMoneySystemReward("使用返利奖励券", 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 elmeFanli(Long uid, String orderId, BigDecimal money, BigDecimal balance) {
|
MsgMoneyDetail detail = MsgMoneyDetailFactory.createElmeFanliMsg(uid, orderId, money, balance, null);
|
try {
|
msgMoneyDetailService.addMsgMoneyDetail(detail);
|
} catch (MsgMoneyDetailException e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|