From 9b921c37534869976e0f5a5d12351e35c932d839 Mon Sep 17 00:00:00 2001
From: xjs <1294405880@qq.com>
Date: Thu, 24 Mar 2022 18:27:47 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=AE=8C=E6=88=90=E9=87=87=E8=B4=AD?=
=?UTF-8?q?=E5=8D=95=E5=AE=9E=E7=8E=B0=20=20=E9=A1=B5=E9=9D=A2todo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/xjs/mall/RemoteProductFeign.java | 21 ++++++++
.../core/constant/ServiceNameConstants.java | 5 ++
.../views/mall/ware/warepurchase/purchase.vue | 2 +-
.../product/controller/SkuInfoController.java | 20 ++++++--
.../ware/controller/PurchaseController.java | 11 ++++-
.../com/xjs/mall/ware/dao/WareSkuDao.java | 14 ++++--
.../mall/ware/service/PurchaseService.java | 9 +++-
.../xjs/mall/ware/service/WareSkuService.java | 8 +++
.../service/impl/PurchaseServiceImpl.java | 49 ++++++++++++++++++-
.../ware/service/impl/WareSkuServiceImpl.java | 38 +++++++++++++-
.../com/xjs/mall/ware/vo/PurchaseDoneVo.java | 18 +++++++
.../xjs/mall/ware/vo/PurchaseItemDoneVo.java | 14 ++++++
.../main/resources/mapper/ware/WareSkuDao.xml | 11 ++++-
13 files changed, 203 insertions(+), 17 deletions(-)
create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteProductFeign.java
create mode 100644 xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/vo/PurchaseDoneVo.java
create mode 100644 xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/vo/PurchaseItemDoneVo.java
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteProductFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteProductFeign.java
new file mode 100644
index 00000000..bb18cc46
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteProductFeign.java
@@ -0,0 +1,21 @@
+package com.xjs.mall;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.xjs.mall.other.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+
+/**
+ * 远程调用商品服务feign
+ *
+ * @author xiejs
+ * @since 2022-03-24
+ */
+@FeignClient(contextId = "remoteProductFeign",
+ value = ServiceNameConstants.MALL_PRODUCT_SERVICE)
+public interface RemoteProductFeign {
+
+ @GetMapping("/product/skuinfo/getSkuNameByIdForRPC/{skuId}")
+ R getSkuNameById(@PathVariable("skuId") Long skuId);
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
index cc88e31e..65fa1c72 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
@@ -47,5 +47,10 @@ public class ServiceNameConstants {
*/
public static final String MALL_COUPON_SERVICE = "xjs-mall-coupon";
+ /**
+ * 商品服务的serviceid
+ */
+ public static final String MALL_PRODUCT_SERVICE = "xjs-mall-product";
+
}
diff --git a/ruoyi-ui/src/views/mall/ware/warepurchase/purchase.vue b/ruoyi-ui/src/views/mall/ware/warepurchase/purchase.vue
index 37fe762d..47b85fde 100644
--- a/ruoyi-ui/src/views/mall/ware/warepurchase/purchase.vue
+++ b/ruoyi-ui/src/views/mall/ware/warepurchase/purchase.vue
@@ -12,7 +12,7 @@
-
+
diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/SkuInfoController.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/SkuInfoController.java
index 0a078435..d42b80ef 100644
--- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/SkuInfoController.java
+++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/SkuInfoController.java
@@ -1,18 +1,17 @@
package com.xjs.mall.product.controller;
+import com.xjs.mall.other.R;
import com.xjs.mall.product.entity.SkuInfoEntity;
import com.xjs.mall.product.service.SkuInfoService;
import com.xjs.utils.PageUtils;
-import com.xjs.mall.other.R;
import com.xjs.web.MyBaseController;
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.Arrays;
import java.util.Map;
-
+import java.util.Objects;
/**
@@ -20,7 +19,7 @@ import java.util.Map;
*
* @author xiejs
* @email 1294405880@qq.com
- * @since 2022-03-15 10:16:53
+ * @since 2022-03-15 10:16:53
*/
@RestController
@RequestMapping("product/skuinfo")
@@ -34,11 +33,22 @@ public class SkuInfoController extends MyBaseController {
*/
@GetMapping("/list")
@ApiOperation("列表")
- public R list(@RequestParam Map params){
+ public R list(@RequestParam Map params) {
super.checkParams(params);
PageUtils page = skuInfoService.queryPageByCondition(params);
return R.ok().put("page", page);
}
+
+ @GetMapping("getSkuNameByIdForRPC/{skuId}")
+ @ApiOperation("远程调用-根据skuId查询sku名称")
+ public R getSkuNameById(@PathVariable("skuId") Long skuId) {
+ SkuInfoEntity skuInfoEntity = skuInfoService.getById(skuId);
+ if (Objects.nonNull(skuInfoEntity)) {
+ return R.ok(skuInfoEntity.getSkuName());
+ }
+ return R.error("根据skuId未获取到sku信息");
+ }
+
}
diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseController.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseController.java
index db2220be..60c8ed03 100644
--- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseController.java
+++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseController.java
@@ -6,6 +6,7 @@ import com.xjs.mall.other.R;
import com.xjs.mall.ware.entity.PurchaseEntity;
import com.xjs.mall.ware.service.PurchaseService;
import com.xjs.mall.ware.vo.MergeVo;
+import com.xjs.mall.ware.vo.PurchaseDoneVo;
import com.xjs.utils.PageUtils;
import com.xjs.validation.group.AddGroup;
import com.xjs.validation.group.UpdateGroup;
@@ -35,6 +36,14 @@ public class PurchaseController {
@Autowired
private PurchaseService purchaseService;
+ @ApiOperation("完成采购单")
+ @PostMapping("/done")
+ public R done(@RequestBody PurchaseDoneVo doneVo) {
+ purchaseService.done(doneVo);
+ return R.ok();
+ }
+
+
@ApiOperation("领取采购单")
@PostMapping("/received")
public R received(@RequestBody List ids) {
@@ -44,8 +53,6 @@ public class PurchaseController {
return R.ok();
}
-
-
@ApiOperation("合并采购单")
@PostMapping("/merge")
public R mergePurchase(@RequestBody MergeVo mergeVo) {
diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/dao/WareSkuDao.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/dao/WareSkuDao.java
index 3f3daa0c..7a842a7d 100644
--- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/dao/WareSkuDao.java
+++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/dao/WareSkuDao.java
@@ -1,16 +1,22 @@
package com.xjs.mall.ware.dao;
-import com.xjs.mall.ware.entity.WareSkuEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
+import com.xjs.mall.ware.entity.WareSkuEntity;
+import org.apache.ibatis.annotations.Param;
/**
* 商品库存
- *
+ *
* @author xiejs
* @email 1294405880@qq.com
* @date 2022-03-15 09:56:19
*/
public interface WareSkuDao extends BaseMapper {
-
+ /**
+ * 添加库存
+ * @param skuId 商品id
+ * @param wareId 仓库id
+ * @param skuNum 商品数量
+ */
+ void addStock(@Param("skuId") Long skuId, @Param("wareId") Long wareId, @Param("skuNum") Integer skuNum);
}
diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/PurchaseService.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/PurchaseService.java
index c361ef89..6cd1385c 100644
--- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/PurchaseService.java
+++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/PurchaseService.java
@@ -3,6 +3,7 @@ package com.xjs.mall.ware.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjs.mall.ware.entity.PurchaseEntity;
import com.xjs.mall.ware.vo.MergeVo;
+import com.xjs.mall.ware.vo.PurchaseDoneVo;
import com.xjs.utils.PageUtils;
import java.util.List;
@@ -13,7 +14,7 @@ import java.util.Map;
*
* @author xiejs
* @email 1294405880@qq.com
- * @date 2022-03-15 09:56:19
+ * @since 2022-03-15 09:56:19
*/
public interface PurchaseService extends IService {
@@ -37,5 +38,11 @@ public interface PurchaseService extends IService {
* @param ids 采购单ids
*/
void received(List ids);
+
+ /**
+ * 完成采购单
+ * @param doneVo 采购完成vo
+ */
+ void done(PurchaseDoneVo doneVo);
}
diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/WareSkuService.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/WareSkuService.java
index 2592e6ce..b8c148a2 100644
--- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/WareSkuService.java
+++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/WareSkuService.java
@@ -16,5 +16,13 @@ import java.util.Map;
public interface WareSkuService extends IService {
PageUtils queryPage(Map params);
+
+ /**
+ * 采购完添加库存
+ * @param skuId 商品id
+ * @param wareId 仓库id
+ * @param skuNum 商品数量
+ */
+ void addStock(Long skuId, Long wareId, Integer skuNum);
}
diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseServiceImpl.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseServiceImpl.java
index 8a8e309c..7b9bae38 100644
--- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseServiceImpl.java
+++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseServiceImpl.java
@@ -13,7 +13,10 @@ import com.xjs.mall.ware.entity.WareInfoEntity;
import com.xjs.mall.ware.service.PurchaseDetailService;
import com.xjs.mall.ware.service.PurchaseService;
import com.xjs.mall.ware.service.WareInfoService;
+import com.xjs.mall.ware.service.WareSkuService;
import com.xjs.mall.ware.vo.MergeVo;
+import com.xjs.mall.ware.vo.PurchaseDoneVo;
+import com.xjs.mall.ware.vo.PurchaseItemDoneVo;
import com.xjs.mall.ware.vo.PurchaseVo;
import com.xjs.utils.PageUtils;
import com.xjs.utils.Query;
@@ -22,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -38,6 +42,8 @@ public class PurchaseServiceImpl extends ServiceImpl params) {
@@ -52,7 +58,7 @@ public class PurchaseServiceImpl extends ServiceImpl page = this.page(new Query().getPage(params), wrapper);
List