|
|
@@ -7,6 +7,7 @@ import com.poyee.base.service.impl.BaseServiceImpl;
|
|
|
import com.poyee.build.ProductBeanBuildFactory;
|
|
|
import com.poyee.common.exception.ServiceException;
|
|
|
import com.poyee.dto.EcologySkuDto;
|
|
|
+import com.poyee.dto.detail.EcologySkuDetailDto;
|
|
|
import com.poyee.dto.page.EcologySkuPageDto;
|
|
|
import com.poyee.dto.where.EcologySkuWhereReq;
|
|
|
import com.poyee.enums.EcologySpuStatusEnum;
|
|
|
@@ -46,9 +47,24 @@ public class EcologySkuServiceImpl extends BaseServiceImpl<EcologySkuMapper, Eco
|
|
|
if(CollectionUtils.isNotEmpty(page.getRows())){
|
|
|
page.getRows().forEach(item-> item.setTags(ProductBeanBuildFactory.parseSkuTags(item.getTags())));
|
|
|
}
|
|
|
+ page.setCode(0);
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result<EcologySkuDetailDto> detailById(Long id) {
|
|
|
+ EcologySkuDetailDto detail = (EcologySkuDetailDto) Optional.of(baseMapper.selectByPrimaryKey(id, EcologySkuDetailDto.class))
|
|
|
+ .orElseThrow(()->new ServiceException("商品不存在"));
|
|
|
+ //判断商家
|
|
|
+ if(getUserInfo().isMerchant() && !Objects.equals(detail.getMerchantId(), Long.valueOf(getUserInfo().getMerchantId()))){
|
|
|
+ log.warn("无权限访问[越权]");
|
|
|
+ throw new ServiceException("无权限访问[越权]");
|
|
|
+ }
|
|
|
+ //处理 tags
|
|
|
+ detail.setTags(ProductBeanBuildFactory.parseSkuTags(detail.getTags()));
|
|
|
+ return Result.success(0,detail);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @param req
|
|
|
* @return
|
|
|
@@ -71,6 +87,21 @@ public class EcologySkuServiceImpl extends BaseServiceImpl<EcologySkuMapper, Eco
|
|
|
return Result.fail("商品[sku]添加失败");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result submitToReview(Long id) {
|
|
|
+ //查询商品sku 信息
|
|
|
+ checkSkuInfo("submitToReview", id);
|
|
|
+ //设置更新参数
|
|
|
+ EcologySkuUpdateReq skuUpdateReq = new EcologySkuUpdateReq();
|
|
|
+ skuUpdateReq.setId(id);
|
|
|
+ skuUpdateReq.setStatus(EcologySpuStatusEnum.WAIT_AUDIT.getCode());
|
|
|
+ int update = baseMapper.update(skuUpdateReq);
|
|
|
+ if(update > 0){
|
|
|
+ return Result.success(0,"商品提交审核成功");
|
|
|
+ }
|
|
|
+ return Result.fail("商品[sku]提交审核失败");
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 修改商品信息
|
|
|
@@ -82,8 +113,9 @@ public class EcologySkuServiceImpl extends BaseServiceImpl<EcologySkuMapper, Eco
|
|
|
public Result updateById(EcologySkuUpdateReq req) {
|
|
|
checkSkuInfo("update", req.getId());
|
|
|
//进行后续处理
|
|
|
- //设置状态为待审核
|
|
|
- req.setStatus(EcologySpuStatusEnum.WAIT_AUDIT.getCode());
|
|
|
+ //设置状态为 null 编辑接口不更新状态
|
|
|
+ req.setStatus(null);
|
|
|
+// req.setStatus(EcologySpuStatusEnum.WAIT_AUDIT.getCode());
|
|
|
//处理 标签 "recommend,hot" -> "[\"recommend\", \"hot\"]"
|
|
|
if(StringUtils.isNotBlank(req.getTags())) {
|
|
|
req.setTags(ProductBeanBuildFactory.builderSkuTags(req.getTags()));
|
|
|
@@ -160,14 +192,33 @@ public class EcologySkuServiceImpl extends BaseServiceImpl<EcologySkuMapper, Eco
|
|
|
}
|
|
|
break;
|
|
|
case "delete":
|
|
|
-
|
|
|
-
|
|
|
+ //判断商品不是待提交状态不能 删除
|
|
|
+ if(!Objects.equals(EcologySpuStatusEnum.WAIT_SUBMIT.getCode(), sku.getStatus())){
|
|
|
+ throw new ServiceException("商品状态为["+EcologySpuStatusEnum.getDescByCode(sku.getStatus())+"],请勿此操作");
|
|
|
+ }
|
|
|
break;
|
|
|
case "up":
|
|
|
-
|
|
|
+ //如果不在审核通过,上架,下架状态中 则返回异常
|
|
|
+ if(!EcologySpuStatusEnum.canUpOperate(sku.getStatus())){
|
|
|
+ throw new ServiceException("商品状态为["+EcologySpuStatusEnum.getDescByCode(sku.getStatus())+"],请勿此操作");
|
|
|
+ }
|
|
|
break;
|
|
|
case "review":
|
|
|
-
|
|
|
+ //状态不在待审核中 不能审核操作
|
|
|
+ if(!Objects.equals(EcologySpuStatusEnum.WAIT_AUDIT.getCode(), sku.getStatus())){
|
|
|
+ throw new ServiceException("商品不在待审核状态,请勿此操作");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "submitToReview":
|
|
|
+ //待审核状态 提示请勿重复提交
|
|
|
+ if(Objects.equals(EcologySpuStatusEnum.WAIT_AUDIT.getCode(), sku.getStatus())){
|
|
|
+ throw new ServiceException("商品已提交审核,请勿重复提交");
|
|
|
+ }
|
|
|
+ //判断状态是否在 待提交, 审核驳回 状态 才可提交审核
|
|
|
+ if(!Objects.equals(EcologySpuStatusEnum.WAIT_SUBMIT.getCode(), sku.getStatus())
|
|
|
+ && !Objects.equals(EcologySpuStatusEnum.AUDIT_REJECT.getCode(), sku.getStatus()) ){
|
|
|
+ throw new ServiceException("商品状态错误【"+EcologySpuStatusEnum.getDescByCode(sku.getStatus())+"】");
|
|
|
+ }
|
|
|
break;
|
|
|
|
|
|
}
|