| | |
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
|
| | | import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
|
| | | import com.yeshi.fanli.service.inter.integral.IntegralGetService;
|
| | | import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService;
|
| | | import com.yeshi.fanli.service.inter.jd.JDOrderService;
|
| | | import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService;
|
| | | import com.yeshi.fanli.service.inter.lable.LabelService;
|
| | |
| | |
|
| | | @Resource
|
| | | private HongBaoOrderService hongBaoOrderService;
|
| | |
|
| | | @Resource
|
| | | private IntegralTaskRecordService integralTaskRecordService;
|
| | |
|
| | | private static boolean isInited = false;
|
| | |
|
| | |
| | | if (map != null) {
|
| | | // 是否是首单
|
| | | for (Iterator<String> its = map.keySet().iterator(); its.hasNext();) {
|
| | | String key = its.next();
|
| | | Order order = map.get(key);
|
| | | // 统计订单下的用户所获得的返利金额
|
| | | List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId(order.getOrderType(),
|
| | | order.getOrderId());
|
| | | Map<Long, BigDecimal> hongBaoMoney = new HashMap<>();
|
| | | if (list != null)
|
| | | for (CommonOrder commonOrder : list) {
|
| | | HongBaoOrder hongBaoOrder = hongBaoOrderService
|
| | | .selectDetailByCommonOrderId(commonOrder.getId());
|
| | | if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) {
|
| | | Long mainUid = hongBaoOrder.getHongBaoV2().getUserInfo().getId();
|
| | | if (hongBaoMoney.get(mainUid) == null)
|
| | | hongBaoMoney.put(mainUid, new BigDecimal(0));
|
| | | hongBaoMoney.put(mainUid,
|
| | | hongBaoMoney.get(mainUid).add(hongBaoOrder.getHongBaoV2().getMoney()));
|
| | | // 查询上级
|
| | | List<HongBaoV2> children = hongBaoV2Service
|
| | | .listChildrenById(hongBaoOrder.getHongBaoV2().getId());
|
| | | if (children != null) {
|
| | | for (HongBaoV2 hongBao : children) {
|
| | | Long uid = hongBao.getUserInfo().getId();
|
| | | if (hongBaoMoney.get(uid) == null)
|
| | | hongBaoMoney.put(uid, new BigDecimal(0));
|
| | | hongBaoMoney.put(uid, hongBaoMoney.get(uid).add(hongBao.getMoney()));
|
| | | try {
|
| | | String key = its.next();
|
| | | Order order = map.get(key);
|
| | | // 统计订单下的用户所获得的返利金额
|
| | | List<CommonOrder> list = commonOrderService
|
| | | .listBySourceTypeAndOrderId(order.getOrderType(), order.getOrderId());
|
| | | Map<Long, BigDecimal> hongBaoMoney = new HashMap<>();
|
| | | if (list != null)
|
| | | for (CommonOrder commonOrder : list) {
|
| | | HongBaoOrder hongBaoOrder = hongBaoOrderService
|
| | | .selectDetailByCommonOrderId(commonOrder.getId());
|
| | | if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) {
|
| | | Long mainUid = hongBaoOrder.getHongBaoV2().getUserInfo().getId();
|
| | | if (hongBaoMoney.get(mainUid) == null)
|
| | | hongBaoMoney.put(mainUid, new BigDecimal(0));
|
| | | hongBaoMoney.put(mainUid, hongBaoMoney.get(mainUid)
|
| | | .add(hongBaoOrder.getHongBaoV2().getMoney()));
|
| | | // 查询上级
|
| | | List<HongBaoV2> children = hongBaoV2Service
|
| | | .listChildrenById(hongBaoOrder.getHongBaoV2().getId());
|
| | | if (children != null) {
|
| | | for (HongBaoV2 hongBao : children) {
|
| | | Long uid = hongBao.getUserInfo().getId();
|
| | | if (hongBaoMoney.get(uid) == null)
|
| | | hongBaoMoney.put(uid, new BigDecimal(0));
|
| | | hongBaoMoney.put(uid,
|
| | | hongBaoMoney.get(uid).add(hongBao.getMoney()));
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | if (isFirstValidOrder(order.getOrderId(), order.getOrderType(),
|
| | | order.getUserInfo().getId())) {// 有效的首单
|
| | | if (hongBaoMoney.get(order.getUserInfo().getId()) == null || hongBaoMoney
|
| | | .get(order.getUserInfo().getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // TODO 分享奖金是0
|
| | | }
|
| | | if (isFirstValidOrder(order.getOrderId(), order.getOrderType(),
|
| | | order.getUserInfo().getId())) {// 有效的首单
|
| | | if (hongBaoMoney.get(order.getUserInfo().getId()) == null || hongBaoMoney
|
| | | .get(order.getUserInfo().getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // 分享奖金是0
|
| | | integralTaskRecordService.firstShareOrderReward(order.getUserInfo().getId(),
|
| | | null);
|
| | | }
|
| | |
|
| | | // 获取上两级数据
|
| | | UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
|
| | | if (boss != null) {// 判断上级的红包
|
| | | if (hongBaoMoney.get(boss.getId()) == null
|
| | | || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // TODO 补偿资金
|
| | | // 获取上两级数据
|
| | | UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
|
| | | if (boss != null) {// 判断上级的红包
|
| | | if (hongBaoMoney.get(boss.getId()) == null
|
| | | || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // 补偿金币
|
| | | integralTaskRecordService.firstSharerOrderRewardBoss(boss.getId(),
|
| | | order.getUserInfo().getId(), null);
|
| | | }
|
| | | }
|
| | |
|
| | | } else {// 自购订单
|
| | | UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
|
| | | if (boss != null) {// 判断上级的红包
|
| | | if (hongBaoMoney.get(boss.getId()) == null
|
| | | || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // 补偿金币1级
|
| | | integralTaskRecordService.firstRebateOrderRewardBoss(boss.getId(),
|
| | | order.getUserInfo().getId(), null);
|
| | | }
|
| | | }
|
| | |
|
| | | boss = threeSaleSerivce.getBoss(boss.getId());
|
| | | if (boss != null) {// 判断上级的红包
|
| | | if (hongBaoMoney.get(boss.getId()) == null
|
| | | || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // 补偿金币2级
|
| | | integralTaskRecordService.firstRebateOrderRewardBossSuper(boss.getId(),
|
| | | order.getUserInfo().getId(), null);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | } else {// 自购订单
|
| | | UserInfo boss = threeSaleSerivce.getBoss(order.getUserInfo().getId());
|
| | | if (boss != null) {// 判断上级的红包
|
| | | if (hongBaoMoney.get(boss.getId()) == null
|
| | | || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // TODO 补偿资金1级
|
| | | }
|
| | | }
|
| | |
|
| | | boss = threeSaleSerivce.getBoss(boss.getId());
|
| | | if (boss != null) {// 判断上级的红包
|
| | | if (hongBaoMoney.get(boss.getId()) == null
|
| | | || hongBaoMoney.get(boss.getId()).compareTo(new BigDecimal("0")) <= 0) {
|
| | | // TODO 补偿资金2级
|
| | | }
|
| | | }
|
| | | PlaceOrderCMQManager.getInstance().deleteQueueMsg(PlaceOrderCMQManager.QUEUE_INTEGRAL,
|
| | | key);
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|