package com.yeshi.fanli.service.impl.user; import java.math.BigDecimal; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.yeshi.fanli.controller.client.UserInfoController; import com.yeshi.fanli.dao.mybatis.AccountMessageMapper; import com.yeshi.fanli.entity.bus.user.AccountMessage; import com.yeshi.fanli.entity.bus.user.BindingAccount; import com.yeshi.fanli.entity.bus.user.Extract; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.exception.PushException; import com.yeshi.fanli.service.inter.push.PushService; import com.yeshi.fanli.service.inter.user.SMSService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserNotificationService; import com.yeshi.fanli.util.Constant; @Service public class UserNotificationServiceImpl implements UserNotificationService { @Resource private AccountMessageMapper accountMessageMapper; @Resource private PushService pushService; @Resource private SMSService smsService; @Resource private UserInfoService userInfoService; @Override public void newerHongBao(Long uid, BigDecimal money) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getNewerHongbaoTitle(), Constant.znxConfig.getNewerHongbaoMsg().replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void orderFanliRecieved(Long uid, String orderId, int goodsCount, BigDecimal balance, BigDecimal money) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getOrderFanliRecieveTitle(), Constant.znxConfig .getOrderFanliRecieveMsg().replace("[订单号]", orderId).replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void tiChengRecieved(Long uid, BigDecimal money) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getShareMoneyRecieveTitle(), Constant.znxConfig.getShareMoneyRecieveMsg().replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void orderFanliStatisticed(Long uid, String orderId, int goodsCount, int orderState, BigDecimal payMoney, BigDecimal money) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getFanliOrderStatisticedTitle(), Constant.znxConfig.getFanliOrderStatisticedMsg().replace("[订单号]", orderId)); } catch (PushException e) { e.printStackTrace(); } } @Override public void tiChengStatisticed(Long uid, String orderId, BigDecimal money) { if (Constant.IS_TEST) return; orderId = orderId.substring(0, orderId.length() - 6) + "******"; try { pushService.pushZNX(uid, Constant.znxConfig.getTichengOrderStatisticedTitle(), Constant.znxConfig .getTichengOrderStatisticedMsg().replace("[订单号]", orderId).replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void weiQuanFanli(Long uid, String orderId, BigDecimal money) { if (Constant.IS_TEST) return; // 只发送站内信 AccountMessage am = new AccountMessage(); am.setContent(Constant.znxConfig.getWeiquanDrawbackFanliMsg().replace("[订单号]", orderId).replace("[金额]", money.toString())); am.setCreateTime(System.currentTimeMillis()); am.setIsOpen(false); am.setTitle(Constant.znxConfig.getWeiquanDrawbackFanliTitle()); am.setUserInfo(new UserInfo(uid)); accountMessageMapper.insertSelective(am); } @Override public void weiQuanTiCheng(Long uid, String orderId, BigDecimal money) { if (Constant.IS_TEST) return; orderId = orderId.substring(0, orderId.length() - 6) + "******"; AccountMessage am = new AccountMessage(); am.setContent(Constant.znxConfig.getWeiquanDrawbackShareMsg().replace("[订单号]", orderId).replace("[金额]", money.toString())); am.setCreateTime(System.currentTimeMillis()); am.setIsOpen(false); am.setTitle(Constant.znxConfig.getWeiquanDrawbackShareTitle()); am.setUserInfo(new UserInfo(uid)); accountMessageMapper.insertSelective(am); } @Override public void extractApply(Long uid) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getExtractApplayTitle(), Constant.znxConfig.getExtractApplayMsg()); } catch (PushException e) { e.printStackTrace(); } } @Override public void extractTransferFail(Long uid, String time) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getExtractTransferFailTitle(), Constant.znxConfig.getExtractTransferFailMsg().replace("[时间]", time)); } catch (PushException e) { e.printStackTrace(); } } @Override public void extractWrong(Long uid, Extract extract, String time) { if (Constant.IS_TEST) return; // 提现失败短信通知 // try { // UserInfo user = userInfoService.getUserById(uid); // if (extract != null && user != null && // !StringUtil.isNullOrEmpty(user.getPhone())) { // smsService.sendExtractFailMsg(user.getPhone(), extract.getMoney()); // } // } catch (Exception e) { // try { // LogHelper.errorDetailInfo(e); // } catch (Exception e1) { // e1.printStackTrace(); // } // } try { pushService.pushZNX(uid, Constant.znxConfig.getExtractWrongTitle(), Constant.znxConfig.getExtractWrongMsg().replace("[时间]", time)); } catch (PushException e) { e.printStackTrace(); } } @Override public void extractSuccess(Long uid, Extract extract, String time) { if (Constant.IS_TEST) return; // 提现成功短信通知 // try { // UserInfo user = userInfoService.getUserById(uid); // if (extract != null && user != null && // !StringUtil.isNullOrEmpty(user.getPhone())) { // smsService.sendExtractSuccessMsg(user.getPhone(), // extract.getMoney()); // } // } catch (Exception e) { // try { // LogHelper.errorDetailInfo(e); // } catch (Exception e1) { // e1.printStackTrace(); // } // } try { pushService.pushZNX(uid, Constant.znxConfig.getExtractSuccessTitle(), Constant.znxConfig.getExtractSuccessMsg().replace("[时间]", time)); } catch (PushException e) { e.printStackTrace(); } } @Override public void alipayAccountValidRight(Long uid, BigDecimal money, String account) { if (Constant.IS_TEST) return; BindingAccount ba = new BindingAccount(); ba.setAccount(account); ba.setName("**"); ba = UserInfoController.filterBindingAccount(ba); AccountMessage am = new AccountMessage(); am.setContent(Constant.znxConfig.getAlipayAccountValidMsg().replace("[账号]", ba.getAccount()).replace("[金额]", money.toString())); am.setCreateTime(System.currentTimeMillis()); am.setIsOpen(false); am.setTitle(Constant.znxConfig.getAlipayAccountValidTitle()); am.setUserInfo(new UserInfo(uid)); accountMessageMapper.insertSelective(am); } @Override public void tiChengInviteRecieved(Long uid, int orderCount, int goodsCount, BigDecimal balance, BigDecimal money) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getInviteMoneyRecieveTitle(), Constant.znxConfig.getInviteMoneyRecieveMsg().replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void tiChengShareRecieved(Long uid, int orderCount, int goodsCount, BigDecimal balance, BigDecimal money) { if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getShareMoneyRecieveTitle(), Constant.znxConfig.getShareMoneyRecieveMsg().replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void orderShareStatisticed(Long uid, String orderId, int goodsCount, int orderState, BigDecimal payMoney, BigDecimal money) { if (Constant.IS_TEST) return; orderId = orderId.substring(0, orderId.length() - 6) + "******"; try { pushService.pushZNX(uid, Constant.znxConfig.getShareOrderStatisticedTitle(), Constant.znxConfig .getShareOrderStatisticedMsg().replace("[订单号]", orderId).replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } @Override public void orderInviteStatisticed(Long uid, String orderId, int goodsCount, int orderState, BigDecimal payMoney, BigDecimal money) { if (Constant.IS_TEST) return; orderId = orderId.substring(0, orderId.length() - 6) + "******"; try { pushService.pushZNX(uid, Constant.znxConfig.getInviteOrderStatisticedTitle(), Constant.znxConfig .getInviteOrderStatisticedMsg().replace("[订单号]", orderId).replace("[金额]", money.toString())); } catch (PushException e) { e.printStackTrace(); } } }