diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java index 0aacbf322..77e13e262 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointRecommendDAO.java @@ -136,4 +136,16 @@ public class PointRecommendDAO { } return pointRecommendMapper.rejectPoint(lineId, pointId, reason); } + + /** + * 获取铺位推送了哪些列表 + * @param pointId + * @return + */ + public List getRecommendPointListByPointId(Long pointId) { + if(Objects.isNull(pointId)){ + return Lists.newArrayList(); + } + return pointRecommendMapper.getRecommendPointListByPointId(pointId); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java index 50caa2991..ac7b14a8e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointRecommendMapper.java @@ -80,4 +80,11 @@ public interface PointRecommendMapper extends Mapper { * @return */ Integer rejectPoint(@Param("lineId") Long lineId, @Param("pointId") Long pointId, @Param("reason") String reason); + + /** + * 获取铺位推送过哪些线索 + * @param pointId + * @return + */ + List getRecommendPointListByPointId(@Param("pointId") Long pointId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml index d0c8fa4f4..45a8259a0 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml @@ -13,6 +13,10 @@ + + id, line_id, point_id, development_manager, status, reason, deleted, create_time, update_time + + update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 @@ -72,7 +76,7 @@ + select + + from + xfsg_point_recommend + where + point_id = #{pointId} and deleted = 0 + \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 2e9466fe3..970484bd4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -539,6 +539,19 @@ public class PointServiceImpl implements PointService { String pointNames = invalidList.stream().map(PointInfoDO::getPointName).collect(Collectors.joining(",")); throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, pointNames + ",已失效"); } + List recommendPointList = pointRecommendDAO.getRecommendPointList(request.getLineId()); + if(CollectionUtils.isNotEmpty(recommendPointList)){ + List recommendList = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(o.getStatus()) || + PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_2.getCode().equals(o.getStatus()) || + PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_4.getCode().equals(o.getStatus())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(recommendList)){ + throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "铺位已推送,请勿重复推送"); + } + List selectedList = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_3.getCode().equals(o.getStatus())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(selectedList)){ + throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "铺位已选,请勿重复推送"); + } + } List recommendList = request.convertList(); return pointRecommendDAO.addRecommendPoint(recommendList); } @@ -546,7 +559,6 @@ public class PointServiceImpl implements PointService { @Override public Integer pointRecommendLine(PointRecommendLineRequest request) { Long pointId = request.getPointId(); - List lineIds = request.getLineIds(); PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(pointId); if(Objects.isNull(pointInfo)){ throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST); @@ -557,6 +569,22 @@ public class PointServiceImpl implements PointService { if(SelectStatusEnum.SELECT_STATUS_1.getCode().equals(pointInfo.getSelectStatus())){ throw new ServiceException(ErrorCodeEnum.POINT_SELECTED); } + List recommendPointList = pointRecommendDAO.getRecommendPointListByPointId(pointId); + if(CollectionUtils.isNotEmpty(recommendPointList)){ + List recommendList = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_2.getCode().equals(o.getStatus()) || + PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_3.getCode().equals(o.getStatus()) || + PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_4.getCode().equals(o.getStatus())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(recommendList)){ + throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "推送失败,铺位已被选"); + } + List lineIds = recommendPointList.stream().filter(o -> PointRecommendStatusEnum.POINT_RECOMMEND_STATUS_1.getCode().equals(o.getStatus())).map(PointRecommendDO::getLineId).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(lineIds)){ + lineIds.retainAll(request.getLineIds()); + if(CollectionUtils.isNotEmpty(lineIds)){ + throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "请勿重复推送"); + } + } + } List recommendList = request.convertList(); return pointRecommendDAO.addRecommendPoint(recommendList); } @@ -802,6 +830,13 @@ public class PointServiceImpl implements PointService { updatePoint.setPointStatus(PointStatusEnum.POINT_STATUS_6.getCode()); pointInfoDAO.updatePointInfo(updatePoint); //系统筹建初始化 TODO + shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_30); + shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_40); + ShopInfoDO updateShop = new ShopInfoDO(); + updateShop.setId(shopId); + updateShop.setShopStage(ShopStageEnum.SHOP_STAGE_2.getShopStage()); + updateShop.setShopManagerUserId(null); + shopInfoDAO.updateShopInfo(updateShop); } return shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, subStageStatus, auditId); }