|
@ -1030,125 +1030,132 @@ public class AppletIndexServiceImpl implements AppletIndexService { |
|
|
WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); |
|
|
WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); |
|
|
String outTradeNo = notify.getOutTradeNo(); |
|
|
String outTradeNo = notify.getOutTradeNo(); |
|
|
log.info("支付回调订单号码:"+outTradeNo); |
|
|
log.info("支付回调订单号码:"+outTradeNo); |
|
|
//查询订单信息 |
|
|
|
|
|
CommonOrder commonOrder = commonOrderService.getById(outTradeNo); |
|
|
|
|
|
//如果订单存在则修改订单状态 |
|
|
|
|
|
if (commonOrder!=null){ |
|
|
|
|
|
if(commonOrder.getState()==0){ |
|
|
|
|
|
|
|
|
|
|
|
//根据订单中的商品标识查询商品sku |
|
|
|
|
|
List<CommonOrderSku> commonShopSkuList = commonOrderSkuService |
|
|
|
|
|
.lambdaQuery() |
|
|
|
|
|
.eq(CommonOrderSku::getOrderId,outTradeNo) |
|
|
|
|
|
.list(); |
|
|
|
|
|
|
|
|
|
|
|
for (CommonOrderSku commonShopSku : commonShopSkuList){ |
|
|
|
|
|
//1.根据订单中的商品标识查询商品信息 |
|
|
|
|
|
CommonShop shopIng = commonShopService.lambdaQuery() |
|
|
|
|
|
.eq(CommonShop::getId,commonShopSku.getShopId()) |
|
|
|
|
|
.one(); |
|
|
|
|
|
|
|
|
try{ |
|
|
|
|
|
|
|
|
//初始化直接推荐返点金额 |
|
|
|
|
|
BigDecimal directGivePrice = BigDecimal.ZERO; |
|
|
|
|
|
//初始化间接推荐返点金额 |
|
|
|
|
|
BigDecimal indirectGivePrice = BigDecimal.ZERO; |
|
|
|
|
|
|
|
|
//查询订单信息 |
|
|
|
|
|
CommonOrder commonOrder = commonOrderService.getById(outTradeNo); |
|
|
|
|
|
//如果订单存在则修改订单状态 |
|
|
|
|
|
if (commonOrder!=null){ |
|
|
|
|
|
if(commonOrder.getState()==0){ |
|
|
|
|
|
|
|
|
|
|
|
//根据订单中的商品标识查询商品sku |
|
|
|
|
|
List<CommonOrderSku> commonShopSkuList = commonOrderSkuService |
|
|
|
|
|
.lambdaQuery() |
|
|
|
|
|
.eq(CommonOrderSku::getOrderId,outTradeNo) |
|
|
|
|
|
.list(); |
|
|
|
|
|
|
|
|
//得到直接推荐 |
|
|
|
|
|
//2.根据订单查询用户信息 |
|
|
|
|
|
HanHaiMember hanHaiMember = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
|
|
//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(); |
|
|
|
|
|
|
|
|
for (CommonOrderSku commonShopSku : commonShopSkuList){ |
|
|
|
|
|
//1.根据订单中的商品标识查询商品信息 |
|
|
|
|
|
CommonShop shopIng = commonShopService.lambdaQuery() |
|
|
|
|
|
.eq(CommonShop::getId,commonShopSku.getShopId()) |
|
|
|
|
|
.one(); |
|
|
|
|
|
|
|
|
|
|
|
//初始化直接推荐返点金额 |
|
|
|
|
|
BigDecimal directGivePrice = BigDecimal.ZERO; |
|
|
|
|
|
//初始化间接推荐返点金额 |
|
|
|
|
|
BigDecimal indirectGivePrice = BigDecimal.ZERO; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//得到直接推荐 |
|
|
|
|
|
//2.根据订单查询用户信息 |
|
|
|
|
|
HanHaiMember hanHaiMember = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
|
|
//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); |
|
|
} |
|
|
} |
|
|
//增加流水 |
|
|
|
|
|
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(); |
|
|
|
|
|
|
|
|
//4.查询用户是否存在间接邀请人 |
|
|
|
|
|
HanHaiMember shareMember2 = hanHaiMemberService. |
|
|
|
|
|
lambdaQuery() |
|
|
|
|
|
.eq(HanHaiMember::getId,hanHaiMember.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(); |
|
|
|
|
|
} |
|
|
|
|
|
//增加流水 |
|
|
|
|
|
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); |
|
|
} |
|
|
} |
|
|
//增加流水 |
|
|
|
|
|
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); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//根据订单用户标识查询用户信息 |
|
|
|
|
|
HanHaiMember member = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
|
|
|
|
|
//根据订单用户标识查询用户信息 |
|
|
|
|
|
HanHaiMember member = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
|
|
|
|
|
//生成用户支付流水记录 |
|
|
|
|
|
CommonMoneyLog commonMoneyLog = new CommonMoneyLog(); |
|
|
|
|
|
commonMoneyLog.setId(IdWorker.getIdStr()); |
|
|
|
|
|
commonMoneyLog.setUserId(member.getId()); |
|
|
|
|
|
commonMoneyLog.setTitle("用户微信支付"); |
|
|
|
|
|
commonMoneyLog.setMoney(commonOrder.getPrice()); |
|
|
|
|
|
commonMoneyLog.setOldMoney(member.getMoney()); |
|
|
|
|
|
commonMoneyLog.setType(1); |
|
|
|
|
|
commonMoneyLog.setState(1); |
|
|
|
|
|
commonMoneyLog.setCreateTime(new Date()); |
|
|
|
|
|
commonMoneyLogService.save(commonMoneyLog); |
|
|
|
|
|
|
|
|
//生成用户支付流水记录 |
|
|
|
|
|
CommonMoneyLog commonMoneyLog = new CommonMoneyLog(); |
|
|
|
|
|
commonMoneyLog.setId(IdWorker.getIdStr()); |
|
|
|
|
|
commonMoneyLog.setUserId(member.getId()); |
|
|
|
|
|
commonMoneyLog.setTitle("用户微信支付"); |
|
|
|
|
|
commonMoneyLog.setMoney(commonOrder.getPrice()); |
|
|
|
|
|
commonMoneyLog.setOldMoney(member.getMoney()); |
|
|
|
|
|
commonMoneyLog.setType(1); |
|
|
|
|
|
commonMoneyLog.setState(1); |
|
|
|
|
|
commonMoneyLog.setCreateTime(new Date()); |
|
|
|
|
|
commonMoneyLogService.save(commonMoneyLog); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改订单状态 |
|
|
|
|
|
commonOrder.setState(1); |
|
|
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
|
|
|
|
|
//修改订单状态 |
|
|
|
|
|
commonOrder.setState(1); |
|
|
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
}catch (Exception e){ |
|
|
|
|
|
e.printStackTrace(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|