| | |
| | | try { |
| | | System.err.println("进入支付宝回调"); |
| | | Map<String, String> map = payMoneyUtil.alipayCallback(request); |
| | | System.err.println("返回参数"); |
| | | System.err.println("返回参数"+map); |
| | | if (null != map) { |
| | | String out_trade_no = map.get("out_trade_no"); |
| | | String trade_no = map.get("trade_no"); |
| | |
| | | if (!rCode.equalsIgnoreCase(phoneCode)) { |
| | | return R.errorCode("登录失败,手机验证码无效!"); |
| | | } else { |
| | | tUser1.setHeadImg("https://haitunyingyu.obs.cn-southwest-2.myhuaweicloud.com/admin/1c6ee218aa18434db2e86df903990de8.jpg"); |
| | | tUser1 = getUser(phone); |
| | | tUser1.setAccount("用户"+UUIDUtil.getNumberRandom(6)); |
| | | userService.save(tUser1); |
| | | } |
| | | } |
| | | } else { |
| | | tUser1 = getUser(phone); |
| | | tUser1.setHeadImg("https://haitunyingyu.obs.cn-southwest-2.myhuaweicloud.com/admin/1c6ee218aa18434db2e86df903990de8.jpg"); |
| | | tUser1.setAccount("用户"+UUIDUtil.getNumberRandom(6)); |
| | | userService.save(tUser1); |
| | | } |
| | | } |
| | |
| | | } |
| | | } else { |
| | | user = getUser(phone); |
| | | user.setHeadImg("https://haitunyingyu.obs.cn-southwest-2.myhuaweicloud.com/admin/1c6ee218aa18434db2e86df903990de8.jpg"); |
| | | user.setAccount("用户"+UUIDUtil.getNumberRandom(6)); |
| | | userService.save(user); |
| | | } |
| | | // 生成登录用户信息 |
| | |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | TUser byId = userService.getById(loginUserStudy.getUserid()); |
| | | // 判断用户会员到期时间 用于判断这个用户到底是不是会员 |
| | | if (null != byId.getVipEndTime()) { |
| | | Date vipEndTime = byId.getVipEndTime(); |
| | | Date now = new Date(); |
| | | if (vipEndTime.before(now)) { |
| | | byId.setIsVip(Constants.ZERO); |
| | | } else { |
| | | byId.setIsVip(Constants.ONE); |
| | | } |
| | | }else{ |
| | | byId.setIsVip(Constants.ZERO); |
| | | } |
| | | return R.ok(byId); |
| | | } |
| | | |
| | |
| | | Object redisPhoneCode = redisService.getCacheObject(RedisConstants.PHONE_CODE + phone); |
| | | if (null == redisPhoneCode) { |
| | | return R.errorCode("手机验证码无效"); |
| | | } else { |
| | | }else{ |
| | | // redis 验证码的value 为 code:时间戳 |
| | | String rCodeAndTime = String.valueOf(redisPhoneCode); |
| | | String rCode = rCodeAndTime.split(":")[0]; |
| | |
| | | case 2: |
| | | // 支付宝退款 |
| | | Map<String, String> stringStringMap1 = payMoneyUtil.aliRefund(transactionId, byId.getMoney().toString()); |
| | | System.err.println("支付宝退款数据"+ stringStringMap1); |
| | | if (null == stringStringMap1) { |
| | | return R.fail("取消退款异常"); |
| | | } |
| | |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(new Date()); |
| | | calendar.add(Calendar.MONTH, -byId.getCount()); |
| | | Date dateAfterOneMonth = calendar.getTime(); |
| | | Integer userId = byId.getUserId(); |
| | | TUser byId1 = userService.getById(userId); |
| | | // 判断用户是不是第一次充值 |
| | |
| | | studyRecord.setMonthStudy(Math.round((float) monthStudy / 3600)); |
| | | // 总时长还需计算上游戏测试成绩时长 |
| | | List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, dto.getId()) |
| | | .eq(TGameRecord::getDisabled, 0).list(); |
| | | .eq(TGameRecord::getDisabled, 0) |
| | | .orderByDesc(TGameRecord::getCreateTime) |
| | | .list(); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm"); |
| | | for (TGameRecord tGameRecord : gameRecordList) { |
| | | tGameRecord.setTime(simpleDateFormat.format(tGameRecord.getCreateTime())); |
| | | } |
| | | int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); |
| | | Integer totalStudy = studyRecord.getTotalStudy(); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy) / 3600)); |
| | | res.setCurrent(studyRecord.getWeek()+""); |
| | | // 剩余周目 |
| | | List<TStudy> studyList = studyService.lambdaQuery().eq(TStudy::getDisabled, 0) |
| | | .eq(TStudy::getType, Constants.ONE) |
| | | .orderByAsc(TStudy::getWeek).list(); |
| | | |
| | | int size = studyService.residueWeek(studyRecord, studyList); |
| | | studyRecord.setSurplus(size); |
| | | res.setSurplus(studyRecord.getSurplus()+""); |
| | | res.setTotalHours(studyRecord.getTotalStudy().doubleValue()); |
| | | res.setTodayHours(studyRecord.getTodayStudy().doubleValue()); |