package com.vci.ubcs.system.service.impl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.vci.ubcs.system.entity.UserPwdstrategy;
|
import com.vci.ubcs.system.mapper.UserPwdstrategyMapper;
|
import com.vci.ubcs.system.service.IUserPwdstrategyService;
|
import com.vci.ubcs.system.user.feign.IUserClient;
|
import com.vci.ubcs.system.vo.UserPwdstrategyVO;
|
import lombok.RequiredArgsConstructor;
|
import org.springblade.core.log.exception.ServiceException;
|
import org.springblade.core.tool.utils.Func;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 用户密码策略管理表(UserPwdstrategy)表服务实现类
|
*
|
* @author makejava
|
* @since 2023-03-22 15:24:55
|
*/
|
@Service
|
@RequiredArgsConstructor
|
public class UserPwdstrategyServiceImpl extends ServiceImpl<UserPwdstrategyMapper,UserPwdstrategy> implements IUserPwdstrategyService {
|
|
@Resource
|
private UserPwdstrategyMapper userPwdstrategyMapper;
|
|
/**
|
* user服务调用类
|
*/
|
private final IUserClient userClient;
|
|
@Override
|
public UserPwdstrategy queryById(Long id) {
|
return this.getById(id);
|
}
|
|
/**
|
* 新增或修改
|
* @param userPwdstrategyVO 实例对象
|
* @return
|
*/
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public Boolean submit(UserPwdstrategyVO userPwdstrategyVO) {
|
if(Func.isEmpty(userPwdstrategyVO.getUserIds())){
|
throw new ServiceException("必填参数为空");
|
}
|
//先删除
|
this.userPwdstrategyMapper.deleteByUserIds(userPwdstrategyVO.getUserIds());
|
//在新增
|
List<UserPwdstrategy> userPwdstrategyList = new ArrayList<>();
|
userPwdstrategyVO.getUserIds().forEach(id->{
|
userPwdstrategyList.add(new UserPwdstrategy(id, userPwdstrategyVO.getPwdstrategyId()));
|
});
|
//密码策略改动成功之后修改用户状态
|
Boolean temp = userClient.updateStrategyStatus(userPwdstrategyVO.getUserIds()).getData();
|
return temp && this.saveBatch(userPwdstrategyList);
|
}
|
|
@Override
|
public List<Long> queryByUseISDefault(Long strategyId) {
|
if(Func.isEmpty(strategyId)){
|
throw new ServiceException("设置默认密码策略出错!");
|
}
|
return this.userPwdstrategyMapper.queryByUseISDefault(strategyId);
|
}
|
|
}
|