This commit is contained in:
dzc committed 2025-05-22 17:20:51 +08:00
1 parent 64cf62b7af
commit e244dce601
4 files changed
+45 -7

No files matched your search

@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -39,6 +40,8 @@ import com.bsd.pjcloud.wallet.api.feign.RemoteWalletService;
import com.bsd.pjcloud.wallet.api.feign.RemoteWalletThirdZyService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.CacheManager;
import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestAttributes;
@@ -63,6 +66,9 @@ public class SysUserTransactionServiceImpl extends ServiceImpl<SysUserTransactio
private final SysUserService sysUserService;
private final SysDeptService sysDeptService;
private final OAuth2AuthorizationService authorizationService;
private final CacheManager cacheManager;
private final RemoteFlowEngineService remoteFlowEngineService;
private final RemoteWalletThirdZyService remoteWalletThirdZyService;
private final RemoteWalletService remoteWalletService;
@@ -6,10 +6,15 @@ import cn.hutool.core.util.ObjectUtil;
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.bsd.pjcloud.admin.api.dto.UserInfo;
import com.bsd.pjcloud.admin.api.entity.SysDept;
import com.bsd.pjcloud.admin.api.feign.RemoteDeptService;
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum;
import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.data.resolver.ParamResolver;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.common.security.annotation.Inner;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
@@ -45,6 +50,9 @@ public class MchManageController {
private final MchManageService mchManageService;
private final RemoteDeptService remoteDeptService;
private final RemoteUserService remoteUserService;
/* ************************************* start 远程调用 start ************************************* */
@Inner
@GetMapping("/get-by-id")
@@ -113,13 +121,9 @@ public class MchManageController {
PjcloudUser user = SecurityUtils.getUser();
dto.setVisibleMobile(YesNoEnum.YES.getCode());
// 如果是食堂判断用户是否能查看到所有食堂
if (ObjectUtil.isNotEmpty(user) && ObjectUtil.isNotEmpty(user.getDeptId())) {
if (ObjectUtil.equals(dto.getType(), MerchantTypeEnum.CANTEEN.getType())) {
MchManageVo userCanteen = mchManageService.getFirstMchByDeptId(user.getDeptId(), MerchantTypeEnum.CANTEEN);
if (ObjectUtil.isEmpty(userCanteen)) {
dto.setCanteenIsOpen(YesNoEnum.YES.getCode());
}
}
boolean isConsumeUser = mchManageService.getIsConsumeUser(user.getId());
if (isConsumeUser) {
dto.setCanteenIsOpen(YesNoEnum.YES.getCode());
}
return R.ok(mchManageService.pageJoin(page, dto));
}
@@ -50,4 +50,9 @@ public interface MchManageService extends IService<MchManageEntity> {
* 宁波银行登录
*/
String lbLogin(PjcloudUser user);
/**
* 判断用户是否能查看到所有食堂
*/
boolean getIsConsumeUser(Long id);
}
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.admin.api.dto.UserInfo;
import com.bsd.pjcloud.admin.api.entity.SysDept;
import com.bsd.pjcloud.admin.api.feign.RemoteDeptService;
import com.bsd.pjcloud.admin.api.feign.RemoteFileService;
@@ -20,6 +21,7 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils;
import com.bsd.pjcloud.common.core.util.QRCodeImageGenerator;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.data.resolver.ParamResolver;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.hard.api.feign.RemoteHardOrderService;
import com.bsd.pjcloud.hard.api.utils.Drawing2D;
@@ -341,6 +343,27 @@ public class MchManageServiceImpl extends ServiceImpl<MchManageMapper, MchManage
return vo.getData();
}
/**
* 判断用户是否能查看到所有食堂
*/
@Override
public boolean getIsConsumeUser(Long id) {
UserInfo userInfo = remoteUserService.getByUserId(id).getData();
if (ObjectUtil.isEmpty(userInfo)) {
return false;
}
List<SysDept> parentDeptList = remoteDeptService.getParentDeptList(userInfo.getSysUser().getDeptId()).getData();
if (ObjectUtil.isEmpty(parentDeptList)) {
return false;
}
String consumeDpetId = ParamResolver.getStr("CONSUME_DEPT_ID");
if (ObjectUtil.isEmpty(consumeDpetId)) {
return false;
}
List<String> parentDeptIds = parentDeptList.stream().map(SysDept::getDeptId).map(String::valueOf).toList();
return parentDeptIds.contains(consumeDpetId);
}
/**
* 更新分店数量
*/