diff --git a/coolstore-partner-dao/src/main/resources/mapper/OrderSysInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/OrderSysInfoMapper.xml
index 0cce6a722..80e841338 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/OrderSysInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/OrderSysInfoMapper.xml
@@ -17,6 +17,7 @@
+
@@ -37,6 +38,7 @@
addressee_district, addressee_address, declare_goods_logistics_warehouse, declare_goods_date,
warehouse_delivery_date, order_create_time, order_update_time, order_create_user, order_update_user,
receiving_firm_name, receiving_ms_bank_account, receiving_ms_bank_branch, bank_unionPay_account,
- receiving_create_time, receiving_update_time, receiving_create_user, receiving_update_user
+ receiving_create_time, receiving_update_time, receiving_create_user, receiving_update_user,
+ declare_goods_type
\ No newline at end of file
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/DeclareGoodsDateDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/DeclareGoodsDateDTO.java
new file mode 100644
index 000000000..be9cfb30c
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/DeclareGoodsDateDTO.java
@@ -0,0 +1,20 @@
+package com.cool.store.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author: WangShuo
+ * @Date: 2025/04/16/20:46
+ * @Version 1.0
+ * @注释:
+ */
+@Data
+public class DeclareGoodsDateDTO {
+
+ @ApiModelProperty(value = "报货日期,例如:星期一(星期六,星期天)/每月1号")
+ private String declareGoods;
+
+ @ApiModelProperty(value = "报货日期,例如:星期一(星期六,星期天)/每月1号")
+ private String deliverGoods;
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/OrderSysInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/OrderSysInfoDO.java
index 6a8f76910..fcf946e2d 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/entity/OrderSysInfoDO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/OrderSysInfoDO.java
@@ -58,6 +58,10 @@ public class OrderSysInfoDO {
@Column(name = "declare_goods_logistics_warehouse")
private String declareGoodsLogisticsWarehouse;
+ /** 报货类型 */
+ @Column(name = "declare_goods_type")
+ private String declareGoodsType;
+
/** 报货日期 */
@Column(name = "declare_goods_date")
private String declareGoodsDate;
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSysInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSysInfoRequest.java
index 1e0e6eab7..9d2f94bd0 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSysInfoRequest.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSysInfoRequest.java
@@ -48,7 +48,10 @@ public class OrderSysInfoRequest {
@ApiModelProperty(value = "报货物流仓库(编码)" )
private String declareGoodsLogisticsWarehouse;
- @ApiModelProperty(value = "报货日期" )
+ @ApiModelProperty(value = "报货类型 0-按周报货 1-按月报货 2-自提" )
+ private String declareGoodsType;
+
+ @ApiModelProperty(value = "报货日期 数组格式\"[{ 报货日期 \"declareGoods\": \"\",送货日期\"deliverGoods\":\"\"}]" )
private String declareGoodsDate;
@ApiModelProperty(value = "仓库配送日期" )
@@ -101,6 +104,7 @@ public class OrderSysInfoRequest {
orderSysInfoDO.setAddresseeDistrict(this.addresseeDistrict);
orderSysInfoDO.setAddresseeAddress(this.addresseeAddress);
orderSysInfoDO.setDeclareGoodsLogisticsWarehouse(this.declareGoodsLogisticsWarehouse);
+ orderSysInfoDO.setDeclareGoodsType(this.declareGoodsType);
orderSysInfoDO.setDeclareGoodsDate(this.declareGoodsDate);
orderSysInfoDO.setWarehouseDeliveryDate(this.warehouseDeliveryDate);
@@ -113,7 +117,8 @@ public class OrderSysInfoRequest {
}
public Boolean check(){
if (Objects.equals(this.type, OrderSysTypeEnum.ORDER_SYS_TYPE_1.getType())){
- if (StringUtils.isAnyBlank(this.xgjRegionId,this.xgjVicePresident,this.declareGoodsDate,this.declareGoodsLogisticsWarehouse,this.warehouseDeliveryDate)){
+ //todo
+ if (StringUtils.isAnyBlank(this.xgjRegionId,this.xgjVicePresident,this.declareGoodsDate,this.declareGoodsLogisticsWarehouse)){
return false;
}
}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ZxjpApiRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ZxjpApiRequest.java
index 40d2a7240..aae46d8db 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/ZxjpApiRequest.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ZxjpApiRequest.java
@@ -1,5 +1,6 @@
package com.cool.store.request;
+import com.cool.store.dto.DeclareGoodsDateDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -191,11 +192,11 @@ public class ZxjpApiRequest {
@ApiModelProperty(value = "报货物流仓库(编码)")
private String declareGoodsLogisticsWarehouse ;
- @ApiModelProperty(value = "报货日期")
- private String declareGoodsDate ;
+ @ApiModelProperty(value = "报货类型 0-按周报货 1-按月报货 2-自提" )
+ private String declareGoodsType;
- @ApiModelProperty(value = "仓库配送日期")
- private String warehouseDeliveryDate ;
+ @ApiModelProperty(value = "报货日期" )
+ private List declareGoodsDate;
@ApiModelProperty(value = "收款公司名称")
private String receivingFirmName;
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/BuildInformationResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/BuildInformationResponse.java
index 25a79cd23..f20fa9343 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/response/BuildInformationResponse.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/response/BuildInformationResponse.java
@@ -150,7 +150,10 @@ public class BuildInformationResponse {
@ApiModelProperty(value = "报货物流仓库" )
private String declareGoodsLogisticsWarehouseName;
- @ApiModelProperty(value = "报货日期" )
+ @ApiModelProperty(value = "报货类型 0-按周报货 1-按月报货 2-自提" )
+ private String declareGoodsType;
+
+ @ApiModelProperty(value = "报货日期 数组格式\"[{ 报货日期declareGoods: \"\",送货日期deliverGoods:\"\"}]" )
private String declareGoodsDate;
@ApiModelProperty(value = "仓库配送日期" )
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java
index ae97d7e23..df9a8c432 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java
@@ -69,6 +69,7 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService {
orderSysInfoDO.setAddresseeDistrict(request.getAddresseeDistrict());
orderSysInfoDO.setAddresseeAddress(request.getAddresseeAddress());
orderSysInfoDO.setDeclareGoodsLogisticsWarehouse(request.getDeclareGoodsLogisticsWarehouse());
+ orderSysInfoDO.setDeclareGoodsType(request.getDeclareGoodsType());
orderSysInfoDO.setDeclareGoodsDate(request.getDeclareGoodsDate());
orderSysInfoDO.setWarehouseDeliveryDate(request.getWarehouseDeliveryDate());
if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus())) {
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java
index 2c64091d4..632e35444 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java
@@ -340,8 +340,7 @@ public class PointServiceImpl implements PointService {
private Boolean checkIsAudit(PointInfoDO pointInfo, PointDetailInfoDO pointDetailInfoDO) {
if (StringUtils.isAnyBlank(pointInfo.getPointArea(), pointInfo.getLatitude(),
pointInfo.getLongitude(), pointInfo.getAddress(), pointInfo.getProvince(), pointInfo.getCity(),
- pointInfo.getDistrict(), pointInfo.getTownship(), pointInfo.getOpportunityPointCode(), pointInfo.getOpportunityPointName()
- , pointInfo.getProvinceCode(), pointInfo.getCityCode(), pointInfo.getDistrictCode(), pointDetailInfoDO.getMonthRent()
+ pointInfo.getDistrict(), pointDetailInfoDO.getMonthRent()
, pointDetailInfoDO.getLandlordMobile())) {
return false;
}
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 b7669e703..3f0acebbe 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
@@ -4,6 +4,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.dto.DeclareGoodsDateDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.DownSystemTypeEnum;
import com.cool.store.enums.ErrorCodeEnum;
@@ -13,8 +14,11 @@ import com.cool.store.mapper.ApplyLicenseMapper;
import com.cool.store.mapper.SignFranchiseMapper;
import com.cool.store.request.ZxjpApiRequest;
import com.cool.store.service.SyncDataService;
+import com.cool.store.utils.JSONUtils;
+import com.cool.store.utils.JsonUtils;
import com.cool.store.utils.poi.StringUtils;
import com.cool.store.utils.poi.constant.Constants;
+import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -140,8 +144,8 @@ public class SyncDataServiceImpl implements SyncDataService {
request.setAddresseeDistrict(orderSysInfoDO.getAddresseeDistrict());
request.setAddresseeAddress(orderSysInfoDO.getAddresseeAddress());
request.setDeclareGoodsLogisticsWarehouse(orderSysInfoDO.getDeclareGoodsLogisticsWarehouse());
- request.setDeclareGoodsDate(orderSysInfoDO.getDeclareGoodsDate());
- request.setWarehouseDeliveryDate(orderSysInfoDO.getWarehouseDeliveryDate());
+ request.setDeclareGoodsType(orderSysInfoDO.getDeclareGoodsType());
+ request.setDeclareGoodsDate(JSONUtils.parseToListOrMap(orderSysInfoDO.getDeclareGoodsDate(), new TypeReference>() {}));
request.setReceivingFirmName(orderSysInfoDO.getReceivingFirmName());
request.setReceivingMSBankAccount(orderSysInfoDO.getReceivingMsBankAccount());
request.setReceivingMSBankBranch(orderSysInfoDO.getReceivingMsBankBranch());
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/JSONUtils.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/JSONUtils.java
new file mode 100644
index 000000000..bd6a509cf
--- /dev/null
+++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/JSONUtils.java
@@ -0,0 +1,66 @@
+package com.cool.store.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class JSONUtils {
+
+ // 创建 ObjectMapper 实例(建议单例)
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+
+ /**
+ * 将 JSON 字符串解析为指定类型的对象
+ *
+ * @param jsonString JSON 字符串
+ * @param clazz 目标类型的 Class 对象
+ * @param 泛型类型
+ * @return 转换后的对象
+ */
+ public static T parseToObject(String jsonString, Class clazz) {
+ if (StringUtil.isBlank(jsonString) || clazz == null){
+ return null;
+ }
+ try {
+ return objectMapper.readValue(jsonString, clazz);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException("JSON 解析失败", e);
+ }
+ }
+
+ /**
+ * 将 JSON 字符串解析为指定类型的对象列表
+ *
+ * @param jsonString JSON 字符串
+ * @param typeRef TypeReference,用于描述复杂类型(如 List)
+ * @param 泛型类型
+ * @return 转换后的对象列表
+ */
+ public static T parseToListOrMap(String jsonString, TypeReference typeRef) {
+ if (StringUtil.isBlank(jsonString) || typeRef == null){
+ return null;
+ }
+ try {
+ return objectMapper.readValue(jsonString, typeRef);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException("JSON 解析失败", e);
+ }
+ }
+
+ /**
+ * 将对象转换为 JSON 字符串
+ *
+ * @param object 待转换的对象
+ * @return JSON 字符串
+ */
+ public static String toJsonString(Object object) {
+ if (object == null){
+ return null;
+ }
+ try {
+ return objectMapper.writeValueAsString(object);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException("对象转 JSON 失败", e);
+ }
+ }
+}
\ No newline at end of file