wangtao 3 роки тому
батько
коміт
400920b3a7

+ 18 - 40
lb-app/src/main/java/com/ydd/app/controller/StoreApi.java

@@ -4,15 +4,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.ydd.app.dto.StoreDto;
 import com.ydd.app.dto.StoreStatusDto;
 import com.ydd.app.service.ApiStoreService;
+import com.ydd.app.service.Insert;
+import com.ydd.app.service.Query;
+import com.ydd.app.service.Update;
 import com.ydd.common.annotation.AccessToken;
-import com.ydd.common.annotation.ControllerLog;
 import com.ydd.common.core.controller.BaseController;
-import com.ydd.common.core.domain.BaseResult;
 import com.ydd.common.core.domain.ResponseResult;
 import com.ydd.common.enums.ResponseResultCodeEnum;
 import com.ydd.common.utils.StringUtils;
-import com.ydd.module.domain.Shop;
-import com.ydd.module.expection.CustomAppException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -46,15 +45,11 @@ public class StoreApi extends BaseController {
     @ApiOperation("新增门店")
     @RequestMapping(value = "/create", method = RequestMethod.POST)
     @AccessToken
-    public ResponseResult saveShop(@RequestBody @Validated StoreDto storeDto) {
-        logger.info("新增门店请求"+JSONObject.toJSONString(storeDto));
-        JSONObject resp = apiStoreService.saveShop(getLoginId(), storeDto, false);
-        logger.info("新增门店返回"+resp);
-        if (resp.get("code") != null&&resp.getIntValue("code")!=0) {
-            return ResponseResult.error((ResponseResultCodeEnum) resp.get("code"));
-        } else {
-            return ResponseResult.success(resp.getString("shopCode"));
-        }
+    public ResponseResult saveShop(@RequestBody @Validated({Insert.class}) StoreDto storeDto) {
+        logger.info("新增门店请求" + JSONObject.toJSONString(storeDto));
+        ResponseResult resp = apiStoreService.saveShop(getLoginId(), storeDto, false);
+        logger.info("新增门店返回" + resp);
+        return resp;
     }
 
 
@@ -64,13 +59,10 @@ public class StoreApi extends BaseController {
     @ApiOperation("更新门店资料")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @AccessToken
-    public ResponseResult modify(@RequestBody @Validated StoreDto shopReq) {
-        JSONObject resp = apiStoreService.modify(getLoginId(), shopReq);
-        if (resp.get("code") != null&&resp.getIntValue("code")!=0) {
-            return ResponseResult.error((ResponseResultCodeEnum) resp.get("code"));
-        } else {
-            return ResponseResult.success(resp.getString("shopCode"));
-        }
+    public ResponseResult modify(@RequestBody @Validated({Update.class}) StoreDto shopReq) {
+
+        ResponseResult resp = apiStoreService.modify(getLoginId(), shopReq);
+        return resp;
     }
 
     /**
@@ -79,32 +71,18 @@ public class StoreApi extends BaseController {
     @ApiOperation("门店运力禁用")
     @RequestMapping(value = "/delivery/status", method = RequestMethod.POST)
     @AccessToken
-    public ResponseResult changeShopDelivery(@RequestBody @Validated StoreStatusDto dto) {
-
-        if (StringUtils.isNotBlank(dto.getDeliveryIdStr())) {
-            JSONObject json = apiStoreService.changeShopDelivery(getLoginId(), dto);
-            if (json.get("code") != null) {
-                return ResponseResult.error((ResponseResultCodeEnum) json.get("code"));
-            } else {
-                return ResponseResult.success();
-            }
-
-        } else {
-            return ResponseResult.error(ResponseResultCodeEnum.SHOP_DELIVERY_NOT_FOUND);
-        }
+    public ResponseResult changeShopDelivery(@RequestBody @Validated({Update.class}) StoreStatusDto dto) {
 
+        ResponseResult resp = apiStoreService.changeShopDelivery(getLoginId(), dto);
+        return resp;
     }
 
     @ApiOperation("门店运力查询")
     @RequestMapping(value = "/delivery", method = RequestMethod.POST)
     @AccessToken
-    public ResponseResult delivery(@RequestBody @Validated StoreStatusDto dto) {
-        JSONObject json = apiStoreService.queryhopDelivery(getLoginId(), dto);
-        if (json.get("code") != null) {
-            return ResponseResult.error((ResponseResultCodeEnum) json.get("code"));
-        } else {
-            return ResponseResult.success(json);
-        }
+    public ResponseResult queryshopDelivery(@RequestBody @Validated({Query.class}) StoreStatusDto dto) {
+        ResponseResult resp = apiStoreService.queryshopDelivery(getLoginId(), dto);
+        return resp;
     }
 
 }

+ 17 - 11
lb-app/src/main/java/com/ydd/app/dto/StoreDto.java

@@ -1,10 +1,13 @@
 package com.ydd.app.dto;
 
+import com.ydd.app.service.Insert;
+import com.ydd.app.service.Update;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import javax.validation.constraints.Digits;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
@@ -24,49 +27,52 @@ public class StoreDto extends  BaseDto implements Serializable {
 
 
     /** 门店编号 */
+    @NotBlank(message = "参数shopCode不能为空",groups = Update.class)
     private String shopCode;
 
     /** 门店名称 */
-    @NotBlank(message = "门店名称不能为空")
+    @NotBlank(message = "参数shopName不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "门店名称")
     private String shopName;
 
     /**
      * 此处应为poiName,历史命名失误
      */
-    @NotBlank(message = "门店详细地址不能为空")
+    @NotBlank(message = "参数address不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "门店详细地址")
     private String address;
 
     /**
      * 此处应为门牌号,历史命名错误
      */
-    @NotBlank(message = "门店门牌号不能为空")
+    @NotBlank(message = "参数houseNumber不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "门牌号")
     private String houseNumber;
 
     /** 地址经度 */
-    @NotBlank(message = "门店地址经度不能为空")
+    @NotBlank(message = "参数longitude不能为空",groups = {Update.class, Insert.class})
+    @Digits(integer = 3, fraction = 10, message = "参数longitude格式错误",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "地址经度")
     private String longitude;
 
     /** 地址纬度 */
-    @NotBlank(message = "门店地址纬度不能为空")
+    @NotBlank(message = "参数latitude不能为空",groups = {Update.class, Insert.class})
+    @Digits(integer = 3, fraction = 10, message = "参数latitude格式错误",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "地址纬度")
     private String latitude;
 
     /** 所在省 */
-    @NotBlank(message = "门店所在省不能为空")
+    @NotBlank(message = "参数provinceName不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "所在省")
     private String provinceName;
 
     /** 所在城市 */
-    @NotBlank(message = "门店所在城市不能为空")
+    @NotBlank(message = "参数cityName不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "所在城市")
     private String cityName;
 
     /** 所在区 */
-    @NotBlank(message = "门店所在区不能为空")
+    @NotBlank(message = "参数districtName不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "所在区")
     private String districtName;
 
@@ -76,12 +82,12 @@ public class StoreDto extends  BaseDto implements Serializable {
 //    private String doorHeadPhoto;
 
     /** 联系人姓名 */
-    @NotBlank(message = "门店联系人不能为空")
+    @NotBlank(message = "参数contactName不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "联系人姓名")
     private String contactName;
 
     /** 联系电话 */
-    @NotBlank(message = "门店联系电话不能为空")
+    @NotBlank(message = "参数contactPhone不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(required = true,value = "联系电话")
     private String contactPhone;
 
@@ -120,7 +126,7 @@ public class StoreDto extends  BaseDto implements Serializable {
     private String foodLicensePic;
 
     /** 食品经营许可 */
-    @NotNull(message = "门店分类ID不能为空")
+    @NotNull(message = "门店分类ID不能为空",groups = {Update.class, Insert.class})
     @ApiModelProperty(value = "门店分类ID")
     private Long categoryId;
 

+ 6 - 1
lb-app/src/main/java/com/ydd/app/dto/StoreStatusDto.java

@@ -1,10 +1,13 @@
 package com.ydd.app.dto;
 
+import com.ydd.app.service.Query;
+import com.ydd.app.service.Update;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -21,11 +24,13 @@ import java.io.Serializable;
 public class StoreStatusDto extends BaseDto implements Serializable {
 
     /** 门店编号 */
-    @NotBlank(message = "门店编号不能为空")
+    @NotBlank(message = "参数shopCode不能为空",groups = {Update.class, Query.class})
     private String shopCode;
 
+    @NotBlank(message = "参数deliveryIdStr不能为空",groups = Update.class)
     private String deliveryIdStr;
 
+    @NotNull(message = "参数status不能为空",groups = Update.class)
     private Integer status;
 
 }

+ 5 - 4
lb-app/src/main/java/com/ydd/app/service/ApiStoreService.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.ydd.app.dto.ShopReq;
 import com.ydd.app.dto.StoreDto;
 import com.ydd.app.dto.StoreStatusDto;
+import com.ydd.common.core.domain.ResponseResult;
 import com.ydd.module.domain.DspDelivery;
 import com.ydd.module.domain.Shop;
 import com.ydd.module.dto.ShopDto;
@@ -30,7 +31,7 @@ public interface ApiStoreService {
      * @param shop
      * @param isMerchant true是商家,false是门店
      */
-    JSONObject saveShop(Long loginId, StoreDto shop, boolean isMerchant);
+    ResponseResult saveShop(Long loginId, StoreDto shop, boolean isMerchant);
 
 
 
@@ -39,15 +40,15 @@ public interface ApiStoreService {
      * @param loginId
      * @param shopReq
      */
-    JSONObject modify(Long loginId, StoreDto shopReq);
+    ResponseResult modify(Long loginId, StoreDto shopReq);
 
 
 
 
     Integer getFengniaoShopStatus(Shop shop, DspDelivery d,String lbClient);
 
-    JSONObject  changeShopDelivery(Long loginId,StoreStatusDto storeStatusDto);
+    ResponseResult  changeShopDelivery(Long loginId,StoreStatusDto storeStatusDto);
 
-    JSONObject queryhopDelivery(Long loginId, StoreStatusDto storeStatusDto);
+    ResponseResult queryshopDelivery(Long loginId, StoreStatusDto storeStatusDto);
 
 }

+ 5 - 0
lb-app/src/main/java/com/ydd/app/service/Insert.java

@@ -0,0 +1,5 @@
+package com.ydd.app.service;
+
+public interface Insert {
+
+}

+ 5 - 0
lb-app/src/main/java/com/ydd/app/service/Query.java

@@ -0,0 +1,5 @@
+package com.ydd.app.service;
+
+public interface Query {
+
+}

+ 5 - 0
lb-app/src/main/java/com/ydd/app/service/Update.java

@@ -0,0 +1,5 @@
+package com.ydd.app.service;
+
+public interface Update {
+
+}

+ 7 - 2
lb-app/src/main/java/com/ydd/app/service/impl/ApiMerchantServiceImpl.java

@@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -83,6 +84,12 @@ public class ApiMerchantServiceImpl implements ApiMerchantService {
         iMerchantService.save(merchant);
         member.setMerchantId(merchant.getId());
         member.setMemberType(MemberTypeEnum.MERCHANT.type);
+        createShop(merchant,member,loginId,merchantDto);
+        apiWaimaiPlatformService.saveConfig(loginId, new DeliveryConfigDto());
+    }
+
+    @Async
+    private void createShop(Merchant merchant,Member member,Long loginId,MerchantDto merchantDto){
         //默认创建一个门店(消息推送)
         ShopReq shopReq = new ShopReq();
         BeanUtils.copyProperties(merchantDto, shopReq);
@@ -102,9 +109,7 @@ public class ApiMerchantServiceImpl implements ApiMerchantService {
         shopUser.setMerchantId(member.getMerchantId());
         shopUser.setType(ShopUserTypeEnum.DINA_ZHANG.type);
         iShopUserService.save(shopUser);
-        apiWaimaiPlatformService.saveConfig(loginId, new DeliveryConfigDto());
     }
-
     @Override
     public MerchantDto findDetail(Long loginId, Integer merchantId) {
         Merchant merchant = iMerchantService.getById(merchantId);

+ 118 - 74
lb-app/src/main/java/com/ydd/app/service/impl/ApiStoreServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ydd.app.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baidu.aip.ocr.AipOcr;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.ydd.api.DeliveryService;
@@ -10,9 +11,12 @@ import com.ydd.app.dto.ShopReq;
 import com.ydd.app.dto.StoreDto;
 import com.ydd.app.dto.StoreStatusDto;
 import com.ydd.app.service.ApiStoreService;
+import com.ydd.common.constant.BillingConstant;
+import com.ydd.common.core.domain.ResponseResult;
 import com.ydd.common.enums.DeliveryTypeEnums;
 import com.ydd.common.enums.ResponseResultCodeEnum;
 import com.ydd.common.utils.SnCodeUtils;
+import com.ydd.common.utils.StringUtils;
 import com.ydd.ecloud.core.utils.JsonMapper;
 import com.ydd.module.domain.*;
 import com.ydd.module.dto.StoreDeliveryDto;
@@ -23,6 +27,8 @@ import com.ydd.module.enums.StatusEnum;
 import com.ydd.module.expection.CustomAppException;
 import com.ydd.module.service.*;
 import com.ydd.system.service.ISysConfigService;
+import com.ydd.third.common.utils.AddressLngLatExchanger;
+import com.ydd.third.common.utils.CoordinateUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.shop.ShopResultVo;
 import com.ydd.third.common.vo.shop.ShopVo;
@@ -33,6 +39,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -69,24 +76,49 @@ public class ApiStoreServiceImpl implements ApiStoreService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public JSONObject saveShop(Long loginId, StoreDto shopReq, boolean isMerchant) {
+    public ResponseResult saveShop(Long loginId, StoreDto shopReq, boolean isMerchant) {
         JSONObject resp = new JSONObject();
-        resp.put("code",0);
         Member member = iMemberService.getById(loginId);
-//        if (member.getMerchantId() == null) {
-//            resp.put("code",-1);
-//            resp.put("msg","门店分类不存在");
-//            return resp;
-//            throw new CustomAppException("请先申请成为商家!");
-//        }
+        Map<String, Object> map = AddressLngLatExchanger.addressToLngAndLag(shopReq.getAddress());
+        double distance = CoordinateUtils.getDistance(Double.parseDouble(map.get("lng") + ""), Double.parseDouble(map.get("lat") + ""), Double.parseDouble(shopReq.getLongitude()), Double.parseDouble(shopReq.getLatitude()));
+        if (distance > 50) {
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_ADDRESS_ERROR);
+        }
+        AipOcr client = new AipOcr("23831014", "BELGCxGTPOlcZzeZ85OLyIpD", "pLt8IG1PoXZBaDonLfFM9EkXndI1OBxh");
+        String idCardName = "";
+        if (StringUtils.isNotBlank(shopReq.getIdcardFront())) {
+            //百度ocr校验
+            org.json.JSONObject json = client.idcard(shopReq.getIdcardFront(), "front", new HashMap<String, String>());
+            if(json.getJSONObject("words_result")!=null){
+                String idCardNo = json.getJSONObject("words_result").getJSONObject("公民身份号码").getString("words");
+                 idCardName = json.getJSONObject("words_result").getJSONObject("姓名").getString("words");
+                if(!idCardNo.equals(shopReq.getIdcardNo())){
+                    return ResponseResult.error(ResponseResultCodeEnum.ID_CARD_VERIFY_FAIL);
+                }
+            }
+        }
+        if (StringUtils.isNotBlank(shopReq.getBizLicense())) {
+            //百度ocr校验
+            org.json.JSONObject json = client.businessLicense(shopReq.getIdcardFront(), new HashMap<String, String>());
+            if(json.getJSONObject("words_result")!=null){
+               String bizNo = json.getJSONObject("words_result").getJSONObject("社会信用代码").getString("words");
+                String name = json.getJSONObject("words_result").getJSONObject("法人").getString("words");
+                if(!bizNo.equals(shopReq.getBizLicenseNo())){
+                    return ResponseResult.error(ResponseResultCodeEnum.BUSINESS_LICENCSE_VERIFY_FAIL);
+                }
+                if(!idCardName.equals(name)){
+                    return ResponseResult.error(ResponseResultCodeEnum.BUSINESS_LICENCSE_AND_FAREN_VERIFY_FAIL);
+                }
+            }
+        }
+
+
         Merchant merchant = iMerchantService.getById(member.getMerchantId());
         if (merchant.getStatus().equals(MerchantStatusEnum.STOP.status)) {
-            resp.put("code", ResponseResultCodeEnum.MERCHANT_DISABLE);
-            return resp;
+            return ResponseResult.error(ResponseResultCodeEnum.MERCHANT_DISABLE);
         }
         if (merchant.getStatus().equals(MerchantStatusEnum.TO_BE_CERTIFIED.status)) {
-            resp.put("code", ResponseResultCodeEnum.MERCHANT_IS_AUDIT);
-            return resp;
+            return ResponseResult.error(ResponseResultCodeEnum.MERCHANT_IS_AUDIT);
         }
         Long categoryId = merchant.getCategoryId();
         if (null != shopReq.getCategoryId()) {
@@ -94,22 +126,20 @@ public class ApiStoreServiceImpl implements ApiStoreService {
         }
         MerchantCategory category = iMerchantCategoryService.getById(categoryId);
         if (category == null) {
-            resp.put("code", ResponseResultCodeEnum.SHOP_CATEGORY_NOT_EXIST);
-            return resp;
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_CATEGORY_NOT_EXIST);
         }
-        Shop existShop = iShopService.getOne(new QueryWrapper<Shop>().eq("name",shopReq.getShopName()));
-        if(existShop!=null){
-            resp.put("code", ResponseResultCodeEnum.SHOP_EXIST);
-            return resp;
+        Shop existShop = iShopService.getOne(new QueryWrapper<Shop>().eq("name", shopReq.getShopName()));
+        if (existShop != null) {
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_EXIST);
         }
         Shop shop = new Shop();
-        shop = shopBean(shop,shopReq);
+        shop = shopBean(shop, shopReq);
         shop.setCategoryId(categoryId);
         shop.setCode(SnCodeUtils.createShopSn());
         shop.setMerchantId(member.getMerchantId());
         // 如果商家打印二维码开启,新增门店也打开
         if (merchant.getOpenQrCode() == 1) {
-          shop.setOpenQrCode(1);
+            shop.setOpenQrCode(1);
         }
         iShopService.save(shop);
         //绑定最新门店到账户
@@ -173,26 +203,26 @@ public class ApiStoreServiceImpl implements ApiStoreService {
             }
             iShopDeliveryService.save(delivery);
             // 存lb_shop_third表中
-            saveShopThird(shop,delivery.getDeliveryId());
+            saveShopThird(shop, delivery.getDeliveryId());
         }
 
-        resp.put("shopCode",shop.getCode());
-        return resp;
+        resp.put("shopCode", shop.getCode());
+        return ResponseResult.success(resp);
     }
 
-    private  Shop shopBean(Shop shop,StoreDto shopReq){
+    private Shop shopBean(Shop shop, StoreDto shopReq) {
         shop.setProvinceName(shopReq.getProvinceName());
         shop.setCityName(shopReq.getCityName());
         shop.setDistrictName(shopReq.getDistrictName());
         shop.setAddress(shopReq.getAddress());
         shop.setContactName(shopReq.getContactName());
-        shop.setDoorHeadPhoto(shopReq.getHouseNumber());
+        //  shop.setDoorHeadPhoto(shopReq.getHouseNumber());
         shop.setLat(shopReq.getLatitude());
         shop.setLng(shopReq.getLongitude());
         // shop.setCityCode(shopReq.getCityCode());
         shop.setMobile(shopReq.getContactPhone());
         shop.setName(shopReq.getShopName());
-        shop.setStreet(shopReq.getAddress());
+        shop.setStreet(shopReq.getHouseNumber());
         shop.setBizLicense(shopReq.getBizLicense());
         shop.setBizLicenseNo(shopReq.getBizLicenseNo());
         //shop.setLegalPerson(shopReq.getLegalPerson());
@@ -202,9 +232,10 @@ public class ApiStoreServiceImpl implements ApiStoreService {
         // shop.setBizLicenseIdcard(shopReq.getBizLicenseIdcard());
         shop.setPoiAddress(shopReq.getPoiAddress());
 
-        return  shop;
+        return shop;
     }
-    private  void saveShopThird(Shop shop,Long deliveryId){
+
+    private void saveShopThird(Shop shop, Long deliveryId) {
         ShopThird shopThird = new ShopThird();
         shopThird.setShopId(shop.getId());
         shopThird.setAddress(shop.getAddress());
@@ -225,7 +256,7 @@ public class ApiStoreServiceImpl implements ApiStoreService {
 
     }
 
-    private  ShopReq coverShopReq(Shop shop){
+    private ShopReq coverShopReq(Shop shop) {
         ShopReq req = new ShopReq();
         req.setAddress(shop.getAddress());
         req.setContactName(shop.getContactName());
@@ -248,7 +279,7 @@ public class ApiStoreServiceImpl implements ApiStoreService {
         req.setBizLicenseIdcard(shop.getBizLicenseIdcard());
         req.setFoodLicensePic(shop.getFoodLicensePic());
         req.setPoiAddress(shop.getPoiAddress());
-        return  req;
+        return req;
     }
 
 
@@ -267,20 +298,22 @@ public class ApiStoreServiceImpl implements ApiStoreService {
     }
 
     @Override
-    public JSONObject changeShopDelivery(Long loginId,StoreStatusDto storeStatusDto) {
-        JSONObject json = new JSONObject();
+    public ResponseResult changeShopDelivery(Long loginId, StoreStatusDto storeStatusDto) {
         Shop shop = iShopService.getByCode(storeStatusDto.getShopCode());
         if (shop == null) {
-            json.put("code", ResponseResultCodeEnum.SHOP_NOT_EXIST);
-            return  json;
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST);
         }
         String deliverIdStr = storeStatusDto.getDeliveryIdStr();
-        List<String> deliverIds= Arrays.stream(deliverIdStr.split(",")).collect(Collectors.toList());
-        if(StatusEnum.SHOW.getStatus()==storeStatusDto.getStatus()){
-            iShopDeliveryDisableService.remove(new UpdateWrapper<ShopDeliveryDisable>().in("delivery_type",deliverIds).eq("shop_id",shop.getId()));
-        }else{
+        List<String> deliverIds = Arrays.stream(deliverIdStr.split(",")).collect(Collectors.toList());
+        List<DspDelivery> list = iDspDeliveryService.list(new QueryWrapper<DspDelivery>().in("type", deliverIds).isNotNull("dsp_id"));
+        if (deliverIds.size() != list.size()) {
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_DELIVERY_NOT_EXIST);
+        }
+        if (StatusEnum.SHOW.getStatus() == storeStatusDto.getStatus()) {
+            iShopDeliveryDisableService.remove(new UpdateWrapper<ShopDeliveryDisable>().in("delivery_type", deliverIds).eq("shop_id", shop.getId()));
+        } else {
             String[] ids = deliverIdStr.split(",");
-            for(int i=0;i<ids.length;i++){
+            for (int i = 0; i < ids.length; i++) {
                 ShopDeliveryDisable bean = new ShopDeliveryDisable();
                 bean.setAppId(storeStatusDto.getAppId());
                 bean.setDeliveryType(Integer.valueOf(ids[i]));
@@ -288,65 +321,60 @@ public class ApiStoreServiceImpl implements ApiStoreService {
                 iShopDeliveryDisableService.save(bean);
             }
         }
-        return json;
+        return ResponseResult.success();
     }
 
     @Override
-    public JSONObject queryhopDelivery(Long loginId, StoreStatusDto storeStatusDto) {
+    public ResponseResult queryshopDelivery(Long loginId, StoreStatusDto storeStatusDto) {
         JSONObject json = new JSONObject();
         Shop shop = iShopService.getByCode(storeStatusDto.getShopCode());
         if (shop == null) {
-            json.put("code", ResponseResultCodeEnum.SHOP_NOT_EXIST);
-            return  json;
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST);
         }
         List<StoreDeliveryDto> list = iShopDeliveryDisableService.shopDelivery(shop.getId());
 
-        json.put("shopCode",shop.getCode());
-        json.put("list",list);
-        return  json;
+        json.put("shopCode", shop.getCode());
+        json.put("list", list);
+        return ResponseResult.success(json);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public JSONObject modify(Long loginId, StoreDto storeDto) {
+    public ResponseResult modify(Long loginId, StoreDto storeDto) {
         JSONObject resp = new JSONObject();
-        resp.put("code",0);
         Shop shop = iShopService.getByCode(storeDto.getShopCode());
         if (shop == null) {
-
-            return resp;
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_NOT_EXIST);
         }
-        if(!shop.getName().equals(storeDto.getShopName())){
-            Shop existShop = iShopService.getOne(new QueryWrapper<Shop>().eq("name",storeDto.getShopName()));
-            if(existShop!=null){
-                resp.put("code", ResponseResultCodeEnum.SHOP_EXIST);
-                return resp;
+        if (!shop.getName().equals(storeDto.getShopName())) {
+            Shop existShop = iShopService.getOne(new QueryWrapper<Shop>().eq("name", storeDto.getShopName()));
+            if (existShop != null) {
+                return ResponseResult.error(ResponseResultCodeEnum.SHOP_EXIST);
             }
         }
 
-        shop = shopBean(shop,storeDto);
-        if (storeDto.getCategoryId() != null){
+        shop = shopBean(shop, storeDto);
+        if (storeDto.getCategoryId() != null) {
             shop.setCategoryId(storeDto.getCategoryId());
         }
         iShopService.updateById(shop);
+        MerchantCategory category = iMerchantCategoryService.getById(storeDto.getCategoryId());
+        if (category == null) {
+            return ResponseResult.error(ResponseResultCodeEnum.SHOP_CATEGORY_NOT_EXIST);
+        }
+        Merchant merchant = new Merchant();
+        merchant.setCategoryName(category.getFnProductType());
+        merchant.setMtCcategoryName(category.getMtProductType());
+        merchant.setDdCcategory(category.getDadaProductType());
+        merchant.setSsProductType(category.getSsProductType());
+        Member member = iMemberService.getById(loginId);
         // 提交审核
         List<ShopDelivery> shopDeliveries = iShopDeliveryService.findByShopId(shop.getId());
         for (ShopDelivery delivery : shopDeliveries) {
             DspDelivery dspDelivery = iDspDeliveryService.getById(delivery.getDeliveryId());
-            Member member = iMemberService.getById(loginId);
-            Merchant merchant = iMerchantService.getById(member.getMerchantId());
-            Long categoryId = merchant.getCategoryId();
-            if (storeDto.getCategoryId() != null) {
-                categoryId = storeDto.getCategoryId();
-            }
-            MerchantCategory category = iMerchantCategoryService.getById(categoryId);
-            merchant.setCategoryName(category.getFnProductType());
-            merchant.setMtCcategoryName(category.getMtProductType());
-            merchant.setDdCcategory(category.getDadaProductType());
-            merchant.setSsProductType(category.getSsProductType());
             if (delivery.getThirdShopId() != null) {
                 // 更新
-                ShopReq shopReq = new ShopReq();
+                ShopReq shopReq = coverShopReq(shop);
                 shopReq.setThirdShopId(delivery.getThirdShopId());
                 shopReq.setCode(shop.getCode());
                 ShopVo shopVo = ShopEditUtils.editShopVo(shopReq, dspDelivery, merchant);
@@ -379,9 +407,9 @@ public class ApiStoreServiceImpl implements ApiStoreService {
             } else {
                 // 新增
                 Shop shop1 = new Shop();
-                shop1 = shopBean(shop1,storeDto);
+                shop1 = shopBean(shop1, storeDto);
                 coverShopReq(shop1);
-                shop1.setCategoryId(categoryId);
+                shop1.setCategoryId(storeDto.getCategoryId());
                 shop1.setMerchantId(member.getMerchantId());
 //                BeanUtils.copyProperties(shopReq, shop1);
                 ShopVo shopVo = ShopEntityUtils.createShopVo(shop1, dspDelivery, merchant);
@@ -412,11 +440,27 @@ public class ApiStoreServiceImpl implements ApiStoreService {
                 }
                 iShopDeliveryService.updateById(delivery);
             }
-            saveShopThird(shop,delivery.getDeliveryId());
+            saveShopThird(shop, delivery.getDeliveryId());
         }
 
-        resp.put("shopCode",shop.getCode());
-        return resp;
+        resp.put("shopCode", shop.getCode());
+        return ResponseResult.success(resp);
     }
 
+    public static void main(String[] args) {
+        AipOcr client = new AipOcr("23831014", "BELGCxGTPOlcZzeZ85OLyIpD", "pLt8IG1PoXZBaDonLfFM9EkXndI1OBxh");
+
+        //百度ocr校验
+        String image = "E:\\1.jpg";
+        org.json.JSONObject json = client.idcard(image, "front", new HashMap<String, String>());
+       // JSONObject json = JSONObject.parseObject(ss);
+       System.out.println(json.toString());
+//        System.out.println(json.getJSONObject("words_result").getJSONObject("社会信用代码").getString("words"));
+//        System.out.println(json.getJSONObject("words_result").getJSONObject("法人").getString("words"));
+        if(json.getJSONObject("words_result")!=null){
+            System.out.println(json.getJSONObject("words_result").getJSONObject("公民身份号码").getString("words"));
+            System.out.println(json.getJSONObject("words_result").getJSONObject("姓名").getString("words"));
+        }
+
+    }
 }

+ 5 - 0
lb-common/pom.xml

@@ -203,6 +203,11 @@
             <artifactId>guava</artifactId>
             <version>20.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.baidu.aip</groupId>
+            <artifactId>java-sdk</artifactId>
+            <version>4.16.7</version>
+        </dependency>
     </dependencies>
 
 

+ 5 - 1
lb-common/src/main/java/com/ydd/common/enums/ResponseResultCodeEnum.java

@@ -34,7 +34,11 @@ public enum ResponseResultCodeEnum {
     NO_DELIVERY(2008, "无可用发单运力"),
     ORDER_NOT_EXIST(2009, "订单不存在"),
     ORDER_STATUS_FAIL(2010, "订单状态异常"),
-
+    SHOP_DELIVERY_NOT_EXIST(2011, "有不在指定运力范围内的运力id"),
+    SHOP_ADDRESS_ERROR(2012, "门店经纬度跟门店地址不匹配"),
+    ID_CARD_VERIFY_FAIL(2013, "法人身份证号码校验失败"),
+    BUSINESS_LICENCSE_VERIFY_FAIL(2014, "营业执照校验失败"),
+    BUSINESS_LICENCSE_AND_FAREN_VERIFY_FAIL(2015, "营业执照法人跟身份证信息不匹配"),
 
     VALUATION_ERR(2021, "计价失败"),