| | |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.models.auth.In; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | public R<TUser> getUserById(@PathVariable("id") Integer id) { |
| | | TUser byId = userService.getById(id); |
| | | return R.ok(byId); |
| | | } |
| | | |
| | | @PostMapping("/vipInfoStudy") |
| | | @ApiOperation(value = "会员中心-获取会员说明、当前登录用户是否为会员、会员购买规格", tags = {"学习端-个人中心"}) |
| | | public R<List<VipInfoVO>> vipInfoStudy() { |
| | | if (tokenService.getLoginUserStudy() == null) { |
| | | throw new GlobalException("登录失效!"); |
| | | } |
| | | List<VipInfoVO> vipInfoVOS = new ArrayList<>(); |
| | | List<TVipSet> data = managementClient.getVipSet1().getData(); |
| | | for (TVipSet datum : data) { |
| | | VipInfoVO vipInfoVO = new VipInfoVO(); |
| | | vipInfoVO.setInfo(datum.getInfo()); |
| | | vipInfoVO.setId(datum.getId()); |
| | | Integer userid = tokenService.getLoginUserStudy().getUserid(); |
| | | TUser byId = userService.getById(userid); |
| | | // 先判断vipEndTime |
| | | if (byId.getVipEndTime() == null) { |
| | | vipInfoVO.setIsVip(0); |
| | | } else { |
| | | // 判断会员到期时间是否大于当前时间 |
| | | if (byId.getVipEndTime().getTime() > System.currentTimeMillis()) { |
| | | vipInfoVO.setIsVip(1); |
| | | } else { |
| | | vipInfoVO.setIsVip(0); |
| | | } |
| | | } |
| | | vipInfoVO.setTime(datum.getTime()); |
| | | vipInfoVO.setAmount(datum.getAmount()); |
| | | vipInfoVOS.add(vipInfoVO); |
| | | } |
| | | return R.ok(vipInfoVOS); |
| | | } |
| | | |
| | | @PostMapping("/vipInfo") |
| | |
| | | try { |
| | | System.err.println("进入支付宝回调"); |
| | | Map<String, String> map = payMoneyUtil.alipayCallback(request); |
| | | System.err.println("返回参数"+map); |
| | | System.err.println("返回参数" + map); |
| | | if (null != map) { |
| | | String out_trade_no = map.get("out_trade_no"); |
| | | String trade_no = map.get("trade_no"); |
| | |
| | | String s1 = out_trade_no.split("_")[1]; |
| | | Integer integer1 = Integer.valueOf(s1); |
| | | TVipOrder byId = vipOrderService.getById(integer1); |
| | | if (byId.getBackTime()!=null){ |
| | | if (byId.getBackTime() != null) { |
| | | return; |
| | | } |
| | | byId.setPayState(2); |
| | |
| | | @ApiImplicitParam(value = "类型 更换手机号的时候传该参数 传1", name = "type", dataType = "int"), |
| | | }) |
| | | public R<?> sendPhoneCode(String phone, Integer type) throws Exception { |
| | | if (type != null && type == 1){ |
| | | if (type != null && type == 1) { |
| | | List<TUser> list = userService.list(new QueryWrapper<TUser>() |
| | | .eq("phone", phone) |
| | | .ne("state", 3)); |
| | |
| | | return R.fail("更换的手机号已被使用!"); |
| | | } |
| | | LoginUserParent loginUser1 = tokenService.getLoginUser1(); |
| | | if (loginUser1==null){ |
| | | if (loginUser1 == null) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | TUser byId = userService.getById(loginUser1.getUserid()); |
| | | if (byId.getPhone().equals(phone)){ |
| | | if (byId.getPhone().equals(phone)) { |
| | | return R.fail("更换的手机号不能和原手机号相同!"); |
| | | } |
| | | } |
| | |
| | | } else { |
| | | byId.setIsVip(Constants.ONE); |
| | | } |
| | | }else{ |
| | | } 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); |
| | | System.err.println("支付宝退款数据" + stringStringMap1); |
| | | if (null == stringStringMap1) { |
| | | return R.fail("取消退款异常"); |
| | | } |
| | |
| | | if (!"10000".equals(code)) { |
| | | return R.fail(stringStringMap1.get("return_msg")); |
| | | } |
| | | System.err.println("修改会员订单状态"+ byId); |
| | | System.err.println("修改会员订单状态" + byId); |
| | | byId.setPayState(3); |
| | | byId.setBackTime(new Date()); |
| | | vipOrderService.updateById(byId); |
| | |
| | | byId1.setVipEndTime(null); |
| | | byId1.setVipPayTime(null); |
| | | userService.updateById(byId1); |
| | | userService.updateOne(byId1.getId(),null,null); |
| | | userService.updateOne(byId1.getId(), null, null); |
| | | } else { |
| | | System.err.println("最近的一次充值会员时间 将会员到期时间回退到上一次"); |
| | | // 最近的一次充值会员时间 |
| | |
| | | res.setIsVip(0); |
| | | } |
| | | } |
| | | if (vipEndTime!=null){ |
| | | if (vipEndTime != null) { |
| | | res.setVipPayTime(format.format(vipPayTime)); |
| | | } |
| | | res.setState(byId.getState()); |
| | | res.setName(name); |
| | | res.setPhone(phone); |
| | | if (insertTime!=null){ |
| | | if (insertTime != null) { |
| | | res.setInsertTime(format.format(insertTime)); |
| | | } |
| | | res.setIntegral(byId.getIntegral()); |
| | |
| | | int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); |
| | | Integer totalStudy = studyRecord.getTotalStudy(); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy) / 3600)); |
| | | res.setCurrent(studyRecord.getWeek()+""); |
| | | 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.setSurplus(studyRecord.getSurplus() + ""); |
| | | res.setTotalHours(studyRecord.getTotalStudy().doubleValue()); |
| | | res.setTodayHours(studyRecord.getTodayStudy().doubleValue()); |
| | | res.setMonthHours(studyRecord.getMonthStudy().doubleValue()); |