| | |
| | | if (hasAdd) {
|
| | | Iterator<Integer> its = notificationMap.keySet().iterator();
|
| | | while (its.hasNext()) {
|
| | |
|
| | | Integer t = its.next();
|
| | | HongBaoV2 notify = notificationMap.get(t).getHongBaoV2();
|
| | | CommonOrder commonOrder = notificationMap.get(t).getCommonOrder();
|
| | |
| | | MsgOrderDetail.STATE_FK, null, money);
|
| | | userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, commonOrder.getPayment(),
|
| | | money, goodsCount, state);
|
| | | break;
|
| | |
|
| | | case HongBaoV2.TYPE_SHARE_YIJI:
|
| | | userOrderMsgNotificationService.orderShareFirstLevelStatistic(uid, orderId,
|
| | | commonOrder.getPayment(), money, goodsCount, state, notify.getBeizhu());
|
| | | break;
|
| | | }
|
| | | }
|
| | |
| | | userOrderMsgNotificationService.orderInviteStateChanged(uid, orderId, commonOrder.getPayment(),
|
| | | money, state);
|
| | | break;
|
| | | case HongBaoV2.TYPE_SHARE_YIJI:
|
| | | userOrderMsgNotificationService.orderShareFirstLevelStateChanged(uid, orderId,
|
| | | commonOrder.getPayment(), money, state);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | // 获取子红包
|
| | | List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(hongBao.getId());
|
| | | if (children != null&&children.size()>0)
|
| | | if (children != null && children.size() > 0)
|
| | | for (HongBaoV2 child : children) {
|
| | | HongBaoV2 childUpdate = new HongBaoV2(child.getId());
|
| | | childUpdate.setState(hongBao.getState());
|
| | |
| | | else {// 修复之前二级,三级订单未统计到的情况
|
| | | if (!mianDan) {
|
| | | ThreeSale threeSale = threeSaleSerivce.selectByWorkerId(commonOrder.getUserInfo().getId());
|
| | | if (threeSale.getSucceedTime() != null
|
| | | if (threeSale != null && threeSale.getSucceedTime() != null
|
| | | && threeSale.getSucceedTime() <= commonOrder.getThirdCreateTime().getTime()) {
|
| | | UserInfo boss = threeSaleSerivce.getBoss(commonOrder.getUserInfo().getId());
|
| | | // 插入一级子红包
|
| | |
| | | childUpdate.setUpdateTime(new Date());
|
| | | BigDecimal rate = null;
|
| | | if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 一级分享赚
|
| | | rate = hongBaoManageService.getFirstShareRate(child.getUrank(),
|
| | | commonOrder.getCreateTime().getTime());
|
| | | rate = hongBaoManageService.getFirstShareRate(1, commonOrder.getCreateTime().getTime());
|
| | | } else if (child.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 二级分享赚
|
| | | rate = hongBaoManageService.getSecondShareRate(child.getUrank(),
|
| | | commonOrder.getCreateTime().getTime());
|
| | | rate = hongBaoManageService.getSecondShareRate(1, commonOrder.getCreateTime().getTime());
|
| | | }
|
| | |
|
| | | // 以实际收入为准计算预估收益
|
| | | if (CommonOrder.STATE_JS == commonOrder.getState()) {
|
| | | childUpdate.setMoney(
|
| | | MoneyBigDecimalUtil.mul(hongBao.getMoney(), rate.divide(new BigDecimal(100))));
|
| | | if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-16",
|
| | | "yyyy-MM-dd"))
|
| | | childUpdate.setMoney(MoneyBigDecimalUtil.mul(commonOrder.geteIncome(),
|
| | | rate.divide(new BigDecimal(100))));
|
| | |
|
| | | Calendar calendar = Calendar.getInstance();
|
| | | calendar.setTime(commonOrder.getSettleTime());
|
| | | calendar.add(Calendar.MONTH, 1);
|
| | |
| | | calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25",
|
| | | "yyyy-M-dd")));
|
| | | } else if (CommonOrder.STATE_FK == commonOrder.getState()) {
|
| | | if (commonOrder.getOrderNo().equalsIgnoreCase("314134177659155087"))
|
| | | System.out.println("");
|
| | |
|
| | | childUpdate.setMoney(
|
| | | MoneyBigDecimalUtil.mul(hongBao.getMoney(), rate.divide(new BigDecimal(100))));
|
| | | if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-16",
|
| | | "yyyy-MM-dd"))
|
| | | childUpdate.setMoney(MoneyBigDecimalUtil.mul(commonOrder.getEstimate(),
|
| | | rate.divide(new BigDecimal(100))));
|
| | | else
|
| | | childUpdate.setMoney(
|
| | | MoneyBigDecimalUtil.mul(hongBao.getMoney(), rate.divide(new BigDecimal(100))));
|
| | | }
|
| | | hongBaoV2Mapper.updateByPrimaryKeySelective(childUpdate);
|
| | | // 添加通知
|
| | | if (notificationMap.get(child.getType()) == null) {
|
| | | HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
|
| | | tempHongBao.setUserInfo(child.getUserInfo());
|
| | | tempHongBao.setMoney(childUpdate.getMoney());
|
| | | CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
|
| | | tempCommonOrder.setPayment(commonOrder.getPayment());
|
| | | notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
|
| | | } else {
|
| | | // 增加付款金额与资金
|
| | | HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
|
| | | tempHongBaoOrder.getCommonOrder().setPayment(
|
| | | tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
|
| | | tempHongBaoOrder.getHongBaoV2()
|
| | | .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(childUpdate.getMoney()));
|
| | | notificationMap.put(child.getType(), tempHongBaoOrder);
|
| | | }
|
| | | |
| | | |
| | | }
|
| | | } else
|
| | | throw new HongBaoException(2, "type错误");
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | HongBaoV2 hongBao = new HongBaoV2();
|
| | |
| | | tempHongBaoOrder.getHongBaoV2()
|
| | | .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
|
| | | notificationMap.put(type, tempHongBaoOrder);
|
| | | }
|
| | |
|
| | | // 4月17日后才有一级分享赚
|
| | | if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-17", "yyyy-MM-dd")) {
|
| | | UserInfo boss = threeSaleSerivce.getBoss(hongBao.getUserInfo().getId());
|
| | | if (boss != null) {
|
| | | BigDecimal firstLevelRate = hongBaoManageService.getFirstShareRate(1,
|
| | | commonOrder.getThirdCreateTime().getTime());
|
| | | HongBaoV2 child = new HongBaoV2();
|
| | | child.setParent(hongBao);
|
| | | child.setType(HongBaoV2.TYPE_SHARE_YIJI);
|
| | | if (commonOrder.getState() == CommonOrder.STATE_FK) {
|
| | | child.setState(HongBaoV2.STATE_BUKELINGQU);
|
| | | child.setMoney(MoneyBigDecimalUtil.mul(commonOrder.getEstimate(),
|
| | | firstLevelRate.divide(new BigDecimal(100))));
|
| | | } else if (commonOrder.getState() == CommonOrder.STATE_JS) {
|
| | | child.setState(HongBaoV2.STATE_KELINGQU);
|
| | | child.setMoney(MoneyBigDecimalUtil.mul(commonOrder.geteIncome(),
|
| | | firstLevelRate.divide(new BigDecimal(100))));
|
| | | Calendar calendar = Calendar.getInstance();
|
| | | calendar.setTime(commonOrder.getSettleTime());
|
| | | calendar.add(Calendar.MONTH, 1);
|
| | | child.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
|
| | | calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25",
|
| | | "yyyy-M-dd")));
|
| | | }
|
| | | child.setUserInfo(boss);
|
| | | child.setUrank(boss.getRank());
|
| | | child.setVersion(2);
|
| | | child.setCreateTime(new Date());
|
| | | hongBaoV2Mapper.insertSelective(child);
|
| | | // 添加通知
|
| | | if (notificationMap.get(HongBaoV2.TYPE_SHARE_YIJI) == null) {
|
| | | HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
|
| | | tempHongBao.setUserInfo(child.getUserInfo());
|
| | | tempHongBao.setMoney(child.getMoney());
|
| | | tempHongBao.setBeizhu(hongBao.getUserInfo().getNickName());
|
| | | CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
|
| | | tempCommonOrder.setPayment(commonOrder.getPayment());
|
| | | notificationMap.put(HongBaoV2.TYPE_SHARE_YIJI, new HongBaoOrder(tempCommonOrder, tempHongBao));
|
| | | } else {
|
| | | // 增加付款金额与资金
|
| | | HongBaoOrder tempHongBaoOrder = notificationMap.get(HongBaoV2.TYPE_SHARE_YIJI);
|
| | | tempHongBaoOrder.getCommonOrder().setPayment(
|
| | | tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
|
| | | tempHongBaoOrder.getHongBaoV2()
|
| | | .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(child.getMoney()));
|
| | | notificationMap.put(HongBaoV2.TYPE_SHARE_YIJI, tempHongBaoOrder);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | // 修改统计数据
|
| | |
| | | else
|
| | | return money;
|
| | | }
|
| | | |
| | | @Override
|
| | | public List<HongBaoV2> listChildrenById(Long id){
|
| | | return hongBaoV2Mapper.listChildrenById(id);
|
| | | }
|
| | | }
|