소스 검색

解决冲突

zhangchen 1 개월 전
부모
커밋
3ea6a6161a

+ 3 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/StoreMainInfoVo.java

@@ -54,6 +54,9 @@ public class StoreMainInfoVo extends StoreInfo {
     @ApiModelProperty(value = "营业时间(包含节假日信息)")
     List<StoreBusinessInfoVo> storeBusinessInfo;
 
+    @ApiModelProperty(value = "门店营业时间列表(包含节假日信息)")
+    private List<StoreBusinessInfoVo> storeBusinessInfoVos;
+
     @ApiModelProperty(value = "门店头像")
     String headImgUrl;
 

+ 68 - 3
alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StoreBusinessServiceImpl.java

@@ -135,6 +135,7 @@ public class StoreBusinessServiceImpl extends ServiceImpl<StoreInfoMapper, Store
     /** 商户证照历史记录数据访问对象 */
     private final StoreLicenseHistoryMapper licenseHistoryMapper;
 
+    private final EssentialHolidayComparisonMapper essentialHolidayComparisonMapper;
 
     @Value("${spring.web.resources.excel-path}")
     private String excelPath;
@@ -194,7 +195,14 @@ public class StoreBusinessServiceImpl extends ServiceImpl<StoreInfoMapper, Store
         //门店标签
         storeMainInfoVo.setStoreLabel(storeLabelMapper.selectOne(new LambdaQueryWrapper<StoreLabel>().eq(StoreLabel::getStoreId, id)));
         //营业时间
-        storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id)));
+        //storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id)));
+
+        //营业时间(通过 getStoreInfoBusinessHours 方法获取,包含节假日信息)
+        List<StoreBusinessInfoVo> storeBusinessInfoVos = this.getStoreInfoBusinessHoursNew(id);
+        // 设置包含节假日信息的营业时间列表
+        storeMainInfoVo.setStoreBusinessInfoVos(storeBusinessInfoVos);
+
+
         //门店头像
         LambdaQueryWrapper<StoreImg> eq = new LambdaQueryWrapper<StoreImg>().eq(StoreImg::getImgType, 10).eq(StoreImg::getStoreId, id);
         StoreImg storeImg = storeImgMapper.selectOne(eq);
@@ -252,7 +260,14 @@ public class StoreBusinessServiceImpl extends ServiceImpl<StoreInfoMapper, Store
         storeMainInfoVo.setStoreLabel(storeLabelMapper.selectOne(new LambdaQueryWrapper<StoreLabel>().eq(StoreLabel::getStoreId, id)));
         //营业时间
         List<StoreBusinessInfo> storeBusinessInfoList = storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id));
-        storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoList);
+
+
+        //营业时间(通过 getStoreInfoBusinessHours 方法获取,包含节假日信息)
+        List<StoreBusinessInfoVo> storeBusinessInfoVos = this.getStoreInfoBusinessHoursNew(id);
+        // 设置包含节假日信息的营业时间列表
+        storeMainInfoVo.setStoreBusinessInfoVos(storeBusinessInfoVos);
+
+
         //营业执照
         storeMainInfoVo.setBusinessLicenseList(storeImgMapper.selectList(new LambdaQueryWrapper<StoreImg>().eq(StoreImg::getImgType, 14).eq(StoreImg::getStoreId, id)));
         //合同照片
@@ -273,6 +288,50 @@ public class StoreBusinessServiceImpl extends ServiceImpl<StoreInfoMapper, Store
         return storeBusinessInfoList;
     }
 
