diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/AssessmentDataDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/AssessmentDataDTO.java new file mode 100644 index 000000000..67b707a29 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/AssessmentDataDTO.java @@ -0,0 +1,42 @@ +package com.cool.store.dto.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +/** + * @Auther: WangShuo + * @Date: 2024/05/06/下午3:31 + * @Version 1.0 + * @注释: + */ +@Data +public class AssessmentDataDTO { + + @ApiModelProperty("模板id") + private Long templateId; + + private Long shopId; + /** + * 店铺是否合格 + */ + @ApiModelProperty("店铺是否合格,0合格1不合格") + private Boolean qualified; + + /** + * 原因 + */ + @ApiModelProperty("不合格原因") + private String reason; + + /** + * 评语 + */ + @ApiModelProperty("评语") + private String comments; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/ThreeAcceptanceDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/ThreeAcceptanceDTO.java new file mode 100644 index 000000000..1232d2d26 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/ThreeAcceptanceDTO.java @@ -0,0 +1,20 @@ +package com.cool.store.dto.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: WangShuo + * @Date: 2024/05/06/下午3:09 + * @Version 1.0 + * @注释: + */ +@Data +public class ThreeAcceptanceDTO { + @ApiModelProperty("验收签名 ") + private String AcceptanceSignatures; + @ApiModelProperty("验收评语") + private String Comments; + @ApiModelProperty("0通过,1不通过") + private Integer ResultType; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java index db4ea3170..f3fb1776a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java @@ -1,6 +1,5 @@ package com.cool.store.entity; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -21,28 +20,24 @@ public class AssessmentDataDO { /** * xfsg_assessment_template.id */ - @ApiModelProperty("模板id") @Column(name = "template_id") private Long templateId; /** * xfsg_shop_info id */ - @Column(name = "shop_id") private Long shopId; /** * 考核人 */ - @ApiModelProperty("考核人") @Column(name = "assessment_user_id") private String assessmentUserId; /** * 店铺是否合格 */ - @ApiModelProperty("店铺是否合格,0合格1不合格") private Boolean qualified; /** diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceCheckRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceCheckRequest.java new file mode 100644 index 000000000..b86befb47 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceCheckRequest.java @@ -0,0 +1,21 @@ +package com.cool.store.request; + +import com.cool.store.dto.decoration.AssessmentDataDTO; +import com.cool.store.entity.AssessmentDataDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Auther: WangShuo + * @Date: 2024/05/06/下午3:17 + * @Version 1.0 + * @注释: + */ +@Data +public class ThreeAcceptanceCheckRequest { + private Long shopId; + @ApiModelProperty("检查项") + private List assessmentDataDTOS; +} 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 4c8abe704..782497eec 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 @@ -1,5 +1,6 @@ package com.cool.store.request; +import com.cool.store.dto.decoration.ThreeAcceptanceDTO; import com.cool.store.entity.AssessmentDataDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,24 +16,12 @@ import java.util.List; @Data public class ThreeAcceptanceRequest { private Long shopId; - @ApiModelProperty("工程部验收签名 {pic\":\"\",\"acceptanceTime\":\"\",\"result\":\"\",\"remark\":\"\",\"status\":1}") - private String engineeringAcceptanceSignatures; - @ApiModelProperty("工程部验收评语") - private String engineeringComments; - @ApiModelProperty("0通过,1不通过") - private Integer engineeringResultType; - @ApiModelProperty("营运部验收签名 {\"pic\":\"\",\"acceptanceTime\":\"\",\"result\":\"\",\"remark\":\"\",\"status\":1}") - private String operationsAcceptanceSignatures; - @ApiModelProperty("营运部验收评语") - private String operationsComments; - @ApiModelProperty("0通过,1不通过") - private Integer operationsResultType; - @ApiModelProperty("加盟商验收签名 {\"pic\":\"\",\"acceptanceTime\":\"\",\"result\":\"\",\"remark\":\"\",\"status\":0}") - private String partnerAcceptanceSignatures; - @ApiModelProperty("加盟商验收评语") - private String partnerComments; - @ApiModelProperty("0通过,1不通过") - private Integer partnerResultType; + @ApiModelProperty("工程部验收") + private ThreeAcceptanceDTO engineeringAcceptance; + @ApiModelProperty("营运部验收") + private ThreeAcceptanceDTO operationsAcceptance; + @ApiModelProperty("加盟商验收") + private ThreeAcceptanceDTO partnerAcceptance; @ApiModelProperty("检查项") private List assessmentDataDOS; } 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 d7a01122f..48487696c 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 @@ -4,6 +4,7 @@ import com.cool.store.context.LoginUserInfo; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; import com.cool.store.request.BookingAcceptanceRequest; import com.cool.store.response.FitmentResponse; @@ -84,8 +85,9 @@ public interface DecorationService { /** * @Auther: wangshuo * @Date: 2024/4/29 - * @description:提交三方验收 + * @description:提交三方验收检查项 */ + Boolean submitThreeCheck(ThreeAcceptanceCheckRequest request); Boolean submitAcceptance(ThreeAcceptanceRequest request,PartnerUserInfoVO minUser, LoginUserInfo pcUser ); /** * @Auther: wangshuo diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java index 900f2889b..01aad5a1b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java @@ -1,5 +1,6 @@ package com.cool.store.service.impl; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.AssessmentDataDAO; import com.cool.store.entity.AssessmentDataDO; import com.cool.store.service.AssessmentDataService; @@ -20,11 +21,17 @@ public class AssessmentDataServiceImpl implements AssessmentDataService { private AssessmentDataDAO assessmentDataDAO; @Override public Boolean batchInsert(List assessmentDataDOS) { + if (assessmentDataDOS.isEmpty()) { + return Boolean.FALSE; + } return assessmentDataDAO.batchInsert(assessmentDataDOS); } @Override public Integer batchUpdate(List assessmentDataDOS) { + if (assessmentDataDOS.isEmpty()) { + return CommonConstants.ZERO; + } return assessmentDataDAO.batchUpdate(assessmentDataDOS); } } 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 0f3b7ea31..62f88f738 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 @@ -17,6 +17,7 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.ShopInfoMapper; import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; import com.cool.store.request.BookingAcceptanceRequest; import com.cool.store.response.FitmentResponse; @@ -406,6 +407,23 @@ public class DecorationServiceImpl implements DecorationService { return constructionScheduleDTO; } + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean submitThreeCheck(ThreeAcceptanceCheckRequest request) { + log.info("submitThreeCheck, request:{} ", JSONObject.toJSONString(request)); + List assessmentDataDOS = new ArrayList<>(); + BeanUtil.copyProperties(request.getAssessmentDataDTOS(),assessmentDataDOS); + for(AssessmentDataDO assessmentDataDO : assessmentDataDOS){ + assessmentDataDO.setShopId(request.getShopId()); + } + Boolean assessment = assessmentDataService.batchInsert(assessmentDataDOS); + if (assessment == Boolean.FALSE) { + log.error("三方验收插入检查项失败"); + throw new ServiceException(ErrorCodeEnum.CHECK_ITEM); + } + return assessment; + } + @Override public PageInfo getFitmentAcceptanceList(Integer subStageStatus, LoginUserInfo user, Integer pageNum, Integer pageSize) { List authRegionIds = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(user.getUserId()); @@ -530,17 +548,17 @@ public class DecorationServiceImpl implements DecorationService { } //工程部验收签名 JSONObject engineering = new JSONObject(); - engineering.put("pic", request.getEngineeringAcceptanceSignatures()); + engineering.put("pic", request.getEngineeringAcceptance().getAcceptanceSignatures()); engineering.put("acceptanceTime", new Date()); - engineering.put("result", request.getEngineeringResultType()); - engineering.put("remark", request.getEngineeringComments()); + engineering.put("result", request.getEngineeringAcceptance().getResultType()); + engineering.put("remark", request.getEngineeringAcceptance().getComments()); engineering.put("status", 1); //加盟商 JSONObject partner = new JSONObject(); - partner.put("pic", request.getPartnerAcceptanceSignatures()); + partner.put("pic", request.getPartnerAcceptance().getAcceptanceSignatures()); partner.put("acceptanceTime", new Date()); - partner.put("result", request.getPartnerResultType()); - partner.put("remark", request.getPartnerComments()); + partner.put("result", request.getPartnerAcceptance().getResultType()); + partner.put("remark", request.getPartnerAcceptance().getComments()); partner.put("status", 1); AcceptanceInfoDO acceptanceInfoDO = new AcceptanceInfoDO(); acceptanceInfoDO.setShopId(request.getShopId()); @@ -562,17 +580,17 @@ public class DecorationServiceImpl implements DecorationService { JSONObject engineering = JSONObject.parseObject(acceptanceInfoDO1.getEngineeringAcceptanceSignatures()); JSONObject partner = JSONObject.parseObject(acceptanceInfoDO1.getPartnerAcceptanceSignatures()); JSONObject operations = new JSONObject(); - operations.put("pic", request.getOperationsAcceptanceSignatures()); + operations.put("pic", request.getOperationsAcceptance().getAcceptanceSignatures()); operations.put("acceptanceTime", new Date()); - operations.put("result", request.getOperationsResultType()); - operations.put("remark", request.getOperationsComments()); + operations.put("result", request.getOperationsAcceptance().getResultType()); + operations.put("remark", request.getOperationsAcceptance().getComments()); operations.put("status", 1); AcceptanceInfoDO acceptanceInfoDO = new AcceptanceInfoDO(); acceptanceInfoDO.setShopId(request.getShopId()); acceptanceInfoDO.setOperationsAcceptanceSignatures(operations.toString()); acceptanceInfoDO.setUpdateTime(new Date()); acceptanceInfoDAO.updateAcceptanceInfo(acceptanceInfoDO); - if (AuditResultTypeEnum.PASS.getCode() == request.getOperationsResultType() + if (AuditResultTypeEnum.PASS.getCode() == operations.getInteger("result") && AuditResultTypeEnum.PASS.getCode() == partner.getInteger("result") && AuditResultTypeEnum.PASS.getCode() == engineering.getInteger("result")) { //更新阶段状态验收完毕 diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java index a59f8ec06..4b01baecb 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -53,8 +53,6 @@ public class SignValidateFilter implements Filter { "/xfsg/favicon.ico", "/xfsg/v2/api-docs","/**/test/**", "/xfsg/mini/program/oss/getUploadFileConfig", - //TODO 删除下面 - "/xfsg/mini/**", "/xfsg/mini/program/v1/partnerManage/partner/getIdentityCardInfo", "/**/swagger*/**", "/**/webjars/**", 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 c71676ffb..86d15d0fb 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 @@ -4,6 +4,7 @@ import com.cool.store.context.PartnerUserHolder; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; import com.cool.store.response.FitmentResponse; import com.cool.store.response.ResponseResult; @@ -80,6 +81,11 @@ public class MiniDecorationController { public ResponseResult> getChecks(@RequestParam Integer type){ return ResponseResult.success(assessmentTemplateService.listByType(type)); } + @ApiOperation("提交三方验收检查项") + @PostMapping("/submitThreeChecks") + public ResponseResult submitThreeChecks(@RequestBody ThreeAcceptanceCheckRequest request){ + return ResponseResult.success(decorationService.submitThreeCheck(request)); + } @ApiOperation("提交三方验收") @PostMapping("/submitThreeAcceptance") public ResponseResult submitThreeAcceptance(@RequestBody ThreeAcceptanceRequest request){