From f05b4b0896c97273aa2e673f140a1115a3b33373 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Thu, 16 Nov 2023 22:18:04 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E5=95=86=E5=9C=BA=E7=B1=BB?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=99=BB=E5=BD=95=E7=9A=84=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IBasicdataWarehouseClient.java | 10 -- .../controller/BasicdataClientController.java | 3 +- .../feign/BasicdataWarehouseClient.java | 5 - .../service/IBasicdataWarehouseService.java | 9 +- .../impl/BasicdataWarehouseServiceImpl.java | 136 +++++++++--------- .../DistributionReservationController.java | 13 ++ .../mapper/DistributionReservationMapper.java | 10 +- .../mapper/DistributionReservationMapper.xml | 20 +++ .../IDistributionReservationService.java | 8 ++ .../DistributionReservationServiceImpl.java | 31 ++++ .../java/com/logpm/factory/TestService.java | 11 +- 11 files changed, 161 insertions(+), 95 deletions(-) diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataWarehouseClient.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataWarehouseClient.java index 062fffb5d..e48e09b5f 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataWarehouseClient.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataWarehouseClient.java @@ -128,16 +128,6 @@ public interface IBasicdataWarehouseClient { BasicdataWarehouseEntity getEntityWarehouseId(@RequestParam("warehouseId") Long warehouseId); - /** - * 设置当前用户的仓库,前台是如果这个用户只有一个仓库 - * - * @param deptId - * @param tenantId - * @param userId - * @return - */ - @GetMapping(API_PREFIX + "/addWarehouseSingle") - BasicdataWarehouseEntity addWarehouseSingle(@RequestParam("deptId")String deptId, @RequestParam("tenantId")String tenantId, @RequestParam("userId")Long userId); } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java index 7e66509a3..8aa487b43 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java @@ -91,7 +91,8 @@ public class BasicdataClientController extends BladeController { detail.setLinkman(one.getLinkman()); detail.setPhone(one.getPhone()); } - if(list.size() > 0){ + + if(!list.isEmpty()){ detail.setTypeServiceBusiness(list); } return R.data(detail); diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java index 260737335..159f751a7 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java @@ -169,11 +169,6 @@ public class BasicdataWarehouseClient implements IBasicdataWarehouseClient { return warehouseWarehouseService.getById(warehouseId); } - @Override - @GetMapping(API_PREFIX + "/addWarehouseSingle") - public BasicdataWarehouseEntity addWarehouseSingle(String deptId, String tenantId, Long userId) { - return warehouseWarehouseService.getMyWarehouseList(deptId, tenantId, userId); - } } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java index 79a57f235..1c9ba5405 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java @@ -24,6 +24,7 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.excel.BasicdataWarehouseExcel; import com.logpm.basicdata.vo.BasicdataWarehouseVO; import org.springblade.core.mp.base.BaseService; +import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; import java.util.List; @@ -95,14 +96,6 @@ public interface IBasicdataWarehouseService extends BaseService getMyWarehouseList(); - /** - * 根据相关参数查询用户仓库,如果用户仓库只有一个 将仓库数据写入缓存 - * @param deptId - * @param tenantId - * @param userId - * @return - */ - BasicdataWarehouseEntity getMyWarehouseList(String deptId, String tenantId, Long userId); /** * 保存当前用户选择的仓库至Redis缓存中 diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java index 32f0714c8..c36a9ccc9 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java @@ -18,22 +18,28 @@ package com.logpm.basicdata.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.logpm.basicdata.entity.BasicdataClientUserEntity; +import com.logpm.basicdata.entity.BasicdataStorageServicesEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.excel.BasicdataWarehouseExcel; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.mapper.BasicdataGoodsAreaMapper; +import com.logpm.basicdata.mapper.BasicdataStorageServicesMapper; import com.logpm.basicdata.mapper.BasicdataWarehouseMapper; +import com.logpm.basicdata.service.IBasicdataClientUserService; import com.logpm.basicdata.service.IBasicdataWarehouseService; import com.logpm.basicdata.vo.BasicdataWarehouseVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springblade.common.cache.CacheNames; +import org.springblade.common.constant.DictBizConstant; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.BladeUser; @@ -41,12 +47,14 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; +import org.springblade.system.cache.DictBizCache; import org.springblade.system.entity.Dept; import org.springblade.system.feign.IDeptClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** * 仓库 服务实现类 @@ -69,6 +77,10 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl 一对多 - 递归查询 - 2、登录人部门就是营业部节点 登录人 -- 仓库 -> 一对一 - */ - @Override public List getMyWarehouseList() { Set deptIds = new HashSet<>(); // 获取当前登陆人 BladeUser user = AuthUtil.getUser(); - //查询出部门表 - String deptId = user.getDeptId(); - String[] split = deptId.split(","); - for (String s : split) { - List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(s)); - if (Func.isEmpty(userDeptNode)) { - continue; - } else { - userDeptNode.forEach(u -> { - deptIds.add(u.getId()); - }); - } - } - if(deptIds.isEmpty()){ - return null; - } - return baseMapper.selectList(Wrappers.query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds)); - } - @Override - public BasicdataWarehouseEntity getMyWarehouseList(String deptId, String tenantId, Long userId) { + List results = null; - //查询出部门表 -// List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(deptId)); + String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID); - Set deptIds = new HashSet<>(); -// String deptId = user.getDeptId(); - String[] split = deptId.split(","); - for (String s : split) { - List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(s)); - if (Func.isEmpty(userDeptNode)) { - continue; - } else { - userDeptNode.forEach(u -> { - deptIds.add(u.getId()); - }); + if (user.getRoleId().contains(defaultRoleId)) { + + // 当前这登录的用户为商场用户 + // 根据当前登录人查询商场信息 + List basicdataClientUserEntityListByUserIds = basicdataClientUserService.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId()); + List clientIds = null; + if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) { + clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList()); + } + // 根据商场信息查询商场的服务仓库 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(BasicdataStorageServicesEntity::getClientId, clientIds); + // 得到仓库列表 + List basicdataStorageServicesEntities = basicdataStorageServicesMapper.selectList(lambdaQueryWrapper); + + if (basicdataStorageServicesEntities != null && !basicdataStorageServicesEntities.isEmpty()) { + results = new ArrayList<>(); + for (BasicdataStorageServicesEntity basicdataStorageServicesEntity : basicdataStorageServicesEntities) { + BasicdataWarehouseEntity basicdataWarehouseEntity = new BasicdataWarehouseEntity(); + basicdataWarehouseEntity.setId(basicdataStorageServicesEntity.getServeWarehouseId()); + basicdataWarehouseEntity.setName(basicdataStorageServicesEntity.getServeWarehouseName()); + results.add(basicdataWarehouseEntity); + } } - } + } else { + //查询出部门表 + String deptId = user.getDeptId(); + String[] split = deptId.split(","); + for (String s : split) { + List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(s)); + if (Func.isEmpty(userDeptNode)) { + continue; + } else { + userDeptNode.forEach(u -> { + deptIds.add(u.getId()); + }); + } + } + if (deptIds.isEmpty()) { + return null; + } + results = baseMapper.selectList(Wrappers.query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds)); -// if (Func.isEmpty(userDeptNode)) { -// log.error("userDeptNode用户部门信息有误+{" + userDeptNode + "}"); -// return null; -// } else { -// userDeptNode.forEach(u -> { -// deptIds.add(u.getId()); -// }); -// } - BasicdataWarehouseEntity warehouseEntity = null; - List warehouseEntityList = baseMapper.selectList(Wrappers.query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds)); - if(warehouseEntityList.isEmpty()){ - return warehouseEntity; - } -// String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId())); - if (warehouseEntityList.size() <= 1) { - warehouseEntity = warehouseEntityList.get(0); - String json = JSONObject.toJSONString(warehouseEntity); - redis.setEx(CacheNames.tenantKeyObj(tenantId, CacheNames.USER_WAREHOUSE_KEY, userId), json, 30 * 24 * 60 * 60L); } - return warehouseEntity; + + return results; + + } @@ -246,10 +240,16 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl myWarehouseList = getMyWarehouseList(); + if (myWarehouseList != null) { + if (myWarehouseList.size() == 1) { + return myWarehouseList.get(0); + } + } } BasicdataWarehouseEntity o = JSONObject.parseObject(json, BasicdataWarehouseEntity.class); return o; @@ -298,9 +298,9 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl detailWarehouse() { List list = new ArrayList<>(); BasicdataWarehouseEntity myCurrentWarehouse = getMyCurrentWarehouse(); - if(ObjectUtils.isNotNull(myCurrentWarehouse)){ + if (ObjectUtils.isNotNull(myCurrentWarehouse)) { list.add(myCurrentWarehouse); - }else{ + } else { List myWarehouseList = getMyWarehouseList(); list.addAll(myWarehouseList); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java index 4b4578a50..c2ecd5c08 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java @@ -96,6 +96,19 @@ public class DistributionReservationController extends BladeController { } + /** + * 商场客户预约列表 分页 + */ + @GetMapping("/reservation_list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入distrbutionReservation") + public R> reservationList(@ApiIgnore @RequestParam Map distrbutionReservation, Query query) { + IPage page = Condition.getPage(query); + IPage pages = reservationService.reservationList(page, distrbutionReservation ); + return R.data(pages); + } + + /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java index 69647f53a..78b1057e8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java @@ -199,7 +199,7 @@ public interface DistributionReservationMapper extends BaseMapper selectStockupList(@Param("reservationIds")List ids); @@ -247,4 +247,12 @@ public interface DistributionReservationMapper extends BaseMapper selectAppZeroPackageListByReservationId(@Param("reservationId")Long reservationId); + + /** + * 查询商场客户的预约单 + * @param page + * @param distrbutionReservation + * @return + */ + List reservationList(IPage page, Map distrbutionReservation); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 19dea99e5..8bff30a73 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -1078,4 +1078,24 @@ WHERE ldrs.reservation_id =#{reservationId} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java index 646fd5975..daab296cb 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java @@ -232,4 +232,12 @@ public interface IDistributionReservationService extends BaseService reservationList(IPage page, Map distrbutionReservation); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 9c8de5a09..7ebb73451 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -23,7 +23,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.logpm.basicdata.entity.BasicdataClientUserEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.dto.*; import com.logpm.distribution.entity.*; @@ -199,6 +201,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl selectDistrbutionReservationPage(IPage page, DistributionReservationVO distrbutionReservation) { @@ -3261,4 +3266,30 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl reservationList(IPage page, Map distrbutionReservation) { + + // 查询登陆人 映射的商场ID + List basicdataClientUserEntityListByUserIds = basicdataClientClient.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId()); + List clientIds =null; + if(Func.isNotEmpty(basicdataClientUserEntityListByUserIds)){ + clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList()); + } + + if(ObjectUtil.isEmpty(clientIds)){ + throw new ServiceException("当前登陆人无商场"); + } + distrbutionReservation.put("clientIds",clientIds); + + List distributionReservationEntities =baseMapper.reservationList(page,distrbutionReservation); + List distributionReservationVOS = DistributionReservationWrapper.build().listVO(distributionReservationEntities); + page.setRecords(distributionReservationVOS); + return page; + + + + + } } diff --git a/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java b/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java index 85a1f8479..db5338a2a 100644 --- a/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java +++ b/blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java @@ -33,6 +33,7 @@ import org.apache.commons.io.IOUtils; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.springblade.common.constant.DictBizConstant; import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.FileLogsUtil; import org.springblade.core.oss.model.BladeFile; @@ -43,6 +44,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.StringUtil; import org.springblade.resource.feign.IOssClient; +import org.springblade.system.cache.DictBizCache; import org.springblade.system.cache.DictCache; import org.springblade.system.entity.Dict; import org.springframework.beans.factory.annotation.Autowired; @@ -961,8 +963,13 @@ public class TestService { // 获取字典上配置的不 - List htUseOpShops = DictCache.getList("ht_use_op_shops"); - System.out.println(htUseOpShops); +// List htUseOpShops = DictCache.getList("ht_use_op_shops"); +// System.out.println(htUseOpShops); + String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID); + + System.out.println(defaultRoleId); + + }