From 13c24743eae41338de3c0550a953df303709a3f0 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Thu, 11 Jul 2024 10:06:19 +0800 Subject: [PATCH] 7/11 --- .../com/yxt/portal/apiadmin/SysMenuRest.java | 24 +++-- .../portal/apiadmin/SysOrganizationRest.java | 21 +++-- .../com/yxt/portal/apiadmin/SysPostRest.java | 2 +- .../yxt/portal/apiadmin/SysSourceRest.java | 2 +- .../yxt/portal/apiadmin/SysStaffinfoRest.java | 4 +- .../com/yxt/portal/apiadmin/SysUserRest.java | 36 +++++--- .../yxt/portal/biz/sysmenu/SysMenuMapper.xml | 4 +- .../portal/biz/sysmenu/SysMenuService.java | 2 +- .../yxt/portal/biz/sysmenu/SysMenuTreeVo.java | 2 + .../SysOrganizationMapper.java | 2 +- .../sysorganization/SysOrganizationMapper.xml | 3 + .../SysOrganizationService.java | 6 +- .../yxt/portal/biz/syspost/SysPostMapper.xml | 10 +-- .../portal/biz/syspost/SysPostService.java | 6 +- .../yxt/portal/biz/sysrole/SysRoleDto.java | 1 + .../yxt/portal/biz/sysrole/SysRoleMapper.xml | 16 +++- .../portal/biz/sysrole/SysRoleService.java | 1 + .../portal/biz/syssource/SysSourceMapper.java | 6 +- .../portal/biz/syssource/SysSourceMapper.xml | 1 + .../biz/syssource/SysSourceService.java | 8 +- .../sysstaffinfo/SysStaffinfoDetailsVo.java | 2 + .../biz/sysstaffinfo/SysStaffinfoDto.java | 7 +- .../biz/sysstaffinfo/SysStaffinfoMapper.xml | 26 +----- .../biz/sysstaffinfo/SysStaffinfoService.java | 88 +++++++++++-------- .../biz/sysstafforg/SysStaffOrgMapper.java | 3 +- .../biz/sysstafforg/SysStaffOrgMapper.xml | 13 +-- .../biz/sysstafforg/SysStaffOrgService.java | 3 + .../com/yxt/portal/biz/sysuser/SysUser.java | 3 +- .../yxt/portal/biz/sysuser/SysUserMapper.xml | 8 +- .../portal/biz/sysuser/SysUserService.java | 34 ++++++- .../com/yxt/portal/biz/sysuser/SysUserVo.java | 5 +- .../biz/sysuserrole/SysUserRoleMapper.xml | 2 +- .../portal/biz/sysuserrole/SysUserRoleVo.java | 2 +- 33 files changed, 220 insertions(+), 133 deletions(-) diff --git a/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java b/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java index 5f5f363..7f50905 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java @@ -1,8 +1,11 @@ package com.yxt.portal.apiadmin; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.yxt.portal.biz.sysmenu.*; //import com.yxt.user.biz.sysmenurole.SysMenuRoleQuery; +import com.yxt.portal.biz.sysorganization.SysOrganization; +import com.yxt.portal.biz.sysorganization.SysOrganizationService; import com.yxt.portal.biz.sysrole.SysRole; import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeQuery; import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeService; @@ -64,6 +67,8 @@ public class SysMenuRest { private SysRoleService sysRoleService; @Autowired SysRoleAuthorizeService sysRoleAuthorizeService; + @Autowired + SysOrganizationService sysOrganizationService; @ApiOperation("根据条件分页查询数据的列表") @@ -167,10 +172,19 @@ public class SysMenuRest { List> list = new ArrayList<>(); if (null == query) return rb.setData(list); - + SysOrganization sysOrganization=sysOrganizationService.getOne(new QueryWrapper().eq("sid",query.getOrgSid())); + String a=""; + if(!sysOrganization.getPsid().equals("0")){ + a =sysOrganization.getOrgSidPath().substring(0,sysOrganization.getOrgSidPath().lastIndexOf("/")); + }else{ + a=sysOrganization.getOrgSidPath(); + } //根据用户和资源查询 这个资源下的菜单 - List userRole = sysUserRoleService.selectByUserSid(query.getUserSid(), query.getOrgSid(),query.getSourceSid()); + List userRole = sysUserRoleService.selectByUserSid(query.getUserSid(), a,""); List roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList()); + if(userRole.size()==0){ + return rb.success().setData(new ArrayList<>()); + } for (String roleSid : roleSids) { SysRole sysRole = sysRoleService.fetchBySid(roleSid); if(sysRole == null){ @@ -198,7 +212,7 @@ public class SysMenuRest { ResultBean> resultBean = new ResultBean>(); return resultBean.fail().setMessage("角色sid不能为空!"); } - List sysSourceVos = sysSourceService.listVo(); + List sysSourceVos = sysSourceService.listVo(query.getSourceSid()); List list = new ArrayList<>(); for (SysSourceVo s : sysSourceVos) { SysMenuVo sysMenuVo = new SysMenuVo(); @@ -229,7 +243,7 @@ public class SysMenuRest { if (sysSource == null) { return rb.setMsg("资源不存在"); } - dto.setMenuType("0"); +// dto.setMenuType("0"); sysMenuService.saveMenu(dto); return rb.success(); } @@ -245,7 +259,7 @@ public class SysMenuRest { } String sourceSid = dto.getSourceSid(); - dto.setMenuType("0"); +// dto.setMenuType("0"); sysMenuService.updateBySid(dto, sid); return rb.success(); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java b/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java index d8687d2..c2da3f2 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java @@ -41,7 +41,7 @@ import static java.util.stream.Collectors.toList; */ @Api(tags = "组织机构表") @RestController -@RequestMapping("apiadmin/sysorganization") +@RequestMapping("/apiadmin/sysorganization") public class SysOrganizationRest{ @Autowired @@ -84,10 +84,10 @@ public class SysOrganizationRest{ } @ApiOperation("所有数据列表") - @GetMapping("/list") - public ResultBean> list() { + @GetMapping("/list/{orgSid}") + public ResultBean> list(@PathVariable("orgSid") String orgSid) { ResultBean rb = ResultBean.fireFail(); - List list = sysOrganizationService.listVo(); + List list = sysOrganizationService.listVo(orgSid); return rb.success().setData(list); } @@ -113,7 +113,9 @@ public class SysOrganizationRest{ @Transactional(rollbackFor = Exception.class) - public ResultBean update(SysOrganizationDto dto, String sid){ + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysOrganizationDto dto, @PathVariable("sid") String sid){ ResultBean rb = ResultBean.fireFail(); //查询该机构下的所有分管人员 List stringList = sysStaffOrgService.selectByOrgSid(sid); @@ -137,19 +139,19 @@ public class SysOrganizationRest{ } //删除关联关系中的所有主管与分管的人员关系 sysStaffOrgService.delZGAndFGByOrgSid(sid); - /*if (StringUtils.isNotBlank(zgStaffSid)) { + if (StringUtils.isNotBlank(zgStaffSid)) { ResultBean resultBean = sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", sysOrganization); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } - }*/ + } if (StringUtils.isNotBlank(fgStaffSid)) { ResultBean resultBean = sysOrganizationService.addSysStaffOrg(fgStaffSid, "2", sysOrganization); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } } - sysOrganizationService.updateBySid(dto.toMap(), sid); + sysOrganizationService.updateBySid(dto, sid); //修改金蝶组织信息 //==========================添加清空变化的用户的token //查询分管人员 @@ -209,6 +211,9 @@ public class SysOrganizationRest{ } String[] sidArr = sid.split(","); sysOrganizationService.delBySids(sidArr); + for (String s : sidArr) { + sysStaffOrgService.delByOrgSid(s); + } return rb.success(); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysPostRest.java b/src/main/java/com/yxt/portal/apiadmin/SysPostRest.java index 01da8ca..3656cdd 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysPostRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysPostRest.java @@ -72,7 +72,7 @@ public class SysPostRest { @PostMapping("/update/{sid}") public ResultBean update(@RequestBody SysPostDto dto, @PathVariable("sid") String sid){ ResultBean rb = ResultBean.fireFail(); - sysPostService.updateBySid(dto.toMap(), sid); + sysPostService.updateBySid(dto, sid); return rb.success(); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysSourceRest.java b/src/main/java/com/yxt/portal/apiadmin/SysSourceRest.java index 729ca19..4d1d528 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysSourceRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysSourceRest.java @@ -81,7 +81,7 @@ public class SysSourceRest { public ResultBean> list(){ ResultBean rb = ResultBean.fireFail(); - List list = sysSourceService.listVo(); + List list = sysSourceService.listVo(""); return rb.success().setData(list); } diff --git a/src/main/java/com/yxt/portal/apiadmin/SysStaffinfoRest.java b/src/main/java/com/yxt/portal/apiadmin/SysStaffinfoRest.java index aa1adff..d858af1 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysStaffinfoRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysStaffinfoRest.java @@ -76,7 +76,7 @@ public class SysStaffinfoRest{ */ @ApiOperation("新增保存") @PostMapping("/save") - public ResultBean save(SysStaffinfoDto dto) { + public ResultBean save(@RequestBody SysStaffinfoDto dto) { ResultBean rb = ResultBean.fireFail(); ResultBean resultBean = sysStaffinfoService.saveStaffInfo(dto); if (!resultBean.getSuccess()) { @@ -94,7 +94,7 @@ public class SysStaffinfoRest{ */ @ApiOperation("修改保存") @PostMapping("/update/{sid}") - public ResultBean update(SysStaffinfoDto dto, String sid) { + public ResultBean update(@RequestBody SysStaffinfoDto dto, @PathVariable("sid") String sid) { ResultBean rb = ResultBean.fireFail(); ResultBean resultBean = sysStaffinfoService.updateStaffInfo(dto, sid); if (!resultBean.getSuccess()) { diff --git a/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java b/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java index dd452ea..eab80d6 100644 --- a/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java +++ b/src/main/java/com/yxt/portal/apiadmin/SysUserRest.java @@ -413,6 +413,9 @@ public class SysUserRest { return new ResultBean().fail().setMsg("用户名或密码错误"); } } + if(user.getAccountType().equals("3")){ + return new ResultBean().fail().setMsg("此账号不能登录"); + } }else{ //验证码登录 if (StringUtils.isBlank(verifyCode)) return new ResultBean().fail().setMsg("验证码不能为空"); @@ -428,6 +431,9 @@ public class SysUserRest { } else { return new ResultBean().fail().setMsg("短信验证码错误或已失效,请重新获取"); } + if(user.getAccountType().equals("3")){ + return new ResultBean().fail().setMsg("此账号不能登录"); + } } // 根据用户信息查询用户的角色信息 ListsysStaffOrgVos= sysStaffOrgService.fetchOrgsByStaffSid(user.getStaffSid()); @@ -457,6 +463,7 @@ public class SysUserRest { SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(sysUser); userInfoOneVo.setOrgSid(dto.getOrgSid()); userInfoOneVo.setOrgName(userInfoOneVo.getOrganizationName()); + sysUserService.updateToken(sysUser.getSid(),userInfoOneVo.getToken()); return new ResultBean<>().success().setData(userInfoOneVo); } @PostMapping("/register") @@ -469,7 +476,7 @@ public class SysUserRest { //手机号 String mobile = dto.getMobile(); //姓名 - String name = dto.getName(); + String name = dto.getCompanyName(); //验证码 String verificationCode = dto.getCode(); @@ -520,7 +527,7 @@ public class SysUserRest { su.setPassword(md5); su.setIsAdmin("1"); sysUserService.save(su); - ssi.setName(name); + ssi.setName(name+"系统管理员"); ssi.setMobile(mobile); sysStaffinfoService.save(ssi); ssSid=ssi.getSid(); @@ -538,6 +545,7 @@ public class SysUserRest { SysOrganization sysOrg=new SysOrganization(); sysOrg.setName(dto.getCompanyName()); sysOrg.setLinkPhone(dto.getContacts()); + sysOrg.setOrgSidPath(sysOrg.getSid()); sysOrganizationService.save(sysOrg); SysStaffOrg sysStaffOrg=new SysStaffOrg(); @@ -547,25 +555,25 @@ public class SysUserRest { sysStaffOrg.setManageType("3"); sysStaffOrgService.save(sysStaffOrg); -// SysRole sysRole=new SysRole(); -// sysRole.setCode(""); -// sysRole.setName("单位管理员"); -// sysRole.setSort(0); -// sysRole.setType(1); -// sysRole.setOrgSid(sysOrg.getSid()); -// sysRoleService.save(sysRole); + SysRole sysRole=new SysRole(); + sysRole.setCode(""); + sysRole.setName("系统管理员"); + sysRole.setSort(0); + sysRole.setType(1); + sysRole.setOrgSid(sysOrg.getSid()); + sysRoleService.save(sysRole); // -// SysUserRole sysUserRole=new SysUserRole(); -// sysUserRole.setRoleSid(sysRole.getSid()); -// sysUserRole.setUserSid(sysUser.getSid()); -// sysUserRoleService.save(sysUserRole); + SysUserRole sysUserRole=new SysUserRole(); + sysUserRole.setRoleSid(sysRole.getSid()); + sysUserRole.setUserSid(sysUser.getSid()); + sysUserRoleService.save(sysUserRole); SysUser user = null; user = sysUserService.selectByUserName(sysUser.getUserName()); user.setOrgSid(sysOrg.getSid()); SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user); userInfoOneVo.setOrgSid(sysOrg.getSid()); userInfoOneVo.setOrgName(sysOrg.getName()); - + sysUserService.updateToken(sysUser.getSid(),userInfoOneVo.getToken()); return new ResultBean().success().setData(userInfoOneVo); } @PostMapping("/loginByNoVeriCode") diff --git a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml index 99a8caf..2906bb6 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml @@ -79,7 +79,9 @@ menu.pageUrlRedirect AS pageUrlRedirect, menu.pageUrl AS pageUrl, menu.remarks, - menu.isEnable + menu.isEnable, + menu.menuType, + menu.isShow FROM sys_menu menu LEFT JOIN sys_source source ON menu.sourceSid = source.sid WHERE source.sid = #{sourceSid} AND menu.psid='0' and menu.isDelete!=1 diff --git a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java index 984b1e3..ceb0778 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java +++ b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java @@ -128,7 +128,7 @@ public class SysMenuService extends MybatisBaseService { }*/ public List listAllVoForSource(SysMenuQuery query) { //查询所有的资源列表 - List sysSourceVos = sysSourceService.listMenuTreeVo(); + List sysSourceVos = sysSourceService.listMenuTreeVo(query.getSourceSid()); for (SysMenuTreeVo s : sysSourceVos) { //根据资源sid查询该资源下的所有一级菜单 //List sysMenuVoList = sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid()); diff --git a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuTreeVo.java b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuTreeVo.java index 31af1cc..a12c33b 100644 --- a/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuTreeVo.java +++ b/src/main/java/com/yxt/portal/biz/sysmenu/SysMenuTreeVo.java @@ -54,6 +54,8 @@ public class SysMenuTreeVo implements Vo { private String isEnable; @ApiModelProperty(value = "备注") private String remarks; + private String menuType; + private String isShow; @ApiModelProperty("子菜单") private List children; } diff --git a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.java b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.java index 8fbf3b9..b69faf1 100644 --- a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.java +++ b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.java @@ -35,7 +35,7 @@ public interface SysOrganizationMapper extends BaseMapper { List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - List selectFirstOrgList(); + List selectFirstOrgList(@Param("orgSid")String orgSid); List selectChildrenListByPsid(@Param("psid") String psid); diff --git a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml index 70991d6..b5b6aa2 100644 --- a/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysorganization/SysOrganizationMapper.xml @@ -45,6 +45,9 @@ SELECT sid, name, psid, orgCode FROM sys_organization WHERE psid = '0' + + and sid=#{orgSid} + SELECT post.sid sid, post.name name, - post.orgSid, +-- post.orgSid, post.postCode, post.postLevelKey, post.postLevel, - post.orgSid, - IF(org.psid = '0', org.name, - CONCAT((select name from sys_organization where sid = org.psid), "/", org.name)) orgName, +-- post.orgSid, +-- IF(org.psid = '0', org.name, +-- CONCAT((select name from sys_organization where sid = org.psid), "/", org.name)) orgName, post.parentSid, sp.name parentName FROM sys_post post - left join sys_organization org on org.sid = post.orgSid +-- left join sys_organization org on org.sid = post.orgSid left join sys_post sp on post.parentSid = sp.sid ${ew.sqlSegment} diff --git a/src/main/java/com/yxt/portal/biz/syspost/SysPostService.java b/src/main/java/com/yxt/portal/biz/syspost/SysPostService.java index 0e992de..5ab679c 100644 --- a/src/main/java/com/yxt/portal/biz/syspost/SysPostService.java +++ b/src/main/java/com/yxt/portal/biz/syspost/SysPostService.java @@ -57,9 +57,9 @@ public class SysPostService extends MybatisBaseService { qw.like("post.name", query.getName()); } - if (StringUtils.isNotBlank(query.getOrgSid())) { - qw.eq("post.orgSid", query.getOrgSid()); - } +// if (StringUtils.isNotBlank(query.getOrgSid())) { +// qw.eq("post.orgSid", query.getOrgSid()); +// } return qw; } diff --git a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java index 7f3961e..fad93d8 100644 --- a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java +++ b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java @@ -50,4 +50,5 @@ public class SysRoleDto implements Dto { private String roleTypeValue; @ApiModelProperty(value = "组织") private String orgSid; + private String dataRuleId; } \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml index 6b1f92f..a2b7fc7 100644 --- a/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml @@ -4,7 +4,19 @@ \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/syssource/SysSourceService.java b/src/main/java/com/yxt/portal/biz/syssource/SysSourceService.java index 305ff15..48f5980 100644 --- a/src/main/java/com/yxt/portal/biz/syssource/SysSourceService.java +++ b/src/main/java/com/yxt/portal/biz/syssource/SysSourceService.java @@ -127,8 +127,8 @@ public class SysSourceService extends MybatisBaseService listVo() { - return baseMapper.selectListVo(); + public List listVo(String sourceSid) { + return baseMapper.selectListVo(sourceSid); } public void saveOrUpdateDto(SysSourceDto dto){ @@ -160,8 +160,8 @@ public class SysSourceService extends MybatisBaseService listMenuTreeVo() { - return baseMapper.listMenuTreeVo(); + public List listMenuTreeVo(String sourceSid) { + return baseMapper.listMenuTreeVo(sourceSid); } public List listFunctionTreeVo(String name) { diff --git a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDetailsVo.java b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDetailsVo.java index 610441b..9e28035 100644 --- a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDetailsVo.java +++ b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDetailsVo.java @@ -79,4 +79,6 @@ public class SysStaffinfoDetailsVo implements Vo { private String accountType;//账号类型 1单位管理员,2操作员,0是平台管理员 3非登录账户 private String userType;//用户类型:1员工、2客户、3供应商 private List sysRoleVos;// + private String userName; + private String remarks; } diff --git a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDto.java b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDto.java index 51a2cd5..b0c0225 100644 --- a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDto.java +++ b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoDto.java @@ -187,6 +187,11 @@ public class SysStaffinfoDto implements Dto { @ApiModelProperty(value = "离职原因") private String quitReason; private String accountType;//账号类型 1单位管理员,2操作员,0是平台管理员 3非登录账户 - private String userType;//用户类型:1员工、2客户、3供应商 + private Integer userType;//用户类型:1员工、2客户、3供应商 private String orgSid; +// @Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(19[1,3,5-9])|166|(147))\\d{8}$", message = "手机号码格式不正确") + @Pattern(regexp = "^[0-9]{11}$", message = "账号格式不正确") + @NotBlank(message = "账号不能为空") + private String userName; + private String remarks; } \ No newline at end of file diff --git a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml index a8306b4..06809cb 100644 --- a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml @@ -181,31 +181,7 @@ bankCardNo, - openBank, - - IF(idCardA = "", idCardA, CONCAT(#{path}, idCardA)) AS idCardA, - - - - IF(idCardB = "", idCardB, CONCAT(#{path}, idCardB)) AS idCardB, - - - - IF(diploma = "", diploma, CONCAT(#{path}, diploma)) AS diploma, - - - - IF(degreeCertificate = "", degreeCertificate, CONCAT(#{path}, degreeCertificate)) AS degreeCertificate, - - - - IF(leaveCertificate = "", leaveCertificate, CONCAT(#{path}, leaveCertificate)) AS leaveCertificate, - - - - IF(photo = "", photo, CONCAT(#{path}, photo)) AS photo - - + openBank from sys_staffinfo where sid = #{sid} diff --git a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java index a2c27aa..ccd07df 100644 --- a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java +++ b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java @@ -38,6 +38,7 @@ import com.yxt.portal.biz.sysuserrole.SysUserRoleVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; @@ -432,11 +433,13 @@ public class SysStaffinfoService extends MybatisBaseService().eq("staffSid",sid)); //更新员工的关联的部门信息 SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg(); // int count = sysStaffOrgService.selectByStaffAndOrg(sysStaffOrgDto.getOrgSidPath(), sid, "2"); @@ -734,38 +741,35 @@ public class SysStaffinfoService extends MybatisBaseService().eq("staffSid",sid)); + sysUser.setAccountType(dto.getAccountType()); + sysUser.setUserType(dto.getUserType()); + sysUser.setRemarks(dto.getRemarks()); + sysUser.setUserName(dto.getUserName()); + boolean isUpdate1=sysUserService.update(sysUser,new QueryWrapper().eq("sid",sysUser.getSid())); + if (!isUpdate1) { + return rb.setMsg("更新信息失败"); + } //更新员工的关联的部门信息 SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg(); -// int count = sysStaffOrgService.selectByStaffAndOrg(sysStaffOrgDto.getOrgSidPath(), sid, "2"); -// if (count > 0) { -// sysStaffOrgService.deleteByStaffSidAndType(sysStaffOrgDto.getOrgSidPath(), sid, "2"); -// } -// SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSidAndPath(sid,sysStaffOrgDto.getOrgSidPath()); -// if(sysStaffOrg == null){ -// ResultBean staffOrgResultBean = sysStaffOrgService.selectAllByStaffSid(sid); -// sysStaffOrg = staffOrgResultBean.getData(); -// if(sysStaffOrg == null){ -// sysStaffOrg = new SysStaffOrg(); -// sysStaffOrg.setStaffSid(sid); -// BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg); -// sysStaffOrg.setManageType("3"); -// sysStaffOrgService.insert(sysStaffOrg); -// }else{ -// BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg); -// sysStaffOrg.setManageType("3"); -// sysStaffOrgService.updateById(sysStaffOrg); -// } -// }else{ -// BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg); -// sysStaffOrg.setManageType("3"); -// sysStaffOrgService.updateById(sysStaffOrg); -// } + SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSidn(sid); + BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg); + sysStaffOrg.setManageType(dto.getSysStaffOrg().getManageType()); + sysStaffOrgService.updateById(sysStaffOrg); boolean isUpdate = updateById(sysStaffinfo); if (!isUpdate) { return rb.setMsg("更新员工信息失败"); } List sysStaffOrgVos1 = sysStaffOrgService.selectByStaffS(sid); + //角色 + sysUserRoleService.deleteByUserSid(sysUser.getSid()); + for (SysUserRoleDto sysUserRole : dto.getSysUserRoles()) { + SysUserRole ss = new SysUserRole(); + ss.setUserSid(sysUser.getSid()); + ss.setRoleSid(sysUserRole.getRoleSid()); + sysUserRoleService.save(ss); + } List orgList1 = new ArrayList<>(); if (sysStaffOrgVos1.size() > 0) { for (SysStaffOrgVo vv : sysStaffOrgVos1) { @@ -783,8 +787,10 @@ public class SysStaffinfoService extends MybatisBaseService 0) { //根据staffSid查询token String token = sysUserService.selectByStaffsid(sid).getToken(); - //清空该token - redisUtil.remove(token); + if(StringUtils.isNotBlank(token)){ + //清空该token + redisUtil.remove(token); + } } return rb.success().setMsg("更新员工信息成功"); } @@ -796,9 +802,15 @@ public class SysStaffinfoService extends MybatisBaseService().eq("sid",sid)); + SysStaffinfoDetailsVo sysStaffinfoDetailsVo = baseMapper.selectDetailsBySid(sysUser.getStaffSid(), path); + sysStaffinfoDetailsVo.setUserName(sysUser.getUserName()); + sysStaffinfoDetailsVo.setRemarks(sysUser.getRemarks()); + sysStaffinfoDetailsVo.setAccountType(sysUser.getAccountType()); + sysStaffinfoDetailsVo.setUserType(sysUser.getUserType().toString()); + sysStaffinfoDetailsVo.setRemarks(sysUser.getRemarks()); if (sysStaffinfoDetailsVo != null) { - List sysStaffOrgList = sysStaffOrgService.getOrgByStaffSidList(sid); + List sysStaffOrgList = sysStaffOrgService.getOrgByStaffSidList(sysUser.getStaffSid()); String orgSid = ""; String type = ""; for (SysStaffOrg s : sysStaffOrgList) { @@ -816,9 +828,9 @@ public class SysStaffinfoService extends MybatisBaseService().eq("staffSid",sysStaffinfoDetailsVo.getSid())); - List list=sysUserRoleService.selByUserSid(s.getSid()); + SysStaffOrgDetailsVo sysStaffOrgDetailsVo = sysStaffOrgService.selectByStaffByType(sysUser.getStaffSid(), orgSid, type); + + List list=sysUserRoleService.selByUserSid(sysUser.getSid()); sysStaffinfoDetailsVo.setSysUserRoles(list); // SysStaffPostDetailsVo sysStaffPostDetailsVo = sysStaffPostService.selectByStaff(sid, staffPostDetailsVo.getPostSid()); if(sysStaffOrgDetailsVo != null){ @@ -889,7 +901,7 @@ public class SysStaffinfoService extends MybatisBaseService { @Select("select * from sys_staff_org where staffSid=#{sid} and orgSidPath = #{path} ") SysStaffOrg getOrgByStaffSidAndPath(@Param("sid") String sid, @Param("path") String path); - + @Select("select * from sys_staff_org where staffSid=#{sid} ") + SysStaffOrg getOrgByStaffSidn(@Param("sid") String sid); @Select("select * from sys_staff_org where staffSid=#{sid}") List getOrgByStaffSidList(String sid); diff --git a/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml b/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml index e88e80f..544daf9 100644 --- a/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysstafforg/SysStaffOrgMapper.xml @@ -83,17 +83,20 @@ - delete + delete sys_staff_org from sys_staff_org - where staffSid = #{staffSid} - and manageType = #{type} - and orgSidPath = #{sid} + LEFT JOIN sys_organization on sys_organization.sid = sys_staff_org.orgSid + where sys_staff_org.staffSid = #{staffSid} + and sys_staff_org.manageType = #{type} + and sys_organization.orgSidPath = #{sid} SELECT DISTINCT user.staffSid, + user.userType, + user.accountType, + user.createTime, user.isEnable, ( SELECT GROUP_CONCAT(org.name) @@ -38,9 +41,8 @@ FROM sys_user_role user_role LEFT JOIN sys_role role ON role.sid = user_role.roleSid WHERE user_role.userSid = USER.sid - ) roleName, + ) roleName -- dict.dictValue userType, - user.userType userTypeKey FROM sys_user USER LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid LEFT JOIN sys_role role ON role.sid = user_role.roleSid @@ -48,6 +50,8 @@ LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid left join sys_staff_org a on a.staffSid=staff.sid left join sys_org_authorize b on b.orgSid=a.orgSid + left join sys_organization c on c.sid=a.orgSid + ${ew.sqlSegment} diff --git a/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java b/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java index a750dbb..d7c6c12 100644 --- a/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java +++ b/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java @@ -35,6 +35,7 @@ import com.yxt.common.base.utils.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.portal.biz.sysuserrole.SysUserRoleVo; import com.yxt.portal.config.DictCommonType; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; @@ -133,8 +134,9 @@ public class SysUserService extends MybatisBaseService { if (StringUtils.isNotBlank(query.getRoleSid())) { qw.eq("role.sid", query.getRoleSid()); } - qw.eq("a.orgSid",query.getOrgSid()); - qw.eq("b.sourceSid",query.getSourceSid()); + qw.ne("USER.isDelete","1"); + qw.like("c.orgSidPath",query.getOrgSid()); +// qw.eq("b.sourceSid",query.getSourceSid()); // if (StringUtils.isNotBlank(query.getName())) { // qw.like("staff.name", query.getName()); // } @@ -160,6 +162,30 @@ public class SysUserService extends MybatisBaseService { List records = pagging.getRecords(); for (SysUserVo record : records) { record.setSysRoleVos(sysUserRoleService.selByUserSid(record.getSid())); + for (SysUserRoleVo sysRoleVo : record.getSysRoleVos()) { + if(StringUtils.isBlank(record.getRoles())){ + record.setRoles(sysRoleVo.getName()); + }else{ + record.setRoles(record.getRoles()+","+sysRoleVo.getName()); + } + } + if(record.getUserType().equals("1")){ + record.setUserTypeValue("员工"); + }else if(record.getUserType().equals("2")){ + record.setUserTypeValue("客户"); + } else if(record.getUserType().equals("3")){ + record.setUserTypeValue("供应商"); + } + if(record.getAccountType().equals("0")){ + record.setAccountTypeValue("平台管理员"); + }else if(record.getAccountType().equals("1")){ + record.setAccountTypeValue("单位管理员"); + } else if(record.getAccountType().equals("2")){ + record.setAccountTypeValue("操作员"); + }else if(record.getAccountType().equals("3")){ + record.setAccountTypeValue("非登录账户 "); + } + String departmentSid = record.getDepartmentSid(); String orgName = ""; if (StringUtils.isNotBlank(departmentSid)) { @@ -750,7 +776,9 @@ public class SysUserService extends MybatisBaseService { } public void delBySid(String sid) { - baseMapper.delBySid(sid); + SysUser sysUser=baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + sysUser.setIsDelete(1); + baseMapper.update(sysUser,new QueryWrapper().eq("sid",sid)); } /** diff --git a/src/main/java/com/yxt/portal/biz/sysuser/SysUserVo.java b/src/main/java/com/yxt/portal/biz/sysuser/SysUserVo.java index 97ceb33..ccd54e7 100644 --- a/src/main/java/com/yxt/portal/biz/sysuser/SysUserVo.java +++ b/src/main/java/com/yxt/portal/biz/sysuser/SysUserVo.java @@ -78,7 +78,7 @@ public class SysUserVo implements Vo { @ApiModelProperty("用户类型:1员工、2客户、3供应商") private String userType; @ApiModelProperty("用户类型:1、2、3") - private String userTypeKey; + private String userTypeValue; @ApiModelProperty("用户头像") private String headImage; @ApiModelProperty("组织名称") @@ -110,4 +110,7 @@ public class SysUserVo implements Vo { private List sysRoleVos; @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTime; + private String roles;//角色 ,分割 + private String accountType; + private String accountTypeValue; } diff --git a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml index 4db46f4..dd9d620 100644 --- a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml @@ -24,7 +24,7 @@