Commit ac72b415 by ping.wu

Merge branches 'feature/order-complain-20210823' and 'pre' of…

Merge branches 'feature/order-complain-20210823' and 'pre' of http://gitlab.freemud.com/order-group-application/order-group into pre

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/main/java/cn/freemud/controller/OrderController.java
#	order-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
parents 396ba2c6 7c2cb796
......@@ -13,6 +13,7 @@
package cn.freemud.adapter;
import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.CommonsConstant;
import cn.freemud.constant.CustomerScoreConstant;
import cn.freemud.constant.KgdRedisKeyConstant;
import cn.freemud.constant.RedisKeyConstant;
......@@ -1177,9 +1178,20 @@ public class OrderAdapter {
if (CollectionUtils.isEmpty(ordersBeans)) {
return Collections.emptyList();
}
List<QueryOrderResponseVo> list = Lists.newArrayList();
QueryOrdersResponse.DataBean.OrderBean orderBean = ordersBeans.get(0);
String partnerId = "";
if (null != orderBean) {
partnerId = orderBean.getCompanyId();
}
String configStr = redisCache.hashGet(MessageFormat.format(KgdRedisKeyConstant.ORDER_COMPLAIN_KEY, partnerId, wxAppId), KgdRedisKeyConstant.ORDER_COMPLAIN_TYPE);
Boolean buttonComplain = true;
if (CommonsConstant.ORDER_COMPLAIN_CLOSE.equals(configStr)) {
buttonComplain = false;
}
for (QueryOrdersResponse.DataBean.OrderBean ordersBean : ordersBeans) {
ordersBeans.forEach(ordersBean -> {
QueryOrderResponseVo responseVo = new QueryOrderResponseVo();
responseVo.setOid(ordersBean.getOid());
responseVo.setShopId(ordersBean.getShopId());
......@@ -1187,6 +1199,7 @@ public class OrderAdapter {
responseVo.setShopNameEn(ordersBean.getShopNameEn());
responseVo.setShopAddress(ordersBean.getShopAddress());
responseVo.setShopPhone(ordersBean.getShopPhone());
responseVo.setButtonComplain(buttonComplain);
responseVo.setReceiveAddress(ordersBean.getAddress());
if (OrderClientType.SAASMALL.getIndex().toString() == ordersBean.getOrderClient()) {
responseVo.setReceiveUsername(ordersBean.getContactsName());
......@@ -1551,7 +1564,9 @@ public class OrderAdapter {
responseVo.setSendWord(orderExtended.getSendWord());
}
list.add(responseVo);
});
}
AppLogUtil.infoLog("fisherman orderBean:", JSON.toJSONString(ordersBeans), JSON.toJSONString(list));
return list;
}
......
......@@ -6,4 +6,9 @@ public class CommonsConstant {
public final static Integer WEIGHT_PRODUCT = 1;
public static final String ORDER_COMPLAIN_OPEN = "open";
public static final String ORDER_COMPLAIN_CLOSE = "close";
}
\ No newline at end of file
......@@ -27,5 +27,13 @@ public class KgdRedisKeyConstant {
*/
public static final String REFUND_CFG_TAKE_OUT = "takeOutType";
public static final String ORDER_COMPLAIN_KEY = "kgd:order_config_{0}_{1}";
public static final String ORDER_COMPLAIN_TYPE = "orderComplaintType";
}
......@@ -17,6 +17,7 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
import cn.freemud.entities.vo.order.OrderAppealVo;
import cn.freemud.handler.OrderReportJobHandler;
import cn.freemud.monitorcenter.tools.HealthUtil;
import cn.freemud.service.*;
......@@ -402,6 +403,24 @@ public class OrderController {
return pointsMallOrderService.scoreRecordDetail(queryOrderVo);
}
/**
* 订单申诉结果查询
*/
@ApiAnnotation(logMessage = "queryOrderAppeal")
@PostMapping("/queryOrderAppeal")
public BaseResponse queryOrderAppeal(@Validated @LogParams @RequestBody OrderAppealVo orderAppealVo) {
return orderservice.queryOrderAppeal(orderAppealVo);
}
/**
* 订单申诉
*/
@ApiAnnotation(logMessage = "submitAppeal")
@PostMapping("/submitAppeal")
public BaseResponse submitAppeal(@Validated @LogParams @RequestBody OrderAppealVo orderAppealVo) {
return orderservice.submitAppeal(orderAppealVo);
}
/**
* 订单统计 上报数据
......
......@@ -196,6 +196,8 @@ public class QueryOrderResponseVo {
* 申请退款按钮
*/
private Boolean buttonRefund;
private Boolean buttonComplain;
/**
* 联系商家按钮
*/
......
package cn.freemud.entities.vo.order;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
@Data
public class OrderAppealVo {
@NotEmpty(message = "sessionId 不能为空")
private String sessionId;
/**
* 商户ID
*/
private String partnerId;
/**
* 订单ID
*/
private String oid;
private String content;
}
package cn.freemud.entities.vo.order;
import lombok.Data;
@Data
public class QueryOrderAppealResponseVo {
private String appealContent;
private String mobile;
}
......@@ -178,6 +178,7 @@ public enum ResponseResult {
ORDER_RECEIVE_ERR("45071", "确认收货失败,请稍后再试",""),
STORE_NO_OPEN("45072", "选择时间不在门店营业时间范围内",""),
STORE_SELF_ERROR_10("45073", "请在营业结束时间前10分钟下单",""),
ORDER_APPEAL_ERR("45074", "申诉失败",""),
/**
* 售后单
......
......@@ -4,6 +4,7 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.OrderAppealVo;
import com.freemud.application.sdk.api.ordercenter.response.OrderCountResp;
import java.util.List;
......@@ -180,4 +181,9 @@ public interface Orderservice {
* @return
*/
BaseResponse<OrderStateMonitorInfoVo> queryOrderStateMonitorInfo(String orderCode, String partnerId, Byte orderClient);
BaseResponse submitAppeal(OrderAppealVo orderAppealVo);
BaseResponse queryOrderAppeal(OrderAppealVo orderAppealVo);
}
......@@ -45,6 +45,8 @@ import cn.freemud.entities.dto.shoppingCart.CollageOrderDto;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.order.OrderAppealVo;
import cn.freemud.entities.vo.order.QueryOrderAppealResponseVo;
import cn.freemud.enums.*;
import cn.freemud.enums.OrderType;
import cn.freemud.interceptor.ServiceException;
......@@ -4219,5 +4221,50 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(infoVo);
}
@Override
public BaseResponse submitAppeal(OrderAppealVo orderAppealVo) {
String sessionId = orderAppealVo.getSessionId();
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN);
}
SubmitAppealReq submitAppealReq = new SubmitAppealReq();
submitAppealReq.setPartnerId(userLoginInfoDto.getPartnerId());
submitAppealReq.setOrderCode(orderAppealVo.getOid());
submitAppealReq.setAppealContent(orderAppealVo.getContent());
submitAppealReq.setMobile(userLoginInfoDto.getMobile());
submitAppealReq.setOperator(userLoginInfoDto.getNickName());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.submitAppeal(submitAppealReq, LogThreadLocal.getTrackingNo());
if (Objects.isNull(baseResponse) || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER_APPEAL_ERR);
}
return ResponseUtil.success();
}
@Override
public BaseResponse queryOrderAppeal(OrderAppealVo orderAppealVo) {
String sessionId = orderAppealVo.getSessionId();
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN);
}
SubmitAppealReq submitAppealReq = new SubmitAppealReq();
submitAppealReq.setPartnerId(userLoginInfoDto.getPartnerId());
submitAppealReq.setOrderCode(orderAppealVo.getOid());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<QueryOrderAppealVo> baseResponse = orderSdkService.queryOrderAppeal(submitAppealReq, LogThreadLocal.getTrackingNo());
if (Objects.isNull(baseResponse) || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER_APPEAL_ERR);
}
QueryOrderAppealResponseVo responseVo = new QueryOrderAppealResponseVo();
if(baseResponse.getResult() != null){
responseVo.setAppealContent(baseResponse.getResult().getAppealContent());
responseVo.setMobile(baseResponse.getResult().getMobile());
}
return ResponseUtil.success(responseVo);
}
}
......@@ -268,4 +268,15 @@ public class InterfaceAddressConstant {
*/
public static final String QUERY_ORDER_DAY_FROM_DB = "order/v2/db/queryOrderByConditions";
/**
* 订单申诉
*/
public static final String SUBMIT_APPEAL = "order/v2/submitAppeal";
/**
* 查询申诉结果
*/
public static final String QUERY_APPEAL = "order/v2/queryOrderAppeal";
}
package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
@Data
public class QueryOrderAppealVo {
private String partnerId;
private String orderCode;
private String appealContent;
private String mobile;
}
package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
@Data
public class SubmitAppealReq {
//商户号,确定商品归属权
private String partnerId;
private String orderCode;
private String appealContent;
private String mobile;
private String appealTime;
private String operator;
private String extParam;
}
......@@ -970,4 +970,24 @@ public class OrderSdkService {
});
return responseHandle(responseDTO);
}
/**
* 订单申诉
*/
public BaseResponse submitAppeal(SubmitAppealReq submitAppealReq,String trackingNo) {
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, SUBMIT_APPEAL,
createBaseRequest(submitAppealReq, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
/**
* 查询申诉结果
*/
public BaseResponse<QueryOrderAppealVo> queryOrderAppeal(SubmitAppealReq request,String trackingNo) {
OrderBaseResp<QueryOrderAppealVo> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, QUERY_APPEAL,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp<QueryOrderAppealVo>>() {
});
return responseHandle(responseDTO);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment