Commit 050b0795 by 徐康

Merge branch '2020/10/06-随单购买月享卡-huiyang' into develop

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartGoodsResponseVo.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
parents cf5a4592 f335b1ef
...@@ -480,7 +480,8 @@ public class OrderSdkAdapter { ...@@ -480,7 +480,8 @@ public class OrderSdkAdapter {
//老订单服务 1=配送费;3=包装费 //老订单服务 1=配送费;3=包装费
if (QueryOrderAccountType.DELIVERY_AMOUNT.equals(accountRequest.getAccountType()) if (QueryOrderAccountType.DELIVERY_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.PACK_AMOUNT.equals(accountRequest.getAccountType()) || QueryOrderAccountType.PACK_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.CARD_ORIGINAL_AMOUNT.equals(accountRequest.getAccountType())) { || QueryOrderAccountType.CARD_ORIGINAL_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.MCCAFE_MONTH_CARD.equals(accountRequest.getAccountType())) {
OrderCostCreateReq orderCostCreateReq = new OrderCostCreateReq(); OrderCostCreateReq orderCostCreateReq = new OrderCostCreateReq();
orderCostCreateReq.setCostName(accountRequest.getName()); orderCostCreateReq.setCostName(accountRequest.getName());
//新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量 //新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量
...@@ -520,7 +521,7 @@ public class OrderSdkAdapter { ...@@ -520,7 +521,7 @@ public class OrderSdkAdapter {
* @return * @return
*/ */
private Integer getCostType(QueryOrderAccountType queryOrderAccountType) { private Integer getCostType(QueryOrderAccountType queryOrderAccountType) {
// 订单费用类型 1=包装费,2=运费,3=餐盒单价,4=餐盒数量,5=会员卡费用 // 订单费用类型 1=包装费,2=运费,3=餐盒单价,4=餐盒数量,5=会员卡费用,10=麦咖啡月卡
Integer type = 0; Integer type = 0;
String code = queryOrderAccountType.getCode(); String code = queryOrderAccountType.getCode();
...@@ -534,6 +535,9 @@ public class OrderSdkAdapter { ...@@ -534,6 +535,9 @@ public class OrderSdkAdapter {
case "CARD_ORIGINAL_AMOUNT": case "CARD_ORIGINAL_AMOUNT":
type = 5; type = 5;
break; break;
case "MCCAFE_MONTH_CARD":
type = 10;
break;
default: default:
break; break;
} }
......
...@@ -38,7 +38,9 @@ public enum QueryOrderAccountType { ...@@ -38,7 +38,9 @@ public enum QueryOrderAccountType {
ONLINE_PAY("ONLINE_PAY", "线上支付"), ONLINE_PAY("ONLINE_PAY", "线上支付"),
FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"), FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"),
OFFLINE_PAY("OFFLINE_PAY", "线下支付"), OFFLINE_PAY("OFFLINE_PAY", "线下支付"),
MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"); MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"),
MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"),
;
private String code; private String code;
private String desc; private String desc;
......
...@@ -261,6 +261,16 @@ public class OrderAdapter { ...@@ -261,6 +261,16 @@ public class OrderAdapter {
.build(); .build();
orderAccountDtos.add(createOrderAccountDto); orderAccountDtos.add(createOrderAccountDto);
} }
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee()) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("麦咖啡月卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.MCCAFE_MONTH_CARD)
.sequence(orderAccountIndex++)
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList()); createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
//设置库存扣减 //设置库存扣减
...@@ -1185,6 +1195,18 @@ public class OrderAdapter { ...@@ -1185,6 +1195,18 @@ public class OrderAdapter {
//商品信息转换 //商品信息转换
convent2ProductVos(ordersBean.getProductList(), responseVo); convent2ProductVos(ordersBean.getProductList(), responseVo);
responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails())); responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails()));
if(CollectionUtils.isNotEmpty(ordersBean.getOrderCostDetailList())) {
ordersBean.getOrderCostDetailList().forEach(o -> {
if(o.getCostType() == 10) {
ProductVo productVo = new ProductVo();
productVo.setName(o.getCostName());
productVo.setSpuName(o.getCostName());
productVo.setFinalPrice(o.getCostAmount().longValue());
productVo.setOriginalPrice(o.getActualCostAmount().longValue());
responseVo.getProducts().add(productVo);
}
});
}
Long promotionAmount = 0L; Long promotionAmount = 0L;
Long deliveryAmount = 0L; Long deliveryAmount = 0L;
Long packageAmount = 0L; Long packageAmount = 0L;
...@@ -1957,10 +1979,14 @@ public class OrderAdapter { ...@@ -1957,10 +1979,14 @@ public class OrderAdapter {
discountTotalAmount = discountTotalAmount + productDiscount.getDiscountAmount()*productDiscount.getDiscountQty(); discountTotalAmount = discountTotalAmount + productDiscount.getDiscountAmount()*productDiscount.getDiscountQty();
if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) { if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
hasProductCoupon = true; hasProductCoupon = true;
productVo.setName(productDiscount.getDiscountDesc()); if("啡常月享卡".equals(productDiscount.getDiscountDesc())) {
productVo.setSpuName(productDiscount.getDiscountDesc()); productVo.setCouponName(productDiscount.getDiscountDesc());
productVo.setExtras(""); } else {
productVo.setSpecification(""); productVo.setName(productDiscount.getDiscountDesc());
productVo.setSpuName(productDiscount.getDiscountDesc());
productVo.setExtras("");
productVo.setSpecification("");
}
} }
if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) { if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) {
activityType = ActivityTypeEnum.TYPE_61.getCode(); activityType = ActivityTypeEnum.TYPE_61.getCode();
......
...@@ -95,6 +95,11 @@ public class ShoppingCartGoodsDto { ...@@ -95,6 +95,11 @@ public class ShoppingCartGoodsDto {
*/ */
private String discountDeliveryActivityCode; private String discountDeliveryActivityCode;
/**
* 麦咖啡-咖啡月卡价格
*/
private Long payCardFee;
@Data @Data
public static class CartGoodsDetailDto { public static class CartGoodsDetailDto {
/** /**
......
...@@ -133,6 +133,11 @@ public class ProductVo { ...@@ -133,6 +133,11 @@ public class ProductVo {
private String unit; private String unit;
/** /**
* 优惠券名称
*/
private String couponName;
/**
* 1.5.5版本添加 * 1.5.5版本添加
* 商品参与活动类型(61:买一赠一) * 商品参与活动类型(61:买一赠一)
*/ */
......
...@@ -216,8 +216,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -216,8 +216,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
@Autowired @Autowired
private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager; private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager;
@Autowired @Autowired
private PaymentNewClient paymentNewClient;
@Autowired
private CacheOpenPlatformPartnerWxappConfigManager cacheOpenPlatformPartnerWxappConfigManager; private CacheOpenPlatformPartnerWxappConfigManager cacheOpenPlatformPartnerWxappConfigManager;
@Autowired @Autowired
private OrderAdapterService orderAdapterService; private OrderAdapterService orderAdapterService;
......
package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.BuryingPointBigDto;
import cn.freemud.entities.dto.BuryingPointResDto;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @program: micro_progeram_service
* @description: 大数据
* @author: xinqi.wang
* @create: 2019-02-22 11:12
**/
@FeignClient(name = "BIGDATACLIENT", url = "${saas.bigdataclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface BigDataFeiginClient {
@PostMapping("/collector/v2/buryPoint")
public BuryingPointResDto syncLoginData(BuryingPointBigDto buryingPointBigDto);
}
\ No newline at end of file
package cn.freemud.service.thirdparty;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author liming.guo
* @date 2018/5/11
* @description 会员服务
*/
@FeignClient(name = "member-product-application", url = "${saas.memberproductclient.feign.url:}")
@RequestMapping(value = "/member", produces = {"application/json;charset=UTF-8"})
public interface MemberProductClient {
// /**
// * 根据聚道注册会员New
// */
// @PostMapping(value = "/product/user/registerbychannel")
// MemberRegisterResponseDto registerByChannel(@RequestBody MemberRegisterRequestDto memberRegisterRequestDto);
// /**
// * 根据渠道信息查询会员信息New
// */
// @PostMapping(value = "/product/user/getmemberinfobychannel")
// GetMemberInfoByChannelResponseDto getMemberInfoByChannel(@RequestBody GetMemberInfoByChannelRequestDto getMemberInfoByChannelRequestDto);
// /**
// * 修改unionidNew
// */
// @PostMapping(value = "/product/user/updateuserunionId")
// JSONObject updateUserUnionId(@RequestBody UpdateMemUnionIdRequestDto updateMemUnionIdRequestDto);
// /**
// * 根据会员id获取会员信息New
// */
// @PostMapping(value = "/product/user/getmemberinfobyid")
// GetMemberInfoByIdResponseDto getMemberInfoById(@RequestBody GetMemberInfoByIdRequestDto getMemberInfoByIdRequestDto);
//
// /**
// * 会员资料修改New
// */
// @PostMapping(value = "/product/user/perfectinfobyid")
// JSONObject editMemberInfo(@RequestBody EditMemberInfoRequestDto editMemberInfoRequestDto);
//
//
// /**
// * 获取用户收货地址列表
// */
// @PostMapping(value = "/product/user/receivelist")
// GetReceiveAddressListResponseDto getReceiveAddressList(@RequestBody GetReceiveAddressListDto getReceiveListDto);
//
// /**
// * 新增收货地址
// */
// @PostMapping(value = "/product/user/receiveadd")
// AddReceiveAddressResponseDto addReceiveAddress(@RequestBody AddReceiveAddressDto addReceiveDto);
//
// /**
// * 修改收货地址
// */
// @PostMapping(value = "/product/user/receiveupdate")
// UpdateReceiveAddressResponseDto updateReceiveAddress(@RequestBody UpdateReceiveAddressDto updateReceiveAddressDto);
//
// /**
// * 删除收货地址
// */
// @PostMapping(value = "/product/user/receivedelete")
// DeleteReceiveAddressResponseDto deleteReceiveAddress(@RequestBody DeleteReceiveAddressDto deleteReceiveAddressDto);
//
// /**
// * 查询收货距离
// */
// @PostMapping(value = "/product/user/receivequerydistance")
// QueryReceiveDistanceResponseDto queryReceiveAddressDistance(@RequestBody QueryReceiveDistanceDto dto);
//
// /**
// * 查询收货地址详情
// */
// @PostMapping(value = "/product/user/receivequerybyid")
// QueryReceiveAddressResponseDto queryReceiveAddressById(@RequestBody QueryReceiveAddressDto queryReceiveAddressDto);
// /**
// * 会员优惠券列表
// */
// @PostMapping(value = "/product/coupon/getmembercouponlist")
// GetMemberCouponListResponseDto getMemberCouponListRequestDto(@RequestBody GetMemberCouponListRequestDto getMemberCouponListRequestDto);
}
package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.AddUserOrderEvaluationNewRequestVo;
import cn.freemud.entities.vo.AddUserOrderEvaluationRequestVo;
import cn.freemud.entities.vo.GetEvaluationDetailByOrderIdRequestVo;
import cn.freemud.entities.vo.GetEvaluationStatusNewRequestVo;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(name = "MICRO-SUPPORT-SERVICE",url = "${saas.microsupportclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface MicroSupportClient {
@PostMapping("/evaluation/addEvaluationDetail")
BaseResponse addEvaluationDetail(@RequestBody AddUserOrderEvaluationRequestVo request);
@PostMapping("/evaluation/addEvaluationDetailNew")
BaseResponse addEvaluationDetailNew(@RequestBody AddUserOrderEvaluationNewRequestVo request);
@PostMapping("/evaluation/getEvaluteDetailByOrderId")
BaseResponse getEvaluteDetailByOrderId(@RequestBody GetEvaluationDetailByOrderIdRequestVo request);
@PostMapping("/evaluation/getEvaluationStatus")
BaseResponse getEvaluationStatus(@RequestBody GetEvaluationDetailByOrderIdRequestVo request);
@PostMapping("/evaluation/getEvaluationStatusNew")
BaseResponse getEvaluationStatusNew(@RequestBody GetEvaluationStatusNewRequestVo request);
}
/** ///**
* All rights Reserved, Designed By www.freemud.cn // * All rights Reserved, Designed By www.freemud.cn
* // *
* @Title: PaymentClient // * @Title: PaymentClient
* @Package cn.freemud.service.thirdparty // * @Package cn.freemud.service.thirdparty
* @Description: 支付服务 // * @Description: 支付服务
* @author: liming.guo // * @author: liming.guo
* @date: 2018/5/12519:24 // * @date: 2018/5/12519:24
* @version V1.0 // * @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. // * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 // * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ // */
//
package cn.freemud.service.thirdparty; //package cn.freemud.service.thirdparty;
//
import cn.freemud.entities.dto.*; //import cn.freemud.entities.dto.*;
import org.springframework.cloud.netflix.feign.FeignClient; //import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; //import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
//
//
@FeignClient(name = "payment-service",url="${saas.paymentclient.feign.url}") //@FeignClient(name = "payment-service",url="${saas.paymentclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"}) //@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface PaymentClient { //public interface PaymentClient {
//
/** // /**
* 统一下单 // * 统一下单
*/ // */
@PostMapping("/api?token=1234") // @PostMapping("/api?token=1234")
OrderPayResponseDto orderPay(@RequestBody OrderPayDto orderPayDto); // OrderPayResponseDto orderPay(@RequestBody OrderPayDto orderPayDto);
//
/** // /**
* 支付退款 // * 支付退款
*/ // */
@PostMapping("/api?token=2345") // @PostMapping("/api?token=2345")
String orderRefund(@RequestBody OrderRefundDto orderRefundDto); // String orderRefund(@RequestBody OrderRefundDto orderRefundDto);
//
/** // /**
* 支付查询 // * 支付查询
*/ // */
@PostMapping("/api?token=4567") // @PostMapping("/api?token=4567")
QueryOrderPayInfoResponseDto queryOrderPayInfo(@RequestBody QueryOrderPayInfoDto queryOrderPayInfoDto); // QueryOrderPayInfoResponseDto queryOrderPayInfo(@RequestBody QueryOrderPayInfoDto queryOrderPayInfoDto);
//
//
} //}
/** ///**
* All rights Reserved, Designed By www.freemud.cn // * All rights Reserved, Designed By www.freemud.cn
* // *
* @Title: WeChatClient // * @Title: WeChatClient
* @Package cn.freemud.service.thirdparty // * @Package cn.freemud.service.thirdparty
* @Description: // * @Description:
* @author: liming.guo // * @author: liming.guo
* @date: 2018/5/29 16:10 // * @date: 2018/5/29 16:10
* @version V1.0 // * @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. // * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 // * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ // */
package cn.freemud.service.thirdparty; //package cn.freemud.service.thirdparty;
//
import cn.freemud.entities.dto.GetWxQrcodeDto; //import cn.freemud.entities.dto.GetWxQrcodeDto;
import cn.freemud.entities.dto.WeChatGetAccessTokenResponseDto; //import cn.freemud.entities.dto.WeChatGetAccessTokenResponseDto;
import cn.freemud.entities.dto.WechatSendMessageDto; //import cn.freemud.entities.dto.WechatSendMessageDto;
import org.springframework.cloud.netflix.feign.FeignClient; //import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.MediaType; //import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
@FeignClient(name = "WECHAT-SERVICE", url = "${saas.wechatclient.feign.url}") //@FeignClient(name = "WECHAT-SERVICE", url = "${saas.wechatclient.feign.url}")
public interface WeChatClient { //public interface WeChatClient {
//
/** // /**
* 小程序登录 获取用户openId 和 sercetKey // * 小程序登录 获取用户openId 和 sercetKey
* // *
* @param appid 小程序appId // * @param appid 小程序appId
* @param secret 小程序appSecret // * @param secret 小程序appSecret
* @param jsCode code // * @param jsCode code
* @param grantType authorization_code // * @param grantType authorization_code
* @return // * @return
*/ // */
@GetMapping(value = "/sns/jscode2session",produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) // @GetMapping(value = "/sns/jscode2session",produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
String getSession(@RequestParam("appid") String appid, @RequestParam("secret") String secret, // String getSession(@RequestParam("appid") String appid, @RequestParam("secret") String secret,
@RequestParam("js_code") String jsCode, @RequestParam("grant_type") String grantType); // @RequestParam("js_code") String jsCode, @RequestParam("grant_type") String grantType);
//
//
/** // /**
* 小程序登录 获取用户openId 和 sercetKey 小程序授权模式 // * 小程序登录 获取用户openId 和 sercetKey 小程序授权模式
*/ // */
@GetMapping(value = "/sns/component/jscode2session", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) // @GetMapping(value = "/sns/component/jscode2session", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
String getCode2session(@RequestParam("appid") String appid, @RequestParam("js_code") String code, // String getCode2session(@RequestParam("appid") String appid, @RequestParam("js_code") String code,
@RequestParam("grant_type") String authorizationCode, @RequestParam("component_appid") String componentAppid, // @RequestParam("grant_type") String authorizationCode, @RequestParam("component_appid") String componentAppid,
@RequestParam("component_access_token") String componentAccessToken); // @RequestParam("component_access_token") String componentAccessToken);
//
//
/** // /**
* 获取小程序access_token // * 获取小程序access_token
*/ // */
@GetMapping(value = "/cgi-bin/token", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) // @GetMapping(value = "/cgi-bin/token", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
WeChatGetAccessTokenResponseDto getAccessToken(@RequestParam("grant_type") String grantType, @RequestParam("appid") String appid, // WeChatGetAccessTokenResponseDto getAccessToken(@RequestParam("grant_type") String grantType, @RequestParam("appid") String appid,
@RequestParam("secret") String secret); // @RequestParam("secret") String secret);
//
//
/** // /**
* 获取小程序码 // * 获取小程序码
*/ // */
@PostMapping(value = "wxa/getwxacodeunlimit?access_token=12_-kLukRhVUNHrX2JFwSTHK7ZjAkSAKRQuReFhmoZKGywkUbBNTWoR8IDHbfN0jA1ot_i2xlhkV89tKUqM8hDBsAMPlg6d6p0YnqufZY5B-pFzG_JH7rbb43Lcc3gnNAvHQLrD-rpRg3LGi5VDYERgAFADJW", // @PostMapping(value = "wxa/getwxacodeunlimit?access_token=12_-kLukRhVUNHrX2JFwSTHK7ZjAkSAKRQuReFhmoZKGywkUbBNTWoR8IDHbfN0jA1ot_i2xlhkV89tKUqM8hDBsAMPlg6d6p0YnqufZY5B-pFzG_JH7rbb43Lcc3gnNAvHQLrD-rpRg3LGi5VDYERgAFADJW",
produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) // produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
String getWxacodeunlimit(@RequestBody GetWxQrcodeDto getWxQrcodeDto); // String getWxacodeunlimit(@RequestBody GetWxQrcodeDto getWxQrcodeDto);
//
@PostMapping(value = "/cgi-bin/message/wxopen/template/send?access_token={accessToken}", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE, // @PostMapping(value = "/cgi-bin/message/wxopen/template/send?access_token={accessToken}", produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) // consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
String sendMessageNotice(@PathVariable("accessToken") String accessToken, @RequestBody WechatSendMessageDto wechatSendMessageDto); // String sendMessageNotice(@PathVariable("accessToken") String accessToken, @RequestBody WechatSendMessageDto wechatSendMessageDto);
//
//
//
//
//
//
} //}
package cn.freemud.service.thirdparty; //package cn.freemud.service.thirdparty;
//
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto; //import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
import cn.freemud.entities.dto.wechat.GetTokenResponseDto; //import cn.freemud.entities.dto.wechat.GetTokenResponseDto;
import org.springframework.cloud.netflix.feign.FeignClient; //import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; //import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
//
@FeignClient(name = "WECHAT-APPLICATION-SERVICE",url = "${saas.wechatserviceclient.feign.url}") //@FeignClient(name = "WECHAT-APPLICATION-SERVICE",url = "${saas.wechatserviceclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"}) //@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface WechatApplicationServiceClient { //public interface WechatApplicationServiceClient {
//
@PostMapping(value = "/token/application/delivery/getTokenForDelivery") // @PostMapping(value = "/token/application/delivery/getTokenForDelivery")
GetTokenResponseDto getToken(@RequestBody GetAuthorizerRequestDto request); // GetTokenResponseDto getToken(@RequestBody GetAuthorizerRequestDto request);
} //}
//
package cn.freemud.service.thirdparty; //package cn.freemud.service.thirdparty;
//
import org.springframework.cloud.netflix.feign.FeignClient; //import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.MediaType; //import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; //import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; //import org.springframework.web.bind.annotation.RequestHeader;
//
/** ///**
* All rights Reserved, Designed By www.freemud.cn // * All rights Reserved, Designed By www.freemud.cn
* // *
* @version V1.6.0 // * @version V1.6.0
* @Title: WechatMchClient // * @Title: WechatMchClient
* @Package cn.freemud.service.thirdparty // * @Package cn.freemud.service.thirdparty
* @Description: 简单描述下这个类是做什么用的 // * @Description: 简单描述下这个类是做什么用的
* @author: hang.chai // * @author: hang.chai
* @date: 2019/3/12 14:57 // * @date: 2019/3/12 14:57
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved. // * @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 // * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ // */
@FeignClient(name = "WECHATMCH-SERVICE", url = "${saas.wechatmchclient.feign.url}") //@FeignClient(name = "WECHATMCH-SERVICE", url = "${saas.wechatmchclient.feign.url}")
public interface WechatMchClient { //public interface WechatMchClient {
//
/** // /**
* 点餐订单信息同步到微信 // * 点餐订单信息同步到微信
*/ // */
@PostMapping(value = "v3/catering/orders/sync-status", produces = MediaType.APPLICATION_JSON_VALUE ,consumes = MediaType.APPLICATION_JSON_VALUE ) // @PostMapping(value = "v3/catering/orders/sync-status", produces = MediaType.APPLICATION_JSON_VALUE ,consumes = MediaType.APPLICATION_JSON_VALUE )
String syncStatus(@RequestHeader("Authorization") String authorizatio, @RequestBody String syncStatusDto); // String syncStatus(@RequestHeader("Authorization") String authorizatio, @RequestBody String syncStatusDto);
} //}
...@@ -25,7 +25,7 @@ import cn.freemud.entities.vo.OrderRefundVo; ...@@ -25,7 +25,7 @@ import cn.freemud.entities.vo.OrderRefundVo;
import cn.freemud.enums.ActivityTypeEnum; import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.ApportionType; import cn.freemud.enums.ApportionType;
import cn.freemud.service.impl.OrderServiceImpl; import cn.freemud.service.impl.OrderServiceImpl;
import cn.freemud.service.thirdparty.PaymentClient; //import cn.freemud.service.thirdparty.PaymentClient;
import cn.freemud.utils.ValidationCode; import cn.freemud.utils.ValidationCode;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -55,8 +55,8 @@ import java.util.List; ...@@ -55,8 +55,8 @@ import java.util.List;
@EnableAutoConfiguration @EnableAutoConfiguration
public class OrderServiceTest { public class OrderServiceTest {
@Autowired // @Autowired
private PaymentClient paymentClient; // private PaymentClient paymentClient;
@Autowired @Autowired
private OrderServiceImpl orderService; private OrderServiceImpl orderService;
@Autowired @Autowired
...@@ -137,28 +137,28 @@ public class OrderServiceTest { ...@@ -137,28 +137,28 @@ public class OrderServiceTest {
// orderService.sendPaySuccessMessage(orderBean); // orderService.sendPaySuccessMessage(orderBean);
} }
@Test // @Test
public void orderRefund() { // public void orderRefund() {
OrderRefundDto orderRefundDto = new OrderRefundDto(); // OrderRefundDto orderRefundDto = new OrderRefundDto();
orderRefundDto.setVer(2); // orderRefundDto.setVer(2);
orderRefundDto.setReqtype(62); // orderRefundDto.setReqtype(62);
orderRefundDto.setUnifyid("66077052-0288-4113-b520-7aeee3ab86cb"); // orderRefundDto.setUnifyid("66077052-0288-4113-b520-7aeee3ab86cb");
orderRefundDto.setRefund_id(System.currentTimeMillis() + Long.valueOf(ValidationCode.getRandomNumber(5))); // orderRefundDto.setRefund_id(System.currentTimeMillis() + Long.valueOf(ValidationCode.getRandomNumber(5)));
orderRefundDto.setStore_id("fm99999"); // orderRefundDto.setStore_id("fm99999");
orderRefundDto.setStation_id("1"); // orderRefundDto.setStation_id("1");
orderRefundDto.setOperator_id("1"); // orderRefundDto.setOperator_id("1");
orderRefundDto.setTrans_id("111103004053082672"); // orderRefundDto.setTrans_id("111103004053082672");
orderRefundDto.setOpenid("ob0iP4nIyQrS9Ye-vgKOlsc2QGm8"); // orderRefundDto.setOpenid("ob0iP4nIyQrS9Ye-vgKOlsc2QGm8");
List<OrderRefundDto.TransactionBean> transactionBeans = Lists.newArrayList(); // List<OrderRefundDto.TransactionBean> transactionBeans = Lists.newArrayList();
OrderRefundDto.TransactionBean transactionBean = new OrderRefundDto.TransactionBean(); // OrderRefundDto.TransactionBean transactionBean = new OrderRefundDto.TransactionBean();
transactionBean.setFmid("ZHL1407O1555433903"); // transactionBean.setFmid("ZHL1407O1555433903");
transactionBean.setRefund_count(1L); // transactionBean.setRefund_count(1L);
transactionBeans.add(transactionBean); // transactionBeans.add(transactionBean);
orderRefundDto.setTransactions(transactionBeans); // orderRefundDto.setTransactions(transactionBeans);
String json = paymentClient.orderRefund(orderRefundDto); // String json = paymentClient.orderRefund(orderRefundDto);
System.out.println("json===" + json); // System.out.println("json===" + json);
//
} // }
// @Test // @Test
// public void getAccessToken() { // public void getAccessToken() {
......
/** ///**
* All rights Reserved, Designed By www.freemud.cn // * All rights Reserved, Designed By www.freemud.cn
* // *
* @Title: WeChatServiceTest // * @Title: WeChatServiceTest
* @Package cn.freemud.service // * @Package cn.freemud.service
* @Description: // * @Description:
* @author: liming.guo // * @author: liming.guo
* @date: 2018/6/6 16:35 // * @date: 2018/6/6 16:35
* @version V1.0 // * @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. // * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 // * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ // */
package cn.freemud.service; //package cn.freemud.service;
//
import cn.freemud.entities.dto.GetWxQrcodeDto; //import cn.freemud.entities.dto.GetWxQrcodeDto;
import cn.freemud.entities.dto.WeChatGetAccessTokenResponseDto; //import cn.freemud.entities.dto.WeChatGetAccessTokenResponseDto;
import cn.freemud.entities.dto.WechatSendMessageDto; //import cn.freemud.entities.dto.WechatSendMessageDto;
import cn.freemud.service.thirdparty.WeChatClient; //import cn.freemud.service.thirdparty.WeChatClient;
import org.junit.Test; //import org.junit.Test;
import org.junit.runner.RunWith; //import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; //import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest; //import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; //import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients; //import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner; //import org.springframework.test.context.junit4.SpringRunner;
//
import java.util.HashMap; //import java.util.HashMap;
import java.util.Map; //import java.util.Map;
//
@RunWith(SpringRunner.class) //@RunWith(SpringRunner.class)
@SpringBootTest //@SpringBootTest
@EnableDiscoveryClient //@EnableDiscoveryClient
@EnableFeignClients //@EnableFeignClients
@EnableAutoConfiguration //@EnableAutoConfiguration
public class WeChatServiceTest { //public class WeChatServiceTest {
//
@Autowired // @Autowired
private WeChatClient weChatClient; // private WeChatClient weChatClient;
//
@Test // @Test
public void getAccessToken() { // public void getAccessToken() {
String appid = "wx2eba2ce69704a6c7"; // String appid = "wx2eba2ce69704a6c7";
String secret = "df050cb30e30b51b8133e06d44d72b9a"; // String secret = "df050cb30e30b51b8133e06d44d72b9a";
String grantType = "client_credential"; // String grantType = "client_credential";
WeChatGetAccessTokenResponseDto responseDto = weChatClient.getAccessToken(grantType, appid, secret); // WeChatGetAccessTokenResponseDto responseDto = weChatClient.getAccessToken(grantType, appid, secret);
System.out.println("token==" + responseDto); // System.out.println("token==" + responseDto);
} // }
//
@Test // @Test
public void getWxQrcode() { // public void getWxQrcode() {
//
GetWxQrcodeDto getWxQrcodeDto = new GetWxQrcodeDto(); // GetWxQrcodeDto getWxQrcodeDto = new GetWxQrcodeDto();
getWxQrcodeDto.setScene("1036"); // getWxQrcodeDto.setScene("1036");
getWxQrcodeDto.setPage(""); // getWxQrcodeDto.setPage("");
getWxQrcodeDto.setWidth(430); // getWxQrcodeDto.setWidth(430);
String str = weChatClient.getWxacodeunlimit(getWxQrcodeDto); // String str = weChatClient.getWxacodeunlimit(getWxQrcodeDto);
System.out.println("wxqrcode==" + str); // System.out.println("wxqrcode==" + str);
//
} // }
//
@Test // @Test
public void sendMessageNotice() { // public void sendMessageNotice() {
String accessToken = "17_0NEPvs2YJRxR3bpjOhon2FHEcpn9ue8SBzpyHRFSpyTvjUyvuJIJsKL0i0at-pY7Dou3JWuO6-K6O8aC2cJBS6fjjronQ32p5EYYRfPxHc5z9qAn1q-gDPQl04N7_t0lPnj8HYbIjmwAbWKEPFKdADDCSX"; // String accessToken = "17_0NEPvs2YJRxR3bpjOhon2FHEcpn9ue8SBzpyHRFSpyTvjUyvuJIJsKL0i0at-pY7Dou3JWuO6-K6O8aC2cJBS6fjjronQ32p5EYYRfPxHc5z9qAn1q-gDPQl04N7_t0lPnj8HYbIjmwAbWKEPFKdADDCSX";
String touser = "oORZK5LUxVZyFgqCuzTEHstJOGaI";//ovf0Y40GNyl2qg5QwiZLsB11LeIM oORZK5LUxVZyFgqCuzTEHstJOGaI // String touser = "oORZK5LUxVZyFgqCuzTEHstJOGaI";//ovf0Y40GNyl2qg5QwiZLsB11LeIM oORZK5LUxVZyFgqCuzTEHstJOGaI
String templateId = "20kl3uQeiYO7PvrL-z7O6qswiPDSR2sndPT5prC_KiQ"; // String templateId = "20kl3uQeiYO7PvrL-z7O6qswiPDSR2sndPT5prC_KiQ";
String page = "pages/orderDetails?oid=133149780875544839&pageFrom=msg"; // String page = "pages/orderDetails?oid=133149780875544839&pageFrom=msg";
String formId = "wx10182702359930512694f8b01502942951";//ee10bbef7f845522920f36c65bb645ec // String formId = "wx10182702359930512694f8b01502942951";//ee10bbef7f845522920f36c65bb645ec
String color = "#FF0000"; // String color = "#FF0000";
String emphasisKeyword = "keyword1.DATA"; // String emphasisKeyword = "keyword1.DATA";
WechatSendMessageDto.content content = new WechatSendMessageDto.content(); // WechatSendMessageDto.content content = new WechatSendMessageDto.content();
Map map1 = new HashMap(); // Map map1 = new HashMap();
WechatSendMessageDto.content.keyword keyword1 = new WechatSendMessageDto.content.keyword(); // WechatSendMessageDto.content.keyword keyword1 = new WechatSendMessageDto.content.keyword();
WechatSendMessageDto.content.keyword keyword2 = new WechatSendMessageDto.content.keyword(); // WechatSendMessageDto.content.keyword keyword2 = new WechatSendMessageDto.content.keyword();
WechatSendMessageDto.content.keyword keyword3 = new WechatSendMessageDto.content.keyword(); // WechatSendMessageDto.content.keyword keyword3 = new WechatSendMessageDto.content.keyword();
keyword1.setValue("114"); // keyword1.setValue("114");
keyword1.setColor("#173177"); // keyword1.setColor("#173177");
content.setKeyword1(keyword1); // content.setKeyword1(keyword1);
keyword2.setValue("肥猫"); // keyword2.setValue("肥猫");
keyword2.setColor("#173177"); // keyword2.setColor("#173177");
content.setKeyword2(keyword2); // content.setKeyword2(keyword2);
keyword3.setValue("非码网络科技有限公司"); // keyword3.setValue("非码网络科技有限公司");
keyword3.setColor("#173177"); // keyword3.setColor("#173177");
content.setKeyword3(keyword3); // content.setKeyword3(keyword3);
WechatSendMessageDto wechatSendMessageDto = new WechatSendMessageDto(); // WechatSendMessageDto wechatSendMessageDto = new WechatSendMessageDto();
wechatSendMessageDto.setTemplate_id(templateId); // wechatSendMessageDto.setTemplate_id(templateId);
wechatSendMessageDto.setForm_id(formId); // wechatSendMessageDto.setForm_id(formId);
wechatSendMessageDto.setTouser(touser); // wechatSendMessageDto.setTouser(touser);
wechatSendMessageDto.setData(content); // wechatSendMessageDto.setData(content);
wechatSendMessageDto.setPage(page); // wechatSendMessageDto.setPage(page);
wechatSendMessageDto.setEmphasis_keyword(emphasisKeyword); // wechatSendMessageDto.setEmphasis_keyword(emphasisKeyword);
String str = weChatClient.sendMessageNotice(accessToken, wechatSendMessageDto); // String str = weChatClient.sendMessageNotice(accessToken, wechatSendMessageDto);
System.out.println("getTemplateMessage==" + str); // System.out.println("getTemplateMessage==" + str);
//
} // }
} //}
...@@ -13,8 +13,10 @@ import cn.freemud.management.service.handle.*; ...@@ -13,8 +13,10 @@ import cn.freemud.management.service.handle.*;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient; import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto; import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.sdk.api.assortment.message.enums.OrderType; import com.freemud.sdk.api.assortment.message.enums.OrderType;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -110,6 +112,15 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -110,6 +112,15 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
}else { }else {
//支付退款 //支付退款
PayRefundResponse refundResponse = paymentHandle.refund(orderManagerRequest, orderBean); PayRefundResponse refundResponse = paymentHandle.refund(orderManagerRequest, orderBean);
//随单购月卡进行卡作废
if (CollectionUtils.isNotEmpty(orderBean.getOrderCostDetailList())){
OrderCostResp orderCostResp = orderBean.getOrderCostDetailList().stream().filter(t -> 10 == t.getCostType()).findFirst().orElse(null);
if (orderCostResp != null){
String note = orderCostResp.getNote();
// todo 调用券码作废券接口
}
}
//订单拒单 //订单拒单
saasOrderHandle.orderReject(orderManagerRequest, refundResponse, orderBean); saasOrderHandle.orderReject(orderManagerRequest, refundResponse, orderBean);
//冲正库存 //冲正库存
......
...@@ -225,5 +225,9 @@ public class InterfaceAddressConstant { ...@@ -225,5 +225,9 @@ public class InterfaceAddressConstant {
public static final String PARKING_V2_REVOKE = "/parking/v2/revoke"; public static final String PARKING_V2_REVOKE = "/parking/v2/revoke";
/**
* 修改费用表购买的优惠券和优惠表使用的优惠券
*/
public static final String UPDATE_COST_COUPONCODE = "/order/v2/mcCafe/updateCostCouponCode";
} }
package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: UpdateCouponCodeReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: ping1.wu
* @date: 2020/10/8 16:50
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class UpdateCouponCodeReq {
private String orderCode;
//发券券号
private String couponCode;
//配置券号
private String oldCouponCode;
}
...@@ -887,4 +887,17 @@ public class OrderSdkService { ...@@ -887,4 +887,17 @@ public class OrderSdkService {
return responseHandle(responseDTO); return responseHandle(responseDTO);
} }
/**
* 修改费用表购买的优惠券和优惠表使用的优惠券
* @param request
* @param trackingNo
* @return
*/
public BaseResponse updateCostCouponCode(UpdateCouponCodeReq request, String trackingNo) {
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, UPDATE_COST_COUPONCODE,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
} }
...@@ -65,6 +65,10 @@ public class ActivityCalculationDiscountRequestDto { ...@@ -65,6 +65,10 @@ public class ActivityCalculationDiscountRequestDto {
private Long distributionFee; private Long distributionFee;
/** /**
* 购买月卡费用(分)
*/
private Long payCardFee;
/**
* 是否是会员 * 是否是会员
*/ */
private Boolean isMember; private Boolean isMember;
......
...@@ -99,6 +99,10 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -99,6 +99,10 @@ public class ActivityCalculationDiscountResponseDto {
* 优惠后 配送费 * 优惠后 配送费
*/ */
private Long distributionFee; private Long distributionFee;
/**
* 麦咖啡,月卡金额
*/
private Long payCardFee;
@Data @Data
......
...@@ -122,6 +122,10 @@ public class ShoppingCartGoodsDto { ...@@ -122,6 +122,10 @@ public class ShoppingCartGoodsDto {
*/ */
private String discountDeliveryActivityCode; private String discountDeliveryActivityCode;
/**
* 麦咖啡-咖啡月卡价格
*/
private Long payCardFee;
@Data @Data
public static class CartGoodsDetailDto { public static class CartGoodsDetailDto {
......
...@@ -140,4 +140,10 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV ...@@ -140,4 +140,10 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
* 运费券 * 运费券
*/ */
private String freightCouponCode; private String freightCouponCode;
/**
* 麦咖啡-咖啡月卡价格
*/
private Long payCardFee;
} }
...@@ -87,6 +87,16 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -87,6 +87,16 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
*/ */
private String menuType ; private String menuType ;
/**
* 随单购是否购买月享卡
* 1:不购买,2:月卡续费,3:新购月卡
*/
private String buyMonthlyCard;
/**
* 月享卡卡号
*/
private String monthlyCardCode;
@Data @Data
public final static class SendGoods { public final static class SendGoods {
/** /**
......
...@@ -84,12 +84,13 @@ public class CalculationServiceImpl { ...@@ -84,12 +84,13 @@ public class CalculationServiceImpl {
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult updateShoppingCartGoodsDiscount(String partnerId, String storeId, String userId, String appId, Integer orderType, public ActivityCalculationDiscountResponseDto.CalculationDiscountResult updateShoppingCartGoodsDiscount(String partnerId, String storeId, String userId, String appId, Integer orderType,
boolean isMember, String menuType, String receiveId,String couponCode, boolean isMember, String menuType, String receiveId,String couponCode,
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons,
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo) { List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo,
Long payCardFee) {
Long deliveryAmount = calculateDeliveryAmount(receiveId, partnerId, storeId, menuType); Long deliveryAmount = calculateDeliveryAmount(receiveId, partnerId, storeId, menuType);
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = getCalculationDiscount(partnerId, storeId, userId, appId, orderType, isMember, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = getCalculationDiscount(partnerId, storeId, userId, appId, orderType, isMember,
menuType, deliveryAmount, cartGoodsList, coupons, sendGoodsList); menuType, deliveryAmount, cartGoodsList, coupons, sendGoodsList,payCardFee);
updateDiscount(calculationDiscount, cartGoodsList, shoppingCartGoodsResponseVo,deliveryAmount); updateDiscount(calculationDiscount, cartGoodsList, shoppingCartGoodsResponseVo,deliveryAmount);
//满减 //满减
ActivityQueryDto activityQueryDto = fullPromotionCalculation.getActivityQueryDto(partnerId, storeId, userId, appId, orderType); ActivityQueryDto activityQueryDto = fullPromotionCalculation.getActivityQueryDto(partnerId, storeId, userId, appId, orderType);
...@@ -111,7 +112,7 @@ public class CalculationServiceImpl { ...@@ -111,7 +112,7 @@ public class CalculationServiceImpl {
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getCalculationDiscount( public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getCalculationDiscount(
String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember, String menuType, Long deliveryAmount, String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember, String menuType, Long deliveryAmount,
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList) { List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, Long payCardFee) {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>();
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
...@@ -141,6 +142,7 @@ public class CalculationServiceImpl { ...@@ -141,6 +142,7 @@ public class CalculationServiceImpl {
discountRequest.setOrgIds(commonService.getOrgIds(partnerId, storeId)); discountRequest.setOrgIds(commonService.getOrgIds(partnerId, storeId));
discountRequest.setDistributionFee(deliveryAmount); discountRequest.setDistributionFee(deliveryAmount);
discountRequest.setIsMember(isMember); discountRequest.setIsMember(isMember);
discountRequest.setPayCardFee(payCardFee);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto; ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
try { try {
activityCalculationDiscountResponseDto = activityClient.calculationDiscountSharing(discountRequest); activityCalculationDiscountResponseDto = activityClient.calculationDiscountSharing(discountRequest);
...@@ -166,6 +168,8 @@ public class CalculationServiceImpl { ...@@ -166,6 +168,8 @@ public class CalculationServiceImpl {
shoppingCartGoodsDto.setOriginalTotalAmount(shoppingCartGoodsResponseVo.getOriginalTotalAmount()); shoppingCartGoodsDto.setOriginalTotalAmount(shoppingCartGoodsResponseVo.getOriginalTotalAmount());
shoppingCartGoodsDto.setTotalAmount(shoppingCartGoodsResponseVo.getTotalAmount()); shoppingCartGoodsDto.setTotalAmount(shoppingCartGoodsResponseVo.getTotalAmount());
shoppingCartGoodsDto.setTotalDiscountAmount(shoppingCartGoodsResponseVo.getTotalDiscountAmount()); shoppingCartGoodsDto.setTotalDiscountAmount(shoppingCartGoodsResponseVo.getTotalDiscountAmount());
//随单购 月卡价格
shoppingCartGoodsDto.setPayCardFee(shoppingCartGoodsResponseVo.getPayCardFee());
shoppingCartGoodsDto.setDeliveryAmount(shoppingCartGoodsResponseVo.getDeliveryAmount()); shoppingCartGoodsDto.setDeliveryAmount(shoppingCartGoodsResponseVo.getDeliveryAmount());
shoppingCartGoodsDto.setDiscountDeliveryAmount(shoppingCartGoodsResponseVo.getDiscountDeliveryAmount()); shoppingCartGoodsDto.setDiscountDeliveryAmount(shoppingCartGoodsResponseVo.getDiscountDeliveryAmount());
...@@ -453,6 +457,7 @@ public class CalculationServiceImpl { ...@@ -453,6 +457,7 @@ public class CalculationServiceImpl {
shoppingCartGoodsResponseVo.setOriginalTotalAmount(calculationDiscount == null ? totalOriginalAmount : calculationDiscount.getOriginalTotalAmount()); shoppingCartGoodsResponseVo.setOriginalTotalAmount(calculationDiscount == null ? totalOriginalAmount : calculationDiscount.getOriginalTotalAmount());
shoppingCartGoodsResponseVo.setTotalAmount(calculationDiscount == null ? totalAmount : calculationDiscount.getTotalAmount()); shoppingCartGoodsResponseVo.setTotalAmount(calculationDiscount == null ? totalAmount : calculationDiscount.getTotalAmount());
shoppingCartGoodsResponseVo.setPayCardFee(calculationDiscount == null ? 0L : calculationDiscount.getPayCardFee() );
shoppingCartGoodsResponseVo.setOriginalTotalAmount(shoppingCartGoodsResponseVo.getOriginalTotalAmount() + totalPackgeAmount); shoppingCartGoodsResponseVo.setOriginalTotalAmount(shoppingCartGoodsResponseVo.getOriginalTotalAmount() + totalPackgeAmount);
shoppingCartGoodsResponseVo.setTotalAmount(shoppingCartGoodsResponseVo.getTotalAmount() + totalPackgeAmount); shoppingCartGoodsResponseVo.setTotalAmount(shoppingCartGoodsResponseVo.getTotalAmount() + totalPackgeAmount);
shoppingCartGoodsResponseVo.setNewPackAmount(totalPackgeAmount); shoppingCartGoodsResponseVo.setNewPackAmount(totalPackgeAmount);
......
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