| | |
| | | import cc.mrbird.febs.vip.entity.MallVipConfig; |
| | | import cc.mrbird.febs.vip.mapper.MallVipConfigMapper; |
| | | import cc.mrbird.febs.yinhe.entity.YHAiCompany; |
| | | import cc.mrbird.febs.yinhe.entity.YHSysCompanyLevel; |
| | | import cc.mrbird.febs.yinhe.entity.YhAiMember; |
| | | import cc.mrbird.febs.yinhe.mapper.YHAiCompanyMapper; |
| | | import cc.mrbird.febs.yinhe.mapper.YHSysCompanyLevelMapper; |
| | | import cc.mrbird.febs.yinhe.mapper.YhAiMemberMapper; |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.collection.CollUtil; |
| | |
| | | private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class); |
| | | private final YhAiMemberMapper yhAiMemberMapper; |
| | | private final YHAiCompanyMapper yhAiCompanyMapper; |
| | | private final YHSysCompanyLevelMapper yhSysCompanyLevelMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse xcxLogin(ApiXcxLoginDto apiXcxLoginDto) throws IOException { |
| | | public FebsResponse xcxLogin(ApiXcxLoginDto apiXcxLoginDto){ |
| | | log.info("登录请求参数:{}", JSONObject.toJSONString(apiXcxLoginDto)); |
| | | FebsResponse febsResponse = new FebsResponse(); |
| | | String code = apiXcxLoginDto.getCode(); |
| | | log.info("code:" + code); |
| | | if (StrUtil.isNotBlank(code)) { |
| | | String requrl = getXcxLoginUrl(code); |
| | | String reslutData = HttpCurlUtil.sendGetHttp(requrl, null); |
| | | String reslutData = null; |
| | | try { |
| | | reslutData = HttpCurlUtil.sendGetHttp(requrl, null); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(reslutData); |
| | | log.info("微信登录获取到登录信息={}", json); |
| | | |
| | |
| | | entity.setSessionKey(sessionKey); |
| | | |
| | | entity.setMemberUuid(UUID.getSimpleUUIDString()); |
| | | |
| | | log.info("公司编码={}", apiXcxLoginDto.getCompanyId()); |
| | | if (StrUtil.isNotEmpty(apiXcxLoginDto.getCompanyId())){ |
| | | YHAiCompany aiCompany = yhAiCompanyMapper.selectOne( |
| | | Wrappers.lambdaQuery(YHAiCompany.class) |
| | |
| | | ); |
| | | if (ObjectUtil.isEmpty(aiCompany)){ |
| | | throw new FebsException("公司编码错误"); |
| | | } |
| | | String levelCode = aiCompany.getLevelCode(); |
| | | YHSysCompanyLevel yhSysCompanyLevel = yhSysCompanyLevelMapper.selectOne( |
| | | Wrappers.lambdaQuery(YHSysCompanyLevel.class) |
| | | .eq(YHSysCompanyLevel::getCode, levelCode) |
| | | ); |
| | | Integer memberNum = yhSysCompanyLevel.getMemberNum(); |
| | | List<YhAiMember> yhAiMembers = yhAiMemberMapper.selectList( |
| | | Wrappers.lambdaQuery(YhAiMember.class) |
| | | .eq(YhAiMember::getCompanyId, aiCompany.getId()) |
| | | .isNull(YhAiMember::getRoleId) |
| | | ); |
| | | Integer realNum = CollUtil.isEmpty(yhAiMembers) ? 0 : yhAiMembers.size(); |
| | | log.info("公司会员数:{}", realNum); |
| | | log.info("公司会员数:{}", memberNum); |
| | | log.info("公司会员数:{}", realNum >= memberNum); |
| | | if (realNum >= memberNum){ |
| | | throw new FebsException("公司会员已满"); |
| | | } |
| | | entity.setCompanyId(aiCompany.getId()); |
| | | } |
| | |
| | | entity.setInviteId(inviteId); |
| | | yhAiMemberMapper.updateById(entity); |
| | | } else { |
| | | if ("1".equals(entity.getAccountStatus())) { |
| | | if (entity.getAccountStatus() == 1) { |
| | | throw new FebsException("账号已停用"); |
| | | } |
| | | entity.setSessionKey(sessionKey); |
| | |
| | | redisUtils.del(existToken); |
| | | } |
| | | } |
| | | YhAiMember yhAiMember = yhAiMemberMapper.selectById(entity.getId()); |
| | | String token = IdUtil.simpleUUID(); |
| | | redisUtils.set(token, JSONObject.toJSONString(entity), -1); |
| | | redisUtils.set(redisKey, token, -1); |
| | | redisUtils.set(token, JSONObject.toJSONString(yhAiMember), 60 * 60 * 24); |
| | | redisUtils.set(redisKey, token, 60 * 60 * 24); |
| | | Map<String, Object> authInfo = new HashMap<>(); |
| | | authInfo.put("token", token); |
| | | authInfo.put("appid", xcxProperties.getXcxAppid()); |
| | | YhAiMember yhAiMember = yhAiMemberMapper.selectById(entity.getId()); |
| | | authInfo.put("member", yhAiMember); |
| | | authInfo.put("rasToken", generateAsaToken(token)); |
| | | String rasToken = generateAsaToken(token); |
| | | authInfo.put("rasToken", rasToken); |
| | | log.info("登录成功rasToken={}", rasToken); |
| | | febsResponse.success().data(authInfo); |
| | | } else { |
| | | return febsResponse.fail().message("自动登录失败"); |
| | |
| | | throw new FebsException("公司编码不存在"); |
| | | } |
| | | if (ObjectUtil.isNotEmpty(aiCompany)){ |
| | | String levelCode = aiCompany.getLevelCode(); |
| | | YHSysCompanyLevel yhSysCompanyLevel = yhSysCompanyLevelMapper.selectOne( |
| | | Wrappers.lambdaQuery(YHSysCompanyLevel.class) |
| | | .eq(YHSysCompanyLevel::getCode, levelCode) |
| | | ); |
| | | Integer memberNum = yhSysCompanyLevel.getMemberNum(); |
| | | List<YhAiMember> yhAiMembers = yhAiMemberMapper.selectList( |
| | | Wrappers.lambdaQuery(YhAiMember.class) |
| | | .eq(YhAiMember::getCompanyId, aiCompany.getId()) |
| | | .isNull(YhAiMember::getRoleId) |
| | | ); |
| | | Integer realNum = CollUtil.isEmpty(yhAiMembers) ? 0 : yhAiMembers.size(); |
| | | log.info("公司会员数:{}", realNum); |
| | | log.info("公司会员数:{}", memberNum); |
| | | log.info("公司会员数:{}", realNum >= memberNum); |
| | | if (realNum >= memberNum){ |
| | | throw new FebsException("公司会员已满"); |
| | | } |
| | | |
| | | companyId = aiCompany.getId(); |
| | | } |
| | | entity.setCompanyId(companyId); |
| | | } |
| | | entity.setCompanyId(companyId); |
| | | yhAiMemberMapper.updateById(entity); |
| | | |
| | | return new FebsResponse().success(); |
| | |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse getCompanyCode() { |
| | | |
| | | String companyCode = yhAiCompanyMapper.selectDictLabel("xcx_register_default","default"); |
| | | return new FebsResponse().success().data(companyCode); |
| | | } |
| | | |
| | | // public static void main(String[] args) { |
| | | // Long userld = 16425L; |
| | | // String shopAccount = "爱和美医疗"; |