员工信息调整,按钮调整,样式调整,增加重置密码、冻结、解冻功能
This commit is contained in:
parent
552e2decb5
commit
a5b97d9524
|
|
@ -4,7 +4,11 @@ import java.util.Arrays;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.nu.dto.EmployeesStatusMQDto;
|
||||||
|
import com.nu.utils.RabbitMQUtil;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.system.api.ISysBaseAPI;
|
||||||
import org.jeecg.common.system.query.QueryGenerator;
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
||||||
import com.nu.modules.employeesInfo.service.IBizEmployeesInfoService;
|
import com.nu.modules.employeesInfo.service.IBizEmployeesInfoService;
|
||||||
|
|
@ -36,6 +40,10 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
public class BizEmployeesInfoController extends JeecgController<BizEmployeesInfo, IBizEmployeesInfoService> {
|
public class BizEmployeesInfoController extends JeecgController<BizEmployeesInfo, IBizEmployeesInfoService> {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBizEmployeesInfoService bizEmployeesInfoService;
|
private IBizEmployeesInfoService bizEmployeesInfoService;
|
||||||
|
@Autowired
|
||||||
|
private ISysBaseAPI sysBaseAPI;
|
||||||
|
@Autowired
|
||||||
|
private RabbitMQUtil rabbitMQUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
|
|
@ -53,10 +61,13 @@ public class BizEmployeesInfoController extends JeecgController<BizEmployeesInfo
|
||||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||||
HttpServletRequest req) {
|
HttpServletRequest req) {
|
||||||
QueryWrapper<BizEmployeesInfo> queryWrapper = QueryGenerator.initQueryWrapper(bizEmployeesInfo, req.getParameterMap());
|
// QueryWrapper<BizEmployeesInfo> queryWrapper = QueryGenerator.initQueryWrapper(bizEmployeesInfo, req.getParameterMap());
|
||||||
queryWrapper.orderByDesc("create_time");
|
// queryWrapper.orderByDesc("create_time");
|
||||||
Page<BizEmployeesInfo> page = new Page<BizEmployeesInfo>(pageNo, pageSize);
|
// Page<BizEmployeesInfo> page = new Page<BizEmployeesInfo>(pageNo, pageSize);
|
||||||
IPage<BizEmployeesInfo> pageList = bizEmployeesInfoService.page(page, queryWrapper);
|
// //查询已在mapper中重写
|
||||||
|
// IPage<BizEmployeesInfo> pageList = bizEmployeesInfoService.page(page, queryWrapper);
|
||||||
|
|
||||||
|
IPage<BizEmployeesInfo> pageList = bizEmployeesInfoService.queryPageList(bizEmployeesInfo, pageNo, pageSize, req);
|
||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -162,4 +173,27 @@ public class BizEmployeesInfoController extends JeecgController<BizEmployeesInfo
|
||||||
return super.importExcel(request, response, BizEmployeesInfo.class);
|
return super.importExcel(request, response, BizEmployeesInfo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 冻结/解冻员工
|
||||||
|
*
|
||||||
|
* @param bizEmployeesInfo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "员工信息-冻结/解冻员工")
|
||||||
|
@ApiOperation(value = "员工信息-冻结/解冻员工", notes = "员工信息-冻结/解冻员工")
|
||||||
|
@RequestMapping(value = "/djOrJd", method = {RequestMethod.PUT, RequestMethod.POST})
|
||||||
|
public Result<String> djOrJd(@RequestBody BizEmployeesInfo bizEmployeesInfo) {
|
||||||
|
BizEmployeesInfo upInfo = new BizEmployeesInfo();
|
||||||
|
upInfo.setId(bizEmployeesInfo.getId());
|
||||||
|
upInfo.setIzFreeze(bizEmployeesInfo.getIzFreeze());//是否冻结 Y冻结 N未冻结
|
||||||
|
bizEmployeesInfoService.updateById(upInfo);
|
||||||
|
|
||||||
|
JSONObject deptInfo = sysBaseAPI.getDeptInfo();
|
||||||
|
EmployeesStatusMQDto mqDto = new EmployeesStatusMQDto();
|
||||||
|
mqDto.setOrgCode(deptInfo.getString("code"));
|
||||||
|
mqDto.setIzFreeze(bizEmployeesInfo.getIzFreeze());
|
||||||
|
mqDto.setOpenId(bizEmployeesInfo.getOpenId());
|
||||||
|
rabbitMQUtil.sendToExchange("hldy.employees", "employees.account.freezeOrEnabled", mqDto);
|
||||||
|
return Result.OK("操作成功!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nu.modules.employeesInfo.entity;
|
package com.nu.modules.employeesInfo.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
@ -241,4 +242,11 @@ public class BizEmployeesInfo implements Serializable {
|
||||||
/**接单上限*/
|
/**接单上限*/
|
||||||
@ApiModelProperty(value = "接单上限")
|
@ApiModelProperty(value = "接单上限")
|
||||||
private Integer orderCap;
|
private Integer orderCap;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String userStatus;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String userId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
package com.nu.modules.employeesInfo.mapper;
|
package com.nu.modules.employeesInfo.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 员工信息
|
* @Description: 员工信息
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
|
|
@ -14,4 +18,6 @@ public interface BizEmployeesInfoMapper extends BaseMapper<BizEmployeesInfo> {
|
||||||
BizEmployeesInfo findById(BizEmployeesInfo bizEmployeesInfo);
|
BizEmployeesInfo findById(BizEmployeesInfo bizEmployeesInfo);
|
||||||
|
|
||||||
void UpUserEmployeesId(@Param("userId") String userId);
|
void UpUserEmployeesId(@Param("userId") String userId);
|
||||||
|
|
||||||
|
IPage<BizEmployeesInfo> queryPageList(Page<BizEmployeesInfo> page, @Param("params") Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,13 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.nu.modules.employeesInfo.mapper.BizEmployeesInfoMapper">
|
<mapper namespace="com.nu.modules.employeesInfo.mapper.BizEmployeesInfoMapper">
|
||||||
<update id="UpUserEmployeesId">
|
<update id="UpUserEmployeesId">
|
||||||
update sys_user set employees_id = id where id = #{userId}
|
update sys_user
|
||||||
|
set employees_id = id
|
||||||
|
where id = #{userId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="findById" resultType="com.nu.modules.employeesInfo.entity.BizEmployeesInfo">
|
<select id="findById" resultType="com.nu.modules.employeesInfo.entity.BizEmployeesInfo">
|
||||||
select
|
select id,
|
||||||
id,
|
|
||||||
name,
|
name,
|
||||||
sex,
|
sex,
|
||||||
national,
|
national,
|
||||||
|
|
@ -64,4 +65,102 @@
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryPageList" resultType="com.nu.modules.employeesInfo.entity.BizEmployeesInfo">
|
||||||
|
SELECT
|
||||||
|
ei.id AS id,
|
||||||
|
ei.name AS name,
|
||||||
|
ei.sex AS sex,
|
||||||
|
ei.national AS national,
|
||||||
|
ei.head_path AS headPath,
|
||||||
|
ei.id_card AS idCard,
|
||||||
|
ei.tel AS tel,
|
||||||
|
ei.entry_time AS entryTime,
|
||||||
|
ei.post_level AS postLevel,
|
||||||
|
ei.date_of_birth AS dateOfBirth,
|
||||||
|
ei.married_or_not AS marriedOrNot,
|
||||||
|
ei.wages AS wages,
|
||||||
|
ei.height AS height,
|
||||||
|
ei.weight AS weight,
|
||||||
|
ei.address AS address,
|
||||||
|
ei.current_address AS currentAddress,
|
||||||
|
ei.is_smoking AS isSmoking,
|
||||||
|
ei.health_status AS healthStatus,
|
||||||
|
ei.house_address AS houseAddress,
|
||||||
|
ei.political_appearance AS politicalAppearance,
|
||||||
|
ei.emergency_contact AS emergencyContact,
|
||||||
|
ei.emergency_tel AS emergencyTel,
|
||||||
|
ei.emergency_relationship AS emergencyRelationship,
|
||||||
|
ei.hukou_nature AS hukouNature,
|
||||||
|
ei.content AS content,
|
||||||
|
ei.id_card_positive AS idCardPositive,
|
||||||
|
ei.id_card_negative AS idCardNegative,
|
||||||
|
ei.contract_positive AS contractPositive,
|
||||||
|
ei.contract_negative AS contractNegative,
|
||||||
|
ei.health_certificate_positive AS healthCertificatePositive,
|
||||||
|
ei.health_certificate_negative AS healthCertificateNegative,
|
||||||
|
ei.bank_positive AS bankPositive,
|
||||||
|
ei.bank_negative AS bankNegative,
|
||||||
|
ei.qualification AS qualification,
|
||||||
|
ei.no_crime_certificate AS noCrimeCertificate,
|
||||||
|
ei.regional AS regional,
|
||||||
|
ei.service_tag AS serviceTag,
|
||||||
|
ei.del_flag AS delFlag,
|
||||||
|
ei.create_by AS createBy,
|
||||||
|
ei.create_time AS createTime,
|
||||||
|
ei.update_by AS updateBy,
|
||||||
|
ei.update_time AS updateTime,
|
||||||
|
ei.sys_org_code AS sysOrgCode,
|
||||||
|
ei.open_id AS openId,
|
||||||
|
ei.iz_online AS izOnline,
|
||||||
|
ei.iz_freeze AS izFreeze,
|
||||||
|
ei.opening_bank AS openingBank,
|
||||||
|
ei.bank_card AS bankCard,
|
||||||
|
ei.iz_invited AS izInvited,
|
||||||
|
ei.modify_status AS modifyStatus,
|
||||||
|
ei.start_time AS startTime,
|
||||||
|
ei.end_time AS endTime,
|
||||||
|
ei.order_cap AS orderCap,
|
||||||
|
usert.status AS userStatus,
|
||||||
|
usert.id AS userId
|
||||||
|
FROM nu_biz_employees_info AS ei
|
||||||
|
LEFT JOIN sys_user usert on ei.tel = usert.username
|
||||||
|
<where>
|
||||||
|
ei.del_flag = 0
|
||||||
|
<if test="params.name != null and params.name != ''">
|
||||||
|
AND ei.name LIKE CONCAT('%', #{params.name}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="params.sex != null and params.sex != ''">
|
||||||
|
AND ei.sex = #{params.sex}
|
||||||
|
</if>
|
||||||
|
<if test="params.idCard != null and params.idCard != ''">
|
||||||
|
AND ei.id_card LIKE CONCAT('%', #{params.idCard}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="params.tel != null and params.tel != ''">
|
||||||
|
AND ei.tel LIKE CONCAT('%', #{params.tel}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="params.postLevel != null and params.postLevel != ''">
|
||||||
|
AND ei.post_level = #{params.postLevel}
|
||||||
|
</if>
|
||||||
|
<if test="params.regional != null and params.regional != ''">
|
||||||
|
AND ei.regional = #{params.regional}
|
||||||
|
</if>
|
||||||
|
<if test="params.izOnline != null and params.izOnline != ''">
|
||||||
|
AND ei.iz_online = #{params.izOnline}
|
||||||
|
</if>
|
||||||
|
<if test="params.izFreeze != null and params.izFreeze != ''">
|
||||||
|
AND ei.iz_freeze = #{params.izFreeze}
|
||||||
|
</if>
|
||||||
|
<if test="params.entryTimeStart != null">
|
||||||
|
AND ei.entry_time >= #{params.entryTimeStart}
|
||||||
|
</if>
|
||||||
|
<if test="params.entryTimeEnd != null">
|
||||||
|
AND ei.entry_time <= #{params.entryTimeEnd}
|
||||||
|
</if>
|
||||||
|
<if test="params.sysOrgCode != null and params.sysOrgCode != ''">
|
||||||
|
AND ei.sys_org_code LIKE CONCAT(#{params.sysOrgCode}, '%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
ORDER BY ei.create_time DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
package com.nu.modules.employeesInfo.service;
|
package com.nu.modules.employeesInfo.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 员工信息
|
* @Description: 员工信息
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
|
|
@ -13,4 +16,6 @@ public interface IBizEmployeesInfoService extends IService<BizEmployeesInfo> {
|
||||||
BizEmployeesInfo findById(BizEmployeesInfo bizEmployeesInfo);
|
BizEmployeesInfo findById(BizEmployeesInfo bizEmployeesInfo);
|
||||||
|
|
||||||
void UpUserEmployeesId(String userId);
|
void UpUserEmployeesId(String userId);
|
||||||
|
|
||||||
|
IPage<BizEmployeesInfo> queryPageList(BizEmployeesInfo bizEmployeesInfo, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.nu.modules.employeesInfo.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.nu.entity.EmployeesInfoEntity;
|
import com.nu.entity.EmployeesInfoEntity;
|
||||||
import com.nu.modules.IEmployeesInfoApi;
|
import com.nu.modules.IEmployeesInfoApi;
|
||||||
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
import com.nu.modules.employeesInfo.entity.BizEmployeesInfo;
|
||||||
|
|
@ -15,6 +17,7 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -34,7 +37,7 @@ public class BizEmployeesInfoServiceImpl extends ServiceImpl<BizEmployeesInfoMap
|
||||||
private INuAppEmployeesPermissionService nuAppEmployeesPermissionService;
|
private INuAppEmployeesPermissionService nuAppEmployeesPermissionService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BizEmployeesInfo findById(BizEmployeesInfo bizEmployeesInfo){
|
public BizEmployeesInfo findById(BizEmployeesInfo bizEmployeesInfo) {
|
||||||
return baseMapper.findById(bizEmployeesInfo);
|
return baseMapper.findById(bizEmployeesInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,4 +98,31 @@ public class BizEmployeesInfoServiceImpl extends ServiceImpl<BizEmployeesInfoMap
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IPage<BizEmployeesInfo> queryPageList(BizEmployeesInfo bizEmployeesInfo,
|
||||||
|
Integer pageNo,
|
||||||
|
Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
Page<BizEmployeesInfo> page = new Page<>(pageNo, pageSize);
|
||||||
|
|
||||||
|
// 将查询参数转换为Map
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
if (bizEmployeesInfo != null) {
|
||||||
|
params.put("name", bizEmployeesInfo.getName());
|
||||||
|
params.put("sex", bizEmployeesInfo.getSex());
|
||||||
|
params.put("idCard", bizEmployeesInfo.getIdCard());
|
||||||
|
params.put("tel", bizEmployeesInfo.getTel());
|
||||||
|
params.put("postLevel", bizEmployeesInfo.getPostLevel());
|
||||||
|
params.put("regional", bizEmployeesInfo.getRegional());
|
||||||
|
params.put("izOnline", bizEmployeesInfo.getIzOnline());
|
||||||
|
params.put("izFreeze", bizEmployeesInfo.getIzFreeze());
|
||||||
|
params.put("sysOrgCode", bizEmployeesInfo.getSysOrgCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从request中获取其他参数
|
||||||
|
params.put("entryTimeStart", req.getParameter("entryTimeStart"));
|
||||||
|
params.put("entryTimeEnd", req.getParameter("entryTimeEnd"));
|
||||||
|
|
||||||
|
return baseMapper.queryPageList(page, params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -50,12 +50,12 @@ public class SysUserOnlineController {
|
||||||
private BaseCommonService baseCommonService;
|
private BaseCommonService baseCommonService;
|
||||||
|
|
||||||
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
||||||
public Result<Page<SysUserOnlineVO>> list(@RequestParam(name="username", required=false) String username,
|
public Result<Page<SysUserOnlineVO>> list(@RequestParam(name = "username", required = false) String username,
|
||||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||||
Collection<String> keys = redisUtil.scan(CommonConstant.PREFIX_USER_TOKEN + "*");
|
Collection<String> keys = redisUtil.scan(CommonConstant.PREFIX_USER_TOKEN + "*");
|
||||||
List<SysUserOnlineVO> onlineList = new ArrayList<SysUserOnlineVO>();
|
List<SysUserOnlineVO> onlineList = new ArrayList<SysUserOnlineVO>();
|
||||||
for (String key : keys) {
|
for (String key : keys) {
|
||||||
String token = (String)redisUtil.get(key);
|
String token = (String) redisUtil.get(key);
|
||||||
if (StringUtils.isNotEmpty(token)) {
|
if (StringUtils.isNotEmpty(token)) {
|
||||||
SysUserOnlineVO online = new SysUserOnlineVO();
|
SysUserOnlineVO online = new SysUserOnlineVO();
|
||||||
online.setToken(token);
|
online.setToken(token);
|
||||||
|
|
@ -64,12 +64,12 @@ public class SysUserOnlineController {
|
||||||
if (loginUser != null && !"_reserve_user_external".equals(loginUser.getUsername())) {
|
if (loginUser != null && !"_reserve_user_external".equals(loginUser.getUsername())) {
|
||||||
//update-begin---author:wangshuai ---date:20220104 for:[JTC-382]在线用户查询无效------------
|
//update-begin---author:wangshuai ---date:20220104 for:[JTC-382]在线用户查询无效------------
|
||||||
//验证用户名是否与传过来的用户名相同
|
//验证用户名是否与传过来的用户名相同
|
||||||
boolean isMatchUsername=true;
|
boolean isMatchUsername = true;
|
||||||
//判断用户名是否为空,并且当前循环的用户不包含传过来的用户名,那么就设成false
|
//判断用户名是否为空,并且当前循环的用户不包含传过来的用户名,那么就设成false
|
||||||
if(oConvertUtils.isNotEmpty(username) && !loginUser.getUsername().contains(username)){
|
if (oConvertUtils.isNotEmpty(username) && !loginUser.getUsername().contains(username)) {
|
||||||
isMatchUsername = false;
|
isMatchUsername = false;
|
||||||
}
|
}
|
||||||
if(isMatchUsername){
|
if (isMatchUsername) {
|
||||||
BeanUtils.copyProperties(loginUser, online);
|
BeanUtils.copyProperties(loginUser, online);
|
||||||
onlineList.add(online);
|
onlineList.add(online);
|
||||||
}
|
}
|
||||||
|
|
@ -103,17 +103,17 @@ public class SysUserOnlineController {
|
||||||
/**
|
/**
|
||||||
* 强退用户
|
* 强退用户
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/forceLogout",method = RequestMethod.POST)
|
@RequestMapping(value = "/forceLogout", method = RequestMethod.POST)
|
||||||
public Result<Object> forceLogout(@RequestBody SysUserOnlineVO online) {
|
public Result<Object> forceLogout(@RequestBody SysUserOnlineVO online) {
|
||||||
//用户退出逻辑
|
//用户退出逻辑
|
||||||
if(oConvertUtils.isEmpty(online.getToken())) {
|
if (oConvertUtils.isEmpty(online.getToken())) {
|
||||||
return Result.error("退出登录失败!");
|
return Result.error("退出登录失败!");
|
||||||
}
|
}
|
||||||
String username = JwtUtil.getUsername(online.getToken());
|
String username = JwtUtil.getUsername(online.getToken());
|
||||||
LoginUser sysUser = sysBaseApi.getUserByName(username);
|
LoginUser sysUser = sysBaseApi.getUserByName(username);
|
||||||
if(sysUser!=null) {
|
if (sysUser != null) {
|
||||||
baseCommonService.addLog("强制: "+sysUser.getRealname()+"退出成功!", CommonConstant.LOG_TYPE_1, null,sysUser);
|
baseCommonService.addLog("强制: " + sysUser.getRealname() + "退出成功!", CommonConstant.LOG_TYPE_1, null, sysUser);
|
||||||
log.info(" 强制 "+sysUser.getRealname()+"退出成功! ");
|
log.info(" 强制 " + sysUser.getRealname() + "退出成功! ");
|
||||||
//清空用户登录Token缓存
|
//清空用户登录Token缓存
|
||||||
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + online.getToken());
|
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + online.getToken());
|
||||||
//清空用户登录Shiro权限缓存
|
//清空用户登录Shiro权限缓存
|
||||||
|
|
@ -123,8 +123,47 @@ public class SysUserOnlineController {
|
||||||
//调用shiro的logout
|
//调用shiro的logout
|
||||||
SecurityUtils.getSubject().logout();
|
SecurityUtils.getSubject().logout();
|
||||||
return Result.ok("退出登录成功!");
|
return Result.ok("退出登录成功!");
|
||||||
}else {
|
} else {
|
||||||
return Result.error("Token无效!");
|
return Result.error("Token无效!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/forceLogoutByUsername", method = RequestMethod.POST)
|
||||||
|
public Result<Object> forceLogoutByUsername(@RequestBody SysUserOnlineVO userVo) {
|
||||||
|
|
||||||
|
Collection<String> keys = redisUtil.scan(CommonConstant.PREFIX_USER_TOKEN + "*");
|
||||||
|
List<SysUserOnlineVO> onlineList = new ArrayList<SysUserOnlineVO>();
|
||||||
|
for (String key : keys) {
|
||||||
|
String token = (String) redisUtil.get(key);
|
||||||
|
if (StringUtils.isNotEmpty(token)) {
|
||||||
|
SysUserOnlineVO online = new SysUserOnlineVO();
|
||||||
|
online.setToken(token);
|
||||||
|
LoginUser loginUser = sysBaseApi.getUserByName(JwtUtil.getUsername(token));
|
||||||
|
if (loginUser != null && loginUser.getUsername().equals(userVo.getUsername())){
|
||||||
|
//用户退出逻辑
|
||||||
|
if (oConvertUtils.isEmpty(online.getToken())) {
|
||||||
|
return Result.error("退出登录失败!");
|
||||||
|
}
|
||||||
|
String username = JwtUtil.getUsername(online.getToken());
|
||||||
|
LoginUser sysUser = sysBaseApi.getUserByName(username);
|
||||||
|
if (sysUser != null) {
|
||||||
|
baseCommonService.addLog("强制: " + sysUser.getRealname() + "退出成功!", CommonConstant.LOG_TYPE_1, null, sysUser);
|
||||||
|
log.info(" 强制 " + sysUser.getRealname() + "退出成功! ");
|
||||||
|
//清空用户登录Token缓存
|
||||||
|
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + online.getToken());
|
||||||
|
//清空用户登录Shiro权限缓存
|
||||||
|
redisUtil.del(CommonConstant.PREFIX_USER_SHIRO_CACHE + sysUser.getId());
|
||||||
|
//清空用户的缓存信息(包括部门信息),例如sys:cache:user::<username>
|
||||||
|
redisUtil.del(String.format("%s::%s", CacheConstant.SYS_USERS_CACHE, sysUser.getUsername()));
|
||||||
|
//调用shiro的logout
|
||||||
|
SecurityUtils.getSubject().logout();
|
||||||
|
return Result.ok("退出登录成功!");
|
||||||
|
} else {
|
||||||
|
return Result.error("Token无效!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -467,4 +467,5 @@ public interface ISysUserService extends IService<SysUser> {
|
||||||
* @param izOnline
|
* @param izOnline
|
||||||
*/
|
*/
|
||||||
void modifyEmpOnline(SysUser sysUser, String izOnline);
|
void modifyEmpOnline(SysUser sysUser, String izOnline);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2111,14 +2111,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改员工在线状态
|
* 修改员工在线状态
|
||||||
|
*
|
||||||
* @param sysUser
|
* @param sysUser
|
||||||
* @param izOnline
|
* @param izOnline
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void modifyEmpOnline(SysUser sysUser, String izOnline){
|
public void modifyEmpOnline(SysUser sysUser, String izOnline) {
|
||||||
String employeeId = sysUser.getEmployeesId();
|
String employeeId = sysUser.getEmployeesId();
|
||||||
if(employeeId!=null&&!employeeId.equals("")){
|
if (employeeId != null && !employeeId.equals("")) {
|
||||||
userMapper.modifyEmpOnline(employeeId,izOnline);
|
userMapper.modifyEmpOnline(employeeId, izOnline);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue