diff --git a/src/main/java/com/yxt/user/apiadmin/SysStaffinfoRest.java b/src/main/java/com/yxt/user/apiadmin/SysStaffinfoRest.java index c3313e8..23c4a99 100644 --- a/src/main/java/com/yxt/user/apiadmin/SysStaffinfoRest.java +++ b/src/main/java/com/yxt/user/apiadmin/SysStaffinfoRest.java @@ -115,7 +115,7 @@ public class SysStaffinfoRest{ if (sysStaffinfo == null) { return rb.setMsg("员工不存在"); } - if ("01".equals(sysStaffinfo.getPersonTypeKey())) { + if ("01".equals(sysStaffinfo.getPersonType())) { return rb.setMsg("此员工已是离职人员"); } diff --git a/src/main/java/com/yxt/user/apiadmin/SysUserRest.java b/src/main/java/com/yxt/user/apiadmin/SysUserRest.java index 5627086..40250ea 100644 --- a/src/main/java/com/yxt/user/apiadmin/SysUserRest.java +++ b/src/main/java/com/yxt/user/apiadmin/SysUserRest.java @@ -1,6 +1,7 @@ package com.yxt.user.apiadmin; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.yxt.common.base.config.RedisUtil; import com.yxt.common.base.utils.*; @@ -140,8 +141,8 @@ public class SysUserRest { sysUserService.save(su); ssi.setName(name); ssi.setMobile(mobile); - ssi.setPinYinName(PinYinUtils.getPinYinName(name)); - ssi.setFirstPinYinLabel(PinYinUtils.getCharDuoPinYinChar(name)); +// ssi.setPinYinName(PinYinUtils.getPinYinName(name)); +// ssi.setFirstPinYinLabel(PinYinUtils.getCharDuoPinYinChar(name)); sysStaffinfoService.save(ssi); if (StringUtils.isNotBlank(deptSid)) { SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid); @@ -149,8 +150,8 @@ public class SysUserRest { sso.setOrgName(sysOrganization.getName()); sso.setOrgSid(sysOrganization.getSid()); sso.setStaffSid(ssi.getSid()); - sso.setOrgSidPath(sysOrganization.getOrgSidPath()); - sso.setOrgNamePath(sysOrganization.getName()); +// sso.setOrgSidPath(sysOrganization.getOrgSidPath()); +// sso.setOrgNamePath(sysOrganization.getName()); sso.setManageType("3"); sysStaffOrgService.save(sso); } @@ -203,8 +204,8 @@ public class SysUserRest { sso.setOrgName(sysOrganization.getName()); sso.setOrgSid(sysOrganization.getSid()); sso.setStaffSid(ssi.getSid()); - sso.setOrgSidPath(sysOrganization.getOrgSidPath()); - sso.setOrgNamePath(sysOrganization.getName()); +// sso.setOrgSidPath(sysOrganization.getOrgSidPath()); +// sso.setOrgNamePath(sysOrganization.getName()); sso.setManageType("3"); sysStaffOrgService.save(sso); } @@ -317,7 +318,7 @@ public class SysUserRest { @ResponseBody @ApiOperation(value = "3、登录") @ApiOperationSupport(order = 30) - public ResultBean login(SysUserQuery userQuery) { + public ResultBean login(@RequestBody SysUserQuery userQuery) { String userName = userQuery.getUserName(); String password = userQuery.getPassword(); String verifyCode = userQuery.getVerifyCode(); @@ -373,8 +374,108 @@ public class SysUserRest { } return new ResultBean().success().setData(userInfoOneVo); } + @PostMapping("/register") + @ResponseBody + @ApiOperation(value = "3、注册") + @ApiOperationSupport(order = 30) + public ResultBean register(@RequestBody SysUserDto dto) { + ResultBean rb = ResultBean.fireFail(); + SysUserVo userInfoOneVo =new SysUserVo(); + //手机号 + String mobile = dto.getMobile(); + //姓名 + String name = dto.getName(); + //用户类型 + int userType = dto.getUserType(); + //部门sid + String deptSid = dto.getDeptSid(); + //岗位sid + String postSid = dto.getPostSid(); + //验证码 + String verificationCode = dto.getVerificationCode(); + if (StringUtils.isBlank(mobile)) { + return new ResultBean().fail().setMsg("手机号不能为空"); + } + if (userType == 0) { + return new ResultBean().fail().setMsg("用户类型不能为空"); + } + if (StringUtils.isBlank(verificationCode)) { + return new ResultBean().fail().setMsg("验证码不能为空"); + } else { +// Map stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode); + Map stringObjectMap = new HashMap<>(); +// String code = stringObjectMap.get("code").toString(); +// String details = stringObjectMap.get("details").toString(); + String code = "200"; + String details=""; + if (Tools.CODE_FAIL.equals(code)) { + return ResultBean.fireFail().setMessage(details).setMsg(details); + } + } + String ssSid=""; + SysUser one = sysUserService.fetchByUserName(mobile); + if (null != one) { + SysOrganization s=sysOrganizationService.getOne(new QueryWrapper().eq("name",dto.getCompanyName())); + if(s!=null){ + return new ResultBean().fail().setMsg("公司重复!`"); + }else{ + ssSid=one.getStaffSid(); + } + }else{ + //"15097329653"; + String password = mobile.substring(5, 11); + String md5 = Encodes.md5(password); + SysStaffinfo ssi = new SysStaffinfo(); + SysUser su = new SysUser(); + dto.fillEntity(su); + su.setStaffSid(ssi.getSid()); + su.setUserName(mobile); + su.setPassword(md5); + su.setIsAdmin("1"); + sysUserService.save(su); + ssi.setName(name); + ssi.setMobile(mobile); + sysStaffinfoService.save(ssi); + ssSid=ssi.getSid(); + } + + SysOrganization sysOrg=new SysOrganization(); + sysOrg.setName(dto.getCompanyName()); + sysOrg.setLinkPhone(dto.getContacts()); + sysOrganizationService.save(sysOrg); + SysStaffOrg sysStaffOrg=new SysStaffOrg(); + sysStaffOrg.setStaffSid(ssSid); + sysStaffOrg.setOrgSid(sysOrg.getSid()); + sysStaffOrg.setOrgName(sysOrg.getName()); + sysStaffOrg.setManageType("3"); + sysStaffOrgService.save(sysStaffOrg); + + if (StringUtils.isNotBlank(deptSid)) { + SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid); + SysStaffOrg sso = new SysStaffOrg(); + sso.setOrgName(sysOrganization.getName()); + sso.setOrgSid(sysOrganization.getSid()); + sso.setStaffSid(ssSid); +// sso.setOrgSidPath(sysOrganization.getOrgSidPath()); +// sso.setOrgNamePath(sysOrganization.getName()); + sso.setManageType("3"); + sysStaffOrgService.save(sso); + } + if (StringUtils.isNotBlank(postSid)) { + SysPost sysPost = sysPostService.fetchBySid(postSid); + SysStaffPost ssp = new SysStaffPost(); + ssp.setStaffSid(ssSid); + ssp.setOrgSid(deptSid); + ssp.setPostSid(postSid); + ssp.setStartDate(new Date()); + ssp.setIsDepetHead(0); + sysStaffPostService.save(ssp); + } + + return new ResultBean().success().setData(userInfoOneVo); + } public ResultBean loginByNoVeriCode(SysUserQuery userQuery) { String userName = userQuery.getUserName(); @@ -438,7 +539,10 @@ public class SysUserRest { * @param mobile 手机号 * @return ResultBean */ - + @PostMapping("/sendMessageCode") + @ResponseBody + @ApiOperation(value = "3、获取注册码") + @ApiOperationSupport(order = 30) public ResultBean sendMessageCode(String mobile) { if (StringUtils.isBlank(mobile) || !RegexUtil.isMobile(mobile)) { return new ResultBean().fail().setMsg("请输入正确的手机号"); @@ -447,6 +551,22 @@ public class SysUserRest { return sysUserService.getVerificationCode(mobile, verificationCode); } + /** + * 获取登录注册码() + * @param mobile + * @return + */ + @PostMapping("/sendMessageLogin") + @ResponseBody + @ApiOperation(value = "3、获取登录码") + @ApiOperationSupport(order = 30) + public ResultBean sendMessageLogin(String mobile) { + if (StringUtils.isBlank(mobile) || !RegexUtil.isMobile(mobile)) { + return new ResultBean().fail().setMsg("请输入正确的手机号"); + } + String verificationCode = ""; + return sysUserService.getVerificationCodeL(mobile, verificationCode); + } public ResultBean selectByStaffsid(String staffsid) { SysUserVo user = sysUserService.selectByStaffsid(staffsid); diff --git a/src/main/java/com/yxt/user/biz/sysfunction/SysFunctionService.java b/src/main/java/com/yxt/user/biz/sysfunction/SysFunctionService.java index 8748235..2d4eb49 100644 --- a/src/main/java/com/yxt/user/biz/sysfunction/SysFunctionService.java +++ b/src/main/java/com/yxt/user/biz/sysfunction/SysFunctionService.java @@ -34,7 +34,7 @@ import java.util.Map; public class SysFunctionService extends MybatisBaseService { @Autowired private SysSourceService sysSourceService; - @Autowired +// @Autowired // private SysSourceFunctionService sysSourceFunctionService; public PagerVo listPage(PagerQuery pq) { diff --git a/src/main/java/com/yxt/user/biz/sysorganization/SysOrganization.java b/src/main/java/com/yxt/user/biz/sysorganization/SysOrganization.java index 1764736..a9a4e57 100644 --- a/src/main/java/com/yxt/user/biz/sysorganization/SysOrganization.java +++ b/src/main/java/com/yxt/user/biz/sysorganization/SysOrganization.java @@ -58,8 +58,8 @@ public class SysOrganization extends BaseEntity { @ApiModelProperty("部门编码") private String orgCode; - @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))") - private String orgShortName; +// @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))") +// private String orgShortName; @ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)") private String regionDivision; diff --git a/src/main/java/com/yxt/user/biz/sysorganization/SysOrganizationService.java b/src/main/java/com/yxt/user/biz/sysorganization/SysOrganizationService.java index 7dfe4c2..7ed758a 100644 --- a/src/main/java/com/yxt/user/biz/sysorganization/SysOrganizationService.java +++ b/src/main/java/com/yxt/user/biz/sysorganization/SysOrganizationService.java @@ -208,19 +208,19 @@ public class SysOrganizationService extends MybatisBaseService 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); - } +// 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); +// } //更新员工的关联的岗位信息 SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid); diff --git a/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrg.java b/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrg.java index 7fce2c4..6a8020e 100644 --- a/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrg.java +++ b/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrg.java @@ -35,11 +35,11 @@ public class SysStaffOrg extends BaseEntity { @ApiModelProperty("人员sid") private String staffSid; - @ApiModelProperty("部门路径") - private String orgSidPath; +// @ApiModelProperty("部门路径") +// private String orgSidPath; - @ApiModelProperty("部门名称路径") - private String orgNamePath; +// @ApiModelProperty("部门名称路径") +// private String orgNamePath; @ApiModelProperty("管理类型:1、主管。2、分管。3、员工") private String manageType; diff --git a/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgDto.java b/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgDto.java index 620d42e..7e4d8b9 100644 --- a/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgDto.java +++ b/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgDto.java @@ -31,10 +31,10 @@ public class SysStaffOrgDto implements Dto { @ApiModelProperty("部门名称") @NotBlank(message = "部门名称不能为空") private String orgName; - @ApiModelProperty("部门路径") - private String orgSidPath; - @ApiModelProperty("部门名称路径") - private String orgNamePath; +// @ApiModelProperty("部门路径") +// private String orgSidPath; +// @ApiModelProperty("部门名称路径") +// private String orgNamePath; @ApiModelProperty(value = "部门编码") private String orgCode; @ApiModelProperty(value = "管理类型:1、主管。2、分管。3、员工", example = "3") diff --git a/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgVo.java b/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgVo.java index b41ddb2..7576b12 100644 --- a/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgVo.java +++ b/src/main/java/com/yxt/user/biz/sysstafforg/SysStaffOrgVo.java @@ -33,11 +33,11 @@ public class SysStaffOrgVo implements Vo { @ApiModelProperty("人员sid") private String staffSid; - @ApiModelProperty("部门路径") - private String orgSidPath; - - @ApiModelProperty("部门名称路径") - private String orgNamePath; +// @ApiModelProperty("部门路径") +// private String orgSidPath; +// +// @ApiModelProperty("部门名称路径") +// private String orgNamePath; @ApiModelProperty("管理类型:1、主管。2、分管。3、员工") private String manageType; diff --git a/src/main/java/com/yxt/user/biz/sysuser/SysUserDto.java b/src/main/java/com/yxt/user/biz/sysuser/SysUserDto.java index ff0c897..2186c77 100644 --- a/src/main/java/com/yxt/user/biz/sysuser/SysUserDto.java +++ b/src/main/java/com/yxt/user/biz/sysuser/SysUserDto.java @@ -38,5 +38,10 @@ public class SysUserDto implements Dto { private String deptSid; @ApiModelProperty(value = "岗位sid") private String postSid; + private String companyName;//公司名 + private String contacts;//联系人 + private String provinces;//省 + private String cities;//市 + private String districts;//区 } \ No newline at end of file diff --git a/src/main/java/com/yxt/user/biz/sysuser/SysUserMapper.xml b/src/main/java/com/yxt/user/biz/sysuser/SysUserMapper.xml index d6c90ef..d4553be 100644 --- a/src/main/java/com/yxt/user/biz/sysuser/SysUserMapper.xml +++ b/src/main/java/com/yxt/user/biz/sysuser/SysUserMapper.xml @@ -117,7 +117,6 @@ where su.userName = #{param1} and su.isDelete = 0 and su.userType = 1 - and si.personTypeKey != '01' @@ -279,7 +277,7 @@ left join sys_staff_org so on so.staffSid = si.sid where sr.roleSid = #{roleSid} and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) - and si.personTypeKey != '01' + @@ -359,7 +356,6 @@ left join sys_staff_org so on so.staffSid = si.sid where sr.roleSid = #{roleSid} and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) - and si.personTypeKey != '01' AND so.`manageType` = 3 and su.sid in @@ -375,7 +371,6 @@ left join sys_staff_org so on so.staffSid = si.sid where sr.roleSid = #{roleSid} and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ',')) - and si.personTypeKey != '01' AND so.`manageType` = 3 and su.sid in diff --git a/src/main/java/com/yxt/user/biz/sysuser/SysUserQuery.java b/src/main/java/com/yxt/user/biz/sysuser/SysUserQuery.java index 716d911..549f218 100644 --- a/src/main/java/com/yxt/user/biz/sysuser/SysUserQuery.java +++ b/src/main/java/com/yxt/user/biz/sysuser/SysUserQuery.java @@ -48,4 +48,9 @@ public class SysUserQuery implements Query { private String type; @ApiModelProperty(value = "是否是测试",example = "false") private Boolean isTest; + private Boolean companyName;//公司名 + private Boolean contacts;//联系人 + private Boolean provinces;//省 + private Boolean cities;//市 + private Boolean districts;//区 } \ No newline at end of file diff --git a/src/main/java/com/yxt/user/biz/sysuser/SysUserService.java b/src/main/java/com/yxt/user/biz/sysuser/SysUserService.java index 717766a..414a8fa 100644 --- a/src/main/java/com/yxt/user/biz/sysuser/SysUserService.java +++ b/src/main/java/com/yxt/user/biz/sysuser/SysUserService.java @@ -365,8 +365,10 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setDepartmentName("无部门"); List orgVoList = sysStaffOrgService.getSysStaffOrgListByStaff(user.getStaffSid()); SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(user.getStaffSid()); - userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid()); - userInfoOneVo.setPostName(staffPostDetailsVo.getName()); + if(staffPostDetailsVo!=null){ + userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid()); + userInfoOneVo.setPostName(staffPostDetailsVo.getName()); + } if (orgVoList.size() > 0) { //类型为员工的组织机构信息 SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0); @@ -375,72 +377,74 @@ public class SysUserService extends MybatisBaseService { SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid()); if (sysOrganizationOne != null) { String psid = sysOrganizationOne.getPsid(); - String name = sysOrganizationService.fetchBySid(psid).getName(); - userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); + if(StringUtils.isNotNull(psid)){ + String name = sysOrganizationService.fetchBySid(psid).getName(); + userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); + } } userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName()); - userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); - userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); +// userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); +// userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); //根据orgSidPath查询分公司sid===== //根据用户sid查询用户是否设置了默认的组织机构 - SysUserDefaultOrg sysUserDefaultOrg = sysUserDefaultOrgService.selectByUserSid(user.getSid()); - if (sysUserDefaultOrg == null) { - String orgNamePath = ""; - String defaultDeptName = ""; - String defaultDeptSid = ""; - userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath()); - if (StringUtils.isNotBlank(sysStaffOrg.getOrgSidPath())) { - List split = Arrays.asList(sysStaffOrg.getOrgSidPath().split("/")); - if (split.size() > 1) { - //获取本级sid获取本级部门信息 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); - SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); - orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); - defaultDeptName = sysOrganization1.getName(); - defaultDeptSid = sysOrganization1.getSid(); - } else { - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); - orgNamePath = sysOrganization.getName(); - defaultDeptName = sysOrganization.getName(); - defaultDeptSid = sysOrganization.getSid(); - } - } +// SysUserDefaultOrg sysUserDefaultOrg = sysUserDefaultOrgService.selectByUserSid(user.getSid()); +// if (sysUserDefaultOrg == null) { +// String orgNamePath = ""; +// String defaultDeptName = ""; +// String defaultDeptSid = ""; +// userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath()); +// if (StringUtils.isNotBlank(sysStaffOrg.getOrgSidPath())) { +// List split = Arrays.asList(sysStaffOrg.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// defaultDeptName = sysOrganization1.getName(); +// defaultDeptSid = sysOrganization1.getSid(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgNamePath = sysOrganization.getName(); +// defaultDeptName = sysOrganization.getName(); +// defaultDeptSid = sysOrganization.getSid(); +// } +// } // userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath()); - userInfoOneVo.setDefaultOrgPathName(orgNamePath); - userInfoOneVo.setDefaultDeptName(defaultDeptName); - userInfoOneVo.setDefaultDeptSid(defaultDeptSid); - } else { - String orgNamePath = ""; - List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); - sysStaffOrgVos.removeAll(Collections.singleton(null)); - List orgSidPathList = sysStaffOrgVos.stream().map(v -> v.getOrgSidPath()).collect(Collectors.toList()); - if (!orgSidPathList.contains(sysUserDefaultOrg.getOrgSidPath())) { - sysUserDefaultOrgService.deleteByUserSid(user.getSid()); - } - userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath()); - String defaultDeptName = ""; - String defaultDeptSid = ""; - if (StringUtils.isNotBlank(sysUserDefaultOrg.getOrgSidPath())) { - List split = Arrays.asList(sysUserDefaultOrg.getOrgSidPath().split("/")); - if (split.size() > 1) { - //获取本级sid获取本级部门信息 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); - SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); - orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); - defaultDeptName = sysOrganization1.getName(); - defaultDeptSid = sysOrganization1.getSid(); - } else { - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); - orgNamePath = sysOrganization.getName(); - defaultDeptName = sysOrganization.getName(); - defaultDeptSid = sysOrganization.getSid(); - } - } - userInfoOneVo.setDefaultOrgPathName(orgNamePath); - userInfoOneVo.setDefaultDeptName(defaultDeptName); - userInfoOneVo.setDefaultDeptSid(defaultDeptSid); - } +// userInfoOneVo.setDefaultOrgPathName(orgNamePath); +// userInfoOneVo.setDefaultDeptName(defaultDeptName); +// userInfoOneVo.setDefaultDeptSid(defaultDeptSid); +// } else { +// String orgNamePath = ""; +// List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); +// sysStaffOrgVos.removeAll(Collections.singleton(null)); +// List orgSidPathList = sysStaffOrgVos.stream().map(v -> v.getOrgSidPath()).collect(Collectors.toList()); +// if (!orgSidPathList.contains(sysUserDefaultOrg.getOrgSidPath())) { +// sysUserDefaultOrgService.deleteByUserSid(user.getSid()); +// } +// userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath()); +// String defaultDeptName = ""; +// String defaultDeptSid = ""; +// if (StringUtils.isNotBlank(sysUserDefaultOrg.getOrgSidPath())) { +// List split = Arrays.asList(sysUserDefaultOrg.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// defaultDeptName = sysOrganization1.getName(); +// defaultDeptSid = sysOrganization1.getSid(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgNamePath = sysOrganization.getName(); +// defaultDeptName = sysOrganization.getName(); +// defaultDeptSid = sysOrganization.getSid(); +// } +// } +// userInfoOneVo.setDefaultOrgPathName(orgNamePath); +// userInfoOneVo.setDefaultDeptName(defaultDeptName); +// userInfoOneVo.setDefaultDeptSid(defaultDeptSid); +// } } } } @@ -454,44 +458,227 @@ public class SysUserService extends MybatisBaseService { if (sysStaffOrgVos.size() > 0) { for (SysStaffOrgVo vv : sysStaffOrgVos) { OrgList orgList1 = new OrgList(); - orgList1.setOrgPath(vv.getOrgSidPath()); - orgList1.setOrgName(vv.getOrgNamePath()); +// orgList1.setOrgPath(vv.getOrgSidPath()); +// orgList1.setOrgName(vv.getOrgNamePath()); String orgName = ""; String deptName = ""; String deptSid = ""; - if (StringUtils.isNotBlank(vv.getOrgSidPath())) { - List split = Arrays.asList(vv.getOrgSidPath().split("/")); - if (split.size() > 1) { - //获取本级sid获取本级部门信息 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); - SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); - orgName = sysOrganization.getName() + "/" + sysOrganization1.getName(); - deptName = sysOrganization1.getName(); - deptSid = sysOrganization1.getSid(); - } else { - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); - orgName = sysOrganization.getName(); - deptName = sysOrganization.getName(); - deptSid = sysOrganization.getSid(); - } - /*String[] split = vv.getOrgSidPath().split("/"); - for (int i = 0; i < split.length; i++) { - //获取本级sid获取本级部门信息 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split[i]); - //从本级部门信息中获取本级部门名称 - if (sysOrganization != null) { - String bjName = sysOrganization.getName(); - if(i == 0){ - orgName = bjName; - }else{ - orgName = orgName+"/"+bjName; - } +// if (StringUtils.isNotBlank(vv.getOrgSidPath())) { +// List split = Arrays.asList(vv.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgName = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// deptName = sysOrganization1.getName(); +// deptSid = sysOrganization1.getSid(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgName = sysOrganization.getName(); +// deptName = sysOrganization.getName(); +// deptSid = sysOrganization.getSid(); +// } +// /*String[] split = vv.getOrgSidPath().split("/"); +// for (int i = 0; i < split.length; i++) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split[i]); +// //从本级部门信息中获取本级部门名称 +// if (sysOrganization != null) { +// String bjName = sysOrganization.getName(); +// if(i == 0){ +// orgName = bjName; +// }else{ +// orgName = orgName+"/"+bjName; +// } +// } +// }*/ +// orgList1.setOrgName(orgName); +// orgList1.setDeptName(deptName); +// orgList1.setDeptSid(deptSid); +// } + orgList.add(orgList1); + } + } + userInfoOneVo.setOrgList(orgList); + if ("1".equals(isAdmin)) { + userInfoOneVo.setPostName(roleName); + } + return userInfoOneVo; + } + public SysUserVo selectUserOne1(SysUser user) { + // 根据用户信息查询用户的角色信息 + String isAdmin = ""; + isAdmin = user.getIsAdmin(); + SysUserVo userInfoOneVo = new SysUserVo(); + userInfoOneVo.setToken(user.getToken()); + userInfoOneVo.setId(user.getId()); + userInfoOneVo.setSid(user.getSid()); + userInfoOneVo.setUserName(user.getUserName()); + userInfoOneVo.setIsAdmin(user.getIsAdmin()); + //类型为员工的组织机构信息 + SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData(); + if (sysStaffOrg == null) { + return null; + } + + userInfoOneVo.setRoleName(""); + String dwjb = ""; + // 系统管理员(没有对应的人员和单位) + //是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员 + if ("0".equals(user.getIsAdmin())) { + userInfoOneVo.setName("系统管理员"); + userInfoOneVo.setMobile(""); + userInfoOneVo.setStaffSid(""); + userInfoOneVo.setOrganizationName("无单位"); + userInfoOneVo.setDepartmentName("无部门"); + } else { + // 获取人员姓名 + SysStaffinfo staffVo = sysStaffinfoService.fetchBySid(user.getStaffSid()); + if (null != staffVo) { + userInfoOneVo.setName(staffVo.getName()); + userInfoOneVo.setMobile(staffVo.getMobile()); + userInfoOneVo.setStaffSid(staffVo.getSid()); + } + // 尚无单位人员,没有单位和部门信息 + if ("3".equals(user.getIsAdmin())) { + userInfoOneVo.setOrganizationName("无单位"); + userInfoOneVo.setDepartmentName("无部门"); + } else { + userInfoOneVo.setOrganizationName("无单位"); + userInfoOneVo.setDepartmentName("无部门"); + List orgVoList = sysStaffOrgService.getSysStaffOrgListByStaff(user.getStaffSid()); + SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(user.getStaffSid()); + if(staffPostDetailsVo!=null){ + userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid()); + userInfoOneVo.setPostName(staffPostDetailsVo.getName()); + } + if (orgVoList.size() > 0) { + //类型为员工的组织机构信息 + SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0); + userInfoOneVo.setDepartmentName(sysStaffOrgVo.getOrgName()); + userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid()); + SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid()); + if (sysOrganizationOne != null) { + String psid = sysOrganizationOne.getPsid(); + if(StringUtils.isNotNull(psid)){ + String name = sysOrganizationService.fetchBySid(psid).getName(); + userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName()); } - }*/ - orgList1.setOrgName(orgName); - orgList1.setDeptName(deptName); - orgList1.setDeptSid(deptSid); + } + userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); + userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName()); +// userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); +// userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath()); + //根据orgSidPath查询分公司sid===== + //根据用户sid查询用户是否设置了默认的组织机构 +// SysUserDefaultOrg sysUserDefaultOrg = sysUserDefaultOrgService.selectByUserSid(user.getSid()); +// if (sysUserDefaultOrg == null) { +// String orgNamePath = ""; +// String defaultDeptName = ""; +// String defaultDeptSid = ""; +// userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath()); +// if (StringUtils.isNotBlank(sysStaffOrg.getOrgSidPath())) { +// List split = Arrays.asList(sysStaffOrg.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// defaultDeptName = sysOrganization1.getName(); +// defaultDeptSid = sysOrganization1.getSid(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgNamePath = sysOrganization.getName(); +// defaultDeptName = sysOrganization.getName(); +// defaultDeptSid = sysOrganization.getSid(); +// } +// } +// userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath()); +// userInfoOneVo.setDefaultOrgPathName(orgNamePath); +// userInfoOneVo.setDefaultDeptName(defaultDeptName); +// userInfoOneVo.setDefaultDeptSid(defaultDeptSid); +// } else { +// String orgNamePath = ""; +// List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); +// sysStaffOrgVos.removeAll(Collections.singleton(null)); +// List orgSidPathList = sysStaffOrgVos.stream().map(v -> v.getOrgSidPath()).collect(Collectors.toList()); +// if (!orgSidPathList.contains(sysUserDefaultOrg.getOrgSidPath())) { +// sysUserDefaultOrgService.deleteByUserSid(user.getSid()); +// } +// userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath()); +// String defaultDeptName = ""; +// String defaultDeptSid = ""; +// if (StringUtils.isNotBlank(sysUserDefaultOrg.getOrgSidPath())) { +// List split = Arrays.asList(sysUserDefaultOrg.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// defaultDeptName = sysOrganization1.getName(); +// defaultDeptSid = sysOrganization1.getSid(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgNamePath = sysOrganization.getName(); +// defaultDeptName = sysOrganization.getName(); +// defaultDeptSid = sysOrganization.getSid(); +// } +// } +// userInfoOneVo.setDefaultOrgPathName(orgNamePath); +// userInfoOneVo.setDefaultDeptName(defaultDeptName); +// userInfoOneVo.setDefaultDeptSid(defaultDeptSid); +// } } + } + } + // 设置用户的角色sids + List roleSids = this.getUserRoleSids(user.getSid()); + userInfoOneVo.setRoleSids(roleSids); + String roleName = sysRoleService.selectByUserSid(user.getSid()); + userInfoOneVo.setRoleName(roleName); + List sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); + List orgList = new ArrayList<>(); + if (sysStaffOrgVos.size() > 0) { + for (SysStaffOrgVo vv : sysStaffOrgVos) { + OrgList orgList1 = new OrgList(); +// orgList1.setOrgPath(vv.getOrgSidPath()); +// orgList1.setOrgName(vv.getOrgNamePath()); + String orgName = ""; + String deptName = ""; + String deptSid = ""; +// if (StringUtils.isNotBlank(vv.getOrgSidPath())) { +// List split = Arrays.asList(vv.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgName = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// deptName = sysOrganization1.getName(); +// deptSid = sysOrganization1.getSid(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgName = sysOrganization.getName(); +// deptName = sysOrganization.getName(); +// deptSid = sysOrganization.getSid(); +// } +// /*String[] split = vv.getOrgSidPath().split("/"); +// for (int i = 0; i < split.length; i++) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split[i]); +// //从本级部门信息中获取本级部门名称 +// if (sysOrganization != null) { +// String bjName = sysOrganization.getName(); +// if(i == 0){ +// orgName = bjName; +// }else{ +// orgName = orgName+"/"+bjName; +// } +// } +// }*/ +// orgList1.setOrgName(orgName); +// orgList1.setDeptName(deptName); +// orgList1.setDeptSid(deptSid); +// } orgList.add(orgList1); } } @@ -501,7 +688,6 @@ public class SysUserService extends MybatisBaseService { } return userInfoOneVo; } - /** * 手机端登录后设置token * @@ -597,7 +783,7 @@ public class SysUserService extends MybatisBaseService { boolean str = redisUtil.exists(mobile); if (!str) { redisUtil.set(mobile, (verificationCode + timemili)); - String result = MsgWs.SendWaitWorkMsg(mobile, verificationCode1); + String result = com.yxt.user.utils.MsgWs.SendWaitWorkMsg(mobile, verificationCode1); if (!RESULT_CODE.equals(result)) { return ResultBean.fireFail().setMsg("发送短信验证码失败"); } @@ -609,7 +795,65 @@ public class SysUserService extends MybatisBaseService { } else { //发送短信 redisUtil.set(mobile, (verificationCode + timemili)); - String result = MsgWs.SendWaitWorkMsg(mobile, verificationCode1); + String result = com.yxt.user.utils.MsgWs.SendWaitWorkMsg(mobile, verificationCode1); + if (!RESULT_CODE.equals(result)) { + return ResultBean.fireFail().setMsg("发送短信验证码失败"); + } + + } + } + } catch (Exception e) { + return ResultBean.fireFail().setMsg("发送短信验证码失败"); + } + //============= + return ResultBean.fireSuccess().setMsg("发送短信验证码成功"); + } + public ResultBean getVerificationCodeL(String mobile, String verificationCode) { + for (int i = 0; i < LENGTH_OF_CODE; i++) { + // 定义随机类 + Random random = new Random(); + // 返回[0,10)集合中的整数,注意不包括10 + int result = random.nextInt(10); + // +1后,[0,10)集合变为[1,11)集合,满足要求 + int num = result; + verificationCode = verificationCode + num; + } + String verificationCode1 = "个人登录验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略。"; + try { + //============ + //当前时间秒数 + Long timemili = System.currentTimeMillis() / 1000; + System.out.println("当前的秒数" + timemili); + /*在这里写一个定时的for循环,用来取redis的手机号码信息,然后查询手机号码开始的时间,若是大于等于五分钟就给删除这个键值*/ + //创建多线程定时任务,延迟1s启动,每隔1s执行一次,是前一个任务开始时就开始计算时间间隔,但是会等上一个任务结束在开始下一个 + ScheduledExecutorService scheduledExecutorService = newScheduledThreadPool(10); + scheduledExecutorService.scheduleAtFixedRate(new Runnable() { + @Override + public void run() { + //判断这个键的值是不是超过五分钟,是的话就删除掉这个键 + if (System.currentTimeMillis() / 1000 - Long.parseLong(redisUtil.get(mobile).substring(4)) > 300) { + redisUtil.remove(mobile); + } + } + }, 1, 2, TimeUnit.SECONDS); + + //设置键值的时候先查询是否存在这个键值对,存在的话查看时长,不存在的话直接发送短信 + boolean str = redisUtil.exists(mobile); + if (!str) { + redisUtil.set(mobile, (verificationCode + timemili)); + String result = com.yxt.user.utils.MsgWs.SendWaitWorkMsg(mobile, verificationCode1); + if (!RESULT_CODE.equals(result)) { + return ResultBean.fireFail().setMsg("发送短信验证码失败"); + } + } else { + String strT = redisUtil.get(mobile); + //查看请求间隔,默认是一分钟,小于一分钟继续等待,超过一分钟发送短信 + if (timemili - Long.parseLong(strT.substring(4)) < 60) { + return ResultBean.fireFail().setMsg("请等待一分钟后再次重试!"); + } else { + //发送短信 + redisUtil.set(mobile, (verificationCode + timemili)); + String result = com.yxt.user.utils.MsgWs.SendWaitWorkMsg(mobile, verificationCode1); if (!RESULT_CODE.equals(result)) { return ResultBean.fireFail().setMsg("发送短信验证码失败"); } @@ -1240,7 +1484,7 @@ public class SysUserService extends MybatisBaseService { SysUserVo vo = fetchBySidVo(userSid); //根据staffSid获取用户的组织全路径 SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(vo.getStaffSid()); - userRoleQuery.setOrgSidPath(sysStaffOrg.getOrgSidPath()); +// userRoleQuery.setOrgSidPath(sysStaffOrg.getOrgSidPath()); } userRoleQuery.setRoleSid(roleSid); ResultBean> resultBean = getUserByRole(userRoleQuery); @@ -1330,22 +1574,22 @@ public class SysUserService extends MybatisBaseService { if (sysStaffOrgVos.size() > 0) { for (SysStaffOrgVo vv : sysStaffOrgVos) { OrgList orgList1 = new OrgList(); - orgList1.setOrgPath(vv.getOrgSidPath()); - orgList1.setOrgName(vv.getOrgNamePath()); +// orgList1.setOrgPath(vv.getOrgSidPath()); +// orgList1.setOrgName(vv.getOrgNamePath()); String orgName = ""; - if (StringUtils.isNotBlank(vv.getOrgSidPath())) { - List split = Arrays.asList(vv.getOrgSidPath().split("/")); - if (split.size() > 1) { - //获取本级sid获取本级部门信息 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); - SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); - orgName = sysOrganization.getName() + "/" + sysOrganization1.getName(); - } else { - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); - orgName = sysOrganization.getName(); - } - orgList1.setOrgName(orgName); - } +// if (StringUtils.isNotBlank(vv.getOrgSidPath())) { +// List split = Arrays.asList(vv.getOrgSidPath().split("/")); +// if (split.size() > 1) { +// //获取本级sid获取本级部门信息 +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2)); +// SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); +// orgName = sysOrganization.getName() + "/" + sysOrganization1.getName(); +// } else { +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); +// orgName = sysOrganization.getName(); +// } +// orgList1.setOrgName(orgName); +// } orgList.add(orgList1); } } diff --git a/src/main/java/com/yxt/user/biz/sysuser/SysUserVo.java b/src/main/java/com/yxt/user/biz/sysuser/SysUserVo.java index f937fca..8e8e002 100644 --- a/src/main/java/com/yxt/user/biz/sysuser/SysUserVo.java +++ b/src/main/java/com/yxt/user/biz/sysuser/SysUserVo.java @@ -3,6 +3,7 @@ package com.yxt.user.biz.sysuser; import com.fasterxml.jackson.annotation.JsonProperty; import com.yxt.common.core.vo.Vo; +import com.yxt.user.biz.sysorganization.SysOrganization; import com.yxt.user.biz.sysuser.app.OrgList; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -95,4 +96,5 @@ public class SysUserVo implements Vo { private Boolean needResetPsd; @ApiModelProperty("工号") private String jobNumber; + List sysOrganizations; }