diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java index 636f95d8c..c0765650c 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java @@ -64,6 +64,8 @@ public enum UserRoleEnum { OWN_SHOP_OFFICE(480000000L,"自有店财务"), BRAND_HEAD(490000000L,"品牌负责人"), + + QW_SUPERVISION(1725431698852L,"企微督导"), ; private Long code; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java index 1fd843c04..fc98bbd11 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LicenseTransactDO.java @@ -87,4 +87,10 @@ public class LicenseTransactDO { private Integer syncFlag; @Column(name = "legal_is_same_partner") private Boolean legalIsSamePartner; + @Column(name = "single_shop") + private Boolean singleShop; + @Column(name = "commitment_url") + private String commitmentUrl; + @Column(name = "food_shop_list_url") + private String foodShopListUrl; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/license/BusinessLicenseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/license/BusinessLicenseRequest.java index 9bc88eda4..9b893cfc8 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/license/BusinessLicenseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/license/BusinessLicenseRequest.java @@ -75,6 +75,16 @@ public class BusinessLicenseRequest { //@NotBlank(message = "法人手机号不能为空") private String licenseLegalMobile; + @ApiModelProperty("是否单店使用") + @NotNull(message = "是否单店使用不能为空") + private Boolean singleShop; + + @ApiModelProperty("美食城承诺书") + private String commitmentUrl; + + @ApiModelProperty("美食城档口列表") + private String foodShopListUrl; + public LicenseTransactDO toLicenseTransactDO(LicenseTransactDO licenseTransactDO) { if (Objects.isNull(licenseTransactDO)){ licenseTransactDO = new LicenseTransactDO(); @@ -99,6 +109,9 @@ public class BusinessLicenseRequest { }else if (this.validityType == 1){ licenseTransactDO.setValidity(this.validity); } + licenseTransactDO.setSingleShop(this.singleShop); + licenseTransactDO.setCommitmentUrl(this.commitmentUrl); + licenseTransactDO.setFoodShopListUrl(this.foodShopListUrl); return licenseTransactDO; } 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 ccd4957a5..6076f66f7 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 @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; import java.util.Objects; @@ -122,7 +123,14 @@ public class SubmitLicenseResponse { private StoreDocument storeDocument; @ApiModelProperty("二证合一标识;0否 1 是") private Integer twoCertificatesOne; + @ApiModelProperty("是否单店使用") + private Boolean singleShop; + @ApiModelProperty("美食城承诺书") + private String commitmentUrl; + + @ApiModelProperty("美食城档口列表") + private String foodShopListUrl; @Data public static class StoreDocument { @ApiModelProperty("营业执照拍照上传") @@ -227,6 +235,9 @@ public class SubmitLicenseResponse { return new SubmitLicenseResponse(); } SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse(); + submitLicenseResponse.setSingleShop(licenseTransactDO.getSingleShop()); + submitLicenseResponse.setCommitmentUrl(licenseTransactDO.getCommitmentUrl()); + submitLicenseResponse.setFoodShopListUrl(licenseTransactDO.getFoodShopListUrl()); submitLicenseResponse.setLegalIsSamePartner(licenseTransactDO.getLegalIsSamePartner()); submitLicenseResponse.setLicenseLegalIdCardNo(licenseTransactDO.getLicenseLegalIdCardNo()); submitLicenseResponse.setLicenseLegalIdCardFront(licenseTransactDO.getLicenseLegalIdCardFront()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java index 36056f7d1..54858d82c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java @@ -186,4 +186,13 @@ public interface DeskService { */ PageInfo measurePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); + /** + * 营业执照 + */ + PageInfo businessLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); + + /** + * 食品安全许可证 + */ + PageInfo foodLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java index 40f4f2904..94a472cc3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java @@ -53,7 +53,7 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD_HH_MM_SS; public class DeskServiceImpl implements DeskService { @Resource - private SignFranchiseDAO signFranchiseDAO; + private SignFranchiseDAO signFranchiseDAO; @Resource DecorationMeasureDAO decorationMeasureDAO; @Resource @@ -241,15 +241,21 @@ public class DeskServiceImpl implements DeskService { PageInfo pageInfo = new PageInfo<>(); List subStageStatusList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(userRoleIds)) { - if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { - subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus()); - } - if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { - subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()); - } - if (!subStageStatusList.isEmpty()) { + //督导代填 + if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) { pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, - subStageStatusList, Boolean.TRUE); + Collections.singletonList(SHOP_SUB_STAGE_STATUS_71.getShopSubStageStatus()), Boolean.FALSE); + } else { + if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { + subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus()); + } + if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { + subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()); + } + if (!subStageStatusList.isEmpty()) { + pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, + subStageStatusList, Boolean.TRUE); + } } } List list = pageInfo.getList(); @@ -421,7 +427,7 @@ public class DeskServiceImpl implements DeskService { List lineInfoDOS = lineInfoDAO.getByLineIds(lineIds); Map lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line)); List signType = signFranchiseDAO.getSignType(shopIds); - Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); + Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); Set regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet()); Map regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet)); @@ -434,7 +440,7 @@ public class DeskServiceImpl implements DeskService { if (lineInfoDO == null) { continue; } - SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(),new SignFranchiseDO()); + SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(), new SignFranchiseDO()); preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType()); preparationCommonPendingVO.setPartnerName(lineInfoDO.getUsername()); preparationCommonPendingVO.setPartnerPhone(lineInfoDO.getMobile()); @@ -558,6 +564,10 @@ public class DeskServiceImpl implements DeskService { @Override public PageInfo buildInformationPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { List userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId()); + if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) { + return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_15, + Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus()), Boolean.FALSE ); + } List subStageStatusList = new ArrayList<>(); if (userRoleIds.contains(UserRoleEnum.LOGISTICS.getCode())) { subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus()); @@ -610,7 +620,7 @@ public class DeskServiceImpl implements DeskService { List lineInfoDOS = lineInfoDAO.getByLineIds(lineIds); Map lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line)); List signType = signFranchiseDAO.getSignType(shopIds); - Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); + Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); Set regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet()); Map regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet)); @@ -635,6 +645,18 @@ public class DeskServiceImpl implements DeskService { return new PageInfo<>(); } + @Override + public PageInfo businessLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { + return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_3, + Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_30.getShopSubStageStatus()), Boolean.FALSE ); + } + + @Override + public PageInfo foodLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { + return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_4, + Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_40.getShopSubStageStatus()), Boolean.FALSE ); + } + /** * 通用查询 * @@ -663,7 +685,7 @@ public class DeskServiceImpl implements DeskService { List lines = lineInfoDAO.getLines(lineIds); List signType = signFranchiseDAO.getSignType(shopIds); - Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); + Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); //将shopInfoList 转为map Map shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getId, shop -> shop)); //将lines 转为map @@ -709,6 +731,7 @@ public class DeskServiceImpl implements DeskService { preparationCommonPendingVO.setPartnerPhone(planLineDTO.getMobile()); preparationCommonPendingVO.setShopManagerUserName(userNameMap.getOrDefault(shopInfoDO.getShopManagerUserId(), "")); preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(shopInfoDO.getRegionId(), "")); + preparationCommonPendingVO.setSubmitTime(DateUtils.parseDateToStr(SPECIAL_DATE_START, x.getUpdateTime())); list.add(preparationCommonPendingVO); }); result.setList(list); @@ -758,7 +781,7 @@ public class DeskServiceImpl implements DeskService { Map lineMap = lines.stream().collect(Collectors.toMap(PlanLineDTO::getLineId, line -> line)); List signType = signFranchiseDAO.getSignType(shopIds); - Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); + Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); List regionIds = shopInfoList.stream().map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList()); List developmentManagers = shopInfoList.stream().filter(x -> StringUtil.isNotEmpty(x.getShopManagerUserId())).map(ShopInfoDO::getShopManagerUserId).distinct().collect(Collectors.toList()); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java index 9cc187441..14ba249b0 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java @@ -212,4 +212,20 @@ public class DeskController { LoginUserInfo userInfo = CurrentUserHolder.getUser(); return ResponseResult.success(deskService.measurePendingList(pageNumber,pageSize,userInfo)); } + + @ApiOperation("待处理-营业执照") + @GetMapping("/businessLicensePendingList") + public ResponseResult> businessLicensePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, + @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { + LoginUserInfo userInfo = CurrentUserHolder.getUser(); + return ResponseResult.success(deskService.businessLicensePendingList(pageNumber,pageSize,userInfo)); + } + + @ApiOperation("待处理-食品许可证") + @GetMapping("/foodLicensePendingList") + public ResponseResult> foodLicensePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber, + @RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) { + LoginUserInfo userInfo = CurrentUserHolder.getUser(); + return ResponseResult.success(deskService.foodLicensePendingList(pageNumber,pageSize,userInfo)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java index c93096661..cbff7ea89 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java @@ -2,19 +2,21 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; +import com.cool.store.context.PartnerUserHolder; import com.cool.store.request.LicenseListRequest; +import com.cool.store.request.license.BusinessLicenseRequest; +import com.cool.store.request.license.FoodLicenseRequest; import com.cool.store.response.LicenseListResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.SubmitLicenseResponse; import com.cool.store.service.ApplyLicenseService; +import com.cool.store.vo.PartnerUserInfoVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -60,4 +62,22 @@ public class PCApplyLicenseController { LoginUserInfo user = CurrentUserHolder.getUser(); return ResponseResult.success(applyLicenseService.licenseExamine(shopId, status, result, user)); } + + + @ApiOperation("证照办理提交-营业执照") + @PostMapping("/submitBusinessLicense") + public ResponseResult submitBusinessLicense(@RequestBody @Validated BusinessLicenseRequest request) { + PartnerUserInfoVO user = PartnerUserHolder.getUser(); + return ResponseResult.success(applyLicenseService.submitBusinessLicense(request,user)); + } + + + @ApiOperation("证照办理提交-食品许可证") + @PostMapping("/submitFoodLicense") + public ResponseResult submitFoodLicense(@RequestBody FoodLicenseRequest request) { + PartnerUserInfoVO user = PartnerUserHolder.getUser(); + return ResponseResult.success(applyLicenseService.submitFoodLicense(request,user)); + } + + }