管理端商品上下架问题处理
This commit is contained in:
parent
7572e8d56f
commit
bfa960d803
@ -103,6 +103,15 @@ public interface GoodsService extends IService<Goods> {
|
|||||||
*/
|
*/
|
||||||
Boolean updateGoodsMarketAble(List<String> goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason);
|
Boolean updateGoodsMarketAble(List<String> goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新商品上架状态状态
|
||||||
|
*
|
||||||
|
* @param goodsIds 商品ID集合
|
||||||
|
* @param goodsStatusEnum 更新的商品状态
|
||||||
|
* @param underReason 下架原因
|
||||||
|
* @return 更新结果
|
||||||
|
*/
|
||||||
|
Boolean managerUpdateGoodsMarketAble(List<String> goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason);
|
||||||
/**
|
/**
|
||||||
* 删除商品
|
* 删除商品
|
||||||
*
|
*
|
||||||
|
@ -298,6 +298,34 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean managerUpdateGoodsMarketAble(List<String> goodsIds, GoodsStatusEnum goodsStatusEnum, String underReason) {
|
||||||
|
boolean result;
|
||||||
|
|
||||||
|
//如果商品为空,直接返回
|
||||||
|
if (goodsIds == null || goodsIds.isEmpty()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//检测管理员权限
|
||||||
|
this.checkManagerAuthority();
|
||||||
|
|
||||||
|
LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.set(Goods::getMarketEnable, goodsStatusEnum.name());
|
||||||
|
updateWrapper.set(Goods::getUnderMessage, underReason);
|
||||||
|
updateWrapper.in(Goods::getId, goodsIds);
|
||||||
|
result = this.update(updateWrapper);
|
||||||
|
|
||||||
|
//修改规格商品
|
||||||
|
LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(Goods::getId, goodsIds);
|
||||||
|
List<Goods> goodsList = this.list(queryWrapper);
|
||||||
|
for (Goods goods : goodsList) {
|
||||||
|
goodsSkuService.updateGoodsSkuStatus(goods);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteGoods(List<String> goodsIds) {
|
public Boolean deleteGoods(List<String> goodsIds) {
|
||||||
|
|
||||||
@ -475,6 +503,20 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
|||||||
return goods;
|
return goods;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取UpdateWrapper(检查用户越权)
|
||||||
|
*
|
||||||
|
* @return updateWrapper
|
||||||
|
*/
|
||||||
|
private LambdaUpdateWrapper<Goods> getUpdateWrapperByStoreAuthority() {
|
||||||
|
LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
AuthUser authUser = this.checkStoreAuthority();
|
||||||
|
updateWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||||
|
return updateWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查当前登录的店铺
|
* 检查当前登录的店铺
|
||||||
*
|
*
|
||||||
@ -490,17 +532,30 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查当前登录的店铺
|
||||||
|
*
|
||||||
|
* @return 当前登录的店铺
|
||||||
|
*/
|
||||||
|
private AuthUser checkManagerAuthority() {
|
||||||
|
AuthUser currentUser = UserContext.getCurrentUser();
|
||||||
|
//如果当前会员不为空,且为店铺角色
|
||||||
|
if (currentUser != null && (currentUser.getRole().equals(UserEnums.MANAGER))) {
|
||||||
|
return currentUser;
|
||||||
|
} else {
|
||||||
|
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取UpdateWrapper(检查用户越权)
|
* 获取UpdateWrapper(检查用户越权)
|
||||||
*
|
*
|
||||||
* @return updateWrapper
|
* @return updateWrapper
|
||||||
*/
|
*/
|
||||||
private LambdaUpdateWrapper<Goods> getUpdateWrapperByStoreAuthority() {
|
private LambdaUpdateWrapper<Goods> getUpdateWrapperByManagerAuthority() {
|
||||||
LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
AuthUser authUser = this.checkStoreAuthority();
|
AuthUser authUser = this.checkStoreAuthority();
|
||||||
if (authUser != null) {
|
updateWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||||
updateWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
|
||||||
}
|
|
||||||
return updateWrapper;
|
return updateWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -512,9 +567,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
|||||||
private LambdaQueryWrapper<Goods> getQueryWrapperByStoreAuthority() {
|
private LambdaQueryWrapper<Goods> getQueryWrapperByStoreAuthority() {
|
||||||
LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
AuthUser authUser = this.checkStoreAuthority();
|
AuthUser authUser = this.checkStoreAuthority();
|
||||||
if (authUser != null) {
|
queryWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||||
queryWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
|
||||||
}
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ public class GoodsManagerController {
|
|||||||
@PutMapping(value = "/{goodsId}/under")
|
@PutMapping(value = "/{goodsId}/under")
|
||||||
public ResultMessage<Object> underGoods(@PathVariable String goodsId, @NotEmpty(message = "下架原因不能为空") @RequestParam String reason) {
|
public ResultMessage<Object> underGoods(@PathVariable String goodsId, @NotEmpty(message = "下架原因不能为空") @RequestParam String reason) {
|
||||||
List<String> goodsIds = Arrays.asList(goodsId.split(","));
|
List<String> goodsIds = Arrays.asList(goodsId.split(","));
|
||||||
if (Boolean.TRUE.equals(goodsService.updateGoodsMarketAble(goodsIds, GoodsStatusEnum.DOWN, reason))) {
|
if (Boolean.TRUE.equals(goodsService.managerUpdateGoodsMarketAble(goodsIds, GoodsStatusEnum.DOWN, reason))) {
|
||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
throw new ServiceException(ResultCode.GOODS_UNDER_ERROR);
|
throw new ServiceException(ResultCode.GOODS_UNDER_ERROR);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user