fix(个人信息): 扫码绑定第三方平台错误信息提示

This commit is contained in:
fit2cloud-chenyw 2022-09-28 14:44:31 +08:00
parent efd06148f2
commit 94bfe751ad
6 changed files with 34 additions and 3 deletions

View File

@ -258,7 +258,7 @@ public class SysUserController {
}
@PostMapping("/unbindAssist/{type}")
public void unbindAssist(String type) {
public void unbindAssist(@PathVariable("type") String type) {
Boolean valid = StringUtils.equals(WECOM, type) || StringUtils.equals(DINGTALK, type) || StringUtils.equals(LARK, type);
if (!valid) {
@ -275,6 +275,9 @@ public class SysUserController {
if (StringUtils.equals(LARK, type)) {
sysUserAssist.setLarkId(null);
}
if (StringUtils.isBlank(sysUserAssist.getWecomId()) && StringUtils.isBlank(sysUserAssist.getDingtalkId()) && StringUtils.isBlank(sysUserAssist.getLarkId())) {
sysUserService.changeUserFrom(userId, 0);
}
sysUserService.saveAssist(userId, sysUserAssist.getWecomId(), sysUserAssist.getDingtalkId(), sysUserAssist.getLarkId());
}

View File

@ -159,10 +159,12 @@ public class XDingtalkServer {
SysUserEntity userEntity = authUserService.getUserById(Long.parseLong(state));
if (ObjectUtils.isEmpty(userEntity)) {
bindError(response, url, "绑定用户不存在");
return;
}
SysUserAssist sysUserAssist = sysUserService.assistInfo(Long.parseLong(state));
if (ObjectUtils.isNotEmpty(sysUserAssist) && StringUtils.isNotBlank(sysUserAssist.getWecomId())) {
bindError(response, url, "目标用户已绑定其他钉钉账号");
return;
}
Boolean isOpen = authUserService.supportDingtalk();
if (!isOpen) {
@ -177,6 +179,7 @@ public class XDingtalkServer {
SysUserEntity sysUserEntity = authUserService.getUserByDingtalkId(userId);
if (null != sysUserEntity) {
bindError(response, url, "当前钉钉账号已绑定其他DE用户");
return;
}
if (ObjectUtils.isEmpty(sysUserAssist)) {
sysUserAssist = new SysUserAssist();

View File

@ -158,10 +158,12 @@ public class XLarkServer {
SysUserEntity userEntity = authUserService.getUserById(Long.parseLong(state));
if (ObjectUtils.isEmpty(userEntity)) {
bindError(response, url, "绑定用户不存在");
return;
}
SysUserAssist sysUserAssist = sysUserService.assistInfo(Long.parseLong(state));
if (ObjectUtils.isNotEmpty(sysUserAssist) && StringUtils.isNotBlank(sysUserAssist.getWecomId())) {
bindError(response, url, "目标用户已绑定其他飞书账号");
return;
}
Boolean isOpen = authUserService.supportLark();
@ -176,6 +178,7 @@ public class XLarkServer {
SysUserEntity sysUserEntity = authUserService.getUserByLarkId(userId);
if (null != sysUserEntity) {
bindError(response, url, "当前飞书账号已绑定其他DE用户");
return;
}
if (ObjectUtils.isEmpty(sysUserAssist)) {

View File

@ -165,15 +165,18 @@ public class XWecomServer {
SysUserEntity userEntity = authUserService.getUserById(Long.parseLong(state));
if (ObjectUtils.isEmpty(userEntity)) {
bindError(response, url, "绑定用户不存在");
return;
}
SysUserAssist sysUserAssist = sysUserService.assistInfo(Long.parseLong(state));
if (ObjectUtils.isNotEmpty(sysUserAssist) && StringUtils.isNotBlank(sysUserAssist.getWecomId())) {
bindError(response, url, "目标用户已绑定其他企业微信账号");
return;
}
Boolean supportWecom = authUserService.supportWecom();
if (!supportWecom) {
DEException.throwException("未开启企业微信");
return;
}
wecomXpackService = SpringContextUtil.getBean(WecomXpackService.class);
WecomAuthResult authResult = wecomXpackService.auth(code);
@ -183,6 +186,7 @@ public class XWecomServer {
SysUserEntity sysUserEntity = authUserService.getUserByWecomId(userId);
if (null != sysUserEntity) {
bindError(response, url, "当前企业微信账号已绑定其他DE用户");
return;
}
if (ObjectUtils.isEmpty(sysUserAssist)) {
sysUserAssist = new SysUserAssist();

View File

@ -529,7 +529,7 @@ public class SysUserService {
public boolean needPwdNoti(Long userId) {
SysUserAssist userAssist = sysUserAssistMapper.selectByPrimaryKey(userId);
return ObjectUtils.isEmpty(userAssist) || userAssist.getNeedFirstNoti();
return ObjectUtils.isEmpty(userAssist) || ObjectUtils.isEmpty(userAssist.getNeedFirstNoti()) || userAssist.getNeedFirstNoti();
}
public void saveUserAssist(Boolean noti) {
@ -567,4 +567,11 @@ public class SysUserService {
return sysUserAssistMapper.selectByPrimaryKey(userId);
}
public void changeUserFrom(Long userId, Integer from) {
SysUser sysUser = new SysUser();
sysUser.setUserId(userId);
sysUser.setFrom(from);
sysUserMapper.updateByPrimaryKeySelective(sysUser);
}
}

View File

@ -91,6 +91,7 @@ import { allRoles } from '@/api/system/user'
import { updatePerson, personInfo } from '@/api/system/user'
import { pluginLoaded } from '@/api/user'
import PluginCom from '@/views/system/plugin/PluginCom'
import Cookies from 'js-cookie'
export default {
components: { LayoutContent, Treeselect, PluginCom },
@ -173,6 +174,7 @@ export default {
},
created() {
this.$store.dispatch('app/toggleSideBarHide', true)
this.showError()
this.queryPerson()
this.initRoles()
},
@ -183,7 +185,16 @@ export default {
})
},
methods: {
showError() {
const errKeys = ['WecomError', 'DingtalkError', 'LarkError']
errKeys.forEach(key => {
const msg = Cookies.get(key)
if (msg) {
this.$error(msg)
Cookies.remove(key)
}
})
},
queryPerson() {
personInfo().then(res => {
const info = res.data