Commit 5652f88d by 周晓航

优化 spock 下订单代码

parent 0fcac50f
...@@ -2,11 +2,16 @@ package cn.freemud.service.impl ...@@ -2,11 +2,16 @@ package cn.freemud.service.impl
import cn.freemud.adapter.OrderAdapter import cn.freemud.adapter.OrderAdapter
import cn.freemud.entities.bo.CreateOrderBONew import cn.freemud.entities.bo.CreateOrderBONew
import cn.freemud.entities.dto.blacklist.Result
import cn.freemud.entities.dto.blacklist.resp.MemberBlacklistVO
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
import cn.freemud.entities.dto.store.StoreMixResponseDto import cn.freemud.entities.dto.store.StoreMixResponseDto
import cn.freemud.entities.vo.CreateOrderVo import cn.freemud.entities.vo.CreateOrderVo
import cn.freemud.handler.MemberBlacklistHandler
import cn.freemud.service.business.impl.OrderBusinessServiceImpl import cn.freemud.service.business.impl.OrderBusinessServiceImpl
import cn.freemud.service.thirdparty.DataCenterClient
import com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSON
import com.alibaba.fastjson.TypeReference
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
...@@ -26,13 +31,18 @@ class OrderAdapterServiceImplTest extends Specification { ...@@ -26,13 +31,18 @@ class OrderAdapterServiceImplTest extends Specification {
def itemService = Mock(OrderItemServiceImpl.class) def itemService = Mock(OrderItemServiceImpl.class)
def dataCenterClient = Mock(DataCenterClient)
def orderBusinessService = new OrderBusinessServiceImpl() def orderBusinessService = new OrderBusinessServiceImpl()
def orderSdkAdapter = new OrderSdkAdapter() def orderSdkAdapter = new OrderSdkAdapter()
def memberBlacklistHandler = new MemberBlacklistHandler()
void setup() { void setup() {
orderServiceImpl.orderAdapter = orderAdapter orderServiceImpl.orderAdapter = orderAdapter
orderServiceImpl.itemService = itemService orderServiceImpl.itemService = itemService
orderServiceImpl.memberBlacklistHandler = memberBlacklistHandler
memberBlacklistHandler.dataCenterClient = dataCenterClient
orderBusinessService.orderSdkAdapter = orderSdkAdapter orderBusinessService.orderSdkAdapter = orderSdkAdapter
orderServiceImpl.orderBusinessService = orderBusinessService orderServiceImpl.orderBusinessService = orderBusinessService
...@@ -42,7 +52,7 @@ class OrderAdapterServiceImplTest extends Specification { ...@@ -42,7 +52,7 @@ class OrderAdapterServiceImplTest extends Specification {
given: "参数设置" given: "参数设置"
def createOrderBO = new CreateOrderBONew() def createOrderBO = new CreateOrderBONew()
// 接口请求信息 // 接口请求信息
String createVOStr = "{\"buyType\":0,\"channel\":\"1\",\"channelType\":\"saas\",\"couponCode\":\"\",\"couponCodes\":[],\"expectTime\":\"\",\"latitude\":\"29.984989691840276\",\"longitude\":\"120.57954399956597\",\"menuType\":\"saas\",\"mobile\":\"17681529088\",\"orderRemark\":\"\",\"orderType\":1,\"partnerId\":\"2209\",\"payChannelType\":1,\"reachStoreType\":4,\"sessionId\":\"e7a870f14f237d181b464e8a4a46d6b72e3d4a53\",\"sessionKey\":\"jTe2egiG9AWlk8SpixS+AA==\",\"shopId\":\"810428538\",\"storeAddress\":\"浙江省绍兴市越城区塔山街道解放南路777号金帝银泰城1幢4F002-1号\",\"storeName\":\"如创于茶(绍兴银泰店)\",\"storeNameEn\":\"\",\"tableNumber\":\"\",\"takeMealFlag\":\"0\",\"takeMealTime\":\"\",\"thirdShopId\":\"810428538\",\"useCustomerScore\":2,\"userId\":\"3645274120780529080\",\"userName\":\"\",\"version\":\"2.0.62.1\"}"; String createVOStr = "{\"buyType\":0,\"channel\":\"1\",\"channelType\":\"saas\",\"couponCode\":\"\",\"couponCodes\":[],\"enableSharing\":1,\"expectTime\":\"2022-06-29 17:15:00\",\"latitude\":\"39.901173231336806\",\"longitude\":\"116.55753119574653\",\"menuType\":\"saas\",\"mobile\":\"15801239380\",\"orderRemark\":\"\",\"orderType\":1,\"partnerId\":\"2419\",\"payChannelType\":1,\"reachStoreType\":4,\"sessionId\":\"bf4635a8baab114c7ca03f4d15c702974af862b9\",\"sessionKey\":\"ZWegai1GX1jFoiOo6lXOIA==\",\"shopId\":\"76186390\",\"storeAddress\":\"北京市朝阳区朝阳北路龙湖长楹天街购物中心西区4F\",\"storeName\":\"眉州东坡-长楹天街店\",\"storeNameEn\":\"\",\"tableNumber\":\"\",\"takeMealFlag\":\"1\",\"takeMealTime\":\"17:15\",\"thirdShopId\":\"76186390\",\"useCustomerScore\":2,\"userId\":\"3655291541765197207\",\"userName\":\"\",\"version\":\"2.0.69.2\"}"
def createOrderVo = JSON.parseObject(createVOStr, CreateOrderVo.class) def createOrderVo = JSON.parseObject(createVOStr, CreateOrderVo.class)
createOrderBO.setCreateOrderVo(createOrderVo) createOrderBO.setCreateOrderVo(createOrderVo)
// 登录信息 // 登录信息
...@@ -50,7 +60,7 @@ class OrderAdapterServiceImplTest extends Specification { ...@@ -50,7 +60,7 @@ class OrderAdapterServiceImplTest extends Specification {
, AssortmentCustomerInfoVo.class) , AssortmentCustomerInfoVo.class)
createOrderBO.setUserLoginInfoDto(userLoginInfoDto) createOrderBO.setUserLoginInfoDto(userLoginInfoDto)
// 购物车信息 // 购物车信息
def shoppingCartGoodsDto = JSON.parseObject("{\"activityDiscountsDtos\":[],\"isDiscountDelivery\":false,\"originalTotalAmount\":1600,\"packageAmount\":0,\"packageAmountCollectType\":1,\"products\":[{\"activityDiscountsDtos\":[],\"cartGoodsUid\":\"22a31cf2-2589-4430-9853-589a0ab86007\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[],\"customerCode\":\"SKU0316\",\"extraList\":[{\"attributeId\":\"208146925075177758\",\"attributeName\":\"少冰\"},{\"attributeId\":\"208146664688556827\",\"attributeName\":\"三分糖\"}],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isSendGoods\":false,\"isTableware\":0,\"linkedId\":\"\",\"materialList\":[],\"originalPrice\":1600,\"originalProductType\":1,\"picture\":\"https://picture.sandload.cn/1621303466545.jpg\",\"productCode\":\"SKU0316\",\"qty\":1,\"skuForeignName\":\"\",\"skuId\":\"208142777442212610\",\"skuName\":\"蛋糕布蕾奶茶\",\"specialExtra\":[],\"spuForeignName\":\"\",\"spuId\":\"208142777442212610\",\"spuName\":\"蛋糕布蕾奶茶\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"reduceScore\":0,\"scoreReduceAmount\":0,\"totalAmount\":1600,\"totalDiscountAmount\":0}" def shoppingCartGoodsDto = JSON.parseObject("{\"activityDiscountsDtos\":[{\"activityCode\":\"JTMJ2022051312090439923\",\"activityName\":\"满减\",\"activityType\":12,\"discountAmount\":-6000,\"priority\":70}],\"isDiscountDelivery\":false,\"originalTotalAmount\":23800,\"packageAmount\":1000,\"packageAmountCollectType\":1,\"products\":[{\"activityDiscountsDtos\":[],\"cartGoodsUid\":\"337d8152-b7ca-47eb-bec7-254a5e3501e5\",\"categoryName\":\"必选项-餐具\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[],\"customerCode\":\"17155\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isSendGoods\":false,\"isTableware\":0,\"linkedId\":\"\",\"materialList\":[],\"originalPrice\":0,\"originalProductType\":1,\"picture\":\"https://picture.sandload.cn/1588219576180.jpg\",\"productCode\":\"17155\",\"qty\":1,\"skuForeignName\":\"\",\"skuId\":\"173451209882017045\",\"skuName\":\"不需要餐具\",\"specialExtra\":[],\"spuForeignName\":\"\",\"spuId\":\"173451209882017045\",\"spuName\":\"不需要餐具\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.01},{\"activityDiscountsDtos\":[{\"activityCode\":\"JTMJ2022051312090439923\",\"activityName\":\"满减\",\"activityType\":12,\"actualActivityGoodsNumber\":1,\"discountAmount\":6000}],\"cartGoodsUid\":\"236eed7d-a883-4a57-9de4-0fd28c470ebb\",\"categoryName\":\"招牌菜\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[],\"customerCode\":\"1026\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isSendGoods\":false,\"isTableware\":0,\"linkedId\":\"\",\"materialList\":[],\"originalPrice\":23800,\"originalProductType\":1,\"picture\":\"https://picture.sandload.cn/1643174237586.jpg\",\"productCode\":\"1026\",\"productType\":11,\"qty\":1,\"skuForeignName\":\"\",\"skuId\":\"170183609423072022\",\"skuName\":\"东坡烤鸭(只)\",\"specialExtra\":[],\"spuForeignName\":\"\",\"spuId\":\"170183609423072022\",\"spuName\":\"东坡烤鸭(只)\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":6000,\"unit\":\"g\",\"weight\":0.0}],\"reduceScore\":0,\"scoreReduceAmount\":0,\"stocks\":[{\"activityCode\":\"JTMJ2022051312090439923\",\"activityStock\":1,\"activityType\":12,\"goodsStock\":[],\"userGoodsStock\":[]}],\"totalAmount\":17800,\"totalDiscountAmount\":6000}"
, ShoppingCartGoodsDto.class) , ShoppingCartGoodsDto.class)
createOrderBO.setShoppingCartGoodsDto(shoppingCartGoodsDto) createOrderBO.setShoppingCartGoodsDto(shoppingCartGoodsDto)
...@@ -59,10 +69,15 @@ class OrderAdapterServiceImplTest extends Specification { ...@@ -59,10 +69,15 @@ class OrderAdapterServiceImplTest extends Specification {
createOrderBO.setExtInfo(extInfo) createOrderBO.setExtInfo(extInfo)
// 门店信息 /api/v2/organization/getStoreMix // 门店信息 /api/v2/organization/getStoreMix
def storeMixResponseDto = JSON.parseObject("{\"businessInfo\":{\"appointAutoDeliveryTakeOrderWorkflowFinishTime\":3,\"appointAutoSelfmentionMakerWorkflowFinishTime\":3,\"appointAutoSelfmentionTakeOrderWorkflowFinishTime\":3,\"appointAutoTakeOutTakeOrderWorkflowFinishTime\":4,\"appointThirdDeliveryPickCompleteWorkflowFinishTime\":5,\"appointThirdDeliveryTakeOrderWorkflowFinishTime\":6,\"autoChargebackOrderTime\":1,\"autoChargebackOrderType\":1,\"autoDeliveryTakeOrderWorkflowFinishTime\":3,\"autoSelfmentionMakerWorkflowFinishTime\":4,\"autoSelfmentionTakeOrderWorkflowFinishTime\":3,\"autoTakeOutTakeOrderWorkflowFinishTime\":3,\"autoThirdDeliveryPickCompleteWorkflowFinishTime\":5,\"autoThirdDeliveryTakeOrderWorkflowFinishTime\":6,\"automaticRefund\":0,\"deliveryAppoint\":0,\"deliveryFinishedAfterMinute\":45,\"deliveryHours\":\"\",\"deliveryOrderWarnTime\":\"1\",\"deliveryProcessingAfterMinute\":15,\"deliveryProcessingBeforeMinute\":45,\"expandFields\":{\"appendMinutePerKilometer\":0,\"likesConfigValue\":0,\"likesShow\":0,\"monthlySalesConfigValue\":0,\"monthlySalesShow\":0,\"peakTimeDelivery\":[],\"preOrderSwitch\":0,\"scanOrderSwitch\":0},\"expectedTime\":0,\"goodsAvgTimeOfMaking\":0,\"id\":189248192683154460,\"invoice\":0,\"invoiceExplain\":\"\",\"isAutoTakeOrder\":3,\"maxOrderQuantity\":100,\"minPriceForInvoice\":0,\"orderPrintConfig\":\"1\",\"orderProgressBarStatus\":2,\"orderType\":\"pickup\",\"orderWarnTime\":\"1\",\"overTimeCloseOrder\":1,\"overTimeCloseOrderTime\":30,\"partnerId\":\"2209\",\"pickupAutomaticOrderTime\":1,\"selfMentionSwitch\":0,\"tableware\":0,\"takePartInSettleAccounts\":2,\"takeoutAutomaticOrderTime\":1,\"templateName\":\"30分钟\",\"templateType\":1,\"timeOfRefund\":\"48\",\"timeTypeOfRefund\":2,\"turnOnTimeOfMaking\":2},\"storeBusyTimeInfoList\":[],\"storeImageList\":[],\"storeInfo\":{\"activeFlag\":1,\"address\":\"浙江省绍兴市越城区塔山街道解放南路777号金帝银泰城1幢4F002-1号\",\"briefName\":\"\",\"businessHours\":\"10:00-22:00\",\"businessHoursDay\":\"10:00-22:00\",\"businessType\":\"1\",\"city\":\"绍兴市\",\"delivery\":2,\"deliveryHours\":\"\",\"deliveryHoursDay\":\"\",\"deliveryPrice\":0.0,\"distributionScope\":\"\",\"freeDeliveryPrice\":0.0,\"isSelfMention\":1,\"latitude\":\"29.985151\",\"logoUrl\":\"\",\"longitude\":\"120.58086\",\"parentCode\":\"szcdcyglyxgsC4\",\"parentId\":\"fad5b35d-5671-4ae6-93d4-484a50a5cda7\",\"parentName\":\"苏州茶朵餐饮管理有限公司\",\"partnerId\":\"2209\",\"phone\":\"18258503233\",\"province\":\"浙江省\",\"region\":\"越城区\",\"remark\":\"\",\"state\":\"1\",\"storeCode\":\"810428538\",\"storeId\":\"92409098-8f9d-4e4d-90b4-d48315cf4083\",\"storeName\":\"如创于茶(绍兴银泰店)\",\"storeNameEn\":\"\",\"thirdPartCode\":\"810428538\"}}" def storeMixResponseDto = JSON.parseObject("{\"parentUntilTop\":{\"orgList\":[{\"organizationCode\":\"kgdbzhsaasa6\",\"organizationId\":\"2459b322-a346-4ebc-bebb-a8557487ec93\",\"organizationName\":\"上海非码网络科技有限公司\",\"partnerId\":\"2725\",\"sort\":1,\"typeFlag\":1}]},\"storeInfo\":{\"activeFlag\":1,\"address\":\"沪宜公路1030号非码科技\",\"addressEn\":\"\",\"briefName\":\"\",\"businessHours\":\"00:00-23:59\",\"businessHoursDay\":\"00:00-23:59\",\"businessType\":\"1\",\"city\":\"上海市\",\"collection\":\"0\",\"delivery\":\"2\",\"deliveryHours\":\"00:00-23:59\",\"deliveryHoursDay\":\"00:00-23:59\",\"deliveryRemark\":\"2222\",\"distributionScope\":\"\",\"freeDeliveryPrice\":1.0,\"geohash\":\"wtw602\",\"isBusinessOpen\":\"1\",\"isSelfMention\":1,\"latitude\":\"31.293201\",\"limitType\":0,\"logoUrl\":\"https://picture.sandload.cn/1648625821468.jpg\",\"longitude\":\"121.304399\",\"parentCode\":\"kgdbzhsaasa6\",\"parentId\":\"2459b322-a346-4ebc-bebb-a8557487ec93\",\"parentName\":\"上海非码网络科技有限公司\",\"partnerId\":\"2725\",\"phone\":\"18868926846\",\"pickUpActiveFlag\":1,\"province\":\"上海市\",\"region\":\"嘉定区\",\"state\":\"1\",\"status\":1,\"storeCode\":\"JIALE001\",\"storeId\":\"ffe2fe77-e6d4-4f3a-b129-8e1893cb2d4c\",\"storeName\":\"晓航自测门店001\",\"storeNameEn\":\"\",\"storeNotice\":\"1111\",\"takeoutActiveFlag\":1,\"thirdPartCode\":\"\"}}"
, StoreMixResponseDto.class) , StoreMixResponseDto.class)
createOrderBO.setStoreMixResponseDto(storeMixResponseDto) createOrderBO.setStoreMixResponseDto(storeMixResponseDto)
// 黑名单校验
def memberBlacklistVOResult = JSON.parseObject("{\"message\":\"成功\",\"result\":{\"exist\":false},\"status\":true,\"statusCode\":\"200\"}"
, new TypeReference<Result<MemberBlacklistVO>>(){})
dataCenterClient.queryByMemberId(_) >> memberBlacklistVOResult
when: "调用方法" when: "调用方法"
def order = orderServiceImpl.sdkCreateOrder(createOrderBO) def order = orderServiceImpl.sdkCreateOrder(createOrderBO)
......
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