|
|
@ -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; |
|
|
|
} |
|
|
|
|
|
|
|