Commit 5ee6ca30 by dingkai

微商城查询生态获取虚拟门店号

parent 206c3f1d
package cn.freemud.entities.dto.ecology;
import lombok.Data;
@Data
public class VirtualBindStoreResponse {
/**
* 门店id
*/
private String storeId;
/**
* 类型
*/
private String type;
}
package cn.freemud.entities.dto.ecology;
import lombok.Data;
@Data
public class VirtualStoreRequest {
/**
* appid
*/
private String platformAppId;
/**
* 类型
*/
private String type;
}
...@@ -11,6 +11,8 @@ import cn.freemud.constant.RedisKeyConstant; ...@@ -11,6 +11,8 @@ import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.PayAccessResponse; import cn.freemud.entities.dto.PayAccessResponse;
import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse;
import cn.freemud.entities.dto.ecology.VirtualStoreRequest;
import cn.freemud.entities.dto.product.AttributeValue; import cn.freemud.entities.dto.product.AttributeValue;
import cn.freemud.entities.dto.product.GroupDetail; import cn.freemud.entities.dto.product.GroupDetail;
import cn.freemud.entities.dto.product.ProductAttributeGroup; import cn.freemud.entities.dto.product.ProductAttributeGroup;
...@@ -25,6 +27,7 @@ import cn.freemud.interceptor.ServiceException; ...@@ -25,6 +27,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.BuriedPointService; import cn.freemud.service.BuriedPointService;
import cn.freemud.service.MallOrderService; import cn.freemud.service.MallOrderService;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.service.thirdparty.ShoppingCartClient; import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.service.thirdparty.WechatApplicationServiceClient; import cn.freemud.service.thirdparty.WechatApplicationServiceClient;
import cn.freemud.utils.LogUtil; import cn.freemud.utils.LogUtil;
...@@ -121,6 +124,8 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -121,6 +124,8 @@ public class MallOrderServiceImpl implements MallOrderService {
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
@Autowired @Autowired
private WechatApplicationServiceClient wechatApplicationServiceClient; private WechatApplicationServiceClient wechatApplicationServiceClient;
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
/** /**
* 创建订单 * 创建订单
...@@ -214,12 +219,14 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -214,12 +219,14 @@ public class MallOrderServiceImpl implements MallOrderService {
} }
private void change2BindMallShopId(CreateOrderVo createOrderVo, String wxAppId) { private void change2BindMallShopId(CreateOrderVo createOrderVo, String wxAppId) {
String redisKey = RedisKeyConstant.OPENSTORE_MICROMALL_BIND_STOREID_PREFIX + wxAppId; VirtualStoreRequest virtualStoreRequest = new VirtualStoreRequest();
String shopId = redisCache.getValue(redisKey); virtualStoreRequest.setPlatformAppId(wxAppId);
if(StringUtils.isEmpty(shopId)) { virtualStoreRequest.setType("microMall");
BaseResponse<VirtualBindStoreResponse> virtualBindStoreResponse = ecologyAdminApplicationClient.getBuyBindVirtualStore(virtualStoreRequest);
if(virtualBindStoreResponse == null || virtualBindStoreResponse.getResult() == null || StringUtils.isBlank(virtualBindStoreResponse.getResult().getStoreId())) {
throw new ServiceException(ResponseResult.STORE_BIND_MALL_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_BIND_MALL_NOT_FOUND);
} }
createOrderVo.setShopId(shopId); createOrderVo.setShopId(virtualBindStoreResponse.getResult().getStoreId());
} }
private OrderExtInfoDTO getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) { private OrderExtInfoDTO getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) {
......
package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse;
import cn.freemud.entities.dto.ecology.VirtualStoreRequest;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
/**
* 生态服务
* @author: kai.ding
* @date:
*/
@FeignClient(name = "ECOLOGY-ADMIN-APPLICATION", url = "${saas.ecology.admin.application.feign.url}")
public interface EcologyAdminApplicationClient {
/**
* 获取虚拟门店
*/
@PostMapping(value = "ecology/api/app/info/getBuyBindVirtualStore", produces = MediaType.APPLICATION_JSON_VALUE ,consumes = MediaType.APPLICATION_JSON_VALUE )
BaseResponse<VirtualBindStoreResponse> getBuyBindVirtualStore(@RequestBody VirtualStoreRequest virtualStoreRequest);
}
package cn.freemud.entities.ecology;
import lombok.Data;
@Data
public class VirtualBindStoreResponse {
/**
* 门店id
*/
private String storeId;
/**
* 类型
*/
private String type;
}
package cn.freemud.entities.ecology;
import lombok.Data;
@Data
public class VirtualStoreRequest {
/**
* appid
*/
private String platformAppId;
/**
* 类型
*/
private String type;
}
...@@ -19,6 +19,8 @@ import cn.freemud.constant.ShoppingCartConstant; ...@@ -19,6 +19,8 @@ import cn.freemud.constant.ShoppingCartConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryDto; import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.ecology.VirtualBindStoreResponse;
import cn.freemud.entities.ecology.VirtualStoreRequest;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
...@@ -70,6 +72,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -70,6 +72,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
private AssortmentSdkService assortmentSdkService; private AssortmentSdkService assortmentSdkService;
@Autowired @Autowired
private AssortmentCustomerInfoManager customerInfoManager; private AssortmentCustomerInfoManager customerInfoManager;
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
/** /**
* 从微信卡券向购物车中添加商品 * 从微信卡券向购物车中添加商品
...@@ -659,11 +663,14 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -659,11 +663,14 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
* 获取商城门店id * 获取商城门店id
*/ */
private String getBindMallShopId(String wxAppId) { private String getBindMallShopId(String wxAppId) {
String shopId = shoppingCartBaseService.getBindMallShopId(wxAppId, LogThreadLocal.getTrackingNo()); VirtualStoreRequest virtualStoreRequest = new VirtualStoreRequest();
if(StringUtils.isEmpty(shopId)) { virtualStoreRequest.setPlatformAppId(wxAppId);
virtualStoreRequest.setType("microMall");
BaseResponse<VirtualBindStoreResponse> virtualBindStoreResponse = ecologyAdminApplicationClient.getBuyBindVirtualStore(virtualStoreRequest);
if(virtualBindStoreResponse == null || virtualBindStoreResponse.getResult() == null || StringUtils.isBlank(virtualBindStoreResponse.getResult().getStoreId())) {
throw new ServiceException(ResponseResult.STORE_MALL_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_MALL_NOT_FOUND);
} }
return shopId; return virtualBindStoreResponse.getResult().getStoreId();
} }
} }
package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.ecology.VirtualBindStoreResponse;
import cn.freemud.entities.ecology.VirtualStoreRequest;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 生态服务
* @author: kai.ding
* @date:
*/
@FeignClient(name = "ECOLOGY-ADMIN-APPLICATION", url = "${saas.ecology.admin.application.feign.url}")
public interface EcologyAdminApplicationClient {
/**
* 获取虚拟门店
*/
@PostMapping(value = "ecology/api/app/info/getBuyBindVirtualStore", produces = MediaType.APPLICATION_JSON_VALUE ,consumes = MediaType.APPLICATION_JSON_VALUE )
BaseResponse<VirtualBindStoreResponse> getBuyBindVirtualStore(@RequestBody VirtualStoreRequest virtualStoreRequest);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment