diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java index cd775f7a5..cde061488 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -249,6 +249,10 @@ public class AddSignFranchiseRequest { @ApiModelProperty("特殊情况说明") private String specialInstruction; + private Date firstYearStartTime; + + private Date firstYearEndTime; + public SignFranchiseDO toSignFranchiseDO() { SignFranchiseDO signFranchiseDO = new SignFranchiseDO(); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreOrderDetailVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreOrderDetailVO.java index a71a70539..28231aef1 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreOrderDetailVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreOrderDetailVO.java @@ -184,5 +184,7 @@ public class MiniStoreOrderDetailVO { private String expenseTypeCode; private BigDecimal defaultQuantity; + + private String optionRemark; } } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreWishlistDetailVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreWishlistDetailVO.java index ef580352b..391c3795d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreWishlistDetailVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreWishlistDetailVO.java @@ -58,6 +58,12 @@ public class MiniStoreWishlistDetailVO { @ApiModelProperty("数量") private BigDecimal quantity; + private BigDecimal defaultQuantity; + + private String optionUnit; + + private String optionRemark; + @ApiModelProperty("选项名称") private String optionName; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 6ede7871e..5668bc700 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -245,6 +245,12 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu verifyParams(request); ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); PointInfoDO pointInfoById = pointInfoDAO.getPointInfoById(shopInfoDO.getPointId()); + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(request.getShopId()); + if (franchiseFeeDO!=null&&franchiseFeeDO.getFirstYearStartTime()!=null&&franchiseFeeDO.getFirstYearEndTime()!=null){ + franchiseFeeDO.setFirstYearStartTime(request.getFirstYearStartTime()); + franchiseFeeDO.setFirstYearEndTime(request.getFirstYearEndTime()); + franchiseFeeMapper.updateByPrimaryKeySelective(franchiseFeeDO); + } String lockKey = "submitSignFranchise:" + request.getShopId(); //流水 String lockValue = UUID.randomUUID().toString(); @@ -642,18 +648,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } else { //,加盟公司自有店->加盟公司建店 不推送数据 再crm中完成 //v2.0.0 先确认装修团队 - TeamAreaMappingDO city = teamAreaMappingDAO.getByCityId(shopInfoDO.getWantShopAreaId()); - //默认团队 - Long teamId = 1L; - if (Objects.nonNull(city)) { - //v2.0.0 确认团队 - DecorationTeamConfigDO decorationTeamConfigDO = decorationTeamConfigDAO.getById(city.getTeamId()); - if (Objects.nonNull(decorationTeamConfigDO)) { - //v2.0.0 确认团队 - teamId = decorationTeamConfigDO.getId(); - } - - } + Long teamId = getTeamId(shopInfoDO); ShopDecorationAssignDO shopDecorationAssignDO = new ShopDecorationAssignDO(); shopDecorationAssignDO.setDecorationDescStatus(DecorationDescStatus.TO_BE_ASSIGNED.getCode()); shopDecorationAssignDO.setDecorationTeamId(teamId); @@ -720,6 +715,48 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } + /** + * 获取装修团队 + * @param shopInfoDO + * @return + */ + private Long getTeamId(ShopInfoDO shopInfoDO) { + // 标准店统一使用默认立规团队 + if (isStandardStore(shopInfoDO)) { + log.info("标准店使用默认团队, 门店名称: {}", shopInfoDO.getShopName()); + return getDefaultTeamId(); + } + + // 根据城市获取团队 + TeamAreaMappingDO cityMapping = teamAreaMappingDAO.getByCityId(shopInfoDO.getWantShopAreaId()); + if (cityMapping == null) { + log.warn("未找到城市映射, cityId: {}, 使用默认团队", shopInfoDO.getWantShopAreaId()); + return getDefaultTeamId(); + } + + DecorationTeamConfigDO teamConfig = decorationTeamConfigDAO.getById(cityMapping.getTeamId()); + if (teamConfig == null) { + log.warn("未找到团队配置, teamId: {}, 使用默认团队", cityMapping.getTeamId()); + return getDefaultTeamId(); + } + + return teamConfig.getId(); + } + + /** + * 判断是否为标准店 + */ + private boolean isStandardStore(ShopInfoDO shopInfoDO) { + return shopInfoDO != null && Integer.valueOf(1).equals(shopInfoDO.getUseStandardStore()); + } + + /** + * 获取默认团队ID + */ + private Long getDefaultTeamId() { + return 1L; + } + /** * 推送合同信息请求 * @param shopId @@ -1069,6 +1106,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu addSignFranchiseResponse.setCashierFee(franchiseFeeDO.getCashierFee()); addSignFranchiseResponse.setBigCashierFee(Convert.digitToChinese(convertToBig(franchiseFeeDO.getCashierFee()))); } + //对于AI店 if (CollectionUtils.isEmpty(linePayList)){ List preAllocationRecordDOS = preAllocationRecordDAO.queryPageByShopId(shopId); List dateList = preAllocationRecordDOS.stream().map(PreAllocationRecordDO::getCreateTime).collect(Collectors.toList()); @@ -1076,8 +1114,12 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu .min(Comparator.naturalOrder()) .orElse(null); addSignFranchiseResponse.setPayDate(earliestPayTime); - addSignFranchiseResponse.setFirstYearStartTime(earliestPayTime); - addSignFranchiseResponse.setFirstYearEndTime(DateUtils.addDays(DateUtils.addYears(earliestPayTime,1),-1)); + if (addSignFranchiseResponse.getFirstYearStartTime()==null){ + addSignFranchiseResponse.setFirstYearStartTime(earliestPayTime); + } + if (addSignFranchiseResponse.getFirstYearEndTime()==null){ + addSignFranchiseResponse.setFirstYearEndTime(DateUtils.addDays(DateUtils.addYears(earliestPayTime,1),-1)); + } } return addSignFranchiseResponse; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/order/impl/MiniStoreOrderServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/order/impl/MiniStoreOrderServiceImpl.java index 69485b73c..2efaaf1da 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/order/impl/MiniStoreOrderServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/order/impl/MiniStoreOrderServiceImpl.java @@ -428,6 +428,9 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService { Set optinIdList = list.stream().map(StoreOrderOptionSnapshotDO::getOptionId).collect(Collectors.toSet()); List storeTypeOptionDOS = storeTypeOptionDAO.selectByIds(new ArrayList<>(optinIdList),orderInfo.getStoreTypeId()); + List configOptionDOS = configOptionDAO.listActiveByIds(new ArrayList<>(optinIdList)); + Map doMap = configOptionDOS.stream().collect(Collectors.toMap(ConfigOptionDO::getId, data -> data)); + Map defaultQuantityMap = storeTypeOptionDOS.stream().collect(Collectors.toMap(StoreTypeOptionDO::getOptionId, StoreTypeOptionDO::getDefaultQuantity,(existing, replacement) -> existing)); List categoryVOList = new ArrayList<>(); for (Map.Entry>> cEntry : groupMap.entrySet()) { @@ -457,6 +460,8 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService { ovo.setImageUrl(v.getImageUrl()); ovo.setExpenseTypeCode(v.getExpenseTypeCode()); ovo.setDefaultQuantity(defaultQuantityMap.get(v.getOptionId())); + ConfigOptionDO configOptionDO = doMap.getOrDefault(v.getOptionId(),new ConfigOptionDO()); + ovo.setOptionRemark(configOptionDO.getOptionRemark()); return ovo; }) .collect(Collectors.toList()); @@ -1929,6 +1934,8 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService { item.setImageUrl(cfg.getImageUrl()); item.setCategoryCode(cfg.getCategoryCode()); item.setItemCode(cfg.getItemCode()); + item.setOptionUnit(cfg.getOptionUnit()); + item.setOptionRemark(cfg.getOptionRemark()); } if (storeTypeOptionDO != null && cfg != null) { BigDecimal price = storeTypeOptionDO.getOptionPrice(); @@ -1944,6 +1951,7 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService { item.setTotalPrice(amount); item.setCategoryName(categoryCodeMap.get(storeTypeOptionDO.getCategoryCode())); item.setItemName(itemCodeMap.get(storeTypeOptionDO.getItemCode())); + item.setDefaultQuantity(storeTypeOptionDO.getDefaultQuantity()); } list.add(item); }