+
+    public List<StoreBusinessInfoVo> getStoreInfoBusinessHoursNew(Integer id) {
+        // 查询营业时间(包含正常时间和特殊时间)
+        List<StoreBusinessInfo> storeBusinessInfoList = storeBusinessInfoMapper.selectList(
+                new LambdaQueryWrapper<StoreBusinessInfo>()
+                        .eq(StoreBusinessInfo::getStoreId, id)
+                        .eq(StoreBusinessInfo::getDeleteFlag, 0)
+                        .orderByAsc(StoreBusinessInfo::getBusinessType) // 先按类型排序:1-正常时间,2-特殊时间
+                        .orderByAsc(StoreBusinessInfo::getBusinessDate) // 再按日期排序
+        );
+
+        // 转换为 VO 并关联节假日信息
+        // store_business_info 的 essential_id 关联 essential_holiday_comparison 的 id
+        List<StoreBusinessInfoVo> resultList = new ArrayList<>();
+        for (StoreBusinessInfo businessInfo : storeBusinessInfoList) {
+            StoreBusinessInfoVo vo = new StoreBusinessInfoVo();
+            // 复制基本信息
+            BeanUtils.copyProperties(businessInfo, vo);
+
+            // 如果有关联的节假日ID(essential_id),查询 essential_holiday_comparison 表的节假日信息
+            if (businessInfo.getEssentialId() != null && !businessInfo.getEssentialId().trim().isEmpty()) {
+                Integer essentialId = null;
+                try {
+                    essentialId = Integer.parseInt(businessInfo.getEssentialId().trim());
+                    EssentialHolidayComparison holiday = essentialHolidayComparisonMapper.selectById(essentialId);
+                    if (holiday != null) {
+                        vo.setHolidayInfo(holiday);
+                    } else {
+                        log.warn("门店营业时间关联的节假日信息不存在,storeId=" + id + ", essentialId=" + essentialId);
+                    }
+                } catch (NumberFormatException e) {
+                    log.warn("门店营业时间关联的节假日ID格式错误,storeId=" + id + ", essentialId=" + businessInfo.getEssentialId());
+                } catch (Exception e) {
+                    log.error("查询节假日信息失败,storeId=" + id + ", essentialId=" + businessInfo.getEssentialId(), e);
+                }
+            }
+
+            resultList.add(vo);
+        }
+
+        return resultList;
+    }
+
+
     /**
      * 门店信息-修改后展示
      *
@@ -285,7 +344,13 @@ public class StoreBusinessServiceImpl extends ServiceImpl<StoreInfoMapper, Store
         //门店标签
         storeMainInfoVo.setStoreLabel(storeLabelMapper.selectOne(new LambdaQueryWrapper<StoreLabel>().eq(StoreLabel::getStoreId, id)));
         //营业时间
-        storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id)));
+        //storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id)));
+
+        //营业时间(通过 getStoreInfoBusinessHours 方法获取,包含节假日信息)
+        List<StoreBusinessInfoVo> storeBusinessInfoVos = this.getStoreInfoBusinessHoursNew(id);
+        // 设置包含节假日信息的营业时间列表
+        storeMainInfoVo.setStoreBusinessInfoVos(storeBusinessInfoVos);
+
         return storeMainInfoVo;
     }
 

+ 54 - 6
alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StoreManageServiceImpl.java

@@ -13,10 +13,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.dto.StoreInfoDto;
-import shop.alien.entity.store.vo.StoreInfoVo;
-import shop.alien.entity.store.vo.StoreMainInfoVo;
-import shop.alien.entity.store.vo.StoreMenuVo;
-import shop.alien.entity.store.vo.WebSocketVo;
+import shop.alien.entity.store.vo.*;
 import shop.alien.mapper.*;
 import shop.alien.storeplatform.feign.AlienStoreFeign;
 import shop.alien.storeplatform.service.StoreManageService;
@@ -76,6 +73,9 @@ public class StoreManageServiceImpl implements StoreManageService {
 
     private final GaoDeMapApiUtil gaoDeMapApiUtil;
 
+    private final EssentialHolidayComparisonMapper essentialHolidayComparisonMapper;
+
+
     /**
      * 默认店铺密码
      */
@@ -570,8 +570,14 @@ public class StoreManageServiceImpl implements StoreManageService {
                 new LambdaQueryWrapper<StoreBusinessInfo>()
                         .eq(StoreBusinessInfo::getStoreId, id)
         );
