From 34f46d97ee32128c98fdb41e001665e9b93623fd Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 24 Jul 2025 15:24:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E4=BF=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/point/ShopSubStageStatusEnum.java | 1 + .../resources/mapper/AcceptanceInfoMapper.xml | 2 + .../mapper/DecorationDesignInfoMapper.xml | 2 + .../cool/store/entity/AcceptanceInfoDO.java | 25 ++- .../store/entity/DecorationDesignInfoDO.java | 4 + .../store/entity/DecorationMeasureDO.java | 4 +- .../request/ConfirmQuotationRequest.java | 18 ++ .../request/ConstructionCompletedRequest.java | 19 ++ .../request/ConstructionOrderRequest.java | 25 +++ .../request/EntryConfirmationRequest.java | 25 +++ .../cool/store/request/HqtBuildRequest.java | 24 ++ .../HqtDecorationAcceptanceRequest.java | 36 +++ .../request/HqtPartnerAcceptanceRequest.java | 17 ++ .../store/request/ThreeAcceptanceRequest.java | 2 +- .../response/DecorationDesignResponse.java | 45 ++++ .../cool/store/response/MeasureResponse.java | 38 ++++ .../store/response/ThreeSignResponse.java | 29 ++- .../com/cool/store/vo/ConstructionDataVO.java | 32 +-- .../service/DecorationDesignInfoService.java | 31 ++- .../service/DecorationMeasureService.java | 7 + .../cool/store/service/DecorationService.java | 3 +- .../com/cool/store/service/HqtAPIService.java | 22 +- .../impl/DecorationDesignInfoServiceImpl.java | 154 +++++++++++-- .../impl/DecorationMeasureServiceImpl.java | 35 ++- .../service/impl/DecorationServiceImpl.java | 206 ++++++++++-------- .../store/service/impl/HqtAPIServiceImpl.java | 13 ++ .../controller/webb/OpenApiController.java | 34 +++ .../webb/PCDecorationController.java | 10 +- .../webc/MiniDecorationController.java | 8 +- 29 files changed, 713 insertions(+), 158 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/ConfirmQuotationRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionCompletedRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionOrderRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/EntryConfirmationRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/HqtDecorationAcceptanceRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/HqtPartnerAcceptanceRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/response/DecorationDesignResponse.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/response/MeasureResponse.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java index 43e2cb4c6..75f06fbe0 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java @@ -67,6 +67,7 @@ public enum ShopSubStageStatusEnum { //施工阶段 SHOP_SUB_STAGE_STATUS_110(ShopSubStageEnum.SHOP_STAGE_11, 1100, "待提交", Boolean.FALSE), + SHOP_SUB_STAGE_STATUS_110_5(ShopSubStageEnum.SHOP_STAGE_11, 1105, "待进场", Boolean.FALSE), SHOP_SUB_STAGE_STATUS_111(ShopSubStageEnum.SHOP_STAGE_11, 1110, "施工中", Boolean.FALSE), SHOP_SUB_STAGE_STATUS_112(ShopSubStageEnum.SHOP_STAGE_11, 1120, "已完成", Boolean.TRUE), diff --git a/coolstore-partner-dao/src/main/resources/mapper/AcceptanceInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/AcceptanceInfoMapper.xml index 438ad36d3..ddb240f27 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/AcceptanceInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/AcceptanceInfoMapper.xml @@ -31,6 +31,8 @@ + + id diff --git a/coolstore-partner-dao/src/main/resources/mapper/DecorationDesignInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/DecorationDesignInfoMapper.xml index 58dcbecb5..16b3ee3ab 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/DecorationDesignInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/DecorationDesignInfoMapper.xml @@ -34,6 +34,8 @@ + + update xfsg_decoration_design_info diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/AcceptanceInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/AcceptanceInfoDO.java index 1fdd1d86e..832582e92 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/AcceptanceInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/AcceptanceInfoDO.java @@ -1,5 +1,6 @@ package com.cool.store.entity; +import java.math.BigDecimal; import java.util.Date; import javax.persistence.*; @@ -127,7 +128,7 @@ public class AcceptanceInfoDO { @Column(name = "shop_interior_photo") private String shopInteriorPhoto; - /**满意度0-低,1-中,2-高', */ + /**满意度0-低,1-中,2-高', 3-差,4-一般,5-好,6-非常好*/ @Column(name = "satisfaction") private Integer satisfaction; /** @@ -144,6 +145,28 @@ public class AcceptanceInfoDO { @Column(name = "back_kitchen_photo") private String backKitchenPhoto; + @Column(name = "add_reduce_amount") + private BigDecimal addReduceAmount; + + @Column(name = "delivery_order_id") + private String deliveryOrderId; + + public String getDeliveryOrderId() { + return deliveryOrderId; + } + + public void setDeliveryOrderId(String deliveryOrderId) { + this.deliveryOrderId = deliveryOrderId; + } + + public BigDecimal getAddReduceAmount() { + return addReduceAmount; + } + + public void setAddReduceAmount(BigDecimal addReduceAmount) { + this.addReduceAmount = addReduceAmount; + } + public Boolean getIsNetworkCable() { return isNetworkCable; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationDesignInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationDesignInfoDO.java index ee206895e..fe3a2bd61 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationDesignInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationDesignInfoDO.java @@ -145,4 +145,8 @@ public class DecorationDesignInfoDO { private String quotationSheetId; @Column(name = "quoter") private String quoter; + @Column(name = "construction_order_id") + private String constructionOrderId; + @Column(name = "actual_entry_time") + private Date actualEntryTime; } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationMeasureDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationMeasureDO.java index 86960e28f..f117751aa 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationMeasureDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/DecorationMeasureDO.java @@ -89,11 +89,13 @@ public class DecorationMeasureDO { */ @Column(name = "deleted", nullable = false, columnDefinition = "tinyint default '0'") private Boolean deleted; - + //测量派单ID @Column(name = "measurement_sheet_id") private String measurementSheetId; + //测量员 @Column(name = "measure_user_name") private String measureUserName; + //设计组 @Column(name = "design_leader_name") private String designLeaderName; } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ConfirmQuotationRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ConfirmQuotationRequest.java new file mode 100644 index 000000000..259a39cc5 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ConfirmQuotationRequest.java @@ -0,0 +1,18 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/07/23/18:40 + * @Version 1.0 + * @注释: + */ +@Data +public class ConfirmQuotationRequest { + private String shopCode; + private String quotationSheetId; + @ApiModelProperty("0:拒绝,1:通过") + private Integer status; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionCompletedRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionCompletedRequest.java new file mode 100644 index 000000000..c53893f37 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionCompletedRequest.java @@ -0,0 +1,19 @@ +package com.cool.store.request; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author: WangShuo + * @Date: 2025/07/24/10:17 + * @Version 1.0 + * @注释: + */ +@Data +public class ConstructionCompletedRequest { + @NotBlank(message = "门店编号不能为空") + private String shopCode; + @NotBlank(message = "施工派单编号不能为空") + private String constructionOrderId; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionOrderRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionOrderRequest.java new file mode 100644 index 000000000..41ce74cc4 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ConstructionOrderRequest.java @@ -0,0 +1,25 @@ +package com.cool.store.request; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/07/23/18:50 + * @Version 1.0 + * @注释: + */ +@Data +public class ConstructionOrderRequest { + + @NotBlank(message = "门店编号不能为空") + private String shopCode; + @NotBlank(message = "施工派单ID(施工派单编号)不能为空") + private String constructionOrderId; + @NotBlank(message = "预计开工时间不能为空") + private Date constructionPlanStartTime; + @NotBlank(message = "预计完工时间不能为空") + private Date constructionPlanEndTime; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EntryConfirmationRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EntryConfirmationRequest.java new file mode 100644 index 000000000..453371cdc --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EntryConfirmationRequest.java @@ -0,0 +1,25 @@ +package com.cool.store.request; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/07/24/10:09 + * @Version 1.0 + * @注释: + */ +@Data +public class EntryConfirmationRequest { + @NotBlank(message = "门店编号不能为空") + private String shopCode; + //施工派单ID(施工派单编号) + @NotBlank(message = "施工派单编号不能为空") + private String constructionOrderId; + //进场时间 + @NotNull(message = "进场时间不能为空") + private Date actualEntryTime; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java new file mode 100644 index 000000000..34e487bb1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java @@ -0,0 +1,24 @@ +package com.cool.store.request; + +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/07/23/18:36 + * @Version 1.0 + * @注释: + */ +@Data +public class HqtBuildRequest { + private String shopCode; + private String shopName; + private Integer shopDecorationAttributes; + private String hqtRegionCode; + private String supervisorName; + private String partnershipSignatoryFirst; + private String partnershipSignatoryFirstMobile; + private String shopAddress; + private Integer isPayDesignFee; + private Integer franchiseBrand; + private String supervisorMobile; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/HqtDecorationAcceptanceRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtDecorationAcceptanceRequest.java new file mode 100644 index 000000000..b2ade242e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtDecorationAcceptanceRequest.java @@ -0,0 +1,36 @@ +package com.cool.store.request; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/07/24/10:46 + * @Version 1.0 + * @注释: + */ +@Data +public class HqtDecorationAcceptanceRequest { + @NotBlank(message = "门店编号不能为空") + private String shopCode; + @NotBlank(message = "完工交付单ID (完工编号)不能为空") + private String deliveryOrderId; + @NotEmpty(message = "验收单不能为空") + private List acceptanceAttachmentUrl; + @NotBlank(message = "门店门头照不能为空") + private String shopDoorwayPhotoUrl; + @NotBlank(message = "门店内景照不能为空") + private String shopInteriorPhotoUrl; + @NotBlank(message = "门店后厨照不能为空") + private String backKitchenPhotoUrl; + @NotNull(message = "验收日期不能为空") + private Date actualAcceptanceTime; + @NotNull(message = "增减项金额不能为空") + private BigDecimal addReduceAmount; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/HqtPartnerAcceptanceRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtPartnerAcceptanceRequest.java new file mode 100644 index 000000000..ed9fe2e10 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtPartnerAcceptanceRequest.java @@ -0,0 +1,17 @@ +package com.cool.store.request; + +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/07/24/11:25 + * @Version 1.0 + * @注释: + */ +@Data +public class HqtPartnerAcceptanceRequest { + + private String shopCode; + private Integer satisfaction; + private String comment; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java index 78c6d21a4..bdfb0e929 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java @@ -39,7 +39,7 @@ public class ThreeAcceptanceRequest { @ApiModelProperty("门店内景照片") private String shopInteriorPhoto; - @ApiModelProperty("满意度0-低,1-中,2-高',") + @ApiModelProperty("满意度0-低,1-中,2-高', 3-差,4-一般,5-好,6-非常好") private Integer satisfaction; @ApiModelProperty("网线安装 false-否 true-是") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/DecorationDesignResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/DecorationDesignResponse.java new file mode 100644 index 000000000..1ce7da2fb --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/DecorationDesignResponse.java @@ -0,0 +1,45 @@ +package com.cool.store.response; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/07/24/13:50 + * @Version 1.0 + * @注释: + */ +@Data +public class DecorationDesignResponse { + + @ApiModelProperty(value = "设计派单ID") + private String designSheetId; + @ApiModelProperty(value = "设计组长名称") + private String designLeaderName; + @ApiModelProperty(value = "设计师名称") + private String designName; + @ApiModelProperty("设计图URL") + private String designUrl; + @ApiModelProperty(value = "原始照片") + private String originalPhotoUrl; + @ApiModelProperty(value = "效果图") + private String renderingUrl; + @ApiModelProperty(value = "平面布置图") + private String floorPlanUrl; + @ApiModelProperty(value = "设计最新提交时间") + private Date designSubmitTime; + @ApiModelProperty(value = "报价单ID(报价单编号)") + private String quotationSheetId; + @ApiModelProperty(value = "报价员") + private String quoter; + @ApiModelProperty(value = "报价单") + private String quotationUrl; + @ApiModelProperty(value = "报价提交时间") + private Date quotationSubmitTime; + @ApiModelProperty(value = "加盟商签字") + private String partnerAcceptanceSignatures; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/MeasureResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/MeasureResponse.java new file mode 100644 index 000000000..6776ad916 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/MeasureResponse.java @@ -0,0 +1,38 @@ +package com.cool.store.response; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/07/24/13:20 + * @Version 1.0 + * @注释: + */ +@Data +public class MeasureResponse { + + @ApiModelProperty("测量派单ID") + private String measurementSheetId; + + @ApiModelProperty("测量员") + private String measureUserName; + + @ApiModelProperty("设计组") + private String designLeaderName; + + @ApiModelProperty("测量日期") + private Date measureDate; + + @ApiModelProperty("出图日期") + private Date diagramDate; + + @ApiModelProperty("测量图附件") + private String measureUrl; + + @ApiModelProperty("最新提交时间") + private Date submitTime; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/ThreeSignResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/ThreeSignResponse.java index 3ecb7e298..2de314bea 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/ThreeSignResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/ThreeSignResponse.java @@ -4,6 +4,9 @@ import com.cool.store.dto.decoration.ThreeAcceptanceDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; +import java.util.Date; + /** * @Auther: WangShuo * @Date: 2024/05/06/下午5:50 @@ -12,24 +15,27 @@ import lombok.Data; */ @Data public class ThreeSignResponse { - @ApiModelProperty("工程部验收") - private ThreeAcceptanceDTO engineeringAcceptance; + @ApiModelProperty("完工交付单ID ") + private String deliveryOrderId; +// @ApiModelProperty("工程部验收") +// private ThreeAcceptanceDTO engineeringAcceptance; @ApiModelProperty("营运部验收") private ThreeAcceptanceDTO operationsAcceptance; @ApiModelProperty("加盟商验收") private ThreeAcceptanceDTO partnerAcceptance; - @ApiModelProperty("快手号") - private String ksAccount; - @ApiModelProperty("核销手机号") - private String verificationPhone; - @ApiModelProperty("高德、百度定位截图") - private String shopLocationScreenshots; +// @ApiModelProperty("快手号") +// private String ksAccount; +// @ApiModelProperty("核销手机号") +// private String verificationPhone; +// @ApiModelProperty("高德、百度定位截图") +// private String shopLocationScreenshots; @ApiModelProperty("门店门头照片") private String shopDoorwayPhoto; + @ApiModelProperty("门店内景照片") private String shopInteriorPhoto; - @ApiModelProperty("满意度0-低,1-中,2-高',") + @ApiModelProperty("满意度0-低,1-中,2-高', 3-差,4-一般,5-好,6-非常好") private Integer satisfaction; @ApiModelProperty("网线安装 false-否 true-是") @@ -40,4 +46,9 @@ public class ThreeSignResponse { @ApiModelProperty("后厨照片") private String backKitchenPhoto; + @ApiModelProperty("验收时间") + private Date actualAcceptanceTime; + @ApiModelProperty("增减项金额") + private BigDecimal addReduceAmount; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/ConstructionDataVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/ConstructionDataVO.java index bdd44c0b0..b2f13e8f9 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/ConstructionDataVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/ConstructionDataVO.java @@ -3,6 +3,8 @@ package com.cool.store.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + /** * @Author suzhuhong @@ -12,14 +14,17 @@ import lombok.Data; @Data public class ConstructionDataVO { + @ApiModelProperty("施工派单id") + private String constructionOrderId; + @ApiModelProperty("预计开工时间") - private Long constructionPlanStartTime; + private Date constructionPlanStartTime; /** * 预计完工时间 */ @ApiModelProperty("预计完工时间") - private Long constructionPlanEndTime; + private Date constructionPlanEndTime; /** * 附件 @@ -27,26 +32,7 @@ public class ConstructionDataVO { @ApiModelProperty("附件") private String constructionAnnex; - /** - * 备注 - */ - @ApiModelProperty("备注") - private String constructionRemark; - - /** - * 创建时间 - */ - @ApiModelProperty("创建时间") - private Long constructionCreateTime; - - /** - * 创建人 - */ - @ApiModelProperty("创建人") - private String constructionCreateUser; - - @ApiModelProperty("创建人") - private String constructionCreateUserName; - + @ApiModelProperty("进场时间") + private Date actualEntryTime; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationDesignInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationDesignInfoService.java index 23f9288dd..aab1df30d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationDesignInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationDesignInfoService.java @@ -1,9 +1,6 @@ package com.cool.store.service; -import com.cool.store.request.AssignDesignerRequest; -import com.cool.store.request.AssignQuotationRequest; -import com.cool.store.request.SubmitDesignDrawingRequest; -import com.cool.store.request.SubmitQuotationSheetRequest; +import com.cool.store.request.*; /** * @Author suzhuhong @@ -38,4 +35,30 @@ public interface DecorationDesignInfoService { * @description:上传最终报价单 */ Boolean submitQuotationSheet(SubmitQuotationSheetRequest request); + + /** + * @Auther: wangshuo + * @Date: 2025/7/23 + * @description:施工派单 + */ + Boolean submitConstructionOrder(ConstructionOrderRequest request); + + /** + * @Auther: wangshuo + * @Date: 2025/7/24 + * @description:实际进场确认 + */ + Boolean entryConfirmation (EntryConfirmationRequest request); + /** + * @Auther: wangshuo + * @Date: 2025/7/24 + * @description:施工完成 + */ + Boolean constructionCompleted (ConstructionCompletedRequest request); + /** + * @Auther: wangshuo + * @Date: 2025/7/24 + * @description: 装修验收 + */ + Boolean decorationAcceptance(HqtDecorationAcceptanceRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationMeasureService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationMeasureService.java index 41a810ee1..23d52568d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationMeasureService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationMeasureService.java @@ -4,6 +4,7 @@ import com.cool.store.context.LoginUserInfo; import com.cool.store.request.AssignSurveyorsRequest; import com.cool.store.request.DecorationMeasureRequest; import com.cool.store.request.SubmitMeasurementRequest; +import com.cool.store.response.MeasureResponse; import com.cool.store.vo.DecorationMeasureVO; public interface DecorationMeasureService { @@ -44,4 +45,10 @@ public interface DecorationMeasureService { * @description:门店测量、上传测量图 */ Boolean submitMeasurementDiagram(SubmitMeasurementRequest request); + /** + * @Auther: wangshuo + * @Date: 2025/7/23 + * @description:获取测量阶段数据 + */ + MeasureResponse getMeasureData(Long shopId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java index cf6d854f2..e3d967e48 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java @@ -7,6 +7,7 @@ import com.cool.store.dto.decoration.ThreeAcceptanceDTO; import com.cool.store.request.*; +import com.cool.store.response.DecorationDesignResponse; import com.cool.store.response.ThreeSignResponse; import com.cool.store.vo.*; import com.cool.store.vo.Fitment.DecorationStageVO; @@ -130,7 +131,7 @@ public interface DecorationService { * @param shopId * @return */ - DecorationDesignVO getDecorationDesign(Long shopId); + DecorationDesignResponse getDecorationDesign(Long shopId); /** diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HqtAPIService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HqtAPIService.java index ea5de1fd6..ff04b1cbe 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HqtAPIService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HqtAPIService.java @@ -1,6 +1,9 @@ package com.cool.store.service; + +import com.cool.store.request.ConfirmQuotationRequest; import com.cool.store.request.HqtBuildRequest; +import com.cool.store.request.HqtPartnerAcceptanceRequest; /** * @Author: WangShuo @@ -9,6 +12,23 @@ import com.cool.store.request.HqtBuildRequest; * @注释: */ public interface HqtAPIService { - + /** + * @Auther: wangshuo + * @Date: 2025/7/23 + * @description:红圈通建店 + */ void pushHqtBuild(HqtBuildRequest request); + /** + * @Auther: wangshuo + * @Date: 2025/7/23 + * @description: 加盟商确认报价单 + */ + void confirmQuotation(ConfirmQuotationRequest request); + + /** + * @Auther: wangshuo + * @Date: 2025/7/24 + * @description: 加盟商验收、评价 + */ + void hqtPartnerAcceptance(HqtPartnerAcceptanceRequest request); } 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 72b558972..9ec02add5 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,24 +1,21 @@ package com.cool.store.service.impl; -import com.cool.store.dao.DecorationDesignInfoDAO; -import com.cool.store.dao.ShopInfoDAO; -import com.cool.store.dao.ShopStageInfoDAO; -import com.cool.store.entity.DecorationDesignInfoDO; -import com.cool.store.entity.ShopInfoDO; -import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.dao.*; +import com.cool.store.entity.*; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.SMSMsgEnum; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; -import com.cool.store.request.AssignDesignerRequest; -import com.cool.store.request.AssignQuotationRequest; -import com.cool.store.request.SubmitDesignDrawingRequest; -import com.cool.store.request.SubmitQuotationSheetRequest; +import com.cool.store.request.*; import com.cool.store.service.DecorationDesignInfoService; 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.stream.Collectors; /** @@ -29,36 +26,56 @@ import java.util.stream.Collectors; @Service public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoService { + @Resource + private AcceptanceInfoDAO acceptanceInfoDAO; + @Resource + private CommonService commonService; @Resource private DecorationDesignInfoDAO decorationDesignInfoDAO; @Resource private ShopInfoDAO shopInfoDAO; @Resource private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private LineInfoDAO lineInfoDAO; + @Override + @Transactional(rollbackFor = Exception.class) public Boolean assignDesigner(AssignDesignerRequest request) { ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_9); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus())){ + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + } DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); - if (designInfoDO == null){ - throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + if (designInfoDO == null) { + designInfoDO = new DecorationDesignInfoDO(); + designInfoDO.setShopId(shopInfoDO.getId()); + designInfoDO.setCreateTime(new Date()); } designInfoDO.setDesignName(request.getDesignName()); + designInfoDO.setDesignSubmitTime(new Date()); designInfoDO.setDesignSheetId(request.getDesignSheetId()); designInfoDO.setUpdateTime(new Date()); - decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); - ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_9); - if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_90.getShopSubStageStatus())){ + if (designInfoDO.getId() == null) { + decorationDesignInfoDAO.insertSelective(designInfoDO); + } else { + decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); + } + + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_90.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_901); } return true; } @Override + @Transactional(rollbackFor = Exception.class) public Boolean submitDesignDrawing(SubmitDesignDrawingRequest request) { ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); - if (designInfoDO == null){ - throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + if (designInfoDO == null) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); } designInfoDO.setDesignSheetId(request.getDesignSheetId()); designInfoDO.setDesignName(request.getDesignName()); @@ -66,20 +83,22 @@ public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoServ designInfoDO.setRenderingUrl(String.join(",", request.getRenderingUrl())); designInfoDO.setFloorPlanUrl(String.join(",", request.getFloorPlanUrl())); designInfoDO.setUpdateTime(new Date()); + designInfoDO.setDesignSubmitTime(new Date()); decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_9); - if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_901.getShopSubStageStatus())){ + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_901.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_902); } return true; } @Override + @Transactional(rollbackFor = Exception.class) public Boolean assignQuotation(AssignQuotationRequest request) { ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); - if (designInfoDO == null){ - throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + if (designInfoDO == null) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); } designInfoDO.setQuotationSheetId(request.getQuotationSheetId()); designInfoDO.setQuoter(request.getQuoter()); @@ -87,24 +106,113 @@ public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoServ designInfoDO.setUpdateTime(new Date()); decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_9); - if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_902.getShopSubStageStatus())){ + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_902.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_903); } return true; } @Override + @Transactional(rollbackFor = Exception.class) public Boolean submitQuotationSheet(SubmitQuotationSheetRequest request) { ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); + LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfoDO.getLineId()); DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); - if (designInfoDO == null){ - throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + if (designInfoDO == null) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); } designInfoDO.setQuotationSheetId(request.getQuotationSheetId()); designInfoDO.setQuotationUrl(String.join(",", request.getQuotationSheetUrl())); designInfoDO.setQuotationSubmitTime(new Date()); designInfoDO.setUpdateTime(new Date()); decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_9); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_903.getShopSubStageStatus())) { + shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_905); + Map templateParam = new HashMap<>(); + templateParam.put("shopName", shopInfoDO.getShopName()); + commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.DESIGN_STAGE, templateParam); + } return true; } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean submitConstructionOrder(ConstructionOrderRequest request) { + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); + DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); + if (designInfoDO == null) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + } + designInfoDO.setConstructionOrderId(request.getConstructionOrderId()); + designInfoDO.setConstructionPlanStartTime(request.getConstructionPlanStartTime()); + designInfoDO.setConstructionPlanEndTime(request.getConstructionPlanEndTime()); + decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_11); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_110.getShopSubStageStatus())) { + shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_110_5); + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean entryConfirmation(EntryConfirmationRequest request) { + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); + DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); + if (designInfoDO == null) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + } + designInfoDO.setConstructionOrderId(request.getConstructionOrderId()); + designInfoDO.setActualEntryTime(request.getActualEntryTime()); + decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_11); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_110_5.getShopSubStageStatus())) { + shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_111); + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean constructionCompleted(ConstructionCompletedRequest request) { + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); + DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); + if (designInfoDO == null) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + } + designInfoDO.setConstructionOrderId(request.getConstructionOrderId()); + decorationDesignInfoDAO.updateByPrimaryKeySelective(designInfoDO); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_11); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_111.getShopSubStageStatus())) { + shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112); + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean decorationAcceptance(HqtDecorationAcceptanceRequest request) { + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_12); + if (!shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus()) + && !shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123.getShopSubStageStatus())) { + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + } + AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoDAO.selectByShopId(shopInfoDO.getId()); + acceptanceInfoDO.setDeliveryOrderId(request.getDeliveryOrderId()); + acceptanceInfoDO.setActualAcceptanceTime(request.getActualAcceptanceTime()); + acceptanceInfoDO.setAcceptanceAttachment(String.join(",", request.getAcceptanceAttachmentUrl())); + acceptanceInfoDO.setShopDoorwayPhoto(request.getShopDoorwayPhotoUrl()); + acceptanceInfoDO.setShopInteriorPhoto(request.getShopInteriorPhotoUrl()); + acceptanceInfoDO.setBackKitchenPhoto(request.getBackKitchenPhotoUrl()); + acceptanceInfoDO.setAddReduceAmount(request.getAddReduceAmount()); + acceptanceInfoDAO.updateAcceptanceInfo(acceptanceInfoDO); + if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus())) { + shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123); + } + return true; + } + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationMeasureServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationMeasureServiceImpl.java index 27b0a2f77..29f60fc93 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationMeasureServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationMeasureServiceImpl.java @@ -16,8 +16,10 @@ import com.cool.store.mapper.LineInfoMapper; import com.cool.store.request.AssignSurveyorsRequest; import com.cool.store.request.DecorationMeasureRequest; import com.cool.store.request.SubmitMeasurementRequest; +import com.cool.store.response.MeasureResponse; import com.cool.store.service.DecorationMeasureService; import com.cool.store.utils.RedisUtilPool; +import com.cool.store.utils.poi.StringUtils; import com.cool.store.vo.DecorationMeasureVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -179,13 +181,14 @@ public class DecorationMeasureServiceImpl implements DecorationMeasureService { public Boolean assignSurveyors(AssignSurveyorsRequest request) { ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfoByShopCode(request.getShopCode()); ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopInfoDO.getId(), ShopSubStageEnum.SHOP_STAGE_8_6); - if (shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus())){ + if (shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus())) { throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); } DecorationMeasureDO measureDAOByShopId = decorationMeasureDAO.getByShopId(shopInfoDO.getId()); if (measureDAOByShopId == null) { measureDAOByShopId = new DecorationMeasureDO(); measureDAOByShopId.setDeleted(false); + measureDAOByShopId.setShopId(shopInfoDO.getId()); measureDAOByShopId.setCreateTime(new Date()); } measureDAOByShopId.setShopId(shopInfoDO.getId()); @@ -200,12 +203,13 @@ public class DecorationMeasureServiceImpl implements DecorationMeasureService { decorationMeasureDAO.updateByPrimaryKeySelective(measureDAOByShopId); } DecorationDesignInfoDO designInfoDO = decorationDesignInfoDAO.getByShopId(shopInfoDO.getId()); - if (designInfoDO == null){ + if (designInfoDO == null) { designInfoDO = new DecorationDesignInfoDO(); designInfoDO.setShopId(shopInfoDO.getId()); designInfoDO.setCreateTime(new Date()); } designInfoDO.setDesignLeaderName(request.getDesignLeaderName()); + designInfoDO.setDesignSubmitTime(new Date()); designInfoDO.setUpdateTime(new Date()); if (designInfoDO.getId() == null) { decorationDesignInfoDAO.insertSelective(designInfoDO); @@ -233,4 +237,31 @@ public class DecorationMeasureServiceImpl implements DecorationMeasureService { } return true; } + + @Override + public MeasureResponse getMeasureData(Long shopId) { + MeasureResponse response = new MeasureResponse(); + DecorationMeasureDO measureDAOByShopId = decorationMeasureDAO.getByShopId(shopId); + if (measureDAOByShopId == null) { + return response; + } + response.setMeasureUrl(measureDAOByShopId.getMeasureUrl()); + if (StringUtils.isBlank(measureDAOByShopId.getMeasureUserName()) + && StringUtils.isNotBlank(measureDAOByShopId.getMeasureUserId())) { + response.setMeasureUserName(enterpriseUserDAO.getUserName(measureDAOByShopId.getMeasureUserId())); + } else { + response.setMeasureUserName(measureDAOByShopId.getMeasureUserName()); + } + if (StringUtils.isBlank(measureDAOByShopId.getDesignLeaderName()) + && StringUtils.isNotBlank(measureDAOByShopId.getDesignUserId())) { + response.setDesignLeaderName(enterpriseUserDAO.getUserName(measureDAOByShopId.getDesignUserId())); + } else { + response.setDesignLeaderName(measureDAOByShopId.getDesignLeaderName()); + } + response.setMeasureDate(measureDAOByShopId.getMeasureDate()); + response.setDiagramDate(measureDAOByShopId.getDiagramDate()); + response.setMeasurementSheetId(measureDAOByShopId.getMeasurementSheetId()); + response.setSubmitTime(measureDAOByShopId.getUpdateTime()); + return response; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java index e5fdb1dac..089db08da 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java @@ -15,6 +15,7 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.ShopInfoMapper; import com.cool.store.request.*; +import com.cool.store.response.DecorationDesignResponse; import com.cool.store.response.ThreeSignResponse; import com.cool.store.service.*; import com.cool.store.utils.CoolDateUtils; @@ -93,6 +94,8 @@ public class DecorationServiceImpl implements DecorationService { @Resource EnterpriseUserRoleDao enterpriseUserRoleDao; + @Resource + private HqtAPIService hqtAPIService; @Override public DesignInfoVo DesignInfo(Long shopId) { @@ -362,22 +365,27 @@ public class DecorationServiceImpl implements DecorationService { acceptanceInfoDO.setSatisfaction(request.getSatisfaction()); acceptanceInfoDO.setIsNetworkCable(request.getIsNetworkCable()); acceptanceInfoDAO.updateAcceptanceInfo(acceptanceInfoDO); + //更新阶段状态验收中 + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(request.getShopId()); + shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122); + HqtPartnerAcceptanceRequest hqtPartnerAcceptanceRequest = new HqtPartnerAcceptanceRequest(); + hqtPartnerAcceptanceRequest.setShopCode(shopInfoDO.getShopCode()); + hqtPartnerAcceptanceRequest.setSatisfaction(request.getSatisfaction()); + hqtPartnerAcceptanceRequest.setComment(request.getPartnerAcceptance().getRemark()); + hqtAPIService.hqtPartnerAcceptance(hqtPartnerAcceptanceRequest); } - //更新阶段状态验收中 - shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122); - ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(request.getShopId()); - LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); - List sendUsers = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.CONSTRUCTION_CUSTOMER, shopInfoDO.getRegionId()); - if (CollectionUtils.isNotEmpty(sendUsers)) { - List sendUserIds = sendUsers.stream().map(enterpriseUserDO -> enterpriseUserDO.getUserId()).collect(Collectors.toList()); - HashMap map = new HashMap<>(); - map.put("partnerUsername", lineInfoDO.getUsername()); - map.put("partnerMobile", lineInfoDO.getMobile()); - map.put("storeName", shopInfoDO.getShopName()); - commonService.sendQWMessage(sendUserIds, - MessageEnum.MESSAGE_37, - map); - } + //LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); +// List sendUsers = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.CONSTRUCTION_CUSTOMER, shopInfoDO.getRegionId()); +// if (CollectionUtils.isNotEmpty(sendUsers)) { +// List sendUserIds = sendUsers.stream().map(enterpriseUserDO -> enterpriseUserDO.getUserId()).collect(Collectors.toList()); +// HashMap map = new HashMap<>(); +// map.put("partnerUsername", lineInfoDO.getUsername()); +// map.put("partnerMobile", lineInfoDO.getMobile()); +// map.put("storeName", shopInfoDO.getShopName()); +// commonService.sendQWMessage(sendUserIds, +// MessageEnum.MESSAGE_37, +// map); +// } return Boolean.TRUE; } @@ -566,27 +574,27 @@ public class DecorationServiceImpl implements DecorationService { if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_90.getShopSubStageStatus().equals(subStage.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_901); // 给设计师发送企业微信消息 - sendMeasureUserMessage(request.getShopId(), decorationDesignInfoDO.getDesignUserId(), MessageEnum.MESSAGE_55); + // sendMeasureUserMessage(request.getShopId(), decorationDesignInfoDO.getDesignUserId(), MessageEnum.MESSAGE_55); return Boolean.TRUE; } if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_901.getShopSubStageStatus().equals(subStage.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_902); - List quotationOfficeList = enterpriseUserRoleDao.selectUserIdsByRoleIdList(Collections.singletonList(UserRoleEnum.QUOTATION_OFFICE.getCode())); - HashMap map = new HashMap<>(4); - map.put("partnerUsername", lineInfo.getUsername()); - map.put("partnerMobile", lineInfo.getMobile()); - map.put("storeName", shopInfo.getShopName()); - commonService.sendQWMessage( - quotationOfficeList, - MessageEnum.MESSAGE_59, - map - ); +// List quotationOfficeList = enterpriseUserRoleDao.selectUserIdsByRoleIdList(Collections.singletonList(UserRoleEnum.QUOTATION_OFFICE.getCode())); +// HashMap map = new HashMap<>(4); +// map.put("partnerUsername", lineInfo.getUsername()); +// map.put("partnerMobile", lineInfo.getMobile()); +// map.put("storeName", shopInfo.getShopName()); +// commonService.sendQWMessage( +// quotationOfficeList, +// MessageEnum.MESSAGE_59, +// map +// ); return Boolean.TRUE; } if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_902.getShopSubStageStatus().equals(subStage.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_903); // 给报价员发送企业微信消息 - sendMeasureUserMessage(request.getShopId(), request.getQuotationUserId(), MessageEnum.MESSAGE_55); + // sendMeasureUserMessage(request.getShopId(), request.getQuotationUserId(), MessageEnum.MESSAGE_55); return Boolean.TRUE; } //更新设计阶段状态=待确认,装修子流程=待进场 @@ -596,17 +604,17 @@ public class DecorationServiceImpl implements DecorationService { templateParam.put("shopName", shopInfo.getShopName()); commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.DESIGN_STAGE, templateParam); // 发送企业微信消息 - List sendUsers = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.CONSTRUCTION_CUSTOMER, shopInfo.getRegionId()); - if (CollectionUtils.isNotEmpty(sendUsers)) { - List sendUserIds = sendUsers.stream().map(enterpriseUserDO -> enterpriseUserDO.getUserId()).collect(Collectors.toList()); - HashMap map = new HashMap<>(); - map.put("partnerUsername", lineInfo.getUsername()); - map.put("partnerMobile", lineInfo.getMobile()); - map.put("storeName", shopInfo.getShopName()); - commonService.sendQWMessage(sendUserIds, - MessageEnum.MESSAGE_37, - map); - } +// List sendUsers = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.CONSTRUCTION_CUSTOMER, shopInfo.getRegionId()); +// if (CollectionUtils.isNotEmpty(sendUsers)) { +// List sendUserIds = sendUsers.stream().map(enterpriseUserDO -> enterpriseUserDO.getUserId()).collect(Collectors.toList()); +// HashMap map = new HashMap<>(); +// map.put("partnerUsername", lineInfo.getUsername()); +// map.put("partnerMobile", lineInfo.getMobile()); +// map.put("storeName", shopInfo.getShopName()); +// commonService.sendQWMessage(sendUserIds, +// MessageEnum.MESSAGE_37, +// map); +// } return Boolean.TRUE; } } else { @@ -616,39 +624,60 @@ public class DecorationServiceImpl implements DecorationService { //更新装修设计状态 shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_901); // 给设计师发送企业微信消息 - sendMeasureUserMessage(request.getShopId(), decorationDesignInfoDO.getDesignUserId(), MessageEnum.MESSAGE_55); + // sendMeasureUserMessage(request.getShopId(), decorationDesignInfoDO.getDesignUserId(), MessageEnum.MESSAGE_55); } return Boolean.TRUE; } @Override - public DecorationDesignVO getDecorationDesign(Long shopId) { + public DecorationDesignResponse getDecorationDesign(Long shopId) { if (shopId == null) { throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); } DecorationDesignInfoDO decoration = decorationDesignInfoDAO.getByShopId(shopId); + DecorationDesignResponse response = new DecorationDesignResponse(); if (decoration == null) { //查询测量阶段的设计组长 DecorationMeasureDO measureDO = decorationMeasureDAO.getByShopId(shopId); - DecorationDesignVO decorationDesignVO = new DecorationDesignVO(); if (measureDO != null) { - decorationDesignVO.setDesignLeaderId(measureDO.getDesignUserId()); - String userName = enterpriseUserDAO.getUserName(measureDO.getDesignUserId()); - decorationDesignVO.setDesignLeaderName(userName); + if (StringUtils.isNotBlank(measureDO.getDesignUserId()) && StringUtils.isBlank(measureDO.getDesignLeaderName())) { + String userName = enterpriseUserDAO.getUserName(measureDO.getDesignUserId()); + response.setDesignLeaderName(userName); + } else { + response.setDesignLeaderName(measureDO.getDesignLeaderName()); + } } - return decorationDesignVO; + return response; } - DecorationDesignVO decorationDesignVO = BeanUtil.toBean(decoration, DecorationDesignVO.class); - //查询员工名称 - Set userIds = new HashSet<>(); - Optional.ofNullable(decorationDesignVO.getDesignLeaderId()).ifPresent(userIds::add); - Optional.ofNullable(decorationDesignVO.getDesignUserId()).ifPresent(userIds::add); - Optional.ofNullable(decorationDesignVO.getQuotationUserId()).ifPresent(userIds::add); - Map userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds)); - decorationDesignVO.setDesignLeaderName(userNameMap.get(decorationDesignVO.getDesignLeaderId())); - decorationDesignVO.setQuotationUserName(userNameMap.get(decorationDesignVO.getQuotationUserId())); - decorationDesignVO.setDesignUserName(userNameMap.get(decorationDesignVO.getDesignUserId())); - return decorationDesignVO; + response.setDesignSheetId(decoration.getDesignSheetId()); + if (StringUtils.isNotBlank(decoration.getDesignUserId()) && StringUtils.isBlank(decoration.getDesignName())) { + response.setDesignName(enterpriseUserDAO.getUserName(decoration.getDesignUserId())); + } else { + response.setDesignName(decoration.getDesignName()); + } + if (StringUtils.isNotBlank(decoration.getDesignLeaderId()) && StringUtils.isBlank(decoration.getDesignLeaderName())) { + String userName = enterpriseUserDAO.getUserName(decoration.getDesignLeaderId()); + response.setDesignLeaderName(userName); + } else { + response.setDesignLeaderName(decoration.getDesignLeaderName()); + } + response.setOriginalPhotoUrl(decoration.getOriginalPhotoUrl()); + response.setDesignUrl(decoration.getDesignUrl()); + response.setRenderingUrl(decoration.getRenderingUrl()); + response.setFloorPlanUrl(decoration.getFloorPlanUrl()); + response.setDesignSubmitTime(decoration.getDesignSubmitTime()); + response.setQuotationUrl(decoration.getQuotationUrl()); + response.setQuotationSheetId(decoration.getQuotationSheetId()); + if (StringUtils.isNotBlank(decoration.getQuotationUserId()) && StringUtils.isBlank(decoration.getQuoter())) { + String userName = enterpriseUserDAO.getUserName(decoration.getQuotationUserId()); + response.setQuoter(userName); + } else { + response.setQuoter(decoration.getQuoter()); + } + response.setQuotationUrl(decoration.getQuotationUrl()); + response.setQuotationSubmitTime(decoration.getQuotationSubmitTime()); + response.setPartnerAcceptanceSignatures(decoration.getPartnerAcceptanceSignatures()); + return response; } @Override @@ -689,15 +718,10 @@ public class DecorationServiceImpl implements DecorationService { return constructionDataVO; } constructionDataVO.setConstructionAnnex(decoration.getConstructionAnnex()); - constructionDataVO.setConstructionRemark(decoration.getConstructionRemark()); - constructionDataVO.setConstructionPlanStartTime(decoration.getConstructionPlanStartTime() != null ? decoration.getConstructionPlanStartTime().getTime() : null); - constructionDataVO.setConstructionPlanEndTime(decoration.getConstructionPlanEndTime() != null ? decoration.getConstructionPlanEndTime().getTime() : null); - constructionDataVO.setConstructionCreateTime(decoration.getConstructionCreateTime() != null ? decoration.getConstructionCreateTime().getTime() : null); - constructionDataVO.setConstructionCreateUser(decoration.getConstructionCreateUser()); - if (StringUtils.isNotEmpty(decoration.getConstructionCreateUser())) { - EnterpriseUserDO user = enterpriseUserDAO.getUserInfoById(decoration.getConstructionCreateUser()); - constructionDataVO.setConstructionCreateUserName(user.getName()); - } + constructionDataVO.setConstructionPlanStartTime( decoration.getConstructionPlanStartTime()); + constructionDataVO.setConstructionPlanEndTime(decoration.getConstructionPlanEndTime()); + constructionDataVO.setConstructionOrderId(decoration.getConstructionOrderId()); + constructionDataVO.setActualEntryTime(decoration.getActualEntryTime()); return constructionDataVO; } @@ -705,12 +729,12 @@ public class DecorationServiceImpl implements DecorationService { @Transactional(rollbackFor = Exception.class) public Boolean confirmDesign(DecorationDesignRequest request, LoginUserInfo user) { DecorationDesignInfoDO decoration = decorationDesignInfoDAO.getByShopId(request.getShopId()); - if (StringUtils.isBlank(decoration.getQuotationUrl())) { - throw new ServiceException(ErrorCodeEnum.QUOTATION_URL_REQUIRED); - } - if (StringUtils.isBlank(decoration.getDesignUrl())) { - throw new ServiceException(ErrorCodeEnum.DESIGN_URL_REQUIRED); - } +// if (StringUtils.isBlank(decoration.getQuotationUrl())) { +// throw new ServiceException(ErrorCodeEnum.QUOTATION_URL_REQUIRED); +// } +// if (StringUtils.isBlank(decoration.getDesignUrl())) { +// throw new ServiceException(ErrorCodeEnum.DESIGN_URL_REQUIRED); +// } //重复提交校验 3秒内不能重复提交 String lockKey = "confirmDesign:" + request.getShopId(); String lockValue = UUID.randomUUID().toString(); @@ -718,13 +742,22 @@ public class DecorationServiceImpl implements DecorationService { if (!acquired) { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } - DecorationDesignInfoDO decorationDesignInfoDO = request.toDecorationDesignInfoDO(); - if (Objects.nonNull(decoration)) { - BeanUtil.copyProperties(decorationDesignInfoDO, decoration, "id"); - decorationDesignInfoDAO.updateByPrimaryKeySelective(decoration); - } + ThreeAcceptanceDTO threeAcceptanceDTO = request.getPartnerAcceptanceSignatures(); + threeAcceptanceDTO.setAcceptanceTime(new Date()); + threeAcceptanceDTO.setStatus(CommonConstants.ONE); + threeAcceptanceDTO.setResult(CommonConstants.ONE); + threeAcceptanceDTO.setRemark(threeAcceptanceDTO.getRemark() == null ? "" : threeAcceptanceDTO.getRemark()); + decoration.setPartnerAcceptanceSignatures(JSONObject.toJSONString(threeAcceptanceDTO)); + decorationDesignInfoDAO.updateByPrimaryKeySelective(decoration); //更新装修设计状态 - shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(), Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_91)); + shopStageInfoDAO.batchUpdateShopStageStatus(request.getShopId(), Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_91, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_110)); + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); + //推送给HQT + ConfirmQuotationRequest confirmQuotationRequest = new ConfirmQuotationRequest(); + confirmQuotationRequest.setShopCode(shopInfo.getShopCode()); + confirmQuotationRequest.setQuotationSheetId(decoration.getQuotationSheetId()); + confirmQuotationRequest.setStatus(CommonConstants.ONE); + hqtAPIService.confirmQuotation(confirmQuotationRequest); return Boolean.TRUE; } @@ -799,11 +832,11 @@ public class DecorationServiceImpl implements DecorationService { if (Objects.isNull(acceptanceInfoDO)) { return threeSignResponse; } - //工程部 - if (StringUtils.isNotEmpty(acceptanceInfoDO.getEngineeringAcceptanceSignatures())) { - ThreeAcceptanceDTO engineering = JSONObject.parseObject(acceptanceInfoDO.getEngineeringAcceptanceSignatures(), ThreeAcceptanceDTO.class); - threeSignResponse.setEngineeringAcceptance(engineering); - } +// //工程部 +// if (StringUtils.isNotEmpty(acceptanceInfoDO.getEngineeringAcceptanceSignatures())) { +// ThreeAcceptanceDTO engineering = JSONObject.parseObject(acceptanceInfoDO.getEngineeringAcceptanceSignatures(), ThreeAcceptanceDTO.class); +// threeSignResponse.setEngineeringAcceptance(engineering); +// } //营运部 if (StringUtils.isNotEmpty(acceptanceInfoDO.getOperationsAcceptanceSignatures())) { ThreeAcceptanceDTO operations = JSONObject.parseObject(acceptanceInfoDO.getOperationsAcceptanceSignatures(), ThreeAcceptanceDTO.class); @@ -814,15 +847,18 @@ public class DecorationServiceImpl implements DecorationService { ThreeAcceptanceDTO partner = JSONObject.parseObject(acceptanceInfoDO.getPartnerAcceptanceSignatures(), ThreeAcceptanceDTO.class); threeSignResponse.setPartnerAcceptance(partner); } - threeSignResponse.setKsAccount(acceptanceInfoDO.getKsAccount()); - threeSignResponse.setVerificationPhone(acceptanceInfoDO.getVerificationMobile()); - threeSignResponse.setShopLocationScreenshots(acceptanceInfoDO.getShopLocationScreenshots()); +// threeSignResponse.setKsAccount(acceptanceInfoDO.getKsAccount()); +// threeSignResponse.setVerificationPhone(acceptanceInfoDO.getVerificationMobile()); +// threeSignResponse.setShopLocationScreenshots(acceptanceInfoDO.getShopLocationScreenshots()); threeSignResponse.setShopDoorwayPhoto(acceptanceInfoDO.getShopDoorwayPhoto()); threeSignResponse.setShopInteriorPhoto(acceptanceInfoDO.getShopInteriorPhoto()); threeSignResponse.setSatisfaction(acceptanceInfoDO.getSatisfaction()); threeSignResponse.setIsNetworkCable(acceptanceInfoDO.getIsNetworkCable()); threeSignResponse.setAcceptanceAttachment(acceptanceInfoDO.getAcceptanceAttachment()); threeSignResponse.setBackKitchenPhoto(acceptanceInfoDO.getBackKitchenPhoto()); + threeSignResponse.setActualAcceptanceTime(acceptanceInfoDO.getActualAcceptanceTime()); + threeSignResponse.setAddReduceAmount(acceptanceInfoDO.getAddReduceAmount()); + threeSignResponse.setDeliveryOrderId(acceptanceInfoDO.getDeliveryOrderId()); return threeSignResponse; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java index 00f2656f3..5a6ac77f8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java @@ -1,6 +1,8 @@ package com.cool.store.service.impl; +import com.cool.store.request.ConfirmQuotationRequest; import com.cool.store.request.HqtBuildRequest; +import com.cool.store.request.HqtPartnerAcceptanceRequest; import com.cool.store.service.HqtAPIService; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -18,4 +20,15 @@ public class HqtAPIServiceImpl implements HqtAPIService { public void pushHqtBuild(HqtBuildRequest request) { } + + @Override + // @Async + public void confirmQuotation(ConfirmQuotationRequest request) { + + } + //@Async + @Override + public void hqtPartnerAcceptance(HqtPartnerAcceptanceRequest request) { + + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java index d7394bbc6..ac49fef41 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java @@ -113,5 +113,39 @@ public class OpenApiController { return ApiResponse.success(decorationDesignInfoService.assignQuotation(request)); } + @ApiOperation("上传报价单") + @PostMapping("/submitQuotationSheet") + public ApiResponse submitQuotationSheet(@RequestBody @Validated SubmitQuotationSheetRequest request) { + log.info("submitQuotationSheet request:{}", JSONObject.toJSONString(request)); + return ApiResponse.success(decorationDesignInfoService.submitQuotationSheet(request)); + } + + @ApiOperation("施工派单") + @PostMapping("/submitConstructionOrder") + public ApiResponse submitConstructionOrder(@RequestBody @Validated ConstructionOrderRequest request) { + log.info("submitConstructionOrder request:{}", JSONObject.toJSONString(request)); + return ApiResponse.success(decorationDesignInfoService.submitConstructionOrder(request)); + } + + @ApiOperation("实际进场确认") + @PostMapping("/entryConfirmation") + public ApiResponse entryConfirmation(@RequestBody @Validated EntryConfirmationRequest request) { + log.info("entryConfirmation request:{}", JSONObject.toJSONString(request)); + return ApiResponse.success(decorationDesignInfoService.entryConfirmation(request)); + } + + @ApiOperation("施工完成") + @PostMapping("/constructionCompleted") + public ApiResponse constructionCompleted(@RequestBody @Validated ConstructionCompletedRequest request) { + log.info("constructionCompleted request:{}", JSONObject.toJSONString(request)); + return ApiResponse.success(decorationDesignInfoService.constructionCompleted(request)); + } + + @ApiOperation("装修验收") + @PostMapping("/decorationAcceptance") + public ApiResponse decorationAcceptance(@RequestBody @Validated HqtDecorationAcceptanceRequest request) { + log.info("decorationAcceptance request:{}", JSONObject.toJSONString(request)); + return ApiResponse.success(decorationDesignInfoService.decorationAcceptance(request)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java index eec2da6e6..6f1f1d697 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java @@ -5,6 +5,8 @@ import com.cool.store.context.LoginUserInfo; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.entity.ShopAuditInfoDO; import com.cool.store.request.*; +import com.cool.store.response.DecorationDesignResponse; +import com.cool.store.response.MeasureResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.ThreeSignResponse; import com.cool.store.service.DecorationMeasureService; @@ -27,7 +29,7 @@ import java.util.List; * @Auther: WangShuo * @Date: 2024/04/28/下午4:19 * @Version 1.0 - * @注释: + * @注释: 废弃 */ @RestController @RequestMapping("/pc/decoration") @@ -147,7 +149,7 @@ public class PCDecorationController { @ApiOperation("查询设计方案") @GetMapping("/getDecorationDesign") - public ResponseResult getDecorationDesign(@RequestParam Long shopId) { + public ResponseResult getDecorationDesign(@RequestParam Long shopId) { return ResponseResult.success(decorationService.getDecorationDesign(shopId)); } @@ -171,8 +173,8 @@ public class PCDecorationController { @ApiOperation("查询测量方案") @GetMapping("/getDecorationMeasure/{shopId}") - public ResponseResult getDecorationMeasure(@PathVariable Long shopId) { - return ResponseResult.success(decorationMeasureService.getDecorationMeasureByShopId(shopId)); + public ResponseResult getDecorationMeasure(@PathVariable Long shopId) { + return ResponseResult.success(decorationMeasureService.getMeasureData(shopId)); } @ApiOperation("保存测量方案") diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java index 6fc62bd93..a767b9703 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java @@ -10,6 +10,8 @@ import com.cool.store.request.DecorationDesignRequest; import com.cool.store.request.LinePaySubmitRequest; import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; +import com.cool.store.response.DecorationDesignResponse; +import com.cool.store.response.MeasureResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.ThreeSignResponse; @@ -118,7 +120,7 @@ public class MiniDecorationController { @ApiOperation("查询设计方案") @GetMapping("/getDecorationDesign") - public ResponseResult getDecorationDesign(@RequestParam Long shopId){ + public ResponseResult getDecorationDesign(@RequestParam Long shopId){ return ResponseResult.success(decorationService.getDecorationDesign(shopId)); } @@ -136,7 +138,7 @@ public class MiniDecorationController { @ApiOperation("查询测量方案") @GetMapping("/getDecorationMeasure") - public ResponseResult getDecorationMeasure(@RequestParam Long shopId){ - return ResponseResult.success(decorationMeasureService.getDecorationMeasureByShopId(shopId)); + public ResponseResult getDecorationMeasure(@RequestParam Long shopId) { + return ResponseResult.success(decorationMeasureService.getMeasureData(shopId)); } }