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
74a2885b
Commit
74a2885b
authored
Apr 20, 2021
by
王世昌
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'frature/20210414_华莱士微商城申请退款_wangshichang' into feature/20210420-华莱士公用分支-张志恒
parents
e6fce948
d2c08bb5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
493 additions
and
6 deletions
+493
-6
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
+20
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/EditAfterSalesExpressRequest.java
+61
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
+7
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+21
-0
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+18
-0
order-application-service/src/main/java/cn/freemud/entities/vo/AfterSalesOrderExtInfoVo.java
+15
-0
order-application-service/src/main/java/cn/freemud/entities/vo/EditAfterSalesExpressVo.java
+60
-0
order-application-service/src/main/java/cn/freemud/entities/vo/OrderRefundVo.java
+18
-0
order-application-service/src/main/java/cn/freemud/entities/vo/SpellGroupFailRefundVo.java
+52
-0
order-application-service/src/main/java/cn/freemud/enums/RefundModeEnum.java
+41
-0
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/ActivityService.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/MallOrderService.java
+12
-5
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+7
-1
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
+100
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+0
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
+2
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/AfterSalesExpressOperateReq.java
+33
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderCancelReq.java
+5
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
+5
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
+12
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
View file @
74a2885b
...
...
@@ -15,8 +15,10 @@ package com.freemud.sdk.api.assortment.order.request.order;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
public
class
CancelOrderRequest
extends
BaseConfig
{
...
...
@@ -70,4 +72,22 @@ public class CancelOrderRequest extends BaseConfig {
*/
@Builder
.
Default
private
boolean
isRefundDeliveryAmount
=
true
;
/**
* 售后单拓展信息
*/
private
AfterSalesOrderExtInfoReq
extInfoReq
;
/**
* 售后单拓展信息
*/
@NoArgsConstructor
@Data
public
static
class
AfterSalesOrderExtInfoReq
{
/**
* 微商城退款方式
*/
private
Byte
refundMode
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/EditAfterSalesExpressRequest.java
0 → 100644
View file @
74a2885b
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderCancelReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: ping.wu
* @date: 2019/4/2 21:26
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
request
.
order
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.sdk.api.assortment.order.config.BaseConfig
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 修改售后单快递信息
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
EditAfterSalesExpressRequest
extends
BaseConfig
{
private
String
partnerId
;
private
String
storeId
;
/**
* 渠道
*/
private
Integer
orderClient
;
/**
* 订单ID
*/
private
String
orderId
;
/**
* 售后单code,新订单服务需要
*/
private
String
afterSalesCode
;
//操作人
private
String
operator
;
/**
* 物流公司名称
*/
private
String
expressChannelName
;
/**
* 物流单号
*/
private
String
expressNo
;
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
View file @
74a2885b
...
...
@@ -357,4 +357,11 @@ public interface OrderCenterSdkService {
*/
QueryLineUpResponse
queryLineUpOrder
(
QueryLineUpOrderReq
queryLineUpOrderReq
);
/**
* 用户修改订单快递信息
* @param afterSalesExpressRequest
* @return
*/
BaseOrderResponse
editAfterSalesExpress
(
EditAfterSalesExpressRequest
afterSalesExpressRequest
);
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
74a2885b
...
...
@@ -7,6 +7,7 @@ import cn.freemud.amqp.MQService;
import
cn.freemud.base.util.DateUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.meal.MealCacheManager
;
import
com.freemud.api.assortment.datamanager.order.config.ManagerOrderBeanConfig
;
...
...
@@ -696,6 +697,12 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request
.
setCreateEvent
(
cancelOrderRequest
.
getCreateEvent
());
request
.
setAfterSerialNo
(
cancelOrderRequest
.
getRefundSerialNo
());
request
.
setOperator
(
cancelOrderRequest
.
getOperator
());
// 【华莱士20210510活动】新增加退款方式字段
if
(
Objects
.
nonNull
(
cancelOrderRequest
.
getExtInfoReq
())){
request
.
setExtInfo
(
JSON
.
toJSONString
(
cancelOrderRequest
.
getExtInfoReq
()));
}
//为空发起售后单
if
(
cancelOrderRequest
.
getCreateEvent
()
==
null
){
// 查询门店服务配置,退单模式为2为自动退款,判断自动退款时间,设置为0则不传入timeout,
...
...
@@ -2010,4 +2017,18 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
<
List
<
String
>>
response
=
orderSdkService
.
queryLineUpOrder
(
queryLineUpOrderReq
,
LogThreadLocal
.
getTrackingNo
());
return
orderSdkAdapter
.
convent2QueryLineUpResponse
(
response
);
}
@Override
public
BaseOrderResponse
editAfterSalesExpress
(
EditAfterSalesExpressRequest
afterSalesExpressRequest
){
AfterSalesExpressOperateReq
request
=
new
AfterSalesExpressOperateReq
();
request
.
setOrderClient
(
afterSalesExpressRequest
.
getOrderClient
());
request
.
setPartnerId
(
afterSalesExpressRequest
.
getPartnerId
());
request
.
setOrderCode
(
afterSalesExpressRequest
.
getOrderId
());
request
.
setAfterSalesCode
(
afterSalesExpressRequest
.
getAfterSalesCode
());
request
.
setAdultRemark
(
"用户填写快递单号"
);
request
.
setOperator
(
afterSalesExpressRequest
.
getOperator
());
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
response
=
orderSdkService
.
adultGoodsReturned
(
request
,
afterSalesExpressRequest
.
getTrackingNo
());
return
orderSdkAdapter
.
convent2BaseOrderResponse
(
response
);
}
}
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
74a2885b
...
...
@@ -405,4 +405,22 @@ public class OrderController {
return
orderservice
.
queryTodayOrders
(
queryOrderByConditionsRequestVo
);
}
/**
* 退货快递信息
*/
@ApiAnnotation
(
logMessage
=
"refundExpress"
)
@PostMapping
(
"/refundExpress"
)
public
BaseResponse
refundExpress
(
@Validated
@LogParams
@RequestBody
EditAfterSalesExpressVo
editAfterSalesExpressVo
)
{
return
mallOrderService
.
saveAfterSalesExpress
(
editAfterSalesExpressVo
);
}
/**
* 拼团失败批量退款
*/
@ApiAnnotation
(
logMessage
=
"spellGroupBatchRefund"
)
@PostMapping
(
"/spellGroupFailRefund"
)
public
BaseResponse
spellGroupFailRefund
(
@Validated
@LogParams
@RequestBody
SpellGroupFailRefundVo
refundVo
)
{
return
orderservice
.
spellGroupOrderFailRefund
(
refundVo
);
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/AfterSalesOrderExtInfoVo.java
0 → 100644
View file @
74a2885b
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
/**
* 售后单拓展信息
*/
@Data
public
class
AfterSalesOrderExtInfoVo
{
/**
* 微商城退款方式
*/
private
Byte
refundMode
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/EditAfterSalesExpressVo.java
0 → 100644
View file @
74a2885b
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: liming.guo
* @date: 2018/5/16 17:35
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.enums.RefundModeEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
javax.validation.constraints.NotBlank
;
/**
* 用户退货快递信息
*
* @author shichang.wang 2021/4/15
*/
@ApiModel
(
"用户退货快递信息"
)
@Data
public
class
EditAfterSalesExpressVo
{
@NotEmpty
(
message
=
"sessionId 不能为空"
)
private
String
sessionId
;
@NotEmpty
(
message
=
"订单编号不能为空"
)
@ApiModelProperty
(
"订单号"
)
private
String
oid
;
@ApiModelProperty
(
"商户ID"
)
private
String
partnerId
;
/**
* 物流公司名称
*/
@NotEmpty
(
message
=
"物流公司名称不能为空"
)
@ApiModelProperty
(
"物流公司名称"
)
private
String
expressChannelName
;
/**
* 物流单号
*/
@NotEmpty
(
message
=
"物流单号 不能为空"
)
@ApiModelProperty
(
"物流单号"
)
private
String
expressNo
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/OrderRefundVo.java
View file @
74a2885b
...
...
@@ -12,9 +12,19 @@
*/
package
cn
.
freemud
.
entities
.
vo
;
import
cn.freemud.enums.RefundModeEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
/**
* 用户退款申请
*
* @author haibo.jiang 2019/11/20
* @author shichang.wang 2021/4/15
*/
@ApiModel
(
"用户退款申请"
)
@Data
public
class
OrderRefundVo
{
...
...
@@ -30,4 +40,12 @@ public class OrderRefundVo {
private
String
partnerId
;
/**
* 微商城退款方式
*
* @see cn.freemud.enums.RefundModeEnum
*/
@ApiModelProperty
(
value
=
"微商城退款方式"
,
notes
=
RefundModeEnum
.
API_DOC
)
private
Byte
refundMode
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/SpellGroupFailRefundVo.java
0 → 100644
View file @
74a2885b
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: liming.guo
* @date: 2018/5/16 17:35
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
entities
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
java.util.List
;
/**
* 拼团失败退款
*
* @author shichang.wang 2021/4/15
*/
@ApiModel
(
"拼团失败退款"
)
@Data
public
class
SpellGroupFailRefundVo
{
@NotEmpty
(
message
=
"团号不能为空"
)
@ApiModelProperty
(
"团号"
)
private
String
spellGroupCode
;
/**
* 原因
*/
@ApiModelProperty
(
"原因"
)
private
String
reason
;
/**
* 物流单号
*/
@NotEmpty
(
message
=
"订单号列表 不能为空"
)
@ApiModelProperty
(
"订单号列表"
)
private
List
<
String
>
orderCodeList
;
}
order-application-service/src/main/java/cn/freemud/enums/RefundModeEnum.java
0 → 100644
View file @
74a2885b
package
cn
.
freemud
.
enums
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 微商城退款方式
*/
@Getter
public
enum
RefundModeEnum
{
REFUND_ALL
((
byte
)
1
,
"退款退货"
),
UN_REFUND_GOODS
((
byte
)
2
,
"只退款不退货"
),
;
private
final
Byte
index
;
private
final
String
name
;
RefundModeEnum
(
Byte
index
,
String
name
)
{
this
.
index
=
index
;
this
.
name
=
name
;
}
public
static
final
String
API_DOC
=
"微商城退款方式 1:退款退货 2:只退款不退货"
;
private
static
class
EnumCacheHolder
{
private
static
final
Map
<
Byte
,
RefundModeEnum
>
CACHE
;
static
{
CACHE
=
Arrays
.
stream
(
RefundModeEnum
.
values
()).
collect
(
Collectors
.
toMap
(
RefundModeEnum:
:
getIndex
,
v
->
v
));
}
}
public
static
RefundModeEnum
getByIndex
(
Byte
index
)
{
return
EnumCacheHolder
.
CACHE
.
get
(
index
);
}
}
order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
74a2885b
...
...
@@ -173,6 +173,8 @@ public enum ResponseResult {
STORE_SELF_ERROR
(
"45069"
,
"请选择截止营业时间大于45分钟下单"
),
COUPON_INVALID
(
"45070"
,
"券已锁定,请先支付或取消待支付订单"
),
ORDER_REFUND_EXPRESS_ERROR
(
"45200"
,
"售后单修改物流信息失败"
),
/**
* 支付
...
...
order-application-service/src/main/java/cn/freemud/service/ActivityService.java
View file @
74a2885b
...
...
@@ -36,6 +36,7 @@ public interface ActivityService {
/**
* 根据不同的activityTypes 查询活动
*
* @param activityQueryDto
* @param activityTypeEnums
* @param goodsBeanDtoList
...
...
@@ -43,4 +44,5 @@ public interface ActivityService {
*/
ActivityQueryResponseDto
queryActivityByType
(
ActivityQueryDto
activityQueryDto
,
List
<
ActivityTypeEnum
>
activityTypeEnums
,
List
<
ActivityQueryRequestDto
.
QueryGoodsBeanDto
>
goodsBeanDtoList
);
}
order-application-service/src/main/java/cn/freemud/service/MallOrderService.java
View file @
74a2885b
...
...
@@ -3,9 +3,7 @@ package cn.freemud.service;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.OrderAffirmRequestVO
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.encircle.CreateReserveOrderVo
;
import
cn.freemud.entities.vo.encircle.EmptyTableNumberVo
;
import
cn.freemud.entities.vo.encircle.EncircleReserveBaseVo
;
...
...
@@ -27,9 +25,9 @@ public interface MallOrderService {
* 创建订单
*/
BaseResponse
createOrder
(
CreateOrderVo
createOrderVo
);
/**
* 订单确认完成
* 订单确认完成
*/
BaseResponse
orderAffirm
(
OrderAffirmRequestVO
requestVO
);
...
...
@@ -38,4 +36,13 @@ public interface MallOrderService {
*/
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
,
ConfirmOrderDto
confirmOrderDto
,
Map
<
String
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
>
orderBeans
);
/**
* 保存退货物流信息
*
* @param editAfterSalesExpressVo
* @return
*/
BaseResponse
saveAfterSalesExpress
(
EditAfterSalesExpressVo
editAfterSalesExpressVo
);
}
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
74a2885b
...
...
@@ -4,7 +4,6 @@ import cn.freemud.base.entity.BaseResponse;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.*
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSdkType
;
import
java.util.Map
;
...
...
@@ -154,4 +153,11 @@ public interface Orderservice {
*/
BaseResponse
queryTodayOrders
(
QueryOrderByConditionsRequestVo
queryOrderByConditionsRequestVo
);
/**
* 拼团失败退款
* @param refundVo
* @return
*/
BaseResponse
spellGroupOrderFailRefund
(
SpellGroupFailRefundVo
refundVo
);
}
order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
View file @
74a2885b
...
...
@@ -32,11 +32,14 @@ import cn.freemud.service.thirdparty.ShoppingCartClient;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ValidationCode
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.application.sdk.api.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.deliverycenter.dto.ArriveDeliveryRequestDto
;
...
...
@@ -46,11 +49,13 @@ import com.freemud.application.sdk.api.deliverycenter.response.DeliveryInfoDto;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesStatus
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.POSOrderOperationBaseReq
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
...
...
@@ -66,9 +71,11 @@ import com.google.common.base.Throwables;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.gson.Gson
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
...
...
@@ -78,6 +85,9 @@ import java.util.concurrent.TimeUnit;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
static
cn
.
freemud
.
constant
.
OrderRefundConstant
.
ALLOW_REFUND
;
@Slf4j
@Service
public
class
MallOrderServiceImpl
implements
MallOrderService
{
...
...
@@ -121,6 +131,8 @@ public class MallOrderServiceImpl implements MallOrderService {
private
OrderSdkService
orderSdkService
;
@Autowired
private
EcologyAdminApplicationClient
ecologyAdminApplicationClient
;
@Autowired
private
AssortmentCustomerInfoManager
customerInfoManager
;
/**
* 创建订单
...
...
@@ -764,4 +776,92 @@ public class MallOrderServiceImpl implements MallOrderService {
return
thirdProductPropertyId
;
}
@Override
public
BaseResponse
saveAfterSalesExpress
(
EditAfterSalesExpressVo
editAfterSalesExpressVo
)
{
AssortmentCustomerInfoVo
userInfo
=
customerInfoManager
.
getCustomerInfoByObject
(
editAfterSalesExpressVo
.
getSessionId
());
if
(
userInfo
==
null
||
StringUtils
.
isEmpty
(
userInfo
.
getMemberId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
NOT_LOGIN
);
}
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
editAfterSalesExpressVo
.
getOid
());
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
queryOrderByIdResponse
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
;
if
(
queryOrderByIdResponse
==
null
||
!
RESPONSE_SUCCESS_CODE
.
equals
(
queryOrderByIdResponse
.
getErrcode
())
||
(
orderBean
=
queryOrderByIdResponse
.
getData
())
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
.
getCode
(),
"订单信息不存在"
);
}
// 检查参数
BaseResponse
response
=
checkAfterSalesExpress
(
orderBean
,
userInfo
.
getMemberId
());
if
(!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
response
.
getCode
()))
{
return
response
;
}
// 配送中,完成状态的,用户可填写
List
<
Integer
>
enableRefundExpressCodes
=
Arrays
.
asList
(
OrderStatus
.
DISTRIBUTION
.
getCode
(),
OrderStatus
.
COMPLETE
.
getCode
());
if
(
enableRefundExpressCodes
.
contains
(
orderBean
.
getStatus
())
&&
PayStatus
.
HAVE_PAID
.
getCode
().
equals
(
orderBean
.
getPayStatus
()))
{
EditAfterSalesExpressRequest
editAfterSalesExpressRequest
=
new
EditAfterSalesExpressRequest
();
editAfterSalesExpressRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
editAfterSalesExpressRequest
.
setStoreId
(
orderBean
.
getShopId
());
editAfterSalesExpressRequest
.
setOrderId
(
orderBean
.
getOid
());
editAfterSalesExpressRequest
.
setOrderClient
(
orderAdapter
.
getNewOrderClient
(
orderBean
.
getSource
()));
editAfterSalesExpressRequest
.
setExpressNo
(
editAfterSalesExpressVo
.
getExpressNo
());
editAfterSalesExpressRequest
.
setExpressChannelName
(
editAfterSalesExpressVo
.
getExpressChannelName
());
BaseOrderResponse
baseResponseDto
=
orderCenterSdkService
.
editAfterSalesExpress
(
editAfterSalesExpressRequest
);
if
(!
RESPONSE_SUCCESS_CODE
.
equals
(
baseResponseDto
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
baseResponseDto
.
getErrmsg
());
}
}
return
ResponseUtil
.
success
();
}
private
BaseResponse
checkAfterSalesExpress
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
String
userId
)
{
if
(!
Objects
.
equals
(
userId
,
orderBean
.
getUserId
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
.
getCode
(),
"不能操作非本人的订单"
);
}
// 必须微商城订单
if
(!
OrderSourceType
.
SAASMALL
.
getCode
().
equalsIgnoreCase
(
orderBean
.
getSource
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"非商城订单不可填写"
);
}
// 检查售后单的状态
AfterSalesOrderResp
afterSalesOrderResp
=
orderBean
.
getAfterSalesOrderResp
();
if
(
afterSalesOrderResp
==
null
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"售后单不存在"
);
}
if
(
Objects
.
equals
(
AfterSalesStatus
.
PENDING
.
getIndex
(),
afterSalesOrderResp
.
getAfterSalesStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"商家正在处理中,请稍后……"
);
}
if
(!
Objects
.
equals
(
AfterSalesStatus
.
RETURNING
.
getIndex
(),
afterSalesOrderResp
.
getAfterSalesStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"未找到有效的售后单"
);
}
// 是否为 退款退货方式
AfterSalesOrderExtInfoVo
afterSalesOrderExtInfoVo
=
getAfterSalesOrderExtInfoVo
(
afterSalesOrderResp
);
log
.
debug
(
"售后单信息方式为:{}"
,
afterSalesOrderResp
);
if
(
Objects
.
isNull
(
afterSalesOrderExtInfoVo
)
||
!
Objects
.
equals
(
RefundModeEnum
.
REFUND_ALL
.
getIndex
(),
afterSalesOrderExtInfoVo
.
getRefundMode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_EXPRESS_ERROR
.
getCode
(),
"当前退款方式无需填写"
);
}
return
ResponseUtil
.
success
();
}
private
AfterSalesOrderExtInfoVo
getAfterSalesOrderExtInfoVo
(
AfterSalesOrderResp
afterSalesOrderResp
)
{
if
(
afterSalesOrderResp
==
null
)
{
return
null
;
}
AfterSalesOrderExtInfoVo
afterSalesOrderExtInfoVo
=
null
;
try
{
afterSalesOrderExtInfoVo
=
JSON
.
parseObject
(
afterSalesOrderResp
.
getExtInfo
(),
new
com
.
alibaba
.
fastjson
.
TypeReference
<
AfterSalesOrderExtInfoVo
>()
{
}.
getType
());
}
catch
(
Exception
e
)
{
log
.
error
(
"解析售后单 extInfo 失败"
);
}
return
afterSalesOrderExtInfoVo
;
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
74a2885b
This diff is collapsed.
Click to expand it.
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
View file @
74a2885b
...
...
@@ -63,6 +63,8 @@ public class InterfaceAddressConstant {
public
static
final
String
ADULT_REFUND_COMPLETE
=
"/afterSales/v2/adultRefundComplete"
;
//售后单审核-拒绝申请
public
static
final
String
REFUND_REJECT
=
"afterSales/v2/adultReject"
;
//售后单审核-退货完成
public
static
final
String
ADULT_GOODS_RETURNED
=
"afterSales/v2/adultGoodsReturned"
;
//根据综合条件查询订单
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/AfterSalesExpressOperateReq.java
0 → 100644
View file @
74a2885b
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: AfterSalesOperateReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: ping.wu
* @date: 2019/4/3 19:54
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.NotEmpty
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
AfterSalesExpressOperateReq
extends
AfterSalesOperateReq
{
/**
* 物流公司名称
*/
private
String
expressChannelName
;
/**
* 物流单号
*/
private
String
expressNo
;
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderCancelReq.java
View file @
74a2885b
...
...
@@ -70,4 +70,9 @@ public class OrderCancelReq {
//任务
private
OrderTaskReq
orderTask
;
/**
* 拓展信息
*/
private
String
extInfo
;
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
View file @
74a2885b
...
...
@@ -195,5 +195,10 @@ public class OrderExtInfoDto {
private
String
svcCardCode
;
/**
* 团号
*/
private
String
spellGroupCode
;
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
View file @
74a2885b
...
...
@@ -937,4 +937,16 @@ public class OrderSdkService {
return
responseHandle
(
responseDTO
);
}
/**
* 修改订单extinfo信息
*/
public
BaseResponse
adultGoodsReturned
(
AfterSalesExpressOperateReq
request
,
String
trackingNo
)
{
OrderBaseResp
responseDTO
=
RequestThirdPartyUtils
.
httpJsonReqComplexNew
(
restTemplate
,
InterfaceAddressConstant
.
ADULT_GOODS_RETURNED
,
createBaseRequest
(
request
,
trackingNo
),
new
ParameterizedTypeReference
<
OrderBaseResp
>()
{
});
return
responseHandle
(
responseDTO
);
}
}
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