-        storeMainInfoVo.setStoreBusinessInfo(businessInfoList);
-        
+        //storeMainInfoVo.setStoreBusinessInfo(businessInfoList);
+
+        //营业时间(通过 getStoreInfoBusinessHours 方法获取,包含节假日信息)
+        List<StoreBusinessInfoVo> storeBusinessInfoVos = this.getStoreInfoBusinessHoursNew1(id);
+        // 设置包含节假日信息的营业时间列表
+        storeMainInfoVo.setStoreBusinessInfoVos(storeBusinessInfoVos);
+
+
         // 11. 查询门店头像(imgType=10)
         StoreImg headImg = storeImgMapper.selectOne(
                 new LambdaQueryWrapper<StoreImg>()
@@ -633,6 +639,48 @@ public class StoreManageServiceImpl implements StoreManageService {
         return storeMainInfoVo;
     }
 
+    public List<StoreBusinessInfoVo> getStoreInfoBusinessHoursNew1(Integer id) {
+        // 查询营业时间(包含正常时间和特殊时间)
+        List<StoreBusinessInfo> storeBusinessInfoList = storeBusinessInfoMapper.selectList(
+                new LambdaQueryWrapper<StoreBusinessInfo>()
+                        .eq(StoreBusinessInfo::getStoreId, id)
+                        .eq(StoreBusinessInfo::getDeleteFlag, 0)
+                        .orderByAsc(StoreBusinessInfo::getBusinessType) // 先按类型排序:1-正常时间,2-特殊时间
+                        .orderByAsc(StoreBusinessInfo::getBusinessDate) // 再按日期排序
+        );
+
+        // 转换为 VO 并关联节假日信息
+        // store_business_info 的 essential_id 关联 essential_holiday_comparison 的 id
+        List<StoreBusinessInfoVo> resultList = new ArrayList<>();
+        for (StoreBusinessInfo businessInfo : storeBusinessInfoList) {
+            StoreBusinessInfoVo vo = new StoreBusinessInfoVo();
+            // 复制基本信息
+            BeanUtils.copyProperties(businessInfo, vo);
+
+            // 如果有关联的节假日ID(essential_id),查询 essential_holiday_comparison 表的节假日信息
+            if (businessInfo.getEssentialId() != null && !businessInfo.getEssentialId().trim().isEmpty()) {
+                Integer essentialId = null;
+                try {
+                    essentialId = Integer.parseInt(businessInfo.getEssentialId().trim());
+                    EssentialHolidayComparison holiday = essentialHolidayComparisonMapper.selectById(essentialId);
+                    if (holiday != null) {
+                        vo.setHolidayInfo(holiday);
+                    } else {
+                        log.warn("门店营业时间关联的节假日信息不存在,storeId=" + id + ", essentialId=" + essentialId);
+                    }
+                } catch (NumberFormatException e) {
+                    log.warn("门店营业时间关联的节假日ID格式错误,storeId=" + id + ", essentialId=" + businessInfo.getEssentialId());
+                } catch (Exception e) {
+                    log.error("查询节假日信息失败,storeId=" + id + ", essentialId=" + businessInfo.getEssentialId(), e);
+                }
+            }
+
+            resultList.add(vo);
+        }
+
+        return resultList;
+    }
+
     @Override
     public String getTodayIncome(Integer storeId) {
         log.info("StoreManageServiceImpl.getTodayIncome - 查询店铺今日收益: storeId={}", storeId);

+ 53 - 1
alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StorePlatformInfoServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.dto.StoreInfoDto;
+import shop.alien.entity.store.vo.StoreBusinessInfoVo;
 import shop.alien.entity.store.vo.StoreMainInfoVo;
 import shop.alien.entity.store.vo.StoreMenuVo;
 import shop.alien.mapper.*;
@@ -56,6 +57,8 @@ public class StorePlatformInfoServiceImpl extends ServiceImpl<StoreInfoMapper, S
 
     private final GaoDeMapUtil gaoDeMapUtil;
 
+    private final EssentialHolidayComparisonMapper essentialHolidayComparisonMapper;
+
     @Override
     public int saveOrUpdateStoreInfo(StoreInfoDto storeInfodto) {
         if (storeInfodto.getId() != null) {
@@ -261,7 +264,13 @@ public class StorePlatformInfoServiceImpl extends ServiceImpl<StoreInfoMapper, S
         //门店标签
         storeMainInfoVo.setStoreLabel(storeLabelMapper.selectOne(new LambdaQueryWrapper<StoreLabel>().eq(StoreLabel::getStoreId, id)));
         //营业时间
-        storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id)));
+        //storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id)));
+
+        //营业时间(通过 getStoreInfoBusinessHours 方法获取,包含节假日信息)
+        List<StoreBusinessInfoVo> storeBusinessInfoVos = this.getStoreInfoBusinessHoursNew(id);
+        // 设置包含节假日信息的营业时间列表
+        storeMainInfoVo.setStoreBusinessInfoVos(storeBusinessInfoVos);
+
         //门店头像
         LambdaQueryWrapper<StoreImg> eq = new LambdaQueryWrapper<StoreImg>().eq(StoreImg::getImgType, 10).eq(StoreImg::getStoreId, id);
         StoreImg storeImg = storeImgMapper.selectOne(eq);
@@ -289,4 +298,47 @@ public class StorePlatformInfoServiceImpl extends ServiceImpl<StoreInfoMapper, S
         return storeMainInfoVo;
     }
 
