管理端商品上下架问题处理
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);
|
||||
|
||||
/**
|
||||
* 更新商品上架状态状态
|
||||
*
|
||||
* @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;
|
||||
}
|
||||
|
||||
@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
|
||||
public Boolean deleteGoods(List<String> goodsIds) {
|
||||
|
||||
@ -475,6 +503,20 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
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(检查用户越权)
|
||||
*
|
||||
* @return updateWrapper
|
||||
*/
|
||||
private LambdaUpdateWrapper<Goods> getUpdateWrapperByStoreAuthority() {
|
||||
private LambdaUpdateWrapper<Goods> getUpdateWrapperByManagerAuthority() {
|
||||
LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
AuthUser authUser = this.checkStoreAuthority();
|
||||
if (authUser != null) {
|
||||
updateWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||
}
|
||||
updateWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||
return updateWrapper;
|
||||
}
|
||||
|
||||
@ -512,9 +567,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
private LambdaQueryWrapper<Goods> getQueryWrapperByStoreAuthority() {
|
||||
LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>();
|
||||
AuthUser authUser = this.checkStoreAuthority();
|
||||
if (authUser != null) {
|
||||
queryWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||
}
|
||||
queryWrapper.eq(Goods::getStoreId, authUser.getStoreId());
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ public class GoodsManagerController {
|
||||
@PutMapping(value = "/{goodsId}/under")
|
||||
public ResultMessage<Object> underGoods(@PathVariable String goodsId, @NotEmpty(message = "下架原因不能为空") @RequestParam String reason) {
|
||||
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();
|
||||
}
|
||||
throw new ServiceException(ResultCode.GOODS_UNDER_ERROR);
|
||||
|
Loading…
x
Reference in New Issue
Block a user