From f0940ad8974e89661929ecbec33b7ed894cad368 Mon Sep 17 00:00:00 2001 From: Administrator <1923636941@qq.com> Date: Tue, 28 Mar 2023 19:07:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E6=B1=9F=E7=BB=9F=E4=B8=80=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UopModifyMessageReceiveListener.java | 2 +- .../com/zhgd/sjmq/service/SjMqService.java | 48 ++++++ .../UopCustomMessageReceiverServiceImpl.java | 163 +++++++++--------- .../xmgl/entity/sj/JwtPayloadUserInfo.java | 3 + .../controller/SjLoginController.java | 6 +- .../service/impl/SystemUserServiceImpl.java | 5 +- .../zhgd/xmgl/security/JwtTokenFilter.java | 1 + .../resources/application-sjjt-gsx.properties | 4 +- src/main/resources/logback-spring.xml | 4 +- 9 files changed, 143 insertions(+), 93 deletions(-) create mode 100644 src/main/java/com/zhgd/sjmq/service/SjMqService.java diff --git a/src/main/java/com/zhgd/sjmq/listener/UopModifyMessageReceiveListener.java b/src/main/java/com/zhgd/sjmq/listener/UopModifyMessageReceiveListener.java index 4ac65140c..8bf49c0c2 100644 --- a/src/main/java/com/zhgd/sjmq/listener/UopModifyMessageReceiveListener.java +++ b/src/main/java/com/zhgd/sjmq/listener/UopModifyMessageReceiveListener.java @@ -38,7 +38,7 @@ public class UopModifyMessageReceiveListener { receiver = new UopMQMessageReceiverServiceImpl(name, password, url); // 将上一步自定义的Listener加进去 receiver.addListener(new UopCustomMessageReceiverServiceImpl()); - //receiver.start(); + receiver.start(); System.out.println("启动消费者"); } } diff --git a/src/main/java/com/zhgd/sjmq/service/SjMqService.java b/src/main/java/com/zhgd/sjmq/service/SjMqService.java new file mode 100644 index 000000000..8a81a0dd7 --- /dev/null +++ b/src/main/java/com/zhgd/sjmq/service/SjMqService.java @@ -0,0 +1,48 @@ +package com.zhgd.sjmq.service; + +import com.chinacreator.c2.uop.sync.message.org.OrgCreateMessage; +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 lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +@Slf4j +public class SjMqService { + @Autowired + private CompanyMapper companyMapper; + @Autowired + private SystemUserMapper systemUserMapper; + + private Company convertToCompany(OrgCreateMessage orgCreateMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(orgCreateMessage)); + Map organization = orgCreateMessage.getOrganization(); + 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(); + return company; + } + + public void onOrgCreated(OrgCreateMessage orgCreateMessage) { + Company company = convertToCompany(orgCreateMessage); + companyMapper.insert(company); + } +} diff --git a/src/main/java/com/zhgd/sjmq/service/UopCustomMessageReceiverServiceImpl.java b/src/main/java/com/zhgd/sjmq/service/UopCustomMessageReceiverServiceImpl.java index 3556e3794..a74130a96 100644 --- a/src/main/java/com/zhgd/sjmq/service/UopCustomMessageReceiverServiceImpl.java +++ b/src/main/java/com/zhgd/sjmq/service/UopCustomMessageReceiverServiceImpl.java @@ -20,22 +20,95 @@ import com.chinacreator.c2.uop.sync.message.user.UserDeleteMessage; 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 org.jetbrains.annotations.NotNull; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import java.util.Map; /** * 三江统一登录的mq数据同步处理service */ +@Slf4j public class UopCustomMessageReceiverServiceImpl implements UopModifyMessageListener { @Autowired - private CompanyMapper companyMapper; - @Autowired - private SystemUserMapper systemUserMapper; + private SjMqService service; + + @Override + public void onOrgCreated(OrgCreateMessage orgCreateMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(orgCreateMessage)); + service.onOrgCreated(orgCreateMessage); + } + + + @Override + public void onOrgUpdated(OrgUpdateMessage orgUpdateMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(orgUpdateMessage)); + + } + + @Override + public void onOrgDeleted(OrgDeleteMessage orgDeleteMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(orgDeleteMessage)); + + } + + @Override + public void onOrgCategoryChanged(OrgCategoryChangeMessage orgCategoryChangeMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(orgCategoryChangeMessage)); + + } + @Override + public void onBatchOrgCategoryChanged(BatchOrgCategoryChangeMessage arg0) { + log.info("sj的mq接收:{}", JSON.toJSONString(arg0)); + + } + + @Override + public void onCategoryOrgCreate(CategoryOrgCreateMessage arg0) { + log.info("sj的mq接收:{}", JSON.toJSONString(arg0)); + + } + + @Override + public void onCategoryOrgUpdate(CategoryOrgUpdateMessage categoryOrgUpdateMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(categoryOrgUpdateMessage)); + + } + @Override + public void onCategoryOrgDelete(CategoryOrgDeleteMessage categoryOrgDeleteMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(categoryOrgDeleteMessage)); + + } + + @Override + public void onUserOrgChanged(UserOrgChangeMessage userOrgChangeMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(userOrgChangeMessage)); + + } + + @Override + public void onUserCreated(UserCreateMessage userCreateMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(userCreateMessage)); + + } + + @Override + public void onUserUpdated(UserUpdateMessage userUpdateMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(userUpdateMessage)); + + } + + @Override + public void onUserDeleted(UserDeleteMessage userDeleteMessage) { + log.info("sj的mq接收:{}", JSON.toJSONString(userDeleteMessage)); + + } + /*************************************************************************/ @Override public void onAppSystemManageMessage(Map arg0) { @@ -77,88 +150,6 @@ public class UopCustomMessageReceiverServiceImpl implements UopModifyMessageList } - @Override - public void onUserCreated(UserCreateMessage userCreateMessage) { - - } - - @Override - public void onUserUpdated(UserUpdateMessage userUpdateMessage) { - - } - - @Override - public void onUserDeleted(UserDeleteMessage userDeleteMessage) { - - } - - @Override - public void onUserOrgChanged(UserOrgChangeMessage userOrgChangeMessage) { - - } - - @Override - public void onOrgCreated(OrgCreateMessage orgCreateMessage) { - Company company = convertToCompany(orgCreateMessage); - companyMapper.insert(company); - } - - private Company convertToCompany(OrgCreateMessage orgCreateMessage) { - Map organization = orgCreateMessage.getOrganization(); - 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(); - return company; - } - - @Override - public void onOrgUpdated(OrgUpdateMessage orgUpdateMessage) { - - } - - @Override - public void onOrgDeleted(OrgDeleteMessage orgDeleteMessage) { - - } - - @Override - public void onOrgCategoryChanged(OrgCategoryChangeMessage orgCategoryChangeMessage) { - - } - - @Override - public void onBatchOrgCategoryChanged(BatchOrgCategoryChangeMessage arg0) { - - } - - @Override - public void onCategoryOrgCreate(CategoryOrgCreateMessage arg0) { - - } - - @Override - public void onCategoryOrgUpdate(CategoryOrgUpdateMessage categoryOrgUpdateMessage) { - - } - - @Override - public void onCategoryOrgDelete(CategoryOrgDeleteMessage categoryOrgDeleteMessage) { - - } - @Override public void onMetaClassCreate(MetaClassCreateMessage metaClassCreateMessage) { diff --git a/src/main/java/com/zhgd/xmgl/entity/sj/JwtPayloadUserInfo.java b/src/main/java/com/zhgd/xmgl/entity/sj/JwtPayloadUserInfo.java index 9904da0c8..0514a3893 100644 --- a/src/main/java/com/zhgd/xmgl/entity/sj/JwtPayloadUserInfo.java +++ b/src/main/java/com/zhgd/xmgl/entity/sj/JwtPayloadUserInfo.java @@ -13,6 +13,9 @@ public class JwtPayloadUserInfo { private List orginsids; private List oid; private String uid; + /** + * cer当做我们的account + */ private String cer; private String certype; private String phone; diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SjLoginController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SjLoginController.java index 385276471..976dedd14 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SjLoginController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/SjLoginController.java @@ -11,6 +11,7 @@ import com.zhgd.xmgl.util.sj.SjUnifiedAuthenticationHttpUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -38,6 +39,8 @@ public class SjLoginController { @Autowired private StringRedisTemplate redisTemplate; public static String SJ_TOKEN_PREFIX = "SJ_UNIFIEDAUTHENTICATION_TOKEN:"; + @Value("${sj.unifiedAuthentication.success.redirect:}") + private String sjUnifiedAuthenticationSuccessRedirect; /** * 根据code获取token @@ -63,7 +66,7 @@ public class SjLoginController { } //获取用户信息 //重定向到应用页面(一般为首页) - response.sendRedirect("http://192.168.34.150:8080/index.html#/login?UID=" + access_token); + response.sendRedirect(sjUnifiedAuthenticationSuccessRedirect + access_token); } /** @@ -91,6 +94,7 @@ public class SjLoginController { @GetMapping("getLoginInfoByToken") @ResponseBody public Result getLoginInfoByToken(@RequestParam String uid) throws InvalidKeySpecException { + log.info("uid>>>{}", uid); JwtPayloadUserInfo jwtPayloadUserInfo = JwtRsaUtils.verifyWithUserInfo(uid); if (jwtPayloadUserInfo != null) { Result result = systemUserService.sjLogin(jwtPayloadUserInfo); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index 44d665ff0..3cbb33c05 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -873,11 +873,12 @@ public class SystemUserServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper(); + String account = jwtPayloadUserInfo.getCer(); queryWrapper.lambda() - .eq(SystemUser::getAccount, jwtPayloadUserInfo.getAc()); + .eq(SystemUser::getAccount, account); SystemUser systemUser = systemUserMapper.selectOne(queryWrapper); HashMap map = new HashMap<>(); - map.put("account", jwtPayloadUserInfo.getAc()); + map.put("account", account); Map rsMap = doLogin(map, systemUser); return Result.success(rsMap); } diff --git a/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java b/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java index 9d2606836..3b0ad28f4 100644 --- a/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java +++ b/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java @@ -103,6 +103,7 @@ public class JwtTokenFilter extends OncePerRequestFilter { //判断用户类型,统一登录还是这边登录的 String account = auth.getName(); SystemUser systemUser = systemUserMapper.selectOne(new LambdaQueryWrapper().eq(SystemUser::getAccount, account)); + SecurityContextHolder.getContext().setAuthentication(auth); //统一登录的,redis中维护统一登录token Integer accountType = systemUser.getAccountType(); if (Objects.equals(accountType, 2) || Objects.equals(accountType, 3) diff --git a/src/main/resources/application-sjjt-gsx.properties b/src/main/resources/application-sjjt-gsx.properties index 7162966b8..b2eaed01f 100644 --- a/src/main/resources/application-sjjt-gsx.properties +++ b/src/main/resources/application-sjjt-gsx.properties @@ -85,4 +85,6 @@ c2_orguser_subscription=true #\u4E09\u6C5F\u7EDF\u4E00\u767B\u5F55\u5730\u5740 sj.unifiedAuthentication.login.url=http://116.169.63.183:30913 #\u4E09\u6C5F\u7EDF\u4E00\u767B\u5F55\u6210\u529F\u8DF3\u8F6C\u540E\u63A5\u6536code\u7684\u5730\u5740 -sj.unifiedAuthentication.login.code.url=http://wbtqry.natappfree.cc/xmgl/sj/unifiedAuthentication/getTokenByCode \ No newline at end of file +sj.unifiedAuthentication.login.code.url=http://wbtqry.natappfree.cc/xmgl/sj/unifiedAuthentication/getTokenByCode +#\u7EDF\u4E00\u767B\u5F55\u6210\u529F\u540E\u8DF3\u8F6Curl +sj.unifiedAuthentication.success.redirect = "http://192.168.34.150:8080/index.html#/login?UID="; \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 73218f4f2..54210f058 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -6,7 +6,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}) - %highlight(%msg) %n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %method:%L %cyan(%logger{50}) - %highlight(%msg) %n @@ -44,7 +44,7 @@ ${log.path}/zhgd-info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n UTF-8