|
|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; |
|
|
|
import lombok.Synchronized; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
import org.jeecg.api.bean.PageBean; |
|
|
@ -27,11 +28,13 @@ import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; |
|
|
|
import org.jeecg.modules.pay.MpWxPayService; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
@ -191,8 +194,89 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
CommonOrder commonOrder = commonOrderService.getById(outTradeNo); |
|
|
|
//如果该订单为未支付,修改订单状态 |
|
|
|
if (commonOrder.getStatus().equals("0")){ |
|
|
|
commonOrder.setTitle("微信支付订单"); |
|
|
|
commonOrder.setStatus("1"); |
|
|
|
commonOrderService.updateById(commonOrder); |
|
|
|
//查询用户信息 |
|
|
|
HanHaiMember member = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
|
|
|
|
CommonMoneyLog commonMoneyLog = new CommonMoneyLog(); |
|
|
|
commonMoneyLog.setCreateTime(new Date()); |
|
|
|
commonMoneyLog.setTitle("微信支付订单"); |
|
|
|
commonMoneyLog.setMoney(commonOrder.getPrice()); |
|
|
|
commonMoneyLog.setUserId(commonOrder.getUserId()); |
|
|
|
commonMoneyLog.setOldMoney(member.getMoney()); |
|
|
|
commonMoneyLog.setType(1); |
|
|
|
commonMoneyLog.setState(1); |
|
|
|
commonMoneyLogService.save(commonMoneyLog); |
|
|
|
|
|
|
|
//订单直推佣金 |
|
|
|
BigDecimal oneMoney = commonOrder.getOneMoney(); |
|
|
|
//订单间推佣金 |
|
|
|
BigDecimal twoMoney = commonOrder.getTwoMoney(); |
|
|
|
log.info("订单直推佣金:"+oneMoney); |
|
|
|
log.info("订单间推佣金:"+twoMoney); |
|
|
|
//返佣 |
|
|
|
HanHaiMember hanHaiMember1 = hanHaiMemberService.getById(commonOrder.getUserId()); |
|
|
|
log.info("下单用户:"+hanHaiMember1.getNickName()+"电话号码:"+hanHaiMember1.getPhone()); |
|
|
|
log.info("订单号:" + commonOrder.getId()); |
|
|
|
//上级标识 |
|
|
|
String oneId = hanHaiMember1.getShareId(); |
|
|
|
log.info("上级标识:"+oneId); |
|
|
|
//如果上级标识不为空 |
|
|
|
if(StringUtils.isNotBlank(oneId)){ |
|
|
|
HanHaiMember hanHaiMember2 = hanHaiMemberService.getById(oneId); |
|
|
|
|
|
|
|
if(hanHaiMember2 !=null) { |
|
|
|
//上级返佣 |
|
|
|
hanHaiMember2.setMoney(hanHaiMember2.getMoney().add(oneMoney)); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember2); |
|
|
|
//添加佣金记录 |
|
|
|
CommonMoneyLog moneyLog1 = new CommonMoneyLog(); |
|
|
|
moneyLog1.setId(UUID.randomUUID().toString().replace("-", "")+"1"); |
|
|
|
moneyLog1.setCreateTime(new Date()); |
|
|
|
moneyLog1.setTitle("微信支付直推佣金"); |
|
|
|
moneyLog1.setMoney(oneMoney); |
|
|
|
moneyLog1.setUserId(hanHaiMember2.getId()); |
|
|
|
moneyLog1.setOldMoney(hanHaiMember2.getMoney()); |
|
|
|
moneyLog1.setType(0); |
|
|
|
moneyLog1.setState(1); |
|
|
|
commonMoneyLogService.save(moneyLog1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//上上级标识 |
|
|
|
String twoId = hanHaiMember1.getVid(); |
|
|
|
log.info("上上级标识:"+twoId); |
|
|
|
if(StringUtils.isNotBlank(twoId)){ |
|
|
|
HanHaiMember hanHaiMember3 = hanHaiMemberService.getById(twoId); |
|
|
|
if(hanHaiMember3 !=null) { |
|
|
|
//上级返佣 |
|
|
|
hanHaiMember3.setMoney(hanHaiMember3.getMoney().add(twoMoney)); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember3); |
|
|
|
//添加佣金记录 |
|
|
|
CommonMoneyLog moneyLog2 = new CommonMoneyLog(); |
|
|
|
moneyLog2.setId(UUID.randomUUID().toString().replace("-", "")+"2"); |
|
|
|
moneyLog2.setCreateTime(new Date()); |
|
|
|
moneyLog2.setTitle("微信支付间推佣金"); |
|
|
|
moneyLog2.setMoney(twoMoney); |
|
|
|
moneyLog2.setUserId(hanHaiMember3.getId()); |
|
|
|
moneyLog2.setOldMoney(hanHaiMember3.getMoney()); |
|
|
|
moneyLog2.setType(0); |
|
|
|
moneyLog2.setState(1); |
|
|
|
commonMoneyLogService.save(moneyLog2); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
@ -202,6 +286,8 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
|
|
|
|
//商城-加入购物车之后一次下多个订单 |
|
|
|
//商城-立即购买多少商品 |
|
|
|
@Transactional |
|
|
|
@Synchronized |
|
|
|
@Override |
|
|
|
public Result<?> createSumOrder(String token,String list,String addressId,Integer payType,String orderAddId){ |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
@ -238,6 +324,10 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
if(null!=list1 && list1.size()>0){ |
|
|
|
//订单总额 |
|
|
|
BigDecimal totalPrice = new BigDecimal(0); |
|
|
|
//总直推金额 |
|
|
|
BigDecimal totalOneMoney = new BigDecimal(0); |
|
|
|
//总二级代理金额 |
|
|
|
BigDecimal totalTwoMoney = new BigDecimal(0); |
|
|
|
//订单商品数量 |
|
|
|
Integer totalNum = 0; |
|
|
|
|
|
|
@ -252,6 +342,11 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
//创建订单 |
|
|
|
BigDecimal price = commonShop.getPrice().multiply(new BigDecimal(sku.getNum())); |
|
|
|
|
|
|
|
//创建直推佣金 |
|
|
|
BigDecimal oneMoney = commonShop.getOneMoney().multiply(new BigDecimal(sku.getNum())); |
|
|
|
|
|
|
|
BigDecimal twoMoney = commonShop.getTwoMoney().multiply(new BigDecimal(sku.getNum())); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -267,6 +362,8 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
sku.setMaterial(commonShop.getMaterial()); |
|
|
|
sku.setCreateTime(new Date()); |
|
|
|
sku.setPrice(price); |
|
|
|
sku.setOneMoney(oneMoney); |
|
|
|
sku.setTwoMoney(twoMoney); |
|
|
|
|
|
|
|
sku.setImage(commonShop.getImage()); |
|
|
|
sku.setCreateTime(new Date()); |
|
|
@ -277,6 +374,11 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
totalPrice = totalPrice.add(price); |
|
|
|
|
|
|
|
totalNum = totalNum + sku.getNum(); |
|
|
|
|
|
|
|
totalOneMoney = totalOneMoney.add(oneMoney); |
|
|
|
|
|
|
|
totalTwoMoney = totalTwoMoney.add(twoMoney); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -294,6 +396,8 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
cityOrder.setName(commonAddress.getName()); |
|
|
|
cityOrder.setTitle("组合订单"); |
|
|
|
cityOrder.setPrice(totalPrice); |
|
|
|
cityOrder.setOneMoney(totalOneMoney); |
|
|
|
cityOrder.setTwoMoney(totalTwoMoney); |
|
|
|
cityOrder.setPid("0"); |
|
|
|
cityOrder.setHasChild("1"); |
|
|
|
|
|
|
@ -305,19 +409,107 @@ public class AppletOrderServiceImpl implements AppletOrderService { |
|
|
|
|
|
|
|
commonOrderService.save(cityOrder); |
|
|
|
|
|
|
|
//吊起微信支付 |
|
|
|
String s = totalPrice.multiply(new BigDecimal(100)).toString(); |
|
|
|
int i1 = Double.valueOf(s).intValue(); |
|
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
|
"购买"+ "组合订单" , |
|
|
|
"127.0.0.1", |
|
|
|
orderId, |
|
|
|
i1, |
|
|
|
orderId, |
|
|
|
hanHaiMember.getAppletOpenid(), |
|
|
|
cityOrder.toString()); |
|
|
|
|
|
|
|
return Result.OK("支付成功",appOrder); |
|
|
|
|
|
|
|
if (payType==0){ |
|
|
|
cityOrder.setTitle("余额支付订单"); |
|
|
|
cityOrder.setStatus("1"); |
|
|
|
commonOrderService.updateById(cityOrder); |
|
|
|
HanHaiMember member = hanHaiMemberService.getById(hanHaiMember.getId()); |
|
|
|
member.setMoney(member.getMoney().subtract(cityOrder.getPrice())); |
|
|
|
|
|
|
|
hanHaiMemberService.updateById(member); |
|
|
|
CommonMoneyLog commonMoneyLog = new CommonMoneyLog(); |
|
|
|
commonMoneyLog.setCreateTime(new Date()); |
|
|
|
commonMoneyLog.setTitle("余额支付订单"); |
|
|
|
commonMoneyLog.setMoney(cityOrder.getPrice()); |
|
|
|
commonMoneyLog.setUserId(hanHaiMember.getId()); |
|
|
|
commonMoneyLog.setOldMoney(member.getMoney()); |
|
|
|
commonMoneyLog.setType(1); |
|
|
|
commonMoneyLog.setState(1); |
|
|
|
commonMoneyLogService.save(commonMoneyLog); |
|
|
|
|
|
|
|
|
|
|
|
//订单直推佣金 |
|
|
|
BigDecimal oneMoney = cityOrder.getOneMoney(); |
|
|
|
//订单间推佣金 |
|
|
|
BigDecimal twoMoney = cityOrder.getTwoMoney(); |
|
|
|
log.info("订单直推佣金:"+oneMoney); |
|
|
|
log.info("订单间推佣金:"+twoMoney); |
|
|
|
//返佣 |
|
|
|
HanHaiMember hanHaiMember1 = hanHaiMemberService.getById(cityOrder.getUserId()); |
|
|
|
log.info("下单用户:"+hanHaiMember1.getNickName()+"电话号码:"+hanHaiMember1.getPhone()); |
|
|
|
log.info("订单号:" + cityOrder.getId()); |
|
|
|
//上级标识 |
|
|
|
String oneId = hanHaiMember1.getShareId(); |
|
|
|
log.info("上级标识:"+oneId); |
|
|
|
//如果上级标识不为空 |
|
|
|
if(StringUtils.isNotBlank(oneId)){ |
|
|
|
HanHaiMember hanHaiMember2 = hanHaiMemberService.getById(oneId); |
|
|
|
|
|
|
|
if(hanHaiMember2 !=null) { |
|
|
|
//上级返佣 |
|
|
|
hanHaiMember2.setMoney(hanHaiMember2.getMoney().add(oneMoney)); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember2); |
|
|
|
//添加佣金记录 |
|
|
|
CommonMoneyLog moneyLog1 = new CommonMoneyLog(); |
|
|
|
moneyLog1.setId(UUID.randomUUID().toString().replace("-", "")+"1"); |
|
|
|
moneyLog1.setCreateTime(new Date()); |
|
|
|
moneyLog1.setTitle("余额支付直推佣金"); |
|
|
|
moneyLog1.setMoney(oneMoney); |
|
|
|
moneyLog1.setUserId(hanHaiMember2.getId()); |
|
|
|
moneyLog1.setOldMoney(hanHaiMember2.getMoney()); |
|
|
|
moneyLog1.setType(0); |
|
|
|
moneyLog1.setState(1); |
|
|
|
commonMoneyLogService.save(moneyLog1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//上上级标识 |
|
|
|
String twoId = hanHaiMember1.getVid(); |
|
|
|
log.info("上上级标识:"+twoId); |
|
|
|
if(StringUtils.isNotBlank(twoId)){ |
|
|
|
HanHaiMember hanHaiMember3 = hanHaiMemberService.getById(twoId); |
|
|
|
if(hanHaiMember3 !=null) { |
|
|
|
//上级返佣 |
|
|
|
hanHaiMember3.setMoney(hanHaiMember3.getMoney().add(twoMoney)); |
|
|
|
hanHaiMemberService.updateById(hanHaiMember3); |
|
|
|
//添加佣金记录 |
|
|
|
CommonMoneyLog moneyLog2 = new CommonMoneyLog(); |
|
|
|
moneyLog2.setId(UUID.randomUUID().toString().replace("-", "")+"2"); |
|
|
|
moneyLog2.setCreateTime(new Date()); |
|
|
|
moneyLog2.setTitle("余额支付间推佣金"); |
|
|
|
moneyLog2.setMoney(twoMoney); |
|
|
|
moneyLog2.setUserId(hanHaiMember3.getId()); |
|
|
|
moneyLog2.setOldMoney(hanHaiMember3.getMoney()); |
|
|
|
moneyLog2.setType(0); |
|
|
|
moneyLog2.setState(1); |
|
|
|
commonMoneyLogService.save(moneyLog2); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
return Result.OK("余额支付成功"); |
|
|
|
|
|
|
|
}else{ |
|
|
|
//吊起微信支付 |
|
|
|
String s = totalPrice.multiply(new BigDecimal(100)).toString(); |
|
|
|
int i1 = Double.valueOf(1).intValue(); |
|
|
|
Object appOrder = mpWxPayService.createOrder( |
|
|
|
"购买"+ "组合订单" , |
|
|
|
"127.0.0.1", |
|
|
|
orderId, |
|
|
|
i1, |
|
|
|
orderId, |
|
|
|
hanHaiMember.getAppletOpenid(), |
|
|
|
cityOrder.toString()); |
|
|
|
|
|
|
|
return Result.OK("支付成功",appOrder); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|