From f4ef9fccb3347fd364ca59575bf62fe5e4362f59 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 22 Jul 2021 14:17:09 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop

---
 gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java       |    2 +
 gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java            |    2 
 gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailsVo.java             |    6 +++
 gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml                   |   18 ++++++++-
 gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java |    6 +-
 gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml              |    5 ++
 gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java          |   29 +++++++++++---
 7 files changed, 55 insertions(+), 13 deletions(-)

diff --git a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
index 7556b78..cfc924f 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
@@ -84,9 +84,9 @@
     }
 
     @ApiOperation("订单状态数量")
-    @PostMapping(value = "/jhy/order/orderStatusCnt")
-    public JsonResult<Map<Integer, Integer>> orderStatusCnt(HttpServletRequest request) {
-        return JsonResult.success(jhyOrderService.orderStatusCount(getUserId(request)));
+    @PostMapping(value = "/jhy/order/orderStatusCnt/{type}")
+    public JsonResult<Map<Integer, Integer>> orderStatusCnt(@PathVariable("type") Integer type, HttpServletRequest request) {
+        return JsonResult.success(jhyOrderService.orderStatusCount(type, getUserId(request)));
     }
 
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
index ce5bcec..bf0c086 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
@@ -12,4 +12,6 @@
     List<JhyOrderItems> selectOrderItems(@Param("orderId") Long orderId);
 
     BigDecimal selectOrderScoreByOrderId(@Param("orderId") Long orderId);
+
+    int deleteItemsByOrderId(@Param("orderId") Long orderId);
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
index c60b730..c9d1739 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
@@ -15,5 +15,5 @@
 
     List<JhyOrderListVo> selectJhyOrderList(@Param("record") JhyOrderListDto jhyOrderListDto);
 
-    List<JhyStatusCountVo> selectOrderStatusCount(@Param("userId") String userId);
+    List<JhyStatusCountVo> selectOrderStatusCount(@Param("type") Integer type, @Param("userId") String userId);
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
index ee3c7f3..0906376 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -136,6 +136,8 @@
         JhyOrderDetailsVo detailsVo = new JhyOrderDetailsVo();
         BeanUtil.copyProperties(order, detailsVo);
 
+        detailsVo.setLongitude(order.getLongitude());
+        detailsVo.setLatitude(order.getLatitude());
         detailsVo.setAddress(order.getArea() + order.getAddress());
         detailsVo.setTotalPrice(total);
         detailsVo.setItems(items);
@@ -146,6 +148,10 @@
         JhyInfo jhyInfo = jhyInfoMapper.selectJhyInfoByUserId(userId);
         if (jhyInfo == null || !JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) {
             throw new RestException(-3, "不是集货员");
+        }
+
+        if (JhyInfo.IS_JHY_N.equals(jhyInfo.getIsJhy())) {
+            throw new RestException(-3, "暂无法抢单");
         }
 
         JhyOrder order = jhyOrderMapper.selectByPrimaryKey(orderId);
@@ -181,14 +187,23 @@
             throw new RestException(-3, "不是集物员");
         }
 
+        jhyOrderItemsMapper.deleteItemsByOrderId(confirmDto.getOrderId());
+
         BigDecimal totalScore = BigDecimal.ZERO;
         for (JhyOrderConfirmItemsDto item : confirmDto.getItems()) {
-            JhyOrderItems orderItem = jhyOrderItemsMapper.selectByPrimaryKey(item.getId());
             BigDecimal weight = StrUtil.isNotBlank(item.getWeight()) ? new BigDecimal(item.getWeight()) : BigDecimal.ZERO;
-            BigDecimal total = orderItem.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
-            orderItem.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
-            orderItem.setWeight(weight);
-            jhyOrderItemsMapper.updateByPrimaryKey(orderItem);
+            SysEnvironmentalInfo environmentalInfo = environmentalInfoMapper.selectByPrimaryKey(item.getId());
+
+            JhyOrderItems orderItems = new JhyOrderItems();
+            orderItems.setOrderId(confirmDto.getOrderId());
+            orderItems.setPicture(environmentalInfo.getPicture());
+            orderItems.setItemType(item.getId());
+            orderItems.setTitle(environmentalInfo.getTitle());
+            orderItems.setPrice(new BigDecimal(environmentalInfo.getPrice()));
+            BigDecimal total = orderItems.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
+            orderItems.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
+            orderItems.setWeight(weight);
+            jhyOrderItemsMapper.insert(orderItems);
 
             totalScore = totalScore.add(total);
         }
@@ -237,8 +252,8 @@
         distribService.distribRecord(order.getId(), order.getUserId());
     }
 
-    public Map<Integer, Integer> orderStatusCount(String userId) {
-        List<JhyStatusCountVo> count = jhyOrderMapper.selectOrderStatusCount(userId);
+    public Map<Integer, Integer> orderStatusCount(Integer type, String userId) {
+        List<JhyStatusCountVo> count = jhyOrderMapper.selectOrderStatusCount(type, userId);
 
         Map<Integer, Integer> map = new HashMap<>();
         for (int i = 1; i < 6; i++) {
diff --git a/gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailsVo.java b/gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailsVo.java
index 6fd9c95..6920877 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailsVo.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/vo/JhyOrderDetailsVo.java
@@ -30,4 +30,10 @@
 
     @ApiModelProperty(value = "明细")
     private List<JhyOrderItems> items;
+
+    @ApiModelProperty(value = "经度")
+    private String longitude;
+
+    @ApiModelProperty(value = "纬度")
+    private String latitude;
 }
diff --git a/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml b/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
index c94fc89..f6e200c 100644
--- a/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
+++ b/gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
@@ -13,4 +13,9 @@
         where order_id=#{orderId}
         group by order_id
     </select>
+
+    <delete id="deleteItemsByOrderId">
+        delete from xzx_jhy_order_items
+        where order_id=#{orderId}
+    </delete>
 </mapper>
\ No newline at end of file
diff --git a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
index 01997c5..dac82a6 100644
--- a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
+++ b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
@@ -48,13 +48,27 @@
         select
            status,
            count(1) cnt
-        from xzx_jhy_order where status=1
+        from xzx_jhy_order
+        <where>
+            status=1
+            <if test="type == 2">
+                and user_id=#{userId}
+            </if>
+        </where>
+        group by status
         union  all
         select
            status,
            count(1) cnt
         from xzx_jhy_order
-        where user_id=#{userId}
+        <where>
+            <if test="type == 1">
+                and jhy_id=#{userId}
+            </if>
+            <if test="type == 2" >
+                and user_id=#{userId}
+            </if>
+        </where>
         group by status
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1