From 6fb14aa3c9ea91de6cbc6665c07d8cfed796c0f0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 21 Jul 2021 11:02:57 +0800
Subject: [PATCH] 202107021

---
 gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSkuMapper.java         |    2 +
 gc-shop/src/main/resources/mapper/shop/JhyOrderMapper.xml                     |    4 ++
 gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml                   |    1 
 gc-shop/src/main/java/com/xzx/gc/shop/dto/AssignJhyOrderDto.java              |   19 +++++++++
 gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java                 |   16 ++++++--
 gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsListVo.java                |    3 +
 gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java |   28 ++++++++++++++
 gc-shop/src/main/resources/mapper/shop/ScoreGoodsSkuMapper.xml                |    9 ++++
 gc-shop/src/main/java/com/xzx/gc/shop/mapper/JhyOrderMapper.java              |    3 +
 gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java               |    7 +++
 10 files changed, 88 insertions(+), 4 deletions(-)

diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java
index 4c5fb50..c84bad1 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminJhyOrderController.java
@@ -4,6 +4,7 @@
 import com.xzx.gc.common.constant.CommonEnum;
 import com.xzx.gc.common.constant.Constants;
 import com.xzx.gc.common.dto.log.OperationAppLog;
+import com.xzx.gc.common.exception.RestException;
 import com.xzx.gc.common.request.BaseController;
 import com.xzx.gc.entity.JhyInfo;
 import com.xzx.gc.entity.JhyOrder;
@@ -82,5 +83,32 @@
         return  JsonResult.success("操作成功!");
     }
 
