Browse Source

添加绑定流程

mssql
Yen 3 years ago
parent
commit
8dad0f7c1d
  1. 2
      src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java
  2. 12
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  3. 3
      src/main/java/com/qs/serve/modules/sys/entity/SysUser.java
  4. 61
      src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java
  5. 7
      src/main/java/com/qs/serve/modules/wx/entity/WxUser.java
  6. 26
      src/main/java/com/qs/serve/modules/wx/entity/dto/WxUserBindBo.java
  7. 24
      src/main/java/com/qs/serve/modules/wx/entity/dto/WxUserRmBindBo.java

2
src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java

@ -61,7 +61,7 @@ public class QmsSubmitApiController {
@GetMapping("/myGroupList") @GetMapping("/myGroupList")
public R<?> todoPage(String finished){ public R<?> todoPage(String finished){
WxUser wxUser = wxUserService.getCurrentWxUser(); WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null){ if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.byEmptyList(); return R.byEmptyList();
} }
String userId = wxUser.getSysUserId(); String userId = wxUser.getSysUserId();

12
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -17,6 +17,8 @@ import com.qs.serve.modules.sys.entity.*;
import com.qs.serve.modules.sys.entity.dto.*; import com.qs.serve.modules.sys.entity.dto.*;
import com.qs.serve.modules.sys.mapper.SysUserMapper; import com.qs.serve.modules.sys.mapper.SysUserMapper;
import com.qs.serve.modules.sys.service.*; import com.qs.serve.modules.sys.service.*;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -45,6 +47,7 @@ public class SysUserController {
private SysDeptService sysDeptService; private SysDeptService sysDeptService;
private SysPostService sysPostService; private SysPostService sysPostService;
private SysRoleService sysRoleService; private SysRoleService sysRoleService;
private WxUserService wxUserService;
private RedisService redisService; private RedisService redisService;
@ -78,6 +81,9 @@ public class SysUserController {
sysUser.setAuthorIds(loginUser.getAuthorIds()); sysUser.setAuthorIds(loginUser.getAuthorIds());
sysUser.setAuthorList(loginUser.getAuthorList()); sysUser.setAuthorList(loginUser.getAuthorList());
sysUserService.relateInfo(sysUser); sysUserService.relateInfo(sysUser);
sysUser.setPassword(null);
List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId());
sysUser.setWxUserInfoList(wxUserList);
return R.ok(sysUser); return R.ok(sysUser);
} }
@ -218,7 +224,11 @@ public class SysUserController {
param.setMultiDeptIds(deptIds); param.setMultiDeptIds(deptIds);
} }
List<SysUser> list = sysUserService.listUser(param); List<SysUser> list = sysUserService.listUser(param);
list.forEach(usr->usr.setPassword(null)); for (SysUser sysUser : list) {
sysUser.setPassword(null);
List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId());
sysUser.setWxUserInfoList(wxUserList);
}
return R.ok(list); return R.ok(list);
} }

3
src/main/java/com/qs/serve/modules/sys/entity/SysUser.java

@ -256,6 +256,9 @@ public class SysUser implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<?> tenantInfo; private List<?> tenantInfo;
@TableField(exist = false)
private List<?> wxUserInfoList;
/** /**
* 返回前端过滤敏感信息 * 返回前端过滤敏感信息
* @return * @return

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

@ -1,10 +1,16 @@
package com.qs.serve.modules.wx.controller; package com.qs.serve.modules.wx.controller;
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.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;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.entity.dto.WxUserBindBo;
import com.qs.serve.modules.wx.entity.dto.WxUserRmBindBo;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -26,6 +32,7 @@ import java.util.List;
public class WxUserController { public class WxUserController {
private WxUserService wxUserService; private WxUserService wxUserService;
private SysUserService sysUserService;
/** /**
* 翻页查询 * 翻页查询
@ -35,7 +42,11 @@ public class WxUserController {
@GetMapping("/page") @GetMapping("/page")
public R<PageVo<WxUser>> getList(WxUser param){ public R<PageVo<WxUser>> getList(WxUser param){
PageUtil.startPage(); PageUtil.startPage();
List<WxUser> list = wxUserService.list(new QueryWrapper<>(param)); LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>(param);
if(param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(1)){
lqw.isNull(WxUser::getPhone).or().eq(WxUser::getPhone,"");
}
List<WxUser> list = wxUserService.list(lqw);
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }
@ -51,15 +62,51 @@ public class WxUserController {
} }
/** /**
* 根据ID更新 * 绑定用户
* @param param * @param param
* @return * @return
*/ */
// @PostMapping("/updateById") @PostMapping("/bind")
// public R<?> updateById(@RequestBody @Valid WxUser param){ public R<?> bind(@RequestBody @Valid WxUserBindBo param){
// boolean result = wxUserService.updateById(param); WxUser wxUser = wxUserService.getById(param.getWxUserId());
// return R.isTrue(result); if(wxUser.getSysUserId()!=null&&!wxUser.getSysUserId().equals("0")){
// } return R.error("该微信用户已被绑定");
}
SysUser sysUser = sysUserService.getById(param.getSysUserId());
WxUser updVo = new WxUser();
updVo.setId(wxUser.getId());
updVo.setSysUserId(sysUser.getId());
updVo.setEmpName(sysUser.getName());
updVo.setPhone(sysUser.getMobile());
wxUserService.updateById(updVo);
return R.ok();
}
/**
* 移除绑定
* @param param
* @return
*/
@PostMapping("/rmBind")
public R<?> rmBind(@RequestBody @Valid WxUserRmBindBo param){
if(StringUtils.hasText(param.getWxUserId())){
WxUser wxUser = wxUserService.getById(param.getWxUserId());
wxUser.setSysUserId("0");
wxUser.setEmpName(wxUser.getNickName());
wxUser.setPhone("");
wxUserService.updateById(wxUser);
}else if (StringUtils.hasText(param.getSysUserId())){
SysUser sysUser = sysUserService.getById(param.getSysUserId());
List<WxUser> wxUserList = wxUserService.getBySysUserId(sysUser.getId());
for (WxUser wxUser : wxUserList) {
wxUser.setSysUserId("0");
wxUser.setEmpName(wxUser.getNickName());
wxUser.setPhone("");
wxUserService.updateById(wxUser);
}
}
return R.ok();
}
/** /**
* 新增微信用户 * 新增微信用户

7
src/main/java/com/qs/serve/modules/wx/entity/WxUser.java

@ -132,5 +132,12 @@ public class WxUser implements Serializable {
/** 删除标识 */ /** 删除标识 */
@JsonIgnore @JsonIgnore
private Boolean delFlag; private Boolean delFlag;
/**
* 为绑定标识当值=1表未绑定用户
*/
@TableField(exist = false)
private Integer notBindFlag;
} }

26
src/main/java/com/qs/serve/modules/wx/entity/dto/WxUserBindBo.java

@ -0,0 +1,26 @@
package com.qs.serve.modules.wx.entity.dto;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/9/26
*/
@Data
public class WxUserBindBo {
/**
* 微信用户ID
*/
@NotNull
private String wxUserId;
/**
* 人员用户ID
*/
@NotNull
private String sysUserId;
}

24
src/main/java/com/qs/serve/modules/wx/entity/dto/WxUserRmBindBo.java

@ -0,0 +1,24 @@
package com.qs.serve.modules.wx.entity.dto;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/9/26
*/
@Data
public class WxUserRmBindBo {
/**
* 微信用户ID(其一不能为空)
*/
private String wxUserId;
/**
* 人员用户ID(其一不能为空)
*/
private String sysUserId;
}
Loading…
Cancel
Save