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 c4164762b..1bf3a2657 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 @@ -1,12 +1,14 @@ package com.cool.store.dao; import com.cool.store.constants.CommonConstants; +import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.point.LineCountDTO; import com.cool.store.entity.ShopInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.ShopInfoMapper; +import com.cool.store.request.PreparationRequest; import com.cool.store.vo.shop.StageShopCountVO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; @@ -167,5 +169,11 @@ public class ShopInfoDAO { */ public List queryShopCodeListByid(@Param("shopIdList") List shopIdList){ return shopInfoMapper.queryShopCodeListByid(shopIdList); - }; + } + + + public List ListByCondition(PreparationRequest request){ + return shopInfoMapper.ListByCondition(request); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java index 3fe1ceb2c..98136bf4e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java @@ -1,6 +1,7 @@ package com.cool.store.dao; import com.cool.store.constants.CommonConstants; +import com.cool.store.dto.Preparation.ScheduleDTO; import com.cool.store.entity.ShopStageInfoDO; import com.cool.store.enums.point.ShopStageEnum; import com.cool.store.enums.point.ShopSubStageEnum; @@ -17,6 +18,7 @@ import org.springframework.stereotype.Repository; import javax.annotation.Resource; import java.time.LocalDate; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Objects; @@ -176,4 +178,20 @@ public class ShopStageInfoDAO { PageHelper.startPage(pageNum, pageSize); return shopStageInfoMapper.getShopIdListByStageStatus(); } + + public List getScheduleList(List shopIdList){ + if (CollectionUtils.isEmpty(shopIdList)){ + return Collections.emptyList(); + } + return shopStageInfoMapper.getScheduleList(shopIdList); + } + + public List getShopContractActualCompletionTime(List shopIdList){ + if (CollectionUtils.isEmpty(shopIdList)){ + return Collections.emptyList(); + } + return shopStageInfoMapper.getShopContractActualCompletionTime(shopIdList); + } + + } 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 c6136424a..a4e632eed 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 @@ -1,8 +1,10 @@ package com.cool.store.mapper; +import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.point.LineCountDTO; import com.cool.store.entity.ShopInfoDO; +import com.cool.store.request.PreparationRequest; import com.cool.store.vo.shop.StageShopCountVO; import com.github.pagehelper.Page; import org.apache.ibatis.annotations.Param; @@ -84,4 +86,8 @@ public interface ShopInfoMapper extends Mapper { List queryShopCodeListByid(@Param("shopIdList") List shopIdList); List getSelectedShopNum(@Param("lineIds") List lineIds); + + + List ListByCondition(@Param("request") PreparationRequest request); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java index e7fcfae8e..846fdb437 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java @@ -1,5 +1,6 @@ package com.cool.store.mapper; +import com.cool.store.dto.Preparation.ScheduleDTO; import com.cool.store.entity.ShopStageInfoDO; import com.cool.store.vo.shop.RentInfoToDoVO; import com.github.pagehelper.Page; @@ -100,4 +101,8 @@ public interface ShopStageInfoMapper extends Mapper { * @description:获取处于订货金阶段的shopid */ Page getShopIdListByStageStatus(); + + List getScheduleList(@Param("shopIds") List shopIds); + + List getShopContractActualCompletionTime(@Param("shopIds") List shopIds); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index dab08b229..6a3f5ee15 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -128,5 +128,49 @@ group by line_id + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml index aec92a687..8abde8859 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -154,4 +154,33 @@ where shop_stage = 2 and shop_sub_stage = 150 and shop_sub_stage_status= 1505 and is_terminated = 0 + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java new file mode 100644 index 000000000..e4516701d --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/PreparationDTO.java @@ -0,0 +1,32 @@ +package com.cool.store.dto.Preparation; + +import lombok.Data; + +import java.util.Date; + +/** + * @Author suzhuhong + * @Date 2024/4/26 15:40 + * @Version 1.0 + */ +@Data +public class PreparationDTO { + + private Long id; + + private String shopName; + + private String storeNum; + + private String shopManagerUserId; + + private Long regionId; + + private Date planOpenTime; + + private String username; + + private String mobile; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/ScheduleDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/ScheduleDTO.java new file mode 100644 index 000000000..3853eaf84 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/Preparation/ScheduleDTO.java @@ -0,0 +1,23 @@ +package com.cool.store.dto.Preparation; + +import lombok.Data; + +import java.util.Date; + +/** + * @Author suzhuhong + * @Date 2024/4/26 16:19 + * @Version 1.0 + */ +@Data +public class ScheduleDTO { + + private Long shopId; + + private Date planCompleteTime; + + private Integer totalColumn; + + private Integer completionColumn; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PreparationRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PreparationRequest.java new file mode 100644 index 000000000..c163c2abc --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PreparationRequest.java @@ -0,0 +1,47 @@ +package com.cool.store.request; + +import com.cool.store.common.PageBasicInfo; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2024/4/26 15:15 + * @Version 1.0 + */ +@Data +public class PreparationRequest extends PageBasicInfo { + + @ApiModelProperty("选择区域") + private List regionIds; + + @ApiModelProperty("门店名称") + private String shopName; + + @ApiModelProperty("加盟商名称与手机号") + private String keyword; + + @ApiModelProperty("计划开业开始时间") + private String planOpenStartTime; + + @ApiModelProperty("计划开业结束时间") + private String planOpenEndTime; + + @ApiModelProperty("招商经理Id") + private String investmentUserId; + + @ApiModelProperty("督导ID") + private String supervisorUserId; + + @ApiModelProperty(value = "当前登录用户", hidden = true) + private String curUserId; + @ApiModelProperty(value = "管辖区域",hidden = true) + private List authRegionIds; + + + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/Preparation/PreparationScheduleDetailVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/Preparation/PreparationScheduleDetailVO.java new file mode 100644 index 000000000..c7679ff3c --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/Preparation/PreparationScheduleDetailVO.java @@ -0,0 +1,79 @@ +package com.cool.store.vo.Preparation; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.temporal.ChronoUnit; +import java.util.Date; + +/** + * @Author suzhuhong + * @Date 2024/4/26 17:38 + * @Version 1.0 + */ +@Data +public class PreparationScheduleDetailVO { + + @ApiModelProperty("加盟商名称") + private String username; + + @ApiModelProperty("加盟手机号") + private String mobile; + + private Integer joinStatus; + + private Long shopId; + + @ApiModelProperty("门店名称") + private String shopName; + + @ApiModelProperty("门店编码") + private String storeNum; + + @ApiModelProperty("总项数") + private Integer totalColumn; + + @ApiModelProperty("完成项") + private Integer completionColumn; + + @ApiModelProperty("计划开店时间") + private Date planOpenTime; + + @ApiModelProperty("合同完成时间") + private Date ContractCompletionTime; + + @ApiModelProperty("开店时长") + private String days; + + @ApiModelProperty("所属站区") + private String regionNodeName; + + @ApiModelProperty("预估完成时间") + private Date planCompletionTime; + + @ApiModelProperty("招商经理名称") + private String investmentManagerName; + + @ApiModelProperty("招商经理手机号") + private String investmentManagerMobile; + + @ApiModelProperty("扩展经理名称") + private String developmentManagerName; + + @ApiModelProperty("扩展经理手机号") + private String developmentManagerMobile; + + public void setDays() { + if (this.planOpenTime==null|| this.ContractCompletionTime==null){ + return; + } + long between = ChronoUnit.SECONDS.between(this.ContractCompletionTime.toInstant(), this.planOpenTime.toInstant()); + double days = (double) between / (24*60*60); + this.days = String.format("%.1f", days); + } + + + + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/Preparation/PreparationScheduleVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/Preparation/PreparationScheduleVO.java new file mode 100644 index 000000000..3ff0e14db --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/Preparation/PreparationScheduleVO.java @@ -0,0 +1,61 @@ +package com.cool.store.vo.Preparation; + +import com.cool.store.vo.BaseInfoVO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.temporal.ChronoUnit; +import java.util.Date; + +/** + * @Author suzhuhong + * @Date 2024/4/26 15:00 + * @Version 1.0 + */ +@Data +public class PreparationScheduleVO { + + @ApiModelProperty("加盟商名称") + private String username; + + @ApiModelProperty("加盟手机号") + private String mobile; + + private Long shopId; + + @ApiModelProperty("门店名称") + private String shopName; + + @ApiModelProperty("门店编码") + private String storeNum; + + @ApiModelProperty("开店负责人") + private String shopManagerUserName; + + @ApiModelProperty("总项数") + private Integer totalColumn; + + @ApiModelProperty("完成项") + private Integer completionColumn; + + @ApiModelProperty("计划开店时间") + private Date planOpenTime; + + @ApiModelProperty("合同完成时间") + private Date ContractCompletionTime; + + @ApiModelProperty("开店时长") + private String days; + + @ApiModelProperty("所属站区") + private String regionNodeName; + + public void setDays() { + if (this.planOpenTime==null|| this.ContractCompletionTime==null){ + return; + } + long between = ChronoUnit.SECONDS.between(this.ContractCompletionTime.toInstant(), this.planOpenTime.toInstant()); + double days = (double) between / (24*60*60); + this.days = String.format("%.1f", days); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java index 54b02cb3c..ad1907719 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PreparationService.java @@ -1,5 +1,12 @@ package com.cool.store.service; +import com.cool.store.request.PreparationRequest; +import com.cool.store.vo.Preparation.PreparationScheduleDetailVO; +import com.cool.store.vo.Preparation.PreparationScheduleVO; +import com.github.pagehelper.PageInfo; + +import java.util.List; + /** * @Author suzhuhong * @Date 2024/4/22 16:10 @@ -8,6 +15,21 @@ package com.cool.store.service; public interface PreparationService { + /** + * 开业进度列表 + * @param preparationRequest + * @return + */ + PageInfo getPreparationSchedule(PreparationRequest preparationRequest); + + + /** + * 开业进度详情 + * @param shopId + * @return + */ + PreparationScheduleDetailVO getPreparationDetail(Long shopId); + /** * 校验建店与加盟签约合同是否完成 并初始化后续流程数据 * @param shopId 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 da6af8a75..49b573b75 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 @@ -1,22 +1,33 @@ package com.cool.store.service.impl; import com.cool.store.constants.CommonConstants; -import com.cool.store.dao.OpenAcceptanceInfoDAO; -import com.cool.store.dao.ShopStageInfoDAO; -import com.cool.store.entity.OpenAcceptanceInfoDO; -import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.dao.*; +import com.cool.store.dto.Preparation.PreparationDTO; +import com.cool.store.dto.Preparation.ScheduleDTO; +import com.cool.store.entity.*; +import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.point.ShopStageEnum; 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.PreparationRequest; import com.cool.store.service.PreparationService; +import com.cool.store.service.RegionService; +import com.cool.store.service.SysRoleService; +import com.cool.store.service.UserAuthMappingService; +import com.cool.store.utils.poi.DateUtils; +import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; +import com.cool.store.vo.Preparation.PreparationScheduleDetailVO; +import com.cool.store.vo.Preparation.PreparationScheduleVO; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -31,8 +42,120 @@ public class PreparationServiceImpl implements PreparationService { private ShopStageInfoDAO shopStageInfoDAO; @Resource private OpenAcceptanceInfoDAO openAcceptanceInfoDAO; + @Resource + private SysRoleService sysRoleService; + @Resource + private UserAuthMappingService userAuthMappingService; + @Resource + private RegionService regionService; + @Resource + ShopInfoDAO shopInfoDAO; + @Resource + EnterpriseUserDAO enterpriseUserDAO; + @Resource + LineInfoDAO lineInfoDAO; + @Override + public PageInfo getPreparationSchedule(PreparationRequest request) { + if(!sysRoleService.checkIsAdmin(request.getCurUserId())){ + request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(request.getCurUserId())); + } + if(CollectionUtils.isNotEmpty(request.getRegionIds())){ + if(request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)){ + request.setRegionIds(null); + }else{ + request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds())); + } + } + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + //开业进度数据 + List preparationDTOS = shopInfoDAO.ListByCondition(request); + PageInfo pageInfo = new PageInfo<>(preparationDTOS); + List shopIds = preparationDTOS.stream().map(PreparationDTO::getId).collect(Collectors.toList()); + List scheduleList = shopStageInfoDAO.getScheduleList(shopIds); + List shopContractActualCompletionTime = shopStageInfoDAO.getShopContractActualCompletionTime(shopIds); + Map scheduleDTOMap = scheduleList.stream().collect(Collectors.toMap(ScheduleDTO::getShopId, x -> x)); + Map shopStageInfoDOMap = shopContractActualCompletionTime.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, x -> x)); + List regionIds = preparationDTOS.stream().map(PreparationDTO::getRegionId).collect(Collectors.toList()); + Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); + List userIds = preparationDTOS.stream().map(PreparationDTO::getShopManagerUserId).collect(Collectors.toList()); + Map userInfoMap = enterpriseUserDAO.getUserInfoMap(userIds); + + List preparationScheduleVOS = new ArrayList<>(); + preparationDTOS.forEach(x->{ + PreparationScheduleVO preparationScheduleVO = new PreparationScheduleVO(); + preparationScheduleVO.setMobile(x.getMobile()); + preparationScheduleVO.setUsername(x.getUsername()); + preparationScheduleVO.setShopId(x.getId()); + preparationScheduleVO.setShopName(x.getShopName()); + preparationScheduleVO.setPlanOpenTime(x.getPlanOpenTime()); + preparationScheduleVO.setStoreNum(x.getStoreNum()); + preparationScheduleVO.setShopManagerUserName(userInfoMap.getOrDefault(x.getShopManagerUserId(), new EnterpriseUserDO()).getName()); + preparationScheduleVO.setRegionNodeName(regionNameMap.getOrDefault(x.getRegionId(), "")); + ScheduleDTO dto = scheduleDTOMap.getOrDefault(x.getId(), new ScheduleDTO()); + preparationScheduleVO.setCompletionColumn(dto.getCompletionColumn()); + preparationScheduleVO.setTotalColumn(dto.getTotalColumn()); + 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)); + } + preparationScheduleVO.setDays(); + preparationScheduleVOS.add(preparationScheduleVO); + }); + pageInfo.setList(preparationScheduleVOS); + return pageInfo; + } + + @Override + public PreparationScheduleDetailVO getPreparationDetail(Long shopId) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + if (shopInfo == null){ + throw new ServiceException(ErrorCodeEnum.SHOP_ID_IS_NULL); + } + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId()); + + List shopContractActualCompletionTime = shopStageInfoDAO.getScheduleList(Collections.singletonList(shopId)); + PreparationScheduleDetailVO preparationScheduleDetailVO = new PreparationScheduleDetailVO(); + List shop = shopStageInfoDAO.getShopContractActualCompletionTime(Collections.singletonList(shopId)); + Set userSet = new HashSet<>(); + if (StringUtils.isNotEmpty(lineInfo.getInvestmentManager())){ + userSet.add(lineInfo.getInvestmentManager()); + } + if (StringUtils.isNotEmpty(lineInfo.getDevelopmentManager())){ + userSet.add(lineInfo.getDevelopmentManager()); + } + Map regionNameMap = regionService.getBelongWarRegionNameMap(Collections.singletonList(shopInfo.getRegionId())); + Map userInfoMap = enterpriseUserDAO.getUserInfoMap(new ArrayList(userSet)); + preparationScheduleDetailVO.setShopId(shopId); + preparationScheduleDetailVO.setUsername(lineInfo.getUsername()); + preparationScheduleDetailVO.setMobile(lineInfo.getMobile()); + preparationScheduleDetailVO.setJoinStatus(lineInfo.getJoinStatus()); + preparationScheduleDetailVO.setShopName(shopInfo.getShopName()); + preparationScheduleDetailVO.setPlanOpenTime(shopInfo.getPlanOpenTime()); + preparationScheduleDetailVO.setStoreNum(shopInfo.getStoreNum()); + preparationScheduleDetailVO.setJoinStatus(lineInfo.getJoinStatus()); + if (CollectionUtils.isNotEmpty(shopContractActualCompletionTime)){ + ScheduleDTO scheduleDTO = shopContractActualCompletionTime.get(CommonConstants.ZERO); + preparationScheduleDetailVO.setCompletionColumn(scheduleDTO.getCompletionColumn()); + preparationScheduleDetailVO.setTotalColumn(scheduleDTO.getTotalColumn()); + preparationScheduleDetailVO.setPlanCompletionTime(scheduleDTO.getPlanCompleteTime()); + } + if (CollectionUtils.isNotEmpty(shop)){ + ShopStageInfoDO shopStageInfoDO = shop.get(CommonConstants.ZERO); + preparationScheduleDetailVO.setContractCompletionTime(DateUtils.strToDate(shopStageInfoDO.getActualCompleteTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); + } + EnterpriseUserDO developmentManager = userInfoMap.getOrDefault(lineInfo.getDevelopmentManager(), new EnterpriseUserDO()); + EnterpriseUserDO investmentManager = userInfoMap.getOrDefault(lineInfo.getInvestmentManager(), new EnterpriseUserDO()); + preparationScheduleDetailVO.setDevelopmentManagerName(developmentManager.getName()); + preparationScheduleDetailVO.setDevelopmentManagerMobile(developmentManager.getMobile()); + preparationScheduleDetailVO.setInvestmentManagerName(investmentManager.getName()); + preparationScheduleDetailVO.setInvestmentManagerMobile(investmentManager.getMobile()); + preparationScheduleDetailVO.setRegionNodeName(regionNameMap.get(shopInfo.getRegionId())); + preparationScheduleDetailVO.setDays(); + return preparationScheduleDetailVO; + } + @Override public void contractAndBuildStoreCompletion(Long shopId) { List shopStageInfo = shopStageInfoDAO.getShopStageInfo(shopId, null); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java new file mode 100644 index 000000000..a9ec461f3 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PreparationController.java @@ -0,0 +1,50 @@ +package com.cool.store.controller.webb; + +import com.cool.store.context.CurrentUserHolder; +import com.cool.store.request.PreparationRequest; +import com.cool.store.request.TrainingExperienceDistributionRequest; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.PreparationService; +import com.cool.store.service.impl.PreparationServiceImpl; +import com.cool.store.vo.Preparation.PreparationScheduleDetailVO; +import com.cool.store.vo.Preparation.PreparationScheduleVO; +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.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2024/4/26 16:56 + * @Version 1.0 + */ +@Slf4j +@Api(tags = "筹建进度") +@RestController +@RequestMapping("/pc/preparation") +public class PreparationController { + + @Resource + PreparationService preparationService; + + @ApiOperation("进度列表") + @PostMapping("/list") + public ResponseResult> distribution(@RequestBody PreparationRequest request) { + request.setCurUserId(CurrentUserHolder.getUserId()); + return ResponseResult.success(preparationService.getPreparationSchedule(request)); + } + + + @ApiOperation("筹建详情") + @GetMapping("/getPreparationDetail") + public ResponseResult getPreparationDetail(@RequestParam("shopId")Long shopId) { + return ResponseResult.success(preparationService.getPreparationDetail(shopId)); + } + + + +}