From f784b895cfeb599c6e870be3491f3537e5002505 Mon Sep 17 00:00:00 2001 From: wangff Date: Mon, 27 Oct 2025 16:46:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=A3=85=E4=BF=AE=E9=AA=8C=E6=94=B6?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=97=B6=E8=A6=86=E7=9B=96=E5=BB=BA=E5=BA=97?= =?UTF-8?q?=E8=B5=84=E6=96=99=E9=87=8C=E7=9A=84=E9=97=A8=E5=A4=B4=E7=85=A7?= =?UTF-8?q?=E5=92=8C=E5=86=85=E6=99=AF=E7=85=A7;=E5=BB=BA=E5=BA=97?= =?UTF-8?q?=E8=B5=84=E6=96=99=E9=97=A8=E5=A4=B4=E7=85=A7=E6=88=96=E5=86=85?= =?UTF-8?q?=E6=99=AF=E7=85=A7=E4=B8=BA=E7=A9=BA=E6=97=B6=E5=8F=96=E8=A3=85?= =?UTF-8?q?=E4=BF=AE=E9=AA=8C=E6=94=B6=E7=9A=84=E5=9B=BE;=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E5=8F=B7=E9=97=A8=E5=A4=B4=E7=85=A7=E5=86=85?= =?UTF-8?q?=E6=99=AF=E7=85=A7=E5=85=BC=E5=AE=B9=E9=80=97=E5=8F=B7=E9=9A=94?= =?UTF-8?q?=E5=BC=80=E5=92=8Cjson=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/entity/BuildInformationDO.java | 6 ++++ .../impl/BuildInformationServiceImpl.java | 11 ++++++- .../impl/DecorationDesignInfoServiceImpl.java | 30 ++++++++++++++++--- .../service/impl/SyncDataServiceImpl.java | 12 ++++++++ 4 files changed, 54 insertions(+), 5 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/BuildInformationDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/BuildInformationDO.java index cf19521de..45fc4eb20 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/BuildInformationDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/BuildInformationDO.java @@ -5,7 +5,10 @@ import java.io.Serializable; import java.util.Date; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.Length; import javax.persistence.*; @@ -18,6 +21,9 @@ import javax.validation.constraints.NotBlank; */ @Table(name = "xfsg_build_information") @Data +@AllArgsConstructor +@NoArgsConstructor +@Builder public class BuildInformationDO { @Id diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BuildInformationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BuildInformationServiceImpl.java index 1daeb4fb5..acd630ce4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BuildInformationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/BuildInformationServiceImpl.java @@ -73,6 +73,8 @@ public class BuildInformationServiceImpl implements BuildInformationService { private OrderSysInfoDAO orderSysInfoDAO; @Autowired private BigRegionDAO bigRegionDAO; + @Resource + private AcceptanceInfoDAO acceptanceInfoDAO; @Override @@ -252,7 +254,14 @@ public class BuildInformationServiceImpl implements BuildInformationService { if (StringUtils.isBlank(response.getAddresseeAddress())) { response.setAddresseeAddress(shopInfo.getDetailAddress()); } - + // 不存在的情况下从装修验收中获取 + if (StringUtils.isBlank(response.getDoorPhoto()) || StringUtils.isBlank(response.getInStorePhoto())) { + AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoDAO.selectByShopId(shopId); + if (Objects.nonNull(acceptanceInfoDO)) { + response.setDoorPhoto(StringUtils.isNotBlank(response.getDoorPhoto()) ? response.getDoorPhoto() : acceptanceInfoDO.getShopDoorwayPhoto()); + response.setInStorePhoto(StringUtils.isNotBlank(response.getInStorePhoto()) ? response.getInStorePhoto() : acceptanceInfoDO.getShopInteriorPhoto()); + } + } return response; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java index 03b389bef..6bd8c39f0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java @@ -1,5 +1,7 @@ package com.cool.store.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.cool.store.dao.*; import com.cool.store.entity.*; import com.cool.store.enums.ErrorCodeEnum; @@ -10,14 +12,12 @@ import com.cool.store.exception.ServiceException; import com.cool.store.request.*; import com.cool.store.service.DecorationDesignInfoService; import com.cool.store.utils.poi.StringUtils; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -40,6 +40,8 @@ public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoServ private ShopStageInfoDAO shopStageInfoDAO; @Resource private LineInfoDAO lineInfoDAO; + @Resource + private BuildInformationDAO buildInformationDAO; @Override @Transactional(rollbackFor = Exception.class) @@ -277,8 +279,28 @@ public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoServ if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123); } + // 覆盖建店资料中的门头照和内景照 + BuildInformationDO buildInformation = BuildInformationDO.builder().shopId(request.getShopId()).doorPhoto(buildJson(request.getShopDoorwayPhotoUrl())) + .inStorePhoto(buildJson(request.getShopInteriorPhotoUrl())).build(); + buildInformationDAO.updateByShopIdSelective(buildInformation); return true; } + public String buildJson(List urls) { + if (CollectionUtils.isEmpty(urls)) { + return null; + } + JSONArray jsonArray = new JSONArray(); + for (String url : urls) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url", url); + jsonObject.put("type", extractImageSuffix(url)); + jsonArray.add(jsonObject); + } + return jsonArray.toJSONString(); + } + public String extractImageSuffix(String url) { + return url.substring(url.lastIndexOf(".") + 1); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java index bf79e356f..ac7bb60cd 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java @@ -273,6 +273,18 @@ public class SyncDataServiceImpl implements SyncDataService { } catch (Exception e) { log.info("getUrl error:{},JSON:{}", e.getMessage(), json); } + return getUrlListByComma(json); + } + + private static List getUrlListByComma(String str) { + if (StringUtils.isBlank(str)) { + return null; + } + try { + return Arrays.asList(str.split(",")); + } catch (Exception e) { + log.info("getUrlListByComma error:{},str:{}", e.getMessage(), str); + } return null; }