From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 05 二月 2024 11:56:52 +0800 Subject: [PATCH] 更新bug修改 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 253 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 152 insertions(+), 101 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..8676cfc 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); // 介绍有礼 @@ -454,43 +459,40 @@ return ResultUtil.error("请先开启定位", ""); } Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat()); - Integer num = 0; - Integer activityId = null; if (null != geocode) { - String province = geocode.get("province"); - String provinceCode = geocode.get("provinceCode"); - String city = geocode.get("city"); String cityCode = geocode.get("cityCode"); // 根据所在市code 查询是否有介绍有礼活动 - IntroduceRewards res = introduceRewardsClient.getGiftList(cityCode); + List<IntroduceRewards> res = introduceRewardsClient.getGiftList(cityCode); if (res != null) { - num = res.getGiveClass(); - activityId = res.getId(); - if (ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) { - List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>() - .eq(TAppUser::getPhone, addAppUserVo.getInvitePhone())); - if (tAppUsers.size() > 0) { - addAppUserVo.setReferralUserId(tAppUsers.get(0).getId()); + for (IntroduceRewards re : res) { + Integer num = re.getGiveClass(); + Integer activityId = re.getId(); + if (ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) { + List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>() + .eq(TAppUser::getPhone, addAppUserVo.getInvitePhone())); + if (tAppUsers.size() > 0) { + addAppUserVo.setReferralUserId(tAppUsers.get(0).getId()); + } } - } - if (num != 0) { - TAppGift tAppGift = new TAppGift(); - TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>() - .eq("phone", addAppUserVo.getInvitePhone())); - if (phone == null) { - return ResultUtil.error("推荐人手机号未注册玩湃会员!"); - } else { - tAppGift.setUserName(phone.getName()); - tAppGift.setUserPhone(phone.getPhone()); + if (num != 0) { + TAppGift tAppGift = new TAppGift(); + TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>() + .eq("phone", addAppUserVo.getInvitePhone())); + if (phone == null) { + return ResultUtil.error("推荐人手机号未注册玩湃会员!"); + } else { + tAppGift.setUserName(phone.getName()); + tAppGift.setUserPhone(phone.getPhone()); + } + tAppGift.setUserId(addAppUserVo.getReferralUserId()); + tAppGift.setNum(num); + tAppGift.setShareUserId(tAppUser.getId()); + tAppGift.setShareUserName(tAppUser.getPhone()); + tAppGift.setShareUserPhone(tAppUser.getPhone()); + tAppGift.setActivityId(activityId); + tAppGift.setInsertTime(new Date()); + appGiftService.save(tAppGift); } - tAppGift.setUserId(addAppUserVo.getReferralUserId()); - tAppGift.setNum(num); - tAppGift.setShareUserId(tAppUser.getId()); - tAppGift.setShareUserName(tAppUser.getPhone()); - tAppGift.setShareUserPhone(tAppUser.getPhone()); - tAppGift.setActivityId(activityId); - tAppGift.setInsertTime(new Date()); - appGiftService.save(tAppGift); } } } @@ -545,6 +547,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 +581,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 +638,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 +1052,7 @@ goods.add(commodity); } } + List<Coupon> allCoupons = ucponClient.getAllCoupons(commodityRequest); if (allCoupons.size() > 0) { for (Coupon allCoupon : allCoupons) { @@ -1143,6 +1172,7 @@ if (tAppUser.getState() == 2) { return ResultUtil.error("您的账号已被冻结"); } + boolean newUser = false; List<TAppUser> tAppUsers1 = appUserMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getPhone()).eq(TAppUser::getState, 1)); if (tAppUsers1.size() > 0) { TAppUser tAppUser1 = tAppUsers1.get(0); @@ -1160,56 +1190,49 @@ appUserMapper.updateById(tAppUser); token = getToken(tAppUser); map.put("token", token); - + newUser = true; } -// tAppUser.setPhone(dto.getPhone()); - - if (ToolUtil.isNotEmpty(dto.getInvitePhone())) { + if (newUser && ToolUtil.isNotEmpty(dto.getInvitePhone())) { if (ToolUtil.isEmpty(dto.getLat()) || ToolUtil.isEmpty(dto.getLon())) { return ResultUtil.error("请先开启定位"); } - TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState, 1)); - if (tAppUser1 != null) { - Map<String, String> geocode = null; - try { - geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat()); - } catch (Exception e) { - e.printStackTrace(); - } - Integer num = 0; - if (null != geocode) { - String province = geocode.get("province"); - String provinceCode = geocode.get("provinceCode"); - String city = geocode.get("city"); - String cityCode = geocode.get("cityCode"); - IntroduceRewards giftList = introduceRewardsClient.getGiftList(cityCode); - num = giftList.getGiveClass(); - } - Integer userId = null; - if (ToolUtil.isNotEmpty(dto.getInvitePhone())) { - List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone())); - if (tAppUsers.size() > 0) { - userId = tAppUsers.get(0).getId(); - } - } - if (userId != null) { - TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, userId)); - if (one != null) { - one.setNum(one.getNum() + num); - appGiftService.updateById(one); - } else { - TAppGift tAppGift = new TAppGift(); - tAppGift.setUserId(userId); - tAppGift.setNum(num); - appGiftService.save(tAppGift); + TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>() + .eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState, 1)); + if(null == tAppUser1){ + return ResultUtil.error("邀请人还未注册账号"); + } + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat()); + } catch (Exception e) { + e.printStackTrace(); + } + if (null != geocode) { + String cityCode = geocode.get("cityCode"); + // 根据所在市code 查询是否有介绍有礼活动 + List<IntroduceRewards> res = introduceRewardsClient.getGiftList(cityCode); + if (res != null) { + for (IntroduceRewards re : res) { + Integer num = re.getGiveClass(); + Integer activityId = re.getId(); + if (num != 0) { + TAppGift tAppGift = new TAppGift(); + tAppGift.setUserName(tAppUser1.getName()); + tAppGift.setUserPhone(tAppUser1.getPhone()); + tAppGift.setUserId(tAppUser1.getId()); + tAppGift.setNum(num); + tAppGift.setShareUserId(tAppUser.getId()); + tAppGift.setShareUserName(tAppUser.getPhone()); + tAppGift.setShareUserPhone(tAppUser.getPhone()); + tAppGift.setActivityId(activityId); + tAppGift.setInsertTime(new Date()); + appGiftService.save(tAppGift); + } } } } } - -// appUserMapper.updateById(tAppUser); - return ResultUtil.success(map); } @@ -1311,7 +1334,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 +1360,7 @@ return ResultUtil.success(returnId); } //积分+现金 - if(coupon.getRedemptionMethod() == 1){ + if(coupon.getRedemptionMethod() == 2){ userCouponPaymentClient.addUserCouponPayment(userCouponPayment); try { if(exchangeType.getPayType() == 1){ @@ -1357,7 +1380,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 +1472,7 @@ } } pointsMerchandise.setCode(code); + pointsMerchandise.setInsertTime(new Date()); returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise); } @@ -1478,6 +1515,7 @@ packagePayment.setStatus(1); packagePayment.setState(1); packagePayment.setCode(code); + packagePayment.setInsertTime(new Date()); // paymentClient.savePaymentCoursePackage(packagePayment); OrderDto orderDto = new OrderDto(); @@ -1497,6 +1535,7 @@ coupon.setCouponId(exchangeType.getGoodId()); coupon.setUserId(userIdFormRedis); coupon.setStatus(1); + coupon.setInsertTime(new Date()); ucponClient.insertToAppuserCoupon(coupon); } break; @@ -1656,17 +1695,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 +1736,10 @@ //有待支付的订单,这里不处理 userCouponPayment1.setStatus(-1); userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1); + if ("TRADE_FINISHED".equals(s)) { + // todo 资金结算 + + } break; } if ("TRADE_SUCCESS".equals(s)) { @@ -1706,22 +1747,23 @@ 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 +1835,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() { @@ -1840,6 +1881,11 @@ mcClient.updateDetailsUserPointMercase(userPointsMerchandise); } 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 +1954,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 +1963,7 @@ // TCoursePackage byId = coursePackageService.getById(one.getCoursePackageId()); - OperatorUser operatorUser = storeClient.queryByStoreId(storeId); + OperatorUser operatorUser = storeClient.queryByStoreId(storeId); // Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo); @@ -1928,26 +1975,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 +2090,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 +2121,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