From 2bc429946b4f58740c7584af887bee7cffa87782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 3 Jul 2024 13:40:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E6=94=AF=E4=BB=98=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/app/AliPayController.java | 129 ++-- .../pay/service/impl/WxServiceImpl.java | 612 +++++++++++++++++- 2 files changed, 658 insertions(+), 83 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java index 71aa521..41a2b79 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java @@ -179,12 +179,20 @@ public class AliPayController { payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), tradeNo); if (payDetails.getType() == 1) { Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId()); - if(orders.getIsSupplement() == 2){ - orders.setStatus(6); - }else if(orders.getIsSupplement() == 3){ - orders.setStatus(2); + if(orders.getIsSupplement() != null){ + if(orders.getIsSupplement() == 2){ + orders.setStatus(6); + }else if(orders.getIsSupplement() == 3){ + orders.setStatus(2); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } }else{ - orders.setStatus(9);//用户已支付技师待接单 + if(orders.getParentId()!=null && orders.getParentId()!=0){ + orders.setStatus(6); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } } orders.setPayWay(6); orders.setPayTime(sdf.format(new Date())); @@ -220,7 +228,6 @@ public class AliPayController { orders.setConsortiaId(consortia.getConsortiaId()); orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); - } } } @@ -789,19 +796,22 @@ public class AliPayController { payDetails1.setClassify(6); payDetailsDao.updateById(payDetails1); } - if (type == 1) { - if(orders.getUserPackageDetailId() !=null ){ - return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue()); - }else{ - return payApp(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue()); - } - } else { - if(orders.getUserPackageDetailId() !=null ){ - return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue()); - }else{ - return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl); - } - } +// if (type == 1) { +// if(orders.getUserPackageDetailId() !=null ){ +// return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue()); +// }else{ +// return payApp(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue()); +// } +// } else { +// if(orders.getUserPackageDetailId() !=null ){ +// return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue()); +// }else{ +// return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl); +// } +// } + payOrderResult(orders.getOrdersNo()); + return Result.success(); + } @Login @@ -841,11 +851,13 @@ public class AliPayController { payDetails1.setType(7); payDetailsDao.updateById(payDetails1); } - if (type == 1) { - return payApp(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue()); - } else { - return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl); - } +// if (type == 1) { +// return payApp(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue()); +// } else { +// return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl); +// } + payOrderResult(orders.getOrdersNo()); + return Result.success(); } @Login @@ -870,11 +882,13 @@ public class AliPayController { payDetails.setClassify(6); payDetails.setType(2); payDetailsDao.insert(payDetails); - if (type == 1) { - return payApp(name, generalOrder, money); - } else { - return payH5(name, generalOrder, money, returnUrl); - } +// if (type == 1) { +// return payApp(name, generalOrder, money); +// } else { +// return payH5(name, generalOrder, money, returnUrl); +// } + payOrderResult(generalOrder); + return Result.success(); } @@ -942,12 +956,20 @@ public class AliPayController { payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), tradeNo); if (payDetails.getType() == 1) { Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId()); - if(orders.getIsSupplement() == 2){ - orders.setStatus(6); - }else if(orders.getIsSupplement() == 3){ - orders.setStatus(2); + if(orders.getIsSupplement() != null){ + if(orders.getIsSupplement() == 2){ + orders.setStatus(6); + }else if(orders.getIsSupplement() == 3){ + orders.setStatus(2); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } }else{ - orders.setStatus(9);//用户已支付技师待接单 + if(orders.getParentId()!=null && orders.getParentId()!=0){ + orders.setStatus(6); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } } orders.setPayWay(6); orders.setPayTime(sdf.format(new Date())); @@ -983,7 +1005,6 @@ public class AliPayController { orders.setConsortiaId(consortia.getConsortiaId()); orders.setShopUserId(consortiaUser.getUserId()); orders.setShopUserName(consortiaUser.getUserName()); - } } } @@ -995,8 +1016,8 @@ public class AliPayController { orders.setOneUserMoney(oneUserMoney); orders.setOneArtificerMoney(oneArtificerMoney); orders.setPingMoney(pingMoney); - ordersService.updateById(orders); + if(orders.getParentId()!=null && orders.getParentId()!=0){ String value1 = commonInfoService.findOne(395).getValue(); OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper().eq("orders_id", orders.getOrdersId())); @@ -1004,7 +1025,6 @@ public class AliPayController { Integer duration=massageType.getDuration(); Calendar calendar=Calendar.getInstance(); if("是".equals(value1)){ - ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getParentId()).last(" order by artificer_time_id desc limit 1 ")); String serveTime = artificerTime.getArtificerDate()+" "+artificerTime.getArtificerTime(); String value = commonInfoService.findOne(392).getValue(); @@ -1374,7 +1394,7 @@ public class AliPayController { userMoneyDetails2.setBalance(userNowMoney.getMoney()); userMoneyDetails2.setManipulateType(2); userMoneyDetails2.setClassify(8); - userMoneyDetails2.setUserId(artificerId); + userMoneyDetails2.setUserId(userEntity.getUserId()); userMoneyDetails2.setTitle("用户支付宝打赏"); userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money); userMoneyDetails2.setType(1); @@ -1447,6 +1467,9 @@ public class AliPayController { int serviceCount = upd.getServiceCount(); for(int k=0;k orders = ordersDao.selectList(Wrappers.lambdaQuery().eq(Orders::getUserId, userId).eq(Orders::getStatus, 6).orderByDesc(Orders::getCreateTime)); -// if(orders.size() > 0){ -// Long ordersId = orders.get(0).getOrdersId(); -// Long artificerId = orders.get(0).getArtificerId(); -// BigDecimal b = new BigDecimal(payClassify.getPrice().toString()); -// BigDecimal sum = b; -// UserRecharge o = new UserRecharge(); -// o.setOrdersId(ordersId.intValue()); -// o.setUserRecharge(sum); -// o.setType("2"); -// o.setUserId(userId.intValue()); -// o.setCreateTime(LocalDateTime.now().toString()); -// o.setArtificerId(artificerId.intValue()); -// userRechargeDao.insert(o); -// } - return pay(payClassify.getPrice().doubleValue(), classify, userId, generalOrder,request); +// return pay(payClassify.getPrice().doubleValue(), classify, userId, generalOrder,request); + payOrderResult(generalOrder); + return Result.success(); } @Override @@ -245,11 +230,14 @@ public class WxServiceImpl implements WxService { payDetails1.setClassify(classify); payDetailsDao.updateById(payDetails1); } - if(orders.getUserPackageDetailId() !=null ){ - return pay(orders.getTaxiMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request); - }else{ - return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request); - } +// if(orders.getUserPackageDetailId() !=null ){ +// return pay(orders.getTaxiMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request); +// }else{ +// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request); +// } + payOrderResult(orders.getOrdersNo()); + return Result.success(); + } @Override @@ -281,7 +269,9 @@ public class WxServiceImpl implements WxService { payDetails1.setType(7); payDetailsDao.updateById(payDetails1); } - return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request); +// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request); + payOrderResult(orders.getOrdersNo()); + return Result.success(); } @Override @@ -298,7 +288,9 @@ public class WxServiceImpl implements WxService { payDetails.setClassify(type); payDetails.setType(2); payDetailsDao.insert(payDetails); - return pays(money, type,userId, generalOrder,request); +// return pays(money, type,userId, generalOrder,request); + payOrderResult(generalOrder); + return Result.success(); } @Override @@ -332,7 +324,9 @@ public class WxServiceImpl implements WxService { payDetails.setClassify(type); payDetailsDao.updateById(payDetails); } - return pay(money, type, userId, generalOrder,request); +// return pay(money, type, userId, generalOrder,request); + payOrderResult(generalOrder); + return Result.success(); } @Override @@ -350,7 +344,9 @@ public class WxServiceImpl implements WxService { payDetails.setType(5); payDetails.setRemark(String.valueOf(vipDetailsId)); payDetailsDao.insert(payDetails); - return pay(money.doubleValue(), type,userId, generalOrder,request); +// return pay(money.doubleValue(), type,userId, generalOrder,request); + payOrderResult(generalOrder); + return Result.success(); } @Override @@ -371,7 +367,9 @@ public class WxServiceImpl implements WxService { payDetails.setType(6); payDetails.setRemark(String.valueOf(artificerId)); payDetailsDao.insert(payDetails); - return pay(money.doubleValue(), classify, userId, generalOrder,request); +// return pay(money.doubleValue(), classify, userId, generalOrder,request); + payOrderResult(generalOrder); + return Result.success(); } @@ -622,6 +620,546 @@ public class WxServiceImpl implements WxService { return Result.error("获取订单失败"); } + public void payOrderResult(String out_trade_no) { + try { + //验证签名是否有效,有效则进一步处理 + + log.error("验证成功222!!!"); + if (out_trade_no != null) { + // 注意特殊情况:订单已经退款,但收到了支付结果成功的通知,不应把商户的订单状态从退款改成支付成功 + // 注意特殊情况:微信服务端同样的通知可能会多次发送给商户系统,所以数据持久化之前需要检查是否已经处理过了,处理了直接返回成功标志 + //业务数据持久化 + log.error("订单号!!!" + out_trade_no); + PayDetails payDetails = payDetailsDao.selectByOrderId(out_trade_no); + if (payDetails.getState() == 0) { + payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), ""); + if(payDetails.getType()==1){ + Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId()); + if(orders.getIsSupplement() != null){ + if(orders.getIsSupplement() == 2){ + orders.setStatus(6); + }else if(orders.getIsSupplement() == 3){ + orders.setStatus(2); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } + }else{ + if(orders.getParentId()!=null && orders.getParentId()!=0){ + orders.setStatus(6); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } + } + orders.setPayWay(payDetails.getClassify()); + orders.setPayTime(sdf.format(new Date())); + + BigDecimal pingMoney=orders.getPayMoney(); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney=BigDecimal.ZERO; + if(oneUser!=null && oneUser.getIsAgency()!=null && oneUser.getIsAgency()==1){ + orders.setOneUserId(oneUser.getUserId()); + orders.setOneUserName(oneUser.getUserName()); + oneUserMoney=pingMoney.multiply(oneUser.getUserRate()); + } + + Artificer artificer = artificerService.getById(orders.getArtificerId()); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); + UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); + BigDecimal oneArtificerMoney=BigDecimal.ZERO; + if(oneArtificerUser!=null && oneArtificerUser.getIsAgency()!=null && oneArtificerUser.getIsAgency()==1){ + orders.setOneArtificerUserId(oneArtificerUser.getUserId()); + orders.setOneArtificerUserName(oneArtificerUser.getUserName()); + oneArtificerMoney=pingMoney.multiply(oneArtificerUser.getShopRate()); + } + BigDecimal shopMoney=BigDecimal.ZERO; + if(artificerUser.getConsortiaId()!=null){ + Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); + if(consortia!=null && consortia.getUserId()!=null){ + UserEntity consortiaUser = userService.getById(consortia.getUserId()); + if(consortiaUser!=null){ + shopMoney = pingMoney.multiply(consortia.getRate()); + orders.setConsortiaId(consortia.getConsortiaId()); + orders.setShopUserId(consortiaUser.getUserId()); + orders.setShopUserName(consortiaUser.getUserName()); + } + } + } + pingMoney=pingMoney.subtract(orders.getArtificerMoney()); + pingMoney=pingMoney.subtract(oneUserMoney); + pingMoney=pingMoney.subtract(oneArtificerMoney); + pingMoney=pingMoney.subtract(shopMoney); + orders.setShopMoney(shopMoney); + orders.setOneUserMoney(oneUserMoney); + orders.setOneArtificerMoney(oneArtificerMoney); + orders.setPingMoney(pingMoney); + ordersService.updateById(orders); + + if(orders.getParentId()!=null && orders.getParentId()!=0){ + String value1 = commonInfoService.findOne(395).getValue(); + OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper().eq("orders_id", orders.getOrdersId())); + MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId()); + Integer duration=massageType.getDuration(); + Calendar calendar=Calendar.getInstance(); + if("是".equals(value1)){ + ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getParentId()).last(" order by artificer_time_id desc limit 1 ")); + String serveTime = artificerTime.getArtificerDate()+" "+artificerTime.getArtificerTime(); + String value = commonInfoService.findOne(392).getValue(); + int minute = Integer.parseInt(value); + int i=1; + if(duration%minute==0){ + i=duration/minute; + }else{ + i=duration/minute; + i++; + } + + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date parse = sdf1.parse(serveTime); + + calendar.setTime(parse); + for(int j=0;j().eq("orders_id", orders1.getOrdersId())); + massageType = massageTypeService.getById(ordersMassage.getMassageId()); + duration=massageType.getDuration(); + String endTime = orders1.getEndTime(); + Date date = DateUtils.stringToDate(endTime, "yyyy-MM-dd HH:mm:ss"); + calendar=Calendar.getInstance(); + if(date.getTime()>System.currentTimeMillis()){ + calendar.setTime(date); + } + calendar.add(Calendar.MINUTE,duration); + orders1.setEndTime(endTime); + } + + ordersDao.updateById(orders1); + + }else{ + MessageInfo messageInfo=new MessageInfo(); + messageInfo.setState("16"); + messageInfo.setTitle("新订单通知"); + messageInfo.setUserId("0"); + messageInfo.setIsSee("0"); + messageService.saveBody(messageInfo); + //电话通知 add 2024-06-20 by caolei + messageService.sendNoticeByCall(artificer.getUserId()); + } + + ordersService.sendMsg(orders); + + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setMoney(orders.getPayMoney()); + userMoneyDetails.setUserId(orders.getUserId()); + userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!"); + userMoneyDetails.setTitle("支付服务包订单"); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + + }else if(payDetails.getType()==2){ + //缴纳保证金 + Double cashDeposit = payDetails.getMoney(); + Long userId = payDetails.getUserId(); + userMoneyDao.updateCashDeposit(1, userId, cashDeposit); + UserEntity userEntity = userService.selectUserById(userId); + userEntity.setIsCashDeposit(2); + userService.updateById(userEntity); + //交保证金的记录 + UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); + userMoneyDetails.setUserId(userId); + userMoneyDetails.setTitle("缴纳保证金"); + userMoneyDetails.setContent("已缴纳保证金:"+cashDeposit+"元"); +// userMoneyDetails.setType(1); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setMoney(BigDecimal.valueOf(cashDeposit)); + userMoneyDetails.setClassify(1); + userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + }else if(payDetails.getType()==3){ + + PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark())); + userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue()); + //查询用户当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId()); + //钱包明细需要做调整2条记录,充值时钱包类型增加金额,现金类型减少金额 + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + //插入余额 + userMoneyDetails.setBalance(userNowMoney.getMoney()); + userMoneyDetails.setUserId(payDetails.getUserId()); + userMoneyDetails.setTitle("支付宝充值"); + userMoneyDetails.setContent("支付宝花费:"+payClassify.getPrice()+",钱包增加余额:"+payClassify.getMoney()); + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setMoney(payClassify.getMoney()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + userMoneyDetails.setTitle("支付宝充值"); + userMoneyDetails.setContent("支付宝花费:"+payClassify.getPrice()); + userMoneyDetails.setMoney(payClassify.getPrice()); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + + List list = payClassifyDetailService.findList(payClassify.getPayClassifyId()); + if(list!=null && list.size()>0){ + for(int m=0;m().eq("id", Long.parseLong(payDetails.getRemark()))); + //查看用户是否是会员 + UserVip userVip = userVipDao.selectOne(new QueryWrapper().eq("user_id", userId)); + Calendar cal = Calendar.getInstance(); + if(userVip!=null){ + Date endDate = null; + try { + endDate = sdf.parse(userVip.getEndTime()); + if (endDate != null && System.currentTimeMillis() < (endDate.getTime())) { + cal.setTime(endDate); + } + } catch (Exception e) { + e.getMessage(); + } + }else{ + userVip=new UserVip(); + //设置会员类型 + userVip.setVipNameType(vipDetails.getVipNameType()); + //设置开通会员的用户id + userVip.setUserId(userId); + //设置会员的购买时间 + userVip.setCreateTime(sdf.format(new Date())); + } + + MessageInfo messageInfo=new MessageInfo(); + UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); + userMoneyDetails.setMoney(money); + userMoneyDetails.setUserId(userId); + + if ((vipDetails.getVipNameType().equals(0))) { + //月 + userMoneyDetails.setContent("微信开通月卡会员"); + messageInfo.setContent("微信开通月卡会员"); + cal.add(Calendar.MONTH, 1); + } else if ((vipDetails.getVipNameType()).equals(1)) { + //季 + userMoneyDetails.setContent("微信开通季卡会员"); + messageInfo.setContent("微信开通季卡会员"); + cal.add(Calendar.MONTH, 3); + } else { + //年 + userMoneyDetails.setContent("微信开通年费会员"); + messageInfo.setContent("微信开通年费会员"); + cal.add(Calendar.YEAR, 1); + } + + userVip.setEndTime(sdf.format(cal.getTime())); + if(userVip.getVipId()!=null){ + userVipDao.updateById(userVip); + }else{ + userVipDao.insert(userVip); + } + userMoneyDetails.setTitle("开通会员"); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + UserEntity userEntity = userService.selectUserById(userId); + messageInfo.setTitle("开通会员"); + messageInfo.setState(String.valueOf(4)); + messageInfo.setUserName(userEntity.getUserName()); + messageInfo.setUserId(String.valueOf(userEntity.getUserId())); + messageInfo.setCreateAt(sdf.format(new Date())); + messageInfo.setIsSee("0"); + messageService.saveBody(messageInfo); + if(StringUtil.isNotBlank(userEntity.getClientid())){ + userService.pushToSingle(messageInfo.getTitle(),messageInfo.getContent(),userEntity.getClientid()); + } + + }else if(payDetails.getType()==6){ + double money=payDetails.getMoney(); + long artificerId = Long.parseLong(payDetails.getRemark()); + Artificer artificer = artificerService.getById(artificerId); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //用户流水 + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setClassify(8); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setUserId(payDetails.getUserId()); + userMoneyDetails.setTitle("微信给技师打赏"); + userMoneyDetails.setContent("使用微信给指定技师“"+artificer.getArtificerName()+"”打赏:"+money); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setMoney(BigDecimal.valueOf(money)); + userMoneyDetails.setArtificerId(artificerId); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + //技师流水 + UserEntity userEntity = userService.queryByUserId(artificer.getUserId()); + userMoneyDao.updateMayMoney(1, userEntity.getUserId(), money); + //查询技师当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(userEntity.getUserId()); + UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails(); + //插入余额 + userMoneyDetails2.setBalance(userNowMoney.getMoney()); + userMoneyDetails2.setManipulateType(2); + userMoneyDetails2.setClassify(8); + userMoneyDetails2.setUserId(userEntity.getUserId()); + userMoneyDetails2.setTitle("用户微信打赏"); + userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”微信打赏:"+money); + userMoneyDetails2.setType(1); + userMoneyDetails2.setState(2); + userMoneyDetails2.setMoney(BigDecimal.valueOf(money)); + userMoneyDetails2.setCreateTime(sdf.format(new Date())); + userMoneyDetails2.setBlRole(2); + userMoneyDetails2.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails2); + }else if(payDetails.getType()==7){ + //服务包下单,分单 + UserPackageOrder orders = userPackageOrderDao.getByNo(out_trade_no); + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setUserId(orders.getUserId()); + userMoneyDetails.setMoney(orders.getPayMoney()); + userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!"); + userMoneyDetails.setTitle("支付服务包订单"); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + + orders.setStatus(2); + orders.setPayWay(payDetails.getClassify()); + orders.setPayTime(sdf.format(new Date())); + userPackageOrderDao.updateStatus(orders); + + //获取订单-服务包映射关系列表 + List mappingList = userPackageOrdersMappingService.findListByOrdersId(orders.getOrdersId()); + for (UserPackageOrdersMapping ordersPackage : mappingList) { + int quantity = ordersPackage.getNum(); + MassagePackage massagePackage = massagePackageService.getById(ordersPackage.getPackageId()); + //修改服务包销量 + int sales = massagePackage.getSales(); + sales = sales+quantity; + massagePackage.setSales(sales); + massagePackageService.updateSales(massagePackage); + for(int i=0;i userPackageDetailList = userPackageDetailService.findMassagePackageDetails(userPackageDetail); + if(userPackageDetailList.size()>0){ + for(int j=0;j