Commit 76061397 by 徐康

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

parents 1f686239 0cf04136
...@@ -1209,20 +1209,24 @@ public class OrderAdapter { ...@@ -1209,20 +1209,24 @@ public class OrderAdapter {
} else { } else {
responseVo.setTakeMealTime("我已到店"); responseVo.setTakeMealTime("我已到店");
} }
// 更新该字段 用于 预计送达时间 if (ordersBean.getEstimateDeliveryCompleteTime() !=null) {
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getDeliveryHoursDayStart()) //responseVo.setReserveDeliveryTime();
} else {
&& StringUtils.isNotBlank(orderExtInfoDto.getPayDate())) { // 更新该字段 用于 预计送达时间
Date createTime = new Date(ordersBean.getGmtCreate()); if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getDeliveryHoursDayStart())
Date deliveryHoursDayStart = DateUtil.convert2Date(orderExtInfoDto.getDeliveryHoursDayStart(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
Integer serviceTime = orderExtInfoDto.getServiceTime(); && StringUtils.isNotBlank(orderExtInfoDto.getPayDate())) {
if (serviceTime == null) { Date createTime = new Date(ordersBean.getGmtCreate());
serviceTime = 50; Date deliveryHoursDayStart = DateUtil.convert2Date(orderExtInfoDto.getDeliveryHoursDayStart(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
} Integer serviceTime = orderExtInfoDto.getServiceTime();
if (createTime.before(deliveryHoursDayStart)) { if (serviceTime == null) {
responseVo.setReserveDeliveryTime(DateUtil.convert2String(DateUtil.addMinutes(deliveryHoursDayStart, serviceTime), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS)); serviceTime = 50;
} else { }
responseVo.setReserveDeliveryTime(DateUtil.convert2String(DateUtil.addMinutes(createTime, serviceTime), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS)); 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; package cn.freemud.entities.dto.store;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -12,6 +13,8 @@ import java.util.Date; ...@@ -12,6 +13,8 @@ import java.util.Date;
*/ */
@Data @Data
public class StoreCBaseResponseDto { public class StoreCBaseResponseDto {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date expectArriveTime; private Date expectArriveTime;
} }
...@@ -51,6 +51,7 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp ...@@ -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.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.base.BaseResponse; 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.log.LogThreadLocal;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest; import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
import com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest; import com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest;
...@@ -894,7 +895,7 @@ public class CheckOrder { ...@@ -894,7 +895,7 @@ public class CheckOrder {
userDeliveryInfoDto.getStoreDeliveryInfoDto().setDeliveryType(s); userDeliveryInfoDto.getStoreDeliveryInfoDto().setDeliveryType(s);
// 【ID1030916】订单查询门店获取预计送达时间 并且不是预约单 // 【ID1030916】订单查询门店获取预计送达时间 并且不是预约单
if (StringUtils.isNotEmpty(createOrderVo.getExpectTime())) { if (StringUtils.isEmpty(createOrderVo.getExpectTime())) {
userDeliveryInfoDto.setEstimateDeliveryCompleteTime(getEstimateDeliveryCompleteTime(createOrderVo.getLatitude(), createOrderVo.getLongitude(), storeDeliveryInfoDto.getPartnerId(), storeDeliveryInfoDto.getStoreId())); userDeliveryInfoDto.setEstimateDeliveryCompleteTime(getEstimateDeliveryCompleteTime(createOrderVo.getLatitude(), createOrderVo.getLongitude(), storeDeliveryInfoDto.getPartnerId(), storeDeliveryInfoDto.getStoreId()));
} }
} }
...@@ -938,6 +939,7 @@ public class CheckOrder { ...@@ -938,6 +939,7 @@ public class CheckOrder {
request.setPartnerId(partnerId); request.setPartnerId(partnerId);
request.setStoreCode(storeCode); request.setStoreCode(storeCode);
StoreCBaseResponse<StoreCBaseResponseDto> responseDto = storeBaseApiClient.queryDeliverDetail(request); StoreCBaseResponse<StoreCBaseResponseDto> responseDto = storeBaseApiClient.queryDeliverDetail(request);
ApiLog.info("fisherman 获取门店预计送达时间",request,responseDto);
if (responseDto == null) { if (responseDto == null) {
throw new ServiceException(ResponseResult.SYSTEM_BUSINESS_ERROR); throw new ServiceException(ResponseResult.SYSTEM_BUSINESS_ERROR);
} }
......
...@@ -1073,7 +1073,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -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()); List<QueryOrderResponseVo> queryOrderResponseVos = orderAdapter.convent2QueryOrderResponseVos(orders, userLoginInfoDto.getWxAppId(), userLoginInfoDto.getIappId());
if (QueryOrderStatus.TAKE_MEAL.getCode().intValue() == queryOrderVo.getQueryOrderStatus()) { if (QueryOrderStatus.TAKE_MEAL.getCode().intValue() == queryOrderVo.getQueryOrderStatus()) {
......
package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.store.StoreCBaseResponse; import cn.freemud.entities.dto.store.StoreCBaseResponse;
import cn.freemud.entities.dto.store.StoreCBaseResponseDto;
import cn.freemud.entities.dto.store.StoreInfoRequestDto; import cn.freemud.entities.dto.store.StoreInfoRequestDto;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -19,5 +20,5 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -19,5 +20,5 @@ import org.springframework.web.bind.annotation.RequestMapping;
public interface StoreBaseApiClient { public interface StoreBaseApiClient {
@PostMapping(value = "/delivery/calcDeliveryData") @PostMapping(value = "/delivery/calcDeliveryData")
StoreCBaseResponse queryDeliverDetail(@RequestBody StoreInfoRequestDto request); StoreCBaseResponse<StoreCBaseResponseDto> queryDeliverDetail(@RequestBody StoreInfoRequestDto request);
} }
...@@ -246,7 +246,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -246,7 +246,7 @@ public class ShoppingCartMCoffeeServiceImpl {
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, oldCartGoodsList, null, tableNumber, this.shoppingCartBaseService); assortmentSdkService.setShoppingCart(partnerId, storeId, userId, oldCartGoodsList, null, tableNumber, this.shoppingCartBaseService);
newCartGoods = oldCartGoodsList; newCartGoods = oldCartGoodsList;
} else if(StringUtils.equals("9998",skuId)){ } 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()) { if(cartGoods.isPresent()) {
cartGoods.get().getB3S1CouponGoodsInfo().getCardCodeSet().add(addCartGoods.getCouponCode()); cartGoods.get().getB3S1CouponGoodsInfo().getCardCodeSet().add(addCartGoods.getCouponCode());
} else { } else {
...@@ -892,7 +892,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -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); throw new ServiceException(ResponseResult.NOT_SUPPORTED);
} }
......
...@@ -224,13 +224,13 @@ public class CouponDiscountCalculation { ...@@ -224,13 +224,13 @@ public class CouponDiscountCalculation {
cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber()); cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber());
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode()); cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName()); cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName());
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
cartGoods.setIsB3S1CouponGoods(1); cartGoods.setIsB3S1CouponGoods(1);
cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString()); cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString());
cartGoodsNew.setQty(newNum); cartGoodsNew.setQty(newNum);
cartGoodsNew.setCouponCode(null); cartGoodsNew.setCouponCode(null);
cartGoodsNew.setCouponName(null); cartGoodsNew.setCouponName(null);
cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * cartGoods.getQty()); cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * cartGoods.getQty());
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
newCartGoodsList.add(cartGoodsNew); newCartGoodsList.add(cartGoodsNew);
} else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) { } else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) {
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode()); cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
...@@ -252,25 +252,6 @@ public class CouponDiscountCalculation { ...@@ -252,25 +252,6 @@ public class CouponDiscountCalculation {
} }
if(haveB3S1Fav) { 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; int index = 0;
for (int i = 0; i < cartGoodsList.size(); i++) { for (int i = 0; i < cartGoodsList.size(); i++) {
...@@ -288,6 +269,30 @@ public class CouponDiscountCalculation { ...@@ -288,6 +269,30 @@ public class CouponDiscountCalculation {
index++; 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不为空时,需计算优惠价格 // 当couponCode不为空时,需计算优惠价格
......
...@@ -77,4 +77,9 @@ public class ShoppingCartMCoffeeServiceTest { ...@@ -77,4 +77,9 @@ public class ShoppingCartMCoffeeServiceTest {
new ShoppingCartGoodsResponseVo()); 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