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("特殊情况说明")
|
@ApiModelProperty("特殊情况说明")
|
||||||
private String specialInstruction;
|
private String specialInstruction;
|
||||||
|
|
||||||
|
private Date firstYearStartTime;
|
||||||
|
|
||||||
|
private Date firstYearEndTime;
|
||||||
|
|
||||||
|
|
||||||
public SignFranchiseDO toSignFranchiseDO() {
|
public SignFranchiseDO toSignFranchiseDO() {
|
||||||
SignFranchiseDO signFranchiseDO = new SignFranchiseDO();
|
SignFranchiseDO signFranchiseDO = new SignFranchiseDO();
|
||||||
|
|||||||
@@ -184,5 +184,7 @@ public class MiniStoreOrderDetailVO {
|
|||||||
private String expenseTypeCode;
|
private String expenseTypeCode;
|
||||||
|
|
||||||
private BigDecimal defaultQuantity;
|
private BigDecimal defaultQuantity;
|
||||||
|
|
||||||
|
private String optionRemark;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,12 @@ public class MiniStoreWishlistDetailVO {
|
|||||||
@ApiModelProperty("数量")
|
@ApiModelProperty("数量")
|
||||||
private BigDecimal quantity;
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
private BigDecimal defaultQuantity;
|
||||||
|
|
||||||
|
private String optionUnit;
|
||||||
|
|
||||||
|
private String optionRemark;
|
||||||
|
|
||||||
@ApiModelProperty("选项名称")
|
@ApiModelProperty("选项名称")
|
||||||
private String optionName;
|
private String optionName;
|
||||||
|
|
||||||
|
|||||||
@@ -245,6 +245,12 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
verifyParams(request);
|
verifyParams(request);
|
||||||
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
|
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
|
||||||
PointInfoDO pointInfoById = pointInfoDAO.getPointInfoById(shopInfoDO.getPointId());
|
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 lockKey = "submitSignFranchise:" + request.getShopId();
|
||||||
//流水
|
//流水
|
||||||
String lockValue = UUID.randomUUID().toString();
|
String lockValue = UUID.randomUUID().toString();
|
||||||
@@ -642,18 +648,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
} else {
|
} else {
|
||||||
//,加盟公司自有店->加盟公司建店 不推送数据 再crm中完成
|
//,加盟公司自有店->加盟公司建店 不推送数据 再crm中完成
|
||||||
//v2.0.0 先确认装修团队
|
//v2.0.0 先确认装修团队
|
||||||
TeamAreaMappingDO city = teamAreaMappingDAO.getByCityId(shopInfoDO.getWantShopAreaId());
|
Long teamId = getTeamId(shopInfoDO);
|
||||||
//默认团队
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
ShopDecorationAssignDO shopDecorationAssignDO = new ShopDecorationAssignDO();
|
ShopDecorationAssignDO shopDecorationAssignDO = new ShopDecorationAssignDO();
|
||||||
shopDecorationAssignDO.setDecorationDescStatus(DecorationDescStatus.TO_BE_ASSIGNED.getCode());
|
shopDecorationAssignDO.setDecorationDescStatus(DecorationDescStatus.TO_BE_ASSIGNED.getCode());
|
||||||
shopDecorationAssignDO.setDecorationTeamId(teamId);
|
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
|
* @param shopId
|
||||||
@@ -1069,6 +1106,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
addSignFranchiseResponse.setCashierFee(franchiseFeeDO.getCashierFee());
|
addSignFranchiseResponse.setCashierFee(franchiseFeeDO.getCashierFee());
|
||||||
addSignFranchiseResponse.setBigCashierFee(Convert.digitToChinese(convertToBig(franchiseFeeDO.getCashierFee())));
|
addSignFranchiseResponse.setBigCashierFee(Convert.digitToChinese(convertToBig(franchiseFeeDO.getCashierFee())));
|
||||||
}
|
}
|
||||||
|
//对于AI店
|
||||||
if (CollectionUtils.isEmpty(linePayList)){
|
if (CollectionUtils.isEmpty(linePayList)){
|
||||||
List<PreAllocationRecordDO> preAllocationRecordDOS = preAllocationRecordDAO.queryPageByShopId(shopId);
|
List<PreAllocationRecordDO> preAllocationRecordDOS = preAllocationRecordDAO.queryPageByShopId(shopId);
|
||||||
List<Date> dateList = preAllocationRecordDOS.stream().map(PreAllocationRecordDO::getCreateTime).collect(Collectors.toList());
|
List<Date> dateList = preAllocationRecordDOS.stream().map(PreAllocationRecordDO::getCreateTime).collect(Collectors.toList());
|
||||||
@@ -1076,9 +1114,13 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
.min(Comparator.naturalOrder())
|
.min(Comparator.naturalOrder())
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
addSignFranchiseResponse.setPayDate(earliestPayTime);
|
addSignFranchiseResponse.setPayDate(earliestPayTime);
|
||||||
|
if (addSignFranchiseResponse.getFirstYearStartTime()==null){
|
||||||
addSignFranchiseResponse.setFirstYearStartTime(earliestPayTime);
|
addSignFranchiseResponse.setFirstYearStartTime(earliestPayTime);
|
||||||
|
}
|
||||||
|
if (addSignFranchiseResponse.getFirstYearEndTime()==null){
|
||||||
addSignFranchiseResponse.setFirstYearEndTime(DateUtils.addDays(DateUtils.addYears(earliestPayTime,1),-1));
|
addSignFranchiseResponse.setFirstYearEndTime(DateUtils.addDays(DateUtils.addYears(earliestPayTime,1),-1));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return addSignFranchiseResponse;
|
return addSignFranchiseResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -428,6 +428,9 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
|
|||||||
Set<Long> optinIdList = list.stream().map(StoreOrderOptionSnapshotDO::getOptionId).collect(Collectors.toSet());
|
Set<Long> optinIdList = list.stream().map(StoreOrderOptionSnapshotDO::getOptionId).collect(Collectors.toSet());
|
||||||
List<StoreTypeOptionDO> storeTypeOptionDOS = storeTypeOptionDAO.selectByIds(new ArrayList<>(optinIdList),orderInfo.getStoreTypeId());
|
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));
|
Map<Long, BigDecimal> defaultQuantityMap = storeTypeOptionDOS.stream().collect(Collectors.toMap(StoreTypeOptionDO::getOptionId, StoreTypeOptionDO::getDefaultQuantity,(existing, replacement) -> existing));
|
||||||
List<MiniStoreOrderDetailVO.CategoryVO> categoryVOList = new ArrayList<>();
|
List<MiniStoreOrderDetailVO.CategoryVO> categoryVOList = new ArrayList<>();
|
||||||
for (Map.Entry<String, Map<String, List<StoreOrderOptionSnapshotDO>>> cEntry : groupMap.entrySet()) {
|
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.setImageUrl(v.getImageUrl());
|
||||||
ovo.setExpenseTypeCode(v.getExpenseTypeCode());
|
ovo.setExpenseTypeCode(v.getExpenseTypeCode());
|
||||||
ovo.setDefaultQuantity(defaultQuantityMap.get(v.getOptionId()));
|
ovo.setDefaultQuantity(defaultQuantityMap.get(v.getOptionId()));
|
||||||
|
ConfigOptionDO configOptionDO = doMap.getOrDefault(v.getOptionId(),new ConfigOptionDO());
|
||||||
|
ovo.setOptionRemark(configOptionDO.getOptionRemark());
|
||||||
return ovo;
|
return ovo;
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@@ -1929,6 +1934,8 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
|
|||||||
item.setImageUrl(cfg.getImageUrl());
|
item.setImageUrl(cfg.getImageUrl());
|
||||||
item.setCategoryCode(cfg.getCategoryCode());
|
item.setCategoryCode(cfg.getCategoryCode());
|
||||||
item.setItemCode(cfg.getItemCode());
|
item.setItemCode(cfg.getItemCode());
|
||||||
|
item.setOptionUnit(cfg.getOptionUnit());
|
||||||
|
item.setOptionRemark(cfg.getOptionRemark());
|
||||||
}
|
}
|
||||||
if (storeTypeOptionDO != null && cfg != null) {
|
if (storeTypeOptionDO != null && cfg != null) {
|
||||||
BigDecimal price = storeTypeOptionDO.getOptionPrice();
|
BigDecimal price = storeTypeOptionDO.getOptionPrice();
|
||||||
@@ -1944,6 +1951,7 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
|
|||||||
item.setTotalPrice(amount);
|
item.setTotalPrice(amount);
|
||||||
item.setCategoryName(categoryCodeMap.get(storeTypeOptionDO.getCategoryCode()));
|
item.setCategoryName(categoryCodeMap.get(storeTypeOptionDO.getCategoryCode()));
|
||||||
item.setItemName(itemCodeMap.get(storeTypeOptionDO.getItemCode()));
|
item.setItemName(itemCodeMap.get(storeTypeOptionDO.getItemCode()));
|
||||||
|
item.setDefaultQuantity(storeTypeOptionDO.getDefaultQuantity());
|
||||||
}
|
}
|
||||||
list.add(item);
|
list.add(item);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user