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 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 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 queryByUseISDefault(Long strategyId) { if(Func.isEmpty(strategyId)){ throw new ServiceException("设置默认密码策略出错!"); } return this.userPwdstrategyMapper.queryByUseISDefault(strategyId); } }