
17 changed files with 1666 additions and 14 deletions
@ -0,0 +1,198 @@ |
|||
package com.wh.controller.sysuser; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
|||
import com.wh.pojo.sysuser.*; |
|||
import com.wh.service.sysuser.SysUserService; |
|||
import com.yxt.common.base.config.RedisUtil; |
|||
import com.yxt.common.base.config.component.FileUploadComponent; |
|||
import com.yxt.common.base.utils.Encodes; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.FileUploadResult; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.servlet.http.HttpServletRequest; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
import java.util.UUID; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysUserFeignFallback.java <br/> |
|||
* Class: SysUserRest <br/> |
|||
* Description: 用户表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:30 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Api(tags = "用户表") |
|||
@RestController |
|||
@RequestMapping("v1/sysuser") |
|||
public class SysUserRest { |
|||
@Autowired |
|||
private RedisUtil redisUtil; |
|||
@Autowired |
|||
private SysUserService sysUserService; |
|||
@Autowired |
|||
private FileUploadComponent fileUploadComponent; |
|||
// 定义点选文字图片验证码允许的误差值
|
|||
private static final int ERROR_AMOUNT = 50;// 定义允许的误差值,单位是px
|
|||
@ApiOperation("根据条件分页查询数据的列表 ") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<SysUserVo>> listPage(@RequestBody PagerQuery<SysUserQuery> pq) { |
|||
ResultBean rb = ResultBean.fireFail();//roleSid
|
|||
PagerVo<SysUserVo> pv = sysUserService.listPageVo(pq); |
|||
return rb.success().setData(pv); |
|||
} |
|||
@ApiOperation("根据条件查询所有数据列表") |
|||
@PostMapping("/listAll") |
|||
public ResultBean<List<SysUserVo>> listAll(@RequestBody SysUserQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<SysUserVo> list = sysUserService.listAllVo(query); |
|||
return rb.success().setData(list); |
|||
} |
|||
@ApiOperation("所有数据列表") |
|||
@GetMapping("/list") |
|||
public ResultBean<List<SysUserVo>> list() { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<SysUserVo> list = sysUserService.listVo(); |
|||
return rb.success().setData(list); |
|||
} |
|||
|
|||
@PostMapping("/saveOpenId") |
|||
public ResultBean saveOpenId(@RequestBody SysUserDto dto){ |
|||
ResultBean rb=new ResultBean(); |
|||
SysUser sysUser=sysUserService.getOne(new QueryWrapper<SysUser>().eq("sid",dto.getSid())); |
|||
sysUser.setOpenId(dto.getOpenid()); |
|||
sysUserService.update(sysUser,new QueryWrapper<SysUser>().eq("sid",dto.getSid())); |
|||
return rb.success().setMsg("保存成功"); |
|||
} |
|||
@PostMapping("/saveBank") |
|||
public ResultBean saveBank(@RequestBody SysUserDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
//手机号
|
|||
String mobile = dto.getMobile(); |
|||
//姓名
|
|||
String name = dto.getName(); |
|||
//用户类型
|
|||
int userType = dto.getUserType(); |
|||
//部门sid
|
|||
if (StringUtils.isBlank(mobile)) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空"); |
|||
} else { |
|||
SysUser one = sysUserService.fetchByUserName(mobile); |
|||
if (null != one) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("手机号重复!`"); |
|||
} |
|||
} |
|||
if (StringUtils.isBlank(name)) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("姓名不能为空"); |
|||
} |
|||
if (userType == 0) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("用户类型不能为空"); |
|||
} |
|||
String password = mobile.substring(5, 11); |
|||
String md5 = Encodes.md5(password); |
|||
SysUser su = new SysUser(); |
|||
dto.fillEntity(su); |
|||
su.setSid(UUID.randomUUID().toString()); |
|||
su.setStaffSid(dto.getBankMessageSid()); |
|||
su.setUserName(mobile); |
|||
su.setPassword(md5); |
|||
sysUserService.save(su); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@GetMapping("/getUserBySid") |
|||
public ResultBean<SysUser> getUserBySid(@RequestParam("sid")String sid) { |
|||
SysUser sysUser = sysUserService.getUserBySid(sid); |
|||
return new ResultBean().success().setData(sysUser); |
|||
} |
|||
|
|||
@PostMapping("/login") |
|||
@ResponseBody |
|||
@ApiOperation(value = "3、登录") |
|||
@ApiOperationSupport(order = 30) |
|||
public ResultBean<SysUserVo> login(@RequestBody SysUserQuery userQuery) { |
|||
String userName = userQuery.getUserName(); |
|||
String password = userQuery.getPassword(); |
|||
// 遍历其中的map,取出每个属性值
|
|||
if (StringUtils.isBlank(userName)) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("用户名不能为空"); |
|||
} |
|||
if (StringUtils.isBlank(password)) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("密码不能为空"); |
|||
} |
|||
SysUser user = null; |
|||
// 验证通过之后删除redis上的验证过的该条uuid
|
|||
String md5 = Encodes.md5(password); |
|||
user = sysUserService.selectByUserNameAndPassword(userName,md5); |
|||
if (user == null) { |
|||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误"); |
|||
} |
|||
// 根据用户信息查询用户的角色信息
|
|||
SysUserVo userInfoOneVo = new SysUserVo();//sysUserService.setUserRedisSessionToken(user);
|
|||
BeanUtil.copyProperties(user,userInfoOneVo); |
|||
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo); |
|||
} |
|||
|
|||
/** |
|||
* 退出登录 |
|||
* |
|||
* @return |
|||
*/ |
|||
@PostMapping("/signOut") |
|||
@ResponseBody |
|||
@ApiOperation(value = "退出登录") |
|||
@ApiOperationSupport(order = 30) |
|||
public ResultBean signOut(HttpServletRequest httpServletRequest) { |
|||
String token = httpServletRequest.getHeader("token"); |
|||
String redisToken = redisUtil.get(token); |
|||
if (StringUtils.isBlank(redisToken)) { |
|||
return ResultBean.fireSuccess().setMsg("您已退出,请刷新"); |
|||
} |
|||
redisUtil.remove(token); |
|||
return ResultBean.fireSuccess().setMsg("退出成功"); |
|||
} |
|||
|
|||
|
|||
@GetMapping("getUserByType") |
|||
public ResultBean getUserByType(@RequestParam("userType") String userType){ |
|||
return sysUserService.getUserByType(userType); |
|||
} |
|||
@GetMapping("getUserOrgBySid") |
|||
public ResultBean getUserOrgBySid(@RequestParam("sid") String sid){ |
|||
return sysUserService.getUserOrgBySid(sid); |
|||
} |
|||
|
|||
@PostMapping("/uploadfile") |
|||
public ResultBean<FileUploadResult> uploadImage(@RequestParam(value = "file") MultipartFile file) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
if (file == null || file.isEmpty()) { |
|||
return rb.setMsg("文件为空"); |
|||
} |
|||
rb = fileUploadComponent.uploadFile(file, null); |
|||
return rb; |
|||
} |
|||
|
|||
@PostMapping("/uploadImage") |
|||
public ResultBean updateSysUserImage(@RequestBody Map<String, String> map){ |
|||
return sysUserService.updateSysUserImage(map); |
|||
} |
|||
@PostMapping("/getUsersBySid") |
|||
public ResultBean<List<SysUser>> getUsersBySid(@RequestBody List<String> list){ |
|||
return sysUserService.getUsersBySid(list); |
|||
} |
|||
} |
@ -0,0 +1,157 @@ |
|||
package com.wh.mapper.sysuser; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
|||
import com.wh.pojo.sysuser.SysUser; |
|||
import com.wh.pojo.sysuser.SysUserInfoVo; |
|||
import com.wh.pojo.sysuser.SysUserVo; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Select; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysUserMapper.java <br/> |
|||
* Class: SysUserMapper <br/> |
|||
* Description: 用户表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:30 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Mapper |
|||
public interface SysUserMapper extends BaseMapper<SysUser> { |
|||
|
|||
//@Update("update sys_user set name=#{msg} where id=#{id}")
|
|||
//IPage<SysUserVo> voPage(IPage<SysUser> page, @Param(Constants.WRAPPER) QueryWrapper<SysUser> qw);
|
|||
|
|||
IPage<SysUserVo> selectPageVo(IPage<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> ew, @Param("orgName") String orgName, @Param("userName") String userName); |
|||
|
|||
List<SysUserVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysUser> qw); |
|||
|
|||
@Select("SELECT user.*,staff.name FROM sys_user user left join sys_staffinfo staff on user.staffSid=staff.sid where user.isDelete=0") |
|||
List<SysUserVo> selectListVo(); |
|||
|
|||
public int updatePassword(String sid, String password); |
|||
public int deleteBySid(String sid); |
|||
|
|||
public int updatePasswordApp(String sid, String password); |
|||
|
|||
SysUser selectByUserName(String userName); |
|||
|
|||
SysUser selectByUserNameApp(String userName); |
|||
|
|||
SysUser selectByAppId(String appId); |
|||
|
|||
@Update("UPDATE sys_user SET appId=#{appId} WHERE sid=#{sid} and userType=1") |
|||
int updateAppId(@Param("sid") String sid, @Param("appId") String appId); |
|||
|
|||
@Update("UPDATE sys_user SET token=#{token} WHERE sid=#{sid}") |
|||
int updateToken(@Param("sid") String sid, @Param("token") String token); |
|||
|
|||
SysUser fetchByUserName(String userName); |
|||
|
|||
void delBySid(String sid); |
|||
|
|||
@Update("UPDATE sys_user SET headImage=#{headImage} WHERE sid=#{sid}") |
|||
int updateHeadImage(@Param("sid") String sid, @Param("headImage") String headImage); |
|||
|
|||
/** |
|||
* @param mobile 手机号 |
|||
* @param userType 用户类型 |
|||
* @description: 根据手机号和用户类型查询客户是否存在 |
|||
* @return: |
|||
* @Author: dimengzhe |
|||
* @Date: 2021/10/6 11:35 |
|||
*/ |
|||
SysUser selectByMobileAndType(@Param("mobile") String mobile, @Param("userType") int userType); |
|||
|
|||
|
|||
// @Select("SELECT * FROM sys_user WHERE staffSid=#{staffSid} and isDelete=0")
|
|||
SysUserVo selectByStaffsid(@Param("staffSid") String staffSid); |
|||
|
|||
@Update("update sys_user set isDelete=1 where isDelete=0 and userType=2 and userName=#{mobile}") |
|||
int delSysUserByMobile(@Param("mobile") String mobile); |
|||
|
|||
@Select("select sid from sys_user") |
|||
List<String> selectAllUserSid(); |
|||
|
|||
|
|||
/** |
|||
* 根据用户sid查询用户的组织信息 |
|||
* |
|||
* @param userSid 用户的sid |
|||
* @return |
|||
*/ |
|||
SysUserInfoVo selectUserInfoByUserSid(String userSid); |
|||
SysUserInfoVo selectUserInfoByUserSidOne(@Param("userSid") String userSid,@Param("orgSid") String orgSid); |
|||
|
|||
/** |
|||
* 根据员工sid更新用户的工号以及手机号 |
|||
* |
|||
* @param mobile 手机号 |
|||
* @param sid 员工sid |
|||
* @return |
|||
*/ |
|||
int updateByStaffSid( @Param("mobile") String mobile, @Param("sid") String sid); |
|||
|
|||
/** |
|||
* 根据员工sid更新用户中的员工工号 |
|||
* |
|||
* @param jobNumber 员工工号 |
|||
* @param sid 员工sid |
|||
* @return |
|||
*/ |
|||
int updateByStaSid(@Param("jobNumber") String jobNumber, @Param("sid") String sid); |
|||
|
|||
/** |
|||
* 根据手机号查询用户是否存在 |
|||
* |
|||
* @param mobile 手机号 |
|||
* @return |
|||
*/ |
|||
SysUser selectByMobile(String mobile); |
|||
|
|||
int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable); |
|||
|
|||
List<SysUserVo> getUsersByRoleSid(@Param("roleSid") String roleSid); |
|||
|
|||
List<SysUserVo> getUserByRole(@Param("roleSid") String roleSid, @Param("levelOrgSid") String levelOrgSid); |
|||
List<SysUserVo> getUserByRoleNoOrgPath(@Param("roleSid") String roleSid ); |
|||
List<Map<String,String>> getUserByOrgSid(@Param("orgSid") String orgSid,@Param("userSid") String userSid); |
|||
|
|||
List<SysUserVo> fetchBySids(@Param("sids")List<String> sids); |
|||
|
|||
List<SysUserVo> getUserByRoleSid(String roleSid); |
|||
|
|||
/** |
|||
* 根据手机号解绑用户绑定的设备 |
|||
* @param mobile |
|||
* @return |
|||
*/ |
|||
int updateAppIdByMobile(String mobile); |
|||
|
|||
/** |
|||
* 解绑所有用户绑定的设备 |
|||
* @return |
|||
*/ |
|||
int updateAppIdAll(); |
|||
|
|||
String selectIdBySid(@Param("list") List<String> stringList); |
|||
|
|||
List<SysUserVo> getUserMessageByRole(@Param("roleSid") String roleSid,@Param("levelOrgSid") String levelOrgSid, @Param("list") List<String> stringList); |
|||
String fetchByUserNameAndUserPhone(@Param("userName") String userName, @Param("userPhone") String userPhone); |
|||
List<SysUserVo> getUserByType(@Param("userType")String userType); |
|||
List<SysUserVo> getUserOrgBySid(@Param("sid")String sid); |
|||
@Select("select * from sys_user where userName=#{userName} and password=#{md5}") |
|||
SysUser selectByUserNameAndPassword(@Param("userName")String userName, @Param("md5")String md5); |
|||
} |
@ -0,0 +1,832 @@ |
|||
package com.wh.service.sysuser; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.wh.feign.crm.ProjectInformationFeign; |
|||
import com.wh.mapper.sysuser.SysUserMapper; |
|||
import com.wh.pojo.sysuser.*; |
|||
import com.wh.pojo.sysuser.wx.*; |
|||
import com.yxt.common.base.config.RedisUtil; |
|||
import com.yxt.common.base.config.component.FileUploadComponent; |
|||
import com.yxt.common.base.config.component.ImageUploadUtil; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
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 org.apache.ibatis.annotations.Param; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.http.ResponseEntity; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.web.client.RestTemplate; |
|||
|
|||
import java.util.*; |
|||
import java.util.concurrent.ScheduledExecutorService; |
|||
import java.util.concurrent.TimeUnit; |
|||
import java.util.stream.Collectors; |
|||
|
|||
import static java.util.concurrent.Executors.newScheduledThreadPool; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysUserService.java <br/> |
|||
* Class: SysUserService <br/> |
|||
* Description: 用户表 业务逻辑. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:30 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Service |
|||
public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|||
|
|||
/** |
|||
* 设置redis的过期时间为4小时 |
|||
*/ |
|||
public static final long USERS_REDIS_SESSION_TL_PC = 4 * 3600; |
|||
public static final long USERS_REDIS_SESSION_TL_App = 24 * 15 * 3600; |
|||
/** |
|||
* 验证码长度 |
|||
*/ |
|||
static final int LENGTH_OF_CODE = 4; |
|||
/** |
|||
* 调用发送短信接口返回值 |
|||
*/ |
|||
static final String RESULT_CODE = "1"; |
|||
/** |
|||
* 手机短信登录验证码时效(秒) |
|||
*/ |
|||
static final long APP_LOGIN_CODE_TIME_LIMIT = 300L; |
|||
String APP_ID = "wx05604ce2a8bede05"; |
|||
String SECRET = "3d36e8a61212cf773a2fa4e6c9a83334"; |
|||
private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code "; |
|||
private static final String WX_EMPOWER_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code"; |
|||
@Autowired |
|||
private RedisUtil redisUtil; |
|||
@Autowired |
|||
private FileUploadComponent fileUploadComponent; |
|||
|
|||
@Autowired |
|||
private ImageUploadUtil imageUploadUtil; |
|||
@Autowired |
|||
private ProjectInformationFeign projectInformationFeign; |
|||
|
|||
|
|||
public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) { |
|||
SysUserQuery query = pq.getParams(); |
|||
QueryWrapper<SysUser> qw = createQueryWrapper(query); |
|||
IPage<SysUser> page = PagerUtil.queryToPage(pq); |
|||
IPage<SysUser> pagging = baseMapper.selectPage(page, qw); |
|||
PagerVo<SysUser> p = PagerUtil.pageToVo(pagging, null); |
|||
return p; |
|||
} |
|||
|
|||
public List<SysUser> listAll(SysUserQuery query) { |
|||
QueryWrapper<SysUser> qw = createQueryWrapper(query); |
|||
return baseMapper.selectList(qw); |
|||
} |
|||
|
|||
private QueryWrapper<SysUser> createQueryWrapper(SysUserQuery query) { |
|||
// todo: 这里根据具体业务调整查询条件
|
|||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|||
QueryWrapper<SysUser> qw = new QueryWrapper<>(); |
|||
if (StringUtils.isNotBlank(query.getRoleSid())) { |
|||
qw.eq("role.sid", query.getRoleSid()); |
|||
} |
|||
if (StringUtils.isNotBlank(query.getName())) { |
|||
qw.like("staff.name", query.getName()); |
|||
} |
|||
// qw.ne("staff.personTypeKey","01");
|
|||
return qw; |
|||
} |
|||
|
|||
public PagerVo<SysUserVo> listPageVo(PagerQuery<SysUserQuery> pq) { |
|||
SysUserQuery query = pq.getParams(); |
|||
QueryWrapper<SysUser> qw = createQueryWrapper(query); |
|||
IPage<SysUser> page = PagerUtil.queryToPage(pq); |
|||
String deptName = ""; |
|||
String userName = ""; |
|||
if (StringUtils.isNotBlank(query.getOrgName())) { |
|||
deptName = query.getOrgName().trim(); |
|||
} |
|||
if (StringUtils.isNotBlank(query.getUserName())) { |
|||
userName = query.getUserName().trim(); |
|||
} |
|||
IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw, deptName, userName); |
|||
List<SysUserVo> records = pagging.getRecords(); |
|||
for (SysUserVo record : records) { |
|||
String departmentSid = record.getDepartmentSid(); |
|||
String orgName = ""; |
|||
if (StringUtils.isNotBlank(departmentSid)) { |
|||
String[] split = departmentSid.split(","); |
|||
for (String s : split) { |
|||
} |
|||
orgName = orgName.substring(0, orgName.length() - 1); |
|||
record.setDepartmentName(orgName); |
|||
} |
|||
} |
|||
PagerVo<SysUserVo> p = PagerUtil.pageToVo(pagging, null); |
|||
return p; |
|||
} |
|||
|
|||
public List<SysUserVo> listAllVo(SysUserQuery query) { |
|||
QueryWrapper<SysUser> qw = createQueryWrapper(query); |
|||
return baseMapper.selectListAllVo(qw); |
|||
} |
|||
|
|||
public List<SysUserVo> listVo() { |
|||
return baseMapper.selectListVo(); |
|||
} |
|||
|
|||
public void saveOrUpdateDto(SysUserDto dto) { |
|||
SysUser entity = new SysUser(); |
|||
dto.fillEntity(entity); |
|||
this.saveOrUpdate(entity); |
|||
} |
|||
|
|||
public SysUserVo fetchByIdVo(String id) { |
|||
SysUser entity = this.fetchById(id); |
|||
SysUserVo vo = new SysUserVo(); |
|||
BeanUtil.copyProperties(entity, vo); |
|||
return vo; |
|||
} |
|||
|
|||
public SysUserVo fetchBySidVo(String sid) { |
|||
SysUser entity = this.fetchBySid(sid); |
|||
String staffSid = entity.getStaffSid(); |
|||
SysUserVo vo = new SysUserVo(); |
|||
BeanUtil.copyProperties(entity, vo); |
|||
return vo; |
|||
} |
|||
public SysUser getUserBySid(String sid) { |
|||
SysUser entity = this.fetchBySid(sid); |
|||
|
|||
return entity; |
|||
} |
|||
/** |
|||
* 初始化密码,给用户发送手机短信 |
|||
* |
|||
* @param sid 用户sid |
|||
* @return ResultBean |
|||
*/ |
|||
public Boolean initPwd(String sid) { |
|||
SysUser user = this.fetchBySid(sid); |
|||
if (null == user) { |
|||
return false; |
|||
} |
|||
String mobile = user.getMobile(); |
|||
|
|||
String substring = mobile.substring(5, 11); |
|||
// 1.生成新密码
|
|||
/*String newPwd = StringRandom.getRandomString(8);*/ |
|||
// 2.加密密码,更新用户密码
|
|||
if (0 == updatePassword(user.getSid(), Encodes.md5(substring))) { |
|||
return false; |
|||
} |
|||
redisUtil.remove(user.getUserName()); |
|||
// 3.给用户发送手机短信
|
|||
// MsgWs.SendWaitWorkMsg(mobile, user.getUserName() + SmsFeign.MSG_NEWPWD + substring);
|
|||
return true; |
|||
} |
|||
|
|||
public int updatePassword(String sid, String password) { |
|||
return baseMapper.updatePassword(sid, password); |
|||
} |
|||
|
|||
public ResultBean<SysUserVo> updatePasswordApp(SysUser user, String oldPassword, String newPassword, String token) { |
|||
ResultBean<SysUserVo> rb = ResultBean.fireFail(); |
|||
String oldPasswordMd5 = Encodes.md5(oldPassword); |
|||
if (!oldPasswordMd5.equals(user.getPassword())) { |
|||
return rb.setMsg("原始密码输入错误"); |
|||
} |
|||
if (!newPassword.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,16}$")) { |
|||
return rb.setMsg("密码格式错误,必须为8至16位大小写字母和数字的组合"); |
|||
} |
|||
int i = baseMapper.updatePasswordApp(user.getSid(), Encodes.md5(newPassword)); |
|||
SysUserVo sysUserVo = selectUserOne(user); |
|||
if (sysUserVo == null) { |
|||
sysUserVo = new SysUserVo(); |
|||
} else { |
|||
//查询是否需要更换密码
|
|||
boolean isTrue = false; |
|||
String mobile = user.getMobile(); |
|||
if (StringUtils.isNotBlank(mobile)) { |
|||
String password = mobile.substring(5, 11); |
|||
String md5 = Encodes.md5(password); |
|||
if (user.getPassword().equals(md5)) { |
|||
isTrue = true; |
|||
} |
|||
} |
|||
sysUserVo.setNeedResetPsd(isTrue); |
|||
} |
|||
if (i == 1) { |
|||
// redisUtil.remove(token);
|
|||
return rb.success().setData(sysUserVo); |
|||
} else { |
|||
return rb.setMsg("修改失败"); |
|||
} |
|||
} |
|||
|
|||
public SysUser selectByUserName(String userName) { |
|||
return baseMapper.selectByUserName(userName); |
|||
} |
|||
|
|||
public SysUser selectByUserNameApp(String userName) { |
|||
return baseMapper.selectByUserNameApp(userName); |
|||
} |
|||
|
|||
public SysUser selectByAppId(String appId) { |
|||
return baseMapper.selectByAppId(appId); |
|||
} |
|||
|
|||
public int updateAppId(String sid, String appId) { |
|||
return baseMapper.updateAppId(sid, appId); |
|||
} |
|||
|
|||
public int updateToken(String sid, String token) { |
|||
return baseMapper.updateToken(sid, token); |
|||
} |
|||
|
|||
public SysUserVo setUserRedisSessionToken(SysUser user) { |
|||
// 生成token
|
|||
String uniqueToken = JWTUtil.create(user.getSid() + ""); |
|||
// redis中缓存token
|
|||
redisUtil.set(uniqueToken, user.getUserName(), |
|||
USERS_REDIS_SESSION_TL_PC); |
|||
SysUserVo userInfoOneVo = selectUserOne(user); |
|||
if (userInfoOneVo == null) { |
|||
return userInfoOneVo; |
|||
} else { |
|||
userInfoOneVo.setToken(uniqueToken); |
|||
return userInfoOneVo; |
|||
} |
|||
|
|||
} |
|||
|
|||
//公共的方法
|
|||
public SysUserVo selectUserOne(SysUser user) { |
|||
// 根据用户信息查询用户的角色信息
|
|||
SysUserVo userInfoOneVo = new SysUserVo(); |
|||
userInfoOneVo.setToken(user.getToken()); |
|||
userInfoOneVo.setId(user.getId()); |
|||
userInfoOneVo.setSid(user.getSid()); |
|||
userInfoOneVo.setUserName(user.getUserName()); |
|||
userInfoOneVo.setIsAdmin(user.getIsAdmin()); |
|||
return userInfoOneVo; |
|||
} |
|||
|
|||
/** |
|||
* 手机端登录后设置token |
|||
* |
|||
* @param user |
|||
* @return |
|||
*/ |
|||
public SysUserVo selectUser(SysUser user) { |
|||
String oldToken = user.getToken(); |
|||
if (StringUtils.isNotBlank(oldToken)) { |
|||
redisUtil.remove(oldToken); |
|||
} |
|||
String uniqueToken = JWTUtil.create(user.getSid() + ""); |
|||
String newToken = "App" + uniqueToken; |
|||
redisUtil.set(newToken, user.getUserName(), USERS_REDIS_SESSION_TL_App); |
|||
SysUserVo sysUserVo = selectUserOne(user); |
|||
if (sysUserVo == null) { |
|||
return null; |
|||
} else { |
|||
sysUserVo.setToken(newToken); |
|||
// 更新用户中的token
|
|||
updateToken(user.getSid(), newToken); |
|||
//查询是否需要更换密码
|
|||
boolean isTrue = false; |
|||
String mobile = user.getMobile(); |
|||
if (StringUtils.isNotBlank(mobile)) { |
|||
String password = mobile.substring(5, 11); |
|||
String md5 = Encodes.md5(password); |
|||
if (user.getPassword().equals(md5)) { |
|||
isTrue = true; |
|||
} |
|||
} |
|||
sysUserVo.setNeedResetPsd(isTrue); |
|||
return sysUserVo; |
|||
} |
|||
|
|||
} |
|||
|
|||
/** |
|||
* 获取用户的角色s |
|||
* |
|||
* @return |
|||
*/ |
|||
public List<String> getUserRoleSids(String userSid) { |
|||
return null; |
|||
} |
|||
|
|||
public SysUser fetchByUserName(String mobile) { |
|||
SysUser sysUsers = baseMapper.fetchByUserName(mobile); |
|||
return sysUsers; |
|||
} |
|||
|
|||
public void delBySid(String sid) { |
|||
baseMapper.delBySid(sid); |
|||
} |
|||
|
|||
/** |
|||
* 发送短信验证码 |
|||
* |
|||
* @param mobile 手机号 |
|||
* @param verificationCode 验证码 |
|||
* @return ResultBean |
|||
*/ |
|||
public ResultBean getVerificationCode(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 = 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 = MsgWs.SendWaitWorkMsg(mobile, verificationCode1); |
|||
if (!RESULT_CODE.equals(result)) { |
|||
return ResultBean.fireFail().setMsg("发送短信验证码失败"); |
|||
} |
|||
|
|||
} |
|||
} |
|||
} catch (Exception e) { |
|||
return ResultBean.fireFail().setMsg("发送短信验证码失败"); |
|||
} |
|||
//=============
|
|||
return ResultBean.fireSuccess().setMsg("发送短信验证码成功"); |
|||
} |
|||
|
|||
/** |
|||
* 验证手机号和验证码是否正确及匹配 |
|||
* |
|||
* @param mobile 手机号 |
|||
* @param verificationCode 验证码 |
|||
* @return map |
|||
*/ |
|||
public Map<String, Object> mobileValidateRegister(String mobile, String verificationCode) { |
|||
String code = redisUtil.get(mobile).substring(0, 4); |
|||
// 判断验证码是否失效
|
|||
if (StringUtils.isEmpty(code)) { |
|||
return Tools.setRetCode(Tools.CODE_FAIL, "验证码失效"); |
|||
} else if (!"".equals(code) && !verificationCode.equals(code)) { |
|||
return Tools.setRetCode(Tools.CODE_FAIL, "验证码错误"); |
|||
} |
|||
return Tools.setRetCode(Tools.CODE_SUCCESS, ""); |
|||
} |
|||
|
|||
|
|||
|
|||
/** |
|||
* @param mobile 手机号 |
|||
* @param verificationCode 验证码 |
|||
* @param type 验证码类型 |
|||
* @description: 绑定微信验证验证码是否正确 |
|||
* @return: |
|||
* @Author: dimengzhe |
|||
* @Date: 2021/10/6 11:02 |
|||
*/ |
|||
public Map<String, Object> mobileValidateWxRegister(String mobile, String verificationCode,String type) { |
|||
String key = ""; |
|||
if (type.equals("1")) { |
|||
key = "loginCode"+ mobile; |
|||
} else if (type.equals("2")) { |
|||
key = "updatePwdCode"+mobile; |
|||
} else if (type.equals("3")) { |
|||
key = "resetPwdCode"+mobile; |
|||
}else if(type.equals("4")){ |
|||
key = "binding"+mobile; |
|||
} |
|||
String code = redisUtil.get(key); |
|||
if (StringUtils.isNotBlank(code)) { |
|||
code = code.substring(0, 4); |
|||
} |
|||
// 判断验证码是否失效
|
|||
if (StringUtils.isEmpty(code)) { |
|||
return Tools.setRetCode(Tools.CODE_FAIL, "验证码失效"); |
|||
} else if (!"".equals(code) && !verificationCode.equals(code)) { |
|||
return Tools.setRetCode(Tools.CODE_FAIL, "验证码错误"); |
|||
} |
|||
return Tools.setRetCode(Tools.CODE_SUCCESS, ""); |
|||
} |
|||
|
|||
/** |
|||
* @param userName 用户名 |
|||
* @description: 根据用户名获取登录信息 |
|||
* @return: |
|||
* @Author: dimengzhe |
|||
* @Date: 2021/10/6 15:09 |
|||
*/ |
|||
public WxSysUserVo selectByWxUserName(String userName, int userType) { |
|||
WxSysUserVo wxSysUserVo =new WxSysUserVo();// baseMapper.selectByWxUserName(userName, userType);
|
|||
//根据客户sid查询姓名
|
|||
String staffSid = wxSysUserVo.getStaffSid(); |
|||
// 生成token
|
|||
String uniqueToken = JWTUtil.create(wxSysUserVo.getUserSid() + ""); |
|||
String token = "WX" + uniqueToken; |
|||
//查询是否有旧token,存在的话清除掉redis中的该token
|
|||
if (StringUtils.isNotBlank(wxSysUserVo.getToken())) { |
|||
//查询是否过期
|
|||
String values = redisUtil.get(wxSysUserVo.getToken()); |
|||
if (StringUtils.isNotBlank(values)) { |
|||
redisUtil.remove(wxSysUserVo.getToken()); |
|||
} |
|||
} |
|||
// redis中缓存token
|
|||
redisUtil.set(token, wxSysUserVo.getUserName(), |
|||
USERS_REDIS_SESSION_TL_PC); |
|||
wxSysUserVo.setToken(token); |
|||
wxSysUserVo.setNum("1"); |
|||
// 更新用户中的token
|
|||
updateToken(wxSysUserVo.getUserSid(), token); |
|||
return wxSysUserVo; |
|||
} |
|||
|
|||
public ResultBean resetPwdWx(String mobile, String newPwd) { |
|||
if (!newPwd.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,10}$")) { |
|||
return ResultBean.fireFail().setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合"); |
|||
} |
|||
SysUser user = baseMapper.selectByMobileAndType(mobile, 2); |
|||
if (null == user) { |
|||
return ResultBean.fireFail().setMsg("该手机号暂时还未注册,请先注册"); |
|||
} |
|||
String newPwdMd5 = Encodes.md5(newPwd); |
|||
if (newPwdMd5.equals(user.getPassword())) { |
|||
return ResultBean.fireFail().setMsg("新密码不能与旧密码相同"); |
|||
} |
|||
int i = baseMapper.updatePassword(user.getSid(), newPwdMd5); |
|||
if (i == 1) { |
|||
return ResultBean.fireSuccess().setMsg("修改成功"); |
|||
} else { |
|||
return ResultBean.fireFail().setMsg("修改失败"); |
|||
} |
|||
} |
|||
|
|||
public SysUserVo selectByStaffsid(@Param("staffSid") String staffSid) { |
|||
return baseMapper.selectByStaffsid(staffSid); |
|||
} |
|||
|
|||
public int delSysUserByMobile(String mobile) { |
|||
return baseMapper.delSysUserByMobile(mobile); |
|||
} |
|||
|
|||
/** |
|||
* 查询所有用户的sid |
|||
* |
|||
* @return |
|||
*/ |
|||
public List<String> selectAllUserSid() { |
|||
return baseMapper.selectAllUserSid(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
/** |
|||
* 根据用户sid获取用户的组织信息 |
|||
* |
|||
* @param userSid 用户的sid |
|||
* @return |
|||
*/ |
|||
public SysUserInfoVo selectUserInfoByUserSid(String userSid) { |
|||
return baseMapper.selectUserInfoByUserSid(userSid); |
|||
} |
|||
|
|||
/** |
|||
* 根据用户sid获取用户的组织信息 |
|||
* |
|||
* @param userSid 用户的sid |
|||
* @return |
|||
*/ |
|||
public SysUserInfoVo selectUserInfoByUserSid(String userSid, String orgSid) { |
|||
return baseMapper.selectUserInfoByUserSidOne(userSid, orgSid); |
|||
} |
|||
|
|||
/** |
|||
* 根据员工sid更新用户信息 |
|||
* |
|||
* @param mobile 手机号 |
|||
* @param sid 员工sid |
|||
* @return |
|||
*/ |
|||
// public int updateByStaffSid(String jobNumber, String mobile, String sid) {
|
|||
// return baseMapper.updateByStaffSid(jobNumber, mobile, sid);
|
|||
// }
|
|||
public int updateByStaffSid(String mobile, String sid) { |
|||
return baseMapper.updateByStaffSid( mobile, sid); |
|||
} |
|||
/** |
|||
* 根据员工sid更新用户的员工编号 |
|||
* |
|||
* @param jobNumber 员工编号 |
|||
* @param sid 用户sid |
|||
* @return |
|||
*/ |
|||
public int updateByStaSid(String jobNumber, String sid) { |
|||
return baseMapper.updateByStaSid(jobNumber, sid); |
|||
} |
|||
|
|||
/** |
|||
* 根据手机号查询用户是否存在 |
|||
* |
|||
* @param mobile |
|||
* @return |
|||
*/ |
|||
public SysUser selectByMobile(String mobile) { |
|||
return baseMapper.selectByMobile(mobile); |
|||
} |
|||
|
|||
public ResultBean reGetPwd(String userName, String userPhone,String verificationCode) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
String userSid = baseMapper.fetchByUserNameAndUserPhone(userName, userPhone); |
|||
|
|||
if (StringUtils.isNotBlank(userSid)) { |
|||
Map<String, Object>vali=mobileValidateWxRegister(userPhone,verificationCode,"3"); |
|||
if(!vali.get("code").equals("200")){ |
|||
return rb.setMsg(vali.get("details").toString()); |
|||
} |
|||
Boolean aBoolean = initPwd(userSid); |
|||
if (!aBoolean) { |
|||
return ResultBean.fireFail().setMsg("初始化密码失败"); |
|||
} |
|||
return ResultBean.fireSuccess().setMsg("初始化密码成功"); |
|||
} |
|||
return rb.setMsg("姓名或手机号填写不正确"); |
|||
} |
|||
|
|||
public int updateIsEnable(String sid, String isEnable) { |
|||
return baseMapper.updateIsEnable(sid, isEnable); |
|||
} |
|||
|
|||
public ResultBean getUsersByRoleSid(String roleSid) { |
|||
List<SysUserVo> users = baseMapper.getUsersByRoleSid(roleSid); |
|||
List<String> l = new ArrayList<>(); |
|||
for (SysUserVo s : users) { |
|||
l.add(s.getDepartmentName() == null ? "" : s.getDepartmentName()); |
|||
} |
|||
HashSet set = new HashSet(l); |
|||
//把List集合所有元素清空
|
|||
l.clear(); |
|||
//把HashSet对象添加至List集合
|
|||
l.addAll(set); |
|||
List<Map<String, Object>> r = new ArrayList<>(); |
|||
// for (String s : l) {
|
|||
// if (StringUtils.isNotBlank(s)) {
|
|||
Map<String, Object> m = new HashMap<>(); |
|||
List<SysUserVo> us = new ArrayList<>(); |
|||
for (SysUserVo su : users) { |
|||
// if (s != null && s.equals(su.getDepartmentName())) {
|
|||
us.add(su); |
|||
// }
|
|||
} |
|||
// m.put("dept", s);
|
|||
m.put("users", us); |
|||
r.add(m); |
|||
// }
|
|||
// }
|
|||
ResultBean<Object> objectResultBean = ResultBean.fireSuccess().setData(r); |
|||
return objectResultBean; |
|||
} |
|||
|
|||
public ResultBean<List<SysUserVo>> getUserByRole(UserQuery query) { |
|||
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail(); |
|||
List<SysUserVo> sysUserVoList = new ArrayList<>(); |
|||
if (StringUtils.isBlank(query.getRoleSid())) { |
|||
return rb.setMsg("角色sid不能为空"); |
|||
} |
|||
if (StringUtils.isBlank(query.getOrgSidPath())) { |
|||
return rb.setMsg("机构全路径不能为空"); |
|||
} |
|||
//根据角色sid获取角色的层级
|
|||
String levelTypeKey ="1";// sysRoleService.getLevelType(query.getRoleSid());
|
|||
if (StringUtils.isNotBlank(levelTypeKey)) { |
|||
if (query.getOrgSidPath().split("/").length >= Integer.parseInt(levelTypeKey) - 1) { |
|||
String levelOrgSid = query.getOrgSidPath().split("/")[Integer.parseInt(levelTypeKey) - 1]; |
|||
sysUserVoList = baseMapper.getUserByRole(query.getRoleSid(), levelOrgSid); |
|||
if(sysUserVoList.size()>1){ |
|||
List<String> stringList = sysUserVoList.stream().map(v->v.getSid()).collect(Collectors.toList()); |
|||
List<SysUserVo> sysUserVoList1 = baseMapper.getUserMessageByRole(query.getRoleSid(), levelOrgSid,stringList); |
|||
sysUserVoList1.removeAll(Collections.singleton(null)); |
|||
if(sysUserVoList1.size()>0){ |
|||
sysUserVoList = sysUserVoList1; |
|||
} |
|||
} |
|||
} |
|||
sysUserVoList.removeAll(Collections.singleton(null)); |
|||
sysUserVoList.forEach(t -> { |
|||
t.setOrgSidPath(query.getOrgSidPath()); |
|||
}); |
|||
} else { |
|||
return rb.setMsg("该角色层级未设置"); |
|||
} |
|||
|
|||
return rb.success().setData(sysUserVoList); |
|||
|
|||
|
|||
} |
|||
|
|||
public ResultBean<List<Map<String, String>>> getUserByOrgSid(String orgSid, String userSid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<Map<String, String>> user = baseMapper.getUserByOrgSid(orgSid, userSid); |
|||
for (Map<String, String> map : user) { |
|||
StringBuilder namePath = new StringBuilder(); |
|||
String name = map.get("name"); |
|||
String orgName = map.get("orgName"); |
|||
String postName = map.get("postName"); |
|||
namePath.append(name).append("(").append(orgName).append(" ").append(postName).append(")"); |
|||
map.put("namePath", namePath.toString()); |
|||
} |
|||
/*List<Map<String, String>> user = new ArrayList<>(); |
|||
for (Map<String, String> map : userByOrgSid) { |
|||
String s = map.get("sid"); |
|||
ResultBean<String> pathSidByUserSid = sysStaffOrgService.getPathSidByUserSid(s); |
|||
String data = pathSidByUserSid.getData(); |
|||
if (data.equals(orgSid)){ |
|||
user.add(map); |
|||
} |
|||
}*/ |
|||
return rb.success().setData(user); |
|||
} |
|||
|
|||
public List<SysUserVo> fetchBySidSVo(String sids) { |
|||
List<String> list = Arrays.asList(sids.split(",")); |
|||
List<SysUserVo> entity = baseMapper.fetchBySids(list); |
|||
return entity; |
|||
} |
|||
|
|||
public ResultBean updateAppIdByMobile(String mobile) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
if (StringUtils.isNotBlank(mobile)) { |
|||
baseMapper.updateAppIdByMobile(mobile); |
|||
} else { |
|||
baseMapper.updateAppIdAll(); |
|||
} |
|||
return rb.success().setMsg("解绑成功"); |
|||
} |
|||
|
|||
public ResultBean<String> selectIdBySid(List<String> stringList) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
String ids = baseMapper.selectIdBySid(stringList); |
|||
return rb.success().setData(ids); |
|||
} |
|||
|
|||
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) { |
|||
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail(); |
|||
List<SysUserVo> sysUserVoList = new ArrayList<>(); |
|||
//根据当前用户角色查询该角色的上一级角色
|
|||
String userRoleSid = query.getRoleSid(); |
|||
if (StringUtils.isBlank(userRoleSid)) { |
|||
return rb.setMsg("角色不能为空"); |
|||
} |
|||
if (StringUtils.isBlank(query.getOrgSid())) { |
|||
return rb.setMsg("部门sid不能为空"); |
|||
} |
|||
String upRoleSid ="";// sysRoleService.selectRoleSid(userRoleSid);
|
|||
sysUserVoList = baseMapper.getUserByRole(upRoleSid, query.getOrgSid()); |
|||
return rb.success().setData(sysUserVoList); |
|||
} |
|||
|
|||
public ResultBean<List<SysUserVo>> getOtherOrgRoleUser(UserRoleQuery query) { |
|||
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail(); |
|||
List<SysUserVo> sysUserVoList = new ArrayList<>(); |
|||
String roleSid = query.getRoleSid(); |
|||
if (StringUtils.isBlank(roleSid)) { |
|||
return rb.setMsg("角色不能为空"); |
|||
} |
|||
if (StringUtils.isNotBlank(query.getOrgSid())) { |
|||
sysUserVoList = baseMapper.getUserByRole(roleSid, query.getOrgSid()); |
|||
} else { |
|||
sysUserVoList = baseMapper.getUserByRoleSid(query.getRoleSid()); |
|||
} |
|||
return rb.success().setData(sysUserVoList); |
|||
} |
|||
|
|||
public ResultBean<List<SysUserListVo>> selectSysUserList(String userSid) { |
|||
ResultBean<List<SysUserListVo>> rb = ResultBean.fireFail(); |
|||
|
|||
return rb.success().setData(new ArrayList<>()); |
|||
} |
|||
|
|||
public ResultBean<Boolean> selectPasswordByUserSid(String userSid) { |
|||
ResultBean<Boolean> rb = ResultBean.fireFail(); |
|||
boolean isTrue = false; |
|||
//查询手机号
|
|||
SysUser sysUser = fetchBySid(userSid); |
|||
if (sysUser != null) { |
|||
String mobile = sysUser.getMobile(); |
|||
if (StringUtils.isNotBlank(mobile)) { |
|||
String password = mobile.substring(5, 11); |
|||
String md5 = Encodes.md5(password); |
|||
if (sysUser.getPassword().equals(md5)) { |
|||
isTrue = true; |
|||
} |
|||
} |
|||
} |
|||
return rb.success().setData(isTrue); |
|||
} |
|||
|
|||
public ResultBean<JSONObject> wxLogin( String jsCode,String appid, String secret) { |
|||
ResultBean rb=new ResultBean(); |
|||
String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE",jsCode).replace("authorization_code","authorization_code"); |
|||
RestTemplate restTemplate = new RestTemplate(); |
|||
ResponseEntity<String> forEntity = restTemplate.getForEntity(url,String.class); |
|||
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody()); |
|||
System.out.println(jsonObject); |
|||
return rb.success().setData(jsonObject); |
|||
} |
|||
public ResultBean<JSONObject> wxAuthLogin( String code,String appid, String secret) { |
|||
ResultBean rb=new ResultBean(); |
|||
String url = WX_EMPOWER_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("CODE",code).replace("authorization_code","authorization_code"); |
|||
RestTemplate restTemplate = new RestTemplate(); |
|||
ResponseEntity<String> forEntity = restTemplate.getForEntity(url,String.class); |
|||
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody()); |
|||
System.out.println(jsonObject); |
|||
return rb.success().setData(jsonObject); |
|||
} |
|||
|
|||
public ResultBean getUserByType(String userType){ |
|||
ResultBean rb=new ResultBean(); |
|||
List<SysUserVo> list=baseMapper.getUserByType(userType); |
|||
return rb.success().setData(list); |
|||
} |
|||
public ResultBean getUserOrgBySid(String sid){ |
|||
ResultBean rb=new ResultBean(); |
|||
List<SysUserVo> list=baseMapper.getUserOrgBySid(sid); |
|||
return rb.success().setData(list); |
|||
} |
|||
|
|||
public ResultBean updateSysUserImage(Map<String, String> map){ |
|||
String userSid = map.get("userSid"); |
|||
String headImage = map.get("headImage"); |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
SysUser sysUser = fetchBySid(userSid); |
|||
sysUser.setHeadImage(headImage); |
|||
int sid = baseMapper.update(sysUser, new QueryWrapper<SysUser>().eq("sid", sysUser.getSid())); |
|||
return rb.success().setMsg("上传成功"); |
|||
} |
|||
public ResultBean<List<SysUser>> getUsersBySid(List<String> list){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<SysUser>users=baseMapper.selectList(new QueryWrapper<SysUser>().in("sid",list)); |
|||
|
|||
return rb.success().setData(users); |
|||
} |
|||
|
|||
public ResultBean<List<SysUserVo>> getUserByRoleNoOrgPath(UserQuery query) { |
|||
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail(); |
|||
List<SysUserVo> sysUserVoList = new ArrayList<>(); |
|||
if (StringUtils.isBlank(query.getRoleSid())) { |
|||
return rb.setMsg("角色sid不能为空"); |
|||
} |
|||
//根据角色sid获取角色的层级
|
|||
sysUserVoList = baseMapper.getUserByRoleNoOrgPath(query.getRoleSid()); |
|||
return rb.success().setData(sysUserVoList); |
|||
} |
|||
|
|||
public SysUser selectByUserNameAndPassword(String userName, String md5) { |
|||
return baseMapper.selectByUserNameAndPassword(userName,md5); |
|||
} |
|||
} |
@ -0,0 +1,25 @@ |
|||
spring: |
|||
resources: |
|||
static-locations: file:D://supervise |
|||
cloud: |
|||
nacos: |
|||
discovery: |
|||
server-addr: 39.104.100.138:884 |
|||
datasource: |
|||
url: jdbc:mysql://39.104.100.138:3306/warehouse2?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true |
|||
username: root |
|||
password: yxt_mysql_138 |
|||
#password: root |
|||
|
|||
redis: |
|||
database: 3 # Redis数据库索引(默认为0) |
|||
host: 39.104.100.138 |
|||
jedis: |
|||
pool: |
|||
max-active: -1 #连接池最大连接数(使用负值表示没有限制) |
|||
max-idle: 8 #连接池中的最大空闲连接 |
|||
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) |
|||
min-idle: 0 # 连接池中的最小空闲连接 |
|||
password: |
|||
port: 6379 |
|||
timeout: 0 # 连接超时时间(毫秒) |
@ -0,0 +1,397 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.wh.mapper.sysuser.SysUserMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
<select id="selectPageVo" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
SELECT DISTINCT user.staffSid, |
|||
user.isEnable, |
|||
( |
|||
SELECT GROUP_CONCAT(org.name) |
|||
FROM sys_staff_org staffOrg |
|||
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid |
|||
WHERE staffOrg.staffSid = user.staffSid |
|||
) departmentName, |
|||
( |
|||
SELECT GROUP_CONCAT(org.sid) |
|||
FROM sys_staff_org staffOrg |
|||
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid |
|||
WHERE staffOrg.staffSid = user.staffSid |
|||
) departmentSid, |
|||
( |
|||
SELECT GROUP_CONCAT(post.name) |
|||
FROM sys_staff_post staffPost |
|||
LEFT JOIN sys_post post ON post.sid = staffPost.postSid |
|||
WHERE staffPost.staffSid = user.staffSid |
|||
) postName, |
|||
( |
|||
SELECT GROUP_CONCAT(post.sid) |
|||
FROM sys_staff_post staffPost |
|||
LEFT JOIN sys_post post ON post.sid = staffPost.postSid |
|||
WHERE staffPost.staffSid = user.staffSid |
|||
) postSid, |
|||
user.userName, |
|||
user.sid sid, |
|||
staff.name, |
|||
( |
|||
SELECT GROUP_CONCAT(role.name) |
|||
FROM sys_user_role user_role |
|||
LEFT JOIN sys_role role ON role.sid = user_role.roleSid |
|||
WHERE user_role.userSid = USER.sid |
|||
) roleName, |
|||
dict.dictValue userType, |
|||
user.mobile as mobile, |
|||
user.openid as openid, |
|||
case user.userType |
|||
when 1 then "监管人员" |
|||
when 2 then "企业人员" |
|||
when 3 then "银行人员" |
|||
end as 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 |
|||
LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType' |
|||
LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid |
|||
<where> |
|||
${ew.sqlSegment} |
|||
<if test="orgName != null and orgName != ''"> |
|||
AND (SELECT GROUP_CONCAT(org.name) |
|||
FROM sys_staff_org staffOrg |
|||
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid |
|||
WHERE staffOrg.staffSid = user.staffSid) |
|||
LIKE concat('%', |
|||
#{orgName} |
|||
, |
|||
'%' |
|||
) |
|||
</if> |
|||
<if test="userName != null and userName != ''"> |
|||
and |
|||
concat |
|||
( |
|||
IFNULL |
|||
( |
|||
USER |
|||
. |
|||
userName |
|||
, |
|||
'' |
|||
) |
|||
, |
|||
ifnull |
|||
( |
|||
USER |
|||
. |
|||
mobile |
|||
, |
|||
'' |
|||
) |
|||
, |
|||
ifnull |
|||
( |
|||
staff |
|||
. |
|||
name |
|||
, |
|||
'' |
|||
) |
|||
) |
|||
LIKE |
|||
concat |
|||
( |
|||
'%' |
|||
, |
|||
#{userName} |
|||
, |
|||
'%' |
|||
) |
|||
</if> |
|||
</where> |
|||
</select> |
|||
|
|||
<select id="selectListAllVo" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
SELECT * |
|||
FROM sys_user |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
<select id="selectByUserName" resultType="com.wh.pojo.sysuser.SysUser"> |
|||
SELECT su.* |
|||
FROM sys_user su |
|||
where su.userName = #{param1} |
|||
and su.isDelete = 0 |
|||
</select> |
|||
<!-- and su.userType = 1 and si.personTypeKey != '01'--> |
|||
<select id="selectByUserNameApp" resultType="com.wh.pojo.sysuser.SysUser"> |
|||
SELECT su.* |
|||
FROM sys_user su |
|||
left join sys_staffinfo si on si.sid = su.staffSid |
|||
where su.userName = #{param1} |
|||
and su.isDelete = 0 |
|||
and su.userType = 1 |
|||
</select> |
|||
<select id="selectByAppId" resultType="com.wh.pojo.sysuser.SysUser"> |
|||
SELECT * |
|||
FROM sys_user |
|||
where appId = #{appId} |
|||
and isDelete = 0 |
|||
and userType = 1 |
|||
</select> |
|||
<select id="fetchByUserName" resultType="com.wh.pojo.sysuser.SysUser"> |
|||
SELECT * |
|||
FROM sys_user |
|||
where userName = #{userName} |
|||
and isDelete = 0 |
|||
</select> |
|||
<!--updatePassword--> |
|||
<update id="updatePassword"> |
|||
update sys_user |
|||
set password=#{param2} |
|||
where sid = #{param1} |
|||
</update> |
|||
<delete id="deleteBySid"> |
|||
delete from sys_user |
|||
where sid = #{sid} |
|||
</delete> |
|||
<update id="updatePasswordApp"> |
|||
update sys_user |
|||
set password=#{param2} |
|||
where sid = #{param1} |
|||
and userType = 1 |
|||
</update> |
|||
<delete id="delBySid"> |
|||
delete |
|||
from sys_user |
|||
where sid = #{param1} |
|||
</delete> |
|||
<!--根据手机号用户名和用户类型查询是否存在该用户--> |
|||
<select id="selectByMobileAndType" resultType="com.wh.pojo.sysuser.SysUser"> |
|||
SELECT * |
|||
FROM sys_user |
|||
WHERE isDelete = 0 |
|||
AND userName = #{mobile} |
|||
AND userType = #{userType} |
|||
</select> |
|||
<!--客户端我的信息--> |
|||
<select id="selectMyInfo" resultType="com.wh.pojo.sysuser.wx.WxMySysUserInfoVo"> |
|||
SELECT su.headImage |
|||
FROM sys_user su |
|||
WHERE su.sid = #{userSid} |
|||
AND su.isDelete = 0 |
|||
</select> |
|||
<!--客户端根据用户名查询登录信息--> |
|||
<select id="selectByWxUserName" resultType="com.wh.pojo.sysuser.wx.WxSysUserVo"> |
|||
SELECT su.mobile, su.userType, su.userName, su.sid userSid, su.staffSid, su.token |
|||
FROM sys_user su |
|||
WHERE su.userName = #{userName} |
|||
AND userType = #{userType} |
|||
AND su.isDelete = 0 |
|||
</select> |
|||
<!--客户端查询首页信息--> |
|||
<select id="selectHomePage" resultType="com.wh.pojo.sysuser.wx.WxHomePageVo"> |
|||
SELECT su.headImage, su.staffSid |
|||
FROM sys_user su |
|||
WHERE su.sid = #{userSid} |
|||
AND su.isDelete = 0 |
|||
</select> |
|||
<select id="selectByStaffsid" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
SELECT * |
|||
FROM sys_user su |
|||
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid |
|||
WHERE su.staffSid = #{staffSid} |
|||
AND su.isDelete = 0 |
|||
</select> |
|||
<!--根据用户sid获取员工sid--> |
|||
<select id="getUserOrgInfoByUserSid" resultType="com.wh.pojo.sysuser.app.AppUserOrgInfoVo"> |
|||
SELECT su.staffSid, ss.name staffName, sso.orgSid, sso.orgName, sso.orgSidPath, so.orgCode |
|||
FROM sys_user su |
|||
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid |
|||
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid |
|||
LEFT JOIN sys_organization so ON sso.orgSid = so.sid |
|||
WHERE su.sid = #{userSid} |
|||
ORDER BY sso.id |
|||
LIMIT 1 |
|||
</select> |
|||
<!--根据用户的sid查询用户的组织信息:多个时取第一个--> |
|||
<select id="selectUserInfoByUserSid" resultType="com.wh.pojo.sysuser.SysUserInfoVo"> |
|||
SELECT su.staffSid, si.name staffName, sso.orgSid, sso.orgName, so.orgCode |
|||
FROM sys_user su |
|||
LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid |
|||
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid |
|||
LEFT JOIN sys_organization so ON sso.orgSid = so.sid |
|||
WHERE su.sid = #{userSid} |
|||
ORDER BY sso.id |
|||
LIMIT 1 |
|||
</select> |
|||
|
|||
<select id="selectUserInfoByUserSidOne" resultType="com.wh.pojo.sysuser.SysUserInfoVo"> |
|||
SELECT su.staffSid, si.name staffName, sso.orgSid, sso.orgName, so.orgCode |
|||
FROM sys_user su |
|||
LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid |
|||
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid |
|||
LEFT JOIN sys_organization so ON sso.orgSid = so.sid |
|||
WHERE su.sid = #{userSid} |
|||
and find_in_set(#{orgSid}, replace(sso.orgSidPath, '/', ',')) |
|||
ORDER BY sso.id |
|||
LIMIT 1 |
|||
</select> |
|||
<!--根据员工sid更新用户表的工号以及手机号--> |
|||
<update id="updateByStaffSid"> |
|||
update sys_user |
|||
set mobile = #{mobile} |
|||
where staffSid = #{sid} |
|||
</update> |
|||
<!--根据员工sid更新员工的员工编号--> |
|||
<update id="updateByStaSid"> |
|||
update sys_user |
|||
set userName = #{jobNumber} |
|||
where staffSid = #{sid} |
|||
</update> |
|||
|
|||
<!-- <select id="selectByMobile" resultType="com.wh.pojo.sysuser.SysUser">--> |
|||
<!-- select su.*--> |
|||
<!-- from sys_user su--> |
|||
<!-- left join sys_staffinfo si on si.sid = su.staffSid--> |
|||
<!-- where su.mobile = #{mobile}--> |
|||
<!-- and su.isDelete = 0--> |
|||
<!-- and su.userType = 1--> |
|||
<!-- and si.personTypeKey != '01'--> |
|||
<!-- </select>--> |
|||
<select id="selectByMobile" resultType="com.wh.pojo.sysuser.SysUser"> |
|||
select su.* |
|||
from sys_user su |
|||
left join sys_staffinfo si on si.sid = su.staffSid |
|||
where su.mobile = #{mobile} |
|||
and su.isDelete = 0 |
|||
</select> |
|||
<update id="updateIsEnable"> |
|||
UPDATE sys_user |
|||
SET isEnable = #{isEnable} |
|||
WHERE sid = #{sid} |
|||
</update> |
|||
|
|||
<select id="getUsersByRoleSid" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
SELECT su.sid, ss.name, sso.orgNamePath departmentName |
|||
FROM `sys_user` su |
|||
LEFT JOIN `sys_staffinfo` ss ON su.staffSid = ss.sid |
|||
LEFT JOIN `sys_staff_org` sso ON sso.staffSid = ss.sid |
|||
LEFT JOIN `sys_user_role` sur ON sur.userSid = su.sid |
|||
LEFT JOIN `sys_role` sr ON sr.sid = sur.roleSid |
|||
WHERE sr.sid = #{roleSid} |
|||
</select> |
|||
|
|||
<select id="getUserByRole" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
select distinct si.name, su.sid, su.staffSid<!--, so.orgSidPath--> |
|||
from sys_user_role sr |
|||
left join sys_user su on sr.userSid = su.sid |
|||
left join sys_staffinfo si on si.sid = su.staffSid |
|||
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' |
|||
</select> |
|||
<select id="getUserByRoleNoOrgPath" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
select distinct si.name, su.sid, su.staffSid<!--, so.orgSidPath--> |
|||
from sys_user_role sr |
|||
left join sys_user su on sr.userSid = su.sid |
|||
left join sys_staffinfo si on si.sid = su.staffSid |
|||
left join sys_staff_org so on so.staffSid = si.sid |
|||
where sr.roleSid = #{roleSid} |
|||
</select> |
|||
|
|||
<select id="getUserByOrgSid" resultType="java.util.Map"> |
|||
SELECT su.sid, |
|||
st.name, |
|||
sso.orgName, |
|||
sp.name as postName |
|||
FROM sys_user su |
|||
LEFT JOIN sys_staffinfo st |
|||
ON su.`staffSid` = st.`sid` |
|||
LEFT JOIN sys_staff_org sso |
|||
ON st.`sid` = sso.`staffSid` |
|||
LEFT JOIN sys_staff_post ssp |
|||
ON st.sid = ssp.`staffSid` |
|||
LEFT JOIN sys_post sp |
|||
ON ssp.`postSid` = sp.`sid` |
|||
WHERE su.sid != #{userSid} |
|||
AND sso.`orgSidPath` LIKE concat('%' |
|||
, #{orgSid} |
|||
, '%') |
|||
</select> |
|||
|
|||
<select id="fetchBySids" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
select su.*, ss.name |
|||
from sys_user su |
|||
left join sys_staffinfo ss on su.staffSid = ss.sid |
|||
where su.sid in |
|||
<foreach collection="sids" index="index" item="item" open="(" separator="," close=")"> |
|||
#{item} |
|||
</foreach> |
|||
</select> |
|||
|
|||
<select id="getUserByRoleSid" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
select si.name, su.sid, su.staffSid |
|||
from sys_user_role sr |
|||
left join sys_user su on sr.userSid = su.sid |
|||
left join sys_staffinfo si on si.sid = su.staffSid |
|||
where sr.roleSid = #{roleSid} |
|||
and si.personTypeKey != '01' |
|||
</select> |
|||
|
|||
<update id="updateAppIdByMobile"> |
|||
update sys_user |
|||
set appId = NULL |
|||
where mobile = #{mobile} |
|||
</update> |
|||
|
|||
<update id="updateAppIdAll"> |
|||
update sys_user |
|||
set appId = NULL |
|||
</update> |
|||
|
|||
<select id="selectIdBySid" resultType="java.lang.String"> |
|||
select group_concat(id) as ids |
|||
from sys_user where sid in |
|||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> |
|||
#{item} |
|||
</foreach> |
|||
</select> |
|||
|
|||
<select id="getUserMessageByRole" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
select distinct si.name, su.sid, su.staffSid,so.orgSidPath |
|||
from sys_user_role sr |
|||
left join sys_user su on sr.userSid = su.sid |
|||
left join sys_staffinfo si on si.sid = su.staffSid |
|||
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 |
|||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> |
|||
#{item} |
|||
</foreach> |
|||
</select> |
|||
<select id="getUserByType" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
<if test="userType==1"> |
|||
select s.*,f.name as name from sys_user s left join sys_staffinfo f on f.sid=s.staffSid where s.userType=#{userType} |
|||
</if> |
|||
<if test="userType==3"> |
|||
select * from sys_user s where s.userType=#{userType} |
|||
</if> |
|||
</select> |
|||
<select id="getUserOrgBySid" resultType="com.wh.pojo.sysuser.SysUserVo"> |
|||
select s.*,f.name as name ,org.name as organizationName from sys_user s |
|||
left join sys_staffinfo f on f.sid=s.staffSid |
|||
left join sys_staff_org sta on sta.staffSid =f.sid |
|||
left join sys_organization org on org.sid =sta.orgSid |
|||
WHERE s.sid=#{sid} |
|||
</select> |
|||
<select id="fetchByUserNameAndUserPhone" resultType="java.lang.String"> |
|||
SELECT su.`sid` |
|||
FROM sys_user su |
|||
LEFT JOIN sys_staffinfo ss |
|||
ON su.`staffSid` = ss.`sid` |
|||
WHERE ss.name = #{userName} |
|||
AND su.mobile = #{userPhone} |
|||
</select> |
|||
</mapper> |
Loading…
Reference in new issue