| | |
| | | } |
| | | |
| | | @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(); |
| | | } |
| | | |
| | | } |