package doumeemes.service.ext.impl; import doumeemes.core.constants.ResponseStatus; import doumeemes.core.exception.BusinessException; import doumeemes.core.model.LoginUserInfo; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Constants; import doumeemes.dao.ext.dto.QueryDeviceExtDTO; import doumeemes.dao.ext.dto.QueryUserDeviceExtDTO; import doumeemes.dao.ext.vo.DeviceExtListVO; import doumeemes.service.ext.DeviceExtService; import doumeemes.dao.ext.DeviceExtMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import doumeemes.service.ext.UserDeviceExtService; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 生产设备信息Service实现 * @author 江蹄蹄 * @date 2022/04/20 10:59 */ @Service public class DeviceExtServiceImpl implements DeviceExtService { @Autowired private DeviceExtMapper deviceExtMapper; @Autowired private UserDeviceExtService userDeviceExtService; @Override public PageData findPage(PageWrap pageWrap) { PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); List result = deviceExtMapper.selectList(pageWrap.getModel()); return PageData.from(new PageInfo<>(result)); } @Override public PageData getListByCondition(PageWrap pageWrap) { PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); List result = deviceExtMapper.selectList(pageWrap.getModel()); QueryUserDeviceExtDTO queryUserDeviceExtDTO = new QueryUserDeviceExtDTO(); result.forEach(i->{ queryUserDeviceExtDTO.setDeviceId(i.getId()); i.setUserDeviceExtListVOS(userDeviceExtService.getList(queryUserDeviceExtDTO)); }); return PageData.from(new PageInfo<>(result)); } @Override public List getListByCondition(QueryDeviceExtDTO dto) { List result = deviceExtMapper.selectList(dto); return result; } @Override public List getDeviceByCondition(QueryDeviceExtDTO dto) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!"); } //只能查看当前根组织的数据 dto.setRootDepartId(user.getRootDepartment().getId()); dto.setDepartId(user.getCurComDepartment().getId()); //数据权限 List dataPermission = user.getDepartPermissionList(); if(dataPermission!=null){ if(dataPermission.size() == 0){ //只能看自己的 dto.setPmodelUserId(user.getId()); }else{ //否则走数据权限 dto.setDepartIds(dataPermission); } } List result = deviceExtMapper.getListByCondition(dto); return result; } }