Commit c3447b89 by 李学兴

Merge branch 'master' into 20210702-日志规范-lxx

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
#	order-application-service/src/main/java/cn/freemud/service/thirdparty/ActivityApplicationClient.java
parents 73c7ee60 236f2051
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
<dependency> <dependency>
<artifactId>assortment-data-manager</artifactId> <artifactId>assortment-data-manager</artifactId>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
<version>5.5.12.SNAPSHOT</version> <version>5.5.16.RESEALE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud.commons</groupId> <groupId>cn.freemud.commons</groupId>
......
...@@ -198,10 +198,10 @@ public class OrderController { ...@@ -198,10 +198,10 @@ public class OrderController {
/** /**
* 取消支付订单 * 蜜雪APP 取消支付订单
*/ */
@ApiAnnotation(logMessage = "cancelPayOrder") @ApiAnnotation(logMessage = "cancelPayOrder")
@PostMapping("/cancelPayOrder") @PostMapping({"/cancelPayOrder","/deleteOrderById"})
public BaseResponse cancelPayOrder(@Validated @LogParams @RequestBody DeleteOrderVo deleteOrderVo) { public BaseResponse cancelPayOrder(@Validated @LogParams @RequestBody DeleteOrderVo deleteOrderVo) {
return orderservice.cancelPayOrder(deleteOrderVo); return orderservice.cancelPayOrder(deleteOrderVo);
} }
...@@ -218,12 +218,12 @@ public class OrderController { ...@@ -218,12 +218,12 @@ public class OrderController {
/** /**
* 取消支付删除订单 * 取消支付删除订单
*/ */
@ApiAnnotation(logMessage = "deleteOrderById") // @ApiAnnotation(logMessage = "deleteOrderById")
@PostMapping("/deleteOrderById") // @PostMapping("/deleteOrderById")
public BaseResponse deleteOrderById(@Validated @LogParams @RequestBody DeleteOrderVo deleteOrderVo) { // public BaseResponse deleteOrderById(@Validated @LogParams @RequestBody DeleteOrderVo deleteOrderVo) {
//return orderservice.deleteOrderById(deleteOrderVo); // //return orderservice.deleteOrderById(deleteOrderVo);
return orderservice.cancelPayOrder(deleteOrderVo); // return orderservice.cancelPayOrder(deleteOrderVo);
} // }
/** /**
* 用户申请退款 * 用户申请退款
......
...@@ -19,4 +19,7 @@ public class WechatCouponInfoVo { ...@@ -19,4 +19,7 @@ public class WechatCouponInfoVo {
private List<SendCouponParamsVo> send_coupon_params; private List<SendCouponParamsVo> send_coupon_params;
private String sign;
} }
package cn.freemud.entities.dto.pay;
import lombok.Data;
@Data
public class MultiPaymentRespDto {
private String ebCode;
private String endTransTradeNo;
private String fmTradeNo;
private Integer mcouponAmount;
private String outOrderNo;
private Integer payAmount;
private Integer pcouponAmount;
private String platformTradeNo;
private String status;
private String transId;
private String ver;
private String appId;
private String userId;
private String platformMchId;
private String tradeTime;
private String transCurrency;
}
package cn.freemud.entities.dto.pay;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class MultiQueryRequest {
/**
* 开启渠道端查询,默认不开启
*/
private boolean enable_platform_data_query;
/**
* 外部交易流水号,由上游系统生成,需保证唯一(支付标识)
*/
private String outOrderNo;
/**
* 商户编号(由非码提供)
*/
private Integer partnerId;
/**
* 商家门店号(在线支付需要提前定义)
*/
private String storeId;
/**
* 接口版本,默认30
*/
private String ver;
}
package cn.freemud.entities.dto.pay;
import lombok.Data;
import java.util.List;
/**
* 聚合查询返回
*/
@Data
public class MultiQueryRespDto<T> {
private int code;
private String msg;
private T data;
@lombok.Data
public class Data {
public List<MultiPaymentRespDto> queryList;
}
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ package cn.freemud.manager; ...@@ -3,6 +3,7 @@ package cn.freemud.manager;
import cn.freemud.constant.RedisKeyConstant; import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.enums.OrderType; import cn.freemud.enums.OrderType;
import cn.freemud.enums.OrderTackCodeRuleEnum; import cn.freemud.enums.OrderTackCodeRuleEnum;
import cn.freemud.utils.LogUtil;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentTackCodeRule; import com.freemud.api.assortment.datamanager.entity.db.AssortmentTackCodeRule;
import com.freemud.api.assortment.datamanager.manager.AssortmentTackCodeRuleManager; import com.freemud.api.assortment.datamanager.manager.AssortmentTackCodeRuleManager;
import com.freemud.sdk.api.assortment.order.request.order.ConfirmOrderRequest; import com.freemud.sdk.api.assortment.order.request.order.ConfirmOrderRequest;
......
...@@ -68,7 +68,7 @@ public interface Orderservice { ...@@ -68,7 +68,7 @@ public interface Orderservice {
/** /**
* 支付取消删除订单 * 支付取消删除订单
*/ */
BaseResponse deleteOrderById(DeleteOrderVo deleteOrderVo); // BaseResponse deleteOrderById(DeleteOrderVo deleteOrderVo);
/** /**
* 订单申请退款 * 订单申请退款
......
...@@ -86,7 +86,11 @@ public class EvaluationServiceImpl implements EvaluationService { ...@@ -86,7 +86,11 @@ public class EvaluationServiceImpl implements EvaluationService {
// 添加订单评价信息 // 添加订单评价信息
InsertOrderEvaluationReqDto insertOrderEvaluationReqDto = evaluationAdapter.convent2InsertOrderEvaluationReqDto(request, order); InsertOrderEvaluationReqDto insertOrderEvaluationReqDto = evaluationAdapter.convent2InsertOrderEvaluationReqDto(request, order);
// fisherman 有评价有礼数据 就设置到对象中 // fisherman 有评价有礼数据 就设置到对象中
orderEvaluationStatus.setResult(getCheckAndJoinMsg(orderDetailResponse.getData(), request.getSessionId(), request.getOrderId(), null)); CheckAndJoinResponse checkAndJoinMsg = getCheckAndJoinMsg(orderDetailResponse.getData(), request.getSessionId(), request.getOrderId(), null);
orderEvaluationStatus.setResult(checkAndJoinMsg);
if (checkAndJoinMsg !=null) {
insertOrderEvaluationReqDto.setActivityId(checkAndJoinMsg.getActivityId());
}
assortmentEvaluationManager.insertOrderEvaluationDetails(insertOrderEvaluationReqDto); assortmentEvaluationManager.insertOrderEvaluationDetails(insertOrderEvaluationReqDto);
// 添加订单下的商品评价信息 // 添加订单下的商品评价信息
List<AddProductEvaluationReqDto> addProductEvaluationList = request.getProductEvaluationList(); List<AddProductEvaluationReqDto> addProductEvaluationList = request.getProductEvaluationList();
......
...@@ -39,6 +39,9 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto; ...@@ -39,6 +39,9 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.order.FacePayRequestDto; import cn.freemud.entities.dto.order.FacePayRequestDto;
import cn.freemud.entities.dto.order.FacePayResponseDto; import cn.freemud.entities.dto.order.FacePayResponseDto;
import cn.freemud.entities.dto.pay.CombPayResponse; import cn.freemud.entities.dto.pay.CombPayResponse;
import cn.freemud.entities.dto.pay.MultiPaymentRespDto;
import cn.freemud.entities.dto.pay.MultiQueryRequest;
import cn.freemud.entities.dto.pay.MultiQueryRespDto;
import cn.freemud.entities.dto.promotion.*; import cn.freemud.entities.dto.promotion.*;
import cn.freemud.entities.dto.product.AttributeValue; import cn.freemud.entities.dto.product.AttributeValue;
import cn.freemud.entities.dto.product.GroupDetail; import cn.freemud.entities.dto.product.GroupDetail;
...@@ -183,6 +186,8 @@ import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND; ...@@ -183,6 +186,8 @@ import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
public class OrderServiceImpl implements Orderservice { public class OrderServiceImpl implements Orderservice {
private final Integer RESPONSE_SUCCESS_CODE = 100; private final Integer RESPONSE_SUCCESS_CODE = 100;
private static final Integer MULITI_RESPONSE = 200;
private static final String SUCCESS = "SUCCESS";
private static Gson gson = new Gson(); private static Gson gson = new Gson();
...@@ -215,6 +220,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -215,6 +220,9 @@ public class OrderServiceImpl implements Orderservice {
@Value("${query.order.es:true}") @Value("${query.order.es:true}")
private Boolean queryOrderEs; private Boolean queryOrderEs;
@Value("${query.pay.order:true}")
private Boolean queryPayOrder;
@Autowired @Autowired
private AssortmentCloudPrinterManager cloudPrinterManager; private AssortmentCloudPrinterManager cloudPrinterManager;
// @Autowired // @Autowired
...@@ -1656,12 +1664,22 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1656,12 +1664,22 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
OrderBean orderBean = responseDto.getData(); OrderBean orderBean = responseDto.getData();
if (PayStatus.HAVE_PAID.getCode().equals(orderBean.getPayStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "已支付成功");
}
if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单已关闭");
}
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) { if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除"); return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
} }
if (!OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) { if (!OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除"); return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
} }
//关闭预支付
if(queryPayOrder && closePrePay(orderBean)){
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
}
// DeleteOrderDto deleteOrderDto = orderAdapter.convent2DeleteOrderDto(deleteOrderVo.getOid()); // DeleteOrderDto deleteOrderDto = orderAdapter.convent2DeleteOrderDto(deleteOrderVo.getOid());
// //
// DeleteOrderRequest var1 = new DeleteOrderRequest(); // DeleteOrderRequest var1 = new DeleteOrderRequest();
...@@ -1699,6 +1717,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1699,6 +1717,9 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
OrderBean orderBean = responseDto.getData(); OrderBean orderBean = responseDto.getData();
if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单已取消");
}
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) { if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许取消"); return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许取消");
} }
...@@ -1730,43 +1751,43 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1730,43 +1751,43 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(); return ResponseUtil.success();
} }
@Override // @Override
public BaseResponse deleteOrderById(DeleteOrderVo deleteOrderVo) { // public BaseResponse deleteOrderById(DeleteOrderVo deleteOrderVo) {
if (StringUtils.isBlank(deleteOrderVo.getOid())) { // if (StringUtils.isBlank(deleteOrderVo.getOid())) {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空"); // return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空");
} // }
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest(); // BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(deleteOrderVo.getOid()); // baseQueryOrderRequest.setOrderId(deleteOrderVo.getOid());
baseQueryOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo()); // baseQueryOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest); // QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
String string = JSONObject.toJSONString(queryOrderByIdResponse); // String string = JSONObject.toJSONString(queryOrderByIdResponse);
JSONObject jsonObject = JSONObject.parseObject(string); // JSONObject jsonObject = JSONObject.parseObject(string);
QueryOrderByIdResponseDto responseDto = jsonObject.toJavaObject(QueryOrderByIdResponseDto.class); // QueryOrderByIdResponseDto responseDto = jsonObject.toJavaObject(QueryOrderByIdResponseDto.class);
if (!RESPONSE_SUCCESS_CODE.equals(responseDto.getErrcode()) || responseDto.getData() == null) { // if (!RESPONSE_SUCCESS_CODE.equals(responseDto.getErrcode()) || responseDto.getData() == null) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); // return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} // }
OrderBean orderBean = responseDto.getData(); // OrderBean orderBean = responseDto.getData();
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) { // if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除"); // return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
} // }
if (!OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) { // if (!OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除"); // return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
} // }
DeleteOrderDto deleteOrderDto = orderAdapter.convent2DeleteOrderDto(deleteOrderVo.getOid()); // DeleteOrderDto deleteOrderDto = orderAdapter.convent2DeleteOrderDto(deleteOrderVo.getOid());
// // //
DeleteOrderRequest var1 = new DeleteOrderRequest(); // DeleteOrderRequest var1 = new DeleteOrderRequest();
var1.setOrderId(deleteOrderDto.getOrderId()); // var1.setOrderId(deleteOrderDto.getOrderId());
var1.setTrackingNo(LogTreadLocal.getTrackingNo()); // var1.setTrackingNo(LogTreadLocal.getTrackingNo());
var1.setOperator("未支付取消"); // var1.setOperator("未支付取消");
BaseOrderResponse baseOrderResponse = orderCenterSdkService.deleteOrder(var1); // BaseOrderResponse baseOrderResponse = orderCenterSdkService.deleteOrder(var1);
//
if (!RESPONSE_SUCCESS_CODE.equals(baseOrderResponse.getErrcode())) { // if (!RESPONSE_SUCCESS_CODE.equals(baseOrderResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR); // return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR);
} // }
// TODO: 2019/9/10 删除订单通知 // // TODO: 2019/9/10 删除订单通知
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); // backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return ResponseUtil.success(); // return ResponseUtil.success();
} // }
@Override @Override
public BaseResponse orderRefund(OrderRefundVo orderRefundVo) { public BaseResponse orderRefund(OrderRefundVo orderRefundVo) {
...@@ -3782,6 +3803,79 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3782,6 +3803,79 @@ public class OrderServiceImpl implements Orderservice {
orderSdkService.updateAbnormalState(sdkUpdateAbnormalState); orderSdkService.updateAbnormalState(sdkUpdateAbnormalState);
} }
/**
* 关闭预支付
*/
private boolean closePrePay(OrderBean orderBean) {
//是否支付成功
boolean paySuccess = false;
OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
List<QueryOrdersResponse.DataBean.OrderBean.OrderPayItem> orderPayItemList = orderBean.getOrderPayItem();
if (null != orderPayItemList && orderPayItemList.size() > 0) {
Integer partnerId = Integer.valueOf(orderBean.getCompanyId());
MultiQueryRequest request = new MultiQueryRequest();
request.setEnable_platform_data_query(false);
request.setPartnerId(partnerId);
request.setStoreId(orderBean.getShopId());
request.setOutOrderNo(orderBean.getOid());
//查询聚合支付结果
MultiQueryRespDto<MultiQueryRespDto.Data> response = comPayClient.paymentApplicationQuery(request, partnerId);
if (response != null && response.getData() != null && Objects.equals(response.getCode(), MULITI_RESPONSE)) {
List<MultiPaymentRespDto> multiPaymentRespDtoArrayList = response.getData().getQueryList();
if (null != multiPaymentRespDtoArrayList && multiPaymentRespDtoArrayList.size() > 0) {
int successData = 0;
for (MultiPaymentRespDto multiPaymentRespDto : multiPaymentRespDtoArrayList) {
if (Objects.equals(multiPaymentRespDto.getStatus(), SUCCESS)) {
successData++;
}
}
if (successData >= multiPaymentRespDtoArrayList.size()) {
paySuccess = true;
}
}
}
}else {
//判断当前订单是否存在预支付订单
if (extInfo != null && StringUtils.isNotEmpty(extInfo.getFmId())) {
//订单状态未支付且存在预支付订单:
// 1.查询预支付订单支付状态
PaymentQueryRequest paymentQueryRequest = new PaymentQueryRequest();
paymentQueryRequest.setPartnerId(orderBean.getCompanyId());
paymentQueryRequest.setStoreId(orderBean.getShopId());
paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponse> queryResponseBaseResponse = paymentNewService.query(paymentQueryRequest, LogThreadLocal.getTrackingNo());
//判断预支付订单状态
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR);
}
//判断当前预支付订单是否已经支付成功
if (ObjectUtils.equals(TradeState.SUCCESS.getCode(), queryResponseBaseResponse.getData().getTradeState())) {
paySuccess = true;
}
}
}
if(!paySuccess){
PaymentCloseUnifiedOrderRequest closeUnifiedOrderRequest = new PaymentCloseUnifiedOrderRequest();
closeUnifiedOrderRequest.setFmId(extInfo.getFmId());
closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewService.cancelNewUnifiedOrder(closeUnifiedOrderRequest, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
}
}
return paySuccess;
}
/**
* 与 closePrePay 待合并
* @param orderBean
*/
private void closeHistoryPrePay(OrderBean orderBean) { private void closeHistoryPrePay(OrderBean orderBean) {
OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class); OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
......
...@@ -34,15 +34,6 @@ public interface ActivityApplicationClient { ...@@ -34,15 +34,6 @@ public interface ActivityApplicationClient {
@PostMapping("/promotionActivity/payGiftCheckAndJoin") @PostMapping("/promotionActivity/payGiftCheckAndJoin")
public BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftCheckAndJoin(@RequestBody PayGitCheckAndJoinRequestDto requestVo); public BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftCheckAndJoin(@RequestBody PayGitCheckAndJoinRequestDto requestVo);
/**
* 查询可领券活动
* 目前: 评价有礼活动使用
*/
@PostMapping("/promotionActivity/evaluate/checkAndJoin")
public BaseResponse<CheckAndJoinResponse> checkAndJoin(@RequestBody ActivityRequestCommon requestVo);
/** /**
* 同享支付有礼活动验证与参与 * 同享支付有礼活动验证与参与
...@@ -51,4 +42,13 @@ public interface ActivityApplicationClient { ...@@ -51,4 +42,13 @@ public interface ActivityApplicationClient {
*/ */
@PostMapping("/promotionActivity/payGiftShareCheckAndJoin") @PostMapping("/promotionActivity/payGiftShareCheckAndJoin")
BaseResponse<PayGiftCheckAndJoinResponseObj> payGiftCheckAndJoinNew(@RequestBody PayGitCheckAndJoinRequestDto requestVo); BaseResponse<PayGiftCheckAndJoinResponseObj> payGiftCheckAndJoinNew(@RequestBody PayGitCheckAndJoinRequestDto requestVo);
/**
* 查询可领券活动
* 目前: 评价有礼活动使用
*/
@PostMapping("/promotionActivity/evaluate/checkAndJoin")
public BaseResponse<CheckAndJoinResponse> checkAndJoin(@RequestBody ActivityRequestCommon requestVo);
} }
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.pay.CombPayResponse; import cn.freemud.entities.dto.pay.CombPayResponse;
import cn.freemud.entities.dto.pay.MultiQueryRequest;
import cn.freemud.entities.dto.pay.MultiQueryRespDto;
import com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest; import com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -26,11 +28,16 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -26,11 +28,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping(produces = {"application/json;charset=UTF-8"}) @RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface ComPayClient { public interface ComPayClient {
// TODO: 21-4-1 待合并
/** /**
* 统一下单 * 混合支付统一下单
*/ */
@PostMapping("/payment/application/pay") @PostMapping("/payment/application/pay")
CombPayResponse combPay(@RequestBody CombPayRequest combPayRequest, @RequestHeader("partnerId") String partnerId); CombPayResponse combPay(@RequestBody CombPayRequest combPayRequest, @RequestHeader("partnerId") String partnerId);
/**
* 混合支付查询接口
*/
@PostMapping("/payment/application/query")
MultiQueryRespDto<MultiQueryRespDto.Data> paymentApplicationQuery(MultiQueryRequest multiQueryRequest, @RequestHeader("partnerId") Integer partnerId);
} }
...@@ -68,7 +68,7 @@ public interface PromotionActivityClient { ...@@ -68,7 +68,7 @@ public interface PromotionActivityClient {
/** /**
* 根据活动ID查询活动信息 * 根据活动ID查询活动信息
*/ */
@GetMapping("/activities/share/getById") @GetMapping("/activities/share/getActivity")
ActivityGetByIdResponseDto getById(@RequestParam("activityId") Long activityId); ActivityGetByIdResponseDto getById(@RequestParam("activityId") Long activityId);
/** /**
......
...@@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
public interface MulitiPaymentClient { public interface MulitiPaymentClient {
/** /**
* 统一活动查询接口 * 混合支付退款接口
*/ */
@PostMapping("/payment/application/refund") @PostMapping("/payment/application/refund")
MultiOrderRefundResponse paymentApplicationRefund(MultiOrderRefundRequest multiOrderRefundRequest, @RequestHeader("partnerId") String partnerId); MultiOrderRefundResponse paymentApplicationRefund(MultiOrderRefundRequest multiOrderRefundRequest, @RequestHeader("partnerId") String partnerId);
......
...@@ -109,11 +109,12 @@ public class CalculationCommonService { ...@@ -109,11 +109,12 @@ public class CalculationCommonService {
// 需要算上配送券的优惠金额 // 需要算上配送券的优惠金额
Integer discountAmount = 0; Integer discountAmount = 0;
if (CollectionUtils.isNotEmpty(discountResult.getDiscounts())) { if (CollectionUtils.isNotEmpty(discountResult.getDiscounts())) {
// 过滤出配送券金额 // 过滤出配送券金额 和 满减配送费活动金额
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discount = discountResult.getDiscounts().stream().filter(c -> c.getType() != null && c.getType().compareTo(ActivityTypeEnum.TYPE_34.getCode()) == 0).findFirst().orElse(null); double sum = discountResult.getDiscounts().stream()
if (discount != null) { .filter(c -> c.getType() != null && (c.getType().compareTo(ActivityTypeEnum.TYPE_34.getCode()) == 0 || c.getType().compareTo(ActivityTypeEnum.TYPE_14.getCode()) == 0))
discountAmount = discount.getDiscount(); .mapToDouble(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount::getDiscount)
} .sum();
discountAmount = Double.valueOf(sum).intValue();
} }
shoppingCartGoodsResponseVo.setTotalDiscountAmount(discountResult.getTotalDiscountAmount() + discountAmount); shoppingCartGoodsResponseVo.setTotalDiscountAmount(discountResult.getTotalDiscountAmount() + discountAmount);
} }
...@@ -466,7 +467,7 @@ public class CalculationCommonService { ...@@ -466,7 +467,7 @@ public class CalculationCommonService {
goods.setSpuForeignName(mg.getSpuForeignName()); goods.setSpuForeignName(mg.getSpuForeignName());
goods.setSalePrice(mg.getFinalPrice()); goods.setSalePrice(mg.getFinalPrice());
goods.setQty(mg.getQty()); goods.setQty(mg.getQty());
goods.setCustomerCode(cartGoods.getCustomerCode()); goods.setCustomerCode(mg.getCustomerCode());
goods.setOriginalPrice(mg.getOriginalPrice()); goods.setOriginalPrice(mg.getOriginalPrice());
//提前当前行促销 //提前当前行促销
BlockRow blockRow = smallRow.get(goods.getSpuId()); BlockRow blockRow = smallRow.get(goods.getSpuId());
......
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