From 06c7348b197ede0b68e6d02f019bf81892329b88 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 19 三月 2024 18:07:12 +0800 Subject: [PATCH] 修改bug --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 463 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 232 insertions(+), 231 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index 00b51ee..1214233 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -50,6 +50,7 @@ import com.dsh.account.service.IRefereeService; import com.dsh.account.service.TAppGiftService; import com.dsh.account.service.TAppUserService; +import com.dsh.account.service.UserIntegralChangesService; import com.dsh.account.util.*; import com.dsh.account.util.akeylogin.Md5Util; import com.dsh.account.vo.GroupCityInfoVO; @@ -151,13 +152,14 @@ @Resource private SiteClient stClient; - @Autowired + + @Resource private TAppUserMapper appUserMapper; @Autowired private TAppGiftService appGiftService; - @Autowired + @Resource private IntroduceRewardsClient introduceRewardsClient; private String aliAppid = "2021004105665036";//支付宝appid @@ -185,6 +187,9 @@ @Resource private WorldCupPaymentClinet worldCupPaymentClinet; + + @Autowired + private UserIntegralChangesService userIntegralChangesService; @@ -813,6 +818,7 @@ consumeDetail.setConsumeTime(paymentCompetition.getTime()); consumeDetail.setConsumeAmount("-" + paymentCompetition.getAmount()); consumeDetail.setType(2); + consumeDetail.setDateTime(paymentCompetition.getDateTime()); details.add(consumeDetail); } } @@ -825,37 +831,21 @@ consumeDetail.setConsumeTime(paymentCompetition.getTime()); consumeDetail.setConsumeAmount("+" + paymentCompetition.getAmount()); consumeDetail.setType(1); + consumeDetail.setDateTime(paymentCompetition.getDateTime()); details.add(consumeDetail); } } -// 3.课包购买 -// BillingRequestVo amountPayRecord = paymentClient.getAmountPayRecord(requestVo); -// if (ToolUtil.isNotEmpty(amountPayRecord.getRequests())){ -// for (BillingRequest coursePackagePayment : amountPayRecord.getRequests()) { -// ConsumeDetail consumeDetail = new ConsumeDetail(); -// consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg()); -// consumeDetail.setConsumeTime(coursePackagePayment.getTime()); -// consumeDetail.setConsumeAmount("-" + coursePackagePayment.getAmount()); -// consumeDetail.setType(2); -// details.add(consumeDetail); -// } -// } - //2.0 - List<CourseCounsum> courseCounsums = paymentClient.getConsumes(requestVo); + //3.课包购买 + List<CoursePackageOrder> coursePackageOrder = paymentClient.getCoursePackageOrder(requestVo); - for (CourseCounsum courseCounsum : courseCounsums) { + for (CoursePackageOrder order : coursePackageOrder) { ConsumeDetail consumeDetail = new ConsumeDetail(); - String[] split = courseCounsum.getReason().split(";"); - consumeDetail.setConsumeName(split[0]); - consumeDetail.setConsumeTime(simpleDateFormat.format(courseCounsum.getInsertTime())); -// if (courseCounsum.getChangeType()==3){ - consumeDetail.setConsumeAmount("-" + split[1]); + consumeDetail.setConsumeName("课程报名"); + consumeDetail.setConsumeTime(simpleDateFormat.format(order.getInsertTime())); + consumeDetail.setConsumeAmount("-" + order.getCashPayment()); consumeDetail.setType(2); -// } -// -// consumeDetail.setConsumeAmount("-" + coursePackagePayment.getAmount()); -// consumeDetail.setType(2); + consumeDetail.setDateTime(order.getInsertTime().getTime()); details.add(consumeDetail); } @@ -870,23 +860,25 @@ consumeDetail.setConsumeAmount("-" + booking.getAmount()); consumeDetail.setConsumeTime(booking.getTime()); consumeDetail.setType(2); + consumeDetail.setDateTime(booking.getDateTime()); details.add(consumeDetail); } else { ConsumeDetail consumeDetail1 = new ConsumeDetail(); consumeDetail1.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg()); consumeDetail1.setConsumeAmount("+" + booking.getAmount()); consumeDetail1.setConsumeTime(booking.getTime()); + consumeDetail1.setDateTime(booking.getDateTime()); consumeDetail1.setType(1); details.add(consumeDetail1); + ConsumeDetail consumeDetail2 = new ConsumeDetail(); consumeDetail2.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg()); consumeDetail2.setConsumeAmount("-" + booking.getAmount()); consumeDetail2.setConsumeTime(booking.getTime1()); consumeDetail2.setType(2); + consumeDetail2.setDateTime(booking.getDateTime()); details.add(consumeDetail2); - } -// details.add(consumeDetail); } } @@ -903,6 +895,7 @@ consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime())); consumeDetail.setConsumeAmount("-" + vipPayment.getAmount()); consumeDetail.setType(2); + consumeDetail.setDateTime(vipPayment.getPayTime().getTime()); details.add(consumeDetail); } } @@ -918,6 +911,7 @@ consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime())); consumeDetail.setConsumeAmount("-" + rechargeRecord.getAmount()); consumeDetail.setType(2); + consumeDetail.setDateTime(rechargeRecord.getPayTime().getTime()); details.add(consumeDetail); } } @@ -927,31 +921,6 @@ List<ConsumeDetail> consumeDetails = mcClient.getConsumeDetails(requestVo); details.addAll(consumeDetails); - - if (details.size() > 0) { - Collections.sort(details, new Comparator<ConsumeDetail>() { - @Override - public int compare(ConsumeDetail record1, ConsumeDetail record2) { - SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm"); - Date date1 = null; - Date date2 = null; - try { - date1 = dateFormat.parse(record1.getConsumeTime()); - date2 = dateFormat.parse(record2.getConsumeTime()); - } catch (ParseException e) { - e.printStackTrace(); - } - // 倒序排序 - return date2.compareTo(date1); - } - }); - - if (ToolUtil.isNotEmpty(recordId)) { - details = details.stream() - .filter(response -> Objects.equals(response.getType(), recordId)) - .collect(Collectors.toList()); - } - } //世界杯 GetWorldCupPayment getWorldCupPayment = new GetWorldCupPayment(); @@ -967,6 +936,7 @@ consumeDetail.setConsumeTime(simpleDateFormat.format(cupPayment.getCreateTime())); consumeDetail.setConsumeAmount("-" + cupPayment.getAmount()); consumeDetail.setType(2); + consumeDetail.setDateTime(cupPayment.getPayTime().getTime()); details.add(consumeDetail); }else{ consumeDetail = new ConsumeDetail(); @@ -974,6 +944,7 @@ consumeDetail.setConsumeTime(simpleDateFormat.format(cupPayment.getCreateTime())); consumeDetail.setConsumeAmount("-" + cupPayment.getAmount()); consumeDetail.setType(2); + consumeDetail.setDateTime(cupPayment.getPayTime().getTime()); details.add(consumeDetail); consumeDetail = new ConsumeDetail(); @@ -981,7 +952,23 @@ consumeDetail.setConsumeTime(simpleDateFormat.format(cupPayment.getCreateTime())); consumeDetail.setConsumeAmount("+" + cupPayment.getRefundAmount()); consumeDetail.setType(1); + consumeDetail.setDateTime(cupPayment.getRefundTime().getTime()); details.add(consumeDetail); + } + } + + if (details.size() > 0) { + Collections.sort(details, new Comparator<ConsumeDetail>() { + @Override + public int compare(ConsumeDetail record1, ConsumeDetail record2) { + return record1.getDateTime().compareTo(record2.getDateTime()) * -1; + } + }); + + if (ToolUtil.isNotEmpty(recordId)) { + details = details.stream() + .filter(response -> Objects.equals(response.getType(), recordId)) + .collect(Collectors.toList()); } } @@ -1487,118 +1474,136 @@ return ResultUtil.error("超过发放数量"); } - - for (int i = 0; i < goodsNums; i++) { -// 新增积分商品兑换记录 - UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); - pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); - pointsMerchandise.setUserId(userIdFormRedis); - if (exchangeType.getGoodsType() == 2) { - pointsMerchandise.setStatus(2); - pointsMerchandise.setVerificationTime(new Date()); - } else { - pointsMerchandise.setStatus(1); - } - pointsMerchandise.setState(1); - if (exchangeType.getExchangeType() == 1) { - pointsMerchandise.setPayStatus(2); - } else { - pointsMerchandise.setPayStatus(1); - } - if (merchandise.getUseScope() == 3) { - if (exchangeType.getGoodsType() == 2) { - CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId()); - pointsMerchandise.setStoreId(coursePackage.getStoreId()); - } else { - pointsMerchandise.setStoreId(exchangeType.getStoreId()); - } - } - pointsMerchandise.setCode(code); - pointsMerchandise.setInsertTime(new Date()); - returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise); + //新增积分商品兑换记录 + UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); + pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); + pointsMerchandise.setUserId(userIdFormRedis); + pointsMerchandise.setGoodsNumber(goodsNums); + if (exchangeType.getGoodsType() == 2) { + pointsMerchandise.setStatus(2); + pointsMerchandise.setVerificationTime(new Date()); + } else { + pointsMerchandise.setStatus(1); } + pointsMerchandise.setState(1); + if (exchangeType.getExchangeType() == 1) { + pointsMerchandise.setPayStatus(2); + pointsMerchandise.setPaymentTime(new Date()); + } else { + pointsMerchandise.setPayStatus(1); + } + if (merchandise.getUseScope() == 3) { + if (exchangeType.getGoodsType() == 2) { + CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId()); + pointsMerchandise.setStoreId(coursePackage.getStoreId()); + } else { + pointsMerchandise.setStoreId(exchangeType.getStoreId()); + } + } + pointsMerchandise.setCode(code); + pointsMerchandise.setInsertTime(new Date()); + pointsMerchandise.setPayType(exchangeType.getExchangeType()); + pointsMerchandise.setIntegral(merchandise.getIntegral() * goodsNums); + if(exchangeType.getExchangeType() == 2){ + pointsMerchandise.setCash(merchandise.getCash()); + pointsMerchandise.setCashPayType(exchangeType.getPayType()); + } + returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise); + switch (exchangeType.getExchangeType()) { // 积分 case 1: - boolean b = true; - for (int i = 0; i < goodsNums; i++) { - b = dealAppUserIntegral(userIdFormRedis, tAppUser, merchandise.getIntegral()); + boolean b = dealAppUserIntegral(userIdFormRedis, tAppUser, merchandise.getIntegral() * goodsNums); + if (b) switch (exchangeType.getGoodsType()) { + case 2: + code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); + CoursePackageOrder coursePackageOrder = new CoursePackageOrder(); + coursePackageOrder.setCode(code); + coursePackageOrder.setAppUserId(userIdFormRedis); + String ids = exchangeType.getStuIds().stream().map(s -> { + return String.valueOf(s); + }).collect(Collectors.joining(";")); + coursePackageOrder.setStudentIds(ids); + coursePackageOrder.setCoursePackageId(merchandise.getCoursePackageId()); + coursePackageOrder.setPayType(4); + CoursePackagePaymentConfig config = null; + for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { + if (coursePackagePaymentConfig.getId().compareTo(merchandise.getCoursePackageConfigId()) == 0) { + coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackageOrder.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); + + config = coursePackagePaymentConfig; + break; + } + } + coursePackageOrder.setPlayPaiCoin(merchandise.getIntegral()); + coursePackageOrder.setPayUserType(1); + coursePackageOrder.setPayStatus(2); + coursePackageOrder.setPayUserId(userIdFormRedis); + coursePackageOrder.setStatus(1); + coursePackageOrder.setState(1); + coursePackageOrder.setInsertTime(new Date()); + coursePackageOrder.setOrderType(2); + Long coursePackageOrderId = paymentClient.savePaymentCoursePackage(coursePackageOrder); + + AddCoursePackageOrderStudent addCoursePackageOrderStudent = new AddCoursePackageOrderStudent(); + addCoursePackageOrderStudent.setCoursePackageOrderId(coursePackageOrderId); + addCoursePackageOrderStudent.setCoursePackagePaymentConfig(config); + paymentClient.addCoursePackageOrderStudent(addCoursePackageOrderStudent); + break; + case 4: + for (int i = 0; i < goodsNums; i++) { + UserCoupon coupon = new UserCoupon(); + coupon.setCouponId(exchangeType.getGoodId()); + coupon.setUserId(userIdFormRedis); + coupon.setStatus(1); + coupon.setInsertTime(new Date()); + ucponClient.insertToAppuserCoupon(coupon); + } + break; + default: + break; } - if (b) { - switch (exchangeType.getGoodsType()) { - case 2: - Integer stuNums = 0; - if (ToolUtil.isNotEmpty(exchangeType.getStuIds())) { - stuNums = exchangeType.getStuIds().size(); - } else { - stuNums = 1; - } - for (int i = 0; i < stuNums; i++) { - List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); - TCoursePackagePayment packagePayment = new TCoursePackagePayment(); - packagePayment.setAppUserId(userIdFormRedis); - packagePayment.setStudentId(exchangeType.getStuIds().get(i)); - packagePayment.setCoursePackageId(merchandise.getCoursePackageId()); - for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { - if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) { - packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); - packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); - packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); - packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); - break; - } - } - packagePayment.setPlayPaiCoin(merchandise.getIntegral()); - packagePayment.setAbsencesNumber(0); - packagePayment.setPayUserType(1); - packagePayment.setPayStatus(2); - packagePayment.setPayUserId(userIdFormRedis); - packagePayment.setStatus(1); - packagePayment.setState(1); - packagePayment.setCode(code); - packagePayment.setInsertTime(new Date()); -// paymentClient.savePaymentCoursePackage(packagePayment); - - OrderDto orderDto = new OrderDto(); - orderDto.setAppUserId(userIdFormRedis); - String joinedString = String.join(",", exchangeType.getStuIds().stream().map(Object::toString).collect(Collectors.toList())); - orderDto.setStuIds(joinedString); - orderDto.setClassId(merchandise.getCoursePackageId()); - orderDto.setClassHours(packagePayment.getClassHours()); - paymentClient.orderClass(orderDto); - - - } - break; - case 4: - for (int i = 0; i < goodsNums; i++) { - UserCoupon coupon = new UserCoupon(); - coupon.setCouponId(exchangeType.getGoodId()); - coupon.setUserId(userIdFormRedis); - coupon.setStatus(1); - coupon.setInsertTime(new Date()); - ucponClient.insertToAppuserCoupon(coupon); - } - break; - default: - break; - } - } else { + else { return ResultUtil.error("用户积分不足!"); } break; case 2: // 积分+现金 - boolean dealt = true; - for (int i = 0; i < goodsNums; i++) { - dealt = dealAppUserIntegral(userIdFormRedis, tAppUser, merchandise.getIntegral()); - } - switch (exchangeType.getPayType()) { case 1: try { if (merchandise.getType() == 2) { + List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); + CoursePackageOrder coursePackageOrder = new CoursePackageOrder(); + coursePackageOrder.setCode(code); + coursePackageOrder.setAppUserId(userIdFormRedis); + String ids = exchangeType.getStuIds().stream().map(s -> { + return String.valueOf(s); + }).collect(Collectors.joining(";")); + coursePackageOrder.setStudentIds(ids); + coursePackageOrder.setCoursePackageId(merchandise.getCoursePackageId()); + coursePackageOrder.setPayType(5); + CoursePackagePaymentConfig config = null; + for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { + if (coursePackagePaymentConfig.getId().compareTo(merchandise.getCoursePackageConfigId()) == 0) { + coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackageOrder.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); + break; + } + } + coursePackageOrder.setCashPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size()))); + coursePackageOrder.setPlayPaiCoin(merchandise.getIntegral() * exchangeType.getStuIds().size()); + coursePackageOrder.setPayUserType(1); + coursePackageOrder.setPayStatus(1); + coursePackageOrder.setPayUserId(userIdFormRedis); + coursePackageOrder.setStatus(1); + coursePackageOrder.setState(1); + coursePackageOrder.setInsertTime(new Date()); + coursePackageOrder.setOrderType(2); + paymentClient.savePaymentCoursePackage(coursePackageOrder); return WechatPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return WechatPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); @@ -1662,7 +1667,8 @@ public ResultUtil weChatPaymentCoupon(String body, UserCouponPayment userCouponPayment) throws Exception { String code = userCouponPayment.getCode(); Double cash = userCouponPayment.getCash(); - ResultUtil weixinpay = payMoneyUtil.weixinpay(body, "", code, cash.toString(), "/base/coupon/weChatPaymentCouponCallback", "APP", ""); + ResultUtil weixinpay = payMoneyUtil.weixinpay(body, "", code, cash.toString(), + "/base/coupon/weChatPaymentCouponCallback", "APP", ""); if (weixinpay.getCode() == 200) { new Thread(new Runnable() { @Override @@ -1692,7 +1698,7 @@ Map<String, String> data1 = resultUtil.getData(); String s = data1.get("trade_state"); String transaction_id = data1.get("transaction_id"); - if ("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) { + if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) { //有待支付的订单,这里不处理 userCouponPayment1.setStatus(-1); userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1); @@ -1719,7 +1725,7 @@ } break; } - if ("USERPAYING".equals(s)) { + if ("USERPAYING".equals(s) || "NOTPAY".equals(s)) { num++; } } @@ -1745,7 +1751,8 @@ String code = userCouponPayment.getCode(); Double cash = userCouponPayment.getCash(); - ResultUtil alipay = payMoneyUtil.alipay(smid, body, "",String.valueOf(userCouponPayment.getId()), code, cash.toString(), "/base/coupon/aliPaymentCouponCallback"); + ResultUtil alipay = payMoneyUtil.alipay(smid, body, "",String.valueOf(userCouponPayment.getId()), code, cash.toString(), + "/base/coupon/aliPaymentCouponCallback"); if (alipay.getCode() == 200) { new Thread(new Runnable() { @Override @@ -1846,9 +1853,13 @@ if(null != userCouponPayment1.getIntegral() && 0 != userCouponPayment1.getIntegral()){ //扣积分 - TAppUser user = appUserService.getById(userCouponPayment1.getUserId()); - user.setIntegral(user.getIntegral() - userCouponPayment1.getIntegral().intValue()); - appUserService.updateById(user); + SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); + vo.setAppUserId(userCouponPayment1.getUserId()); + vo.setIntegral(userCouponPayment1.getIntegral().intValue() * -1); + vo.setRemark("兑换优惠券"); + vo.setType(2); + userIntegralChangesService.saveUserIntegralChanges(vo); + } return ResultUtil.success(); } @@ -2058,12 +2069,12 @@ int min = 5000; wait += (min * num); Thread.sleep(wait); - List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code); - if (userPointsMerchandises.get(0).getPayStatus() == 2) { + UserPointsMerchandise userPointsMerchandise = mcClient.queryUserPointMerchaseByCode(code).get(0); + if (userPointsMerchandise.getPayStatus() == 2) { break; } ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, ""); - if (resultUtil.getCode() == 200 && userPointsMerchandises.get(0).getPayStatus() == 1) { + if (resultUtil.getCode() == 200 && userPointsMerchandise.getPayStatus() == 1) { /** * SUCCESS—支付成功, * REFUND—转入退款, @@ -2076,20 +2087,42 @@ Map<String, String> data1 = resultUtil.getData(); String s = data1.get("trade_state"); String transaction_id = data1.get("transaction_id"); - if ("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) { + if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) { mcClient.deletePaymentRecord(code); break; } if ("SUCCESS".equals(s)) { - for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) { - userPointsMerchandise.setPayStatus(2); - userPointsMerchandise.setOrderNumber(transaction_id); - userPointsMerchandise.setPayType(1); - mcClient.updateDetailsUserPointMercase(userPointsMerchandise); + userPointsMerchandise.setPayStatus(2); + userPointsMerchandise.setOrderNumber(transaction_id); + userPointsMerchandise.setPayType(1); + mcClient.updateDetailsUserPointMercase(userPointsMerchandise); + + TAppUser tAppUser = baseMapper.selectById(userPointsMerchandise.getUserId()); + dealAppUserIntegral(userPointsMerchandise.getUserId(), tAppUser, userPointsMerchandise.getIntegral()); + + //课程 + if(type == 2){ + CoursePackageOrder coursePackageOrder1 = paymentClient.getCoursePackageOrderByCode(code); + if(null != coursePackageOrder1){ + coursePackageOrder1.setPayStatus(2); + coursePackageOrder1.setOrderNumber(transaction_id); + coursePackageOrder1.setAppUserId(null); + paymentClient.updateCoursePackageOrder(coursePackageOrder1); + + GetCoursePackagePaymentConfig getCoursePackagePaymentConfig = new GetCoursePackagePaymentConfig(); + getCoursePackagePaymentConfig.setCoursePackageId(coursePackageOrder1.getCoursePackageId()); + getCoursePackagePaymentConfig.setClassHours(coursePackageOrder1.getClassHours()); + CoursePackagePaymentConfig coursePackagePaymentConfig = paymentClient.getCoursePackagePaymentConfig(getCoursePackagePaymentConfig); + + AddCoursePackageOrderStudent addCoursePackageOrderStudent = new AddCoursePackageOrderStudent(); + addCoursePackageOrderStudent.setCoursePackageOrderId(coursePackageOrder1.getId()); + addCoursePackageOrderStudent.setCoursePackagePaymentConfig(coursePackagePaymentConfig); + paymentClient.addCoursePackageOrderStudent(addCoursePackageOrderStudent); + } } break; } - if ("USERPAYING".equals(s)) { + if ("USERPAYING".equals(s) || "NOTPAY".equals(s)) { num++; } } @@ -2104,75 +2137,43 @@ } @Override - public ResultUtil exchangeAddPaymentCallback(String code, String orderNumber, Integer payType) { - List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code); - if (userPointsMerchandises.get(0).getPayStatus() == 2) { + public ResultUtil exchangeAddPaymentCallback(String code, String orderNumber) { + UserPointsMerchandise userPointsMerchandise = mcClient.queryUserPointMerchaseByCode(code).get(0); + if (userPointsMerchandise.getPayStatus() == 2) { return ResultUtil.success(); } - if (userPointsMerchandises.size() > 1) { - for (int i = 0; i < userPointsMerchandises.size(); i++) { - userPointsMerchandises.get(i).setOrderNumber(orderNumber + "-" + (i + 1)); - userPointsMerchandises.get(i).setPayType(payType); - userPointsMerchandises.get(i).setPayStatus(2); - mcClient.updateDetailsUserPointMercase(userPointsMerchandises.get(i)); - Integer pointsMerchandiseId = userPointsMerchandises.get(i).getPointsMerchandiseId(); - PointsMerchandise pointsMerchandise = mcClient.selectPointsMerchandiseById(pointsMerchandiseId); - switch (pointsMerchandise.getType()) { - case 2: - List<TCoursePackagePayment> coursePackagePaymentOfCode = paymentClient.getCoursePackagePaymentOfCode(code); - for (TCoursePackagePayment coursePackagePayment : coursePackagePaymentOfCode) { - coursePackagePayment.setPayStatus(2); - coursePackagePayment.setPayType(payType); - coursePackagePayment.setOrderNumber(orderNumber); - coursePackagePayment.setCashPayment(pointsMerchandise.getCash()); - paymentClient.updatePaymentCoursePackage(coursePackagePayment); - } - break; - case 4: - UserCoupon coupon = new UserCoupon(); - coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); - coupon.setUserId(userPointsMerchandises.get(0).getUserId()); - coupon.setStatus(1); - coupon.setInsertTime(new Date()); - ucponClient.insertToAppuserCoupon(coupon); - break; - default: - break; - } + userPointsMerchandise.setOrderNumber(orderNumber); + userPointsMerchandise.setPayStatus(2); + userPointsMerchandise.setPaymentTime(new Date()); + mcClient.updateDetailsUserPointMercase(userPointsMerchandise); + + TAppUser tAppUser = baseMapper.selectById(userPointsMerchandise.getUserId()); + dealAppUserIntegral(userPointsMerchandise.getUserId(), tAppUser, userPointsMerchandise.getIntegral()); + + Integer pointsMerchandiseId = userPointsMerchandise.getPointsMerchandiseId(); + PointsMerchandise pointsMerchandise = mcClient.selectPointsMerchandiseById(pointsMerchandiseId); + if(pointsMerchandise.getType() == 2){ + //课程 + CoursePackageOrder coursePackageOrder1 = paymentClient.getCoursePackageOrderByCode(code); + if(null != coursePackageOrder1){ + coursePackageOrder1.setPayStatus(2); + coursePackageOrder1.setOrderNumber(orderNumber); + coursePackageOrder1.setAppUserId(null); + paymentClient.updateCoursePackageOrder(coursePackageOrder1); + + GetCoursePackagePaymentConfig getCoursePackagePaymentConfig = new GetCoursePackagePaymentConfig(); + getCoursePackagePaymentConfig.setCoursePackageId(coursePackageOrder1.getCoursePackageId()); + getCoursePackagePaymentConfig.setClassHours(coursePackageOrder1.getClassHours()); + CoursePackagePaymentConfig coursePackagePaymentConfig = paymentClient.getCoursePackagePaymentConfig(getCoursePackagePaymentConfig); + + AddCoursePackageOrderStudent addCoursePackageOrderStudent = new AddCoursePackageOrderStudent(); + addCoursePackageOrderStudent.setCoursePackageOrderId(coursePackageOrder1.getId()); + addCoursePackageOrderStudent.setCoursePackagePaymentConfig(coursePackagePaymentConfig); + paymentClient.addCoursePackageOrderStudent(addCoursePackageOrderStudent); } - } else { - userPointsMerchandises.get(0).setOrderNumber(orderNumber); - userPointsMerchandises.get(0).setPayType(payType); - userPointsMerchandises.get(0).setPayStatus(2); - mcClient.updateDetailsUserPointMercase(userPointsMerchandises.get(0)); - - Integer pointsMerchandiseId = userPointsMerchandises.get(0).getPointsMerchandiseId(); - PointsMerchandise pointsMerchandise = mcClient.selectPointsMerchandiseById(pointsMerchandiseId); - switch (pointsMerchandise.getType()) { - case 2: - List<TCoursePackagePayment> coursePackagePaymentOfCode = paymentClient.getCoursePackagePaymentOfCode(code); - - TCoursePackagePayment packagePayment = coursePackagePaymentOfCode.get(0); - packagePayment.setPayStatus(2); - packagePayment.setPayType(payType); - packagePayment.setOrderNumber(orderNumber); - packagePayment.setCashPayment(pointsMerchandise.getCash()); - paymentClient.updatePaymentCoursePackage(packagePayment); - break; - case 4: - UserCoupon coupon = new UserCoupon(); - coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); - coupon.setUserId(userPointsMerchandises.get(0).getUserId()); - coupon.setStatus(1); - coupon.setInsertTime(new Date()); - ucponClient.insertToAppuserCoupon(coupon); - break; - default: - break; - } - } + return ResultUtil.success(); } -- Gitblit v1.7.1