+    /**
+     * 指派订单
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/jhy/assignJhyOrder.json")
+    @ApiOperation(value="集物员订单管理-指派订单", notes="test: 仅0有正确返回")
+    public JsonResult assignJhyOrder(@RequestBody AssignJhyOrderDto model, HttpServletRequest request) {
+        long orderId = model.getOrderId();
+        JhyOrder jhyOrder = jhyOrderMapper.selectByPrimaryKey(orderId);
+        if(ObjectUtil.isEmpty(jhyOrder)){
+            return JsonResult.failMessage("当前记录不存在!");
+        }
+        Integer status = jhyOrder.getStatus();
+        if(JhyOrder.ORDER_STATUS_WAITING != status){
+            return JsonResult.failMessage("订单不是待接单状态,不允许取消!");
+        }
+        long jhyId = model.getJhyId();
+        JhyInfo jhyInfo = jhyOrderMapper.selectJhyInfoByUserId(jhyId);
+        if (jhyInfo == null || !JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) {
+            return JsonResult.failMessage("不是集货员!");
+        }
+        jhyService.assignJhyOrder(model);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("集物员管理-指派订单-" + orderId).build();
+        mqUtil.sendApp(build);
+        return  JsonResult.success("操作成功!");
+    }
+
 
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/AssignJhyOrderDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/AssignJhyOrderDto.java
new file mode 100644
index 0000000..9be5cc4
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/AssignJhyOrderDto.java
@@ -0,0 +1,19 @@
+package com.xzx.gc.shop.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AssignJhyOrderDto", description = "参数接收类")
+public class AssignJhyOrderDto {
+
+
+    @ApiModelProperty(value = "订单ID")
+    private Long orderId;
+
+
+    @ApiModelProperty(value = "集物员ID")
+    private Long jhyId;
+
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/JhyOrderMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/JhyOrderMapper.java
index fc4ac92..c96f082 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/JhyOrderMapper.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/JhyOrderMapper.java
@@ -1,5 +1,6 @@
 package com.xzx.gc.shop.mapper;
 
+import com.xzx.gc.entity.JhyInfo;
 import com.xzx.gc.entity.JhyOrder;
 import com.xzx.gc.shop.dto.QueryJhyOrderListDto;
 import com.xzx.gc.shop.vo.QueryJhyOrderListVo;
@@ -23,4 +24,6 @@
     Integer selectJhyOrderCnt(@Param("userId") String userId);
 
     BigDecimal selectTotalScoreHasGet(@Param("userId") String userId);
+
+    JhyInfo selectJhyInfoByUserId(@Param("jhyId")Long jhyId);
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSkuMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSkuMapper.java
index b49073e..5fb63eb 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSkuMapper.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSkuMapper.java
@@ -12,4 +12,6 @@
     List<ScoreGoodsSkuVo> selectScoreGoodsSkuByGoodsIdAndStyleId(@Param("id")long id, @Param("styleId")Long styleId);
 
     void updateDelFlagById(@Param("id")Long id, @Param("delFlag")Short toShort);
+
+    Integer selectScoreGoodsSkuMapperByGoodId(@Param("id")long id);
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
index 69b54b3..133dc5b 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
@@ -106,6 +106,13 @@
         PageHelper.startPage(model.getPage(), model.getLimit());
 
         List<QueryGoodsListVo> maps = scoreGoodsMapper.queryGoodsList(name,delFlag);
+        if(CollUtil.isNotEmpty(maps)){
+            for(QueryGoodsListVo queryGoodsListVo : maps){
+                long id = queryGoodsListVo.getId();
+                Integer stock = scoreGoodsSkuMapper.selectScoreGoodsSkuMapperByGoodId(id);
+                queryGoodsListVo.setStock(stock);
+            }
+        }
         PageInfo pageInfo = new PageInfo(maps);
         int count = Convert.toInt(pageInfo.getTotal());
         Map<String, Object> map = new HashMap<>();
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
index f2bdae2..b7a5878 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/JhyService.java
@@ -6,11 +6,10 @@
 import cn.hutool.core.util.StrUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.xzx.gc.common.exception.RestException;
 import com.xzx.gc.common.utils.StringUtils;
-import com.xzx.gc.entity.JhyOrder;
-import com.xzx.gc.entity.JhyOrderItems;
-import com.xzx.gc.entity.ScoreOrder;
-import com.xzx.gc.entity.ScoreOrderDetails;
+import com.xzx.gc.entity.*;
+import com.xzx.gc.shop.dto.AssignJhyOrderDto;
 import com.xzx.gc.shop.dto.CancelJhyOrderDto;
 import com.xzx.gc.shop.dto.QueryJhyOrderListDto;
 import com.xzx.gc.shop.mapper.JhyOrderItemsMapper;
@@ -162,4 +161,13 @@
 
         return total;
     }
+
+    public void assignJhyOrder(AssignJhyOrderDto model) {
+        Long orderId = model.getOrderId();
+        Long jhyId = model.getJhyId();
+        JhyOrder order = jhyOrderMapper.selectByPrimaryKey(orderId);
+        order.setJhyId(jhyId.toString());
+        order.setStatus(JhyOrder.ORDER_STATUS_IMG);
+        jhyOrderMapper.updateByPrimaryKey(order);
+    }
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsListVo.java b/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsListVo.java
index b495177..6402bd9 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsListVo.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsListVo.java
@@ -59,6 +59,9 @@
     @ApiModelProperty(value="碳排放量")
     private Integer carbonEmissions;
 
+    @ApiModelProperty(value="商品总库存")
+    private Integer stock;
+
     @ApiModelProperty(value="创建人")
     private String createdBy;
 
diff --git a/gc-shop/src/main/resources/mapper/shop/JhyOrderMapper.xml b/gc-shop/src/main/resources/mapper/shop/JhyOrderMapper.xml
index c9d3c40..6842569 100644
--- a/gc-shop/src/main/resources/mapper/shop/JhyOrderMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/JhyOrderMapper.xml
@@ -99,4 +99,8 @@
         inner join xzx_jhy_order_items b on a.id=b.order_id
         where a.user_id=#{userId}
     </select>
+
+    <select id="selectJhyInfoByUserId" resultType="com.xzx.gc.entity.JhyInfo">
+        select * from xzx_jhy_order where id = #{jhyId}
+    </select>
 </mapper>
diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
index 2937f41..c75cef2 100644
--- a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
@@ -8,6 +8,7 @@
         a.CREATED_TIME createTime
         FROM
         xzx_score_goods a
+
         WHERE 1 = 1
         <if test="name != null and name != ''">
             and (a.name like concat('%',#{name},'%') or a.goods_no like concat('%',#{name},'%'))
diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSkuMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSkuMapper.xml
index 1fb0ce5..3d8e29c 100644
--- a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSkuMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSkuMapper.xml
@@ -20,4 +20,13 @@
         where id=#{id}
     </update>
 
+    <select id="selectScoreGoodsSkuMapperByGoodId" resultType="java.lang.Integer">
+        SELECT
+            ifnull(sum(a.stock),0) stock
+        FROM
+            xzx_score_goods_sku a
+        WHERE 1 = 1
+          and a.goods_id = #{id}
+    </select>
+
 </mapper>

--
Gitblit v1.9.1