| | |
| | | import cn.stylefeng.guns.modular.business.dto.request.CustomerWxOpenIdLoginRequest; |
| | | import cn.stylefeng.guns.modular.business.entity.Help; |
| | | import cn.stylefeng.guns.modular.business.entity.MentalTestRecord; |
| | | import cn.stylefeng.guns.modular.business.entity.Version; |
| | | import cn.stylefeng.guns.modular.business.service.IAreaService; |
| | | import cn.stylefeng.guns.modular.business.service.IHelpService; |
| | | import cn.stylefeng.guns.modular.business.service.IMentalTestRecordService; |
| | | import cn.stylefeng.guns.modular.business.service.IVersionService; |
| | | import cn.stylefeng.rest.modular.user.service.CustomerLoginBizService; |
| | | import cn.stylefeng.roses.kernel.auth.api.AuthServiceApi; |
| | | import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; |
| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private IAreaService areaService; |
| | | @Resource |
| | | private IVersionService versionService; |
| | | |
| | | @ApiOperation(value = "获取当前最新版本") |
| | | @PostResource(name = "获取当前最新版本", path = RuleConstants.NOT_LOGIN +"/newversion") |
| | | public ResponseData<Version> newversion() { |
| | | Version one = versionService.getOne(Wrappers.lambdaQuery(Version.class).orderByDesc(Version::getCreateTime).eq(Version::getIsDelete, 0).last("limit 1")); |
| | | return new SuccessResponseData<>(one); |
| | | } |
| | | |
| | | @ApiOperation(value = "获取微信openId") |
| | | @GetResource(name = "获取微信openId", path = RuleConstants.NOT_LOGIN + "/getWxOpenId", requiredPermission = false, requiredLogin = false) |
| | |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | |
| | | // 获取绑定顾问岗位ID |
| | | String[] bindWorkerPostIds = customerService.getBindWorkerPostIds(workerNo, post11Enum, post21Enum); |
| | | Customer workerByNo = customerService.getOne( |
| | | Wrappers.<Customer>lambdaUpdate().eq(Customer::getWorkerNo, workerNo).last("LIMIT 1") |
| | | ); |
| | | |
| | | LambdaUpdateWrapper<Customer> wrapper = Wrappers.<Customer>lambdaUpdate().eq(Customer::getCustomerId, userId); |
| | | for (String postId : bindWorkerPostIds) { |
| | | if (postId.equals(post11Enum.getCode().toString())) { |
| | | wrapper.set(Customer::getClassWorkerId, userId); |
| | | wrapper.set(Customer::getClassWorkerId, workerByNo.getCustomerId()); |
| | | } else if (postId.equals(post21Enum.getCode().toString())) { |
| | | wrapper.set(Customer::getConsultWorkerId, userId); |
| | | wrapper.set(Customer::getConsultWorkerId, workerByNo.getCustomerId()); |
| | | } |
| | | } |
| | | |
| | |
| | | // 获取绑定顾问岗位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)); |
| | |
| | | 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("获取帮助列表(分页)") |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageNo", value = "分页:第几页(从1开始)", dataTypeClass = Integer.class, paramType = "query"), |
| | | @ApiImplicitParam(name = "pageSize", value = "分页:每页大小(默认10)", dataTypeClass = Integer.class, paramType = "query"), |
| | | @ApiImplicitParam(name = "title", value = "帮助内容", dataTypeClass = Integer.class, paramType = "query") |
| | | @ApiImplicitParam(name = "title", value = "标题", dataTypeClass = String.class, paramType = "query"), |
| | | @ApiImplicitParam(name = "content", value = "内容", dataTypeClass = String.class, paramType = "query") |
| | | } ) |
| | | public ResponseData<PageResult<Help>> page(Integer pageNo, Integer pageSize,String title) { |
| | | LambdaQueryWrapper<Help> lambdaQueryWrapper = new LambdaQueryWrapper<Help>().eq(Help::getIsDelete,false) |
| | | .orderByAsc(Help::getSort); |
| | | lambdaQueryWrapper.like(StrUtil.isNotBlank(title),Help::getTitle,title).or().like(StrUtil.isNotBlank(title),Help::getContent,title); |
| | | public ResponseData<PageResult<Help>> page(Integer pageNo, Integer pageSize, String title, String content) { |
| | | LambdaQueryWrapper<Help> lambdaQueryWrapper = new LambdaQueryWrapper<Help>().eq(Help::getIsDelete, false).orderByAsc(Help::getSort); |
| | | lambdaQueryWrapper.like(StrUtil.isNotBlank(title), Help::getTitle, title); |
| | | lambdaQueryWrapper.like(StrUtil.isNotBlank(content), Help::getContent, content); |
| | | Page<Help> page = this.helpService.page(PageFactory.page(pageNo, pageSize), lambdaQueryWrapper); |
| | | return new SuccessResponseData<>(PageResultFactory.createPageResult(page)); |
| | | } |