|
@@ -1,7 +1,10 @@
|
|
|
package edu.travel.warehouse.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import edu.travel.adapter.service.country.CountryAdapter;
|
|
|
+import edu.travel.adapter.service.tenant.TenantAdapter;
|
|
|
import edu.travel.dto.ShopWarehouseDto;
|
|
|
import edu.travel.rpc.RPCBaseResponse;
|
|
|
import edu.travel.service.SysServiceImpl;
|
|
@@ -21,13 +24,15 @@ import java.util.stream.Collectors;
|
|
|
public class ShopWarehouseServiceImpl extends SysServiceImpl<ShopWarehouseMapper, ShopWarehouse> implements ShopWarehouseService {
|
|
|
@Autowired
|
|
|
private CountryAdapter countryAdapter;
|
|
|
+ @Autowired
|
|
|
+ private ShopWarehouseMapper shopWarehouseMapper;
|
|
|
/**
|
|
|
- * 获取仓库国家分页数据
|
|
|
+ * 树形结构查询(连表)
|
|
|
* @param dto
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public RPCBaseResponse<List<ShopWarehouseVo>> getWarehouseCountryPageForm(ShopWarehouseDto dto) {
|
|
|
+ public RPCBaseResponse<List<ShopWarehouseVo>> getWarehouseCountryForm(ShopWarehouseDto dto) {
|
|
|
// 查询所有库房数据
|
|
|
LambdaQueryWrapper<ShopWarehouse> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
List<ShopWarehouse> shopWarehouseList = super.getListLink(queryWrapper);
|
|
@@ -95,5 +100,58 @@ public class ShopWarehouseServiceImpl extends SysServiceImpl<ShopWarehouseMapper
|
|
|
return new RPCBaseResponse<>(200, "SUCCESS", tree);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public RPCBaseResponse<IPage<ShopWarehouseVo>> getWarehouseCountryPageForm(ShopWarehouseDto dto) {
|
|
|
+ // 创建分页对象
|
|
|
+ Page<ShopWarehouseVo> shopWarehousePage = new Page<>(dto.getCurrentPage(), dto.getPageSize());
|
|
|
+
|
|
|
+ // 计算 OFFSET
|
|
|
+ int offset = (int) ((dto.getCurrentPage() - 1) * dto.getPageSize());
|
|
|
+
|
|
|
+ // 创建查询包装器
|
|
|
+ LambdaQueryWrapper<ShopWarehouse> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+
|
|
|
+ // 动态添加查询条件
|
|
|
+ if (dto.getWarehouseName() != null && !dto.getWarehouseName().isEmpty()) {
|
|
|
+ queryWrapper.like(ShopWarehouse::getWarehouseName, dto.getWarehouseName());
|
|
|
+ }
|
|
|
+ if (dto.getCreateTime() != null) {
|
|
|
+ queryWrapper.ge(ShopWarehouse::getCreateTime, dto.getCreateTime());
|
|
|
+ }
|
|
|
+ if (dto.getParentId() != null) {
|
|
|
+ queryWrapper.eq(ShopWarehouse::getParentId, dto.getParentId());
|
|
|
+ }
|
|
|
+ if (dto.getDetailedAddress() != null && !dto.getDetailedAddress().isEmpty()) {
|
|
|
+ queryWrapper.like(ShopWarehouse::getDetailedAddress, dto.getDetailedAddress());
|
|
|
+ }
|
|
|
+ if (dto.getStatus() != null) {
|
|
|
+ queryWrapper.eq(ShopWarehouse::getStatus, dto.getStatus());
|
|
|
+ }
|
|
|
+ queryWrapper.eq(ShopWarehouse::getDeleteFlag, 0); // 查询未删除的记录
|
|
|
+
|
|
|
+ // 执行查询,获取分页的库房数据
|
|
|
+ List<ShopWarehouseVo> warehouseList = shopWarehouseMapper.selectWarehouseWithCountry(
|
|
|
+ dto.getWarehouseName(),
|
|
|
+ dto.getStatus(),
|
|
|
+ dto.getParentId(),
|
|
|
+ dto.getPageSize(),
|
|
|
+ offset
|
|
|
+ );
|
|
|
+
|
|
|
+ // 计算总记录数
|
|
|
+ int total = shopWarehouseMapper.countWarehouseWithCountry(dto.getWarehouseName(), dto.getStatus(), dto.getParentId());
|
|
|
+
|
|
|
+ // 创建新的分页对象用于存储 ShopWarehouseVo
|
|
|
+ IPage<ShopWarehouseVo> pageVoLink = new Page<>();
|
|
|
+ pageVoLink.setRecords(warehouseList); // 设置转换后的记录列表
|
|
|
+ pageVoLink.setTotal(total); // 设置总条数
|
|
|
+ pageVoLink.setCurrent(shopWarehousePage.getCurrent()); // 设置当前页
|
|
|
+ pageVoLink.setSize(shopWarehousePage.getSize()); // 设置每页大小
|
|
|
+
|
|
|
+ // 封装返回
|
|
|
+ return new RPCBaseResponse<>(200, "SUCCESS", pageVoLink);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|