+
+    public List<StoreBusinessInfoVo> getStoreInfoBusinessHoursNew(Integer id) {
+        // 查询营业时间(包含正常时间和特殊时间)
+        List<StoreBusinessInfo> storeBusinessInfoList = storeBusinessInfoMapper.selectList(
+                new LambdaQueryWrapper<StoreBusinessInfo>()
+                        .eq(StoreBusinessInfo::getStoreId, id)
+                        .eq(StoreBusinessInfo::getDeleteFlag, 0)
+                        .orderByAsc(StoreBusinessInfo::getBusinessType) // 先按类型排序:1-正常时间,2-特殊时间
+                        .orderByAsc(StoreBusinessInfo::getBusinessDate) // 再按日期排序
+        );
+
+        // 转换为 VO 并关联节假日信息
+        // store_business_info 的 essential_id 关联 essential_holiday_comparison 的 id
+        List<StoreBusinessInfoVo> resultList = new ArrayList<>();
+        for (StoreBusinessInfo businessInfo : storeBusinessInfoList) {
+            StoreBusinessInfoVo vo = new StoreBusinessInfoVo();
+            // 复制基本信息
+            BeanUtils.copyProperties(businessInfo, vo);
+
+            // 如果有关联的节假日ID(essential_id),查询 essential_holiday_comparison 表的节假日信息
+            if (businessInfo.getEssentialId() != null && !businessInfo.getEssentialId().trim().isEmpty()) {
+                Integer essentialId = null;
+                try {
+                    essentialId = Integer.parseInt(businessInfo.getEssentialId().trim());
+                    EssentialHolidayComparison holiday = essentialHolidayComparisonMapper.selectById(essentialId);
+                    if (holiday != null) {
+                        vo.setHolidayInfo(holiday);
+                    } else {
+                        log.warn("门店营业时间关联的节假日信息不存在,storeId=" + id + ", essentialId=" + essentialId);
+                    }
+                } catch (NumberFormatException e) {
+                    log.warn("门店营业时间关联的节假日ID格式错误,storeId=" + id + ", essentialId=" + businessInfo.getEssentialId());
+                } catch (Exception e) {
+                    log.error("查询节假日信息失败,storeId=" + id + ", essentialId=" + businessInfo.getEssentialId(), e);
+                }
+            }
+
+            resultList.add(vo);
+        }
+
+        return resultList;
+    }
+
 }

+ 1 - 1
alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/StorePlatformRenovationServiceImpl.java

@@ -96,7 +96,7 @@ public class StorePlatformRenovationServiceImpl extends ServiceImpl<StoreInfoMap
         storeMainInfoVo.setStoreLabel(storeLabelMapper.selectOne(new LambdaQueryWrapper<StoreLabel>().eq(StoreLabel::getStoreId, id)));
         //营业时间
         List<StoreBusinessInfo> storeBusinessInfoList = storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, id));
-        storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoList);
+        //storeMainInfoVo.setStoreBusinessInfo(storeBusinessInfoList);
         //营业执照
         storeMainInfoVo.setBusinessLicenseList(storeImgMapper.selectList(new LambdaQueryWrapper<StoreImg>().eq(StoreImg::getImgType, 14).eq(StoreImg::getStoreId, id)));
         //合同照片