Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
2485b18b
Commit
2485b18b
authored
Aug 11, 2020
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接配送
parent
c911c0c8
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
750 additions
and
153 deletions
+750
-153
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+3
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
+2
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderProductAddInfoDto.java
+2
-0
order-application-service/src/main/java/cn/freemud/OrderApplication.java
+1
-1
order-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
+4
-4
order-application-service/src/main/java/cn/freemud/adapter/DeliveryAdapter.java
+11
-2
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/dto/CancelDeliveryRequest.java
+4
-0
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/CancelDeliveryResponseDto.java
+56
-0
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/CreateDeliveryVo.java
+314
-0
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/MCCafeDeliveryBaseResponse.java
+13
-0
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/MCCafeDeliveryGetStoreIdResponse.java
+11
-0
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/ProductInfo.java
+93
-0
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+2
-0
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
+6
-1
order-application-service/src/main/java/cn/freemud/entities/vo/ProductInfo.java
+2
-2
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+76
-66
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+35
-27
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+7
-0
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
+5
-7
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/DeliveryFeiginMCCafeClient.java
+8
-5
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/DeliveryServiceFeiginMCCafeClient.java
+19
-0
order-application-service/src/test/java/cn.freemud/service/CouponActivityServiceTest.java
+40
-27
order-management/pom.xml
+7
-0
order-management/src/main/java/cn/freemud/management/entities/dto/request/order/MCCafeCouponLockRequest.java
+1
-1
order-management/src/main/java/cn/freemud/management/entities/dto/request/order/MCCafeCouponRequest.java
+1
-1
order-management/src/main/java/cn/freemud/management/entities/dto/request/order/MCCafeProductRedeemVo.java
+1
-1
order-management/src/main/java/cn/freemud/management/entities/dto/request/order/MCCafeTransactionVo.java
+1
-1
order-management/src/main/java/cn/freemud/management/thirdparty/CouponOfflineMCCafeClient.java
+5
-5
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
+15
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
2485b18b
...
@@ -2690,6 +2690,9 @@ public class OrderSdkAdapter {
...
@@ -2690,6 +2690,9 @@ public class OrderSdkAdapter {
if
(
0
!=
product
.
getTax
()){
if
(
0
!=
product
.
getTax
()){
extInfo
.
setTax
(
product
.
getTax
());
extInfo
.
setTax
(
product
.
getTax
());
}
}
if
(
StringUtils
.
isNotEmpty
(
product
.
getTaxId
())){
extInfo
.
setTaxId
(
product
.
getTaxId
());
}
extInfo
.
setStapleFood
(
product
.
getStapleFood
());
extInfo
.
setStapleFood
(
product
.
getStapleFood
());
//if (product.getStapleFood()!=null && product.getStapleFood()>0) {
//if (product.getStapleFood()!=null && product.getStapleFood()>0) {
// extInfo.setStapleFood(1);
// extInfo.setStapleFood(1);
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
View file @
2485b18b
...
@@ -167,4 +167,6 @@ public class CreateOrderProductRequest extends BaseConfig {
...
@@ -167,4 +167,6 @@ public class CreateOrderProductRequest extends BaseConfig {
/** 商品税率**/
/** 商品税率**/
private
double
tax
;
private
double
tax
;
private
String
taxId
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderProductAddInfoDto.java
View file @
2485b18b
...
@@ -63,4 +63,6 @@ public class OrderProductAddInfoDto extends BaseConfig {
...
@@ -63,4 +63,6 @@ public class OrderProductAddInfoDto extends BaseConfig {
private
String
thirdCensusCategoryId
;
private
String
thirdCensusCategoryId
;
private
double
tax
;
private
double
tax
;
private
String
taxId
;
}
}
order-application-service/src/main/java/cn/freemud/OrderApplication.java
View file @
2485b18b
...
@@ -42,7 +42,7 @@ import tk.mybatis.spring.annotation.MapperScan;
...
@@ -42,7 +42,7 @@ import tk.mybatis.spring.annotation.MapperScan;
@ComponentScan
({
"cn.freemud"
,
"com.freemud"
})
@ComponentScan
({
"cn.freemud"
,
"com.freemud"
})
@MapperScan
({
"cn.freemud.*.dao"
,
"com.freemud.sdk.api.assortment.orderdistributor.mapper"
,
"com.freemud.api.assortment.datamanager.manager"
,
@MapperScan
({
"cn.freemud.*.dao"
,
"com.freemud.sdk.api.assortment.orderdistributor.mapper"
,
"com.freemud.api.assortment.datamanager.manager"
,
"com.freemud.api.assortment.datamanager.queue.dao"
,
"com.freemud.api.assortment.datamanager.rbac.dao"
,
"com.freemud.api.assortment.datamanager.queue.entity"
})
"com.freemud.api.assortment.datamanager.queue.dao"
,
"com.freemud.api.assortment.datamanager.rbac.dao"
,
"com.freemud.api.assortment.datamanager.queue.entity"
})
@EnableFeignClients
({
"cn.freemud.service.thirdparty"
,
"com.freemud.sdk.api.assortment.message"
,
"cn.freemud.service.mccafe.thirdparty"
})
@EnableFeignClients
({
"cn.freemud.service.thirdparty"
,
"com.freemud.sdk.api.assortment.message"
,
"cn.freemud.service.mccafe.thirdparty"
,
"cn.freemud.management.thirdparty"
})
@EnableAutoConfiguration
@EnableAutoConfiguration
public
class
OrderApplication
{
public
class
OrderApplication
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
...
...
order-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
View file @
2485b18b
...
@@ -15,10 +15,10 @@ package cn.freemud.adapter;
...
@@ -15,10 +15,10 @@ package cn.freemud.adapter;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.
entities.dto.coupon
.MCCafeCouponRequest
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeCouponRequest
;
import
cn.freemud.
entities.dto.coupon
.MCCafeCouponLockRequest
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeCouponLockRequest
;
import
cn.freemud.
entities.dto.coupon
.MCCafeProductRedeemVo
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeProductRedeemVo
;
import
cn.freemud.
entities.dto.coupon
.MCCafeTransactionVo
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeTransactionVo
;
import
cn.freemud.entities.dto.openplatform.AddWeixinCardCodeRequestDto
;
import
cn.freemud.entities.dto.openplatform.AddWeixinCardCodeRequestDto
;
import
cn.freemud.entities.dto.openplatform.AddWeixinCardCodeResponseDto
;
import
cn.freemud.entities.dto.openplatform.AddWeixinCardCodeResponseDto
;
import
cn.freemud.entities.dto.openplatform.AddWeixinCardJudgeRequestDto
;
import
cn.freemud.entities.dto.openplatform.AddWeixinCardJudgeRequestDto
;
...
...
order-application-service/src/main/java/cn/freemud/adapter/DeliveryAdapter.java
View file @
2485b18b
...
@@ -5,11 +5,15 @@ import cn.freemud.entities.dto.QueryOrdersResponseDto;
...
@@ -5,11 +5,15 @@ import cn.freemud.entities.dto.QueryOrdersResponseDto;
import
cn.freemud.entities.vo.CreateDeliveryVo
;
import
cn.freemud.entities.vo.CreateDeliveryVo
;
import
cn.freemud.entities.vo.ProductInfo
;
import
cn.freemud.entities.vo.ProductInfo
;
import
cn.freemud.enums.DeliveryChannelEnum
;
import
cn.freemud.enums.DeliveryChannelEnum
;
import
cn.freemud.enums.OrderSourceType
;
import
cn.freemud.enums.OrderType
;
import
cn.freemud.enums.OrderType
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderProductRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.OrderProductAddInfoDto
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -99,6 +103,8 @@ public class DeliveryAdapter {
...
@@ -99,6 +103,8 @@ public class DeliveryAdapter {
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
CreateDeliveryVo
deliveryOrderRequestDto
=
new
CreateDeliveryVo
();
CreateDeliveryVo
deliveryOrderRequestDto
=
new
CreateDeliveryVo
();
OrderExtInfoDto
orderExtInfoDto
=
JSON
.
parseObject
(
order
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
deliveryOrderRequestDto
.
setInvoiceTitle
(
orderExtInfoDto
.
getInvoiceTitle
());
deliveryOrderRequestDto
.
setDepatchWeight
(
new
BigDecimal
(
1
));
deliveryOrderRequestDto
.
setDepatchWeight
(
new
BigDecimal
(
1
));
deliveryOrderRequestDto
.
setSerialNumber
(
order
.
getOtherCode
());
deliveryOrderRequestDto
.
setSerialNumber
(
order
.
getOtherCode
());
deliveryOrderRequestDto
.
setOrderId
(
order
.
getOid
());
deliveryOrderRequestDto
.
setOrderId
(
order
.
getOid
());
...
@@ -165,13 +171,16 @@ public class DeliveryAdapter {
...
@@ -165,13 +171,16 @@ public class DeliveryAdapter {
deliveryProductInfo
.
setProductPrice
(
productList
.
getPrice
().
intValue
());
deliveryProductInfo
.
setProductPrice
(
productList
.
getPrice
().
intValue
());
//餐道使用
//餐道使用
deliveryProductInfo
.
setCumulatedTotal
(
productList
.
getNumber
()
*
productList
.
getPrice
().
intValue
());
deliveryProductInfo
.
setCumulatedTotal
(
productList
.
getNumber
()
*
productList
.
getPrice
().
intValue
());
deliveryProductInfo
.
setTaxId
(
10
);
OrderProductAddInfoDto
orderProductAddInfoDto
=
JSON
.
parseObject
(
productList
.
getAddInfo
(),
OrderProductAddInfoDto
.
class
);
deliveryProductInfo
.
setTaxRate
(
6
);
deliveryProductInfo
.
setTaxId
(
orderProductAddInfoDto
.
getTaxId
());
deliveryProductInfo
.
setTaxRate
(
orderProductAddInfoDto
.
getTax
());
deliveryProductInfo
.
setParentCode
(
Long
.
valueOf
(
productList
.
getParentProductId
()));
deliveryProductInfo
.
setParentCode
(
Long
.
valueOf
(
productList
.
getParentProductId
()));
productInfos
.
add
(
deliveryProductInfo
);
productInfos
.
add
(
deliveryProductInfo
);
}
}
});
});
deliveryOrderRequestDto
.
setProductInfos
(
productInfos
);
deliveryOrderRequestDto
.
setProductInfos
(
productInfos
);
deliveryOrderRequestDto
.
setOrderSource
(
OrderSourceType
.
ALIPAY
.
getCode
().
equals
(
order
.
getSource
())?
"Alipay"
:
"freemud"
);
return
deliveryOrderRequestDto
;
return
deliveryOrderRequestDto
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
2485b18b
...
@@ -1920,6 +1920,7 @@ public class OrderAdapter {
...
@@ -1920,6 +1920,7 @@ public class OrderAdapter {
createOrderProductDemoDto
.
setStapleFood
(
0
);
createOrderProductDemoDto
.
setStapleFood
(
0
);
createOrderProductDemoDto
.
setCategory
(
cartGoodsDetailDto
.
getClassificationId
());
createOrderProductDemoDto
.
setCategory
(
cartGoodsDetailDto
.
getClassificationId
());
createOrderProductDemoDto
.
setTax
(
cartGoodsDetailDto
.
getTax
());
createOrderProductDemoDto
.
setTax
(
cartGoodsDetailDto
.
getTax
());
createOrderProductDemoDto
.
setTaxId
(
cartGoodsDetailDto
.
getTaxId
());
return
createOrderProductDemoDto
;
return
createOrderProductDemoDto
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/CancelDeliveryRequest.java
View file @
2485b18b
...
@@ -18,4 +18,8 @@ public class CancelDeliveryRequest {
...
@@ -18,4 +18,8 @@ public class CancelDeliveryRequest {
private
String
receiveOrderType
;
private
String
receiveOrderType
;
private
String
storeId
;
private
String
storeId
;
private
String
deliveryId
;
private
String
reviewId
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/CancelDeliveryResponseDto.java
0 → 100644
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
delivery
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* 查询省份对应配送费价格响应对象
* @version V1.0
* @author: kai.ding
* @date:
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* All rights Reserved, Designed By www.freemud.cn
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Data
public
class
CancelDeliveryResponseDto
{
private
Integer
code
;
private
String
msg
;
private
Object
data
;
@Data
public
static
class
QueryDeliveryAmountResult
{
private
Long
id
;
/**
* 商户ID
*/
private
String
partnerId
;
/**
* 配送费 单位:分
*/
private
BigDecimal
deliveryAmount
;
/**
* 收件人省份编码
*/
private
String
provinceCode
;
/**
* 收件人省份
*/
private
String
sendProvince
;
/**
* 状态 1启用 2禁用
*/
private
Integer
status
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/CreateDeliveryVo.java
0 → 100644
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
delivery
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotBlank
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.Valid
;
import
javax.validation.constraints.*
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* Created by freemudadmin on 2018/10/31.
*/
@Data
@ApiModel
(
value
=
"CreateDeliveryVo"
,
description
=
"创建配送单请求参数"
)
public
class
CreateDeliveryVo
{
/**
* 商品信息
*/
@ApiModelProperty
(
value
=
"商品信息"
)
@NotEmpty
(
message
=
"productInfos不能为空"
)
@Valid
private
List
<
ProductInfo
>
productInfos
;
/**
* 取餐号
*/
@ApiModelProperty
(
value
=
"取餐号"
)
@NotBlank
(
message
=
"serialNumber不能为空"
)
private
String
serialNumber
;
/**
* 订单编号
*/
@ApiModelProperty
(
value
=
"订单编号"
)
@NotBlank
(
message
=
"orderId不能为空"
)
private
String
orderId
;
/**
* 订单备注
*/
@ApiModelProperty
(
value
=
"订单备注"
)
private
String
orderRemark
;
/**
* 订单来源 美团 ,饿了么,百度,口碑 等(中文)
*/
@ApiModelProperty
(
value
=
"订单来源 美团 ,饿了么,百度,口碑 等(中文)"
)
private
String
orderSource
;
/**
* 订单总金额(分)
*/
@ApiModelProperty
(
value
=
"订单总金额(分)"
)
@NotNull
(
message
=
"orderTotalAmount不能为空"
)
@Min
(
value
=
1
,
message
=
"orderTotalAmount不能小于1"
)
private
Integer
orderTotalAmount
;
/**
* 订单实付金额(分)
*/
@ApiModelProperty
(
value
=
"订单实付金额(分)"
)
@NotNull
(
message
=
"orderActualAmount不能为空"
)
@Min
(
value
=
1
,
message
=
"orderActualAmount不能小于1"
)
private
Integer
orderActualAmount
;
/**
* 订单重量(kg)
*/
@ApiModelProperty
(
value
=
"订单重量(kg)"
)
private
BigDecimal
depatchWeight
;
/**
* 发票抬头
*/
@ApiModelProperty
(
value
=
"发票抬头"
)
private
String
invoiceTitle
;
/**
* 商户id
*/
@ApiModelProperty
(
value
=
"商户id"
)
@NotBlank
(
message
=
"partnerId不能为空"
)
private
String
partnerId
;
/**
* 商户信息备注
*/
@ApiModelProperty
(
value
=
"商户信息备注"
)
private
String
partnerRemark
;
/**
* 订单渠道
*/
@ApiModelProperty
(
value
=
"订单渠道"
)
@NotBlank
(
message
=
"orderChannel不能为空"
)
private
String
orderChannel
;
/**
* 配送渠道
*/
@ApiModelProperty
(
value
=
"配送渠道"
)
private
String
deliveryChannel
;
/**
* 是否预约单 0否 1是
*/
@ApiModelProperty
(
value
=
"是否预约单 :0否 1是"
)
@NotNull
(
message
=
"isPre不能为空"
)
@Min
(
value
=
0
,
message
=
"isPre不能小于0"
)
@Max
(
value
=
1
,
message
=
"isPre不能大于1"
)
private
Integer
isPre
;
/**
* 门店id(非码)
*/
@ApiModelProperty
(
value
=
"门店id"
)
@NotBlank
(
message
=
"storeId不能为空"
)
private
String
storeId
;
/**
* 第三方门店id
*/
@ApiModelProperty
(
value
=
"第三方门店id"
)
@NotBlank
(
message
=
"storeCode不能为空"
)
private
String
storeCode
;
/**
* 门店名称
*/
@ApiModelProperty
(
value
=
"门店名称"
)
@NotBlank
(
message
=
"storeName不能为空"
)
private
String
storeName
;
/**
* 门店地址
*/
@ApiModelProperty
(
value
=
"门店地址"
)
@NotBlank
(
message
=
"storeAddress不能为空"
)
private
String
storeAddress
;
@ApiModelProperty
(
value
=
"门店所在区"
)
private
String
storeArea
;
@ApiModelProperty
(
value
=
"门店所在市"
)
private
String
storeCity
;
@ApiModelProperty
(
value
=
"门店所在省"
)
private
String
storeProvince
;
/**
* 门店经度
*/
@ApiModelProperty
(
value
=
"门店经度"
)
@NotNull
(
message
=
"storeLng不能为空"
)
private
BigDecimal
storeLng
;
/**
* 门店纬度
*/
@ApiModelProperty
(
value
=
"门店纬度"
)
@NotNull
(
message
=
"storeLat不能为空"
)
private
BigDecimal
storeLat
;
/**
* 门店电话
*/
@ApiModelProperty
(
value
=
"门店电话"
)
@NotBlank
(
message
=
"storePhone不能为空"
)
private
String
storePhone
;
/**
* 门店联系人
*/
@ApiModelProperty
(
value
=
"门店联系人"
)
private
String
storeContact
;
/**
* 收货人姓名
*/
@ApiModelProperty
(
value
=
"收货人姓名"
)
@NotBlank
(
message
=
"receiverName不能为空"
)
private
String
receiverName
;
/**
* 收货人联系方式
*/
@ApiModelProperty
(
value
=
"收货人联系方式"
)
@NotBlank
(
message
=
"receiverPrimaryPhone不能为空"
)
private
String
receiverPrimaryPhone
;
/**
* 收货人备用联系方式
*/
@ApiModelProperty
(
value
=
"收货人备用联系方式"
)
private
String
receiverSecondPhone
;
/**
* 收货人地址
*/
@ApiModelProperty
(
value
=
"收货人地址"
)
@NotBlank
(
message
=
"receiverAddress不能为空"
)
private
String
receiverAddress
;
/**
* 收货人经度
*/
@ApiModelProperty
(
value
=
"收货人经度"
)
@NotNull
(
message
=
"receiverLng不能为空"
)
private
BigDecimal
receiverLng
;
/**
* 收货人纬度
*/
@ApiModelProperty
(
value
=
"收货人纬度"
)
@NotNull
(
message
=
"receiverLat不能为空"
)
private
BigDecimal
receiverLat
;
/**
* 所在城市
*/
@ApiModelProperty
(
value
=
"所在城市"
)
@NotBlank
(
message
=
"cityName不能为空"
)
private
String
cityName
;
@ApiModelProperty
(
value
=
"所在省份"
)
private
String
provinceName
;
@ApiModelProperty
(
value
=
"所在区"
)
private
String
areaName
;
/**
* 配送服务代码(飞速达:4002;快速达:4011;及时达:4012;集中送:4013)
*/
@ApiModelProperty
(
value
=
"配送服务代码(飞速达:4002;快速达:4011;及时达:4012;集中送:4013)"
)
private
Integer
deliveryServiceCode
;
/**
* 商品类型 1送餐; 2送药; 3百货;4脏衣收; 5干净衣派;6生鲜; 7保单;8饮品;9现场勘查;99其他
*/
@ApiModelProperty
(
value
=
"商品类型 1送餐; 2送药; 3百货;4脏衣收; 5干净衣派;6生鲜; 7保单;8饮品;9现场勘查;99其他"
)
private
Integer
productType
;
@ApiModelProperty
(
value
=
"回调地址"
)
@NotBlank
(
message
=
"callbackUrl不能为空"
)
private
String
callbackUrl
;
@ApiModelProperty
(
value
=
"用户下单时间"
)
@NotNull
(
message
=
"orderTime不能为空"
)
private
Date
orderTime
;
@ApiModelProperty
(
value
=
"用户期望送达时间"
)
private
Date
expectTime
;
@ApiModelProperty
(
value
=
"微信token 渠道为微信物流时必传"
)
private
String
accessToken
;
@ApiModelProperty
(
value
=
"小程序openid 渠道为微信物流时必传"
)
private
String
openId
;
@ApiModelProperty
(
value
=
"商家小程序的路径,建议为订单页面 渠道为微信物流时必传"
)
private
String
wxaPath
;
@ApiModelProperty
(
value
=
"小程序appId 渠道为微信物流时必传"
)
private
String
wxAppId
;
@ApiModelProperty
(
value
=
"微信物流公司id"
)
private
String
wxCompanyId
;
@ApiModelProperty
(
value
=
"微信物流公司快递编码"
)
private
String
wxBizId
;
@ApiModelProperty
(
value
=
"微信物流公司服务类型ID"
)
private
Integer
serviceType
;
@ApiModelProperty
(
value
=
"微信物流公司服务类型名称"
)
private
String
serviceName
;
@ApiModelProperty
(
value
=
"非码运单号"
)
private
String
deliveryId
;
@ApiModelProperty
(
value
=
"是否大订单 : 0-否 , 1-是"
)
private
Integer
isLargeOrder
;
@ApiModelProperty
(
value
=
"是否实时送达: 0-否 , 1-是"
)
private
Integer
isImmediateDelivery
;
@ApiModelProperty
(
value
=
"预计送达时间-UTC 时间"
)
private
String
expectDeliveryTimeByUTC
;
@ApiModelProperty
(
value
=
"餐品总额(单位:分)"
)
private
Integer
productTotal
;
@ApiModelProperty
(
value
=
"是否支付: 0-否 , 1-是 "
)
private
Integer
isPayed
;
@ApiModelProperty
(
value
=
"付款类型"
)
private
String
tenderType
;
@ApiModelProperty
(
value
=
"启用新版税率规则计算开票:0-关闭,1-开启"
)
private
Integer
taxFlag
;
@ApiModelProperty
(
value
=
"配送费(单位:分)"
)
private
Integer
deliveryTotal
;
@ApiModelProperty
(
value
=
"订单显示ID(餐道专用)"
)
private
String
displayOrderId
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/MCCafeDeliveryBaseResponse.java
0 → 100644
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
delivery
;
import
lombok.Data
;
@Data
public
class
MCCafeDeliveryBaseResponse
<
T
>
{
private
String
code
;
private
String
msg
;
private
T
data
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/MCCafeDeliveryGetStoreIdResponse.java
0 → 100644
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
delivery
;
import
lombok.Data
;
@Data
public
class
MCCafeDeliveryGetStoreIdResponse
{
private
Integer
storeId
;
private
String
storeName
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/delivery/ProductInfo.java
0 → 100644
View file @
2485b18b
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: ItemJson
* @Package com.freemud.o2o.dto
* @Description:
* @author: canlong.wu
* @date: 2018/6/20 15:29
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
package
cn
.
freemud
.
entities
.
dto
.
delivery
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotBlank
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
@Data
@ApiModel
(
value
=
"ProductInfo"
,
description
=
"商品信息"
)
public
class
ProductInfo
{
/**
* 商品编号
*/
@ApiModelProperty
(
value
=
"商品编号"
)
@NotBlank
(
message
=
"productCode不能为空"
)
private
String
productCode
;
// ----
@ApiModelProperty
(
value
=
"归属餐品 ID(一般套餐或者特殊要求时,该 ID 指向主餐品 ID) 0或者-1代表一级餐品数据; 一份餐品数据存在多级"
)
private
Long
parentCode
;
@ApiModelProperty
(
value
=
"税率代码:10-餐品费用,13-非餐品费用;仅 taxFlag=1 改字段生效,具体税率代码参考麦 中定义"
)
private
Integer
taxId
;
@ApiModelProperty
(
value
=
"税率:餐品费用-6,非餐品费用-13;仅 taxFlag=1 改字段生效,具体税率值参考麦中 定义"
)
private
Integer
taxRate
;
@ApiModelProperty
(
value
=
"优惠金额 单位:分"
)
private
Long
discountAmount
;
// ---
/**
* 商品名称
*/
@ApiModelProperty
(
value
=
"商品名称"
)
@NotBlank
(
message
=
"productName不能为空"
)
private
String
productName
;
/**
* 商品数量
*/
@ApiModelProperty
(
value
=
"商品数量"
)
@NotNull
(
message
=
"productNumber不能为空"
)
@Min
(
value
=
1
,
message
=
"productNumber不能小于1"
)
private
Integer
productNumber
;
/**
* 商品价格(分)
*/
@ApiModelProperty
(
value
=
"商品价格(分)"
)
@NotNull
(
message
=
"productPrice不能为空"
)
//@Min(value = 1,message = "productPrice不能小于1")
private
Integer
productPrice
;
/**
* 商品尺寸
*/
@ApiModelProperty
(
value
=
"商品尺寸"
)
private
Integer
productSize
;
@ApiModelProperty
(
value
=
"商品图片 微信物流必传"
)
private
String
productImg
;
/**
* 商品备注
*/
@ApiModelProperty
(
value
=
"商品备注"
)
private
String
productRemark
;
@ApiModelProperty
(
value
=
"小计(单位分)"
)
private
Integer
cumulatedTotal
;
@ApiModelProperty
(
value
=
"分组名称,如果订单采用分组形式,该参数为比传"
)
private
String
GroupName
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
2485b18b
...
@@ -204,6 +204,8 @@ public class ShoppingCartGoodsDto {
...
@@ -204,6 +204,8 @@ public class ShoppingCartGoodsDto {
*/
*/
private
double
tax
;
private
double
tax
;
private
String
taxId
;
/**
/**
* 配料或属性
* 配料或属性
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
View file @
2485b18b
...
@@ -213,7 +213,12 @@ public class CreateOrderVo {
...
@@ -213,7 +213,12 @@ public class CreateOrderVo {
/**
/**
* 是否需要开发票,1 需要 0不需要
* 是否需要开发票,1 需要 0不需要
*/
*/
private
Integer
needInvoice
;
private
Integer
isInvoice
;
/**
* 发票抬头
*/
private
String
invoiceTitle
;
/**
/**
* 微信配送地址信息
* 微信配送地址信息
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/ProductInfo.java
View file @
2485b18b
...
@@ -20,12 +20,12 @@ public class ProductInfo {
...
@@ -20,12 +20,12 @@ public class ProductInfo {
* "税率代码:10-餐品费用,13-非餐品费用;仅 taxFlag=1 改字段生效,具体税率代码参考麦 中定义")(麦咖啡餐道专用)
* "税率代码:10-餐品费用,13-非餐品费用;仅 taxFlag=1 改字段生效,具体税率代码参考麦 中定义")(麦咖啡餐道专用)
*
*
*/
*/
private
Integer
taxId
;
private
String
taxId
;
/**
/**
* 税率:餐品费用-6,非餐品费用-13;仅 taxFlag=1 改字段生效,具体税率值参考麦中 定义 (麦咖啡餐道专用)
* 税率:餐品费用-6,非餐品费用-13;仅 taxFlag=1 改字段生效,具体税率值参考麦中 定义 (麦咖啡餐道专用)
*/
*/
private
Integer
taxRate
;
private
Double
taxRate
;
/**
/**
* "优惠金额 单位:分"
* "优惠金额 单位:分"
...
...
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
2485b18b
...
@@ -16,6 +16,7 @@ public enum ResponseResult {
...
@@ -16,6 +16,7 @@ public enum ResponseResult {
NOT_LOGIN
(
"40001"
,
"用户未登录"
),
NOT_LOGIN
(
"40001"
,
"用户未登录"
),
PARAMETER_MISSING
(
"40002"
,
"缺少必要参数"
),
PARAMETER_MISSING
(
"40002"
,
"缺少必要参数"
),
OPERATE_TOO_OFTEN
(
"40003"
,
"忙不过来了,请稍后再试"
),
OPERATE_TOO_OFTEN
(
"40003"
,
"忙不过来了,请稍后再试"
),
LOGIN_STORE_ERROR
(
"40004"
,
"登录门店异常"
),
/**
/**
* 用户信息状态码
* 用户信息状态码
...
@@ -151,6 +152,7 @@ public enum ResponseResult {
...
@@ -151,6 +152,7 @@ public enum ResponseResult {
ORDER_TAKE_MEAL_TIME_ERROR
(
"450062"
,
"你的到店取餐时间异常,请重新选择!"
),
ORDER_TAKE_MEAL_TIME_ERROR
(
"450062"
,
"你的到店取餐时间异常,请重新选择!"
),
ORDER_MEALTIME_MISSING
(
"450063"
,
"你的取餐方式或取餐时间异常,请重新选择!"
),
ORDER_MEALTIME_MISSING
(
"450063"
,
"你的取餐方式或取餐时间异常,请重新选择!"
),
ORDER_TAKE_OUT_TIME_ERROR
(
"450062"
,
"你的外卖送达时间异常,请重新选择!"
),
ORDER_TAKE_OUT_TIME_ERROR
(
"450062"
,
"你的外卖送达时间异常,请重新选择!"
),
ORDER_TAKE_OUT_ADDRESS_NOT_VALID
(
"45063"
,
"收货地址校验失败"
),
/**
/**
* 支付
* 支付
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
2485b18b
...
@@ -17,7 +17,9 @@ import cn.freemud.base.util.DateUtil;
...
@@ -17,7 +17,9 @@ import cn.freemud.base.util.DateUtil;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.StoreConstant
;
import
cn.freemud.constant.StoreConstant
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponRequest
;
import
cn.freemud.entities.dto.delivery.MCCafeDeliveryBaseResponse
;
import
cn.freemud.entities.dto.delivery.MCCafeDeliveryGetStoreIdResponse
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest
;
import
cn.freemud.entities.dto.order.BusinessDate
;
import
cn.freemud.entities.dto.order.BusinessDate
;
import
cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto
;
import
cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
...
@@ -29,14 +31,14 @@ import cn.freemud.interceptor.ServiceException;
...
@@ -29,14 +31,14 @@ import cn.freemud.interceptor.ServiceException;
import
cn.freemud.manager.StoreTableNumberManager
;
import
cn.freemud.manager.StoreTableNumberManager
;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryServiceFeiginMCCafeClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.StockClient
;
import
cn.freemud.service.thirdparty.StockClient
;
import
cn.freemud.utils.LogUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.alibaba.fastjson.TypeReference
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappConfig
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappConfig
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerStoreDeliveryConfig
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIappWxappConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIappWxappConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager
;
...
@@ -50,6 +52,7 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
...
@@ -50,6 +52,7 @@ import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberI
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberCenterService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.membercenter.service.MemberPropertyService
;
import
com.freemud.application.sdk.api.ordercenter.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
import
com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest
;
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.response.QueryDeliverDetailResponse
;
import
com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse
;
...
@@ -62,12 +65,9 @@ import org.apache.commons.collections4.CollectionUtils;
...
@@ -62,12 +65,9 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
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.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.awt.geom.Point2D
;
import
java.awt.geom.Point2D
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -108,6 +108,11 @@ public class CheckMCCafeOrder {
...
@@ -108,6 +108,11 @@ public class CheckMCCafeOrder {
private
CouponService
couponService
;
private
CouponService
couponService
;
@Autowired
@Autowired
private
CouponClientService
couponClientService
;
private
CouponClientService
couponClientService
;
@Autowired
private
DeliveryFeiginMCCafeClient
deliveryFeiginMCCafeClient
;
@Autowired
private
DeliveryServiceFeiginMCCafeClient
deliveryServiceFeiginMCCafeClient
;
private
static
Gson
gson
=
new
Gson
();
private
static
Gson
gson
=
new
Gson
();
/**
/**
* 下单会员相关校验
* 下单会员相关校验
...
@@ -202,21 +207,6 @@ public class CheckMCCafeOrder {
...
@@ -202,21 +207,6 @@ public class CheckMCCafeOrder {
}
}
//获取门店配送信息
//获取门店配送信息
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
getNewStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
,
trackingNo
);
StoreDeliveryInfoDto
storeDeliveryInfoDto
=
getNewStoreDeliveryInfo
(
storeResponseDto
,
config
,
appId
,
trackingNo
);
//todo : 这里不再支持从表中获取门店配送信息 改用接口方式调用
//外卖起送条件(1:杯数,2:金额)
if
(!
Arrays
.
asList
(
1
,
2
).
contains
(
storeDeliveryInfoDto
.
getDeliveryCondition
()))
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_CONDITION
);
}
if
(
1
==
storeDeliveryInfoDto
.
getDeliveryCondition
())
{
int
sum
=
shoppingCartGoodsDto
.
getProducts
().
stream
().
mapToInt
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
::
getQty
).
sum
();
if
(
sum
<
storeDeliveryInfoDto
.
getFreeDeliveryCup
())
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_CUP
);
}
}
//订单金额小于起送费提示
else
if
(
2
==
storeDeliveryInfoDto
.
getDeliveryCondition
()
&&
storeDeliveryInfoDto
.
getDeliveryLimitAmount
()
>
shoppingCartGoodsDto
.
getTotalAmount
())
{
throw
new
ServiceException
(
ResponseResult
.
STORE_DISCONTENT_DELIVERY_FEE
);
}
storeDeliveryInfoDto
.
setEnableTakeaway
(
true
);
storeDeliveryInfoDto
.
setEnableTakeaway
(
true
);
// 校验收货地址是否可配送
// 校验收货地址是否可配送
...
@@ -505,48 +495,48 @@ public class CheckMCCafeOrder {
...
@@ -505,48 +495,48 @@ public class CheckMCCafeOrder {
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
//加价购商品 校验放购物车校验
//加价购商品 校验放购物车校验
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = shoppingCartClient.getMCCafeShoppingCartGoodsApportionNew(requestDto);
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
shoppingCartClient
.
getMCCafeShoppingCartGoodsApportionNew
(
requestDto
);
//暂时写死测试数据
//暂时写死测试数据
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
JSON
.
parseObject
(
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = JSON.parseObject(
"{\n"
+
//
"{\n" +
" \"code\": \"100\",\n"
+
//
" \"code\": \"100\",\n" +
" \"message\": \"success\",\n"
+
//
" \"message\": \"success\",\n" +
" \"result\": {\n"
+
//
" \"result\": {\n" +
" \"activityDiscountsDtos\": [],\n"
+
//
" \"activityDiscountsDtos\": [],\n" +
" \"isDiscountDelivery\": false,\n"
+
//
" \"isDiscountDelivery\": false,\n" +
" \"originalTotalAmount\": 1,\n"
+
//
" \"originalTotalAmount\": 1,\n" +
" \"products\": [\n"
+
//
" \"products\": [\n" +
" {\n"
+
//
" {\n" +
" \"activityDiscountsDtos\": [],\n"
+
//
" \"activityDiscountsDtos\": [],\n" +
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n"
+
//
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" +
" \"categoryName\": \"鞍山市\",\n"
+
//
" \"categoryName\": \"鞍山市\",\n" +
" \"classificationId\": \"\",\n"
+
//
" \"classificationId\": \"\",\n" +
" \"customerCode\": \"4095\",\n"
+
//
" \"customerCode\": \"4095\",\n" +
" \"extraList\": [],\n"
+
//
" \"extraList\": [],\n" +
" \"hasProductCoupon\": false,\n"
+
//
" \"hasProductCoupon\": false,\n" +
" \"materialList\": [],\n"
+
//
" \"materialList\": [],\n" +
" \"originalPrice\": 1,\n"
+
//
" \"originalPrice\": 1,\n" +
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n"
+
//
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" +
" \"qty\": 1,\n"
+
//
" \"qty\": 1,\n" +
" \"skuId\": \"162535232231270663\",\n"
+
//
" \"skuId\": \"162535232231270663\",\n" +
" \"skuName\": \"鱿鱼须把把串\",\n"
+
//
" \"skuName\": \"鱿鱼须把把串\",\n" +
" \"spuId\": \"162535232231270663\",\n"
+
//
" \"spuId\": \"162535232231270663\",\n" +
" \"spuName\": \"鱿鱼须把把串\",\n"
+
//
" \"spuName\": \"鱿鱼须把把串\",\n" +
" \"stockLimit\": false,\n"
+
//
" \"stockLimit\": false,\n" +
" \"totalDiscountAmount\": 0,\n"
+
//
" \"totalDiscountAmount\": 0,\n" +
" \"unit\": \"g\",\n"
+
//
" \"unit\": \"g\",\n" +
" \"weight\": 0,\n"
+
//
" \"weight\": 0,\n" +
" \"tax\": 10\n"
+
//
" \"tax\": 10\n" +
" }\n"
+
//
" }\n" +
" ],\n"
+
//
" ],\n" +
" \"reduceScore\": 0,\n"
+
//
" \"reduceScore\": 0,\n" +
" \"scoreReduceAmount\": 0,\n"
+
//
" \"scoreReduceAmount\": 0,\n" +
" \"totalAmount\": 1,\n"
+
//
" \"totalAmount\": 1,\n" +
" \"totalDiscountAmount\": 0\n"
+
//
" \"totalDiscountAmount\": 0\n" +
" },\n"
+
//
" },\n" +
" \"ver\": \"1\"\n"
+
//
" \"ver\": \"1\"\n" +
"}"
,
new
TypeReference
<
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>>(){}
//
"}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){}
);
//
);
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
...
@@ -653,11 +643,31 @@ public class CheckMCCafeOrder {
...
@@ -653,11 +643,31 @@ public class CheckMCCafeOrder {
throw
new
ServiceException
(
ResponseResult
.
USER_GETRECEIVEADDRESS_ERROR
);
throw
new
ServiceException
(
ResponseResult
.
USER_GETRECEIVEADDRESS_ERROR
);
}
}
QueryReceiveAddressResponse
receiveAddressResult
=
queryReceiveAddressResponse
.
getData
();
QueryReceiveAddressResponse
receiveAddressResult
=
queryReceiveAddressResponse
.
getData
();
UserDeliveryInfoDto
userDeliveryInfoDto
=
storeService
.
getUserDeliveryInfo
(
storeDeliveryInfoDto
,
receiveAddressResult
.
getLongitude
(),
receiveAddressResult
.
getLatitude
());
CreateOrderRequestDto
createOrderRequestDto
=
new
CreateOrderRequestDto
();
if
(!
userDeliveryInfoDto
.
getUserEnableTakeaway
())
{
createOrderRequestDto
.
setLatitude
(
receiveAddressResult
.
getLatitude
());
throw
new
ServiceException
(
ResponseResult
.
ORDER_TAKE_OUT_ADDRESS_NOT_DELIVERY
);
createOrderRequestDto
.
setLongitude
(
receiveAddressResult
.
getLongitude
());
MCCafeDeliveryBaseResponse
mcCafeDeliveryBaseResponse
=
deliveryServiceFeiginMCCafeClient
.
client
(
createOrderRequestDto
);
if
(!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
mcCafeDeliveryBaseResponse
.
getCode
())
||
null
==
mcCafeDeliveryBaseResponse
.
getData
())
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_TAKE_OUT_ADDRESS_NOT_VALID
);
}
else
{
List
<
MCCafeDeliveryGetStoreIdResponse
>
mcCafeDeliveryGetStoreIdResponseList
=
JSON
.
parseArray
(
mcCafeDeliveryBaseResponse
.
getData
().
toString
(),
MCCafeDeliveryGetStoreIdResponse
.
class
);
// if(mcCafeDeliveryGetStoreIdResponseList.stream().noneMatch(o -> createOrderVo.getShopId().equals(o.getStoreId()+""))) {
// throw new ServiceException(ResponseResult.ORDER_TAKE_OUT_ADDRESS_NOT_DELIVERY);
// }
}
}
UserDeliveryInfoDto
userDeliveryInfoDto
=
UserDeliveryInfoDto
.
builder
()
.
userLongitude
(
receiveAddressResult
.
getLongitude
())
.
userLatitude
(
receiveAddressResult
.
getLatitude
())
.
deliveryLimitAmount
(
storeDeliveryInfoDto
.
getDeliveryLimitAmount
())
.
userEnableTakeaway
(
true
)
.
realDeliveryAmount
(
0
l
)
.
storeId
(
storeDeliveryInfoDto
.
getStoreId
())
.
storeName
(
storeDeliveryInfoDto
.
getStoreName
())
.
storeDeliveryInfoDto
(
storeDeliveryInfoDto
).
build
();
userDeliveryInfoDto
.
setReceiveUserName
(
receiveAddressResult
.
getReceiveName
());
userDeliveryInfoDto
.
setReceiveUserName
(
receiveAddressResult
.
getReceiveName
());
userDeliveryInfoDto
.
setReceiveMobile
(
StringUtils
.
isEmpty
(
receiveAddressResult
.
getMobile
())
?
receiveAddressResult
.
getReceiveMobile
()
:
receiveAddressResult
.
getMobile
());
userDeliveryInfoDto
.
setReceiveMobile
(
StringUtils
.
isEmpty
(
receiveAddressResult
.
getMobile
())
?
receiveAddressResult
.
getReceiveMobile
()
:
receiveAddressResult
.
getMobile
());
String
receiveAddress
=
receiveAddressResult
.
getReceiveAddress
();
String
receiveAddress
=
receiveAddressResult
.
getReceiveAddress
();
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
View file @
2485b18b
...
@@ -26,6 +26,8 @@ import cn.freemud.constant.ResponseCodeConstant;
...
@@ -26,6 +26,8 @@ import cn.freemud.constant.ResponseCodeConstant;
import
cn.freemud.entities.dto.PayAccessResponse
;
import
cn.freemud.entities.dto.PayAccessResponse
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean
;
import
cn.freemud.entities.dto.delivery.CancelDeliveryResponseDto
;
import
cn.freemud.entities.dto.delivery.QueryDeliveryAmountResponseDto
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.product.AttributeValue
;
import
cn.freemud.entities.dto.product.AttributeValue
;
...
@@ -37,7 +39,6 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
...
@@ -37,7 +39,6 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import
cn.freemud.entities.vo.*
;
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.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.*
;
import
cn.freemud.service.*
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
...
@@ -48,6 +49,7 @@ import cn.freemud.utils.ValidationCode;
...
@@ -48,6 +49,7 @@ import cn.freemud.utils.ValidationCode;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.*
;
import
com.freemud.api.assortment.datamanager.manager.*
;
...
@@ -59,8 +61,6 @@ import com.freemud.application.sdk.api.constant.ResponseResultEnum;
...
@@ -59,8 +61,6 @@ import com.freemud.application.sdk.api.constant.ResponseResultEnum;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
...
@@ -87,8 +87,6 @@ import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
...
@@ -87,8 +87,6 @@ import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
import
com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest
;
import
com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest
;
import
com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest
;
import
com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest
;
import
com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushService
;
import
com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushService
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponRequest
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderStatus
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
...
@@ -106,12 +104,13 @@ import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
...
@@ -106,12 +104,13 @@ import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
lombok.Data
;
import
lombok.ToString
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.bouncycastle.cert.ocsp.Req
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -794,6 +793,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -794,6 +793,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderExtInfoDto
.
setSessionKey
(
createOrderVo
.
getSessionKey
());
orderExtInfoDto
.
setSessionKey
(
createOrderVo
.
getSessionKey
());
orderExtInfoDto
.
setFormId
(
createOrderVo
.
getFormId
());
orderExtInfoDto
.
setFormId
(
createOrderVo
.
getFormId
());
orderExtInfoDto
.
setFromAppId
(
userLoginInfoDto
.
getWxAppId
());
orderExtInfoDto
.
setFromAppId
(
userLoginInfoDto
.
getWxAppId
());
orderExtInfoDto
.
setIsInvoice
(
createOrderVo
.
getIsInvoice
());
orderExtInfoDto
.
setInvoiceTitle
(
createOrderVo
.
getInvoiceTitle
());
orderExtInfoDto
.
setNeedTableware
(
createOrderVo
.
getNeedTableware
());
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getScene
()))
{
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getScene
()))
{
orderExtInfoDto
.
setScene
(
createOrderVo
.
getScene
());
orderExtInfoDto
.
setScene
(
createOrderVo
.
getScene
());
}
}
...
@@ -884,11 +886,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -884,11 +886,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
// TODO 记录一下核销失败的券
// TODO 记录一下核销失败的券
}
}
//调用基础订单接口更新信息
UpdateDownstreamOrderCodeReq
updateDownstreamOrderCodeReq
=
new
UpdateDownstreamOrderCodeReq
();
updateDownstreamOrderCodeReq
.
setOrderCode
(
orderBean
.
getOid
());
orderSdkService
.
updateDownstreamThirdOrderCode
(
updateDownstreamOrderCodeReq
,
LogThreadLocal
.
getTrackingNo
());
}
else
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
orderBean
.
getType
())
||
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
orderBean
.
getType
()))
{
}
else
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
orderBean
.
getType
())
||
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
orderBean
.
getType
()))
{
List
<
CouponBaseResponse
>
couponBaseResponseList
=
couponClientService
.
lockBatch
(
orderBean
);
List
<
CouponBaseResponse
>
couponBaseResponseList
=
couponClientService
.
lockBatch
(
orderBean
);
...
@@ -985,20 +982,29 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -985,20 +982,29 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
requestDto
.
setOpenId
(
orderExtInfoDto
!=
null
?
orderExtInfoDto
.
getOpenid
()
:
""
);
requestDto
.
setOpenId
(
orderExtInfoDto
!=
null
?
orderExtInfoDto
.
getOpenid
()
:
""
);
buriedPointService
.
BuriedPointPayment
(
requestDto
,
orderBean
);
buriedPointService
.
BuriedPointPayment
(
requestDto
,
orderBean
);
//获取门店信息
if
(
OldOrderType
.
TAKE_OUT
.
equals
(
orderBean
.
getOrderType
()))
{
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
new
StoreInfoRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()),
""
);
//调用基础订单接口更新信息
if
(
storeInfo
==
null
||
ObjectUtils
.
notEqual
(
cn
.
freemud
.
management
.
enums
.
ResponseResult
.
SUCCESS
.
getCode
(),
storeInfo
.
getStatusCode
().
toString
())
||
storeInfo
.
getBizVO
()
==
null
)
{
UpdateDownstreamOrderCodeReq
updateDownstreamOrderCodeReq
=
new
UpdateDownstreamOrderCodeReq
();
return
sendPaySuccessNoticeMessage
();
updateDownstreamOrderCodeReq
.
setOrderCode
(
orderBean
.
getOid
());
}
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
baseResponse
=
orderSdkService
.
updateDownstreamThirdOrderCode
(
updateDownstreamOrderCodeReq
,
LogThreadLocal
.
getTrackingNo
());
CreateDeliveryVo
createDeliveryVo
=
deliveryAdapter
.
buildDeliveryOrderRequestDto
(
orderBean
,
storeInfo
,
deliveryCallBackUrl
,
null
);
//创建配送单
LinkedHashMap
<
String
,
String
>
linkedHashMap
=
(
LinkedHashMap
)
baseResponse
.
getResult
();
CreateDeliveryOrderResponseDto
deliveryResponse
=
deliveryFeiginClient
.
deliveryOrderAdd
(
createDeliveryVo
);
//创建配送单失败,更新订单为异常单
//获取门店信息
if
(
deliveryResponse
==
null
||
RESPONSE_SUCCESS_CODE
!=
deliveryResponse
.
getCode
()
||
deliveryResponse
.
getData
()
==
null
)
{
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
new
StoreInfoRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()),
""
);
String
deliveryId
=
deliveryResponse
!=
null
&&
deliveryResponse
.
getData
()
!=
null
?
deliveryResponse
.
getData
().
getDeliveryId
()
:
""
;
if
(
storeInfo
==
null
||
ObjectUtils
.
notEqual
(
cn
.
freemud
.
management
.
enums
.
ResponseResult
.
SUCCESS
.
getCode
(),
storeInfo
.
getStatusCode
().
toString
())
||
storeInfo
.
getBizVO
()
==
null
)
{
String
operator
=
"系统"
;
return
sendPaySuccessNoticeMessage
();
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
operator
);
}
return
sendPaySuccessNoticeMessage
();
CreateDeliveryVo
createDeliveryVo
=
deliveryAdapter
.
buildDeliveryOrderRequestDto
(
orderBean
,
storeInfo
,
deliveryCallBackUrl
,
linkedHashMap
.
get
(
"downstreamThirdOrderCode"
));
//创建配送单
CreateDeliveryOrderResponseDto
deliveryResponse
=
deliveryFeiginClient
.
deliveryOrderAdd
(
createDeliveryVo
);
//创建配送单失败,更新订单为异常单
if
(
deliveryResponse
==
null
||
RESPONSE_SUCCESS_CODE
!=
deliveryResponse
.
getCode
()
||
deliveryResponse
.
getData
()
==
null
)
{
String
deliveryId
=
deliveryResponse
!=
null
&&
deliveryResponse
.
getData
()
!=
null
?
deliveryResponse
.
getData
().
getDeliveryId
()
:
""
;
String
operator
=
"系统"
;
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
operator
);
return
sendPaySuccessNoticeMessage
();
}
}
}
//支付回掉成功标记
//支付回掉成功标记
...
@@ -1229,10 +1235,12 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...
@@ -1229,10 +1235,12 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
.
orderCancelCode
(
"4"
)
.
orderCancelCode
(
"4"
)
.
orderCancelDescription
(
"用户申请退款"
)
.
orderCancelDescription
(
"用户申请退款"
)
.
storeId
(
orderBean
.
getShopId
())
.
storeId
(
orderBean
.
getShopId
())
.
deliveryId
(
orderBean
.
getAddInfo
().
getDeliveryId
())
.
reviewId
(
orderBean
.
getOid
().
substring
(
0
,
20
))
.
receiveOrderType
(
receiveOrderType
).
build
();
.
receiveOrderType
(
receiveOrderType
).
build
();
Base
ResponseDto
deliveryBaseResponse
=
deliveryFeiginMCCafeClient
.
cancelRequest
(
cancelDeliveryRequest
);
CancelDelivery
ResponseDto
deliveryBaseResponse
=
deliveryFeiginMCCafeClient
.
cancelRequest
(
cancelDeliveryRequest
);
if
(
deliveryBaseResponse
==
null
||
!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
deliveryBaseResponse
.
get
Errc
ode
()))
{
if
(
deliveryBaseResponse
==
null
||
!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
deliveryBaseResponse
.
get
C
ode
()))
{
LogUtil
.
error
(
"申请取消配送单失败"
,
cancelDeliveryRequest
,
deliveryBaseResponse
);
LogUtil
.
error
(
"申请取消配送单失败"
,
cancelDeliveryRequest
,
deliveryBaseResponse
);
baseResponseDto
.
setErrcode
(
100
);
baseResponseDto
.
setErrcode
(
100
);
baseResponseDto
.
setErrcode
(
baseResponseDto
.
getErrcode
());
baseResponseDto
.
setErrcode
(
baseResponseDto
.
getErrcode
());
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
2485b18b
...
@@ -26,6 +26,7 @@ import org.apache.commons.collections4.MapUtils;
...
@@ -26,6 +26,7 @@ import org.apache.commons.collections4.MapUtils;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
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.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
@@ -50,6 +51,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -50,6 +51,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
private
static
Gson
gson
=
new
Gson
();
private
static
Gson
gson
=
new
Gson
();
@Value
(
"${mccafe.partner.id}"
)
private
String
mcCafePartnerId
;
@Autowired
@Autowired
private
EncircleOrderService
encircleOrderService
;
private
EncircleOrderService
encircleOrderService
;
@Autowired
@Autowired
...
@@ -134,6 +138,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -134,6 +138,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
if
(
assortmentCustomerInfoVo
==
null
||
StringUtils
.
isEmpty
(
assortmentCustomerInfoVo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
}
if
(!
mcCafePartnerId
.
equals
(
assortmentCustomerInfoVo
.
getPartnerId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
LOGIN_STORE_ERROR
);
}
// 扩展字段中存储 sessionKey
// 扩展字段中存储 sessionKey
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
createOrderVo
.
setSessionKey
(
assortmentCustomerInfoVo
.
getSessionKey
());
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
View file @
2485b18b
...
@@ -4,8 +4,8 @@ import cn.freemud.entities.dto.QueryOrdersResponseDto;
...
@@ -4,8 +4,8 @@ import cn.freemud.entities.dto.QueryOrdersResponseDto;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
cn.freemud.
entities.dto.coupon
.MCCafeCouponRequest
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeCouponRequest
;
import
cn.freemud.
entities.dto.coupon
.MCCafeCouponLockRequest
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeCouponLockRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
View file @
2485b18b
...
@@ -6,15 +6,14 @@ import cn.freemud.base.constant.Version;
...
@@ -6,15 +6,14 @@ import cn.freemud.base.constant.Version;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.
entities.dto.coupon
.MCCafeCouponRequest
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeCouponRequest
;
import
cn.freemud.
entities.dto.coupon
.MCCafeCouponLockRequest
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeCouponLockRequest
;
import
cn.freemud.
entities.dto.coupon
.MCCafeProductRedeemVo
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeProductRedeemVo
;
import
cn.freemud.
entities.dto.coupon
.MCCafeTransactionVo
;
import
cn.freemud.
management.entities.dto.request.order
.MCCafeTransactionVo
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.enums.MCCafeChannelEnum
;
import
cn.freemud.enums.MCCafeChannelEnum
;
import
cn.freemud.
enums.OrderAccountType
;
import
cn.freemud.
management.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.LogUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
...
@@ -26,7 +25,6 @@ import com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequ
...
@@ -26,7 +25,6 @@ import com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequ
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/DeliveryFeiginMCCafeClient.java
View file @
2485b18b
...
@@ -2,15 +2,18 @@ package cn.freemud.service.mccafe.thirdparty;
...
@@ -2,15 +2,18 @@ package cn.freemud.service.mccafe.thirdparty;
import
cn.freemud.entities.dto.BaseResponseDto
;
import
cn.freemud.entities.dto.BaseResponseDto
;
import
cn.freemud.entities.dto.CancelDeliveryRequest
;
import
cn.freemud.entities.dto.CancelDeliveryRequest
;
import
cn.freemud.entities.dto.
delivery.QueryDeliveryAmount
RequestDto
;
import
cn.freemud.entities.dto.
CreateOrder
RequestDto
;
import
cn.freemud.entities.dto.delivery.
QueryDeliveryAmountResponseDto
;
import
cn.freemud.entities.dto.delivery.
*
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
@FeignClient
(
name
=
"DELIVERYCENTER"
,
url
=
"${delivery.center.baseUrl}"
)
import
java.util.List
;
@FeignClient
(
name
=
"DELIVERYMCCAFECENTER"
,
url
=
"${delivery.center.baseUrl}"
)
public
interface
DeliveryFeiginMCCafeClient
{
public
interface
DeliveryFeiginMCCafeClient
{
@PostMapping
(
"/delivery/cancelRequest"
)
@PostMapping
(
"/delivery/cancel"
)
BaseResponseDto
cancelRequest
(
@RequestBody
CancelDeliveryRequest
request
);
CancelDeliveryResponseDto
cancelRequest
(
@RequestBody
CancelDeliveryRequest
request
);
}
}
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/DeliveryServiceFeiginMCCafeClient.java
0 → 100644
View file @
2485b18b
package
cn
.
freemud
.
service
.
mccafe
.
thirdparty
;
import
cn.freemud.entities.dto.CancelDeliveryRequest
;
import
cn.freemud.entities.dto.CreateOrderRequestDto
;
import
cn.freemud.entities.dto.delivery.CancelDeliveryResponseDto
;
import
cn.freemud.entities.dto.delivery.MCCafeDeliveryBaseResponse
;
import
cn.freemud.entities.dto.delivery.MCCafeDeliveryGetStoreIdResponse
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
@FeignClient
(
name
=
"DELIVERYSERVICEMCCAFECENTER"
,
url
=
"${delivery.mcCafe.feign.url}"
)
public
interface
DeliveryServiceFeiginMCCafeClient
{
@PostMapping
(
"/delivery/client"
)
MCCafeDeliveryBaseResponse
client
(
@RequestBody
CreateOrderRequestDto
request
);
}
order-application-service/src/test/java/cn.freemud/service/CouponActivityServiceTest.java
View file @
2485b18b
...
@@ -2,25 +2,22 @@ package cn.freemud.service;
...
@@ -2,25 +2,22 @@ package cn.freemud.service;
import
cn.freemud.OrderApplication
;
import
cn.freemud.OrderApplication
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.entities.dto.CancelDeliveryRequest
;
import
cn.freemud.entities.dto.BaseResponseDto
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest
;
import
cn.freemud.entities.dto.QueryOrderByIdResponseDto
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponLockRequest
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponRequest
;
import
cn.freemud.management.entities.dto.request.order.MCCafeProductRedeemVo
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest
;
import
cn.freemud.management.entities.dto.request.order.MCCafeTransactionVo
;
import
cn.freemud.entities.dto.coupon.MCCafeProductRedeemVo
;
import
cn.freemud.entities.dto.delivery.CancelDeliveryResponseDto
;
import
cn.freemud.entities.dto.coupon.MCCafeTransactionVo
;
import
cn.freemud.management.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.enums.ReceiveOrderEnum
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
import
cn.freemud.service.impl.MCCafeOrderServiceImpl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.service.mccafe.thirdparty.CouponOfflineMCCafeClient
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.application.sdk.api.ordercenter.request.UpdateDownstreamOrderCodeReq
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -28,6 +25,7 @@ import org.springframework.boot.test.context.SpringBootTest;
...
@@ -28,6 +25,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
@RunWith
(
SpringRunner
.
class
)
@RunWith
(
SpringRunner
.
class
)
...
@@ -38,10 +36,10 @@ public class CouponActivityServiceTest {
...
@@ -38,10 +36,10 @@ public class CouponActivityServiceTest {
private
CouponOfflineMCCafeClient
offlineMCCafeClient
;
private
CouponOfflineMCCafeClient
offlineMCCafeClient
;
@Autowired
@Autowired
private
MCCafeOrderServiceImpl
mcCafeOrderService
;
private
DeliveryFeiginMCCafeClient
deliveryFeiginMCCafeClient
;
@Autowired
@Autowired
private
Order
CenterSdkService
orderCent
erSdkService
;
private
Order
SdkService
ord
erSdkService
;
@Test
@Test
public
void
redeemTest
()
{
public
void
redeemTest
()
{
...
@@ -172,16 +170,30 @@ public class CouponActivityServiceTest {
...
@@ -172,16 +170,30 @@ public class CouponActivityServiceTest {
}
}
@Test
@Test
public
void
cancelDelivery
()
{
public
void
cancelDeliveryTest
()
{
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
CancelDeliveryRequest
cancelDeliveryRequest
=
CancelDeliveryRequest
.
builder
()
baseQueryOrderRequest
.
setOrderId
(
"18551043261893838300001"
);
.
displayOrderId
(
"1450026-10/07/2020-6667"
)
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
.
orderId
(
"77777*2020-08-06#66667"
)
QueryOrderByIdResponse
queryOrderByIdResponse
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
.
orderCancelCode
(
"4"
)
String
string
=
JSONObject
.
toJSONString
(
queryOrderByIdResponse
);
.
orderCancelDescription
(
"用户申请退款"
)
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
string
);
.
storeId
(
"99992"
)
QueryOrderByIdResponseDto
orderByIdResponseDto
=
jsonObject
.
toJavaObject
(
QueryOrderByIdResponseDto
.
class
);
.
deliveryId
(
"742092795987337216f5"
)
.
reviewId
(
"77777*2020-08-06#66"
)
BaseResponseDto
baseResponseDto
=
mcCafeOrderService
.
cancelDelivery
(
orderByIdResponseDto
.
getData
(),
ReceiveOrderEnum
.
NOT_RECEIVE_ORDER
.
getDesc
());
.
receiveOrderType
(
"receivedOrder"
).
build
();
System
.
out
.
println
(
JSON
.
toJSONString
(
baseResponseDto
));
CancelDeliveryResponseDto
deliveryBaseResponse
=
deliveryFeiginMCCafeClient
.
cancelRequest
(
cancelDeliveryRequest
);
System
.
out
.
println
(
JSON
.
toJSONString
(
cancelDeliveryRequest
));
System
.
out
.
println
(
JSON
.
toJSONString
(
deliveryBaseResponse
));
}
@Test
public
void
updateDownstreamThirdOrderCodeTest
()
{
UpdateDownstreamOrderCodeReq
updateDownstreamOrderCodeReq
=
new
UpdateDownstreamOrderCodeReq
();
updateDownstreamOrderCodeReq
.
setOrderCode
(
"18551836670069965100006"
);
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
baseResponse
=
orderSdkService
.
updateDownstreamThirdOrderCode
(
updateDownstreamOrderCodeReq
,
LogThreadLocal
.
getTrackingNo
());
LinkedHashMap
<
String
,
String
>
linkedHashMap
=
(
LinkedHashMap
)
baseResponse
.
getResult
();
System
.
out
.
println
(
linkedHashMap
.
get
(
"downstreamThirdOrderCode"
));
}
}
}
}
\ No newline at end of file
order-management/pom.xml
View file @
2485b18b
...
@@ -33,6 +33,13 @@
...
@@ -33,6 +33,13 @@
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
couponcenter-sdk
</artifactId>
<version>
1.9.2.RELEASE
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
sdk-common-base
</artifactId>
<artifactId>
sdk-common-base
</artifactId>
<version>
1.3.9-SNAPSHOT
</version>
<version>
1.3.9-SNAPSHOT
</version>
<scope>
provided
</scope>
<scope>
provided
</scope>
...
...
order-
application-service/src/main/java/cn/freemud/entities/dto/coupon
/MCCafeCouponLockRequest.java
→
order-
management/src/main/java/cn/freemud/management/entities/dto/request/order
/MCCafeCouponLockRequest.java
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
coupon
;
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
order
;
import
lombok.Data
;
import
lombok.Data
;
...
...
order-
application-service/src/main/java/cn/freemud/entities/dto/coupon
/MCCafeCouponRequest.java
→
order-
management/src/main/java/cn/freemud/management/entities/dto/request/order
/MCCafeCouponRequest.java
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
coupon
;
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
order
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
...
...
order-
application-service/src/main/java/cn/freemud/entities/dto/coupon
/MCCafeProductRedeemVo.java
→
order-
management/src/main/java/cn/freemud/management/entities/dto/request/order
/MCCafeProductRedeemVo.java
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
coupon
;
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
order
;
import
lombok.Data
;
import
lombok.Data
;
...
...
order-
application-service/src/main/java/cn/freemud/entities/dto/coupon
/MCCafeTransactionVo.java
→
order-
management/src/main/java/cn/freemud/management/entities/dto/request/order
/MCCafeTransactionVo.java
View file @
2485b18b
package
cn
.
freemud
.
entities
.
dto
.
coupon
;
package
cn
.
freemud
.
management
.
entities
.
dto
.
request
.
order
;
import
lombok.Data
;
import
lombok.Data
;
...
...
order-
application-service/src/main/java/cn/freemud/service/mccafe
/thirdparty/CouponOfflineMCCafeClient.java
→
order-
management/src/main/java/cn/freemud/management
/thirdparty/CouponOfflineMCCafeClient.java
View file @
2485b18b
package
cn
.
freemud
.
service
.
mccafe
.
thirdparty
;
package
cn
.
freemud
.
management
.
thirdparty
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponLockRequest
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponRequest
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@FeignClient
(
name
=
"COUPONMCCafe"
,
url
=
"${saas.coupon
offline
client.feign.url}"
)
@FeignClient
(
name
=
"COUPONMCCafe"
,
url
=
"${saas.coupon
adapter
client.feign.url}"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
public
interface
CouponOfflineMCCafeClient
{
public
interface
CouponOfflineMCCafeClient
{
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
View file @
2485b18b
...
@@ -153,4 +153,19 @@ public class OrderExtInfoDto {
...
@@ -153,4 +153,19 @@ public class OrderExtInfoDto {
* 停车场订单手机号
* 停车场订单手机号
*/
*/
private
String
mobile
;
private
String
mobile
;
/**
* 是否需要餐具,1 需要 0不需要
*/
private
Integer
needTableware
;
/**
* 是否需要开发票,1 需要 0不需要
*/
private
Integer
isInvoice
;
/**
* 发票抬头
*/
private
String
invoiceTitle
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment