From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 121 ++++++++++++++++++++++++++++++--------- 1 files changed, 92 insertions(+), 29 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 bb4fc3d..7409473 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 @@ -303,6 +303,7 @@ ; } } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (tStudents.size() > 0) { TStudent tStudent = tStudents.get(0); classInfoVo.setStuId(tStudent.getId()); @@ -328,7 +329,7 @@ course.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums()); course.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums()); course.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums()) ? 0 : tCoursePackagePayment.getResidueNums()); - course.setPeriodOfValidity(tCoursePackagePayment.getPeriodOfValidity()); + course.setPeriodOfValidity(sdf.format(tStudent.getValidity())); course.setIsAble(tCoursePackagePayment.getIsAble()); course.setCourseType(tCoursePackagePayment.getCourseType()); courseList.add(course); @@ -446,6 +447,10 @@ tAppUser.setIsVip(0); tAppUser.setState(1); tAppUser.setInsertTime(new Date()); + tAppUser.setProvince(""); + tAppUser.setProvinceCode(""); + tAppUser.setCity(""); + tAppUser.setCityCode(""); // 注册用户 int insert = this.baseMapper.insert(tAppUser); // 介绍有礼 @@ -545,6 +550,7 @@ tAppUser.setPassword(Md5Util.MD5Encode("111111", null)); tAppUser.setIsVip(0); tAppUser.setState(1); + tAppUser.setInsertTime(new Date()); this.baseMapper.insert(tAppUser); } if (tAppUser.getState() == 2) { @@ -578,6 +584,10 @@ tAppUser.setGender(loginWechatVo.getSex()); tAppUser.setState(1); tAppUser.setInsertTime(new Date()); + tAppUser.setProvince(""); + tAppUser.setProvinceCode(""); + tAppUser.setCity(""); + tAppUser.setCityCode(""); this.baseMapper.insert(tAppUser); } } @@ -631,6 +641,27 @@ */ @Override public ResultUtil updatePassword(String phone, String code, String password) throws Exception { + String value = redisUtil.getValue(phone); + if (!"123456".equals(code) && (ToolUtil.isEmpty(value) || !value.equals(code))) { + return ResultUtil.error("验证码无效"); + } + TAppUser tAppUser = this.baseMapper.selectOne(new QueryWrapper<TAppUser>().eq("phone", phone).ne("state", 3)); + if (tAppUser == null) { + return ResultUtil.error("该账号未注册", ""); + } + if (tAppUser.getState() == 2) { + return ResultUtil.error("您的账号已被冻结", ""); + } + if (tAppUser.getCode() == null) { + tAppUser.setCode(UUIDUtil.getNumberRandom(16)); + } + tAppUser.setPassword(password); + this.updateById(tAppUser); + return ResultUtil.success(); + } + + @Override + public ResultUtil updatePassword1(String phone, String code, String password) throws Exception { String value = redisUtil.getValue(phone); if (!"123456".equals(code) && (ToolUtil.isEmpty(value) || !value.equals(code))) { return ResultUtil.error("验证码无效"); @@ -1024,6 +1055,7 @@ goods.add(commodity); } } + List<Coupon> allCoupons = ucponClient.getAllCoupons(commodityRequest); if (allCoupons.size() > 0) { for (Coupon allCoupon : allCoupons) { @@ -1311,7 +1343,7 @@ userCouponPayment.setCode(code); userCouponPayment.setPayType(coupon.getRedemptionMethod()); userCouponPayment.setIntegral(coupon.getIntegral().intValue()); - userCouponPayment.setCash(coupon.getCash().doubleValue()); + userCouponPayment.setCash(null == coupon.getCash() ? 0D : coupon.getCash().doubleValue()); userCouponPayment.setCashPayType(exchangeType.getPayType()); userCouponPayment.setInsertTime(new Date()); @@ -1337,7 +1369,7 @@ return ResultUtil.success(returnId); } //积分+现金 - if(coupon.getRedemptionMethod() == 1){ + if(coupon.getRedemptionMethod() == 2){ userCouponPaymentClient.addUserCouponPayment(userCouponPayment); try { if(exchangeType.getPayType() == 1){ @@ -1357,7 +1389,20 @@ try { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); - PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); + PointsMerchandise merchandise = new PointsMerchandise(); + if(exchangeType.getGoodsType() != 4){ + merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); + }else{ + Coupon coupon = ucponClient.queryCouponById(exchangeType.getGoodId()); + merchandise.setId(coupon.getId()); + merchandise.setUserPopulation(coupon.getUserPopulation()); + merchandise.setIntegral(coupon.getIntegral().intValue()); + merchandise.setQuantityIssued(coupon.getQuantityIssued()); + merchandise.setPickUpQuantity(coupon.getPickUpQuantity()); + merchandise.setUseScope(coupon.getUseScope()); + merchandise.setCash(coupon.getCash()); + merchandise.setType(4); + } if (ToolUtil.isEmpty(merchandise)) { @@ -1436,6 +1481,7 @@ } } pointsMerchandise.setCode(code); + pointsMerchandise.setInsertTime(new Date()); returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise); } @@ -1478,6 +1524,7 @@ packagePayment.setStatus(1); packagePayment.setState(1); packagePayment.setCode(code); + packagePayment.setInsertTime(new Date()); // paymentClient.savePaymentCoursePackage(packagePayment); OrderDto orderDto = new OrderDto(); @@ -1497,6 +1544,7 @@ coupon.setCouponId(exchangeType.getGoodId()); coupon.setUserId(userIdFormRedis); coupon.setStatus(1); + coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); } break; @@ -1656,17 +1704,15 @@ /** * 优惠券支付宝支付 * - * @param uid - * @param paymentPrice - * @param paymentCourseVo * @return * @throws Exception */ + private String smid = "2088330203191220";//平台支付宝商户号 public ResultUtil aliPaymentCoupon(String body, UserCouponPayment userCouponPayment) throws Exception { String code = userCouponPayment.getCode(); Double cash = userCouponPayment.getCash(); - ResultUtil alipay = payMoneyUtil.alipay(body, body, "", 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 @@ -1699,6 +1745,10 @@ //有待支付的订单,这里不处理 userCouponPayment1.setStatus(-1); userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1); + if ("TRADE_FINISHED".equals(s)) { + // todo 资金结算 + + } break; } if ("TRADE_SUCCESS".equals(s)) { @@ -1706,22 +1756,24 @@ userCouponPayment1.setPaymentTime(new Date()); userCouponPayment1.setOrderNumber(tradeNo); userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1); - UserCoupon userCoupon = new UserCoupon(); userCoupon.setCouponId(userCouponPayment1.getCouponId()); userCoupon.setUserId(userCouponPayment1.getUserId()); userCoupon.setStatus(1); userCoupon.setInsertTime(new Date()); userConponClient.insertToAppuserCoupon(userCoupon); - if(null != userCouponPayment1.getIntegral() && 0 != userCouponPayment1.getIntegral()){ //扣积分 TAppUser user = appUserService.getById(userCouponPayment1.getUserId()); user.setIntegral(user.getIntegral() - userCouponPayment1.getIntegral().intValue()); appUserService.updateById(user); } + + payMoneyUtil.confirm(smid,code,tradeNo,cash.toString()); break; + } + if ("WAIT_BUYER_PAY".equals(s)) { num++; } @@ -1793,8 +1845,7 @@ } private ResultUtil AlipayPayment(BigDecimal cash, String code, Long returnId) { - System.out.println("金额:" + cash); - ResultUtil alipay = payMoneyUtil.alipay("优惠卷", "优惠卷", String.valueOf(returnId), code, cash.toString(), + ResultUtil alipay = payMoneyUtil.alipay(smid,"优惠卷", "优惠卷", String.valueOf(returnId), code, cash.toString(), "/base/pointMer/exchangeGoodPaymentAliCallback"); if (alipay.getCode() == 200) { new Thread(new Runnable() { @@ -1838,8 +1889,15 @@ userPointsMerchandise.setInsertTime(null); userPointsMerchandise.setUserId(null); mcClient.updateDetailsUserPointMercase(userPointsMerchandise); + // todo 资金结算 + payMoneyUtil.confirm(smid,code,tradeNo,cash.toString()); } moneyOut(tradeNo, tradeNo); + break; + } + if ("TRADE_FINISHED".equals(tradeStatus)) { + // todo 资金结算 + payMoneyUtil.confirm(smid,code,tradeNo,cash.toString()); break; } // if("REFUND".equals(tradeStatus) || "NOTPAY".equals(tradeStatus) || "CLOSED".equals(tradeStatus) || "REVOKED".equals(tradeStatus) || "PAYERROR".equals(tradeStatus) || num == 10){ @@ -1908,7 +1966,8 @@ List<UserPointsMerchandise> userPointsMerchandises = merChandiseClient.queryUserPointMerchaseByCode(outNum); // PaymentCompetition code = paymentCompetitionService.getOne(new QueryWrapper<PaymentCompetition>().eq("code", outNum)); - Integer storeId = userPointsMerchandises.get(0).getStoreId(); + if(userPointsMerchandises.size() > 0){ + Integer storeId = userPointsMerchandises.get(0).getStoreId(); // Competition byId1 = competitionService.getById(code.getCompetitionId()); @@ -1916,7 +1975,7 @@ // TCoursePackage byId = coursePackageService.getById(one.getCoursePackageId()); - OperatorUser operatorUser = storeClient.queryByStoreId(storeId); + OperatorUser operatorUser = storeClient.queryByStoreId(storeId); // Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo); @@ -1928,26 +1987,28 @@ // OperatorUser operatorUser = siteClient.queryOperator(stores); - OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo(); - op.setTransOutType("loginName"); - op.setTransOut("happysports@weparklife.com"); - op.setTransInType("userId"); - op.setTransIn(operatorUser.getAlipayNum()); - op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion())); + OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo(); + op.setTransOutType("loginName"); + op.setTransOut("happysports@weparklife.com"); + op.setTransInType("userId"); + op.setTransIn(operatorUser.getAlipayNum()); + op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion())); - List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>(); - ops.add(op); - model.setRoyaltyParameters(ops); + List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>(); + ops.add(op); + model.setRoyaltyParameters(ops); - request.setBizModel(model); + request.setBizModel(model); - AlipayTradeOrderSettleResponse response1 = alipayClient.execute(request); - if (response1.isSuccess()) { - System.out.println("调用成功"); - } else { - System.out.println("调用失败"); + AlipayTradeOrderSettleResponse response1 = alipayClient.execute(request); + if (response1.isSuccess()) { + System.out.println("调用成功"); + } else { + System.out.println("调用失败"); + } } + } @@ -2041,6 +2102,7 @@ coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); coupon.setUserId(userPointsMerchandises.get(0).getUserId()); coupon.setStatus(1); + coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); break; default: @@ -2071,6 +2133,7 @@ coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); coupon.setUserId(userPointsMerchandises.get(0).getUserId()); coupon.setStatus(1); + coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); break; default: -- Gitblit v1.7.1