B2C功能提交
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package cn.lili.controller.goods;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.security.OperationalJudgment;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.goods.entity.dos.DraftGoods;
|
||||
import cn.lili.modules.goods.entity.dto.DraftGoodsDTO;
|
||||
import cn.lili.modules.goods.entity.dto.DraftGoodsSearchParams;
|
||||
import cn.lili.modules.goods.entity.vos.DraftGoodsVO;
|
||||
import cn.lili.modules.goods.service.DraftGoodsService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 管理端,草稿商品接口
|
||||
*
|
||||
* @author paulG
|
||||
* @since 2021/2/20 2:26 下午
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "管理端,草稿商品接口")
|
||||
@RequestMapping("/manager/goods/draftGoods")
|
||||
public class DraftGoodsManagerController {
|
||||
@Autowired
|
||||
private DraftGoodsService draftGoodsService;
|
||||
|
||||
|
||||
@ApiOperation(value = "分页获取草稿商品列表")
|
||||
@GetMapping(value = "/page")
|
||||
public ResultMessage<IPage<DraftGoods>> getDraftGoodsByPage(DraftGoodsSearchParams searchParams) {
|
||||
searchParams.setStoreId("-1");
|
||||
return ResultUtil.data(draftGoodsService.getDraftGoods(searchParams));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取草稿商品")
|
||||
@GetMapping(value = "/{id}")
|
||||
public ResultMessage<DraftGoodsVO> getDraftGoods(@PathVariable String id) {
|
||||
DraftGoodsVO draftGoods = OperationalJudgment.judgment(draftGoodsService.getDraftGoods(id));
|
||||
return ResultUtil.data(draftGoods);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "保存草稿商品")
|
||||
@PostMapping(value = "/save", consumes = "application/json", produces = "application/json")
|
||||
public ResultMessage<String> saveDraftGoods(@RequestBody DraftGoodsDTO draftGoodsVO) {
|
||||
draftGoodsVO.setStoreId("-1");
|
||||
draftGoodsService.saveGoodsDraft(draftGoodsVO);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除草稿商品")
|
||||
@DeleteMapping(value = "/{id}")
|
||||
public ResultMessage<String> deleteDraftGoods(@PathVariable String id) {
|
||||
draftGoodsService.deleteGoodsDraft(id);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,16 +5,19 @@ import cn.lili.common.aop.annotation.PreventDuplicateSubmissions;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.goods.entity.dos.Goods;
|
||||
import cn.lili.modules.goods.entity.dos.GoodsSku;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsOperationDTO;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsSkuStockDTO;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
||||
import cn.lili.modules.goods.entity.vos.GoodsVO;
|
||||
import cn.lili.modules.goods.service.GoodsService;
|
||||
import cn.lili.modules.goods.service.GoodsSkuService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -27,6 +30,8 @@ import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 管理端,商品管理接口
|
||||
@@ -135,4 +140,38 @@ public class GoodsManagerController {
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改商品库存")
|
||||
@PutMapping(value = "/update/stocks", consumes = "application/json")
|
||||
public ResultMessage<Object> updateStocks(@RequestBody List<GoodsSkuStockDTO> updateStockList) {
|
||||
// 获取商品skuId集合
|
||||
List<String> goodsSkuIds = updateStockList.stream().map(GoodsSkuStockDTO::getSkuId).collect(Collectors.toList());
|
||||
// 根据skuId集合查询商品信息
|
||||
List<GoodsSku> goodsSkuList = goodsSkuService.list(new LambdaQueryWrapper<GoodsSku>().in(GoodsSku::getId, goodsSkuIds));
|
||||
// 过滤不符合当前店铺的商品
|
||||
List<String> filterGoodsSkuIds = goodsSkuList.stream().map(GoodsSku::getId).collect(Collectors.toList());
|
||||
List<GoodsSkuStockDTO> collect = updateStockList.stream().filter(i -> filterGoodsSkuIds.contains(i.getSkuId())).collect(Collectors.toList());
|
||||
goodsSkuService.updateStocks(collect);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
@DemoSite
|
||||
@ApiOperation(value = "删除商品")
|
||||
@PutMapping(value = "/delete")
|
||||
@ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "query", allowMultiple = true)
|
||||
public ResultMessage<Object> deleteGoods(@RequestParam List<String> goodsId) {
|
||||
goodsService.deleteGoods(goodsId);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "设置商品运费模板")
|
||||
@PutMapping(value = "/freight")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "query", allowMultiple = true),
|
||||
@ApiImplicitParam(name = "templateId", value = "运费模板ID", required = true, paramType = "query")
|
||||
})
|
||||
public ResultMessage<Object> freight(@RequestParam List<String> goodsId, @RequestParam String templateId) {
|
||||
goodsService.freight(goodsId, templateId);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -99,4 +99,19 @@ public class AfterSaleManagerController {
|
||||
public ResultMessage<StoreAfterSaleAddressDTO> getStoreAfterSaleAddress(@NotNull(message = "售后单号") @PathVariable("sn") String sn) {
|
||||
return ResultUtil.data(afterSaleService.getStoreAfterSaleAddressDTO(sn));
|
||||
}
|
||||
|
||||
@PreventDuplicateSubmissions
|
||||
@ApiOperation(value = "卖家确认收货")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "afterSaleSn", value = "售后sn", required = true, paramType = "path"),
|
||||
@ApiImplicitParam(name = "serviceStatus", value = "PASS:审核通过,REFUSE:审核未通过", required = true, paramType = "query"),
|
||||
@ApiImplicitParam(name = "remark", value = "备注", paramType = "query")
|
||||
})
|
||||
@PutMapping(value = "/confirm/{afterSaleSn}")
|
||||
public ResultMessage<AfterSale> confirm(@NotNull(message = "请选择售后单") @PathVariable String afterSaleSn,
|
||||
@NotNull(message = "请审核") String serviceStatus,
|
||||
String remark) {
|
||||
|
||||
return ResultUtil.data(afterSaleService.storeConfirm(afterSaleSn, serviceStatus, remark));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.lili.controller.other;
|
||||
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.system.entity.dos.Logistics;
|
||||
import cn.lili.modules.system.entity.dto.LogisticsSearchParams;
|
||||
import cn.lili.modules.system.service.LogisticsService;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -37,8 +37,8 @@ public class LogisticsManagerController {
|
||||
|
||||
@ApiOperation(value = "分页获取物流公司")
|
||||
@GetMapping(value = "/getByPage")
|
||||
public ResultMessage<IPage<Logistics>> getByPage(PageVO page) {
|
||||
return ResultUtil.data(logisticsService.page(PageUtil.initPage(page)));
|
||||
public ResultMessage<IPage<Logistics>> getByPage(LogisticsSearchParams page) {
|
||||
return ResultUtil.data(logisticsService.page(PageUtil.initPage(page),page.queryWrapper()));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "编辑物流公司")
|
||||
|
||||
@@ -73,6 +73,19 @@ public class FullDiscountManagerController {
|
||||
return ResultUtil.data(fullDiscountVO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改满优惠活动")
|
||||
@PutMapping(consumes = "application/json", produces = "application/json")
|
||||
public ResultMessage<String> editFullDiscount(@RequestBody FullDiscountVO fullDiscountVO) {
|
||||
OperationalJudgment.judgment(fullDiscountService.getFullDiscount(fullDiscountVO.getId()));
|
||||
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
|
||||
fullDiscountVO.setStoreId(currentUser.getStoreId());
|
||||
fullDiscountVO.setStoreName(currentUser.getStoreName());
|
||||
if (!fullDiscountService.updatePromotions(fullDiscountVO)) {
|
||||
return ResultUtil.error(ResultCode.PINTUAN_EDIT_ERROR);
|
||||
}
|
||||
return ResultUtil.success(ResultCode.FULL_DISCOUNT_EDIT_SUCCESS);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除满优惠活动")
|
||||
@DeleteMapping("/{id}")
|
||||
public ResultMessage<String> deleteFullDiscount(@PathVariable String id) {
|
||||
|
||||
Reference in New Issue
Block a user