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
3df04818
Commit
3df04818
authored
Dec 24, 2020
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/qa' into qa
parents
1668930f
0a29b3a4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
896 additions
and
103 deletions
+896
-103
assortment-ordercenter-sdk/pom.xml
+2
-3
assortment-ordercenter-sdk/readme.md
+3
-2
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+6
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
+2
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
+1
-0
assortment-shoppingcart-sdk/pom.xml
+1
-1
assortment-shoppingcart-sdk/readme.md
+3
-2
order-application-service/pom.xml
+2
-3
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+8
-0
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+11
-0
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeBaseDto.java
+24
-1
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeVerificationDto.java
+19
-0
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeVerificationProductDto.java
+40
-2
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeVerificationTransDto.java
+35
-2
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
+3
-0
order-application-service/src/main/java/cn/freemud/entities/vo/PlatformPaySuccessRequest.java
+15
-0
order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+2
-1
order-application-service/src/main/java/cn/freemud/enums/OrderAccountType.java
+2
-1
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+4
-0
order-application-service/src/main/java/cn/freemud/service/coupon/CouponRelationFactory.java
+25
-0
order-application-service/src/main/java/cn/freemud/service/coupon/CouponRelationService.java
+35
-0
order-application-service/src/main/java/cn/freemud/service/coupon/impl/CocoCouponRelationServiceImpl.java
+0
-0
order-application-service/src/main/java/cn/freemud/service/coupon/impl/CounponRelationFactoryImpl.java
+55
-0
order-application-service/src/main/java/cn/freemud/service/coupon/impl/PlatformCouponRelationServiceImpl.java
+129
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+3
-0
order-application-service/src/main/java/cn/freemud/service/impl/CouponActivityServiceImpl.java
+15
-60
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+5
-2
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+29
-1
order-management/src/main/java/cn/freemud/management/enums/OrderSource.java
+2
-1
order-management/src/main/java/cn/freemud/management/service/adapter/OrderBeanFactory.java
+1
-1
ordercenter-sdk/pom.xml
+1
-2
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
+5
-0
shopping-cart-application-service/pom.xml
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartMccafeAdapter.java
+78
-2
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
+11
-3
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoRequestDto.java
+147
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoResponseVo.java
+154
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
+4
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+0
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+5
-2
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/SetMealCalculation.java
+7
-5
No files found.
assortment-ordercenter-sdk/pom.xml
View file @
3df04818
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<version>
2.2.2
0
-SNAPSHOT
</version>
<version>
2.2.2
5
-SNAPSHOT
</version>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
...
@@ -128,4 +128,4 @@
...
@@ -128,4 +128,4 @@
</plugin>
</plugin>
</plugins>
</plugins>
</build>
</build>
</project>
</project>
\ No newline at end of file
assortment-ordercenter-sdk/readme.md
View file @
3df04818
...
@@ -153,4 +153,6 @@
...
@@ -153,4 +153,6 @@
| 2.1.8-RELEASE | 拼单 | 缪晖 | 2020-12-10 |
| 2.1.8-RELEASE | 拼单 | 缪晖 | 2020-12-10 |
| 2.1.9-RELEASE | 去掉0元核销优惠券 | 李小二 | 2020-12-14 |
| 2.1.9-RELEASE | 去掉0元核销优惠券 | 李小二 | 2020-12-14 |
\ No newline at end of file
| 2.1.10-RELEASE | coco | 刘鹏飞 | 2020-12-17 |
| 2.1.11-RELEASE | 农工商添加设备号 | 梁崇福 | 2020-12-17 |
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
3df04818
...
@@ -1384,6 +1384,9 @@ public class OrderSdkAdapter {
...
@@ -1384,6 +1384,9 @@ public class OrderSdkAdapter {
case
"GATHER_SPOT"
:
case
"GATHER_SPOT"
:
type
=
221
;
type
=
221
;
break
;
break
;
case
"COCO_PRODUCT_CASH_COUPON"
:
type
=
36
;
break
;
default
:
default
:
break
;
break
;
}
}
...
@@ -1937,7 +1940,7 @@ public class OrderSdkAdapter {
...
@@ -1937,7 +1940,7 @@ public class OrderSdkAdapter {
*
*
* @return
* @return
*/
*/
p
rivate
Integer
getOldOrderAccountType
(
int
newOrderAccountType
)
{
p
ublic
Integer
getOldOrderAccountType
(
int
newOrderAccountType
)
{
// 新订单服务枚举 OrderSettlementType
// 新订单服务枚举 OrderSettlementType
switch
(
newOrderAccountType
)
{
switch
(
newOrderAccountType
)
{
case
1
:
case
1
:
...
@@ -1988,6 +1991,8 @@ public class OrderSdkAdapter {
...
@@ -1988,6 +1991,8 @@ public class OrderSdkAdapter {
newOrderAccountType
=
OldOrderAccountType
.
MEMBER_PRICE_DISCOUNT
.
getCode
();
newOrderAccountType
=
OldOrderAccountType
.
MEMBER_PRICE_DISCOUNT
.
getCode
();
case
99
:
case
99
:
newOrderAccountType
=
OldOrderAccountType
.
FREIGHT_COUPON
.
getCode
();
newOrderAccountType
=
OldOrderAccountType
.
FREIGHT_COUPON
.
getCode
();
case
36
:
newOrderAccountType
=
OldOrderAccountType
.
COCO_PRODUCT_CASH_COUPON
.
getCode
();
default
:
default
:
break
;
break
;
}
}
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
View file @
3df04818
...
@@ -43,7 +43,8 @@ public enum OldOrderAccountType {
...
@@ -43,7 +43,8 @@ public enum OldOrderAccountType {
PRICE_DEDUCTION_COUPON
(
103
,
"抵价券"
,
"PRICE_DEDUCTION_COUPON"
),
PRICE_DEDUCTION_COUPON
(
103
,
"抵价券"
,
"PRICE_DEDUCTION_COUPON"
),
TOTAL_DISCOUNT
(
205
,
"优惠总金额"
,
"TOTAL_DISCOUNT"
),
TOTAL_DISCOUNT
(
205
,
"优惠总金额"
,
"TOTAL_DISCOUNT"
),
GATHER_SPOT
(
221
,
"集点活动"
,
"GATHER_SPOT"
),
GATHER_SPOT
(
221
,
"集点活动"
,
"GATHER_SPOT"
),
MEMBER_PRICE_DISCOUNT
(
220
,
"会员价优惠"
,
"MEMBER_PRICE_DISCOUNT"
);
MEMBER_PRICE_DISCOUNT
(
220
,
"会员价优惠"
,
"MEMBER_PRICE_DISCOUNT"
),
COCO_PRODUCT_CASH_COUPON
(
36
,
"coco商品代金券"
,
"COCO_PRODUCT_CASH_COUPON"
);
private
Integer
code
;
private
Integer
code
;
private
String
desc
;
private
String
desc
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
View file @
3df04818
...
@@ -43,6 +43,7 @@ public enum QueryOrderAccountType {
...
@@ -43,6 +43,7 @@ public enum QueryOrderAccountType {
MEMBER_PRICE_DISCOUNT
(
"MEMBER_PRICE_DISCOUNT"
,
"会员价优惠"
),
MEMBER_PRICE_DISCOUNT
(
"MEMBER_PRICE_DISCOUNT"
,
"会员价优惠"
),
MCCAFE_MONTH_CARD
(
"MCCAFE_MONTH_CARD"
,
"麦咖啡月卡"
),
MCCAFE_MONTH_CARD
(
"MCCAFE_MONTH_CARD"
,
"麦咖啡月卡"
),
WITH_ORDER_BUY_COUPON_FEE
(
"WITH_ORDER_BUY_COUPON_FEE"
,
"随单买月卡"
),
WITH_ORDER_BUY_COUPON_FEE
(
"WITH_ORDER_BUY_COUPON_FEE"
,
"随单买月卡"
),
COCO_PRODUCT_CASH_COUPON
(
"COCO_PRODUCT_CASH_COUPON"
,
"coco商品代金券"
),
;
;
private
String
code
;
private
String
code
;
...
...
assortment-shoppingcart-sdk/pom.xml
View file @
3df04818
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
assortment-shoppingcart-sdk
</artifactId>
<artifactId>
assortment-shoppingcart-sdk
</artifactId>
<version>
2.0.15-SNAPSHOT
</version>
<version>
1.1.9.RELEASE
</version>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
...
...
assortment-shoppingcart-sdk/readme.md
View file @
3df04818
...
@@ -12,4 +12,5 @@
...
@@ -12,4 +12,5 @@
| 1.1.5.RELEASE| 商品加料 | | 2020-08-24 |
| 1.1.5.RELEASE| 商品加料 | | 2020-08-24 |
| 1.1.6.RELEASE| 新增商品券名称字段| 孙昱 | 2020-11-09 |
| 1.1.6.RELEASE| 新增商品券名称字段| 孙昱 | 2020-11-09 |
| 1.1.7.RELEASE| 标识套餐类型| 孙昱 | 2020-12-01 |
| 1.1.7.RELEASE| 标识套餐类型| 孙昱 | 2020-12-01 |
| 1.1.8.RELEASE| 拼单| 缪晖 | 2020-12-10 |
| 1.1.8.RELEASE| 拼单| 缪晖 | 2020-12-10 |
\ No newline at end of file
| 1.1.9.RELEASE| 清除代金券缓存| 缪晖 | 2020-12-17 |
\ No newline at end of file
order-application-service/pom.xml
View file @
3df04818
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
<groupId>
cn.freemud
</groupId>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<artifactId>
assortment-ordercenter-sdk
</artifactId>
<version>
2.2.2
0
-SNAPSHOT
</version>
<version>
2.2.2
5
-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
...
@@ -443,4 +443,4 @@
...
@@ -443,4 +443,4 @@
</repository>
</repository>
</repositories>
</repositories>
</project>
</project>
\ No newline at end of file
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
3df04818
...
@@ -2579,6 +2579,14 @@ public class OrderAdapter {
...
@@ -2579,6 +2579,14 @@ public class OrderAdapter {
if
(
ActivityTypeEnum
.
TYPE_221
.
getCode
().
equals
(
activityType
)){
if
(
ActivityTypeEnum
.
TYPE_221
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
GATHER_SPOT
;
return
OldOrderAccountType
.
GATHER_SPOT
;
}
}
if
(
ActivityTypeEnum
.
TYPE_221
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
GATHER_SPOT
;
}
// coco商品代金券
if
(
ActivityTypeEnum
.
TYPE_36
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
COCO_PRODUCT_CASH_COUPON
;
}
return
OldOrderAccountType
.
BUYM_SENDN
;
return
OldOrderAccountType
.
BUYM_SENDN
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
3df04818
...
@@ -406,4 +406,15 @@ public class OrderController {
...
@@ -406,4 +406,15 @@ public class OrderController {
return
orderservice
.
timeOutOrderRefund
(
timeOutOrderVo
);
return
orderservice
.
timeOutOrderRefund
(
timeOutOrderVo
);
}
}
/**
* 用户开放平台,订单支付完成回调
* @param requestVo
* @return
*/
@ApiAnnotation
(
logMessage
=
"platform/paysuccess"
)
@PostMapping
(
"/platform/paysuccess"
)
public
BaseResponse
platformPaysuccess
(
@Validated
@LogParams
@RequestBody
PlatformPaySuccessRequest
requestVo
){
return
orderservice
.
platformPaysuccess
(
requestVo
);
}
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeBaseDto.java
View file @
3df04818
...
@@ -17,12 +17,35 @@ import lombok.Data;
...
@@ -17,12 +17,35 @@ import lombok.Data;
*/
*/
@Data
@Data
public
class
CouponCodeBaseDto
{
public
class
CouponCodeBaseDto
{
/**
* 版本号
*/
private
Integer
ver
;
private
Integer
ver
;
// 71代表核销
/**
* 操作类型:71核销,0查询,3冲正
*/
private
Integer
reqtype
;
private
Integer
reqtype
;
/**
* 商户号
*/
private
String
partnerId
;
private
String
partnerId
;
/**
* 门店号
*/
private
String
store_id
;
private
String
store_id
;
/**
* 线下pos编号, 除coco外,其他商户必填
*/
private
String
station_id
;
private
String
station_id
;
/**
* 操作员编号,除coco外,其他商户必填
*/
private
String
operator_id
;
private
String
operator_id
;
// 组织机构ID,(String 类型的集合)
// 组织机构ID,(String 类型的集合)
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeVerificationDto.java
View file @
3df04818
...
@@ -18,11 +18,30 @@ import java.util.List;
...
@@ -18,11 +18,30 @@ import java.util.List;
*/
*/
@Data
@Data
public
class
CouponCodeVerificationDto
extends
CouponCodeBaseDto
{
public
class
CouponCodeVerificationDto
extends
CouponCodeBaseDto
{
/**
* 流水号
*/
private
String
trans_id
;
private
String
trans_id
;
/**
* 核销时间:yyyy-MM-dd
*/
private
String
business_date
;
private
String
business_date
;
/**
* 渠道,例如:pickup,delivery
*/
private
String
channel
;
private
String
channel
;
/**
* 会员编号
*/
private
String
memberId
;
private
String
memberId
;
/**
* 核销交易信息
*/
private
List
<
CouponCodeVerificationTransDto
>
transactions
;
private
List
<
CouponCodeVerificationTransDto
>
transactions
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeVerificationProductDto.java
View file @
3df04818
...
@@ -2,6 +2,8 @@ package cn.freemud.entities.dto;
...
@@ -2,6 +2,8 @@ package cn.freemud.entities.dto;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
...
@@ -16,8 +18,44 @@ import lombok.Data;
...
@@ -16,8 +18,44 @@ import lombok.Data;
*/
*/
@Data
@Data
public
class
CouponCodeVerificationProductDto
{
public
class
CouponCodeVerificationProductDto
{
private
Integer
seq
;
private
String
pID
;
/**
* 核销数量
*/
private
Integer
consume_num
;
private
Integer
consume_num
;
/**
* 商品编号
*/
private
String
pID
;
/**
* BigDecimal, 暂未使用
*/
private
BigDecimal
redeem_price
;
/**
* 商品序号或者行数
*/
private
Integer
seq
;
/**
* 商品名称
*/
private
String
productName
;
/**
* 线下原价,单位:分
*/
private
Integer
initPrice
;
/**
* 优惠后价格,单位:分
*/
private
Integer
nowPrice
;
/**
* 应收金额,单位:分
*/
private
Integer
payMoney
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/CouponCodeVerificationTransDto.java
View file @
3df04818
...
@@ -19,8 +19,41 @@ import java.util.List;
...
@@ -19,8 +19,41 @@ import java.util.List;
*/
*/
@Data
@Data
public
class
CouponCodeVerificationTransDto
{
public
class
CouponCodeVerificationTransDto
{
/**
* 券号
*/
private
String
code
;
private
String
code
;
private
String
ebcode
;
//private String ebcode;
private
Integer
totalAmount
;
/**
* 实收金额单位:分
*/
private
Integer
pay_amount
;
/**
* 商品信息
*/
private
List
<
CouponCodeVerificationProductDto
>
products
;
private
List
<
CouponCodeVerificationProductDto
>
products
;
/**
* 总优惠金额单位:分
*/
private
Integer
totalAmount
;
/**
* 订单号,coco核销使用
*/
private
String
orderNumber
;
/**
* 应收金额,单位:分,coco核销使用
*/
private
Integer
amountRec
;
/**
* 实收金额,单位:分
*/
private
Integer
amountPaid
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
View file @
3df04818
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
package
cn
.
freemud
.
entities
.
dto
;
package
cn
.
freemud
.
entities
.
dto
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
...
@@ -196,6 +197,8 @@ public class QueryOrdersResponseDto {
...
@@ -196,6 +197,8 @@ public class QueryOrdersResponseDto {
private
List
<
ProductBean
>
productList
;
private
List
<
ProductBean
>
productList
;
private
List
<
RefundBean
>
refundList
;
private
List
<
RefundBean
>
refundList
;
private
List
<
OrderSettlementResp
>
orderSettlementDetailList
;
private
AddDeliveryInfo
addInfo
;
private
AddDeliveryInfo
addInfo
;
private
List
<
OrderCostResp
>
orderCostDetailList
;
private
List
<
OrderCostResp
>
orderCostDetailList
;
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/PlatformPaySuccessRequest.java
0 → 100644
View file @
3df04818
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
@Data
public
class
PlatformPaySuccessRequest
{
@NotEmpty
(
message
=
"orderCode 不能为空"
)
private
String
orderCode
;
@NotEmpty
(
message
=
"商户号 不能为空"
)
private
String
partnerId
;
}
order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
3df04818
...
@@ -55,7 +55,8 @@ public enum ActivityTypeEnum {
...
@@ -55,7 +55,8 @@ public enum ActivityTypeEnum {
TYPE_DELIVERY
(
901
,
"配送费"
),
TYPE_DELIVERY
(
901
,
"配送费"
),
TYPE_211
(
211
,
"套餐优惠"
),
TYPE_211
(
211
,
"套餐优惠"
),
TYPE_221
(
221
,
"集点活动"
),
TYPE_221
(
221
,
"集点活动"
),
TYPE_320
(
320
,
"会员价优惠"
);
TYPE_320
(
320
,
"会员价优惠"
),
TYPE_36
(
36
,
"coco商品代金券"
);
private
Integer
code
;
private
Integer
code
;
...
...
order-application-service/src/main/java/cn/freemud/enums/OrderAccountType.java
View file @
3df04818
...
@@ -26,7 +26,8 @@ public enum OrderAccountType {
...
@@ -26,7 +26,8 @@ public enum OrderAccountType {
BUYM_SENDN
(
24
,
"买M赠N"
),
BUYM_SENDN
(
24
,
"买M赠N"
),
CUSTOMER_SUB
(
4
,
"积分扣减"
),
CUSTOMER_SUB
(
4
,
"积分扣减"
),
CARD_ORIGINAL_AMOUNT
(
25
,
"会员卡原价"
),
CARD_ORIGINAL_AMOUNT
(
25
,
"会员卡原价"
),
CARD_DISCOUNT_AMOUNT
(
26
,
"会员卡优惠金额"
);
CARD_DISCOUNT_AMOUNT
(
26
,
"会员卡优惠金额"
),
COCO_PRODUCT_CASH_COUPON
(
36
,
"coco商品代金券"
);;
private
Integer
code
;
private
Integer
code
;
private
String
desc
;
private
String
desc
;
...
...
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
3df04818
...
@@ -146,4 +146,8 @@ public interface Orderservice {
...
@@ -146,4 +146,8 @@ public interface Orderservice {
BaseResponse
queryOrderRider
(
OrderRiderRequestVo
requestVo
);
BaseResponse
queryOrderRider
(
OrderRiderRequestVo
requestVo
);
BaseResponse
timeOutOrderRefund
(
TimeOutOrderVo
timeOutOrderVo
);
BaseResponse
timeOutOrderRefund
(
TimeOutOrderVo
timeOutOrderVo
);
BaseResponse
platformPaysuccess
(
PlatformPaySuccessRequest
requestVo
);
}
}
order-application-service/src/main/java/cn/freemud/service/coupon/CouponRelationFactory.java
0 → 100644
View file @
3df04818
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderRelationFactory
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
coupon
;
public
interface
CouponRelationFactory
{
/**
* 获取优惠券核销参数构建实现类
* @param partnerId
* @return
*/
CouponRelationService
getVerificationCouponService
(
String
partnerId
);
}
order-application-service/src/main/java/cn/freemud/service/coupon/CouponRelationService.java
0 → 100644
View file @
3df04818
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderRelationService
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
coupon
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.enums.CouponReqType
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
java.util.List
;
public
interface
CouponRelationService
{
/**
* 获取优惠券核销参数构建实现类
* @param
*/
BaseResponse
verificationCoupon
(
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
>
accountList
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
CouponReqType
couponReqType
);
}
order-application-service/src/main/java/cn/freemud/service/coupon/impl/CocoCouponRelationServiceImpl.java
0 → 100644
View file @
3df04818
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/coupon/impl/CounponRelationFactoryImpl.java
0 → 100644
View file @
3df04818
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderRelationFactoryImpl
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
coupon
.
impl
;
import
cn.freemud.service.coupon.CouponRelationFactory
;
import
cn.freemud.service.coupon.CouponRelationService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
CounponRelationFactoryImpl
implements
CouponRelationFactory
{
/**
* coco商户
*/
@Value
(
"#{'${coco.partnerId}'.split(',')}"
)
private
List
<
String
>
cocoPartnerId
;
/**
* coco的订单相关
*/
@Autowired
@Qualifier
(
"cocoCouponRelationService"
)
CouponRelationService
cocoCouponRelationService
;
/**
* 平台的订单相关
*/
@Autowired
@Qualifier
(
"platformCouponRelationService"
)
CouponRelationService
platformCouponRelationService
;
@Override
public
CouponRelationService
getVerificationCouponService
(
String
partnerId
)
{
if
(
cocoPartnerId
.
contains
(
partnerId
)){
return
cocoCouponRelationService
;
}
else
{
return
platformCouponRelationService
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/coupon/impl/PlatformCouponRelationServiceImpl.java
0 → 100644
View file @
3df04818
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: PlatformOrderRelationServiceImpl
* @Description:
* @author: pengfei.liu
* @date: 2020/11/23
* @version V1.0
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
service
.
coupon
.
impl
;
import
cn.freemud.adapter.CouponAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.CouponCodeResponseDto
;
import
cn.freemud.entities.dto.CouponCodeVerificationDto
;
import
cn.freemud.entities.dto.CouponCodeVerificationProductDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.QueryOrderResponseVo
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.CouponReqType
;
import
cn.freemud.enums.OrderAccountType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.coupon.CouponRelationFactory
;
import
cn.freemud.service.coupon.CouponRelationService
;
import
cn.freemud.service.impl.StoreServiceImpl
;
import
cn.freemud.service.order.OrderRelationService
;
import
cn.freemud.service.thirdparty.CouponOfflineClient
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.PropertyConvertUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.ThirdPartyLog
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
com.google.common.base.Throwables
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Service
(
"platformCouponRelationService"
)
public
class
PlatformCouponRelationServiceImpl
implements
CouponRelationService
{
@Autowired
private
CouponAdapter
couponAdapter
;
@Autowired
private
CouponOfflineClient
couponOfflineClient
;
@Autowired
private
EmailAlertService
emailAlertService
;
@Autowired
private
StoreServiceImpl
storeService
;
@Override
public
BaseResponse
verificationCoupon
(
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
>
accountList
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
CouponReqType
couponReqType
)
{
for
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
accountBean
:
accountList
)
{
List
<
CouponCodeVerificationProductDto
>
products
=
new
ArrayList
<>();
//商品券核销核销参数
if
(
OrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
for
(
int
i
=
0
;
i
<
orderBean
.
getProductList
().
size
();
i
++)
{
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
productBean
=
orderBean
.
getProductList
().
get
(
i
);
String
pid
=
StringUtils
.
isNotBlank
(
productBean
.
getSpecification
())
?
productBean
.
getSpecification
()
:
productBean
.
getProductId
();
if
(!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
orderBean
.
getProductList
().
get
(
i
).
getDiscountList
()))
{
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
>
discounts
=
orderBean
.
getProductList
().
get
(
i
).
getDiscountList
().
stream
().
filter
(
productDiscount
->
productDiscount
.
getDiscountId
().
equals
(
accountBean
.
getAccountId
())).
collect
(
Collectors
.
toList
());
for
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
productDiscount
:
discounts
)
{
if
(
productDiscount
.
getDiscountType
()
==
null
||
productDiscount
.
getDiscountType
()
==
0
)
{
continue
;
}
CouponCodeVerificationProductDto
couponCodeVerificationProductDto
=
new
CouponCodeVerificationProductDto
();
couponCodeVerificationProductDto
.
setPID
(
pid
);
couponCodeVerificationProductDto
.
setConsume_num
(
productDiscount
.
getDiscountQty
());
couponCodeVerificationProductDto
.
setSeq
(
i
+
1
);
products
.
add
(
couponCodeVerificationProductDto
);
}
}
}
}
Integer
orderType
=
orderBean
.
getType
();
ActivityChannelEnum
activityChannelEnum
=
PropertyConvertUtil
.
orderTypeEnumConvert2ActivityChannel
(
orderType
);
if
(
activityChannelEnum
==
null
)
{
activityChannelEnum
=
ActivityChannelEnum
.
pickup
;
}
if
(
OrderAccountType
.
COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
DISCOUNT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
CouponCodeVerificationDto
couponCodeVerificationDto
=
couponAdapter
.
convert2CouponCodeVerificationDto
(
activityChannelEnum
,
accountBean
.
getAccountId
(),
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getUserId
(),
products
,
accountBean
.
getPrice
().
intValue
(),
couponReqType
);
// 核销券新增参数:组织机构ID
couponCodeVerificationDto
.
setChannel_codes
(
storeService
.
getOrgIdsArr
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()));
try
{
//71.券核销
for
(
int
i
=
2
;
i
>=
0
;
i
--)
{
LogUtil
.
info
(
"核销券码开始=="
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
null
);
CouponCodeResponseDto
couponCodeResponseDto
=
couponOfflineClient
.
verification
(
couponCodeVerificationDto
);
LogUtil
.
info
(
"核销券码返回=="
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
null
);
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
"/api"
,
couponCodeVerificationDto
,
couponCodeResponseDto
);
if
(
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
LogUtil
.
info
(
"CouponReverseServiceImpl"
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
JSON
.
toJSONString
(
couponCodeResponseDto
));
break
;
}
if
(!
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
emailAlertService
.
sendEmailAlert
(
"核销券码失败"
,
String
.
format
(
"request:%s \r\nresponse:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
JSONObject
.
toJSONString
(
couponCodeResponseDto
)));
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_VERIFICATION_FAIL
);
}
}
}
catch
(
Exception
ex
)
{
emailAlertService
.
sendEmailAlert
(
"核销券码异常"
,
String
.
format
(
"request:%s \r\nexception:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
Throwables
.
getStackTraceAsString
(
ex
)));
ErrorLog
.
printErrorLog
(
"verification_error"
,
"/api"
,
couponCodeVerificationDto
,
ex
);
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_VERIFICATION_FAIL
);
}
}
}
return
ResponseUtil
.
success
();
}
}
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
3df04818
...
@@ -702,6 +702,9 @@ public class CheckMCCafeOrder {
...
@@ -702,6 +702,9 @@ public class CheckMCCafeOrder {
//校验收货地址是否可配送
//校验收货地址是否可配送
String
receiveId
=
createOrderVo
.
getReceiveId
();
String
receiveId
=
createOrderVo
.
getReceiveId
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
if
(
StringUtils
.
isBlank
(
receiveId
))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_TAKE_OUT_ADDRESS_INVAILD
,
"收货地址不能为空"
);
}
QueryReceiveAddressRequest
request
=
new
QueryReceiveAddressRequest
(
receiveId
,
storeDeliveryInfoDto
.
getPartnerId
());
QueryReceiveAddressRequest
request
=
new
QueryReceiveAddressRequest
(
receiveId
,
storeDeliveryInfoDto
.
getPartnerId
());
BaseResponse
<
QueryReceiveAddressResponse
>
queryReceiveAddressResponse
=
memberCenterService
.
queryReceiveAddressById
(
request
,
trackingNo
);
BaseResponse
<
QueryReceiveAddressResponse
>
queryReceiveAddressResponse
=
memberCenterService
.
queryReceiveAddressById
(
request
,
trackingNo
);
if
(!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
queryReceiveAddressResponse
.
getCode
())
||
queryReceiveAddressResponse
.
getData
()
==
null
)
{
if
(!
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
queryReceiveAddressResponse
.
getCode
())
||
queryReceiveAddressResponse
.
getData
()
==
null
)
{
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CouponActivityServiceImpl.java
View file @
3df04818
...
@@ -9,6 +9,8 @@ import cn.freemud.entities.vo.ActivityCouponBean;
...
@@ -9,6 +9,8 @@ import cn.freemud.entities.vo.ActivityCouponBean;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.service.CouponActivityService
;
import
cn.freemud.service.CouponActivityService
;
import
cn.freemud.service.StoreService
;
import
cn.freemud.service.StoreService
;
import
cn.freemud.service.coupon.CouponRelationFactory
;
import
cn.freemud.service.coupon.CouponRelationService
;
import
cn.freemud.service.thirdparty.CouponClient
;
import
cn.freemud.service.thirdparty.CouponClient
;
import
cn.freemud.service.thirdparty.CouponOfflineClient
;
import
cn.freemud.service.thirdparty.CouponOfflineClient
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.LogUtil
;
...
@@ -29,6 +31,7 @@ import com.google.gson.Gson;
...
@@ -29,6 +31,7 @@ import com.google.gson.Gson;
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.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.*
;
import
java.util.*
;
...
@@ -41,6 +44,12 @@ import java.util.stream.Collectors;
...
@@ -41,6 +44,12 @@ import java.util.stream.Collectors;
@Service
@Service
public
class
CouponActivityServiceImpl
implements
CouponActivityService
{
public
class
CouponActivityServiceImpl
implements
CouponActivityService
{
/**
* coco商户
*/
@Value
(
"#{'${coco.partnerId}'.split(',')}"
)
private
List
<
String
>
cocoPartnerId
;
@Autowired
@Autowired
private
CouponAdapter
couponAdapter
;
private
CouponAdapter
couponAdapter
;
@Autowired
@Autowired
...
@@ -52,6 +61,9 @@ public class CouponActivityServiceImpl implements CouponActivityService {
...
@@ -52,6 +61,9 @@ public class CouponActivityServiceImpl implements CouponActivityService {
@Autowired
@Autowired
private
StoreServiceImpl
storeService
;
private
StoreServiceImpl
storeService
;
@Autowired
private
CouponRelationFactory
couponRelationFactory
;
/**
/**
* 核销优惠券
* 核销优惠券
*
*
...
@@ -63,67 +75,10 @@ public class CouponActivityServiceImpl implements CouponActivityService {
...
@@ -63,67 +75,10 @@ public class CouponActivityServiceImpl implements CouponActivityService {
if
(
CollectionUtils
.
isEmpty
(
accountList
)
||
CollectionUtils
.
isEmpty
(
orderBean
.
getProductList
()))
{
if
(
CollectionUtils
.
isEmpty
(
accountList
)
||
CollectionUtils
.
isEmpty
(
orderBean
.
getProductList
()))
{
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
for
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
accountBean
:
accountList
)
{
List
<
CouponCodeVerificationProductDto
>
products
=
new
ArrayList
<>();
//商品券核销核销参数
if
(
OrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
for
(
int
i
=
0
;
i
<
orderBean
.
getProductList
().
size
();
i
++)
{
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
productBean
=
orderBean
.
getProductList
().
get
(
i
);
String
pid
=
StringUtils
.
isNotBlank
(
productBean
.
getSpecification
())
?
productBean
.
getSpecification
()
:
productBean
.
getProductId
();
if
(!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
orderBean
.
getProductList
().
get
(
i
).
getDiscountList
()))
{
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
>
discounts
=
orderBean
.
getProductList
().
get
(
i
).
getDiscountList
().
stream
().
filter
(
productDiscount
->
productDiscount
.
getDiscountId
().
equals
(
accountBean
.
getAccountId
())).
collect
(
Collectors
.
toList
());
for
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
.
ProductDiscount
productDiscount
:
discounts
)
{
if
(
productDiscount
.
getDiscountType
()
==
null
||
productDiscount
.
getDiscountType
()
==
0
)
{
continue
;
}
CouponCodeVerificationProductDto
couponCodeVerificationProductDto
=
new
CouponCodeVerificationProductDto
();
couponCodeVerificationProductDto
.
setPID
(
pid
);
couponCodeVerificationProductDto
.
setConsume_num
(
productDiscount
.
getDiscountQty
());
couponCodeVerificationProductDto
.
setSeq
(
i
+
1
);
products
.
add
(
couponCodeVerificationProductDto
);
}
}
}
}
Integer
orderType
=
orderBean
.
getType
();
// 平台走老的逻辑,cooc定制参数
ActivityChannelEnum
activityChannelEnum
=
PropertyConvertUtil
.
orderTypeEnumConvert2ActivityChannel
(
orderType
);
CouponRelationService
couponRelationService
=
couponRelationFactory
.
getVerificationCouponService
(
orderBean
.
getCompanyId
());
if
(
activityChannelEnum
==
null
)
{
return
couponRelationService
.
verificationCoupon
(
accountList
,
orderBean
,
couponReqType
);
activityChannelEnum
=
ActivityChannelEnum
.
pickup
;
}
if
(
OrderAccountType
.
COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
DISCOUNT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
CouponCodeVerificationDto
couponCodeVerificationDto
=
couponAdapter
.
convert2CouponCodeVerificationDto
(
activityChannelEnum
,
accountBean
.
getAccountId
(),
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getUserId
(),
products
,
accountBean
.
getPrice
().
intValue
(),
couponReqType
);
// 核销券新增参数:组织机构ID
couponCodeVerificationDto
.
setChannel_codes
(
storeService
.
getOrgIdsArr
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()));
try
{
//71.券核销
for
(
int
i
=
2
;
i
>=
0
;
i
--)
{
LogUtil
.
info
(
"核销券码开始=="
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
null
);
CouponCodeResponseDto
couponCodeResponseDto
=
couponOfflineClient
.
verification
(
couponCodeVerificationDto
);
LogUtil
.
info
(
"核销券码返回=="
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
null
);
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
"/api"
,
couponCodeVerificationDto
,
couponCodeResponseDto
);
if
(
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
LogUtil
.
info
(
"CouponReverseServiceImpl"
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
JSON
.
toJSONString
(
couponCodeResponseDto
));
break
;
}
if
(!
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
emailAlertService
.
sendEmailAlert
(
"核销券码失败"
,
String
.
format
(
"request:%s \r\nresponse:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
JSONObject
.
toJSONString
(
couponCodeResponseDto
)));
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_VERIFICATION_FAIL
);
}
}
}
catch
(
Exception
ex
)
{
emailAlertService
.
sendEmailAlert
(
"核销券码异常"
,
String
.
format
(
"request:%s \r\nexception:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
Throwables
.
getStackTraceAsString
(
ex
)));
ErrorLog
.
printErrorLog
(
"verification_error"
,
"/api"
,
couponCodeVerificationDto
,
ex
);
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_VERIFICATION_FAIL
);
}
}
}
return
ResponseUtil
.
success
();
}
}
@Override
@Override
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
3df04818
...
@@ -41,6 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -41,6 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -99,7 +100,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -99,7 +100,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
private
OrderCommonService
orderCommonService
;
private
OrderCommonService
orderCommonService
;
@Autowired
@Autowired
private
SellCouponOrderServiceImpl
sellCouponOrderService
;
private
SellCouponOrderServiceImpl
sellCouponOrderService
;
@Value
(
"${saas.autoRefund.client}"
)
private
String
autoRefundClient
;
@Override
@Override
public
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
)
{
public
BaseResponse
createOrderNew
(
CreateOrderVo
createOrderVo
)
{
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
AssortmentCustomerInfoVo
assortmentCustomerInfoVo
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderVo
.
getSessionId
());
...
@@ -249,8 +251,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
...
@@ -249,8 +251,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())){
if
(!
PayStatus
.
NOT_PAY
.
getCode
().
equals
(
orderBean
.
getPayStatus
())){
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
}
}
Integer
client
=
OrderSourceType
.
getClientByCode
(
orderBean
.
getSource
());
//若是app订单超时回调了 订单已取消则做退款处理
//若是app订单超时回调了 订单已取消则做退款处理
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())
&&
OrderSourceType
.
SAAS
.
getCode
().
equals
(
orderBean
.
getSource
()))
{
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
())
&&
Arrays
.
asList
(
autoRefundClient
.
split
(
","
)).
contains
(
client
.
toString
()))
{
orderService
.
timeOutRefund
(
orderBean
);
orderService
.
timeOutRefund
(
orderBean
);
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
return
orderAdapter
.
sendPaySuccessNoticeMessage
();
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
3df04818
...
@@ -57,6 +57,8 @@ import cn.freemud.interceptor.ServiceException;
...
@@ -57,6 +57,8 @@ import cn.freemud.interceptor.ServiceException;
import
cn.freemud.management.thirdparty.MulitiPaymentClient
;
import
cn.freemud.management.thirdparty.MulitiPaymentClient
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.*
;
import
cn.freemud.service.*
;
import
cn.freemud.service.coupon.CouponRelationFactory
;
import
cn.freemud.service.coupon.CouponRelationService
;
import
cn.freemud.service.order.OrderRelationFactory
;
import
cn.freemud.service.order.OrderRelationFactory
;
import
cn.freemud.service.order.OrderRelationService
;
import
cn.freemud.service.order.OrderRelationService
;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.service.thirdparty.*
;
...
@@ -1279,6 +1281,25 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1279,6 +1281,25 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
@Override
public
BaseResponse
platformPaysuccess
(
PlatformPaySuccessRequest
requestVo
)
{
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
requestVo
.
getOrderCode
());
baseQueryOrderRequest
.
setTrackingNo
(
LogThreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
queryOrderByIdResponse
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
if
(!
RESPONSE_SUCCESS_CODE
.
equals
(
queryOrderByIdResponse
.
getErrcode
())
||
queryOrderByIdResponse
.
getData
()
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
);
}
// 扣减储值卡
// 扣减券
// 扣减积分
return
ResponseUtil
.
success
();
}
private
String
getRedpacketsPicture
(
String
activityId
)
{
private
String
getRedpacketsPicture
(
String
activityId
)
{
if
(
StringUtils
.
isNotBlank
(
activityId
))
{
if
(
StringUtils
.
isNotBlank
(
activityId
))
{
try
{
try
{
...
@@ -3702,22 +3723,29 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -3702,22 +3723,29 @@ public class OrderServiceImpl implements Orderservice {
//调用支付退款
//调用支付退款
log
.
info
(
"payment timeout callback for refund orderDto={}"
,
JSON
.
toJSONString
(
orderBean
));
log
.
info
(
"payment timeout callback for refund orderDto={}"
,
JSON
.
toJSONString
(
orderBean
));
Integer
abState
=
4
;
Integer
abState
=
4
;
if
(
abState
.
equals
(
orderBean
.
getAbnormalState
()))
{
String
noPay
=
"8200404"
;
if
(
abState
.
equals
(
orderBean
.
getAbnormalState
())
)
{
log
.
info
(
"payment timeout callback for refund is exist"
);
return
;
return
;
}
}
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
null
;
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
response
=
null
;
Long
refundId
=
System
.
currentTimeMillis
();
Long
refundId
=
System
.
currentTimeMillis
();
OrderExtInfoDto
orderExtInfoDTO
=
gson
.
fromJson
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
OrderExtInfoDto
orderExtInfoDTO
=
gson
.
fromJson
(
orderBean
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
if
(
orderExtInfoDTO
==
null
||
StringUtils
.
isBlank
(
orderExtInfoDTO
.
getFmId
()))
{
if
(
orderExtInfoDTO
==
null
||
StringUtils
.
isBlank
(
orderExtInfoDTO
.
getFmId
()))
{
log
.
info
(
"payment timeout callback for refund not create pre order"
);
return
;
return
;
}
}
Integer
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
Integer
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
orderBean
.
setPayVoucher
(
orderExtInfoDTO
.
getFmId
());
orderBean
.
setPayVoucher
(
orderExtInfoDTO
.
getFmId
());
SdkUpdateAbnormalState
sdkUpdateAbnormalState
=
new
SdkUpdateAbnormalState
();
SdkUpdateAbnormalState
sdkUpdateAbnormalState
=
new
SdkUpdateAbnormalState
();
String
desc
=
"支付未及时回调"
;
String
desc
=
"支付未及时回调"
;
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
orderBean
.
getOid
());
com
.
freemud
.
sdk
.
api
.
assortment
.
payment
.
request
.
OrderRefundRequest
orderPayRefundRequest
=
orderAdapter
.
getOrderPayRefundRequest
(
orderBean
,
refundId
,
orderBean
.
getOid
());
response
=
standardPaymentService
.
orderRefund
(
orderPayRefundRequest
,
LogTreadLocal
.
getTrackingNo
());
response
=
standardPaymentService
.
orderRefund
(
orderPayRefundRequest
,
LogTreadLocal
.
getTrackingNo
());
log
.
info
(
"payment timeout callback for refund orderId={},request={},resp={}"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
orderPayRefundRequest
),
JSON
.
toJSONString
(
response
));
log
.
info
(
"payment timeout callback for refund orderId={},request={},resp={}"
,
orderBean
.
getOid
(),
JSON
.
toJSONString
(
orderPayRefundRequest
),
JSON
.
toJSONString
(
response
));
if
(
response
!=
null
&&
noPay
.
equals
(
response
.
getCode
()))
{
return
;
}
if
(
response
!=
null
||
state
.
equals
(
response
.
getData
().
getRefundStatus
()))
{
if
(
response
!=
null
||
state
.
equals
(
response
.
getData
().
getRefundStatus
()))
{
sdkUpdateAbnormalState
.
setAbnormalDesc
(
desc
+
",退款成功"
);
sdkUpdateAbnormalState
.
setAbnormalDesc
(
desc
+
",退款成功"
);
}
else
{
}
else
{
...
...
order-management/src/main/java/cn/freemud/management/enums/OrderSource.java
View file @
3df04818
...
@@ -11,7 +11,8 @@ public enum OrderSource {
...
@@ -11,7 +11,8 @@ public enum OrderSource {
SAAS
(
"saas"
,
"saas点餐"
),
SAAS
(
"saas"
,
"saas点餐"
),
ALIPAY
(
"alipay"
,
"支付宝"
),
ALIPAY
(
"alipay"
,
"支付宝"
),
EBAI
(
"ebwm"
,
"饿百外卖"
),
EBAI
(
"ebwm"
,
"饿百外卖"
),
DPZHCT
(
"dpzhct"
,
"美团点评智慧餐厅"
);
DPZHCT
(
"dpzhct"
,
"美团点评智慧餐厅"
),
KOUBEI
(
"koubeiwaimai"
,
"口碑外卖"
);
private
String
source
;
private
String
source
;
private
String
sourceName
;
private
String
sourceName
;
...
...
order-management/src/main/java/cn/freemud/management/service/adapter/OrderBeanFactory.java
View file @
3df04818
...
@@ -31,7 +31,7 @@ public class OrderBeanFactory {
...
@@ -31,7 +31,7 @@ public class OrderBeanFactory {
}
}
if
(
OrderSource
.
BDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
JDWM
.
getSource
().
equals
(
source
)
if
(
OrderSource
.
BDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
JDWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
MTWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
ELEME
.
getSource
().
equals
(
source
)
||
OrderSource
.
FMWD
.
getSource
().
equals
(
source
)
||
OrderSource
.
EBAI
.
getSource
().
equals
(
source
)
||
OrderSource
.
MTWM
.
getSource
().
equals
(
source
)
||
OrderSource
.
ELEME
.
getSource
().
equals
(
source
)
||
OrderSource
.
FMWD
.
getSource
().
equals
(
source
)
||
OrderSource
.
EBAI
.
getSource
().
equals
(
source
)
||
OrderSource
.
DPZHCT
.
getSource
().
equals
(
source
)){
||
OrderSource
.
DPZHCT
.
getSource
().
equals
(
source
)
||
OrderSource
.
KOUBEI
.
getSource
().
equals
(
source
)
){
return
applicationContext
.
getBean
(
WaimaiOrderMangerServiceImpl
.
class
);
return
applicationContext
.
getBean
(
WaimaiOrderMangerServiceImpl
.
class
);
}
}
return
applicationContext
.
getBean
(
SaasOrderMangerServiceImpl
.
class
);
return
applicationContext
.
getBean
(
SaasOrderMangerServiceImpl
.
class
);
...
...
ordercenter-sdk/pom.xml
View file @
3df04818
...
@@ -50,4 +50,4 @@
...
@@ -50,4 +50,4 @@
</dependencies>
</dependencies>
</project>
</project>
\ No newline at end of file
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
View file @
3df04818
...
@@ -191,5 +191,10 @@ public class OrderExtInfoDto {
...
@@ -191,5 +191,10 @@ public class OrderExtInfoDto {
*/
*/
private
String
stationId
;
private
String
stationId
;
/**
* 线下订单储值卡支付金额
*/
private
Integer
svcAmount
;
}
}
shopping-cart-application-service/pom.xml
View file @
3df04818
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
<dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
<groupId>
cn.freemud
</groupId>
<artifactId>
assortment-shoppingcart-sdk
</artifactId>
<artifactId>
assortment-shoppingcart-sdk
</artifactId>
<version>
2.0.15-SNAPSHOT
</version>
<version>
1.1.9.RELEASE
</version>
</dependency>
</dependency>
<!-- 再来一单查询订单信息 -->
<!-- 再来一单查询订单信息 -->
<dependency>
<dependency>
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartMccafeAdapter.java
View file @
3df04818
...
@@ -118,6 +118,23 @@ public class ShoppingCartMccafeAdapter {
...
@@ -118,6 +118,23 @@ public class ShoppingCartMccafeAdapter {
return
cartGoodsDetailDtos
;
return
cartGoodsDetailDtos
;
}
}
/**
* @param cartGoods
* @return
*/
public
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
convertCartGoods2DetailGoodsList
(
CartGoods
cartGoods
,
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
ApportionGoods
>
apportionGoodsList
,
Map
<
String
,
String
>
duplicateGoodsMap
)
{
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
new
ArrayList
<>();
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getCouponCode
())
&&
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
return
cartGoodsDetailDtos
;
}
else
{
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
=
convertCartGoods2DetailGoods
(
cartGoods
,
apportionGoodsList
,
duplicateGoodsMap
);
if
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
cartGoodsDetailDto
.
setComboProducts
(
this
.
convertComboxGoods2DetailGoods
(
cartGoods
,
cartGoodsDetailDto
.
getTotalDiscountAmount
()));
}
cartGoodsDetailDtos
.
add
(
cartGoodsDetailDto
);
}
return
cartGoodsDetailDtos
;
}
/**
/**
* @param cartGoods
* @param cartGoods
...
@@ -157,6 +174,7 @@ public class ShoppingCartMccafeAdapter {
...
@@ -157,6 +174,7 @@ public class ShoppingCartMccafeAdapter {
}
else
if
(
cartGoods
.
isWeightType
())
{
}
else
if
(
cartGoods
.
isWeightType
())
{
cartGoodsDetailDto
.
setProductType
(
ProductType
.
WEIGHT_PRODUCT
.
getCode
());
cartGoodsDetailDto
.
setProductType
(
ProductType
.
WEIGHT_PRODUCT
.
getCode
());
}
}
//小料
//小料
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductMaterialList
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductMaterialList
()))
{
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
MaterialGoods
>
materialList
=
new
ArrayList
<>(
0
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
MaterialGoods
>
materialList
=
new
ArrayList
<>(
0
);
...
@@ -193,6 +211,65 @@ public class ShoppingCartMccafeAdapter {
...
@@ -193,6 +211,65 @@ public class ShoppingCartMccafeAdapter {
return
cartGoodsDetailDto
;
return
cartGoodsDetailDto
;
}
}
public
ShoppingCartGoodsDto
.
CartGoodsDetailDto
convertComboProduct2DetailGoods
(
CartGoods
.
ComboxGoods
cartGoods
)
{
// 设置基础信息
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
=
new
ShoppingCartGoodsDto
.
CartGoodsDetailDto
();
// cartGoodsDetailDto.setCartGoodsUid(cartGoods.getCartGoodsUid());
cartGoodsDetailDto
.
setTaxId
(
cartGoods
.
getTaxId
());
cartGoodsDetailDto
.
setTax
(
cartGoods
.
getTax
());
cartGoodsDetailDto
.
setSpuId
(
cartGoods
.
getSpuId
());
cartGoodsDetailDto
.
setSpuName
(
cartGoods
.
getSpuName
());
cartGoodsDetailDto
.
setSkuId
(
StringUtils
.
isEmpty
(
cartGoods
.
getSkuId
())
?
cartGoods
.
getSpuId
()
:
cartGoods
.
getSkuId
());
cartGoodsDetailDto
.
setSkuName
(
StringUtils
.
isEmpty
(
cartGoods
.
getSkuName
())
?
cartGoods
.
getSpuName
()
:
cartGoods
.
getSkuName
());
cartGoodsDetailDto
.
setOriginalPrice
(
cartGoods
.
getOriginalPrice
());
cartGoodsDetailDto
.
setSalePrice
(
cartGoods
.
getOriginalPrice
());
cartGoodsDetailDto
.
setPicture
(
cartGoods
.
getPic
());
cartGoodsDetailDto
.
setQty
(
cartGoods
.
getQty
());
// cartGoodsDetailDto.setActivityType(cartGoods.getActivityType());
// cartGoodsDetailDto.setNodeId(cartGoods.getNodeId());
// cartGoodsDetailDto.setCategoryName(cartGoods.getCategoryName());
// cartGoodsDetailDto.setCouponCode(cartGoods.getCouponCode());
// cartGoodsDetailDto.setStockLimit(cartGoods.isStockLimit());
cartGoodsDetailDto
.
setProductCode
(
cartGoods
.
getCustomerCode
());
cartGoodsDetailDto
.
setCustomerCode
(
cartGoods
.
getCustomerCode
());
cartGoodsDetailDto
.
setWeight
(
cartGoods
.
getWeight
());
cartGoodsDetailDto
.
setUnit
(
cartGoods
.
getUnit
());
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
new
ArrayList
<>());
cartGoodsDetailDto
.
setTotalDiscountAmount
(
0
);
// cartGoodsDetailDto.setSpecialExtra(cartGoods.getSpecialExtra());
// cartGoodsDetailDto.setClassificationId(cartGoods.getClassificationId());
// cartGoodsDetailDto.setClassificationName(cartGoods.getClassificationName());
// if (GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
// cartGoodsDetailDto.setProductType(ProductType.SETMEAL.getCode());
// } else if (cartGoods.isWeightType()) {
// cartGoodsDetailDto.setProductType(ProductType.WEIGHT_PRODUCT.getCode());
// }
//小料
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductMaterialList
()))
{
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
MaterialGoods
>
materialList
=
new
ArrayList
<>(
0
);
for
(
CartGoods
.
MaterialGoods
materialGoods
:
cartGoods
.
getProductMaterialList
())
{
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
MaterialGoods
goods
=
new
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
MaterialGoods
();
goods
.
setSpuId
(
materialGoods
.
getSpuId
());
goods
.
setSpuName
(
materialGoods
.
getSpuName
());
goods
.
setOriginalPrice
(
materialGoods
.
getOriginalPrice
());
goods
.
setSalePrice
(
materialGoods
.
getFinalPrice
());
goods
.
setCustomerCode
(
materialGoods
.
getCustomerCode
());
goods
.
setProductCode
(
materialGoods
.
getCustomerCode
());
goods
.
setQty
(
cartGoods
.
getQty
());
goods
.
setTotalDiscountAmount
(
0
);
materialList
.
add
(
goods
);
}
cartGoodsDetailDto
.
setMaterialList
(
materialList
);
}
// 设置总优惠&售价
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
CartGoodsExtra
>
cartGoodsExtras
=
BeanUtil
.
convertBeans
(
cartGoods
.
getExtra
(),
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
CartGoodsExtra
::
new
);
cartGoodsDetailDto
.
setExtraList
(
cartGoodsExtras
);
return
cartGoodsDetailDto
;
}
/**
/**
* 活动级别的促销均摊
* 活动级别的促销均摊
* 获取当前商品的售后价格
* 获取当前商品的售后价格
...
@@ -267,4 +344,4 @@ public class ShoppingCartMccafeAdapter {
...
@@ -267,4 +344,4 @@ public class ShoppingCartMccafeAdapter {
}
}
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
activityDiscountsDtoList
);
cartGoodsDetailDto
.
setActivityDiscountsDtos
(
activityDiscountsDtoList
);
}
}
}
}
\ No newline at end of file
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
View file @
3df04818
...
@@ -13,12 +13,11 @@
...
@@ -13,12 +13,11 @@
package
cn
.
freemud
.
controller
;
package
cn
.
freemud
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.CreateOrderType
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.ShoppingCartNewService
;
import
cn.freemud.service.ShoppingCartToolsService
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMallServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMealServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartMealServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
import
cn.freemud.service.impl.ShoppingCartNewServiceImpl
;
...
@@ -28,7 +27,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
...
@@ -28,7 +27,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
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.SDKCommonBaseContextWare
;
import
com.freemud.application.sdk.api.base.SDKCommonBaseContextWare
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -177,4 +175,14 @@ public class ShoppingCartController {
...
@@ -177,4 +175,14 @@ public class ShoppingCartController {
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartToolsServiceImpl
.
class
).
clear
(
request
);
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartToolsServiceImpl
.
class
).
clear
(
request
);
}
}
/**
* 线下订单查询接口
*/
@ApiAnnotation
(
logMessage
=
"/getMemberInfo"
)
@PostMapping
(
value
=
"/getMemberInfo"
)
public
BaseResponse
getMemberInfo
(
@LogParams
@RequestBody
GetMemberInfoRequestDto
request
)
{
return
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
getMemberInfo
(
request
);
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoRequestDto.java
0 → 100644
View file @
3df04818
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetMemberInfoRequestDto
{
private
String
partnerId
;
private
String
mobile
;
private
String
userId
;
/**
* 实际支付金额(分)
*/
private
Integer
actualPayAmount
;
/**
* 下单门店号
*/
private
String
storeId
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 订单原金额(分)
*/
private
Integer
originalAmount
;
/**
* 下单渠道
*/
private
Integer
orderClient
;
/**
* 订单类型
*/
private
Integer
orderType
;
/**
* 支付渠道
*/
private
String
payChannel
;
/**
* 支付渠道名称
*/
private
String
payChannelName
;
/**
* pos编号
*/
private
String
posCode
;
/**
* 操作人
*/
private
String
operator
;
/**
* 是否赠送积分 0是1否
*/
private
Integer
needBonus
;
/**
* 订单商品信息
*/
private
List
<
OrderItemRequest
>
orderItemList
;
@Data
public
static
class
OrderItemRequest
{
/**
* 商品序号
*/
private
Integer
productSeq
;
/**
* 平台商品编号
*/
private
String
productId
;
/**
* 商家商品编号
*/
private
String
thirdProductId
;
/**
* 商品名称
*/
private
String
productName
;
/**
* 商品单价(分)
*/
private
Integer
productPrice
;
/**
* 数量
*/
private
Integer
productQuantity
;
/**
* 优惠分摊金额(分)
*/
private
Integer
productSharePrice
;
/**
* 商品单位
*/
private
String
productWeightUnit
;
/**
* 商品重量(克)
*/
private
Integer
weight
;
/**
* 商品规格名称(大杯)
*/
private
String
productSpecName
;
/**
* 商品属性名称(三分糖)
*/
private
String
productProperty
;
/**
* 商家商品分类编号
*/
private
String
thirdCateCode
;
/**
* 是否算积分
*/
private
String
needBonus
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/GetMemberInfoResponseVo.java
0 → 100644
View file @
3df04818
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
GetMemberInfoResponseVo
{
private
String
userId
;
private
Score
score
;
private
List
<
Coupon
>
coupons
;
private
List
<
Card
>
cards
;
@Data
public
static
class
Score
{
/**
* 当前可用积分
*/
private
Integer
currentScore
;
/**
* 积分抵扣金额,单位分
*/
private
Integer
reduceAmount
;
/**
* 抵扣积分
*/
private
Integer
reduceScore
;
}
@Data
public
static
class
Coupon
{
/**
* 券名称
*/
private
String
couponName
;
/**
* 券CODE
*/
private
String
couponCode
;
/**
* 券类型 0:商品 券 1:代金券 3 折扣券
*/
private
Integer
cuoponType
;
/**
* 如:2019-10-1 至 2019-10-10 当天有效
*/
private
String
couponLimit
;
/**
* 优惠金额,单位分
*/
private
Integer
discountAmount
;
/**
* 状态:-1:未激活 0:可用(剔除过期) 1:已使用 2:部分使用 3:取消 6:已过期(根据生失效日期) 99:未知(目前暂不支持)
*/
private
Integer
status
;
private
List
<
Product
>
products
;
}
@Data
public
static
class
Product
{
/**
* 商户商品编号
*/
private
String
pid
;
/**
* 商品名称
*/
private
String
name
;
/**
* 最大可取商品个数
*/
private
Integer
number
;
/**
* 商品折扣价,以分为单位
*/
private
Integer
priceAct
;
/**
* 原价,以分为单位
*/
private
Integer
priceOriginal
;
/**
* 支付信息
*/
Payment
payment
;
}
@Data
public
static
class
Payment
{
/**
* 线上已付金额,以分为单位
*/
private
Integer
paid
;
/**
* 线下需要收取的金额,以分为单位
*/
private
Integer
remaining
;
}
@Data
public
static
class
Card
{
/**
* 实充余额,单位分
*/
private
Integer
amount
;
/**
* 赠送余额,单位分
*/
private
Integer
vamount
;
/**
* 卡规格ID
*/
private
String
applyId
;
/**
* 卡号
*/
private
String
cardCode
;
/**
* 卡名称
*/
private
String
cardName
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
View file @
3df04818
...
@@ -18,9 +18,9 @@ import lombok.Builder;
...
@@ -18,9 +18,9 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.UUID
;
import
java.math.BigDecimal
;
@Data
@Data
public
class
ShoppingCartGoodsResponseVo
extends
ShoppingCartGoodsBaseResponseVo
{
public
class
ShoppingCartGoodsResponseVo
extends
ShoppingCartGoodsBaseResponseVo
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/ShoppingCartNewService.java
View file @
3df04818
...
@@ -18,9 +18,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
...
@@ -18,9 +18,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
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
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -101,6 +99,10 @@ public interface ShoppingCartNewService {
...
@@ -101,6 +99,10 @@ public interface ShoppingCartNewService {
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
List
<
CartGoods
>
updateCartGoodsLegal
(
CartGoods
cartGoods
,
String
userId
,
ShoppingCartGoodsBaseResponseVo
shoppingCartGoodsResponseVo
,
AddShoppingCartGoodsRequestVo
addShoppingCartGoodsRequestVo
,
List
<
CartGoods
>
oldAllCartGoodsList
);
default
BaseResponse
<
GetMemberInfoResponseVo
>
getMemberInfo
(
GetMemberInfoRequestDto
request
){
return
null
;
};
/**
/**
* 商品券校验券是否有效
* 商品券校验券是否有效
*
*
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
3df04818
This diff is collapsed.
Click to expand it.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
3df04818
...
@@ -2,6 +2,7 @@ package cn.freemud.service.impl.mcoffee.calculation;
...
@@ -2,6 +2,7 @@ package cn.freemud.service.impl.mcoffee.calculation;
import
cn.freemud.adapter.ActivityAdapter
;
import
cn.freemud.adapter.ActivityAdapter
;
import
cn.freemud.adapter.ShoppingCartConvertAdapter
;
import
cn.freemud.adapter.ShoppingCartConvertAdapter
;
import
cn.freemud.adapter.ShoppingCartMccafeAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
...
@@ -70,7 +71,6 @@ public class CalculationServiceImpl {
...
@@ -70,7 +71,6 @@ public class CalculationServiceImpl {
@Autowired
@Autowired
private
ActivityAdapter
activityAdapter
;
private
ActivityAdapter
activityAdapter
;
@Autowired
@Autowired
private
TimeSaleCalculation
timeSaleCalculation
;
private
TimeSaleCalculation
timeSaleCalculation
;
@Autowired
@Autowired
...
@@ -83,6 +83,8 @@ public class CalculationServiceImpl {
...
@@ -83,6 +83,8 @@ public class CalculationServiceImpl {
@Autowired
@Autowired
private
MaterialCalculation
materialCalculation
;
private
MaterialCalculation
materialCalculation
;
@Autowired
@Autowired
private
ShoppingCartMccafeAdapter
shoppingCartMccafeAdapter
;
@Autowired
private
ShoppingCartConvertAdapter
shoppingCartConvertAdapter
;
private
ShoppingCartConvertAdapter
shoppingCartConvertAdapter
;
@Autowired
@Autowired
private
ItemServiceImpl
itemService
;
private
ItemServiceImpl
itemService
;
...
@@ -208,7 +210,8 @@ public class CalculationServiceImpl {
...
@@ -208,7 +210,8 @@ public class CalculationServiceImpl {
});
});
for
(
int
i
=
0
,
len
=
cartGoodsList
.
size
();
i
<
len
;
i
++)
{
for
(
int
i
=
0
,
len
=
cartGoodsList
.
size
();
i
<
len
;
i
++)
{
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartConvertAdapter
.
convertCartGoods2DetailGoodsList
(
cartGoods
,
apportionGoodsList
,
duplicateGoodsMap
);
// List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartConvertAdapter.convertCartGoods2DetailGoodsList(cartGoods, apportionGoodsList,duplicateGoodsMap);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
cartGoodsDetailDtos
=
shoppingCartMccafeAdapter
.
convertCartGoods2DetailGoodsList
(
cartGoods
,
apportionGoodsList
,
duplicateGoodsMap
);
cartGoodsDetailDtoList
.
addAll
(
cartGoodsDetailDtos
);
cartGoodsDetailDtoList
.
addAll
(
cartGoodsDetailDtos
);
}
}
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
=
calculationDiscountResult
==
null
?
new
ArrayList
<>()
:
calculationDiscountResult
.
getDiscounts
();
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
discounts
=
calculationDiscountResult
==
null
?
new
ArrayList
<>()
:
calculationDiscountResult
.
getDiscounts
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/SetMealCalculation.java
View file @
3df04818
...
@@ -92,15 +92,17 @@ public class SetMealCalculation {
...
@@ -92,15 +92,17 @@ public class SetMealCalculation {
}
}
}
}
//如果是商品券商品,不重新计算套餐价格
Long
amount
=
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()*
cartGoods
.
getQty
()
+
productGroupTotalAmount
+
materialPrice
:
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getCouponCode
()))
{
productGroupTotalAmount
+
productComboTotalAmount
+
materialPrice
;
Long
amount
=
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()
*
cartGoods
.
getQty
()
+
productGroupTotalAmount
+
materialPrice
:
productGroupTotalAmount
+
productComboTotalAmount
+
materialPrice
;
cartGoods
.
setAmount
(
amount
);
}
Long
comboOriginalPriceAmount
=
null
!=
cartGoods
.
getOriginalAmount
()
?
cartGoods
.
getOriginalAmount
()
:
Long
comboOriginalPriceAmount
=
null
!=
cartGoods
.
getOriginalAmount
()
?
cartGoods
.
getOriginalAmount
()
:
productComboTotalAmount
;
productComboTotalAmount
;
cartGoods
.
setOriginalAmount
(
productGroupTotalAmount
+
comboOriginalPriceAmount
+
materialPrice
);
cartGoods
.
setOriginalAmount
(
productGroupTotalAmount
+
comboOriginalPriceAmount
+
materialPrice
);
cartGoods
.
setOriginalPrice
(
null
!=
cartGoods
.
getOriginalPrice
()
?
cartGoods
.
getOriginalPrice
()
:
cartGoods
.
setOriginalPrice
(
null
!=
cartGoods
.
getOriginalPrice
()
?
cartGoods
.
getOriginalPrice
()
:
productComboTotalAmount
);
productComboTotalAmount
);
cartGoods
.
setAmount
(
amount
);
cartGoods
.
setFinalPrice
(
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()
:
cartGoods
.
setFinalPrice
(
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()
:
productComboTotalAmount
);
productComboTotalAmount
);
...
@@ -138,7 +140,7 @@ public class SetMealCalculation {
...
@@ -138,7 +140,7 @@ public class SetMealCalculation {
});
});
// 套餐优惠明细
// 套餐优惠明细
for
(
CartGoods
cartGoods
:
shoppingCartGoodsResponseVo
.
getProducts
())
{
for
(
CartGoods
cartGoods
:
shoppingCartGoodsResponseVo
.
getProducts
())
{
if
(
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
()))
{
if
(
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
())
&&
StringUtils
.
isBlank
(
cartGoods
.
getCouponCode
())
)
{
// discountAmount=(套餐原价-套餐售价)*数量
// discountAmount=(套餐原价-套餐售价)*数量
// productGroupDiscountAmount=可选商品现价总和
// productGroupDiscountAmount=可选商品现价总和
// discountAmount-productGroupDiscountAmount: 当前商品行套餐商品总优惠= 套餐原总价-套餐现总价-套餐可选商品的现总价
// discountAmount-productGroupDiscountAmount: 当前商品行套餐商品总优惠= 套餐原总价-套餐现总价-套餐可选商品的现总价
...
...
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