Commit 392e3109 by 周晓航

Merge branch 'master' into KA-20210810-B端下载购物车新增商品类型维护字段

parents d9024164 2d07e035
......@@ -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;
......@@ -1176,9 +1177,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 = false;
if (CommonsConstant.ORDER_COMPLAIN_OPEN.equals(configStr)) {
buttonComplain = true;
}
for (QueryOrdersResponse.DataBean.OrderBean ordersBean : ordersBeans) {
ordersBeans.forEach(ordersBean -> {
QueryOrderResponseVo responseVo = new QueryOrderResponseVo();
responseVo.setOid(ordersBean.getOid());
responseVo.setShopId(ordersBean.getShopId());
......@@ -1186,6 +1198,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());
......@@ -1549,7 +1562,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);
}
......@@ -121,6 +121,11 @@ public class OrderCommonService {
paymentRequest.setWxAppId(wxAppId);
AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(partnerId, wxAppId);
paymentRequest.setPrincipalName(wxApp.getPrincipalName());
// fisherman 2227 测试商户号, 下个版本需要删除
if ("2080".equals(partnerId) || "2227".equals(partnerId)) {
//【ID1035981】【蜜雪冰城】订单C端,拼接order_body字段:蜜雪冰城+门店编号
paymentRequest.setPrincipalName("蜜雪冰城"+orderBean.getShopId()+"店");
}
paymentRequest.setReverseNotifyiDcUrl(reverseNotifyiDcUrl);
//修改订单信息
OrderExtInfoDto orderExtInfoDto = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class) == null ? new OrderExtInfoDto() : JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
......
......@@ -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;
......@@ -2618,7 +2620,7 @@ public class OrderServiceImpl implements Orderservice {
CreateOrderResponseVo createOrderResponse;
OrderPayResponse orderPayResponse = null;
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(createPrepayRequestDto.getOpenId(), createPrepayRequestDto.getPartnerId(), createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPayCode());
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(createPrepayRequestDto.getOpenId(), createPrepayRequestDto.getPartnerId(), createPrepayRequestDto.getWxAppId(), createPrepayRequestDto.getPayCode(), createPrepayRequestDto.getFatherOrderBean().getShopId());
long totalAmount = createPrepayRequestDto.getTotalAmount();
String cardCode = createPrepayRequestDto.getCardCode();
String transId = createPrepayRequestDto.getTransId();
......@@ -2945,6 +2947,17 @@ public class OrderServiceImpl implements Orderservice {
return paymentRequest;
}
private PaymentRequest orderBodyConvertToPaymentBody(String openId, String partnerId, String appId, String payCode,String storeId) {
PaymentRequest paymentRequest = this.orderBodyConvertToPaymentBody(openId, partnerId, appId, payCode);
// fisherman 2227 测试商户号, 下个版本需要删除
boolean isTrue = "2080".equals(partnerId) || "2227".equals(partnerId);
if (isTrue) {
//【ID1035981】【蜜雪冰城】订单C端,拼接order_body字段:蜜雪冰城+门店编号
paymentRequest.setPrincipalName("蜜雪冰城"+ storeId +"店");
}
return paymentRequest;
}
public OrderExtInfoDto getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto,
Integer pushOrderTime, CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto) {
......@@ -3365,7 +3378,7 @@ public class OrderServiceImpl implements Orderservice {
//<!---创建订单公共方法执行逻辑--->
OrderPayResponse orderPayResponse = null;
String appId = userLoginInfoDto.getWxAppId();
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto.getOpenId(), createOrderVo.getPartnerId(), appId, null);
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto.getOpenId(), createOrderVo.getPartnerId(), appId, null,fatherBeanListOne.getShopId());
//支付金额异常
if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
......@@ -4216,5 +4229,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