三江统一登录的增量用户和机构同步
This commit is contained in:
parent
7565de20d4
commit
bd38907f72
@ -1,17 +1,23 @@
|
||||
package com.zhgd.sjmq.service;
|
||||
|
||||
import com.chinacreator.c2.uop.sync.message.org.OrgCreateMessage;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.chinacreator.c2.uop.sync.message.categoryorg.CategoryOrgCreateMessage;
|
||||
import com.chinacreator.c2.uop.sync.message.categoryorg.CategoryOrgDeleteMessage;
|
||||
import com.chinacreator.c2.uop.sync.message.categoryorg.CategoryOrgUpdateMessage;
|
||||
import com.chinacreator.c2.uop.sync.message.org.*;
|
||||
import com.chinacreator.c2.uop.sync.message.user.*;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SjMqService {
|
||||
@Autowired
|
||||
@ -20,29 +26,306 @@ public class SjMqService {
|
||||
private SystemUserMapper systemUserMapper;
|
||||
|
||||
private Company convertToCompany(OrgCreateMessage orgCreateMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgCreateMessage));
|
||||
Map<String, Object> organization = orgCreateMessage.getOrganization();
|
||||
String id = orgCreateMessage.getId();
|
||||
Map<String, Object> oMap = orgCreateMessage.getOrganization();
|
||||
String name = String.valueOf(oMap.get("name"));
|
||||
String pids = String.valueOf(oMap.get("pid"));
|
||||
String pid = StringUtils.substringAfterLast(pids, "-");
|
||||
Company parentCompany = companyMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getCompanySn, pid));
|
||||
Company company = new Company();
|
||||
//company.setCompanyId();
|
||||
//company.setCompanySn();
|
||||
//company.setCompanyName();
|
||||
//company.setCreateTime();
|
||||
//company.setCompanyTel();
|
||||
//company.setCompanyType();
|
||||
//company.setParentId();
|
||||
//company.setHeadquartersSn();
|
||||
//company.setLongitude();
|
||||
//company.setLatitude();
|
||||
//company.setPropagateFile();
|
||||
//company.setFullSn();
|
||||
//company.setRangeAddr();
|
||||
//company.setParentSn();
|
||||
//company.setEditType();
|
||||
//公司sn就是那边的id
|
||||
company.setCompanySn(id);
|
||||
company.setCompanyName(name);
|
||||
company.setCompanyType(parentCompany.getCompanyType() + 1);
|
||||
company.setParentId(parentCompany.getCompanyId());
|
||||
company.setHeadquartersSn("2e07f0e2569c43fb835ae2082d1d314f");
|
||||
return company;
|
||||
}
|
||||
|
||||
public void onOrgCreated(OrgCreateMessage orgCreateMessage) {
|
||||
/*
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "eNiamYRsRSfibgy1o9KaukNg",
|
||||
"organization": {
|
||||
"creator": "Z4K0Un08TibykTF5tiauD15Q",
|
||||
"code": "",
|
||||
"jgzt": "",
|
||||
"name": "测试名称",
|
||||
"pid": "2-2-le5DuXudTHe7jjUfCEDIGQ",
|
||||
"sn": 999,
|
||||
"id": "eNiamYRsRSfibgy1o9KaukNg"
|
||||
},
|
||||
"timestamp": 1680073256840
|
||||
}
|
||||
*/
|
||||
Company company = convertToCompany(orgCreateMessage);
|
||||
companyMapper.insert(company);
|
||||
}
|
||||
|
||||
public void onOrgUpdated(OrgUpdateMessage orgUpdateMessage) {
|
||||
|
||||
}
|
||||
|
||||
public void onOrgDeleted(OrgDeleteMessage orgDeleteMessage) {
|
||||
/*
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "BkIaPt9FT626g68qZJ95xQ",
|
||||
"organization": {
|
||||
"categoryOrgId": "2-2",
|
||||
"creator": "1",
|
||||
"allUserInstanceIds": [],
|
||||
"jgzt": "",
|
||||
"name": "测试2",
|
||||
"pid": "2-2",
|
||||
"allOrgInstanceIds": [
|
||||
"2-2-BkIaPt9FT626g68qZJ95xQ"
|
||||
],
|
||||
"id": "BkIaPt9FT626g68qZJ95xQ",
|
||||
"lastModified": 1680075024794,
|
||||
"sn": 999,
|
||||
"delflag": "n",
|
||||
"createAt": 1680075025000
|
||||
},
|
||||
"timestamp": 1680075115353
|
||||
}
|
||||
*/
|
||||
companyMapper.delete(new LambdaQueryWrapper<Company>().eq(Company::getCompanySn, orgDeleteMessage.getId()));
|
||||
|
||||
}
|
||||
|
||||
public void onOrgCategoryChanged(OrgCategoryChangeMessage orgCategoryChangeMessage) {
|
||||
|
||||
}
|
||||
|
||||
public void onBatchOrgCategoryChanged(BatchOrgCategoryChangeMessage arg0) {
|
||||
|
||||
}
|
||||
|
||||
public void onCategoryOrgCreate(CategoryOrgCreateMessage arg0) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void onCategoryOrgUpdate(CategoryOrgUpdateMessage categoryOrgUpdateMessage) {
|
||||
|
||||
}
|
||||
|
||||
public void onCategoryOrgDelete(CategoryOrgDeleteMessage categoryOrgDeleteMessage) {
|
||||
|
||||
}
|
||||
|
||||
public void onUserOrgChanged(UserOrgChangeMessage userOrgChangeMessage) {
|
||||
/*
|
||||
新增用户:
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "wnibicyw0TTVSymhmKmWW1ZA",
|
||||
"orgId": "le5DuXudTHe7jjUfCEDIGQ",
|
||||
"timestamp": 1680080521157,
|
||||
"type": "COPY",
|
||||
"user": {
|
||||
"creator": "Z4K0Un08TibykTF5tiauD15Q",
|
||||
"$opType": "copy",
|
||||
"sex": "0",
|
||||
"jobs": "测试岗位",
|
||||
"categoryUsers": [],
|
||||
"workno": "",
|
||||
"phone": "17708138875",
|
||||
"name": "测试234",
|
||||
"state": "1",
|
||||
"sn": 0,
|
||||
"id": "wnibicyw0TTVSymhmKmWW1ZA",
|
||||
"certificateNum": "511622199408010230",
|
||||
"authLevel": "0",
|
||||
"email": "",
|
||||
"effectiveDate": 0,
|
||||
"certificateType": "idcard"
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
转移用户:
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "906WVquxTvuICklTCib2ycw",
|
||||
"oldOrgId": "le5DuXudTHe7jjUfCEDIGQ",
|
||||
"orgId": "u0D9zibI1TjKUCVjub94DiaA",
|
||||
"timestamp": 1680082252596,
|
||||
"type": "MOVE",
|
||||
"user": {
|
||||
"creator": "Z4K0Un08TibykTF5tiauD15Q",
|
||||
"jp": "csdjzh",
|
||||
"sex": "1",
|
||||
"jobs": "",
|
||||
"createAt": 1680128267000,
|
||||
"orgId": "2-2-u0D9zibI1TjKUCVjub94DiaA",
|
||||
"workno": "",
|
||||
"categoryOrgId": "2-2",
|
||||
"orgIds": [
|
||||
"le5DuXudTHe7jjUfCEDIGQ"
|
||||
],
|
||||
"$orgAttrs": [
|
||||
{
|
||||
"org": {
|
||||
"orgName": "宜宾三江投资集团",
|
||||
"orgId": "le5DuXudTHe7jjUfCEDIGQ"
|
||||
},
|
||||
"attrs": {
|
||||
"orgInstanceId": "2-2-le5DuXudTHe7jjUfCEDIGQ",
|
||||
"sn": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"phone": "023432434",
|
||||
"name": "测试顶级账号",
|
||||
"id": "906WVquxTvuICklTCib2ycw",
|
||||
"lastModified": 1680081467472,
|
||||
"state": "1",
|
||||
"certificateNum": "540102197511230593",
|
||||
"authLevel": "0",
|
||||
"delflag": "n",
|
||||
"email": "",
|
||||
"certificateType": "idcard",
|
||||
"qp": "ceshidingjizhanghao"
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
删除用户:
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "wnibicyw0TTVSymhmKmWW1ZA",
|
||||
"orgId": "le5DuXudTHe7jjUfCEDIGQ",
|
||||
"timestamp": 1680083189110,
|
||||
"type": "DELETE"
|
||||
}
|
||||
*/
|
||||
UserOrgChangeType type = userOrgChangeMessage.getType();
|
||||
if (type.equals(UserOrgChangeType.COPY)) {
|
||||
//复制 新增用户
|
||||
SystemUser systemUser = convertToSystemUser(userOrgChangeMessage);
|
||||
systemUserMapper.insert(systemUser);
|
||||
} else if (type.equals(UserOrgChangeType.MOVE)) {
|
||||
//移动用户
|
||||
SystemUser systemUser = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, userOrgChangeMessage.getId()));
|
||||
if (systemUser != null) {
|
||||
systemUser.setSn(userOrgChangeMessage.getOldOrgId());
|
||||
systemUserMapper.updateById(systemUser);
|
||||
}
|
||||
} else if (type.equals(UserOrgChangeType.DELETE)) {
|
||||
//删除用户
|
||||
systemUserMapper.delete(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, userOrgChangeMessage.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
private SystemUser convertToSystemUser(UserOrgChangeMessage userOrgChangeMessage) {
|
||||
String oldOrgId = userOrgChangeMessage.getOldOrgId();
|
||||
Company company = companyMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getCompanySn, oldOrgId));
|
||||
if (company == null) {
|
||||
throw new RuntimeException("三江mq同步用户,用户的企业查询为空!");
|
||||
}
|
||||
Map<String, Object> userMap = userOrgChangeMessage.getUser();
|
||||
String account = String.valueOf(userMap.get("certificateNum"));
|
||||
String name = String.valueOf(userMap.get("name"));
|
||||
String phone = String.valueOf(userMap.get("phone"));
|
||||
SystemUser systemUser = new SystemUser();
|
||||
systemUser.setAccount(account);
|
||||
//默认密码:123456
|
||||
systemUser.setPassword("$2a$12$Bb9UuoLJQSYchIgl3yW05eyc1qPCMf4ogKn20VsN22VjELa73kjpu");
|
||||
systemUser.setShowPassword("123456");
|
||||
systemUser.setRealName(name);
|
||||
systemUser.setUserTel(phone);
|
||||
systemUser.setSn(oldOrgId);
|
||||
systemUser.setAccountType(getAccountType(company.getCompanyType()));
|
||||
systemUser.setSjUnifiedAuthenticationUserId(userOrgChangeMessage.getId());
|
||||
return systemUser;
|
||||
}
|
||||
|
||||
private Integer getAccountType(Integer companyType) {
|
||||
/*
|
||||
`company_type` tinyint(3) DEFAULT NULL COMMENT '企业类型,1总部,2区域,3城市,4项目部',
|
||||
`account_type` tinyint(3) DEFAULT '2' COMMENT '账号类型,1系统管理员,2企业管理员账号,3企业区账号,4企业市账号,5项目账号,6项目子账号,7项目部账号,8参建单位,9政务',
|
||||
*/
|
||||
switch (companyType) {
|
||||
case 2:
|
||||
return 3;
|
||||
case 3:
|
||||
return 4;
|
||||
case 4:
|
||||
return 5;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void onUserCreated(UserCreateMessage userCreateMessage) {
|
||||
|
||||
}
|
||||
|
||||
public void onUserUpdated(UserUpdateMessage userUpdateMessage) {
|
||||
/*
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "906WVquxTvuICklTCib2ycw",
|
||||
"timestamp": 1680081467489,
|
||||
"user": {
|
||||
"creator": "Z4K0Un08TibykTF5tiauD15Q",
|
||||
"jp": "csdjzh",
|
||||
"sex": "1",
|
||||
"jobs": "",
|
||||
"createAt": 1680128267000,
|
||||
"workno": "",
|
||||
"categoryOrgId": "2-2",
|
||||
"orgIds": [
|
||||
"le5DuXudTHe7jjUfCEDIGQ"
|
||||
],
|
||||
"$orgAttrs": [
|
||||
{
|
||||
"org": {
|
||||
"orgName": "宜宾三江投资集团",
|
||||
"orgId": "le5DuXudTHe7jjUfCEDIGQ"
|
||||
},
|
||||
"attrs": {
|
||||
"orgInstanceId": "2-2-le5DuXudTHe7jjUfCEDIGQ",
|
||||
"sn": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"phone": "023432434",
|
||||
"name": "测试顶级账号",
|
||||
"id": "906WVquxTvuICklTCib2ycw",
|
||||
"lastModified": 1680081467472,
|
||||
"state": "1",
|
||||
"certificateNum": "540102197511230593",
|
||||
"authLevel": "0",
|
||||
"delflag": "n",
|
||||
"email": "",
|
||||
"certificateType": "idcard",
|
||||
"qp": "ceshidingjizhanghao"
|
||||
}
|
||||
}
|
||||
*/
|
||||
SystemUser systemUser = convertToSystemUserUpdate(userUpdateMessage);
|
||||
systemUserMapper.update(systemUser, new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, userUpdateMessage.getId()));
|
||||
}
|
||||
|
||||
private SystemUser convertToSystemUserUpdate(UserUpdateMessage userUpdateMessage) {
|
||||
Map<String, Object> userMap = userUpdateMessage.getUser();
|
||||
String account = String.valueOf(userMap.get("certificateNum"));
|
||||
String name = String.valueOf(userMap.get("name"));
|
||||
String phone = String.valueOf(userMap.get("phone"));
|
||||
SystemUser systemUser = new SystemUser();
|
||||
systemUser.setAccount(account);
|
||||
//默认密码:123456
|
||||
systemUser.setPassword("$2a$12$Bb9UuoLJQSYchIgl3yW05eyc1qPCMf4ogKn20VsN22VjELa73kjpu");
|
||||
systemUser.setShowPassword("123456");
|
||||
systemUser.setRealName(name);
|
||||
systemUser.setUserTel(phone);
|
||||
return systemUser;
|
||||
}
|
||||
|
||||
public void onUserDeleted(UserDeleteMessage userDeleteMessage) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,93 +21,160 @@ import com.chinacreator.c2.uop.sync.message.user.UserOrgChangeMessage;
|
||||
import com.chinacreator.c2.uop.sync.message.user.UserUpdateMessage;
|
||||
import com.chinacreator.c2.uop.sync.receiver.UopModifyMessageListener;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
|
||||
import com.zhgd.jeecg.common.util.SpringContextUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 三江统一登录的mq数据同步处理service
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class UopCustomMessageReceiverServiceImpl implements UopModifyMessageListener {
|
||||
@Autowired
|
||||
private SjMqService service;
|
||||
|
||||
public void init() {
|
||||
service = (SjMqService) SpringContextUtils.getBean("sjMqService");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOrgCreated(OrgCreateMessage orgCreateMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgCreateMessage));
|
||||
service.onOrgCreated(orgCreateMessage);
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgCreateMessage));
|
||||
service.onOrgCreated(orgCreateMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onOrgUpdated(OrgUpdateMessage orgUpdateMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgUpdateMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgUpdateMessage));
|
||||
service.onOrgUpdated(orgUpdateMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOrgDeleted(OrgDeleteMessage orgDeleteMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgDeleteMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgDeleteMessage));
|
||||
service.onOrgDeleted(orgDeleteMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOrgCategoryChanged(OrgCategoryChangeMessage orgCategoryChangeMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgCategoryChangeMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(orgCategoryChangeMessage));
|
||||
service.onOrgCategoryChanged(orgCategoryChangeMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBatchOrgCategoryChanged(BatchOrgCategoryChangeMessage arg0) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(arg0));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(arg0));
|
||||
service.onBatchOrgCategoryChanged(arg0);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCategoryOrgCreate(CategoryOrgCreateMessage arg0) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(arg0));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(arg0));
|
||||
service.onCategoryOrgCreate(arg0);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCategoryOrgUpdate(CategoryOrgUpdateMessage categoryOrgUpdateMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(categoryOrgUpdateMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(categoryOrgUpdateMessage));
|
||||
service.onCategoryOrgUpdate(categoryOrgUpdateMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCategoryOrgDelete(CategoryOrgDeleteMessage categoryOrgDeleteMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(categoryOrgDeleteMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(categoryOrgDeleteMessage));
|
||||
service.onCategoryOrgDelete(categoryOrgDeleteMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserOrgChanged(UserOrgChangeMessage userOrgChangeMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userOrgChangeMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userOrgChangeMessage));
|
||||
service.onUserOrgChanged(userOrgChangeMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserCreated(UserCreateMessage userCreateMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userCreateMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userCreateMessage));
|
||||
service.onUserCreated(userCreateMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserUpdated(UserUpdateMessage userUpdateMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userUpdateMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userUpdateMessage));
|
||||
service.onUserUpdated(userUpdateMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserDeleted(UserDeleteMessage userDeleteMessage) {
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userDeleteMessage));
|
||||
|
||||
try {
|
||||
init();
|
||||
log.info("sj的mq接收:{}", JSON.toJSONString(userDeleteMessage));
|
||||
service.onUserDeleted(userDeleteMessage);
|
||||
} catch (Exception e) {
|
||||
log.error("mqError:", e);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@Override
|
||||
|
||||
@ -117,4 +117,8 @@ public class SystemUser implements Serializable {
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private java.lang.String jobName;
|
||||
|
||||
/**
|
||||
* 三江统一登录的用户id
|
||||
*/
|
||||
private String sjUnifiedAuthenticationUserId;
|
||||
}
|
||||
|
||||
@ -112,26 +112,28 @@ public class JwtTokenFilter extends OncePerRequestFilter {
|
||||
|| Objects.equals(accountType, 4) || Objects.equals(accountType, 5)) {
|
||||
//统一登录
|
||||
String tokenDetails = redisTemplate.opsForValue().get(SJ_TOKEN_PREFIX + account);
|
||||
TokenResponse tokenResponse = JSON.parseObject(tokenDetails, TokenResponse.class);
|
||||
String c2AT = tokenResponse.getAccess_token();
|
||||
String c2rt = tokenResponse.getRefresh_token();
|
||||
//②应用过滤器中判断请求头request中是否含有C2AT(若C2AT存在,C2AT的校验、过期更新请参考凭证更新令牌流程)
|
||||
//C2AT不存在,且更新令牌失败,则返回401,并在Location中带上登录页面地址,登录页面地址在应用过滤器中拼装,拼装方式请参考3.1.1获取授权码接口地址
|
||||
JwtPayloadUserInfo jwtPayloadUserInfo = null;
|
||||
if (StringUtils.isNotBlank(c2AT)) {
|
||||
//C2AT的校验
|
||||
//1.判断是否过期
|
||||
//2.令牌校验
|
||||
jwtPayloadUserInfo = JwtRsaUtils.verifyWithUserInfo(c2AT);
|
||||
sjUser.set(jwtPayloadUserInfo);
|
||||
//token校验失败,先尝试刷新token,失败就重定向统一登录
|
||||
if (jwtPayloadUserInfo == null) {
|
||||
if (tokenDetails != null) {
|
||||
TokenResponse tokenResponse = JSON.parseObject(tokenDetails, TokenResponse.class);
|
||||
String c2AT = tokenResponse.getAccess_token();
|
||||
String c2rt = tokenResponse.getRefresh_token();
|
||||
//②应用过滤器中判断请求头request中是否含有C2AT(若C2AT存在,C2AT的校验、过期更新请参考凭证更新令牌流程)
|
||||
//C2AT不存在,且更新令牌失败,则返回401,并在Location中带上登录页面地址,登录页面地址在应用过滤器中拼装,拼装方式请参考3.1.1获取授权码接口地址
|
||||
JwtPayloadUserInfo jwtPayloadUserInfo = null;
|
||||
if (StringUtils.isNotBlank(c2AT)) {
|
||||
//C2AT的校验
|
||||
//1.判断是否过期
|
||||
//2.令牌校验
|
||||
jwtPayloadUserInfo = JwtRsaUtils.verifyWithUserInfo(c2AT);
|
||||
sjUser.set(jwtPayloadUserInfo);
|
||||
//token校验失败,先尝试刷新token,失败就重定向统一登录
|
||||
if (jwtPayloadUserInfo == null) {
|
||||
tryRefreshToken(request, response);
|
||||
} else {
|
||||
setSjAuthenticationToken(jwtPayloadUserInfo);
|
||||
}
|
||||
} else if (StringUtils.isNotBlank(c2rt)) {
|
||||
tryRefreshToken(request, response);
|
||||
} else {
|
||||
setSjAuthenticationToken(jwtPayloadUserInfo);
|
||||
}
|
||||
} else if (StringUtils.isNotBlank(c2rt)) {
|
||||
tryRefreshToken(request, response);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
#http.port=30250
|
||||
http.port=22123
|
||||
http.port=30221
|
||||
#spring.datasource.url=jdbc:mysql://124.71.178.44:3306/wisdomsite_lgdc?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
|
||||
#spring.datasource.url=jdbc:mysql://183.60.227.61:20246/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&serverTimezone=UTC
|
||||
#spring.datasource.url=jdbc:mysql://36.137.53.203:3306/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
|
||||
#spring.datasource.url=jdbc:mysql://139.9.66.234:3386/wisdomsite_ty?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
|
||||
#spring.datasource.url=jdbc:mysql://182.90.224.237:3306/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
#spring.datasource.url=jdbc:mysql://139.9.66.234:3306/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
|
||||
spring.datasource.url=jdbc:mysql://192.168.34.221:3306/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
spring.datasource.url=jdbc:mysql://192.168.34.221:3306/wisdomsite_sj?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
spring.datasource.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
|
||||
#spring.datasource.password=ENC(hHkiHEc6vSWjqfOtg2/2Uiihs0vX3l7V)
|
||||
spring.datasource.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
||||
server.port=8199
|
||||
server.port=11111
|
||||
#server.port=30246
|
||||
basePath=C:/jxj/prod/backEnd/itbgpImage/
|
||||
server.tomcat.basedir=C:/jxj/prod/backEnd/tempImage/
|
||||
@ -19,7 +19,7 @@ server.tomcat.basedir=C:/jxj/prod/backEnd/tempImage/
|
||||
#server.tomcat.basedir=F:/zhgd/tempImage/
|
||||
#arcsoft.dllPath=F:/zhgd/dll
|
||||
arcsoft.dllPath=C:/jxj/prod/backEnd/dll
|
||||
security.enable=false
|
||||
security.enable=true
|
||||
isGetStandardData=false
|
||||
isGetEnvironmentData=false
|
||||
isGetFaceFeatureDate=false
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user