Commit 44e0a574 by 徐康

Merge remote-tracking branch 'origin/qa' into qa

parents 687feba7 9b5ce865
......@@ -617,6 +617,7 @@ public class OrderSdkAdapter {
orderClients.add(OrderClientType.APP.getIndex());
}
}
orderClients.add(OrderClientType.TIKTOKPAY.getIndex());
orderClients.add(OrderClientType.ALIPAY.getIndex());
orderConditionsReq.setOrderClients(orderClients);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......
......@@ -113,6 +113,7 @@ public class OrderCallBackMQService {
//2:未支付
requestDto.setOrderStatus(2);
try {
log.info("common on revert body try requestDto:" + requestDto);
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
......
......@@ -29,7 +29,6 @@ import javax.validation.Valid;
@RestController
@RequestMapping(value = "/callback", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Log4j
public class CallBackController {
@Autowired
......@@ -38,8 +37,6 @@ public class CallBackController {
@PostMapping("/order")
@ApiAnnotation(logMessage = "/order")
public BaseResponse orderCallBackHandle(@Valid @RequestBody @LogParams OrderCallBackRequestVo requestVo) {
log.info("in callback order ordercode:"+ requestVo.getOrderCode());
log.info("callback order requestVo:"+ requestVo);
return orderCallBackService.orderCallBackHandle(requestVo);
}
......
......@@ -2905,10 +2905,11 @@ public class OrderAdapter {
}
createOrderResponseVo.setOrderStr(payOrderBean == null ? "" : payOrderBean.getAliPayOrder());
//抖音支付添加返回OrderInfo
if(PayChannelType.TIKTOKPAY.getIndex().equals(orderBean.getPayChannelType())) {
if(String.valueOf(PayChannelType.TIKTOKPAY.getIndex()).equals(orderBean.getPayChannelType())) {
OrderInfo orderInfo = new OrderInfo();
orderInfo.setOrder_id(orderPayResponse.getThirdOrderId());
orderInfo.setOrder_token(orderPayResponse.getThirdOrderToken());
createOrderResponseVo.setOrderInfo(orderInfo);
}
return createOrderResponseVo;
......
......@@ -395,5 +395,15 @@ public class OrderController {
public BaseResponse queryOrderRider(@Validated @LogParams @RequestBody OrderRiderRequestVo requestVo){
return orderservice.queryOrderRider(requestVo);
}
/**
* timeOutRefund
* @param timeOutOrderVo
* @return
*/
@ApiAnnotation(logMessage = "timeOutOrderRefund")
@PostMapping("/timeOutOrderRefund")
public BaseResponse timeOutOrderRefund(@Validated @LogParams @RequestBody TimeOutOrderVo timeOutOrderVo){
return orderservice.timeOutOrderRefund(timeOutOrderVo);
}
}
......@@ -200,7 +200,7 @@ public class QueryOrdersResponseDto {
private List<OrderCostResp> orderCostDetailList;
private List<QueryOrdersResponse.DataBean.OrderBean.OrderPayItem> orderPayItem;
private Integer abnormalState;
/**
* 订单操作状态(从订单操作历史表中获取)
*/
......
......@@ -64,16 +64,6 @@ public class CreateOrderResponseVo {
private String orderStr;
/**
* 抖音支付的返回的为orderId 映射为我们thirdOrderId
*/
private String thirdOrderId;
/**
* 抖音支付的orderToken 映射为我们thirdOrderToken
*/
private String thirdOrderToken;
/**
* 抖音支付返回数据
*/
private OrderInfo orderInfo;
......
/**
* 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 lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
@Data
public class TimeOutOrderVo {
@NotEmpty(message = "订单编号不能为空")
private String oid;
private String partnerId;
}
......@@ -144,4 +144,6 @@ public interface Orderservice {
BaseResponse queryCollageOrderById(Integer operation,String sessionId, String oid, String partnerId,String channel);
BaseResponse queryOrderRider(OrderRiderRequestVo requestVo);
BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo);
}
......@@ -41,6 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -99,7 +100,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
private OrderCommonService orderCommonService;
@Autowired
private SellCouponOrderServiceImpl sellCouponOrderService;
@Value("${saas.autoRefund.client}")
private String autoRefundClient;
@Override
public BaseResponse createOrderNew(CreateOrderVo createOrderVo) {
AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createOrderVo.getSessionId());
......@@ -249,8 +251,9 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())){
return orderAdapter.sendPaySuccessNoticeMessage();
}
Integer client = OrderSourceType.getClientByCode(orderBean.getSource());
//若是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);
return orderAdapter.sendPaySuccessNoticeMessage();
}
......
......@@ -1265,6 +1265,20 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(responseVo);
}
@Override
public BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo) {
Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans = this.getOrderBeanByOrderId(timeOutOrderVo.getOid());
if (MapUtils.isEmpty(orderBeans)) {
ResponseUtil.error("404","订单不存在");
}
QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())){
this.timeOutRefund(orderBean);
}
return ResponseUtil.success();
}
private String getRedpacketsPicture(String activityId) {
if (StringUtils.isNotBlank(activityId)) {
try {
......@@ -2461,7 +2475,7 @@ public class OrderServiceImpl implements Orderservice {
orderClient = OrderClientType.APP;
}
//抖音小程序
if(PayChannelType.TIKTOKPAY.getIndex().equals(createOrderVo.getPayChannelType()) && "3".equalsIgnoreCase(createOrderVo.getChannel())) {
if(PayChannelType.TIKTOKPAY.getIndex().equals(createOrderVo.getPayChannelType()) && "5".equalsIgnoreCase(createOrderVo.getChannel())) {
orderClient = OrderClientType.TIKTOKPAY;
}
long totalAmount = 0;
......@@ -3687,10 +3701,16 @@ public class OrderServiceImpl implements Orderservice {
public void timeOutRefund(QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
//调用支付退款
log.info("payment timeout callback for refund orderDto={}",JSON.toJSONString(orderBean));
Integer abState = 4;
if (abState.equals(orderBean.getAbnormalState()) ) {
log.info("payment timeout callback for refund is exist");
return;
}
com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null;
Long refundId = System.currentTimeMillis();
OrderExtInfoDto orderExtInfoDTO = gson.fromJson(orderBean.getExtInfo(), OrderExtInfoDto.class);
if (orderExtInfoDTO==null || StringUtils.isBlank(orderExtInfoDTO.getFmId())) {
log.info("payment timeout callback for refund not create pre order");
return;
}
Integer state = PayRefundStatus.SUCCESS.getCode();
......@@ -3746,4 +3766,5 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
}
......@@ -425,6 +425,9 @@ public class CartGoods {
if (CollectionUtils.isNotEmpty(productGroupList)) {
for (ComboxGoods goods : productGroupList) {
originalString.append(goods.toString());
if (CollectionUtils.isNotEmpty(goods.getProductMaterialList())) {
goods.getProductMaterialList().stream().sorted(Comparator.comparing(MaterialGoods::getSpuId)).forEach(e -> originalString.append(e.getSpuId()));
}
}
}
if (CollectionUtils.isNotEmpty(productMaterialList)) {
......
......@@ -513,7 +513,7 @@ public class CalculationServiceImpl {
//单品、多规格加料
if(CollectionUtils.isNotEmpty(cartGoods.getProductMaterialList())){
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()){
materialPrice+= materialGoods.getFinalPrice() * cartGoods.getQty();
materialPrice+= (null != materialGoods.getFinalPrice() ? materialGoods.getFinalPrice() : 0) * (null != cartGoods.getQty() ? cartGoods.getQty() : 0);
}
}
return materialPrice;
......
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