Commit 1eddcd6d by 胡超

Merge remote-tracking branch 'remotes/origin/feature_20200507_1.9.22_couponAndOrganiz'

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	order-application-service/pom.xml
parents 3e68949e d9b02499
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.4.4.RELEASE</version> <version>1.4.5.RELEASE</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<dependency> <dependency>
<artifactId>couponcenter-sdk</artifactId> <artifactId>couponcenter-sdk</artifactId>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<version>1.8.RELEASE</version> <version>1.8.14.RELEASE</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -40,3 +40,4 @@ ...@@ -40,3 +40,4 @@
| 1.4.2.RELEASE | 申请退款切取消接口新增超时时间字段 | 伍平 | 2020-05-12 | | 1.4.2.RELEASE | 申请退款切取消接口新增超时时间字段 | 伍平 | 2020-05-12 |
| 1.4.3.RELEASE | 增加售后阶段 | 海波 | 2020-05-14 | | 1.4.3.RELEASE | 增加售后阶段 | 海波 | 2020-05-14 |
| 1.4.4.RELEASE | 全单退增加是否退配送费 | 海波 | 2020-05-18 | | 1.4.4.RELEASE | 全单退增加是否退配送费 | 海波 | 2020-05-18 |
| 1.4.5.RELEASE | 券码接口新增组织机构 |胡超 | 2020-05-18 |
\ No newline at end of file
...@@ -48,6 +48,7 @@ import com.freemud.application.sdk.api.storecenter.enums.OpenTableEnum; ...@@ -48,6 +48,7 @@ import com.freemud.application.sdk.api.storecenter.enums.OpenTableEnum;
import com.freemud.application.sdk.api.storecenter.request.ChangeTableOrderStateRequest; import com.freemud.application.sdk.api.storecenter.request.ChangeTableOrderStateRequest;
import com.freemud.application.sdk.api.storecenter.request.GetStoreTableRequest; import com.freemud.application.sdk.api.storecenter.request.GetStoreTableRequest;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.response.GetStoreTableResponse; import com.freemud.application.sdk.api.storecenter.response.GetStoreTableResponse;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
...@@ -219,6 +220,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -219,6 +220,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
// 核销优惠券,核销失败提示下单失败并冲正库存积分等 // 核销优惠券,核销失败提示下单失败并冲正库存积分等
CouponRequest couponVerificationRequest = orderSdkAdapter.convert2CouponVerificationRequest(orderBean, accounts); CouponRequest couponVerificationRequest = orderSdkAdapter.convert2CouponVerificationRequest(orderBean, accounts);
if (couponVerificationRequest!=null){ if (couponVerificationRequest!=null){
// 核销券新增参数:组织机构
couponVerificationRequest.setChannel_ids(this.getOrgIds(orderBean.getCompanyId(), orderBean.getShopId()));
BaseResponse<CouponRedeemResponse> couponRedeemResponseBaseResponse = offlineCouponSdkService.couponRedeem(couponVerificationRequest, ""); BaseResponse<CouponRedeemResponse> couponRedeemResponseBaseResponse = offlineCouponSdkService.couponRedeem(couponVerificationRequest, "");
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponseBaseResponse.getCode())) { if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponseBaseResponse.getCode())) {
//TODO 失败取消订单,异步冲正库存 //TODO 失败取消订单,异步冲正库存
...@@ -1425,5 +1428,21 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1425,5 +1428,21 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return minTime; return minTime;
} }
/**
* 查询门店的组织机构
* @param partnerId
* @param storeCode
* @return
*/
private List<String> getOrgIds(String partnerId, String storeCode) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(partnerId);
request.setStoreCode(storeCode);
BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
if (orgList != null && ResponseResult.SUCCESS.getCode().equals(orgList.getCode())) {
return orgList.getData();
}
return null;
}
} }
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-shoppingcart-sdk</artifactId> <artifactId>assortment-shoppingcart-sdk</artifactId>
<version>1.1.0.RELEASE</version> <version>1.1.1.RELEASE</version>
<dependencies> <dependencies>
<dependency> <dependency>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>couponcenter-sdk</artifactId> <artifactId>couponcenter-sdk</artifactId>
<version>1.8.RELEASE</version> <version>1.8.14.RELEASE</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
...@@ -57,6 +57,12 @@ ...@@ -57,6 +57,12 @@
<version>1.4.1-SNAPSHOT</version> <version>1.4.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<version>2.6.1-SNAPSHOT</version>
<artifactId>storecenter-sdk</artifactId>
<scope>provided</scope>
</dependency>
</dependencies> </dependencies>
......
...@@ -2,3 +2,4 @@ ...@@ -2,3 +2,4 @@
| 版本号 | 版本说明 | 更新人 | 更新时间 | | 版本号 | 版本说明 | 更新人 | 更新时间 |
| --------------| ------------ | ------------- | ---------- | | --------------| ------------ | ------------- | ---------- |
| 1.1.0.RELEASE| 第一个release版本 | 丁凯 | 2020-03-04 | | 1.1.0.RELEASE| 第一个release版本 | 丁凯 | 2020-03-04 |
| 1.1.1.RELEASE| 升级券码sdk | 胡超 | 2020-05-18 |
\ No newline at end of file
...@@ -27,6 +27,8 @@ import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopPr ...@@ -27,6 +27,8 @@ import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopPr
import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult; import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult;
import com.freemud.application.sdk.api.productcenter.service.MenuService; import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.productcenter.service.ProductService; import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter; import com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter;
import com.freemud.sdk.api.assortment.shoppingcart.constant.*; import com.freemud.sdk.api.assortment.shoppingcart.constant.*;
import com.freemud.sdk.api.assortment.shoppingcart.domain.*; import com.freemud.sdk.api.assortment.shoppingcart.domain.*;
...@@ -163,7 +165,8 @@ public interface ShoppingCartBaseService { ...@@ -163,7 +165,8 @@ public interface ShoppingCartBaseService {
shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList); shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList);
} }
//校验商品券是否有当前点餐方式 //校验商品券是否有当前点餐方式
cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates); cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates
, checkCartRequest.getStoreId());
// 点餐方式改变商品券发生变动 // 点餐方式改变商品券发生变动
if (cartGoodsStates != null && cartGoodsStates.isOrderWayFlag()) { if (cartGoodsStates != null && cartGoodsStates.isOrderWayFlag()) {
...@@ -228,7 +231,7 @@ public interface ShoppingCartBaseService { ...@@ -228,7 +231,7 @@ public interface ShoppingCartBaseService {
* @param orderWay * @param orderWay
* @return * @return
*/ */
default CartGoodsStates updateSpqCartGoodsInfo(List<CartGoods> cartGoodsList, Integer orderWay, String partnerId, String trackingNo, CartGoodsStates goodsStates) { default CartGoodsStates updateSpqCartGoodsInfo(List<CartGoods> cartGoodsList, Integer orderWay, String partnerId,String trackingNo, CartGoodsStates goodsStates, String storeId) {
//获取所有商品券cartGoodsUid=sqp+code //获取所有商品券cartGoodsUid=sqp+code
List<String> couponIds = cartGoodsList.parallelStream() List<String> couponIds = cartGoodsList.parallelStream()
.filter(k ->StringUtils.isNotEmpty(k.getCartGoodsUid())&& k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)).map(CartGoods::getSpuId).collect(Collectors.toList()); .filter(k ->StringUtils.isNotEmpty(k.getCartGoodsUid())&& k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)).map(CartGoods::getSpuId).collect(Collectors.toList());
...@@ -236,7 +239,7 @@ public interface ShoppingCartBaseService { ...@@ -236,7 +239,7 @@ public interface ShoppingCartBaseService {
if (CollectionUtils.isEmpty(couponIds)) { if (CollectionUtils.isEmpty(couponIds)) {
return goodsStates; return goodsStates;
} }
List<DetailVO> detailVOList = getCouponsDetail(partnerId, couponIds, trackingNo); List<DetailVO> detailVOList = getCouponsDetail(partnerId, storeId, couponIds, trackingNo);
if (CollectionUtils.isEmpty(detailVOList)) { if (CollectionUtils.isEmpty(detailVOList)) {
return goodsStates; return goodsStates;
} }
...@@ -396,7 +399,7 @@ public interface ShoppingCartBaseService { ...@@ -396,7 +399,7 @@ public interface ShoppingCartBaseService {
* @param trackingNo * @param trackingNo
* @return * @return
*/ */
default List<DetailVO> getCouponsDetail(String partnerId, List<String> codes, String trackingNo) { default List<DetailVO> getCouponsDetail(String partnerId, String storeId, List<String> codes, String trackingNo) {
String appKey = getAppKey(partnerId, trackingNo); String appKey = getAppKey(partnerId, trackingNo);
if (StringUtils.isEmpty(appKey)) { if (StringUtils.isEmpty(appKey)) {
return null; return null;
...@@ -405,6 +408,8 @@ public interface ShoppingCartBaseService { ...@@ -405,6 +408,8 @@ public interface ShoppingCartBaseService {
couponDetailRequest.setCodes(codes); couponDetailRequest.setCodes(codes);
couponDetailRequest.setMerchantId(partnerId); couponDetailRequest.setMerchantId(partnerId);
couponDetailRequest.setPartnerId(partnerId); couponDetailRequest.setPartnerId(partnerId);
// 券码新增参数:组织机构
couponDetailRequest.setChannelIdList(this.getOrgIds(partnerId, storeId));
OnlineCouponSdkService onlineCouponSdkService = SDKCommonBaseContextWare.getBean(OnlineCouponSdkService.class); OnlineCouponSdkService onlineCouponSdkService = SDKCommonBaseContextWare.getBean(OnlineCouponSdkService.class);
com.freemud.application.sdk.api.base.BaseResponse<CouponDetailResponse> couponDetailResponse = onlineCouponSdkService.allDetail(couponDetailRequest, appKey, trackingNo); com.freemud.application.sdk.api.base.BaseResponse<CouponDetailResponse> couponDetailResponse = onlineCouponSdkService.allDetail(couponDetailRequest, appKey, trackingNo);
if (couponDetailResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(couponDetailResponse.getCode()) || couponDetailResponse.getData() == null || CollectionUtils.isEmpty(couponDetailResponse.getData().getDetails())) { if (couponDetailResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(couponDetailResponse.getCode()) || couponDetailResponse.getData() == null || CollectionUtils.isEmpty(couponDetailResponse.getData().getDetails())) {
...@@ -845,4 +850,22 @@ public interface ShoppingCartBaseService { ...@@ -845,4 +850,22 @@ public interface ShoppingCartBaseService {
*/ */
BaseResponse<List<CartGoods>> updateGoodsQty(CartParamDto cartParamDto, String trackingNo); BaseResponse<List<CartGoods>> updateGoodsQty(CartParamDto cartParamDto, String trackingNo);
/**
* 查询组织机构
* @param partnerId
* @param storeId
* @return
*/
default List<String> getOrgIds(String partnerId, String storeId) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(partnerId);
request.setStoreCode(storeId);
StoreCenterService storeCenterService = SDKCommonBaseContextWare.getBean(StoreCenterService.class);
com.freemud.application.sdk.api.base.BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
if (orgList != null && CartResponseConstant.SUCCESS.getCode().equals(orgList.getCode())) {
return orgList.getData();
}
return Collections.EMPTY_LIST;
}
} }
...@@ -35,12 +35,12 @@ ...@@ -35,12 +35,12 @@
<dependency> <dependency>
<artifactId>couponcenter-sdk</artifactId> <artifactId>couponcenter-sdk</artifactId>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<version>1.8.RELEASE</version> <version>1.8.14.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.4.4.RELEASE</version> <version>1.4.5.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
...@@ -270,7 +270,7 @@ ...@@ -270,7 +270,7 @@
<dependency> <dependency>
<groupId>com.freemud.card.sdk</groupId> <groupId>com.freemud.card.sdk</groupId>
<artifactId>freemud-card-sdk</artifactId> <artifactId>freemud-card-sdk</artifactId>
<version>2.1.5-SNAPSHOT</version> <version>2.4.17-RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -24,4 +24,8 @@ public class CouponCodeBaseDto { ...@@ -24,4 +24,8 @@ public class CouponCodeBaseDto {
private String store_id; private String store_id;
private String station_id; private String station_id;
private String operator_id; private String operator_id;
// 组织机构ID,(String 类型的集合)
private String[] channel_ids;
} }
...@@ -8,6 +8,7 @@ import cn.freemud.entities.vo.ActivityClassifyCouponBean; ...@@ -8,6 +8,7 @@ import cn.freemud.entities.vo.ActivityClassifyCouponBean;
import cn.freemud.entities.vo.ActivityCouponBean; import cn.freemud.entities.vo.ActivityCouponBean;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.service.CouponActivityService; import cn.freemud.service.CouponActivityService;
import cn.freemud.service.StoreService;
import cn.freemud.service.thirdparty.CouponClient; import cn.freemud.service.thirdparty.CouponClient;
import cn.freemud.service.thirdparty.CouponOfflineClient; import cn.freemud.service.thirdparty.CouponOfflineClient;
import cn.freemud.utils.LogUtil; import cn.freemud.utils.LogUtil;
...@@ -48,7 +49,8 @@ public class CouponActivityServiceImpl implements CouponActivityService { ...@@ -48,7 +49,8 @@ public class CouponActivityServiceImpl implements CouponActivityService {
private EmailAlertService emailAlertService; private EmailAlertService emailAlertService;
@Autowired @Autowired
private OfflineCouponSdkService offlineCouponSdkService; private OfflineCouponSdkService offlineCouponSdkService;
@Autowired
private StoreServiceImpl storeService;
/** /**
* 核销优惠券 * 核销优惠券
...@@ -95,6 +97,8 @@ public class CouponActivityServiceImpl implements CouponActivityService { ...@@ -95,6 +97,8 @@ public class CouponActivityServiceImpl implements CouponActivityService {
|| OrderAccountType.PRODUCT_COUPON.getCode().equals(accountBean.getType()) || OrderAccountType.PRODUCT_COUPON.getCode().equals(accountBean.getType())
|| OrderAccountType.DISCOUNT_COUPON.getCode().equals(accountBean.getType())) { || OrderAccountType.DISCOUNT_COUPON.getCode().equals(accountBean.getType())) {
CouponCodeVerificationDto couponCodeVerificationDto = couponAdapter.convert2CouponCodeVerificationDto(activityChannelEnum, accountBean.getAccountId(), orderBean.getOid(), orderBean.getCompanyId(), orderBean.getShopId(), orderBean.getUserId(), products, accountBean.getPrice().intValue()); CouponCodeVerificationDto couponCodeVerificationDto = couponAdapter.convert2CouponCodeVerificationDto(activityChannelEnum, accountBean.getAccountId(), orderBean.getOid(), orderBean.getCompanyId(), orderBean.getShopId(), orderBean.getUserId(), products, accountBean.getPrice().intValue());
// 核销券新增参数:组织机构ID
couponCodeVerificationDto.setChannel_ids(storeService.getOrgIdsArr(orderBean.getCompanyId(), orderBean.getShopId()));
try { try {
//71.券核销 //71.券核销
CouponCodeResponseDto couponCodeResponseDto = couponOfflineClient.verification(couponCodeVerificationDto); CouponCodeResponseDto couponCodeResponseDto = couponOfflineClient.verification(couponCodeVerificationDto);
......
package cn.freemud.service.impl; package cn.freemud.service.impl;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.enums.ScopeConfigType; import cn.freemud.enums.ScopeConfigType;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.StoreService; import cn.freemud.service.StoreService;
import cn.freemud.service.thirdparty.StoreClient; import cn.freemud.service.thirdparty.StoreClient;
import cn.freemud.utils.BeanUtil; import cn.freemud.utils.*;
import cn.freemud.utils.GeoHash; import com.freemud.application.sdk.api.base.BaseResponse;
import cn.freemud.utils.LogUtil; import com.freemud.application.sdk.api.log.LogThreadLocal;
import cn.freemud.utils.WebUtil; import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.google.common.collect.Lists;
import com.google.gson.Gson; import com.google.gson.Gson;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -185,4 +190,29 @@ public class StoreServiceImpl implements StoreService { ...@@ -185,4 +190,29 @@ public class StoreServiceImpl implements StoreService {
return WebUtil.calDistance(Double.valueOf(shopLng), Double.valueOf(shopLat), Double.valueOf(addressLng), Double.valueOf(addressLat)); return WebUtil.calDistance(Double.valueOf(shopLng), Double.valueOf(shopLat), Double.valueOf(addressLng), Double.valueOf(addressLat));
} }
/**
* 查询门店的组织机构
* @param partnerId
* @param storeCode
* @return
*/
public List<String> getOrgIds(String partnerId, String storeCode) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(partnerId);
request.setStoreCode(storeCode);
StoreCenterService storeCenterService = SpringBeanUtil.getBean(StoreCenterService.class);
BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
return orgList.getData();
}
return null;
}
public String[] getOrgIdsArr(String partnerId, String storeCode) {
List<String> orgIdsList = getOrgIds(partnerId, storeCode);
if (CollectionUtils.isNotEmpty(orgIdsList)) {
return orgIdsList.toArray(new String[orgIdsList.size()]);
}
return null;
}
} }
...@@ -40,12 +40,12 @@ ...@@ -40,12 +40,12 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>couponcenter-sdk</artifactId> <artifactId>couponcenter-sdk</artifactId>
<version>1.8.RELEASE</version> <version>1.8.14.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-shoppingcart-sdk</artifactId> <artifactId>assortment-shoppingcart-sdk</artifactId>
<version>1.1.0.RELEASE</version> <version>1.1.1.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
<dependency> <dependency>
<groupId>com.freemud.card.sdk</groupId> <groupId>com.freemud.card.sdk</groupId>
<artifactId>freemud-card-sdk</artifactId> <artifactId>freemud-card-sdk</artifactId>
<version>2.2.RELEASE</version> <version>2.4.17-RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -16,4 +16,6 @@ public class GetMemberCouponRequestVo { ...@@ -16,4 +16,6 @@ public class GetMemberCouponRequestVo {
* 优惠券号("多个券用,隔开如:"1111,2222") * 优惠券号("多个券用,隔开如:"1111,2222")
*/ */
private String couponCode; private String couponCode;
// 门店ID
private String storeId;
} }
...@@ -7,6 +7,8 @@ import com.freemud.application.sdk.api.log.ApiLog; ...@@ -7,6 +7,8 @@ import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest; import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.google.common.base.Joiner;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List; import java.util.List;
...@@ -43,4 +45,9 @@ public interface CommonService { ...@@ -43,4 +45,9 @@ public interface CommonService {
return null; return null;
} }
default String getOrgIdsAsString(String partnerId, String storeCode) {
List<String> orgIdList = this.getOrgIds(partnerId, storeCode);
return CollectionUtils.isNotEmpty(orgIdList) ? Joiner.on(",").join(orgIdList) : "";
}
} }
...@@ -52,10 +52,11 @@ public interface CouponService { ...@@ -52,10 +52,11 @@ public interface CouponService {
* 批次查询券详情 * 批次查询券详情
* *
* @param partnerId * @param partnerId
* @param storeId
* @param codes * @param codes
* @return * @return
*/ */
List<GetCouponDetailResponseDto.Details> getMemberCoupons(String partnerId, List<String> codes); List<GetCouponDetailResponseDto.Details> getMemberCoupons(String partnerId, String storeId, List<String> codes);
/** /**
* 同步券到会员卡包(投放会员卡包) * 同步券到会员卡包(投放会员卡包)
......
...@@ -30,6 +30,7 @@ import cn.freemud.entities.vo.*; ...@@ -30,6 +30,7 @@ import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.CommonService;
import cn.freemud.service.CouponService; import cn.freemud.service.CouponService;
import cn.freemud.service.ItemService; import cn.freemud.service.ItemService;
import cn.freemud.service.UserService; import cn.freemud.service.UserService;
...@@ -104,6 +105,8 @@ public class CouponServiceImpl implements CouponService { ...@@ -104,6 +105,8 @@ public class CouponServiceImpl implements CouponService {
private OpenPlatformClient openPlatformClient; private OpenPlatformClient openPlatformClient;
@Autowired @Autowired
private ItemService itemService; private ItemService itemService;
@Autowired
private CommonService commonService;
@Value("${coupon.partner.id}") @Value("${coupon.partner.id}")
private String couponPartnerId; private String couponPartnerId;
...@@ -232,6 +235,9 @@ public class CouponServiceImpl implements CouponService { ...@@ -232,6 +235,9 @@ public class CouponServiceImpl implements CouponService {
map.put(Finals.PARTNER_ID, requestVo.getPartnerId()); map.put(Finals.PARTNER_ID, requestVo.getPartnerId());
map.put(Finals.MERCHANT_ID, requestVo.getPartnerId()); map.put(Finals.MERCHANT_ID, requestVo.getPartnerId());
map.put(Finals.ACTION, "code.allDetails"); map.put(Finals.ACTION, "code.allDetails");
// 券码接口新增参数:组织机构(多个用英文逗号分离)
String channelIds = commonService.getOrgIdsAsString(requestVo.getPartnerId(), requestVo.getStoreId());
map.put(Finals.CHANNEL_ID_LIST, channelIds);
String appSecret = getAppSecret(requestVo.getPartnerId()); String appSecret = getAppSecret(requestVo.getPartnerId());
String sign = SignUtil.createMD5Sign(map, appSecret); String sign = SignUtil.createMD5Sign(map, appSecret);
map.put(Finals.SIGN, sign); map.put(Finals.SIGN, sign);
...@@ -247,7 +253,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -247,7 +253,7 @@ public class CouponServiceImpl implements CouponService {
* 批次查询 * 批次查询
*/ */
@Override @Override
public List<GetCouponDetailResponseDto.Details> getMemberCoupons(String partnerId, List<String> codes) { public List<GetCouponDetailResponseDto.Details> getMemberCoupons(String partnerId, String storeId, List<String> codes) {
String appSecret = getAppSecret(partnerId); String appSecret = getAppSecret(partnerId);
// 最大15一提交 // 最大15一提交
int maxNum = 15; int maxNum = 15;
...@@ -270,6 +276,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -270,6 +276,7 @@ public class CouponServiceImpl implements CouponService {
map.put(Finals.PARTNER_ID, partnerId); map.put(Finals.PARTNER_ID, partnerId);
map.put(Finals.MERCHANT_ID, partnerId); map.put(Finals.MERCHANT_ID, partnerId);
map.put(Finals.ACTION, "code.allDetails"); map.put(Finals.ACTION, "code.allDetails");
map.put(Finals.CHANNEL_ID_LIST, commonService.getOrgIdsAsString(partnerId, storeId));
String sign = SignUtil.createMD5Sign(map, appSecret); String sign = SignUtil.createMD5Sign(map, appSecret);
map.put(Finals.SIGN, sign); map.put(Finals.SIGN, sign);
GetCouponDetailResponseDto responseDto = couponOnlineClient.getCouponDetails(map); GetCouponDetailResponseDto responseDto = couponOnlineClient.getCouponDetails(map);
...@@ -406,6 +413,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -406,6 +413,7 @@ public class CouponServiceImpl implements CouponService {
Long totalAmount = createProductRequest(cartGoods, productList); Long totalAmount = createProductRequest(cartGoods, productList);
couponAvailableReqVo.setTotalAmount(Integer.valueOf(totalAmount + "")); couponAvailableReqVo.setTotalAmount(Integer.valueOf(totalAmount + ""));
couponAvailableReqVo.setProductList(productList); couponAvailableReqVo.setProductList(productList);
couponAvailableReqVo.setChannelIdList(commonService.getOrgIds(partnerId, storeId));
// 构建计算SDK // 构建计算SDK
List<CouponStateVo> couponStateList = Lists.newArrayList(); List<CouponStateVo> couponStateList = Lists.newArrayList();
for (int j = 0; j <= count; j++) { for (int j = 0; j <= count; j++) {
...@@ -564,6 +572,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -564,6 +572,7 @@ public class CouponServiceImpl implements CouponService {
GetMemberCouponRequestVo requestVo = new GetMemberCouponRequestVo(); GetMemberCouponRequestVo requestVo = new GetMemberCouponRequestVo();
requestVo.setPartnerId(partnerId); requestVo.setPartnerId(partnerId);
requestVo.setCouponCode(couponCode); requestVo.setCouponCode(couponCode);
requestVo.setStoreId(requestDto.getStoreId());
GetCouponDetailResponseDto couponDetailResponseDto = couponService.getMemberCoupon(requestVo); GetCouponDetailResponseDto couponDetailResponseDto = couponService.getMemberCoupon(requestVo);
LogUtil.info("couponService.getMemberCoupon", gson.toJson(requestVo), gson.toJson(couponDetailResponseDto)); LogUtil.info("couponService.getMemberCoupon", gson.toJson(requestVo), gson.toJson(couponDetailResponseDto));
if (couponDetailResponseDto == null || !couponDetailResponseDto.getResult().equals(ResponseCodeConstant.RESPONSE_SUCCESS_1) || CollectionUtils.isEmpty(couponDetailResponseDto.getDetails())) { if (couponDetailResponseDto == null || !couponDetailResponseDto.getResult().equals(ResponseCodeConstant.RESPONSE_SUCCESS_1) || CollectionUtils.isEmpty(couponDetailResponseDto.getDetails())) {
...@@ -800,6 +809,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -800,6 +809,7 @@ public class CouponServiceImpl implements CouponService {
Long totalAmount = 0L; Long totalAmount = 0L;
couponAvailableReqVo.setTotalAmount(Integer.valueOf(totalAmount + "")); couponAvailableReqVo.setTotalAmount(Integer.valueOf(totalAmount + ""));
couponAvailableReqVo.setProductList(productList); couponAvailableReqVo.setProductList(productList);
couponAvailableReqVo.setChannelIdList(commonService.getOrgIds(partnerId, storeId));
// 构建计算SDK // 构建计算SDK
List<CouponStateVo> couponStateList = Lists.newArrayList(); List<CouponStateVo> couponStateList = Lists.newArrayList();
for (int j = 0; j <= count; j++) { for (int j = 0; j <= count; j++) {
......
...@@ -89,7 +89,7 @@ public class CouponServiceTest { ...@@ -89,7 +89,7 @@ public class CouponServiceTest {
@Test @Test
public void getMemberCoupons() { public void getMemberCoupons() {
List<GetCouponDetailResponseDto.Details> details = couponService.getMemberCoupons("1864", Arrays.asList("8812412","88141242")); List<GetCouponDetailResponseDto.Details> details = couponService.getMemberCoupons("1864", "1001",Arrays.asList("8812412","88141242"));
assertTrue(CollectionUtils.isNotEmpty(details)); assertTrue(CollectionUtils.isNotEmpty(details));
} }
......
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