diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java index 2bbcc670a..c409c19c8 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java @@ -2,6 +2,7 @@ package com.cool.store.enums.point; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * @author zhangchenbiao @@ -94,7 +95,7 @@ public enum ShopSubStageStatusEnum { public static List getShopSubStageStatusEnum(ShopSubStageEnum shopSubStage) { List resultList = new ArrayList<>(); for (ShopSubStageStatusEnum stageStatusEnum : ShopSubStageStatusEnum.values()) { - if (stageStatusEnum.getShopSubStageEnum().equals(shopSubStage)) { + if (Objects.nonNull(stageStatusEnum.getShopSubStageEnum()) && stageStatusEnum.getShopSubStageEnum().equals(shopSubStage)) { resultList.add(stageStatusEnum); } } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java new file mode 100644 index 000000000..e49a886e6 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddShopRequest.java @@ -0,0 +1,26 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @author zhangchenbiao + * @FileName: AddShopRequest + * @Description:新增店铺 + * @date 2024-04-16 19:54 + */ +@Data +public class AddShopRequest { + + @NotNull + @ApiModelProperty("线索id") + private Long lineId; + + @NotBlank + @ApiModelProperty("店铺名称") + private String shopName; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/DeleteShopRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/DeleteShopRequest.java new file mode 100644 index 000000000..007194f62 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/DeleteShopRequest.java @@ -0,0 +1,18 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhangchenbiao + * @FileName: DeleteShopRequest + * @Description: 删除店铺 + * @date 2024-04-16 19:54 + */ +@Data +public class DeleteShopRequest { + + @ApiModelProperty("店铺id") + private Long shopId; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java index 20caa3077..85d82cbcd 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java @@ -1,6 +1,8 @@ package com.cool.store.service; import com.cool.store.entity.LineInfoDO; +import com.cool.store.request.AddShopRequest; +import com.cool.store.request.DeleteShopRequest; import com.cool.store.vo.shop.MiniShopPageVO; import com.cool.store.vo.shop.ShopStageInfoVO; import com.cool.store.vo.shop.StageShopCountVO; @@ -32,12 +34,11 @@ public interface ShopService { /** * 获取店铺阶段信息 - * @param lineId * @param shopId * @param shopStage * @return */ - List getShopStageInfo(Long lineId, Long shopId, Integer shopStage); + List getShopStageInfo(Long shopId, Integer shopStage); /** * 获取各阶段店铺数量 @@ -45,4 +46,18 @@ public interface ShopService { * @return */ StageShopCountVO getStageShopCount(Long lineId); + + /** + * 删除铺位 + * @param request + * @return + */ + Integer deleteShop(DeleteShopRequest request); + + /** + * 新增铺位 + * @param request + * @return + */ + Long addShop(AddShopRequest request); } 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 2dd6f5ac4..eea875f67 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 @@ -245,7 +245,8 @@ public class PointServiceImpl implements PointService { @Override public AuditSettingVO getAuditSetting() { - String auditSetting = redisUtilPool.getString(AUDIT_SETTING_KEY); + String cacheKey = MessageFormat.format(AUDIT_SETTING_KEY, enterpriseId); + String auditSetting = redisUtilPool.getString(cacheKey); if(StringUtils.isBlank(auditSetting)){ return null; } @@ -681,6 +682,13 @@ public class PointServiceImpl implements PointService { if(!request.check()){ throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } + ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_2); + if(Objects.isNull(shopSubStageInfo)){ + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_ERROR); + } + if(!shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_2.getShopSubStageStatus())){ + throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE); + } Long pointId = request.getPointId(), shopId = request.getShopId(); if(Objects.isNull(pointId) && Objects.nonNull(shopId)){ ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); @@ -700,6 +708,9 @@ public class PointServiceImpl implements PointService { @Override public ShopRentInfoVO getRentContractDetail(Long shopId) { ShopRentInfoDO rentContract = shopRentInfoDAO.getRentContractByShopId(shopId); + if(Objects.isNull(rentContract)){ + return null; + } ShopRentInfoVO result = ShopRentInfoVO.build(rentContract); ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_2); result.setStatus(shopSubStageInfo.getShopSubStageStatus()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java index 08c591cfd..556d4c4f2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java @@ -10,6 +10,8 @@ import com.cool.store.entity.ShopStageInfoDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.point.ShopStageEnum; import com.cool.store.exception.ServiceException; +import com.cool.store.request.AddShopRequest; +import com.cool.store.request.DeleteShopRequest; import com.cool.store.service.ShopService; import com.cool.store.utils.NumberConverter; import com.cool.store.vo.shop.MiniShopPageVO; @@ -69,7 +71,7 @@ public class ShopServiceImpl implements ShopService { } @Override - public List getShopStageInfo(Long lineId, Long shopId, Integer shopStage) { + public List getShopStageInfo(Long shopId, Integer shopStage) { if(Objects.nonNull(shopStage)){ ShopStageEnum shopStageEnum = ShopStageEnum.getShopStageEnum(shopStage); if(Objects.isNull(shopStageEnum)){ @@ -86,4 +88,21 @@ public class ShopServiceImpl implements ShopService { public StageShopCountVO getStageShopCount(Long lineId) { return shopInfoDAO.getStageShopCount(lineId); } + + @Override + public Integer deleteShop(DeleteShopRequest request) { + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); + ShopInfoDO updateShop = new ShopInfoDO(); + updateShop.setId(request.getShopId()); + updateShop.setDeleted(true); + return shopInfoDAO.updateShopInfo(updateShop); + } + + @Override + public Long addShop(AddShopRequest request) { + ShopInfoDO addShop = new ShopInfoDO(); + addShop.setLineId(request.getLineId()); + addShop.setShopName(request.getShopName()); + return shopInfoDAO.addShopInfo(addShop); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java index 9f0c52a4a..fcd6021d7 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCShopController.java @@ -1,6 +1,8 @@ package com.cool.store.controller.webb; import com.cool.store.context.PartnerUserHolder; +import com.cool.store.request.AddShopRequest; +import com.cool.store.request.DeleteShopRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.ShopService; import com.cool.store.vo.shop.MiniShopPageVO; @@ -8,10 +10,8 @@ import com.cool.store.vo.shop.ShopStageInfoVO; import com.cool.store.vo.shop.StageShopCountVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -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; import java.util.List; @@ -45,8 +45,19 @@ public class PCShopController { @ApiOperation("获取店铺的阶段信息") @GetMapping("/getShopStageInfo") public ResponseResult> getShopStageInfo(@RequestParam("shopId")Long shopId, @RequestParam(value = "shopStage", required = false)Integer shopStage) { - Long lineId = PartnerUserHolder.getUser().getLineId(); - return ResponseResult.success(shopService.getShopStageInfo(lineId, shopId, shopStage)); + return ResponseResult.success(shopService.getShopStageInfo(shopId, shopStage)); + } + + @ApiOperation("删除店铺") + @PostMapping("/deleteShop") + public ResponseResult deleteShop(@RequestBody @Validated DeleteShopRequest request) { + return ResponseResult.success(shopService.deleteShop(request)); + } + + @ApiOperation("新增店铺") + @PostMapping("/addShop") + public ResponseResult addShop(@RequestBody @Validated AddShopRequest request) { + return ResponseResult.success(shopService.addShop(request)); } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java index c23e36434..bc00c5a00 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java @@ -47,7 +47,7 @@ public class MiniShopController { @GetMapping("/getShopStageInfo") public ResponseResult> getShopStageInfo(@RequestParam("shopId")Long shopId, @RequestParam(value = "shopStage", required = false)Integer shopStage) { Long lineId = PartnerUserHolder.getUser().getLineId(); - return ResponseResult.success(shopService.getShopStageInfo(lineId, shopId, shopStage)); + return ResponseResult.success(shopService.getShopStageInfo(shopId, shopStage)); } @ApiOperation("获取阶段/子阶段/子阶段状态枚举")