123
This commit is contained in:
@@ -96,7 +96,7 @@ public class UserForbidController extends BaseController {
|
|||||||
@SaCheckPermission("cai:userForbid:unForbid")
|
@SaCheckPermission("cai:userForbid:unForbid")
|
||||||
@GetMapping("/un/forbid")
|
@GetMapping("/un/forbid")
|
||||||
public R<Void> unForbid(Long id) {
|
public R<Void> unForbid(Long id) {
|
||||||
userForbidManager.unForbidByForbidId(id);
|
userForbidManager.unForbidByForbidId(id, null);
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.manager;
|
package com.ruoyi.cai.manager;
|
||||||
|
|
||||||
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -52,15 +53,28 @@ public class UserForbidManager {
|
|||||||
if(forbidTimeEnum == null){
|
if(forbidTimeEnum == null){
|
||||||
throw new ServiceException("封禁天数错误");
|
throw new ServiceException("封禁天数错误");
|
||||||
}
|
}
|
||||||
|
if(forbidTimeEnum == ForbidTimeEnum.UNFORBID){
|
||||||
|
UserForbidManager userForbidManager = SpringUtil.getBean(UserForbidManager.class);
|
||||||
for (Integer integer : type) {
|
for (Integer integer : type) {
|
||||||
if(ForbidTypeEnum.USER.getCode().equals(integer)){ // 封用户
|
if(ForbidTypeEnum.USER.getCode().equals(integer)){
|
||||||
|
userForbidManager.unForbidByTypeAndMember(integer,user.getUsercode(),userForbidReq.getReason());
|
||||||
|
}else if(ForbidTypeEnum.IMEI.getCode().equals(integer)){
|
||||||
|
userForbidManager.unForbidByTypeAndMember(integer,user.getUsercode(),userForbidReq.getReason());
|
||||||
|
}else if(ForbidTypeEnum.IP.getCode().equals(integer)){
|
||||||
|
userForbidManager.unForbidByTypeAndMember(integer,user.getUsercode(),userForbidReq.getReason());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (Integer integer : type) {
|
||||||
|
if(ForbidTypeEnum.USER.getCode().equals(integer)){
|
||||||
UserForbidDTO dto = new UserForbidDTO();
|
UserForbidDTO dto = new UserForbidDTO();
|
||||||
dto.setForbidTime(userForbidReq.getForbidTime());
|
dto.setForbidTime(userForbidReq.getForbidTime());
|
||||||
dto.setForbidType(ForbidTypeEnum.USER.getCode());
|
dto.setForbidType(ForbidTypeEnum.USER.getCode());
|
||||||
dto.setMember(user.getUsercode());
|
dto.setMember(user.getUsercode());
|
||||||
dto.setRemark(userForbidReq.getReason());
|
dto.setRemark(userForbidReq.getReason());
|
||||||
this.forbid(dto);
|
this.forbid(dto);
|
||||||
}else if(ForbidTypeEnum.IMEI.getCode().equals(integer)){ // 封设备
|
}else if(ForbidTypeEnum.IMEI.getCode().equals(integer)){
|
||||||
UserInfo userInfo = userInfoService.getByUserId(user.getId());
|
UserInfo userInfo = userInfoService.getByUserId(user.getId());
|
||||||
if(userInfo != null && StringUtils.isNotEmpty(userInfo.getImei())){
|
if(userInfo != null && StringUtils.isNotEmpty(userInfo.getImei())){
|
||||||
UserForbidDTO dto = new UserForbidDTO();
|
UserForbidDTO dto = new UserForbidDTO();
|
||||||
@@ -70,7 +84,7 @@ public class UserForbidManager {
|
|||||||
dto.setRemark(userForbidReq.getReason());
|
dto.setRemark(userForbidReq.getReason());
|
||||||
this.forbid(dto);
|
this.forbid(dto);
|
||||||
}
|
}
|
||||||
}else if(ForbidTypeEnum.IP.getCode().equals(integer)){ // 封IP
|
}else if(ForbidTypeEnum.IP.getCode().equals(integer)){
|
||||||
UserInfo userInfo = userInfoService.getByUserId(user.getId());
|
UserInfo userInfo = userInfoService.getByUserId(user.getId());
|
||||||
if(userInfo != null && StringUtils.isNotEmpty(userInfo.getLastLoginIp())){
|
if(userInfo != null && StringUtils.isNotEmpty(userInfo.getLastLoginIp())){
|
||||||
UserForbidDTO dto = new UserForbidDTO();
|
UserForbidDTO dto = new UserForbidDTO();
|
||||||
@@ -164,21 +178,41 @@ public class UserForbidManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void unForbidByForbidId(Long id) {
|
public void unForbidByTypeAndMember(Integer type,String member,String remark) {
|
||||||
UserForbid userForbid = userForbidService.getById(id);
|
UserForbid userForbid = userForbidService.getOne(Wrappers.lambdaQuery(UserForbid.class)
|
||||||
|
.eq(UserForbid::getType,type)
|
||||||
|
.eq(UserForbid::getMember,member)
|
||||||
|
.last("limit 1"));
|
||||||
|
if(ForbidStatusEnum.NORMAL.getCode().equals(userForbid.getForbidStatus())
|
||||||
|
|| userForbid.getEndTime().isBefore(LocalDateTime.now())){ // 无封号
|
||||||
|
log.info("无封号,无需操作! type={},member={}", type,member);
|
||||||
|
}else{
|
||||||
userForbidService.update(Wrappers.lambdaUpdate(UserForbid.class)
|
userForbidService.update(Wrappers.lambdaUpdate(UserForbid.class)
|
||||||
.eq(UserForbid::getId,userForbid.getId())
|
.eq(UserForbid::getId,userForbid.getId())
|
||||||
.set(UserForbid::getForbidStatus, ForbidStatusEnum.NORMAL.getCode()));
|
.set(UserForbid::getForbidStatus, ForbidStatusEnum.NORMAL.getCode())
|
||||||
|
.set(StringUtils.isNotBlank(remark), UserForbid::getReason, remark));
|
||||||
|
}
|
||||||
if(ForbidTypeEnum.USER.getCode().equals(userForbid.getType())){
|
if(ForbidTypeEnum.USER.getCode().equals(userForbid.getType())){
|
||||||
User user = userService.getByUserCode(userForbid.getMember());
|
User user = userService.getByUserCode(userForbid.getMember());
|
||||||
userService.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,user.getId()).set(User::getStatus,0));
|
userService.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,user.getId()).set(User::getStatus,0));
|
||||||
anchorService.update(Wrappers.lambdaUpdate(Anchor.class).eq(Anchor::getId,user.getId()).set(Anchor::getStatus,0));
|
anchorService.update(Wrappers.lambdaUpdate(Anchor.class).eq(Anchor::getId,user.getId()).set(Anchor::getStatus,0));
|
||||||
}
|
}
|
||||||
this.unForbid(userForbid.getType(),userForbid.getMember());
|
forbidCache.unForbid(userForbid.getType(),userForbid.getMember());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void unForbid(Integer type,String member){
|
@Transactional(rollbackFor = Exception.class)
|
||||||
forbidCache.unForbid(type,member);
|
public void unForbidByForbidId(Long id,String remark) {
|
||||||
|
UserForbid userForbid = userForbidService.getById(id);
|
||||||
|
userForbidService.update(Wrappers.lambdaUpdate(UserForbid.class)
|
||||||
|
.eq(UserForbid::getId,userForbid.getId())
|
||||||
|
.set(UserForbid::getForbidStatus, ForbidStatusEnum.NORMAL.getCode())
|
||||||
|
.set(StringUtils.isNotBlank(remark), UserForbid::getReason, remark));
|
||||||
|
if(ForbidTypeEnum.USER.getCode().equals(userForbid.getType())){
|
||||||
|
User user = userService.getByUserCode(userForbid.getMember());
|
||||||
|
userService.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,user.getId()).set(User::getStatus,0));
|
||||||
|
anchorService.update(Wrappers.lambdaUpdate(Anchor.class).eq(Anchor::getId,user.getId()).set(Anchor::getStatus,0));
|
||||||
|
}
|
||||||
|
forbidCache.unForbid(userForbid.getType(),userForbid.getMember());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkAll(){
|
public void checkAll(){
|
||||||
@@ -234,7 +268,8 @@ public class UserForbidManager {
|
|||||||
if(userForbid.getEndTime().isAfter(LocalDateTime.now())){
|
if(userForbid.getEndTime().isAfter(LocalDateTime.now())){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.unForbidByForbidId(id);
|
UserForbidManager userForbidManager = SpringUtil.getBean(UserForbidManager.class);
|
||||||
|
userForbidManager.unForbidByForbidId(id,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
|
|||||||
} else if(ForbidStatusEnum.NORMAL.getCode().equals(one.getForbidStatus())){ // 已解封
|
} else if(ForbidStatusEnum.NORMAL.getCode().equals(one.getForbidStatus())){ // 已解封
|
||||||
one.setBeginTime(LocalDateTime.now());
|
one.setBeginTime(LocalDateTime.now());
|
||||||
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
||||||
} else if(ForbidStatusEnum.FORBID.getCode().equals(one.getForbidStatus()) && one.getEndTime().isAfter(LocalDateTime.now())){ // 已解封到期
|
} else if(ForbidStatusEnum.FORBID.getCode().equals(one.getForbidStatus()) && one.getEndTime().isBefore(LocalDateTime.now())){ // 已解封到期
|
||||||
one.setBeginTime(LocalDateTime.now());
|
one.setBeginTime(LocalDateTime.now());
|
||||||
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user