diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 24348b84f..90e504260 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -180,6 +180,10 @@ public enum ErrorCodeEnum { UNISSUED_STATEMENT(109010, "该门店未发布账单,无法付款", null), + FRANCHISE_AGREEMENT_FALSE(109011, "特许经营合同API调用失败", null), + + NEW_STORE_FALSE(109011, "新店开业流程API调用失败", null), + INSERT_OPENING_OPERATION_PLAN_AUDIT_FALSE(103001,"插入运营方案审核信息失败",null), INSERT_OPENING_OPERATION_PLAN_FALSE(103002,"插入运营方案失败",null), @@ -195,12 +199,13 @@ public enum ErrorCodeEnum { USER_NOT_LOGIN(103021,"用户未登录",null), XFSG_SERVICE_ERROR(103099,"鲜丰服务调用失败",null), GET_FIRST_ORDER(103021,"获取鲜丰首批订货金失败",null), - YLF_ERROR(110001, "云立方接口异常!异常信息:{0}", null), //装修 THREE_ACCEPTANCE(121001,"提交三方验收失败",null), CHECK_ITEM(12002,"插入检查项失败",null), FITMENT_FAIL(12003,"装修款阶段未完成",null), + SEE_ACCEPTANCE_ERROR(12004,"获取鲜丰撤场数据失败",null), + SEE_ACCEPTANCE_AUDIT_NULL(12005,"视觉验收结果为空",null), ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java index e92c046eb..623d47b94 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java @@ -44,6 +44,7 @@ public enum MessageEnum { MESSAGE_25("您有一个门店待进行三方验收,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), MESSAGE_26("您有一个门店需要上传开业运营方案,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), MESSAGE_27("您有一个门店需要上传首批订货清单,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), + MESSAGE_28("您有一个门店需要进行视频验收,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), ; private String title; @@ -136,6 +137,9 @@ public enum MessageEnum { case MESSAGE_27: return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" + URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=orderList×tamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId"), StandardCharsets.UTF_8.name()); + case MESSAGE_28: + return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" + + URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=eyeAcceptance×tamp="+System.currentTimeMillis()+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name()); default: return ""; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/prepare/newStore/PassengerFlowEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/prepare/newStore/PassengerFlowEnum.java index 023f6e686..ff601c345 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/prepare/newStore/PassengerFlowEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/prepare/newStore/PassengerFlowEnum.java @@ -6,9 +6,9 @@ import java.util.function.Function; import java.util.stream.Collectors; public enum PassengerFlowEnum { - BELOW_1000(0,"1000以下"), - TO_1000_10000(1,"1000-1万"), - MORE_THAN_10000(2,"1万以上"), + BELOW_1000(0,"1000以下",10), + TO_1000_10000(1,"1000-1万",20), + MORE_THAN_10000(2,"1万以上",30), @@ -16,10 +16,12 @@ public enum PassengerFlowEnum { private Integer code; private String desc; + private Integer type; - PassengerFlowEnum(Integer code, String desc) { + PassengerFlowEnum(Integer code, String desc,Integer type) { this.code = code; this.desc = desc; + this.type = type; } public Integer getCode() { @@ -38,6 +40,14 @@ public enum PassengerFlowEnum { this.desc = desc; } + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + public static final Map map = Arrays.stream(values()).collect(Collectors.toMap(PassengerFlowEnum::getCode, Function.identity())); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java index 813f7a105..894fa4935 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java @@ -58,7 +58,8 @@ public class AssessmentDataDAO { public Integer selectCount(String userId, Long shopId) { Example example = new Example(AssessmentDataDO.class); - example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIsNotNull("qualified"); + example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId) + .andEqualTo("qualified", Boolean.TRUE); return assessmentDataMapper.selectCountByExample(example); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java index e89610718..7ab53c9fb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java @@ -61,10 +61,9 @@ public class EmployeeTrainingDAO { public List assessmentUserList(String name, String practicalAssessmentUserId, Integer assessmentStatus, String estimatedAssessmentBeginTime, String estimatedAssessmentEndTime, - String actualAssessmentBeginTime, String actualAssessmentEndTime, List storeIdList, - List authRegionIdList) { + String actualAssessmentBeginTime, String actualAssessmentEndTime, List storeIdList) { return employeeTrainingMapper.assessmentUserList(name, practicalAssessmentUserId, assessmentStatus, estimatedAssessmentBeginTime, - estimatedAssessmentEndTime, actualAssessmentBeginTime, actualAssessmentEndTime, storeIdList, authRegionIdList); + estimatedAssessmentEndTime, actualAssessmentBeginTime, actualAssessmentEndTime, storeIdList); } public List theoreticalList() { @@ -78,11 +77,8 @@ public class EmployeeTrainingDAO { } public Integer unCompleteNum(Long shopId) { - List statusList = new ArrayList<>(); - statusList.add(0); - statusList.add(1); Example example = new Example(EmployeeTrainingDO.class); - example.createCriteria().andIn("assessmentStatus", statusList).andEqualTo("shopId", shopId); + example.createCriteria().andEqualTo("shopId", shopId).andCondition("theoreticalExamStatus != 1").andCondition("practical_exam_status != 1", 1); return employeeTrainingMapper.selectCountByExample(example); } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAuditInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAuditInfoDAO.java index 4007dac34..c91f6bb2e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAuditInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAuditInfoDAO.java @@ -56,9 +56,8 @@ public class ShopAuditInfoDAO { return shopAuditInfoMapper.updateByPrimaryKeySelective(shopAuditInfoDO); } - public Long selectIdByShopId(Long shopId) { - return shopAuditInfoMapper.selectAuditIdByShopId(shopId); + public List getAuditList(Long shopId,Integer auditType) { + return shopAuditInfoMapper.getAuditList(shopId,auditType); } - } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index e2e031354..5e2695a56 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -13,6 +13,7 @@ import com.cool.store.request.PreparationRequest; import com.cool.store.vo.shop.StageShopCountVO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -156,4 +157,5 @@ public class ShopInfoDAO { } return shopInfoMapper.selectByStoreNum(storeNum); } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java index 908eef2c9..d206d2381 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java @@ -26,5 +26,5 @@ public interface EmployeeTrainingMapper extends Mapper { @Param("assessmentStatus") Integer assessmentStatus, @Param("estimatedAssessmentBeginTime") String estimatedAssessmentBeginTime, @Param("estimatedAssessmentEndTime") String estimatedAssessmentEndTime, @Param("actualAssessmentBeginTime") String actualAssessmentBeginTime, @Param("actualAssessmentEndTime") String actualAssessmentEndTime, - @Param("storeIdList") List storeIdList, @Param("authRegionIdList") List authRegionIdList); + @Param("storeIdList") List storeIdList); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java index b7d8831c7..29824bf89 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java @@ -86,6 +86,8 @@ public interface RegionMapper { List getSubRegionIdsByRegionIds( @Param("regionIds")List regionIds); + List getStoreIdsByRegionIds( @Param("regionIds")List regionIds); + List getSubIdsByRegionpaths( @Param("regionPaths")List regionPaths); List getRegionPathByRegionIds( @Param("regionIds")List regionIds); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java index 504b20a8f..3391e2f54 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java @@ -15,10 +15,5 @@ public interface ShopAuditInfoMapper extends Mapper { List getListByShopIdAndType(@Param("shopId") Long shopId, @Param("type") Integer type); - /** - * @Auther: wangshuo - * @Date: 2024/4/23 - * @description:根据店铺id查询审批结果 - */ - Long selectAuditIdByShopId(@Param("shopId") Long shopId); + List getAuditList(@Param("shopId") Long shopId,@Param("auditType") Integer auditType); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java index 48915e1b7..2456073af 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java @@ -86,5 +86,7 @@ public interface ShopInfoMapper extends Mapper { * @Date: 2024/5/3 * @description:根据区域id查询所有处于XXX的店铺 */ - List selectShopListByRegionId(@Param("regionIds") List regionIds,@Param("subStageStatus")List subStageStatus); + List selectShopListByRegionId(@Param("regionIds") List regionIds,@Param("subStageStatus")List subStageStatus,@Param("request")String request); + + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java index a9a7f09dd..90374bcc0 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java @@ -7,4 +7,7 @@ import tk.mybatis.mapper.common.Mapper; public interface SignFranchiseMapper extends Mapper { SignFranchiseDO selectByShopId(@Param("shopId") Long shopId); + + void updateAuditByShopId(@Param("auditId") Long auditId, + @Param("shopId") Long shopId); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index 8f60a4d2a..6f1c0fd61 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -181,9 +181,7 @@ left join xfsg_employee_training e on e.xfsg_user_detail_id = u.id left join xfsg_shop_info s on s.id = u.shop_id where u.deleted = 0 - - and e.practical_assessment_user_id = #{practicalAssessmentUserId} - + and e.assessment_status = #{assessmentStatus} @@ -202,17 +200,19 @@ and u.username like concat('%',#{name},'%') - + + and (e.practical_assessment_user_id = #{practicalAssessmentUserId} + or e.training_store_id in + + #{item} + + ) + + and e.training_store_id in #{item} - - and u.region_id in - - #{item} - - \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml index 3a7bc2e67..940d73851 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml @@ -285,6 +285,17 @@ region_path like concat("%", #{region}, "%") + + - select - id - from - xfsg_shop_audit_info - where - shop_id = #{shopId} and deleted = 0 - + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index d37aeba89..ca08c09b5 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -168,7 +168,11 @@ #{item} + + and xsi.shop_name Like concat("%",#{request},"%") or xsi.shop_num Like concat("%",#{request},"%") + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml index 9ed51939b..a45af2175 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml @@ -1,9 +1,16 @@ + + update xfsg_sign_franchise + set audit_id = #{auditId} + where shop_id = #{shopId} + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AcceptanceListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AcceptanceListRequest.java index a80668a0b..51e013126 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AcceptanceListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AcceptanceListRequest.java @@ -1,5 +1,7 @@ package com.cool.store.request; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; import lombok.Data; import org.springframework.web.bind.annotation.RequestParam; @@ -13,7 +15,9 @@ import java.util.List; */ @Data public class AcceptanceListRequest { - + @ApiModelProperty("门店名称或编码") + private String request; + @ApiModelProperty("阶段状态") private List subStageStatus; private Integer pageNum; private Integer pageSize; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java index 8a3447ea3..1decb1ae3 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -26,7 +26,7 @@ public class AddSignFranchiseRequest { @ApiModelProperty("是否有营业执照 0-是 1-否") private Integer isBusinessLicense; - @ApiModelProperty("是否有食营 0-是 1-否") + @ApiModelProperty("是否有食营 0-是 2-否[二证合一] 3-否[[三小一摊] 4-否[暂未办理]") private Integer isFoodLicense; @ApiModelProperty("合同开始日期") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java index 7761cb8f4..bc1f711e8 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/FranchiseAgreementRequest.java @@ -430,4 +430,9 @@ public class FranchiseAgreementRequest { * 5 A105 */ private String zqyty; + + /** + * 装修合同业务分类,默认:3121375929356587766 + */ + private String zxhtywfl; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/SeeAcceptanceRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/SeeAcceptanceRequest.java new file mode 100644 index 000000000..046e845c3 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/SeeAcceptanceRequest.java @@ -0,0 +1,22 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Auther: WangShuo + * @Date: 2024/05/17/下午6:15 + * @Version 1.0 + * @注释: + */ +@Data +public class SeeAcceptanceRequest { + private Long shopId; + @ApiModelProperty("'结果类型 0通过,1拒绝',") + @NotNull(message = "审核结果不能为空") + private Integer resultType; + @ApiModelProperty("原因") + private String reason; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/SeeAccetanceListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/SeeAccetanceListRequest.java new file mode 100644 index 000000000..e2c23bd76 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/SeeAccetanceListRequest.java @@ -0,0 +1,18 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: WangShuo + * @Date: 2024/05/17/下午8:32 + * @Version 1.0 + * @注释: + */ +@Data +public class SeeAccetanceListRequest { + @ApiModelProperty("门店名称或编码") + private String request; + private Integer pageNum; + private Integer pageSize; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java index 9fbc44c32..885dd4041 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java @@ -224,8 +224,8 @@ public class SubmitLicenseResponse { submitLicenseResponse.setLicenseUrl(licenseTransactDO.getCreditUrl()); submitLicenseResponse.setLicenseName(licenseTransactDO.getBusinessLicense()); submitLicenseResponse.setSocialCreditCode(licenseTransactDO.getCreditCode()); - submitLicenseResponse.setIdCardAndLicense1(licenseTransactDO.getIdCardNegativeCreditUrl()); - submitLicenseResponse.setIdCardAndLicense2(licenseTransactDO.getIdCardPositiveCreditUrl()); + submitLicenseResponse.setIdCardAndLicense2(licenseTransactDO.getIdCardNegativeCreditUrl()); + submitLicenseResponse.setIdCardAndLicense1(licenseTransactDO.getIdCardPositiveCreditUrl()); submitLicenseResponse.setFoodLicenseUrl(licenseTransactDO.getFoodBusinessLicenseUrl()); submitLicenseResponse.setBusinessPremises(licenseTransactDO.getFoodLicenseAddress()); submitLicenseResponse.setFoodLicenseCode(licenseTransactDO.getFoodBusinessLicenseCode()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java index ee23060ee..c0da06413 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java @@ -27,7 +27,7 @@ public interface CoolStoreStartFlowService { /** *特许经营合同 * @param request - * @param type 0:个人 1:企业 + * @param type 1:个人 2:企业 * @return */ ResponseResult franchiseAgreement(FranchiseAgreementRequest request,Integer type); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/SeeAcceptanceService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/SeeAcceptanceService.java new file mode 100644 index 000000000..15d664604 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SeeAcceptanceService.java @@ -0,0 +1,25 @@ +package com.cool.store.service; + +import com.cool.store.context.LoginUserInfo; +import com.cool.store.dto.decoration.ConstructionScheduleDTO; +import com.cool.store.entity.ShopAuditInfoDO; +import com.cool.store.request.AcceptanceListRequest; +import com.cool.store.request.SeeAcceptanceRequest; +import com.cool.store.request.SeeAccetanceListRequest; +import com.cool.store.vo.fitmentCheckVO; +import com.github.pagehelper.PageInfo; + +import java.util.List; + +/** + * @Auther: WangShuo + * @Date: 2024/05/17/下午5:57 + * @Version 1.0 + * @注释: + */ +public interface SeeAcceptanceService { + Boolean auditSeeAcceptance(SeeAcceptanceRequest seeAcceptanceRequest, LoginUserInfo user); + ConstructionScheduleDTO getWithdrawal(Long shopId); + List getAuditInfo(Long shopId); + PageInfo getAcceptanceList(AcceptanceListRequest request, LoginUserInfo user); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java index 317fbcef1..2e64bbea3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java @@ -29,6 +29,13 @@ public interface UserAuthMappingService { */ List getAuthRegionIdAndSubRegionIdByUserId(String userId); + /** + * 获取用户授权的所有门店id + * @param userId + * @return + */ + List getAuthStoreIdAndSubRegionIdByUserId(String userId); + /** * 提供 根据职位 意向区域 查 对应人的接口 同时返回人名字 * @param userRoleEnum diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java index 6cf9f21f2..6a183fe32 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java @@ -52,7 +52,8 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, request, InitiatingResponse.class); log.info("newStore API response:{}", JSONObject.toJSONString(initiatingResponse)); if (initiatingResponse.getCode() != 0L) { - return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); + throw new ServiceException(ErrorCodeEnum.FRANCHISE_AGREEMENT_FALSE, initiatingResponse.getMsg(),initiatingResponse.getData()); +// return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); } else { //更新阶段信息 shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_31, null); @@ -69,15 +70,17 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); String url = null; - if (Constants.ONE_INTEGER == type) { + if (Constants.TWO_INTEGER == type) { url = xfsgUrl + Constants.FRANCHISE_AGREEMENT_COMPANY + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); - } else if (Constants.TWO_INTEGER == type) { + request.setZxhtywfl("3121375929356587766"); + } else if (Constants.ONE_INTEGER == type) { url = xfsgUrl + Constants.FRANCHISE_AGREEMENT_PERSON + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); } InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, request, InitiatingResponse.class); log.info("franchiseAgreement API response:{}", JSONObject.toJSONString(initiatingResponse)); if (initiatingResponse.getCode() != 0L) { - return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); +// throw new ServiceException(500, initiatingResponse.getMsg(), initiatingResponse.getData()); + throw new ServiceException(ErrorCodeEnum.FRANCHISE_AGREEMENT_FALSE, initiatingResponse.getMsg(),initiatingResponse.getData()); } else { return new ResponseResult(200000, initiatingResponse.getMsg(), initiatingResponse.getData()); } 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 049678aef..329ef721e 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 @@ -176,7 +176,7 @@ public class DecorationServiceImpl implements DecorationService { } //预算 BudgetDTO proposedBookBudget = getBudgetDTOS(decoration); - if (proposedBookBudget == null) return null; + if (proposedBookBudget == null) {return null;} BigDecimal vzHj = proposedBookBudget.getVzHj(); //支付二维码url Long regionId = shopInfoDAO.getRegionIdByid(shopId); @@ -286,15 +286,32 @@ public class DecorationServiceImpl implements DecorationService { name.add(CommonConstants.WITHDRAWAL); ConstructionScheduleDTO approach = new ConstructionScheduleDTO(); AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoDAO.selectByShopId(shopId); + ConstructionScheduleDTO constructionSage = new ConstructionScheduleDTO(); + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfo.getLineId()); for (ConstructionScheduleDTO constructionScheduleDTO : constructionSchedule) { if (name.contains(constructionScheduleDTO.getName())) { collect.add(constructionScheduleDTO); if (constructionScheduleDTO.getName().equals(CommonConstants.APPROACH)) { approach = constructionScheduleDTO; } - //计划撤场时间 + //计划撤场时间 //如果撤场并且视觉验收状态为-100则更新待验收 if (constructionScheduleDTO.getName().equals(CommonConstants.WITHDRAWAL)) { + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_13); + if(shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus()) + && constructionScheduleDTO.getState().equals(ConstructionPhaseEnum.construction_FINSH.getCode())){ + shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_130); + //发送给品牌设计经理 + EnterpriseUserDO enterpriseUser = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.DESIGN_MANAGER, lineInfo.getWantShopAreaId()); + Map messageMap = new HashMap<>(); + messageMap.put("storeName",shopInfo.getShopName()); + messageMap.put("shopId",String.valueOf(shopId)); + messageMap.put("shopName",shopInfo.getShopName()); + messageMap.put("partnerUsername",lineInfo.getUsername()); + messageMap.put("partnerMobile",lineInfo.getMobile()); + commonService.sendMessage(Arrays.asList(enterpriseUser.getUserId()), MessageEnum.MESSAGE_28, messageMap); + } ConstructionScheduleDTO withdrawal = constructionScheduleDTO; if (Objects.nonNull(acceptanceInfoDO)) { Date date = CoolDateUtils.parseDate(withdrawal.getPlanBeginDate(), CoolDateUtils.DATE_FORMAT_DAY); @@ -306,12 +323,12 @@ public class DecorationServiceImpl implements DecorationService { constructionSage = constructionScheduleDTO; } } + //设置进场时间xfsg_acceptance_info if (Objects.nonNull(acceptanceInfoDO) && StringUtils.isNotEmpty(approach.getActualBeginDate())) { Date date = CoolDateUtils.parseDate(approach.getActualBeginDate(), CoolDateUtils.DATE_FORMAT_DAY); acceptanceInfoDO.setActualEntryTime(date); } - //施工完成时间,计划开始和完成时间 // if (Objects.nonNull(acceptanceInfoDO) && StringUtils.isNotEmpty(constructionSage.getActualEndDate())) { Date date = CoolDateUtils.parseDate(constructionSage.getActualEndDate(), CoolDateUtils.DATE_FORMAT_DAY); @@ -327,6 +344,8 @@ public class DecorationServiceImpl implements DecorationService { } acceptanceInfoDO.setUpdateTime(new Date()); acceptanceInfoDAO.updateAcceptanceInfo(acceptanceInfoDO); + + //如果完成更新施工阶段状态 if (ConstructionPhaseEnum.construction_FINSH.getCode().equals(constructionSage.getState())) { shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112); @@ -465,7 +484,7 @@ public class DecorationServiceImpl implements DecorationService { List fitmentCheckVOList = new ArrayList<>(); //shopId,lineid,regionid,shopname,storenum, - List shopInfoDOS = shopInfoMapper.selectShopListByRegionId(regions, request.getSubStageStatus()); + List shopInfoDOS = shopInfoMapper.selectShopListByRegionId(regions, request.getSubStageStatus(),null); PageInfo pageInfo = new PageInfo<>(shopInfoDOS); if (shopInfoDOS.isEmpty()) { log.info("该工程部监理下门店为空"); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java index 3b02bc5d0..e335b15bd 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java @@ -431,18 +431,27 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { @Override public PageInfo assessmentUserList(String userId, EmployeeAssessmentRequest request) { - List authRegionIdList = new ArrayList<>(); - if (StringUtils.isNotBlank(userId) && !sysRoleService.checkIsAdmin(userId)) { - authRegionIdList = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId); + List requestStoreIdList = request.getStoreIdList(); + Boolean isAdmin = sysRoleService.checkIsAdmin(userId); + if (CollectionUtils.isEmpty(requestStoreIdList) && StringUtils.isNotBlank(userId) && !isAdmin) { + requestStoreIdList = userAuthMappingService.getAuthStoreIdAndSubRegionIdByUserId(userId); + if(CollectionUtils.isEmpty(requestStoreIdList)){ + return new PageInfo<>(); + } + } + String practicalAssessmentUserId = userId; + //空意味着管理员 + if(isAdmin){ + practicalAssessmentUserId = null; } PageHelper.startPage(request.getPageNum(), request.getPageSize()); List employeeTrainingVOList = employeeTrainingDAO - .assessmentUserList(request.getName(), userId, request.getAssessmentStatus(), + .assessmentUserList(request.getName(), practicalAssessmentUserId, request.getAssessmentStatus(), DateUtils.parseLongDateToStr(request.getEstimatedAssessmentBeginTime()), DateUtils.parseLongDateToStr(request.getEstimatedAssessmentEndTime()), DateUtils.parseLongDateToStr(request.getActualAssessmentBeginTime()), - DateUtils.parseLongDateToStr(request.getActualAssessmentEndTime()), request.getStoreIdList(), authRegionIdList); + DateUtils.parseLongDateToStr(request.getActualAssessmentEndTime()), requestStoreIdList); if (CollectionUtils.isEmpty(employeeTrainingVOList)) { return new PageInfo<>(employeeTrainingVOList); } @@ -640,10 +649,10 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { } - if (employeeTrainingDO.getPracticalExamStatus() == CommonConstants.TWO || employeeTrainingDO.getTheoreticalExamStatus() == CommonConstants.TWO) { + if (employeeTrainingDO.getPracticalExamStatus() == CommonConstants.TWO) { employeeTrainingDO.setAssessmentStatus(CommonConstants.THREE); } - if (employeeTrainingDO.getPracticalExamStatus() == 1 && employeeTrainingDO.getTheoreticalExamStatus() == 1) { + if (employeeTrainingDO.getPracticalExamStatus() == 1) { employeeTrainingDO.setAssessmentStatus(CommonConstants.TWO); } employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java index aa1653c3a..c8267e707 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java @@ -113,7 +113,8 @@ public class PreparationServiceImpl implements PreparationService { preparationScheduleVO.setRegionNodeName(regionNameMap.getOrDefault(x.getRegionId(), "")); ScheduleDTO dto = scheduleDTOMap.getOrDefault(x.getId(), new ScheduleDTO()); preparationScheduleVO.setCompletionColumn(dto.getCompletionColumn()); - preparationScheduleVO.setTotalColumn(dto.getTotalColumn()); + //-1 去掉视觉验收 + preparationScheduleVO.setTotalColumn(dto.getTotalColumn()-1); ShopStageInfoDO stageInfoDO = shopStageInfoDOMap.getOrDefault(x.getId(), new ShopStageInfoDO()); if (StringUtils.isNotEmpty(stageInfoDO.getActualCompleteTime())) { preparationScheduleVO.setContractCompletionTime(DateUtils.strToDate(stageInfoDO.getActualCompleteTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SeeAcceptanceServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SeeAcceptanceServiceImpl.java new file mode 100644 index 000000000..9a5ffaff3 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SeeAcceptanceServiceImpl.java @@ -0,0 +1,255 @@ +package com.cool.store.service.impl; + +import com.cool.store.constants.CommonConstants; +import com.cool.store.context.LoginUserInfo; +import com.cool.store.dao.*; +import com.cool.store.dto.decoration.ConstructionScheduleDTO; +import com.cool.store.dto.decoration.DecorationDTO; +import com.cool.store.dto.decoration.ProjectDTO; +import com.cool.store.entity.*; +import com.cool.store.enums.AuditResultTypeEnum; +import com.cool.store.enums.AuditTypeEnum; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.UserRoleEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.mapper.LineInfoMapper; +import com.cool.store.mapper.ShopInfoMapper; +import com.cool.store.request.AcceptanceListRequest; +import com.cool.store.request.SeeAcceptanceRequest; +import com.cool.store.request.SeeAccetanceListRequest; +import com.cool.store.service.*; +import com.cool.store.utils.poi.StringUtils; +import com.cool.store.vo.fitmentCheckVO; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @Auther: WangShuo + * @Date: 2024/05/17/下午5:58 + * @Version 1.0 + * @注释: + */ +@Service +public class SeeAcceptanceServiceImpl implements SeeAcceptanceService { + private static final Logger log = LoggerFactory.getLogger(SeeAcceptanceServiceImpl.class); + @Resource + private DecorationService decorationService; + @Resource + private ShopInfoDAO shopInfoDAO; + @Resource + private YlfService ylfService; + @Resource + private ShopAuditInfoDAO shopAuditInfoDAO; + @Resource + private TempUserDetailDAO tempUserDetailDAO; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private PreparationService preparationService; + @Resource + private UserAuthMappingService userAuthMappingService; + @Resource + private ShopInfoMapper shopInfoMapper; + @Resource + private LineInfoMapper lineInfoMapper; + @Resource + private EnterpriseUserDAO enterpriseUserDAO; + @Resource + private RegionService regionService; + @Resource + private SysRoleService sysRoleService; + @Resource + private AcceptanceInfoDAO acceptanceInfoDAO; + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean auditSeeAcceptance(SeeAcceptanceRequest request, LoginUserInfo user) { + if (request.getShopId() == null || request.getShopId() == 0) { + throw new ServiceException(ErrorCodeEnum.SHOP_ID_IS_NULL); + } + if (request.getResultType() == null) { + throw new ServiceException(ErrorCodeEnum.SEE_ACCEPTANCE_AUDIT_NULL); + } + if (Objects.isNull(user)) { + throw new ServiceException(ErrorCodeEnum.USER_NOT_LOGIN); + } + + ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); + shopAuditInfoDO.setShopId(request.getShopId()); + shopAuditInfoDO.setAuditType(AuditTypeEnum.VISUAL_ACCEPTANCE.getCode()); + shopAuditInfoDO.setSubmittedUserId(user.getUserId()); + shopAuditInfoDO.setSubmittedUserName(user.getName()); + shopAuditInfoDO.setResultType(request.getResultType()); + if (AuditResultTypeEnum.PASS.getCode().equals(request.getResultType())) { + shopAuditInfoDO.setPassReason(request.getReason()); + } else { + shopAuditInfoDO.setRejectReason(request.getReason()); + } + // TODO xfsg_user_detail_id + shopAuditInfoDO.setCreateTime(new Date()); + shopAuditInfoDO.setDataType(CommonConstants.ONE); + Long id = shopAuditInfoDAO.addAuditInfo(shopAuditInfoDO); + if (AuditResultTypeEnum.PASS.getCode().equals(request.getResultType())) { + shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_132, id); + preparationService.whetherToOpenForAcceptance(request.getShopId()); + } else { + shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_131, id); + } + return true; + } + + @Override + public ConstructionScheduleDTO getWithdrawal(Long shopId) { + DecorationDTO decoration = getDecorationDTO(shopId); + if (decoration == null) { + log.error("DecorationModel is null"); + return null; + } + ConstructionScheduleDTO constructionScheduleDTO = new ConstructionScheduleDTO(); + List constructionSchedule = decoration.getConstructionSchedule(); + for (ConstructionScheduleDTO a : constructionSchedule) { + if (CommonConstants.WITHDRAWAL.equals(a.getName())) { + constructionScheduleDTO = a; + } + } + if (Objects.isNull(constructionScheduleDTO)) { + throw new ServiceException(ErrorCodeEnum.SEE_ACCEPTANCE_ERROR); + } + return constructionScheduleDTO; + + } + + @Override + public List getAuditInfo(Long shopId) { + return shopAuditInfoDAO.getAuditList(shopId, AuditTypeEnum.VISUAL_ACCEPTANCE.getCode()); + } + + @Override + public PageInfo getAcceptanceList(AcceptanceListRequest request, LoginUserInfo user) { + List authRegionIds = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(user.getUserId()); + List regions = new ArrayList<>(); + for (String authRegionId : authRegionIds) { + regions.add(Long.parseLong(authRegionId)); + } + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + if (regions.isEmpty()) { + log.info("该用户下权限没有管理区域"); + return new PageInfo<>(); + } + List fitmentCheckVOList = new ArrayList<>(); + //shopId,lineid,regionid,shopname,storenum, + + List shopInfoDOS = shopInfoMapper.selectShopListByRegionId(regions, request.getSubStageStatus(),request.getRequest()); + PageInfo pageInfo = new PageInfo<>(shopInfoDOS); + if (shopInfoDOS.isEmpty()) { + log.info("该工程部监理下门店为空"); + return pageInfo; + } + Map ShopIdmap = shopInfoDOS.stream().collect(Collectors.toMap(ShopInfoDO::getId, dto1 -> dto1)); + //招商经理,选址人员(拓展经理)id + List lineIds = shopInfoDOS.stream().filter(o -> o.getLineId() != null) + .map(ShopInfoDO::getLineId).distinct().collect(Collectors.toList()); + List lineInfos = lineInfoMapper.getByLineIds(lineIds); + Map lineInfoDOMap = lineInfos.stream().collect(Collectors.toMap(LineInfoDO::getId, dto -> dto)); + //招商name + List userIds = new ArrayList<>(); + userIds.addAll(lineInfos.stream().filter(o -> o.getInvestmentManager() != null) + .map(LineInfoDO::getInvestmentManager).distinct().collect(Collectors.toList())); + //选址人员(拓展经理)name + userIds.addAll(lineInfos.stream().filter(o -> o.getDevelopmentManager() != null) + .map(LineInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList())); + Map userNameMap = enterpriseUserDAO.getUserNameMap(userIds); + //所属战区 + List regionIds = shopInfoDOS.stream().filter(o -> o.getRegionId() != null). + map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList()); + Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); + //战区经理name + Map fightManger = new HashMap<>(); + for (Long regionId : regionIds) { + String fightMangerUserId = sysRoleService.getUserIdByRegionIdWithRolePriority(regionId, Arrays.asList(UserRoleEnum.THEATER_MANAGER)); + String userName = enterpriseUserDAO.getUserName(fightMangerUserId); + fightManger.put(regionId, userName); + } + //施工实际完成实际 + List shopIds = new ArrayList<>(ShopIdmap.keySet()); + List acceptanceInfoDOS = acceptanceInfoDAO.selectByShopIds(shopIds); + Map acceptanceInfoDOSMap = acceptanceInfoDOS.stream() + .collect(Collectors.toMap(AcceptanceInfoDO::getShopId, dto1 -> dto1)); + //验收状态 + List subStageList = shopStageInfoDAO.getSubStageList(shopIds, ShopSubStageEnum.SHOP_STAGE_13.getShopSubStage()); + List audits = subStageList.stream().filter(o -> o.getAuditId() != null).map(ShopStageInfoDO::getAuditId).collect(Collectors.toList()); + //验收时间 + List auditInfoList = shopAuditInfoDAO.getAuditInfoList(audits); + Map auditMap = auditInfoList.stream().filter(o -> o.getShopId() != null).collect(Collectors.toMap(ShopAuditInfoDO::getShopId, Function.identity())); + + Map ShopStageInfoDOMap = subStageList.stream() + .collect(Collectors.toMap(ShopStageInfoDO::getShopId, dto1 -> dto1)); + for (ShopInfoDO shopInfoDO : shopInfoDOS) { + Long shopId = shopInfoDO.getId(); + Long lineId = shopInfoDO.getLineId(); + Long regionId = shopInfoDO.getRegionId(); + fitmentCheckVO fitmentCheckVO = new fitmentCheckVO(); + fitmentCheckVO.setShopId(shopId); + fitmentCheckVO.setLineId(lineId); + fitmentCheckVO.setShopName(shopInfoDO.getShopName()); + fitmentCheckVO.setStoreNum(shopInfoDO.getStoreNum()); + fitmentCheckVO.setRegionId(regionId); + fitmentCheckVO.setRegion(regionNameMap.get(regionId)); + fitmentCheckVO.setFightManager(fightManger.get(regionId)); + if (lineId != null) { + fitmentCheckVO.setInvestmentManagerId(lineInfoDOMap.get(lineId) + .getInvestmentManager()); + fitmentCheckVO.setInvestmentManager(userNameMap.get(lineInfoDOMap.get(lineId) + .getInvestmentManager())); + fitmentCheckVO.setSitterId(lineInfoDOMap.get(lineId) + .getDevelopmentManager()); + fitmentCheckVO.setSitterName(userNameMap.get(lineInfoDOMap.get(lineId) + .getDevelopmentManager())); + fitmentCheckVO.setPartnerName(lineInfoDOMap.get(lineId).getUsername()); + } + AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoDOSMap.get(shopId); + if (shopId != null) { + if (Objects.nonNull(acceptanceInfoDO)) { + fitmentCheckVO.setActualEndTime(acceptanceInfoDO.getConstructionCompletionTime()); + } + } + if (Objects.nonNull(auditMap.get(shopId))) { + fitmentCheckVO.setAcceptanceTime(auditMap.get(shopId).getCreateTime()); + } + if (Objects.nonNull(ShopStageInfoDOMap.get(shopId))) { + fitmentCheckVO.setShopSubStageStatus(ShopStageInfoDOMap.get(shopId).getShopSubStageStatus()); + } + fitmentCheckVOList.add(fitmentCheckVO); + } + pageInfo.setList(fitmentCheckVOList); + return pageInfo; + } + + + + private DecorationDTO getDecorationDTO(Long shopId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (Objects.isNull(shopInfo)) { + throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST); + } + String storeNum = shopInfo.getStoreNum(); + if (StringUtils.isNotEmpty(storeNum)) { + ProjectDTO projectList = ylfService.getProjectList(storeNum); + Long projectId = projectList.getProjectId(); + DecorationDTO decoration = ylfService.getDecoration(projectId); + return decoration; + } + return null; + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index f03583058..0ad74c529 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -114,7 +114,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu shopAuditInfoMapper.insertSelective(shopAuditInfoDO); Long auditId = shopAuditInfoDO.getId(); shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, shopSubStageStatusEnum, auditId); - systemBuildingShopMapper.updateAuditByShopId(auditId, shopId); + signFranchiseMapper.updateAuditByShopId(auditId, shopId); return true; } @@ -143,6 +143,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request, shopInfoDO, user); MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(shopInfoDO.getLineId()); + log.info("submitSignFranchise franchiseAgreementRequest :{}",JSONObject.toJSONString(franchiseAgreementRequest)); ResponseResult responseResult = coolStoreStartFlowService.franchiseAgreement(franchiseAgreementRequest, memberQuestionDO.getJoinType()); shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); return responseResult; @@ -249,7 +250,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu .jmsxm1(lineInfoDO.getUsername()) .jsrq(getDateTimeFormat(Constants.TIME_STAMP_FLAG, request.getContractStartEndTime())) .jszhhz(linePayDO.getPayAccount()) - .kdzBusinessId(AuditEnum.SIGN_FRANCHISE + "_" + shopId + "_" + lineId) + .kdzBusinessId(AuditEnum.SIGN_FRANCHISE.getCode() + "_" + shopId + "_" + lineId) .khhjzh(linePayDO.getBankName()) .lvbzj(Integer.valueOf(franchiseFeeDO.getPerformanceBond())) .lybzjdx(Integer.valueOf(franchiseFeeDO.getPerformanceBond())) @@ -263,7 +264,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu .partyb_type(licenseTransactDO.getLicenseType()) .ppsyfbl(Double.parseDouble(request.getBrandFee())) .psfl("以实际结算为准") - .qsdz("PUBLIC_COMPANY") + .qsdz("PUBLIC_COMPANY,PUBLIC_OPERATOR") .qsrq(getDateTimeFormat(Constants.TIME_STAMP_FLAG, request.getContractStartTime())) .qylx(SignTypeEnum.getWorkflowStageByCode(request.getSignType()).getCode()) .qys_dzyz("2731707107593166911") @@ -378,7 +379,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu if (Objects.nonNull(lineInfoDO)) { addSignFranchiseResponse.setPartnerName(lineInfoDO.getUsername()); } - if (Objects.nonNull(signingBaseInfoDO)) { + if (Objects.nonNull(signingBaseInfoDO) && Objects.nonNull(memberQuestionDO)) { if (JoinTypeEnum.JOIN_TYPE_ONE.getCode().equals(memberQuestionDO.getJoinType())) { addSignFranchiseResponse.setIdCardNo(signingBaseInfoDO.getIdCardNo()); } else if (JoinTypeEnum.JOIN_TYPE_TWO.getCode().equals(memberQuestionDO.getJoinType())) { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index ef59ad550..824a25b7e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -383,7 +383,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe // zmdzt newStoreRequest.setZmdzt(10); // zmrjkllzs1 - newStoreRequest.setZmrjkllzs1(sysStoreAppRequest.getStoreDetail().getAverageDailyRs()); + newStoreRequest.setZmrjkllzs1(PassengerFlowEnum.getByCode(sysStoreAppRequest.getStoreDetail().getAverageDailyRs()).getType()); // zppsyfy newStoreRequest.setZppsyfy(0.05); // zq diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java index c4b692997..5fb106865 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java @@ -79,6 +79,20 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService { return regionIds; } + @Override + public List getAuthStoreIdAndSubRegionIdByUserId(String userId){ + List userAuthMapping = listUserAuthMappingByUserId(userId); + if(CollectionUtils.isEmpty(userAuthMapping)){ + return Lists.newArrayList(); + } + List regionIds = userAuthMapping.stream().map(UserAuthMappingDO::getMappingId).collect(Collectors.toList()); + List subRegionIds = regionMapper.getStoreIdsByRegionIds(regionIds); + if(CollectionUtils.isNotEmpty(subRegionIds)){ + regionIds.addAll(subRegionIds); + } + return regionIds; + } + /** * 提供 根据职位 意向区域 查 对应人的接口 同时返回人名字 * @param userRoleEnum diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java index 5e4cf1364..5b76d016b 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java @@ -65,6 +65,7 @@ public class EmployeeTrainingController { @ApiOperation("培训进度-列表") @PostMapping("/trainingScheduleList") public ResponseResult> trainingScheduleList(@RequestBody EmployeeTrainingRequest employeeTrainingRequest) { + employeeTrainingRequest.setAssignFlag(Boolean.TRUE); return ResponseResult.success(employeeTrainingService.employeeTrainingList(CurrentUserHolder.getUserId(), employeeTrainingRequest)); } @@ -102,7 +103,7 @@ public class EmployeeTrainingController { @ApiOperation("培训-战区经理-考核员工列表") @PostMapping("/assessmentUserList") public ResponseResult> assessmentUserList(@RequestBody EmployeeAssessmentRequest request) { - return ResponseResult.success(employeeTrainingService.assessmentUserList(null, request)); + return ResponseResult.success(employeeTrainingService.assessmentUserList(CurrentUserHolder.getUserId(), request)); } @ApiOperation("培训-督导-考核员工列表") 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 67a2a06e8..1520388cb 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 @@ -4,15 +4,14 @@ import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; import com.cool.store.context.PartnerUserHolder; import com.cool.store.dto.decoration.ConstructionScheduleDTO; -import com.cool.store.request.AcceptanceListRequest; -import com.cool.store.request.BookingAcceptanceRequest; -import com.cool.store.request.ThreeAcceptanceCheckRequest; -import com.cool.store.request.ThreeAcceptanceRequest; +import com.cool.store.entity.ShopAuditInfoDO; +import com.cool.store.request.*; import com.cool.store.response.FitmentResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.ThreeSignResponse; import com.cool.store.service.DecorationService; import com.cool.store.service.PreparationService; +import com.cool.store.service.SeeAcceptanceService; import com.cool.store.vo.Fitment.DecorationModelVO; import com.cool.store.vo.Fitment.DesignInfoVo; import com.cool.store.vo.LinePayVO; @@ -43,6 +42,8 @@ public class PCDecorationController { private DecorationService decorationService; @Resource private PreparationService preparationService; + @Resource + private SeeAcceptanceService seeAcceptanceService; @ApiOperation("获取新店装修flush") @GetMapping("/flush") public ResponseResult getFitmentSub(@RequestParam Long shopId) { @@ -97,4 +98,32 @@ public class PCDecorationController { public ResponseResult getThreeAcceptance(@RequestParam Long shopId){ return ResponseResult.success(decorationService.getThreeAcceptanceSign(shopId)); } + @ApiOperation("获取视觉验收撤场数据") + @GetMapping("/getSeeAcceptanceWithdrawal") + public ResponseResult getSeeAcceptanceWithdrawal(@RequestParam Long shopId){ + return ResponseResult.success(seeAcceptanceService.getWithdrawal(shopId)); + } + @ApiOperation("视觉验收列表") + @PostMapping("/getSeeAcceptanceList") + public ResponseResult< PageInfo> getSeeAcceptanceList(@RequestBody AcceptanceListRequest request){ + LoginUserInfo user = CurrentUserHolder.getUser(); + return ResponseResult.success(seeAcceptanceService.getAcceptanceList(request,user)); + } + @ApiOperation("获取撤场数据") + @GetMapping("/getWithdrawal") + public ResponseResult getWithdrawal(@RequestParam Long shopId){ + return ResponseResult.success(seeAcceptanceService.getWithdrawal(shopId)); + } + @ApiOperation("获取视觉验收审核数据") + @GetMapping("/getSeeAuditInfo") + public ResponseResult< List > getAuditInfo(@RequestParam Long shopId){ + return ResponseResult.success(seeAcceptanceService.getAuditInfo(shopId)); + } + @ApiOperation("验收视觉验收") + @PostMapping("/auditSee") + public ResponseResult auditSee(@RequestBody SeeAcceptanceRequest request){ + LoginUserInfo user = CurrentUserHolder.getUser(); + return ResponseResult.success(seeAcceptanceService.auditSeeAcceptance(request,user)); + } + } 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 e54a4a4c8..d9beb59be 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.dto.decoration.ThreeAcceptanceDTO; +import com.cool.store.entity.ShopAuditInfoDO; import com.cool.store.request.LinePaySubmitRequest; import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; @@ -13,6 +14,7 @@ import com.cool.store.response.ResponseResult; import com.cool.store.response.ThreeSignResponse; import com.cool.store.service.AssessmentTemplateService; import com.cool.store.service.DecorationService; +import com.cool.store.service.SeeAcceptanceService; import com.cool.store.vo.AssessmentTemplateVO; import com.cool.store.vo.Fitment.DecorationStageVO; import com.cool.store.vo.Fitment.DecorationModelVO; @@ -42,6 +44,8 @@ public class MiniDecorationController { private DecorationService decorationService; @Resource private AssessmentTemplateService assessmentTemplateService; + @Resource + private SeeAcceptanceService seeAcceptanceService; @ApiOperation("获取设计阶段子阶段信息") @GetMapping("/designSub") public ResponseResult getDesign(@RequestParam Long shopId){ @@ -99,4 +103,14 @@ public class MiniDecorationController { public ResponseResult getThreeAcceptance(@RequestParam Long shopId){ return ResponseResult.success(decorationService.getThreeAcceptanceSign(shopId)); } + @ApiOperation("获取撤场数据") + @GetMapping("/getWithdrawal") + public ResponseResult getWithdrawal(@RequestParam Long shopId){ + return ResponseResult.success(seeAcceptanceService.getWithdrawal(shopId)); + } + @ApiOperation("获取视觉验收审核数据") + @GetMapping("/getSeeAuditInfo") + public ResponseResult< List > getAuditInfo(@RequestParam Long shopId){ + return ResponseResult.success(seeAcceptanceService.getAuditInfo(shopId)); + } }