Browse Source

微信用户绑定缓存修复

contract
Yen 2 years ago
parent
commit
273ca2791d
  1. 13
      src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java

13
src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java

@ -2,6 +2,8 @@ package com.qs.serve.modules.wx.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
@ -33,6 +35,7 @@ public class WxUserController {
private WxUserService wxUserService; private WxUserService wxUserService;
private SysUserService sysUserService; private SysUserService sysUserService;
private RedisService redisService;
/** /**
* 翻页查询 * 翻页查询
@ -73,7 +76,7 @@ public class WxUserController {
@PostMapping("/bind") @PostMapping("/bind")
public R<?> bind(@RequestBody @Valid WxUserBindBo param){ public R<?> bind(@RequestBody @Valid WxUserBindBo param){
WxUser wxUser = wxUserService.getById(param.getWxUserId()); WxUser wxUser = wxUserService.getById(param.getWxUserId());
if(wxUser.getSysUserId()!=null&&!wxUser.getSysUserId().equals("0")){ if(StringUtils.hasText(wxUser.getSysUserId())&&!wxUser.getSysUserId().equals("0")){
return R.error("该微信用户已被绑定"); return R.error("该微信用户已被绑定");
} }
SysUser sysUser = sysUserService.getById(param.getSysUserId()); SysUser sysUser = sysUserService.getById(param.getSysUserId());
@ -103,8 +106,10 @@ public class WxUserController {
*/ */
@PostMapping("/rmBind") @PostMapping("/rmBind")
public R<?> rmBind(@RequestBody @Valid WxUserRmBindBo param){ public R<?> rmBind(@RequestBody @Valid WxUserRmBindBo param){
String sysUserId = null;
if(StringUtils.hasText(param.getWxUserId())){ if(StringUtils.hasText(param.getWxUserId())){
WxUser wxUser = wxUserService.getById(param.getWxUserId()); WxUser wxUser = wxUserService.getById(param.getWxUserId());
sysUserId = wxUser.getSysUserId();
if(!StringUtils.hasText(wxUser.getUnionId())){ if(!StringUtils.hasText(wxUser.getUnionId())){
wxUser.setSysUserId("0"); wxUser.setSysUserId("0");
wxUser.setEmpName(wxUser.getNickName()); wxUser.setEmpName(wxUser.getNickName());
@ -120,6 +125,7 @@ public class WxUserController {
wxUserService.update(updVo,lqw); wxUserService.update(updVo,lqw);
} }
}else if (StringUtils.hasText(param.getSysUserId())){ }else if (StringUtils.hasText(param.getSysUserId())){
sysUserId = param.getSysUserId();
SysUser sysUser = sysUserService.getById(param.getSysUserId()); SysUser sysUser = sysUserService.getById(param.getSysUserId());
List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId()); List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId());
for (WxUser wxUser : wxUserList) { for (WxUser wxUser : wxUserList) {
@ -129,6 +135,11 @@ public class WxUserController {
wxUserService.updateById(wxUser); wxUserService.updateById(wxUser);
} }
} }
if(sysUserId!=null){
String client = "wx_app";
String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,sysUserId);
redisService.remove(redisKey);
}
return R.ok(); return R.ok();
} }

Loading…
Cancel
Save