From d8c1cd58845e75f393664a111a6a30aa2754527e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 10 Feb 2023 16:37:28 +0800
Subject: [PATCH] 增加了支付之前的验证接口

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   68 +++++++++++++++++----------------
 1 files changed, 35 insertions(+), 33 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 7f82a01..9ec706f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -839,42 +839,44 @@
     }
 
     @Override
-    public Boolean createOrderVerify(ApiCreateOrderVerifyDto apiCreateOrderVerifyDto) {
-        Boolean flag = false;
-        Long addressId = apiCreateOrderVerifyDto.getAddressId();
-        String takeUniqueCode = apiCreateOrderVerifyDto.getTakeUniqueCode();
+    public FebsResponse createOrderVerify(ApiCreateOrderVerifyDto apiCreateOrderVerifyDto) {
+        MallMember member = LoginUserUtil.getLoginUser();
+        List<AddOrderItemDto> items = apiCreateOrderVerifyDto.getItems();
+        if(CollUtil.isEmpty(items)){
+            return new FebsResponse().fail().message("请先挑选商品");
+        }
+        for (AddOrderItemDto item : apiCreateOrderVerifyDto.getItems()) {
+            MallGoodsSku sku = mallGoodsSkuMapper.selectSkuInfoById(item.getSkuId());
+            if (sku == null) {
+                return new FebsResponse().fail().message("购买商品或sku不存在");
+            }
+            if("样品".equals(sku.getSample())){
+                List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId());
+                if (CollUtil.isNotEmpty(mallOrderItems)) {
+                    return new FebsResponse().fail().message("样品只能购买一次");
+                }
+                Integer cnt = item.getCnt();
+                if(1 < cnt){
+                    return new FebsResponse().fail().message("样品只能购买一件");
+                }
+            }else{
+                //验证用户的等级
+                if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
+                    return new FebsResponse().fail().message(sku.getSkuName() + "请先申请成为代理人");
+                }
+            }
 
-        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(addressId);
-        if(ObjectUtil.isEmpty(mallAddressInfo)){
-            return flag;
-        }
-        MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(takeUniqueCode);
-        if(ObjectUtil.isEmpty(mallElectronicFence)){
-            return flag;
-        }
-        //{"data":{"count":1,"results":[{"gfid":800899,"gfname":"87053658_fence","in":0}]},"errcode":10000,"errdetail":null,"errmsg":"OK"}
-        String resultsStr = iMallElectronicFenceService.fenceToLocation(mallElectronicFence.getGKey(),
-                mallElectronicFence.getServiceId(),
-                mallAddressInfo.getLongitude() + "," + mallAddressInfo.getLatitude(),
-                mallElectronicFence.getGid());
-        if("fail".equals(resultsStr)){
-            return flag;
-        }
-        JSONArray objects = JSONUtil.parseArray(resultsStr);
-        for(Object obj : objects){
-            //{"gfid":800899,"gfname":"87053658_fence","in":0}
-            JSONObject jsonObject = JSONUtil.parseObj(obj);
-            String gfid = jsonObject.get("gfid").toString();
-            String in = jsonObject.get("in").toString();
-            String gfname = jsonObject.get("gfname").toString();
-            //指定坐标是否在围栏中
-            //1:在,
-            //0:不在;
-            if("1".equals(in)){
-                flag = true;
+            if (sku.getStock() < item.getCnt()) {
+                return new FebsResponse().fail().message(sku.getSkuName() + "库存不足");
+            }
+
+            MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId());
+            if (MallGoods.ISSALE_STATUS_DISABLED.equals(mallGoods.getIsSale())) {
+                return new FebsResponse().fail().message(mallGoods.getGoodsName() + "已下架");
             }
         }
-        return flag;
+
+        return new FebsResponse().success();
     }
 
 }

--
Gitblit v1.9.1