| | |
| | | accountChangeDetail.setChangeType(7); |
| | | accountChangeDetail.setOrderId(order.getId()); |
| | | accountChangeDetail.setExplain("优惠券收入"); |
| | | driver.setCouponBalance(driver.getCouponBalance() + coupon.getCouponPreferentialAmount()); |
| | | driver.setCommission(driver.getCommission() + coupon.getCouponPreferentialAmount()); |
| | | accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); |
| | | driverService.updateById(driver); |
| | | accountChangeDetailService.insert(accountChangeDetail); |
| | |
| | | payMoney = payMoney - coupon.getCouponPreferentialAmount(); |
| | | order.setCouponId(coupon.getId()); |
| | | order.setDiscountedPrice(coupon.getCouponPreferentialAmount()); |
| | | |
| | | Driver driver = driverService.selectById(order.getDriverId()); |
| | | AccountChangeDetail accountChangeDetail = new AccountChangeDetail(); |
| | | accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); |
| | | accountChangeDetail.setUserType(2); |
| | | accountChangeDetail.setUserId(order.getDriverId()); |
| | | accountChangeDetail.setCreateTime(new Date()); |
| | | accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); |
| | | accountChangeDetail.setType(1); |
| | | accountChangeDetail.setChangeType(7); |
| | | accountChangeDetail.setOrderId(order.getId()); |
| | | accountChangeDetail.setExplain("优惠券收入"); |
| | | driver.setCommission(driver.getCommission() + coupon.getCouponPreferentialAmount()); |
| | | accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); |
| | | driverService.updateById(driver); |
| | | accountChangeDetailService.insert(accountChangeDetail); |
| | | } |
| | | } |
| | | order.setPayType(1); |
| | | order.setPayMoney(payMoney); |
| | | order.setBalancePayment(payMoney > appUser.getAccountBalance() ? appUser.getAccountBalance() : payMoney); |
| | | |
| | | payMoney = payMoney > appUser.getAccountBalance() ? payMoney - appUser.getAccountBalance() : 0D; |
| | | |
| | |
| | | paymentOrder.setPayType("WX_MINI"); |
| | | paymentOrder.setTransferType("0"); |
| | | paymentOrder.setAsynSplitFlag("1"); |
| | | paymentOrder.setAppid(""); |
| | | paymentOrder.setAppid(appletsAppid); |
| | | paymentOrder.setOpenid(appUser.getOpenid()); |
| | | paymentOrder.setTerminalIp(InetAddress.getLocalHost().getHostAddress()); |
| | | List<PaymentOrderGood> goodsDetail = new ArrayList<>(); |
| | |
| | | paymentOrder.setFrontUrl(callbackPath + "/base/order/orderPayCallback"); |
| | | paymentOrder.setNotifyUrl(callbackPath + "/base/order/orderPayCallback"); |
| | | paymentOrder.setParameter1(order.getId().toString()); |
| | | paymentOrder.setParameter2(payMoney.toString()); |
| | | paymentOrder.setParameter2(accountChangeDetail.getId().toString()); |
| | | |
| | | TrhRequest<PaymentOrder> request = new TrhRequest(); |
| | | InterfaceResponse execute = request.execute(paymentOrder, PaymentOrder.SERVICE_CODE); |
| | |
| | | Double m = accountChangeDetail.getOldData() - accountChangeDetail.getNewData(); |
| | | AppUser appUser1 = appUserService.selectById(order1.getUserId()); |
| | | appUser1.setAccountBalance(appUser1.getAccountBalance() + m); |
| | | appUserService.updateById(appUser1) |
| | | appUserService.updateById(appUser1); |
| | | accountChangeDetailService.deleteById(accountChangeDetail.getId()); |
| | | break; |
| | | } |
| | |
| | | } |
| | | }).start(); |
| | | } |
| | | |
| | | |
| | | |
| | | return ResultUtil.success(payCode); |
| | | }else{ |
| | | order.setPayType(2); |
| | | order.setPayMoney(payMoney); |
| | | order.setPayTime(new Date()); |
| | | order.setState(108); |
| | | this.updateById(order); |
| | | |
| | | |
| | | //处理佣金和收入记录 |
| | | saveCommission(order); |
| | | } |
| | | // order.setPayTime(new Date()); |
| | | // this.updateById(order); |
| | | |
| | | |
| | | return ResultUtil.success(); |
| | | |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num1_ -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver1.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num1_ -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num5_ -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver1.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num5_ -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num6_ -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver2.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num6_ -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num7_ -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver3.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num7_ -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num3_1 -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver1.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num3_1 -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num4_1 -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver2.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num4_1 -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num2_1 -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver1.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num2_1 -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | num3_1 -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), agent.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | num3_1 -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); |
| | | accountChangeDetail.setExplain("订单收入"); |
| | | accountChangeDetail.setCreateTime(new Date()); |
| | | driver.setCommission(driver.getCommission() + payMoney + order.getDiscountedPrice() + order.getDiscountAmount()); |
| | | if(null != order.getCouponId()){ |
| | | driver.setCouponBalance(driver.getCouponBalance() + order.getDiscountedPrice()); |
| | | driver.setCommission(driver.getCommission() + order.getDiscountedPrice()); |
| | | //补贴中分账 |
| | | Double discountedPrice = order.getDiscountedPrice(); |
| | | List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 4).eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | discountedPrice -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | discountedPrice -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | |
| | | } |
| | | if(null != order.getDiscountAmount() && 0 < order.getDiscountAmount()){ |
| | | driver.setCouponBalance(driver.getCouponBalance() + order.getDiscountAmount()); |
| | | accountChangeDetail = new AccountChangeDetail(); |
| | | accountChangeDetail.setCode(System.currentTimeMillis() + UUIDUtil.getNumberRandom(3)); |
| | | accountChangeDetail.setUserType(2); |
| | | accountChangeDetail.setUserId(order.getDriverId()); |
| | | accountChangeDetail.setCreateTime(new Date()); |
| | | accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); |
| | | accountChangeDetail.setType(1); |
| | | accountChangeDetail.setChangeType(7); |
| | | accountChangeDetail.setOrderId(order.getId()); |
| | | accountChangeDetail.setExplain("折扣优惠收入"); |
| | | driver.setCommission(driver.getCommission() + order.getDiscountAmount()); |
| | | accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); |
| | | driverService.updateById(driver); |
| | | accountChangeDetailService.insert(accountChangeDetail); |
| | | //补贴中分账 |
| | | Double discountedPrice = order.getDiscountAmount(); |
| | | List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 4).eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | discountedPrice -= surplusDividedAmount; |
| | | ResultUtil zhaunzhang = zhaunzhang(rechargeRecord.getId(), rechargeRecord.getOrderNumber(), driver.getMerchantNumber(), surplusDividedAmount, callbackPath + "/base/order/zhaunzhangCallback"); |
| | | if(10000 == zhaunzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | discountedPrice -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | payMoney -= surplusDividedAmount; |
| | | ResultUtil fengzhang = fengzhang(1, driver.getId(), driver.getMerchantNumber(), order.getId().longValue(), order.getOrderNo(), surplusDividedAmount, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | payMoney -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | break; |
| | | }else{ |
| | | payMoney -= surplusDividedAmount; |
| | | ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), order.getOrderNo(), surplusDividedAmount, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | payMoney -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | |
| | | } |
| | | |
| | | if(order.getPayType() == 4){//微信+余额(使用用户的充值数据分账) |
| | | List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 1).eq("userId", order.getUserId()) |
| | | .eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); |
| | | for (RechargeRecord rechargeRecord : rechargeRecords) { |
| | | Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount(); |
| | | if(surplusDividedAmount.compareTo(payMoney) >= 0){ |
| | | //分账司机收入 |
| | | ResultUtil fengzhang = fengzhang(1, driver.getId(), driver.getMerchantNumber(), order.getId().longValue(), order.getOrderNo(), payMoney, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(rechargeRecord.getSurplusDividedAmount() - payMoney); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | } |
| | | break; |
| | | }else{ |
| | | payMoney -= surplusDividedAmount; |
| | | ResultUtil fengzhang = fengzhang(1, driver.getId(), driver.getMerchantNumber(), order.getId().longValue(), order.getOrderNo(), surplusDividedAmount, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | }else{ |
| | | break; |
| | | } |
| | | Double xj = order.getPayMoney() - order.getBalancePayment(); |
| | | if(xj > 0){ |
| | | //分账司机收入 |
| | | fengzhang(1, driver.getId(), driver.getMerchantNumber(), order.getId().longValue(), order.getOrderNo(), payMoney, 1); |
| | | |
| | | if(payMoney.compareTo(order.getPayMoney()) < 0){//司机获取部分需将剩余的分给平台 |
| | | Double money = order.getPayMoney() - payMoney + order.getDiscountedPrice(); |
| | | fengzhang(3, null, "553021440975", order.getId().longValue(), order.getOrderNo(), money, 1); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | if(payMoney.compareTo(order.getPayMoney()) < 0){//司机获取部分需将剩余的分给平台 |
| | | Double money = order.getPayMoney() - payMoney; |
| | | |
| | | List<RechargeRecord> rechargeRecords1 = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 1).eq("userId", order.getUserId()) |
| | | }else{ |
| | | Double balancePayment = order.getBalancePayment(); |
| | | List<RechargeRecord> rechargeRecords = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 1).eq("userId", order.getUserId()) |
| | | .eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); |
| | | for (RechargeRecord rechargeRecord : rechargeRecords1) { |
| | | for (RechargeRecord rechargeRecord : rechargeRecords) { |
| | | Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount(); |
| | | if(surplusDividedAmount.compareTo(money) >= 0){ |
| | | if(surplusDividedAmount.compareTo(balancePayment) >= 0){ |
| | | //分账司机收入 |
| | | ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), order.getOrderNo(), money, 1); |
| | | ResultUtil fengzhang = fengzhang(1, driver.getId(), driver.getMerchantNumber(), order.getId().longValue(), order.getOrderNo(), balancePayment, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(rechargeRecord.getSurplusDividedAmount() - money); |
| | | rechargeRecord.setSurplusDividedAmount(rechargeRecord.getSurplusDividedAmount() - balancePayment); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | } |
| | | break; |
| | | }else{ |
| | | payMoney -= surplusDividedAmount; |
| | | ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), order.getOrderNo(), surplusDividedAmount, 1); |
| | | ResultUtil fengzhang = fengzhang(1, driver.getId(), driver.getMerchantNumber(), order.getId().longValue(), order.getOrderNo(), surplusDividedAmount, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | balancePayment -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(payMoney.compareTo(order.getPayMoney()) < 0){//司机获取部分需将剩余的分给平台 |
| | | Double money = order.getPayMoney() - payMoney; |
| | | |
| | | List<RechargeRecord> rechargeRecords1 = rechargeRecordService.selectList(new EntityWrapper<RechargeRecord>().eq("type", 1).eq("userId", order.getUserId()) |
| | | .eq("payStatus", 2).gt("surplusDividedAmount", 0).orderBy("createTime")); |
| | | for (RechargeRecord rechargeRecord : rechargeRecords1) { |
| | | Double surplusDividedAmount = rechargeRecord.getSurplusDividedAmount(); |
| | | if(surplusDividedAmount.compareTo(money) >= 0){ |
| | | //分账司机收入 |
| | | ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), order.getOrderNo(), money, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(rechargeRecord.getSurplusDividedAmount() - money); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | } |
| | | break; |
| | | }else{ |
| | | ResultUtil fengzhang = fengzhang(3, null, "553021440975", order.getId().longValue(), order.getOrderNo(), surplusDividedAmount, 1); |
| | | if(10000 == fengzhang.getCode()){ |
| | | rechargeRecord.setSurplusDividedAmount(0D); |
| | | rechargeRecordService.updateById(rechargeRecord); |
| | | payMoney -= surplusDividedAmount; |
| | | }else{ |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |