微信登入无权限修复

This commit is contained in:
1 2025-07-03 08:58:26 +08:00
parent c3f3ec1bcc
commit e3249abf41
3 changed files with 30 additions and 6 deletions

View File

@ -53,7 +53,7 @@ server:
spring:
# 环境配置dev=开发环境prod=生产环境
profiles:
active: dev # 环境配置dev=开发环境prod=生产环境
active: prod # 环境配置dev=开发环境prod=生产环境
# 资源信息
messages:
# 国际化资源文件路径

View File

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fastbee.common.annotation.DataScope;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.extend.core.domin.entity.SysDept;
import com.fastbee.common.extend.core.domin.model.LoginUser;
import com.fastbee.common.extend.utils.SecurityUtils;
import com.fastbee.common.utils.DateUtils;
@ -17,12 +19,17 @@ import com.fastbee.iot.model.vo.OrderControlVO;
import com.fastbee.iot.model.vo.ThingsModelVO;
import com.fastbee.iot.service.IOrderControlService;
import com.fastbee.iot.service.IThingsModelService;
import com.fastbee.system.mapper.SysDeptMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.fastbee.common.extend.utils.SecurityUtils.getLoginUser;
import static com.fastbee.common.extend.utils.SecurityUtils.getUsername;
/**
* 指令权限控制Service业务层处理
*
@ -36,6 +43,8 @@ public class OrderControlServiceImpl extends ServiceImpl<OrderControlMapper,Orde
private OrderControlMapper orderControlMapper;
@Resource
private IThingsModelService thingsModelService;
@Resource
private SysDeptMapper sysDeptMapper;
/**
* 查询指令权限控制
@ -101,13 +110,18 @@ public class OrderControlServiceImpl extends ServiceImpl<OrderControlMapper,Orde
* @return 指令权限控制
*/
@Override
@DataScope(deptAlias = "c", userAlias = "c")
public Page<OrderControlVO> pageOrderControlVO(OrderControlVO orderControlVO) {
orderControlVO.setTenantId(SecurityUtils.getDeptId());
Page<OrderControlVO> orderControlVOPage = orderControlMapper.selectOrderControlVoPage(new Page<>(orderControlVO.getPageNum(), orderControlVO.getPageSize()), orderControlVO);
if (0 == orderControlVOPage.getTotal()) {
return new Page<>();
}
List<OrderControlVO> voList = orderControlVOPage.getRecords();
List<Long> tenantIdList = voList.stream().map(OrderControlVO::getTenantId).distinct().collect(Collectors.toList());
LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysDept::getDeptUserId, tenantIdList);
List<SysDept> sysDeptList = sysDeptMapper.selectList(queryWrapper);
Map<Long, SysDept> deptMap = sysDeptList.stream().collect(Collectors.toMap(SysDept::getDeptUserId, Function.identity()));
for (OrderControlVO control : voList) {
String[] split = control.getSelectOrder().split(",");
List<Long> ids = Arrays.stream(split)
@ -136,6 +150,10 @@ public class OrderControlServiceImpl extends ServiceImpl<OrderControlMapper,Orde
control.setStatus(0);
}
}
// SysDept sysDept = deptMap.get(control.getTenantId());
// if (Objects.nonNull(sysDept)) {
// control.setTenantName(sysDept.getDeptName());
// }
}
return orderControlVOPage;
}
@ -170,7 +188,9 @@ public class OrderControlServiceImpl extends ServiceImpl<OrderControlMapper,Orde
@Override
public int insertOrderControl(OrderControl orderControl)
{
orderControl.setTenantId(SecurityUtils.getDeptId());
LoginUser user = getLoginUser();
orderControl.setTenantId(user.getUser().getDept().getDeptUserId());
orderControl.setCreateBy(user.getUsername());
orderControl.setCreateTime(DateUtils.getNowDate());
orderControl.setStatus(1);
return orderControlMapper.insert(orderControl);
@ -186,6 +206,7 @@ public class OrderControlServiceImpl extends ServiceImpl<OrderControlMapper,Orde
public int updateOrderControl(OrderControl orderControl)
{
orderControl.setUpdateTime(DateUtils.getNowDate());
orderControl.setUpdateBy(getUsername());
return orderControlMapper.updateById(orderControl);
}
@ -246,10 +267,9 @@ public class OrderControlServiceImpl extends ServiceImpl<OrderControlMapper,Orde
@Override
public AjaxResult judgeThingsModel(Long deviceId, Long modelId) {
Long userId = SecurityUtils.getUserId();
LoginUser loginUser = SecurityUtils.getLoginUser();
Long deptUserId = loginUser.getDeptUserId();
LoginUser loginUser = getLoginUser();
//这里排除管理员和终端用户和演示账号
if (!userId.equals(deptUserId) && !Objects.isNull(loginUser.getDeptId()) && !"fastbee".equals(loginUser.getUsername())) {
if (!Objects.isNull(loginUser.getDeptId()) && !userId.equals(loginUser.getUser().getDept().getDeptUserId()) && !"fastbee".equals(loginUser.getUsername())) {
LambdaQueryWrapper<OrderControl> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OrderControl::getUserId, userId);
queryWrapper.eq(OrderControl::getDeviceId, deviceId);

View File

@ -176,6 +176,10 @@ public class SysLoginService {
LoginUser loginUser = (LoginUser) userDetails;
recordLoginInfo(loginUser.getUserId());
loginUser.setLanguage(language);
if (null != user.getDept()) {
loginUser.setDeptUserId(user.getDept().getDeptUserId());
}
// 生成token
return tokenService.createToken(loginUser);