diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java index b1165ab..3e58783 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java @@ -788,59 +788,95 @@ public class AppletIndexServiceImpl implements AppletIndexService { //如果订单存在则修改订单状态 if (commonOrder!=null){ if(commonOrder.getState()==0){ - //修改订单状态 - if(commonOrder.getShopState()==0){ - commonOrder.setState(1); - commonOrderService.updateById(commonOrder); - } + //1.根据订单中的商品标识查询商品信息 + CommonShop shopIng = commonShopService.lambdaQuery() + .eq(CommonShop::getId,commonOrder.getShopId()) + .one(); - if(commonOrder.getShopState()==1){ - commonOrder.setState(1); - commonOrderService.updateById(commonOrder); - } - //查询购买订单的用户信息 + //初始化直接推荐返点金额 + BigDecimal directGivePrice = BigDecimal.ZERO; + //初始化间接推荐返点金额 + BigDecimal indirectGivePrice = BigDecimal.ZERO; + + + //得到直接推荐 + //2.根据订单查询用户信息 HanHaiMember hanHaiMember = hanHaiMemberService.getById(commonOrder.getUserId()); - boolean flag = false; - //如果这个订单是普通订单 - if (commonOrder.getShopState()==2){ - //获得这个订单的总价 - BigDecimal price = commonOrder.getPrice(); - - - //根据配置查询比例 - CommonConfig config = commonConfigService.lambdaQuery() - .eq(CommonConfig::getKeyName,"vip_money") - .one(); - - //如果总价超过1000元则修改用户为会员 - if (price.compareTo(new BigDecimal(config.getKeyContent())) > -1){ - - //查看这个用户是否有邀请者,如果有则进入返点 - //邀请者不能是会员 - if (hanHaiMember.getIsPay()==0){ - if (StringUtils.isNotBlank(hanHaiMember.getShareId())){ - //查询邀请者信息 //修改订单状态在方法内 - flag = this.getMoneyToUser(commonOrder.getId(), flag); - } - } - - //设置成为会员 - hanHaiMember.setIsPay(1); + //3.查询用户是否存在直接邀请人 + HanHaiMember shareMember = hanHaiMemberService. + lambdaQuery() + .eq(HanHaiMember::getId,hanHaiMember.getShareId()) + .one(); + if(shareMember!=null){ + //得到直接邀请人用户角色 + Integer shareRole = shareMember.getRole(); + //普通角色 + if (shareRole==0){ + directGivePrice = shopIng.getGivePrice(); + }else if (shareRole==1){ //银卡 + directGivePrice = shopIng.getSilverGivePrice(); + }else if (shareRole==2){ //金卡 + directGivePrice = shopIng.getGoldGivePrice(); + }else{ + directGivePrice = shopIng.getDiamondGivePrice(); + } + //增加流水 + CommonMoneyLog moneyLog = new CommonMoneyLog(); + moneyLog.setId(IdWorker.getIdStr()); + moneyLog.setTitle("【"+hanHaiMember.getNickName()+"】购买【"+shopIng.getTitle()+"】"); + moneyLog.setMoney(directGivePrice); + moneyLog.setOldMoney(shareMember.getPrice()); + moneyLog.setType(0); + moneyLog.setState(1);//已到账 + moneyLog.setUserId(shareMember.getId()); + moneyLog.setCreateTime(new Date()); + commonMoneyLogService.save(moneyLog); + + + shareMember.setPrice(shareMember.getPrice().add(directGivePrice)); + hanHaiMemberService.updateById(shareMember); + } + + + //4.查询用户是否存在间接邀请人 + HanHaiMember shareMember2 = hanHaiMemberService. + lambdaQuery() + .eq(HanHaiMember::getId,shareMember.getVid()) + .one(); + if(shareMember2!=null){ + //得到间接邀请人用户角色 + Integer shareRole2 = shareMember2.getRole(); + if (shareRole2==0){ + indirectGivePrice = shopIng.getGivePriceTwo(); + }else if (shareRole2==1){ //银卡 + indirectGivePrice = shopIng.getSilverGivePriceTwo(); + }else if (shareRole2==2){ //金卡 + indirectGivePrice = shopIng.getGoldGivePriceTwo(); + }else{ + indirectGivePrice = shopIng.getDiamondGivePriceTwo(); } - //推荐奖励 - this.toUserPrice(commonOrder.getId(),flag); + //增加流水 + CommonMoneyLog moneyLog = new CommonMoneyLog(); + moneyLog.setId(IdWorker.getIdStr()); + moneyLog.setTitle("【"+hanHaiMember.getNickName()+"】购买【"+shopIng.getTitle()+"】"); + moneyLog.setMoney(indirectGivePrice); + moneyLog.setOldMoney(shareMember2.getPrice()); + moneyLog.setType(0); + moneyLog.setState(1); + moneyLog.setUserId(shareMember2.getId()); + moneyLog.setCreateTime(new Date()); + commonMoneyLogService.save(moneyLog); + + shareMember2.setPrice(shareMember2.getPrice().add(indirectGivePrice)); + hanHaiMemberService.updateById(shareMember2); } + //修改订单状态 commonOrder.setState(1); commonOrderService.updateById(commonOrder); - - - hanHaiMemberService.updateById(hanHaiMember); } - } - return null; }