Commit 7d478148 by 张跃

Merge branch 'featur/20210602-券码接口调整-zy'

parents 88954d24 97084f94
......@@ -26,7 +26,7 @@
<dependency>
<artifactId>couponcenter-sdk</artifactId>
<groupId>com.freemud.application.service.sdk</groupId>
<version>4.0.0-SNAPSHOT</version>
<version>4.1.2-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -3679,4 +3679,83 @@ public class OrderSdkAdapter {
orderStateInfoResp.setData(info);
return orderStateInfoResp;
}
public CouponRequest convert2PreCheckRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts,String openId) {
if (CollectionUtils.isEmpty(accounts)) {
return null;
}
Optional<CreateOrderAccountRequest> accountRequest = accounts.stream().filter(account -> account.getAccountType().equals(QueryOrderAccountType.COUPON) || account.getAccountType().equals(QueryOrderAccountType.PRODUCT_COUPON)
|| account.getAccountType().equals(QueryOrderAccountType.DISCOUNT_COUPON)).findFirst();
if (!accountRequest.isPresent() || accountRequest.get().getPrice() == 0) {
return null;
}
CreateOrderAccountRequest accountBean = accountRequest.get();
CouponRequest couponRequest = new CouponRequest();
couponRequest.setReqtype(71);
couponRequest.setVer(Integer.valueOf(Version.VERSION_1));
couponRequest.setPartnerId(Integer.parseInt(orderBean.getCompanyId()));
ActivityChannelEnum activityChannelEnum = orderTypeEnumConvert2ActivityChannel(orderBean.getOrderType());
if (activityChannelEnum == null) {
activityChannelEnum = ActivityChannelEnum.pickup;
}
couponRequest.setChannel(activityChannelEnum.getCode());
couponRequest.setStation_id("-1");
couponRequest.setOperator_id("-1");
couponRequest.setStore_id(orderBean.getShopId());
couponRequest.setMemberId(orderBean.getUserId());
couponRequest.setOpenid(openId);
// 订单号 替换成唯一序号
couponRequest.setTrans_id(orderBean.getOid());
couponRequest.setBusiness_date(DateUtil.convert2String(new Date(), DateUtil.FORMAT_yyyyMMdd));
List<TransactionVO> transactions = new ArrayList<>();
TransactionVO couponCodeVerificationTransDto = new TransactionVO();
couponCodeVerificationTransDto.setCode(accountBean.getAccountId());
couponCodeVerificationTransDto.setOpenId(openId);
Integer discountPrice = accountBean.getPrice().intValue();
if (discountPrice != null && discountPrice < 0) {
discountPrice = 0 - discountPrice;
}
couponCodeVerificationTransDto.setTotalAmount(accountBean.getPrice().longValue());
//商品券预教研
List<ProductRedeemVO> products = new ArrayList<>();
if (QueryOrderAccountType.PRODUCT_COUPON.getCode().equals(accountBean.getAccountType().getCode())) {
for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
if (!org.springframework.util.CollectionUtils.isEmpty(orderBean.getProductList().get(i).getDiscountList())) {
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean.ProductDiscount> discounts = orderBean.getProductList().get(i).getDiscountList().stream().
filter(productDiscount -> productDiscount.getDiscountId().equals(accountBean.getAccountId())).collect(Collectors.toList());
for (QueryOrdersResponse.DataBean.OrderBean.ProductBean.ProductDiscount productDiscount : discounts) {
if (productDiscount.getDiscountType() == null || productDiscount.getDiscountType() == 0) {
continue;
}
ProductRedeemVO couponCodeVerificationProductDto = new ProductRedeemVO();
couponCodeVerificationProductDto.setPid(pid);
couponCodeVerificationProductDto.setConsume_num(productDiscount.getDiscountQty());
couponCodeVerificationProductDto.setSeq(i + 1);
products.add(couponCodeVerificationProductDto);
}
}
}
}
if (CollectionUtils.isNotEmpty(products)) {
couponCodeVerificationTransDto.setProducts(products);
}
transactions.add(couponCodeVerificationTransDto);
couponRequest.setTransactions(transactions);
return couponRequest;
}
private ActivityChannelEnum orderTypeEnumConvert2ActivityChannel(Integer orderType) {
if (Objects.equals(OldOrderType.TAKE_OUT.getCode(), orderType)) {
return ActivityChannelEnum.delivery;
} else if (Objects.equals(OldOrderType.COLLECT_GOODS.getCode(), orderType) || Objects.equals(OldOrderType.EAT_IN.getCode(), orderType)) {
return ActivityChannelEnum.pickup;
}else if (Objects.equals(OldCreateOrderType.SAASMALL.getCode(), orderType)) {
return ActivityChannelEnum.saasmall;
} else {
return ActivityChannelEnum.pickup;
}
}
}
......@@ -3,7 +3,9 @@ package com.freemud.sdk.api.assortment.order.enums;
public enum ActivityChannelEnum {
// pickup-到店取餐 deliver-外卖
pickup("pickup", "到店取餐"),
delivery("delivery", "外卖");
delivery("delivery", "外卖"),
saasmall("saasmall", "外卖");
private String code;
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CreateOrderType
* @Package cn.freemud.enums
* @Description:
* @author: liming.guo
* @date: 2018/7/3 13:35
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package com.freemud.sdk.api.assortment.order.enums;
public enum OldCreateOrderType {
TAKE_OUT(2, "外卖"),
COLLECT_GOODS(1, "到店"),
SAASMALL(3, "商城");
private Integer code;
private String desc;
public static OldCreateOrderType getByCode(Integer code) {
if (code == null) {
return null;
}
for (OldCreateOrderType createOrderType : values()) {
if (createOrderType.getCode().equals(code)) {
return createOrderType;
}
}
return null;
}
OldCreateOrderType(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
......@@ -40,6 +40,8 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
*/
private String menuType;
private String openId;
@Data
public static class OrderInfo {
/**
......
......@@ -15,4 +15,5 @@ public class CreateOrderRequest extends BaseConfig {
*/
MqMessageRequest mqMessageRequest;
private String openId;
}
......@@ -56,11 +56,13 @@ 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.StoreResponse;
import com.freemud.application.sdk.api.storecenter.response.vo.GetOrgTreeListResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.application.sdk.api.structure.MessageCenterType;
import com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto;
import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
import com.freemud.sdk.api.assortment.order.adapter.*;
import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
import com.freemud.sdk.api.assortment.order.entities.OrderEditInfo;
import com.freemud.sdk.api.assortment.order.enums.*;
import com.freemud.sdk.api.assortment.order.request.order.CreateOrderRequest;
......@@ -134,7 +136,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return getCreateOrderResponse(createOrderResponse.getErrcode().toString(), createOrderResponse.getErrmsg(), null);
}
BaseOrderResponse baseOrderResponse = updateStockAndScore(createOrderResponse.getData(), config.getBaseCreateOrderRequest().getProducts(), config.getBaseCreateOrderRequest().getActivityUpdateStockRequest(),
config.getBaseCreateOrderRequest().getAccounts(), config.getMqMessageRequest(),config.getBaseCreateOrderRequest().getMenuType());
config.getBaseCreateOrderRequest().getAccounts(), config.getMqMessageRequest(),config.getBaseCreateOrderRequest().getMenuType(),config.getOpenId());
if (!RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return getCreateOrderResponse(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg(), null);
}
......@@ -155,7 +157,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
CreateFatherSonOrderRequest.OrderInfo productOrderRequest = createFatherSonOrderRequest.getOrderInfoList().stream().filter(orderBeanTemp -> 1 == orderBeanTemp.getBizType()).collect(Collectors.toList()).get(0);
BaseOrderResponse baseOrderResponse =updateStockAndScore(productOrderInfo.get(0), productOrderRequest.getProducts(), productOrderRequest.getActivityUpdateStockRequest(), productOrderRequest.getAccounts(),
createFatherSonOrderRequest.getMqMessageRequest(),createFatherSonOrderRequest.getMenuType());
createFatherSonOrderRequest.getMqMessageRequest(),createFatherSonOrderRequest.getMenuType(),createFatherSonOrderRequest.getOpenId());
if (!RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return CreateFatherSonOrderResponse.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
}
......@@ -175,7 +177,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
private BaseOrderResponse updateStockAndScore(OrderBean orderBean, List<CreateOrderProductRequest> products, ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts, MqMessageRequest mqMessageRequest,String menuType) {
List<CreateOrderAccountRequest> accounts, MqMessageRequest mqMessageRequest,String menuType,String openId) {
//TODO 转换获取库存信息,扣减库存
UpdateStocksRequest updateStocksRequest = orderSdkAdapter.getUpdateProductStock(orderBean, products, StockChangeType.REDUCE,menuType);
if (updateStocksRequest != null && CollectionUtils.isNotEmpty(updateStocksRequest.getProductStocks())) {
......@@ -225,9 +227,12 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
// 下单成锁定劵,冻结失败提示下单失败并冲正库存积分等,判断支付渠道,积分和svc卡直接核销,无需锁定10102 = svc卡支付 || 支付金额小于等于0
//todo:统一流程 下单锁券再核销
CouponLockRequest couponLockRequest = orderSdkAdapter.convert2CouponLockRequest(orderBean, accounts);
if (couponLockRequest != null) {
BaseResponse<CouponLockResponse> couponLockResponseBaseResponse = offlineCouponSdkService.couponLock(couponLockRequest, "");
// CouponLockRequest couponLockRequest = orderSdkAdapter.convert2CouponLockRequest(orderBean, accounts);
CouponRequest request = orderSdkAdapter.convert2PreCheckRequest(orderBean, accounts, openId);
if (request != null) {
request.setChannel_ids(getOrgCodes(orderBean.getCompanyId(),orderBean.getShopId()));
// BaseResponse<CouponLockResponse> couponLockResponseBaseResponse = offlineCouponSdkService.couponLock(couponLockRequest, "");
BaseResponse<CouponLockResponse> couponLockResponseBaseResponse = offlineCouponSdkService.precheckAndLock(request, LogThreadLocal.getTrackingNo());
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponLockResponseBaseResponse.getCode())) {
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null);
orderCancel(cancelOrderRequest);
......@@ -239,6 +244,21 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, "");
}
List<String> getOrgCodes(String partnerId, String storeCode) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(partnerId);
request.setStoreCode(storeCode);
BaseResponse<GetOrgTreeListResponse> orgList = storeCenterService.getOrgTreeList(request, LogThreadLocal.getTrackingNo());
if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
List<GetOrgTreeListResponse.OrgList> orgResponseList = orgList.getData().getOrgList();
if (CollectionUtils.isEmpty(orgResponseList)){
return null;
}
return orgResponseList.stream().map(org -> org.getOrganizationId()).collect(Collectors.toList());
}
return null;
}
/**
* 围餐更新库存和积分
*/
......
......@@ -49,7 +49,7 @@
<dependency>
<artifactId>couponcenter-sdk</artifactId>
<groupId>com.freemud.application.service.sdk</groupId>
<version>4.0.0-SNAPSHOT</version>
<version>4.1.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>cn.freemud</groupId>
......
......@@ -117,7 +117,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
couponCodeVerificationDto.setTrans_id(orderBean.getOid());
couponCodeVerificationDto.setBusiness_date(DateUtil.convert2Str(new Date(), DateUtil.FORMAT_yyyyMMdd));
// 核销券新增参数:组织机构ID
couponCodeVerificationDto.setChannel_codes(storeService.getOrgIdsArr(orderBean.getCompanyId(), orderBean.getShopId()));
couponCodeVerificationDto.setChannel_ids(storeService.getOrgIdsArr(orderBean.getCompanyId(), orderBean.getShopId()));
// 核销交易信息
List<CouponCodeVerificationTransDto> transactions = new ArrayList<>();
......
......@@ -107,7 +107,7 @@ public class PlatformCouponRelationServiceImpl implements CouponRelationService
couponCodeVerificationDto.setOrderPaymentAmount(orderBean.getAmount());
couponCodeVerificationDto.setOrderDiscountAmount(orderBean.getOriginalAmount().longValue()-orderBean.getAmount());
// 核销券新增参数:组织机构ID
couponCodeVerificationDto.setChannel_codes(storeService.getOrgIdsArr(orderBean.getCompanyId(), orderBean.getShopId()));
couponCodeVerificationDto.setChannel_ids(storeService.getOrgIdsArr(orderBean.getCompanyId(), orderBean.getShopId()));
try {
//71.券核销
for (int i = 2; i >= 0; i--) {
......
......@@ -1081,7 +1081,7 @@ public class OrderServiceImpl implements Orderservice {
, queryOrderResponseVo.getOid()
, userId
, queryOrderVo.getSessionId()
, bizVO.getParentCode());
, bizVO.getParentId());
// 取红包图片
queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId));
queryOrderResponseVo.setActivityId(activityId);
......@@ -1424,7 +1424,7 @@ public class OrderServiceImpl implements Orderservice {
orderBean.setShopPhone(storeResponseDto.getPhone());
orderBean.setLatitude(Double.valueOf(storeResponseDto.getLatitude()));
orderBean.setLongitude(Double.valueOf(storeResponseDto.getLongitude()));
organizationId = storeResponseDto.getParentCode();
organizationId = storeResponseDto.getParentId();
}
//TODO 查询订单的排队人数
orderBean.setQueueIndex("");
......@@ -2560,7 +2560,7 @@ public class OrderServiceImpl implements Orderservice {
int cardOriginalAmount = shoppingCartGoodsDto.getCardOriginalAmount() == null ? 0 : shoppingCartGoodsDto.getCardOriginalAmount();
int cardDiscountAmount = shoppingCartGoodsDto.getCardDiscountAmount() == null ? 0 : shoppingCartGoodsDto.getCardDiscountAmount();
cardAmount = cardOriginalAmount - cardDiscountAmount;
CreateFatherSonOrderResponse createFatherSonOrderResponse = createFatherSonOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, appId);
CreateFatherSonOrderResponse createFatherSonOrderResponse = createFatherSonOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, appId,userLoginInfoDto.getOpenId());
if (ObjectUtils.notEqual(Integer.valueOf(ResponseResult.SUCCESS.getCode()), createFatherSonOrderResponse.getErrcode())) {
return ResponseUtil.error(createFatherSonOrderResponse.getErrcode().toString(), createFatherSonOrderResponse.getErrmsg());
}
......@@ -2575,7 +2575,7 @@ public class OrderServiceImpl implements Orderservice {
fatherBeanList.get(0).setCompanyId(createOrderVo.getPartnerId());
} else {
//普通订单
CreateOrderResponse createOrderFlowResponse = createOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, orderClient, appId);
CreateOrderResponse createOrderFlowResponse = createOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, orderClient, appId,userLoginInfoDto.getOpenId());
if (ObjectUtils.notEqual(Integer.valueOf(ResponseResult.SUCCESS.getCode()), createOrderFlowResponse.getErrcode())) {
return ResponseUtil.error(createOrderFlowResponse.getErrcode().toString(), createOrderFlowResponse.getErrmsg());
}
......@@ -2755,7 +2755,7 @@ public class OrderServiceImpl implements Orderservice {
* 创建普通订单
*/
public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq, OrderClientType orderClient, String appId) {
OrderExtendedReq orderExtendedReq, OrderClientType orderClient, String appId,String openId) {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
//查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
......@@ -2766,6 +2766,7 @@ public class OrderServiceImpl implements Orderservice {
CreateOrderRequest createOrderRequest = new CreateOrderRequest();
baseCreateOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
createOrderRequest.setBaseCreateOrderRequest(baseCreateOrderRequest);
createOrderRequest.setOpenId(openId);
MqMessageRequest mqMessageRequest = new MqMessageRequest();
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
......@@ -2780,13 +2781,14 @@ public class OrderServiceImpl implements Orderservice {
*/
public CreateFatherSonOrderResponse createFatherSonOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto,
ShoppingCartGoodsDto shoppingCartGoodsDto, OrderExtendedReq orderExtendedReq,
String appId) {
String appId,String openId) {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq, storeResponseDto, appId);
//查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest();
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
createFatherSonOrderRequest.setOpenId(openId);
createFatherSonOrderRequest.setMqMessageRequest(mqMessageRequest);
return orderCenterSdkService.createFatherSonOrder(createFatherSonOrderRequest);
}
......@@ -3207,7 +3209,7 @@ public class OrderServiceImpl implements Orderservice {
private BaseResponse createOrderAndPay(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDto orderExtInfoDTO) {
//创建订单--包括下单购买会员卡创建父子订单
CreateOrderOperateDto operateDto = createOrderForFace(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto.getWxAppId());
CreateOrderOperateDto operateDto = createOrderForFace(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto.getWxAppId(),userLoginInfoDto.getOpenId());
long totalAmount = operateDto.getTotalAmount();
int cardAmount = operateDto.getCardAmount();
QueryOrdersResponse.DataBean.OrderBean fatherOrderBean = operateDto.getFatherOrderBean();
......@@ -3266,7 +3268,7 @@ public class OrderServiceImpl implements Orderservice {
* 创建订单
*/
private CreateOrderOperateDto createOrderForFace(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto,
ShoppingCartGoodsDto shoppingCartGoodsDto, String appId) {
ShoppingCartGoodsDto shoppingCartGoodsDto, String appId,String openId) {
CreateOrderOperateDto response = new CreateOrderOperateDto();
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
//创建普通订单
......@@ -3284,6 +3286,7 @@ public class OrderServiceImpl implements Orderservice {
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
createOrderRequest.setMqMessageRequest(mqMessageRequest);
createOrderRequest.setOpenId(openId);
createOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
return orderCenterSdkService.createOrderFlow(createOrderRequest);
});
......@@ -3295,6 +3298,7 @@ public class OrderServiceImpl implements Orderservice {
MqMessageRequest mqMessageRequest = new MqMessageRequest();
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
createFatherSonOrderRequest.setOpenId(openId);
createFatherSonOrderRequest.setMqMessageRequest(mqMessageRequest);
return orderCenterSdkService.createFatherSonOrder(createFatherSonOrderRequest);
});
......
......@@ -10,6 +10,7 @@ import cn.freemud.utils.*;
import com.freemud.application.sdk.api.base.BaseResponse;
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.response.vo.GetOrgTreeListResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
......@@ -24,6 +25,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service
public class StoreServiceImpl implements StoreService {
......@@ -201,9 +203,14 @@ public class StoreServiceImpl implements StoreService {
request.setPartnerId(partnerId);
request.setStoreCode(storeCode);
StoreCenterService storeCenterService = SpringBeanUtil.getBean(StoreCenterService.class);
BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
// BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
BaseResponse<GetOrgTreeListResponse> orgList = storeCenterService.getOrgTreeList(request, LogThreadLocal.getTrackingNo());
if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
return orgList.getData();
List<GetOrgTreeListResponse.OrgList> orgResponseList = orgList.getData().getOrgList();
if (CollectionUtils.isEmpty(orgResponseList)){
return null;
}
return orgResponseList.stream().map(org -> org.getOrganizationId()).collect(Collectors.toList());
}
return null;
}
......
......@@ -40,7 +40,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>couponcenter-sdk</artifactId>
<version>1.9.2.RELEASE</version>
<version>4.1.2-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
......
......@@ -82,7 +82,7 @@ public class KgdCouponServiceImpl implements CouponService {
List<String> orgIds = storeService.getOrgIds(getStoreBO);
String channelIds = CollectionUtils.isNotEmpty(orgIds) ? Joiner.on(",").join(orgIds) : "";
map.put(Finals.CHANNEL_CODE_LIST, channelIds);
map.put(Finals.CHANNEL_ID_LIST, channelIds);
String appSecret = getAppSecret(getCouponDetailBO.getPartnerId());
String sign = SignUtil.createMD5Sign(map, appSecret);
map.put(Finals.SIGN, sign);
......
......@@ -15,11 +15,16 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
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.StoreResponse;
import com.freemud.application.sdk.api.storecenter.response.vo.GetOrgTreeListResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.application.sdk.api.util.ResponseUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service("KgdStoreService")
public class KgdStoreServiceImpl implements StoreService {
......@@ -39,11 +44,18 @@ public class KgdStoreServiceImpl implements StoreService {
GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(getStoreBO.getPartnerId());
request.setStoreCode(getStoreBO.getStoreCode());
BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
return orgList.getData();
BaseResponse<GetOrgTreeListResponse> response = storeCenterService.getOrgTreeList(request, LogThreadLocal.getTrackingNo());
if (Objects.equals("100", response.getCode()) && response.getData() != null) {
List<GetOrgTreeListResponse.OrgList> orgList = ((GetOrgTreeListResponse)response.getData()).getOrgList();
if (CollectionUtils.isEmpty(orgList)) {
return null;
} else {
List<String> orgIds = (List)orgList.stream().map(GetOrgTreeListResponse.OrgList::getOrganizationId).collect(Collectors.toList());
return orgIds;
}
} else {
return null;
}
return null;
}
@Override
......
......@@ -10,11 +10,13 @@ import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequ
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.response.vo.GetOrgTreeListResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.application.sdk.api.util.ResponseUtils;
import com.google.common.base.Joiner;
import org.apache.commons.collections4.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
......@@ -43,11 +45,23 @@ public interface CommonService {
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();
BaseResponse<GetOrgTreeListResponse> response = storeCenterService.getOrgTreeList(request, LogThreadLocal.getTrackingNo());
// BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
if (Objects.equals("100", response.getCode()) && response.getData() != null) {
List<GetOrgTreeListResponse.OrgList> orgList = ((GetOrgTreeListResponse)response.getData()).getOrgList();
if (org.springframework.util.CollectionUtils.isEmpty(orgList)) {
return null;
} else {
List<String> orgIds = (List)orgList.stream().map(GetOrgTreeListResponse.OrgList::getOrganizationId).collect(Collectors.toList());
return orgIds;
}
} else {
return null;
}
return null;
// if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
// return orgList.getData();
// }
// return null;
}
/**
......@@ -97,7 +111,7 @@ public interface CommonService {
}
default String getOrgIdsAsString(String partnerId, String storeCode) {
List<String> orgIdList = this.getOrgIds(partnerId, storeCode);
List<String> orgIdList = this.getOrgIdsForCoupon(partnerId, storeCode);
return CollectionUtils.isNotEmpty(orgIdList) ? Joiner.on(",").join(orgIdList) : "";
}
......
......@@ -287,7 +287,7 @@ public class CouponServiceImpl implements CouponService {
map.put(Finals.ACTION, "code.allDetails");
// 券码接口新增参数:组织机构(多个用英文逗号分离)
String channelIds = commonService.getOrgIdsAsString(requestVo.getPartnerId(), requestVo.getStoreId());
map.put(Finals.CHANNEL_CODE_LIST, channelIds);
map.put(Finals.CHANNEL_ID_LIST, channelIds);
String appSecret = getAppSecret(requestVo.getPartnerId());
String sign = SignUtil.createMD5Sign(map, appSecret);
map.put(Finals.SIGN, sign);
......@@ -511,8 +511,8 @@ public class CouponServiceImpl implements CouponService {
Long totalAmount = createProductRequest(cartGoods, productList, isNew);
couponAvailableReqVo.setTotalAmount(Integer.valueOf(totalAmount + ""));
couponAvailableReqVo.setProductList(productList);
couponAvailableReqVo.setChannelCodeList(commonService.getOrgCodes(partnerId, storeId));
// couponAvailableReqVo.setChannelIdList(commonService.getOrgIdsForCoupon(partnerId, storeId));
// couponAvailableReqVo.setChannelCodeList(commonService.getOrgCodes(partnerId, storeId));
couponAvailableReqVo.setChannelIdList(commonService.getOrgIdsForCoupon(partnerId, storeId));
if (StringUtils.isNotBlank(menuType)) {
String code = BusinessTypeEnum.getByType(menuType).getCode();
String channel = CouponRedeemChannel.getChannelByType(code);
......
......@@ -795,7 +795,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
List<String> cartGoodsUidList = calculationDiscountGoodsList.stream().map(ActivityCalculationDiscountRequestDto.CalculationDiscountGoods::getCartGoodsUid).collect(toList());
activityCalculationDiscountRequestDto.setGoods(calculationDiscountGoodsList);
activityCalculationDiscountRequestDto.setCoupons(coupons);
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIds(partnerId, storeId));
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIdsForCoupon(partnerId, storeId));
activityCalculationDiscountRequestDto.setDistributionFee(distributionFee);
activityCalculationDiscountRequestDto.setIsMember(isMember);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
......
......@@ -569,7 +569,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto.setGoods(calculationDiscountGoodsList);
activityCalculationDiscountRequestDto.setCoupons(coupons);
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIds(partnerId, storeId));
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIdsForCoupon(partnerId, storeId));
activityCalculationDiscountRequestDto.setDistributionFee(distributionFee);
activityCalculationDiscountRequestDto.setIsMember(isMember);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
......
......@@ -1405,7 +1405,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
activityCalculationDiscountRequestDto.setGoods(calculationDiscountGoodsList);
activityCalculationDiscountRequestDto.setCoupons(coupons);
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIds(partnerId, storeId));
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIdsForCoupon(partnerId, storeId));
activityCalculationDiscountRequestDto.setDistributionFee(distributionFee);
activityCalculationDiscountRequestDto.setIsMember(isMember);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
......@@ -2949,7 +2949,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
Integer orderType = requestVo.getOrderType();
CouponAvailableCartInfo couponAvailableCartInfo;
List<String> orgCodes = commonService.getOrgCodes(partnerId, storeId);
List<String> orgCodes = commonService.getOrgIdsForCoupon(partnerId, storeId);
// 获取购物车商品
List<CartGoods> cartGoodsList = assortmentSdkService.getShoppingCartForCoupon(partnerId, requestVo.getStoreId(), userId, "", shoppingCartBaseService);
if (grayPush(partnerId,storeId,"2")) {
......
......@@ -191,7 +191,7 @@ public class CalculationSharingDiscountService {
//组装促销
calculationSharingDiscountRequestDto.setGoods(calculationDiscountGoodsList);
calculationSharingDiscountRequestDto.setCoupons(coupons);
calculationSharingDiscountRequestDto.setOrgIds(commonService.getOrgIds(partnerId,storeId));
calculationSharingDiscountRequestDto.setOrgIds(commonService.getOrgIdsForCoupon(partnerId,storeId));
calculationSharingDiscountRequestDto.setDistributionFee(deliveryAmount);
calculationSharingDiscountRequestDto.setIsMember(isMember);
......
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