Merge #84 into master from cc_20260401_bugfix
feat:装修团队 * cc_20260401_bugfix: (2 commits squashed) - feat:推送数据 - feat:装修团队 Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/84
This commit is contained in:
@@ -249,6 +249,10 @@ public class AddSignFranchiseRequest {
|
||||
@ApiModelProperty("特殊情况说明")
|
||||
private String specialInstruction;
|
||||
|
||||
private Date firstYearStartTime;
|
||||
|
||||
private Date firstYearEndTime;
|
||||
|
||||
|
||||
public SignFranchiseDO toSignFranchiseDO() {
|
||||
SignFranchiseDO signFranchiseDO = new SignFranchiseDO();
|
||||
|
||||
@@ -184,5 +184,7 @@ public class MiniStoreOrderDetailVO {
|
||||
private String expenseTypeCode;
|
||||
|
||||
private BigDecimal defaultQuantity;
|
||||
|
||||
private String optionRemark;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,12 @@ public class MiniStoreWishlistDetailVO {
|
||||
@ApiModelProperty("数量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
private BigDecimal defaultQuantity;
|
||||
|
||||
private String optionUnit;
|
||||
|
||||
private String optionRemark;
|
||||
|
||||
@ApiModelProperty("选项名称")
|
||||
private String optionName;
|
||||
|
||||
|
||||
@@ -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<PreAllocationRecordDO> preAllocationRecordDOS = preAllocationRecordDAO.queryPageByShopId(shopId);
|
||||
List<Date> 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;
|
||||
}
|
||||
|
||||
@@ -428,6 +428,9 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
|
||||
Set<Long> optinIdList = list.stream().map(StoreOrderOptionSnapshotDO::getOptionId).collect(Collectors.toSet());
|
||||
List<StoreTypeOptionDO> storeTypeOptionDOS = storeTypeOptionDAO.selectByIds(new ArrayList<>(optinIdList),orderInfo.getStoreTypeId());
|
||||
|
||||
List<ConfigOptionDO> configOptionDOS = configOptionDAO.listActiveByIds(new ArrayList<>(optinIdList));
|
||||
Map<Long, ConfigOptionDO> doMap = configOptionDOS.stream().collect(Collectors.toMap(ConfigOptionDO::getId, data -> data));
|
||||
|
||||
Map<Long, BigDecimal> defaultQuantityMap = storeTypeOptionDOS.stream().collect(Collectors.toMap(StoreTypeOptionDO::getOptionId, StoreTypeOptionDO::getDefaultQuantity,(existing, replacement) -> existing));
|
||||
List<MiniStoreOrderDetailVO.CategoryVO> categoryVOList = new ArrayList<>();
|
||||
for (Map.Entry<String, Map<String, List<StoreOrderOptionSnapshotDO>>> 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user