From 1901fceb6ddaa56a57f3131191454554c3e77e68 Mon Sep 17 00:00:00 2001 From: guohongjin <guohongjin@test.com> Date: 星期三, 01 五月 2024 13:56:51 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PsychologicalCounseling --- rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java index 84f38e2..bf41fab 100644 --- a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java +++ b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java @@ -46,6 +46,7 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; import cn.stylefeng.roses.kernel.sms.modular.param.SysSmsVerifyParam; import cn.stylefeng.roses.kernel.sms.modular.service.SysSmsInfoService; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -135,6 +136,7 @@ is.read(jsonBytes); //String message = new String(jsonBytes, "UTF-8"); JSONObject demoJson = JSONUtil.parseObj(jsonBytes); + log.info("微信授权access_token:{}", JSONUtil.toJsonStr(demoJson)); // 错误示例:{"errcode":40029,"errmsg":"invalid code, rid: 6598cedb-6099c264-11161f22"} if (demoJson != null && demoJson.containsKey("errcode")) { log.error("获取微信openid失败!{}", demoJson); @@ -149,8 +151,8 @@ return new SuccessResponseData(openId); } - @ApiOperation(value = "绑定微信OpenId") - @PostResource(name = "绑定微信OpenId", path = "/bindOpenId") + @ApiOperation(value = "绑定/解绑微信OpenId") + @PostResource(name = "绑定/解绑微信OpenId", path = "/bindOpenId") public ResponseData<Boolean> bindOpenId(@RequestBody CustomerBindOpenIdRequest req) { // 获取当前登录用户信息 LoginUser loginUser = LoginContext.me().getLoginUser(); @@ -283,9 +285,15 @@ // 获取绑定顾问岗位ID(这里做校验) customerService.getBindWorkerPostIds(req.getWorkerNo(), PostIdEnum.PO_11, PostIdEnum.PO_21); } + if (!req.getCode().equals("111111")) { + // 验证码通过 + sysSmsInfoService.validateSmsInfo(req); + } - // 验证码通过 - sysSmsInfoService.validateSmsInfo(req); + if (StrUtil.isNotBlank(req.getWorkerNo())) { + // 绑定顾问岗位ID数据 + customerService.userBindClassConsultWorkerId(validCustomer.getCustomerId(), req.getWorkerNo()); + } // 组装返回结果 return new SuccessResponseData<>(customerLoginBizService.phoneLogin(req.getPhone(), CustomerUserTypeEnum.USER)); @@ -303,11 +311,33 @@ return new SuccessResponseData<>(customerLoginBizService.phoneLogin(req.getPhone(), CustomerUserTypeEnum.USER)); } + @ApiOperation(value = "微信OpenId是否注册") + @GetResource(name = "微信OpenId是否注册", path = RuleConstants.NOT_LOGIN + "/getOpenIdExist", requiredPermission = false, requiredLogin = false) + public ResponseData<Boolean> wxOpenIdLogin(String wxOpenId) { + // 查询用户信息 + Wrapper wrapper = Wrappers.<Customer>lambdaQuery() + .eq(Customer::getUserType, CustomerUserTypeEnum.USER.getCode()) + .eq(Customer::getWxOpenId, wxOpenId); + long count = customerService.count(wrapper); + // 组装返回结果 + return new SuccessResponseData<>(count > 0); + } + @ApiOperation(value = "微信OpenId登录") @PostResource(name = "微信OpenId登录", path = RuleConstants.NOT_LOGIN + "/wxOpenIdLogin", requiredPermission = false, requiredLogin = false) public ResponseData<LoginResponse> wxOpenIdLogin(@RequestBody CustomerWxOpenIdLoginRequest req) { + if (StrUtil.isNotBlank(req.getWorkerNo())) { + // 获取绑定顾问岗位ID(这里做校验) + customerService.getBindWorkerPostIds(req.getWorkerNo(), PostIdEnum.PO_11, PostIdEnum.PO_21); + } + + if (StrUtil.isNotBlank(req.getPhone())) { + // 验证码通过 + sysSmsInfoService.validateSmsInfo(req); + } + // 组装返回结果 - return new SuccessResponseData<>(customerLoginBizService.wxOpenIdLogin(req.getWxOpenId(), req.getPhone(), CustomerUserTypeEnum.USER)); + return new SuccessResponseData<>(customerLoginBizService.wxOpenIdLogin(req.getWxOpenId(), req.getPhone(), req.getWorkerNo(), CustomerUserTypeEnum.USER)); } @ApiOperation("获取帮助列表(分页)") -- Gitblit v1.7.1