Merge remote-tracking branch 'origin/master'

This commit is contained in:
zjf committed 2025-05-22 22:23:07 +08:00
commit fbf3cb8346
7 files changed
+60 -1

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;
@@ -60,6 +60,12 @@ public class MchManageEntity extends Model<MchManageEntity> {
@Schema(description = "店铺类型,逗号分隔")
private String types;
/**
* 食堂是否对外营业
*/
@Schema(description = "食堂是否对外营业")
private String canteenIsOpen;
/**
* 分类id
*/
@@ -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")
@@ -108,9 +116,15 @@ public class MchManageController {
/* ************************************* start app start ************************************* */
@Operation(summary = "app查询商铺", description = "app查询商铺")
@GetMapping("/app/page-join")
@Inner(value = false)
// @Inner(value = false)
public R<Page<MchManageVo>> appPageJoin(@ParameterObject Page page, @ParameterObject MchManageDto dto) {
PjcloudUser user = SecurityUtils.getUser();
dto.setVisibleMobile(YesNoEnum.YES.getCode());
// 如果是食堂判断用户是否能查看到所有食堂
boolean isConsumeUser = mchManageService.getIsConsumeUser(user.getId());
if (isConsumeUser) {
dto.setCanteenIsOpen(YesNoEnum.YES.getCode());
}
return R.ok(mchManageService.pageJoin(page, dto));
}
@@ -27,6 +27,7 @@ public interface MchManageMapper extends PjcloudBaseMapper<MchManageEntity> {
.eqIfExists(MchManageEntity::getVisibleMobile, dto.getVisibleMobile())
.eqIfExists(MchManageEntity::getParentId, dto.getParentId())
.eqIfExists(MchManageEntity::getCatgoryId, dto.getCatgoryId())
.eqIfExists(MchManageEntity::getCanteenIsOpen, dto.getCanteenIsOpen())
.eq(dto.getParentIsNull(), MchManageEntity::getParentId, -1L)
.likeIfExists(MchManageEntity::getName, dto.getName())
.in(ObjectUtil.isNotEmpty(dto.getDeptIds()), MchManageEntity::getDeptId, dto.getDeptIds())
@@ -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);
}
/**
* 更新分店数量
*/
@@ -33,6 +33,7 @@
a.default_wallet_type_id,
a.name,
a.types,
a.canteen_is_open,
a.catgory_id,
a.logo_pic,
a.collection_code,
@@ -61,6 +62,9 @@
<if test="dto.types != null">
and a.types = #{dto.types}
</if>
<if test="dto.canteenIsOpen != null">
and a.canteen_is_open = #{dto.canteenIsOpen}
</if>
<if test="dto.catgoryId != null">
and a.catgory_id = #{dto.catgoryId}
</if>