From 2d63f8d51d3f349dd3b6e72b5ee005f3c0cf623e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 21 Jul 2021 11:24:30 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop

---
 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-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java             |    9 ++++
 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                 |   17 ++++++--
 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-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java                   |    3 +
 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 +++
 12 files changed, 101 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..c9513c7 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..c6060c4 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;
@@ -101,6 +100,7 @@
         Long id = model.getId();
         JhyOrder jhyOrder = jhyOrderMapper.selectByPrimaryKey(id);
         jhyOrder.setStatus(JhyOrder.ORDER_STATUS_CANCEL);
+        jhyOrder.setJhyId("");
         jhyOrderMapper.updateByPrimaryKey(jhyOrder);
     }
 
@@ -162,4 +162,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>
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java b/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java
index f61ca1a..2637795 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/JhyInfoService.java
@@ -103,6 +103,15 @@
                     AccountInfo accountInfo = accountMapper.selectOneByUserId(userId);
                     String collectScore = StrUtil.isEmpty(accountInfo.getCollectScore()) ? "0" : accountInfo.getCollectScore();
                     jhyInfoListVo.setScore(new BigDecimal(collectScore).setScale( 2, BigDecimal.ROUND_DOWN ));
+
+                    Example example = new Example(UserLoginInfo.class);
+                    Example.Criteria criteria = example.createCriteria();
+                    criteria.andEqualTo("userId", userId);
+                    example.setOrderByClause("login_time desc");
+                    List<UserLoginInfo> userLoginInfos = userLoginInfoMapper.selectByExample(example);
+                    if (CollUtil.isNotEmpty(userLoginInfos)) {
+                        jhyInfoListVo.setLastLogintime(CollUtil.getFirst(userLoginInfos).getLoginTime());
+                    }
                 }
             }
         }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java b/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java
index 37173a4..a6e6891 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/vo/JhyInfoListVo.java
@@ -47,6 +47,9 @@
     @ApiModelProperty(value = "申请时间")
     private String createTime;
 
+    @ApiModelProperty(value = "最后登录时间")
+    private String lastLogintime;
+
     @ApiModelProperty(hidden = true)
     private Date createdTime;
 }

--
Gitblit v1.9.1