diff --git a/src/main/java/com/peanut/modules/book/controller/MyUserController.java b/src/main/java/com/peanut/modules/book/controller/MyUserController.java index 9e56e562..49c1aad4 100644 --- a/src/main/java/com/peanut/modules/book/controller/MyUserController.java +++ b/src/main/java/com/peanut/modules/book/controller/MyUserController.java @@ -80,6 +80,7 @@ public class MyUserController { wrapper.and(p.getKey()!="",k->k.like(MyUserEntity::getName,p.getKey()).or().like(MyUserEntity::getTel,p.getKey())); wrapper.orderByDesc(MyUserEntity::getCreateTime); Page myUserEntityPage = userService.getBaseMapper().selectPage(new Page(p.getPage(), p.getLimit()), wrapper); + return R.ok().put("user",myUserEntityPage); } @@ -92,6 +93,7 @@ public class MyUserController { return null; } + /** * 信息 */ @@ -99,6 +101,10 @@ public class MyUserController { // @RequiresPermissions("book:user:info") public R info(@PathVariable("id") Integer id){ MyUserEntity user = userService.getById(id); +// List list = couponHistoryService.getBaseMapper().selectList(new QueryWrapper().eq("member_id", id) +// .eq("use_status", 0)); +// user.setConponsCount(list.size()); + return R.ok().put("user", user); } @@ -111,6 +117,7 @@ public class MyUserController { String saltMD5 = MD5Utils.getSaltMD5(password); user.setPassword(saltMD5); userService.save(user); + return R.ok(); } @@ -157,12 +164,15 @@ public class MyUserController { } + /** * 删除 */ @RequestMapping("/delete") +// @RequiresPermissions("book:user:delete") public R delete(@RequestBody Integer[] ids){ userService.removeByIds(Arrays.asList(ids)); + return R.ok(); } @@ -230,18 +240,70 @@ public class MyUserController { return MailUtil.sendMail("疯子读书邮箱验证码",code,email); } + /** + * 绑定用户电话号 + * @return + */ + @RequestMapping("/updateUserTel") + public R updateUserTel(@RequestBody Map map){ + String phone = map.get("phone").toString(); + String code = map.get("code").toString(); + Integer id = Integer.valueOf(map.get("id").toString()); + String redisCode = redisTemplate.opsForValue().get("RegistCode"+phone); + if(StringUtils.isEmpty(redisCode)){ + return R.error("验证码已过期,请重试"); + } + String lcode = redisCode.split("_")[0]; + if (!lcode.equals(code)) { + return R.error("短信验证码不符!"); + } + MyUserEntity userInfo = userService.getById(id); + userInfo.setTel(phone); + userService.updateById(userInfo); + return R.ok(); + } + + /** + * 绑定用户邮件 + * @return + */ + @RequestMapping("/updateUserEmail") + public R updateUserEmail(@RequestBody Map map){ + String email = map.get("email").toString(); + String code = map.get("code").toString(); + Integer id = Integer.valueOf(map.get("id").toString()); + String redisCode = redisTemplate.opsForValue().get("RegistCode"+email); + if(StringUtils.isEmpty(redisCode)){ + return R.error("验证码已过期,请重试"); + } + String lcode = redisCode.split("_")[0]; + if (!lcode.equals(code)) { + return R.error("短信验证码不符!"); + } + MyUserEntity userInfo = userService.getById(id); + userInfo.setEmail(email); + userService.updateById(userInfo); + return R.ok(); + + } + @RequestMapping("/register") public R register(@RequestParam("tel") String tel, @RequestParam("code") String code, @RequestParam("password") String password){ String redisCode = redisTemplate.opsForValue().get("RegistCode" + tel); + + if (StringUtils.isEmpty(redisCode)){ return R.error(500,"短信验证码已过期,请重试"); } + String lcode = redisCode.split("_")[0]; + if (!lcode.equals(code)) { return R.error(500,"短信验证码不符!"); } + MyUserEntity user = userService.getBaseMapper().selectOne(new QueryWrapper().eq("tel", tel)); if(!ObjectUtil.isEmpty(user)){ return R.error(500,"该手机号已经注册!"); @@ -253,6 +315,7 @@ public class MyUserController { userService.save(myUserEntity); R r = sysUserTokenService.createToken(myUserEntity.getId()); return R.ok("注册成功").put("userInfo",myUserEntity).put("token",r); + } /** * 常规注册 / 验证码 登录 @@ -301,6 +364,7 @@ public class MyUserController { @RequestMapping("/login") public R login(@RequestParam("phone") String phone, @RequestParam("password") String password) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); if (phone.contains("@")) { wrapper.eq(MyUserEntity::getEmail,phone); @@ -314,7 +378,7 @@ public class MyUserController { }else { int flag = 0; for (MyUserEntity user : userList) { - if (user.getPassword() == null) { + if (user.getPassword() == null|| user.getPassword().equals("")) { flag++; continue; } @@ -371,40 +435,70 @@ public class MyUserController { public R getEverhealthInfo(@RequestParam("phone") String phone, @RequestParam("password") String password, @RequestParam(value = "hsuserId", required = false) Integer hsuserId) { + String s = HttpUtil.get("http://101.201.146.165:8088/App-EH/app/phone.do?login&loginName="+ phone +"&loginPwd="+ password +""); + + System.out.println(s); + + + //将结果转成json 取值 JSONObject jsonObject = JSON.parseObject(s); + if (jsonObject.getString("msg").equals("登录名或密码错误!")) { + return R.error(404,jsonObject.getString("msg")); } + + String yljkOid = jsonObject.getJSONObject("obj").getString("customerOid"); String cellPhone = jsonObject.getJSONObject("obj").getString("cellPhone"); String customerIcons = jsonObject.getJSONObject("obj").getString("customerIcons"); String nameCN = jsonObject.getJSONObject("obj").getString("nameCN"); +// String password = jsonObject.getJSONObject("obj").getString("pass"); + + System.out.println("=====================yljkOid=============================="+yljkOid); + + //查询 当前 花生账号 和 当前绑定的 一路健康账号是否有绑定 关系 + MyUserEntity user = userService.getBaseMapper().selectOne(new QueryWrapper().eq("yljk_oid", yljkOid)); + if (user != null ) { + // 判断 hsuserId 是否为空 查询 传入的 花生id 和 查询的花生 id 是否一致 if (hsuserId != null && user.getId() == hsuserId){ + MyUserEntity myUserEntity = userService.getBaseMapper().selectById(hsuserId); //绑定 myUserEntity.setYljkOid(yljkOid); userService.updateById(myUserEntity); + return R.ok("绑定成功!"); + } + //如果系统存在该用户 并且绑定关系 成立 登录成功 ,返回用户信息 R r = sysUserTokenService.createToken(user.getId()); + return R.ok("登陆成功").put("userInfo",user).put("token",r); } + + + //不存在 返回 手机号 oid 姓名 头像 + HashMap map = new HashMap<>(); map.put("cellPhone",cellPhone); map.put("customerIcons",customerIcons); map.put("yljkOid",yljkOid); map.put("nameCN",nameCN); + return R.ok("绑定信息").put("everhealthInfo",map); } + + /** * 一路健康账号注册花生 */ @@ -414,14 +508,22 @@ public class MyUserController { @RequestParam("yljkOid") String yljkOid, @RequestParam("userName") String userName, @RequestParam("customerIcons") String customerIcons) { + String redisCode = redisTemplate.opsForValue().get("RegistCode" + phone); + + System.out.println(redisCode); + if (StringUtils.isEmpty(redisCode)){ return R.error(500,"短信验证码已过期,请重试"); } + String lcode = redisCode.split("_")[0]; + if (!lcode.equals(code)) { return R.error(500,"短信验证码不符!"); } + + //查询是否存在当前用户手机号 MyUserEntity userEntity = userService.getBaseMapper().selectOne(new QueryWrapper().eq("tel", phone)); if (userEntity == null) { @@ -447,6 +549,7 @@ public class MyUserController { R r = sysUserTokenService.createToken(userEntity.getId()); // todo 为什么验证成功以后不能实现页面跳转登录 R返回更新生成的token和电话 return R.ok().put("userInfo",userEntity).put("token",r); + } @RequestMapping("/test") @@ -474,6 +577,7 @@ public class MyUserController { } } msg = userService.buyEbook(userId, bookId,couponId); + if (msg.equals("当前书籍以购买,请勿重复购买!")) { return R.ok().put("msg",msg).put("status","error"); }else if (msg.equals("余额不足,请充值!")) { @@ -504,7 +608,9 @@ public class MyUserController { }else { return R.error("余额不足!扣除失败!"); } + } + TransactionDetailsEntity transactionDetailsEntity = new TransactionDetailsEntity(); transactionDetailsEntity.setUserId(Integer.valueOf(id)); transactionDetailsEntity.setOrderType("后台充扣操作"); @@ -521,6 +627,8 @@ public class MyUserController { BigDecimal balance = new BigDecimal(i); transactionDetailsEntity.setUserBalance(balance); transactionDetailsService.save(transactionDetailsEntity); + + // 插入 花生币 充值记录 // IosPayOrderEntity payPaymentOrderEntity = new IosPayOrderEntity(); // payPaymentOrderEntity.setUserId(Integer.valueOf(id)); @@ -530,6 +638,7 @@ public class MyUserController { // payPaymentOrderEntity.setRechargeStatus("success"); // payPaymentOrderEntity.setSuccessTime(new Date()); // payPaymentOrderService.save(payPaymentOrderEntity); + userService.updateById(byId); return R.ok(); } @@ -541,6 +650,7 @@ public class MyUserController { */ @RequestMapping("/openVipByVirtualCoin") public R openVipByVirtualCoin(@RequestParam Map params){ + Integer configId = Integer.valueOf(params.get("configId").toString()); String orderSn = params.get("orderSn").toString(); Integer userId = Integer.valueOf(params.get("userId").toString()); @@ -549,8 +659,14 @@ public class MyUserController { BookBuyConfigEntity bookBuyConfigEntity = bookBuyConfigService.getById(configId); String month = bookBuyConfigEntity.getMonth(); BigDecimal amount = new BigDecimal(bookBuyConfigEntity.getRealMoney()); + + + + + if(user.getPeanutCoin().compareTo(amount) >= 0){ user.setPeanutCoin(user.getPeanutCoin().subtract(amount)); + this.userService.updateById(user); // 添加消费信息 TransactionDetailsEntity transactionDetailsEntity = new TransactionDetailsEntity(); @@ -568,9 +684,14 @@ public class MyUserController { }else{ return R.error(500,"余额不足,请检查后操作!"); } + return R.ok(); } + + + + // // /** // * @Description: app微信登陆 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6a542f65..ef47e47e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -11,7 +11,7 @@ connection-timeout: 6000000ms spring: # 环境 dev|test|prod profiles: - active: test + active: dev # jackson时间格式化 jackson: time-zone: GMT+8