Commit 76061397 by 徐康

Merge remote-tracking branch 'origin/qa' into qa

parents 1f686239 0cf04136
......@@ -1209,20 +1209,24 @@ public class OrderAdapter {
} else {
responseVo.setTakeMealTime("我已到店");
}
// 更新该字段 用于 预计送达时间
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getDeliveryHoursDayStart())
&& StringUtils.isNotBlank(orderExtInfoDto.getPayDate())) {
Date createTime = new Date(ordersBean.getGmtCreate());
Date deliveryHoursDayStart = DateUtil.convert2Date(orderExtInfoDto.getDeliveryHoursDayStart(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
Integer serviceTime = orderExtInfoDto.getServiceTime();
if (serviceTime == null) {
serviceTime = 50;
}
if (createTime.before(deliveryHoursDayStart)) {
responseVo.setReserveDeliveryTime(DateUtil.convert2String(DateUtil.addMinutes(deliveryHoursDayStart, serviceTime), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
} else {
responseVo.setReserveDeliveryTime(DateUtil.convert2String(DateUtil.addMinutes(createTime, serviceTime), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
if (ordersBean.getEstimateDeliveryCompleteTime() !=null) {
//responseVo.setReserveDeliveryTime();
} else {
// 更新该字段 用于 预计送达时间
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getDeliveryHoursDayStart())
&& StringUtils.isNotBlank(orderExtInfoDto.getPayDate())) {
Date createTime = new Date(ordersBean.getGmtCreate());
Date deliveryHoursDayStart = DateUtil.convert2Date(orderExtInfoDto.getDeliveryHoursDayStart(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
Integer serviceTime = orderExtInfoDto.getServiceTime();
if (serviceTime == null) {
serviceTime = 50;
}
if (createTime.before(deliveryHoursDayStart)) {
responseVo.setReserveDeliveryTime(DateUtil.convert2String(DateUtil.addMinutes(deliveryHoursDayStart, serviceTime), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
} else {
responseVo.setReserveDeliveryTime(DateUtil.convert2String(DateUtil.addMinutes(createTime, serviceTime), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
}
}
}
}
......
package cn.freemud.entities.dto.store;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -12,6 +13,8 @@ import java.util.Date;
*/
@Data
public class StoreCBaseResponseDto {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date expectArriveTime;
}
......@@ -51,6 +51,7 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.base.BaseResponse;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
import com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest;
......@@ -894,7 +895,7 @@ public class CheckOrder {
userDeliveryInfoDto.getStoreDeliveryInfoDto().setDeliveryType(s);
// 【ID1030916】订单查询门店获取预计送达时间 并且不是预约单
if (StringUtils.isNotEmpty(createOrderVo.getExpectTime())) {
if (StringUtils.isEmpty(createOrderVo.getExpectTime())) {
userDeliveryInfoDto.setEstimateDeliveryCompleteTime(getEstimateDeliveryCompleteTime(createOrderVo.getLatitude(), createOrderVo.getLongitude(), storeDeliveryInfoDto.getPartnerId(), storeDeliveryInfoDto.getStoreId()));
}
}
......@@ -938,6 +939,7 @@ public class CheckOrder {
request.setPartnerId(partnerId);
request.setStoreCode(storeCode);
StoreCBaseResponse<StoreCBaseResponseDto> responseDto = storeBaseApiClient.queryDeliverDetail(request);
ApiLog.info("fisherman 获取门店预计送达时间",request,responseDto);
if (responseDto == null) {
throw new ServiceException(ResponseResult.SYSTEM_BUSINESS_ERROR);
}
......
......@@ -1073,7 +1073,7 @@ public class OrderServiceImpl implements Orderservice {
});
}
LogUtil.info(" fisherman queryOrders _>",orders,null);
List<QueryOrderResponseVo> queryOrderResponseVos = orderAdapter.convent2QueryOrderResponseVos(orders, userLoginInfoDto.getWxAppId(), userLoginInfoDto.getIappId());
if (QueryOrderStatus.TAKE_MEAL.getCode().intValue() == queryOrderVo.getQueryOrderStatus()) {
......
package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.store.StoreCBaseResponse;
import cn.freemud.entities.dto.store.StoreCBaseResponseDto;
import cn.freemud.entities.dto.store.StoreInfoRequestDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
......@@ -19,5 +20,5 @@ import org.springframework.web.bind.annotation.RequestMapping;
public interface StoreBaseApiClient {
@PostMapping(value = "/delivery/calcDeliveryData")
StoreCBaseResponse queryDeliverDetail(@RequestBody StoreInfoRequestDto request);
StoreCBaseResponse<StoreCBaseResponseDto> queryDeliverDetail(@RequestBody StoreInfoRequestDto request);
}
......@@ -246,7 +246,7 @@ public class ShoppingCartMCoffeeServiceImpl {
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, oldCartGoodsList, null, tableNumber, this.shoppingCartBaseService);
newCartGoods = oldCartGoodsList;
} else if(StringUtils.equals("9998",skuId)){
Optional<CartGoods> cartGoods = oldCartGoodsList.stream().filter(o -> "9998".equals(skuId) && o.getIsB3S1Coupon() == 1).findFirst();
Optional<CartGoods> cartGoods = oldCartGoodsList.stream().filter(o -> "9998".equals(o.getSkuId()) && o.getIsB3S1Coupon() == 1).findFirst();
if(cartGoods.isPresent()) {
cartGoods.get().getB3S1CouponGoodsInfo().getCardCodeSet().add(addCartGoods.getCouponCode());
} else {
......@@ -892,7 +892,8 @@ public class ShoppingCartMCoffeeServiceImpl {
}
//商品券行商品数量不可增加
if (StringUtils.isNotEmpty(cartGoods.getCouponCode()) && qty > 1 && cartGoods.getIsMonthCardGoods() < 1 && cartGoods.getIsMonthCard() < 1) {
if (StringUtils.isNotEmpty(cartGoods.getCouponCode()) && qty > 1 && cartGoods.getIsMonthCardGoods() < 1
&& cartGoods.getIsMonthCard() < 1 && cartGoods.getIsB3S1CouponGoods() < 1) {
throw new ServiceException(ResponseResult.NOT_SUPPORTED);
}
......
......@@ -224,13 +224,13 @@ public class CouponDiscountCalculation {
cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber());
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName());
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
cartGoods.setIsB3S1CouponGoods(1);
cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString());
cartGoodsNew.setQty(newNum);
cartGoodsNew.setCouponCode(null);
cartGoodsNew.setCouponName(null);
cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * cartGoods.getQty());
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
newCartGoodsList.add(cartGoodsNew);
} else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) {
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
......@@ -252,25 +252,6 @@ public class CouponDiscountCalculation {
}
if(haveB3S1Fav) {
// List<CartGoods> nowCartGoodsList = new ArrayList<>();
// AtomicBoolean changed = new AtomicBoolean();
// changed.set(false);
// if(CollectionUtils.isNotEmpty(cartGoodsList)){
// ApiLog.debug("合并买3赠1商品券 【merge-before】 : {} ", JSONObject.toJSONString(cartGoodsList));
// cartGoodsList.forEach(newCartGood -> {
// int index;
// if ((index = nowCartGoodsList.indexOf(newCartGood)) >= 0) {
// changed.set(true);
// nowCartGoodsList.get(index).setQty(nowCartGoodsList.get(index).getQty() + newCartGood.getQty());
// } else {
// nowCartGoodsList.add(newCartGood);
// }
// });
// }
// if(changed.get()) {
// cartGoodsList.clear();
// cartGoodsList.addAll(nowCartGoodsList);
// }
int index = 0;
for (int i = 0; i < cartGoodsList.size(); i++) {
......@@ -288,6 +269,30 @@ public class CouponDiscountCalculation {
index++;
}
}
List<CartGoods> nowCartGoodsList = new ArrayList<>();
nowCartGoodsList.addAll(cartGoodsList);
AtomicBoolean changed = new AtomicBoolean();
changed.set(false);
if(CollectionUtils.isNotEmpty(cartGoodsList)){
ApiLog.debug("合并买3赠1商品券 【merge-before】 : {} ", JSONObject.toJSONString(nowCartGoodsList));
for (int i = cartGoodsList.size() - 1; i >= 1; i--) {
CartGoods cartGoods = cartGoodsList.get(i);
int index2 = nowCartGoodsList.indexOf(cartGoods);
if(index2 < i) {
changed.set(true);
nowCartGoodsList.get(index2).setQty(nowCartGoodsList.get(index2).getQty() + cartGoods.getQty());
nowCartGoodsList.remove(i);
}
ApiLog.debug("合并买3赠1商品券 【merge-ing】 : {} ", JSONObject.toJSONString(nowCartGoodsList));
}
ApiLog.debug("合并买3赠1商品券 【merge-after】 : {} ", JSONObject.toJSONString(nowCartGoodsList));
}
if(changed.get()) {
cartGoodsList.clear();
cartGoodsList.addAll(nowCartGoodsList);
}
}
// 当couponCode不为空时,需计算优惠价格
......
......@@ -77,4 +77,9 @@ public class ShoppingCartMCoffeeServiceTest {
new ShoppingCartGoodsResponseVo());
}
@Test
public void f5() {
shoppingCartMCoffeeService.batchOperateShoppingCartGoods(JSON.parseObject("{\"appId\":\"wx6816a0b007741702\",\"channelType\":\"saas\",\"goodsInfos\":[{\"couponCode\":\"252387334747909\",\"isB3S1Coupon\":0,\"isMonthCard\":0,\"isMonthCardGoods\":0,\"isSunnyCoupon\":0,\"productComboList\":[],\"productGroupList\":[],\"qty\":1,\"skuId\":\"9998\",\"spuId\":\"9998\"}],\"isUseMonthCard\":0,\"menuType\":\"saas\",\"orderType\":1,\"partnerId\":\"1206\",\"qtyInfoList\":[],\"receiveId\":\"\",\"redundancyB3S1CouponCode\":[],\"sessionId\":\"abb52519e0786e0a2a639634a8a40b4727c5a97b\",\"shopId\":\"1450026\"}", BatchOperateCartGoodsRequestVo.class));
}
}
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