Commit e7cf567a by 张洪旺

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

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/controller/OrderController.java
#	order-application-service/src/main/java/cn/freemud/service/Orderservice.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents 0c76b274 35eabe2e
...@@ -128,4 +128,4 @@ ...@@ -128,4 +128,4 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>
\ No newline at end of file
...@@ -2,84 +2,22 @@ ...@@ -2,84 +2,22 @@
| 版本号 | 版本说明 | 更新人 | 更新时间 | | 版本号 | 版本说明 | 更新人 | 更新时间 |
| --------------| ------------ | ------------- | ---------- | | --------------| ------------ | ------------- | ---------- |
| 1.0.0-SNAPSHOT | 迁移后包明改为cn.freemud开头第一版 | wuping | 2019-12-16 | | 1.0.0-SNAPSHOT | 迁移后包明改为cn.freemud开头第一版 | wuping | 2019-12-16 |
| 6.4.10.RELEASE| 骑手小费 | 张明警 | 2019-12-26 |
| 1.1.0.RELEASE| 1.9.8需求打包release版本 | 侯书虎 | 2019-12-26 |
| 1.1.1.RELEASE| 1.9.9sessionKey | 胡超 | 20200108 |
| 1.1.2.RELEASE| 1.9.9需求打包release版本 | 丁凯 | 20200108 |
| 1.1.3.RELEASE| 1.9.10需求打包release版本(thirdCateId) | 胡超 | 20200113 |
| 1.1.4.RELEASE| 农工商submit接口 | 侯书虎 | 2020-01-13 |
| 1.1.5.RELEASE| 农工商submit接口(del thirdCateId) | 胡超 | 2020-01-13 |
| 1.1.6.SNAPSHOT| 1.9.11商品组 | 胡超 | 2020-02-05 | | 1.1.6.SNAPSHOT| 1.9.11商品组 | 胡超 | 2020-02-05 |
| 1.1.7.SNAPSHOT| 核销流程更改 | 侯书虎 | 2020-02-10 | | 1.1.7.SNAPSHOT| 核销流程更改 | 侯书虎 | 2020-02-10 |
| 1.1.7.RELEASE| 1.9.11商品组 | 胡超 | 2020-02-13 |
| 1.1.9.RELEASE| pos渠道 | 丁凯 | 2020-02-22 |
| 1.2.0.RELEASE| 开放平台创建订单 | 姜海波 | 2020-02-24 |
| 1.2.1.RELEASE| 基于1.2.0.RELEASE | 丁凯 | 2020-03-04 |
| 1.2.2.RELEASE| 升级RELEASE | wuping | 2020-03-04 |
| 1.1.7-SNAPSHOT| 预约单支付成功接口增加预约任务 | wuping | 2020-03-10 | | 1.1.7-SNAPSHOT| 预约单支付成功接口增加预约任务 | wuping | 2020-03-10 |
| 1.1.8-SNAPSHOT| 预约单接单接口增加预约任务 | wuping | 2020-03-17 | | 1.1.8-SNAPSHOT| 预约单接单接口增加预约任务 | wuping | 2020-03-17 |
| 1.3.1-SNAPSHOT | 判断优化 | 丁凯 | 2020-03-27 |
| 1.4.1-SNAPSHOT | 增加延时队列配置 | 海波 | 2020-04-07 |
| 1.4.2-SNAPSHOT | 核销券码失败订单状态闭环开发 | 侯书虎 | 2020-04-08 |
| 1.4.3-SNAPSHOT | 查询订单返回新增参数 | 侯书虎 | 2020-04-08 |
| 1.4.4-SNAPSHOT | 订单扩展信息 | 丁凯 | 2020-04-13 |
| 1.4.5-SNAPSHOT | 订单app渠道 | 丁凯 | 2020-04-16 |
| 1.4.7-SNAPSHOT | 去掉无用字符写入ext_info | 李小二 | 2020-04-17 |
| 1.4.8-SNAPSHOT | 增加实际配送费 | 海波 | 2020-04-17 |
| 1.5.0-SNAPSHOT | APP渠道 | 丁凯 | 2020-04-22 |
| 1.5.1-SNAPSHOT | oms订单正向操作 | 侯书虎 | 2020-04-23 |
| 1.5.2-SNAPSHOT | 预约单打印 | 海波 | 2020-04-23 |
| 1.5.3-SNAPSHOT | 放开常用方法修饰符 | 李小二 | 2020-04-23 |
| 1.5.4-SNAPSHOT | 优化ES查询sdk方法 | 海波 | 2020-04-24 |
| 1.5.5-SNAPSHOT | 订单渠道类型新增支付宝 | 书虎 | 2020-04-24 |
| 1.5.6-SNAPSHOT | 返回售后单创建时间 | wuping | 2020-04-27 |
| 1.5.7-SNAPSHOT | 取消订单增加任务 | wuping | 2020-04-28 |
| 1.5.8-SNAPSHOT | 费用实体添加字段:实际费用 | 胡超 | 2020-04-29 |
| 1.5.9-SNAPSHOT | oms逆向代码 | 侯书虎 | 2020-05-06 |
| 1.6.0-SNAPSHOT | 增加订单金额字段返回 | 侯书虎 | 2020-05-06 |
| 1.6.1-SNAPSHOT | 增加售后阶段 | 海波 | 2020-05-07 |
| 1.6.2-SNAPSHOT | 增加售后阶段 | 海波 | 2020-05-07 |
| 1.6.3-SNAPSHOT | 发送pos消息中心新增字段 | 侯书虎 | 2020-05-07 |
| 1.6.5-SNAPSHOT | 创建订单增加appid字段 | wuping | 2020-05-08 |
| 1.6.6-SNAPSHOT | 退单增加配送费字段 | 海波 | 2020-05-12 |
| 1.6.7-SNAPSHOT | 开放平台订单详情补全信息 | 茹祥 | 2020-05-12 |
| 1.6.8-SNAPSHOT | 退配送费增加默认值 | 海波 | 2020-05-12 |
| 1.6.9-SNAPSHOT | 券码接口添加组织机构ID | 胡超 | 2020-05-12 |
| 1.7.6-SNAPSHOT | 订单查询返回配送渠道字段 | 雷后领 | 2020-05-14 |
| 1.7.2-SNAPSHOT | 规范extInfo字段 | 侯书虎 | 2020-05-14 |
| 1.7.3-SNAPSHOT | 客如云 | 海波 | 2020-05-14 |
| 1.7.4-SNAPSHOT| 客如云 | 海波 | 2020-05-15 |
| 1.7.6-SNAPSHOT| 订单查询返回配送渠道字段 | 雷后领 | 2020-05-15 |
| 1.7.7-SNAPSHOT| 聚合订单综合查询新增新订单类型 | wuping | 2020-05-15 |
| 1.7.8-SNAPSHOT| 预约单接单后提醒时间区分外卖自提 | wuping | 2020-05-18 |
| 1.8.0-SNAPSHOT| 增加订单支付类型 | 海波 | 2020-05-18 |
| 1.8.1-SNAPSHOT| 增加订单支付类型 | 海波 | 2020-05-18 |
| 1.8.2-SNAPSHOT| 升级券码sdk | 胡超 | 2020-05-18 |
| 1.8.3-SNAPSHOT| 更新基础sdk1.4.8-SNAPSHOT | 海波 | 2020-05-25|
| 1.8.4-SNAPSHOT| 新增活动类型 | 侯书虎 | 2020-05-26 |
| 1.8.5-SNAPSHOT| 客如云增加字段 | 海波 | 2020-05-26 |
| 1.8.6-SNAPSHOT| 增加完成时间戳字段 | 雷后领 | 2020-05-27**** |
| 1.8.7-SNAPSHOT| 修改订单详情配送时间字段 | 茹祥 | 2020-05-27 |
| 1.8.8-SNAPSHOT| 查询非码微店订单下载 | 梁崇福 | 2020-05-28 |
| 1.5.5-SNAPSHOT | 返回售后单创建时间 | wuping | 2020-04-27 |
| 1.5.6-SNAPSHOT | 取消订单增加任务 | wuping | 2020-04-28 |
| 1.6.5-SNAPSHOT | 创建订单增加appid字段 | wuping | 2020-05-08 |
| 1.7.7-SNAPSHOT| 聚合订单综合查询新增新订单类型 | wuping | 2020-05-15 |
| 1.7.8-SNAPSHOT| 预约单接单后提醒时间区分外卖自提 | wuping | 2020-05-18 |
| 1.7.1-SNAPSHOT| 订单查询返回配送渠道字段 | 雷后领 | 2020-05-14 |
| 1.8.6-SNAPSHOT| 增加完成时间戳字段 | 雷后领 | 2020-05-27|
| 1.3.4-SNAPSHOT | 返回售后单创建时间 | wuping | 2020-04-27 |
| 1.3.5-SNAPSHOT | 取消订单增加任务 | wuping | 2020-04-28 |
| 1.7.7-SNAPSHOT| 聚合订单综合查询新增新订单类型 | wuping | 2020-05-15 |
| 1.7.8-SNAPSHOT| 预约单接单后提醒时间区分外卖自提 | wuping | 2020-05-18 |
| 1.8.9-SNAPSHOT | 用户订单和es综合查询接口新增订单业务类型集合 | wuping | 2020-06-01 |
| 1.3.8-SNAPSHOT | 客如云订单信息 | 茹祥 | 2020-04-29 |
| 1.8.9-SNAPSHOT | 用户订单和es综合查询接口新增订单业务类型集合 | wuping | 2020-06-01 |
| 1.8.10-SNAPSHOT | 集点为0时不调用会员接口 | 梁崇福 | 2020-06-01 |
| 1.9.1-SNAPSHOT | 修改客如云接口名 | 海波 | 2020-06-05 |
| 1.9.2-SNAPSHOT| 预约单任务删除 | wuping | 2020-06-05 |
| 1.9.3-SNAPSHOT| 围餐 | dingkai | 2020-06-08 |
| 1.9.4-SNAPSHOT| 券码接口修改为channel_code | 梁崇福 | 2020-06-08 |
| 1.9.5-SNAPSHOT| 商品统计分类编号保存 | wuping | 2020-06-09 |
| 1.9.6-SNAPSHOT| 农工商停车订单 | dingkai | 2020-06-12 |
| 1.9.7-SNAPSHOT| 添加小助手营业额查询 | 梁崇福 | 2020-06-16 |
| 1.9.8-SNAPSHOT| 增加小程序打开场景值scene 升级ordercenter-sdk | 梁崇福 | 2020-06-16 |
| 1.9.91-SNAPSHOT| 升级ordercenter-sdk | 李小二 | 2020-06-28 |
| 2.0.0-SNAPSHOT| 增加payChannel | 李小二 | 2020-06-28 |
| 2.0.3-SNAPSHOT| 围餐使用积分抵扣金额赋值问题 | 谌会阳 | 2020-07-20 |
| 2.0.6-SNAPSHOT| 升级sdk版本| 李小二 | 2020-07-20 |
| 2.0.7-SNAPSHOT| 围餐添加支付渠道字段 | 谌会阳 | 2020-07-23 |
| 2.0.8-SNAPSHOT| 加料商品 | 梁崇福 | 2020-07-27 |
| 2.0.14-SNAPSHOT| 麦咖啡 | 谌会阳 | 2020-08-17 |
| 2.0.15-SNAPSHOT| 升级ordercenter-sdk | 肖家炜 | 2020-08-25 |
| 1.2.3.RELEASE | 预约单升级RELEASE | wuping | 2020-03-18 | | 1.2.3.RELEASE | 预约单升级RELEASE | wuping | 2020-03-18 |
| 1.2.4.RELEASE | 紧急需求 增加骑手电话 | 海波 | 2020-03-19 | | 1.2.4.RELEASE | 紧急需求 增加骑手电话 | 海波 | 2020-03-19 |
| 1.2.5.RELEASE | 满额减配送费 | dingkai | 2020-03-26 | | 1.2.5.RELEASE | 满额减配送费 | dingkai | 2020-03-26 |
...@@ -156,3 +94,5 @@ ...@@ -156,3 +94,5 @@
| 2.1.9-RELEASE | 去掉0元核销优惠券 | 李小二 | 2020-12-14 | | 2.1.9-RELEASE | 去掉0元核销优惠券 | 李小二 | 2020-12-14 |
| 2.1.10-RELEASE | coco | 刘鹏飞 | 2020-12-17 | | 2.1.10-RELEASE | coco | 刘鹏飞 | 2020-12-17 |
| 2.1.11-RELEASE | 农工商添加设备号 | 梁崇福 | 2020-12-17 | | 2.1.11-RELEASE | 农工商添加设备号 | 梁崇福 | 2020-12-17 |
| 2.1.12-RELEASE | coco定制优惠券核销 | 刘鹏飞 | 2020-12-24 |
\ No newline at end of file
...@@ -1384,6 +1384,9 @@ public class OrderSdkAdapter { ...@@ -1384,6 +1384,9 @@ public class OrderSdkAdapter {
case "GATHER_SPOT": case "GATHER_SPOT":
type=221; type=221;
break; break;
case "COCO_PRODUCT_CASH_COUPON":
type=36;
break;
default: default:
break; break;
} }
...@@ -1988,6 +1991,8 @@ public class OrderSdkAdapter { ...@@ -1988,6 +1991,8 @@ public class OrderSdkAdapter {
newOrderAccountType=OldOrderAccountType.MEMBER_PRICE_DISCOUNT.getCode(); newOrderAccountType=OldOrderAccountType.MEMBER_PRICE_DISCOUNT.getCode();
case 99: case 99:
newOrderAccountType=OldOrderAccountType.FREIGHT_COUPON.getCode(); newOrderAccountType=OldOrderAccountType.FREIGHT_COUPON.getCode();
case 36:
newOrderAccountType=OldOrderAccountType.COCO_PRODUCT_CASH_COUPON.getCode();
default: default:
break; break;
} }
......
...@@ -43,7 +43,8 @@ public enum OldOrderAccountType { ...@@ -43,7 +43,8 @@ public enum OldOrderAccountType {
PRICE_DEDUCTION_COUPON(103, "抵价券", "PRICE_DEDUCTION_COUPON"), PRICE_DEDUCTION_COUPON(103, "抵价券", "PRICE_DEDUCTION_COUPON"),
TOTAL_DISCOUNT(205, "优惠总金额", "TOTAL_DISCOUNT"), TOTAL_DISCOUNT(205, "优惠总金额", "TOTAL_DISCOUNT"),
GATHER_SPOT(221, "集点活动","GATHER_SPOT"), GATHER_SPOT(221, "集点活动","GATHER_SPOT"),
MEMBER_PRICE_DISCOUNT(220, "会员价优惠", "MEMBER_PRICE_DISCOUNT"); MEMBER_PRICE_DISCOUNT(220, "会员价优惠", "MEMBER_PRICE_DISCOUNT"),
COCO_PRODUCT_CASH_COUPON(36, "coco商品代金券","COCO_PRODUCT_CASH_COUPON");
private Integer code; private Integer code;
private String desc; private String desc;
......
...@@ -43,6 +43,7 @@ public enum QueryOrderAccountType { ...@@ -43,6 +43,7 @@ public enum QueryOrderAccountType {
MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"), MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"),
MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"), MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"),
WITH_ORDER_BUY_COUPON_FEE("WITH_ORDER_BUY_COUPON_FEE", "随单买月卡"), WITH_ORDER_BUY_COUPON_FEE("WITH_ORDER_BUY_COUPON_FEE", "随单买月卡"),
COCO_PRODUCT_CASH_COUPON("COCO_PRODUCT_CASH_COUPON", "coco商品代金券"),
; ;
private String code; private String code;
......
...@@ -443,4 +443,4 @@ ...@@ -443,4 +443,4 @@
</repository> </repository>
</repositories> </repositories>
</project> </project>
\ No newline at end of file
...@@ -2579,6 +2579,14 @@ public class OrderAdapter { ...@@ -2579,6 +2579,14 @@ public class OrderAdapter {
if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)){ if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)){
return OldOrderAccountType.GATHER_SPOT; return OldOrderAccountType.GATHER_SPOT;
} }
if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)){
return OldOrderAccountType.GATHER_SPOT;
}
// coco商品代金券
if (ActivityTypeEnum.TYPE_36.getCode().equals(activityType)){
return OldOrderAccountType.COCO_PRODUCT_CASH_COUPON;
}
return OldOrderAccountType.BUYM_SENDN; return OldOrderAccountType.BUYM_SENDN;
} }
......
...@@ -407,4 +407,7 @@ public class OrderController { ...@@ -407,4 +407,7 @@ public class OrderController {
} }
} }
package cn.freemud.entities.vo;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
@Data
public class PlatformPaySuccessRequest {
@NotEmpty(message = "orderCode 不能为空")
private String orderCode;
@NotEmpty(message = "商户号 不能为空")
private String partnerId;
}
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import cn.freemud.entities.dto.PromotionMessageDto; import cn.freemud.entities.dto.PromotionMessageDto;
import cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseDto;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Builder; import lombok.Builder;
...@@ -364,14 +365,14 @@ public class QueryOrderResponseVo { ...@@ -364,14 +365,14 @@ public class QueryOrderResponseVo {
private String activityName; private String activityName;
//支付有礼活动号 //支付有礼活动号
private String activityNo; // private String activityNo;
/** /**
* 支付有礼发送方式 * 支付有礼发送方式
* 0-静默发送 * 0-静默发送
* 5-手动发送 * 5-手动发送
*/ */
private Integer activitySendType; // private Integer activitySendType;
//支付有礼领券集合 //支付有礼领券集合
private List<PayGiftCouponVo> coupons; private List<PayGiftCouponVo> coupons;
...@@ -381,32 +382,32 @@ public class QueryOrderResponseVo { ...@@ -381,32 +382,32 @@ public class QueryOrderResponseVo {
/** /**
* 支付有礼奖励类型:1-非码券,2-微信商家券,3-弹窗奖励 * 支付有礼奖励类型:1-非码券,2-微信商家券,3-弹窗奖励
*/ */
private String syncWechat; // private String syncWechat;
/** /**
* 支付有礼活动配图 * 支付有礼活动配图
*/ */
private String activityPicture; // private String activityPicture;
/** /**
* 支付有礼跳转设置(跳转类型) 0:无 5:跳转页面 10:外部小程序 15:跳转商品 20:跳转H5 * 支付有礼跳转设置(跳转类型) 0:无 5:跳转页面 10:外部小程序 15:跳转商品 20:跳转H5
*/ */
private String redirectType; // private String redirectType;
/** /**
* 支付有礼跳转商品 * 支付有礼跳转商品
*/ */
private PayGiftGoodsConfigVo goodsConfig; // private PayGiftGoodsConfigVo goodsConfig;
/** /**
* 支付有礼跳转小程序 * 支付有礼跳转小程序
*/ */
private PayGiftMicroProgramConfigVo microProgramConfig; // private PayGiftMicroProgramConfigVo microProgramConfig;
/** /**
* 支付有礼跳转页面5和20跳转外部H5对应的路径或者URL * 支付有礼跳转页面5和20跳转外部H5对应的路径或者URL
*/ */
private String redirectPage; // private String redirectPage;
/** /**
* 收件人省份 * 收件人省份
...@@ -526,5 +527,13 @@ public class QueryOrderResponseVo { ...@@ -526,5 +527,13 @@ public class QueryOrderResponseVo {
* 是否已选择寄杯 * 是否已选择寄杯
*/ */
private Boolean sendCoupon; private Boolean sendCoupon;
} }
/**
*促销返回参数对象 20201223 提出紧急需求变更
*/
private PayGiftCheckAndJoinResponseDto payGiftReps;
} }
...@@ -55,7 +55,8 @@ public enum ActivityTypeEnum { ...@@ -55,7 +55,8 @@ public enum ActivityTypeEnum {
TYPE_DELIVERY(901, "配送费"), TYPE_DELIVERY(901, "配送费"),
TYPE_211(211, "套餐优惠"), TYPE_211(211, "套餐优惠"),
TYPE_221(221, "集点活动"), TYPE_221(221, "集点活动"),
TYPE_320(320, "会员价优惠"); TYPE_320(320, "会员价优惠"),
TYPE_36(36, "coco商品代金券");
private Integer code; private Integer code;
......
...@@ -26,7 +26,8 @@ public enum OrderAccountType { ...@@ -26,7 +26,8 @@ public enum OrderAccountType {
BUYM_SENDN(24, "买M赠N"), BUYM_SENDN(24, "买M赠N"),
CUSTOMER_SUB(4, "积分扣减"), CUSTOMER_SUB(4, "积分扣减"),
CARD_ORIGINAL_AMOUNT(25, "会员卡原价"), CARD_ORIGINAL_AMOUNT(25, "会员卡原价"),
CARD_DISCOUNT_AMOUNT(26, "会员卡优惠金额"); CARD_DISCOUNT_AMOUNT(26, "会员卡优惠金额"),
COCO_PRODUCT_CASH_COUPON(36, "coco商品代金券");;
private Integer code; private Integer code;
private String desc; private String desc;
......
...@@ -147,4 +147,8 @@ public interface Orderservice { ...@@ -147,4 +147,8 @@ public interface Orderservice {
BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo); BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo);
BaseResponse platformPaysuccess(PlatformPaySuccessRequest requestVo);
} }
...@@ -148,8 +148,10 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -148,8 +148,10 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
// 根据活动号转类型 // 根据活动号转类型
Integer orderAccountType = orderSdkAdapter.getOldOrderAccountType(settlementType); Integer orderAccountType = orderSdkAdapter.getOldOrderAccountType(settlementType);
// 不是商品券、代金券、折扣券不处理
if(!OrderAccountType.COUPON.getCode().equals(orderAccountType) && // 不是商品券、代金券、折扣券、商品代金券不处理
if(!OrderAccountType.COCO_PRODUCT_CASH_COUPON.getCode().equals(orderAccountType) &&
!OrderAccountType.COUPON.getCode().equals(orderAccountType) &&
!OrderAccountType.PRODUCT_COUPON.getCode().equals(orderAccountType) && !OrderAccountType.PRODUCT_COUPON.getCode().equals(orderAccountType) &&
!OrderAccountType.DISCOUNT_COUPON.getCode().equals(orderAccountType)){ !OrderAccountType.DISCOUNT_COUPON.getCode().equals(orderAccountType)){
continue; continue;
...@@ -158,6 +160,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -158,6 +160,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
if(OrderAccountType.COUPON.getCode().equals(orderAccountType) && "0".equals(orderSettlementInfo.get(0).getProductId())){ if(OrderAccountType.COUPON.getCode().equals(orderAccountType) && "0".equals(orderSettlementInfo.get(0).getProductId())){
// 整单代金券,最后在计算 // 整单代金券,最后在计算
orderSettlementRemain.add(orderSettlementInfo.get(0)); orderSettlementRemain.add(orderSettlementInfo.get(0));
continue;
} }
CouponCodeVerificationTransDto couponCodeVerificationTransDto = new CouponCodeVerificationTransDto(); CouponCodeVerificationTransDto couponCodeVerificationTransDto = new CouponCodeVerificationTransDto();
...@@ -203,10 +206,6 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -203,10 +206,6 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
} }
couponCodeVerificationTransDto.setProducts(products); couponCodeVerificationTransDto.setProducts(products);
//处理第三方外卖单优惠金额信息
if(totalAmount != null && totalAmount.intValue() > 0){
totalAmount = 0 - Math.abs(totalAmount);
}
// 总优惠金额单位:分 // 总优惠金额单位:分
couponCodeVerificationTransDto.setTotalAmount(totalAmount); couponCodeVerificationTransDto.setTotalAmount(totalAmount);
...@@ -227,13 +226,13 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -227,13 +226,13 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
if(!orderSettlementRemain.isEmpty()){ if(!orderSettlementRemain.isEmpty()){
Map<String, IntSummaryStatistics> collect = orderSettlementAlready.stream().collect(Collectors.groupingBy(OrderSettlementResp::getProductId, Collectors.summarizingInt(OrderSettlementResp::getNumber))); Map<String, IntSummaryStatistics> collect = orderSettlementAlready.stream().collect(Collectors.groupingBy(OrderSettlementResp::getProductId, Collectors.summarizingInt(OrderSettlementResp::getNumber)));
log.info("coco订单核销优惠券,orderCode:{},collect:{}",orderBean.getOid(),JSONObject.toJSONString(collect));
for(OrderSettlementResp osr: orderSettlementRemain){ for(OrderSettlementResp osr: orderSettlementRemain){
CouponCodeVerificationTransDto couponCodeVerificationTransFull = new CouponCodeVerificationTransDto(); CouponCodeVerificationTransDto couponCodeVerificationTransFull = new CouponCodeVerificationTransDto();
// 券号 // 券号
couponCodeVerificationTransFull.setCode(osr.getExternalObjectId()); couponCodeVerificationTransFull.setCode(osr.getExternalObjectId());
// 总优惠金额单位:分 // 总优惠金额单位:分
couponCodeVerificationTransFull.setTotalAmount(osr.getSettlementAmount().intValue()); couponCodeVerificationTransFull.setTotalAmount(0 - osr.getSettlementAmount().intValue());
// 订单号 // 订单号
couponCodeVerificationTransFull.setOrderNumber(orderBean.getOid()); couponCodeVerificationTransFull.setOrderNumber(orderBean.getOid());
List<CouponCodeVerificationProductDto> productsFull = new ArrayList<>(); List<CouponCodeVerificationProductDto> productsFull = new ArrayList<>();
...@@ -261,19 +260,25 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -261,19 +260,25 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
couponCodeVerificationDto.setTransactions(transactions); couponCodeVerificationDto.setTransactions(transactions);
try { try {
//71.券核销 for(CouponCodeVerificationTransDto transaction : transactions){
for (int i = 2; i >= 0; i--) { List<CouponCodeVerificationTransDto> transactionsNew = new ArrayList<>();
LogUtil.info("coco核销券码开始==", JSON.toJSONString(couponCodeVerificationDto), null); transactionsNew.add(transaction);
CouponCodeResponseDto couponCodeResponseDto = couponOfflineClient.verification(couponCodeVerificationDto); couponCodeVerificationDto.setTransactions(transactionsNew);
LogUtil.info("coco核销券码返回==", JSON.toJSONString(couponCodeVerificationDto), null); //71.券核销
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(), "/api", couponCodeVerificationDto, couponCodeResponseDto); for (int i = 2; i >= 0; i--) {
if (Objects.equals(couponCodeResponseDto.getStatusCode(), ResponseResult.SUCCESS.getCode())) {
LogUtil.info("coco CocoCouponRelationServiceImpl", JSON.toJSONString(couponCodeVerificationDto), JSON.toJSONString(couponCodeResponseDto)); CouponCodeResponseDto couponCodeResponseDto = couponOfflineClient.verification(couponCodeVerificationDto);
break;
} ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(), "/api", couponCodeVerificationDto, couponCodeResponseDto);
if (!Objects.equals(couponCodeResponseDto.getStatusCode(), ResponseResult.SUCCESS.getCode())) { if (Objects.equals(couponCodeResponseDto.getStatusCode(), ResponseResult.SUCCESS.getCode())) {
emailAlertService.sendEmailAlert("cooc核销券码失败", String.format("request:%s \r\nresponse:%s", JSONObject.toJSONString(couponCodeVerificationDto), JSONObject.toJSONString(couponCodeResponseDto))); log.info("coco 核销券码返回成功,couponCodeVerificationDto:{},couponCodeResponseDto:{},", JSON.toJSONString(couponCodeVerificationDto), JSON.toJSONString(couponCodeResponseDto));
return ResponseUtil.error(ResponseResult.COUPON_VERIFICATION_FAIL); break;
}
if (!Objects.equals(couponCodeResponseDto.getStatusCode(), ResponseResult.SUCCESS.getCode())) {
emailAlertService.sendEmailAlert("cooc核销券码失败", String.format("request:%s \r\nresponse:%s", JSONObject.toJSONString(couponCodeVerificationDto), JSONObject.toJSONString(couponCodeResponseDto)));
log.info("coco 核销券码返回失败,couponCodeVerificationDto:{},couponCodeResponseDto:{},", JSON.toJSONString(couponCodeVerificationDto), JSON.toJSONString(couponCodeResponseDto));
return ResponseUtil.error(ResponseResult.COUPON_VERIFICATION_FAIL);
}
} }
} }
...@@ -283,7 +288,6 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -283,7 +288,6 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
return ResponseUtil.error(ResponseResult.COUPON_VERIFICATION_FAIL); return ResponseUtil.error(ResponseResult.COUPON_VERIFICATION_FAIL);
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -301,7 +305,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -301,7 +305,7 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
QueryOrdersResponseDto.DataBean.OrderBean.ProductBean pb, QueryOrdersResponseDto.DataBean.OrderBean.ProductBean pb,
List<CouponCodeVerificationProductDto> productsFull, List<CouponCodeVerificationProductDto> productsFull,
Integer totalAmountOriFull){ Integer totalAmountOriFull){
Long alreadyNum = collect.get(pb.getProductId()) == null ? 0L : collect.get(pb.getProductId()).getSum(); Long alreadyNum = collect.get(pb.getSpecification()) == null ? 0L : collect.get(pb.getSpecification()).getSum();
Integer num = pb.getNumber(); Integer num = pb.getNumber();
Integer remainNum = num - alreadyNum.intValue(); Integer remainNum = num - alreadyNum.intValue();
if(Objects.equals(remainNum,0)){ if(Objects.equals(remainNum,0)){
...@@ -309,13 +313,17 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService { ...@@ -309,13 +313,17 @@ public class CocoCouponRelationServiceImpl implements CouponRelationService {
} }
// 统计商品 // 统计商品
Integer price = pb.getPrice() == null ? 0 : pb.getPrice().intValue();
if(price.intValue() == 0){
return totalAmountOriFull;
}
CouponCodeVerificationProductDto couponCodeVerificationProductFull = new CouponCodeVerificationProductDto(); CouponCodeVerificationProductDto couponCodeVerificationProductFull = new CouponCodeVerificationProductDto();
couponCodeVerificationProductFull.setConsume_num(remainNum); couponCodeVerificationProductFull.setConsume_num(remainNum);
couponCodeVerificationProductFull.setPID(pb.getProductId()); couponCodeVerificationProductFull.setPID(pb.getProductId());
couponCodeVerificationProductFull.setSeq(pb.getSequence()); couponCodeVerificationProductFull.setSeq(pb.getSequence());
couponCodeVerificationProductFull.setProductName(pb.getProductName()); couponCodeVerificationProductFull.setProductName(pb.getProductName());
Integer price = pb.getPrice() == null ? 0 : pb.getPrice().intValue();
couponCodeVerificationProductFull.setInitPrice(price); couponCodeVerificationProductFull.setInitPrice(price);
couponCodeVerificationProductFull.setNowPrice(price); couponCodeVerificationProductFull.setNowPrice(price);
couponCodeVerificationProductFull.setPayMoney(price); couponCodeVerificationProductFull.setPayMoney(price);
......
...@@ -304,7 +304,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -304,7 +304,7 @@ public class OrderServiceImpl implements Orderservice {
@Autowired @Autowired
private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager; private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager;
@Autowired @Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient; private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Autowired @Autowired
private SvcComPayClient svcComPayClient; private SvcComPayClient svcComPayClient;
...@@ -588,10 +588,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -588,10 +588,10 @@ public class OrderServiceImpl implements Orderservice {
if (message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) { if (message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) {
log.info("调用券码核销==" + message.getTrans_id()); log.info("调用券码核销==" + message.getTrans_id());
verificationCoupon(message.getTrans_id()); verificationCoupon(message.getTrans_id());
log.info("调用券码结束=="+ message.getTrans_id()); log.info("调用券码结束==" + message.getTrans_id());
} }
//支付成功后 //支付成功后
buriedPointService.paySuccessBuridPoint(partnerId,storeId,orderBean); buriedPointService.paySuccessBuridPoint(partnerId, storeId, orderBean);
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
...@@ -617,6 +617,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -617,6 +617,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 开通会员卡 * 开通会员卡
*
* @param partnerId 商户号 * @param partnerId 商户号
* @param ruleId 会员规则ID * @param ruleId 会员规则ID
* @param oid 订单号 * @param oid 订单号
...@@ -943,8 +944,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -943,8 +944,8 @@ public class OrderServiceImpl implements Orderservice {
// coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动 // coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动
// 所以在这个地方排除掉coco,在下边单独实现 // 所以在这个地方排除掉coco,在下边单独实现
//参与支付有礼活动 //参与支付有礼活动
if(!cocoPartnerId.contains(queryOrderVo.getPartnerId())){ if (!cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo,partnerId); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId);
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -954,10 +955,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -954,10 +955,10 @@ public class OrderServiceImpl implements Orderservice {
} }
// coco订单参与支付有礼活动 // coco订单参与支付有礼活动
if(cocoPartnerId.contains(queryOrderVo.getPartnerId())){ if (cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
queryOrderResponseVos.forEach(queryOrderResponseVo -> { queryOrderResponseVos.forEach(queryOrderResponseVo -> {
try { try {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo,partnerId); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId);
} catch (Exception e) { } catch (Exception e) {
LogUtil.error("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e); LogUtil.error("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
...@@ -1177,20 +1178,20 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1177,20 +1178,20 @@ public class OrderServiceImpl implements Orderservice {
@Override @Override
public BaseResponse queryCollageOrderById(Integer operation, String sessionId, String oid, String partnerId, String channel) { public BaseResponse queryCollageOrderById(Integer operation, String sessionId, String oid, String partnerId, String channel) {
BaseResponse orderInfoRes = this.queryOrderById(operation,sessionId, oid,partnerId,channel); BaseResponse orderInfoRes = this.queryOrderById(operation, sessionId, oid, partnerId, channel);
if(null == orderInfoRes.getResult() || !String.valueOf(RESPONSE_SUCCESS_CODE).equals(orderInfoRes.getCode())){ if (null == orderInfoRes.getResult() || !String.valueOf(RESPONSE_SUCCESS_CODE).equals(orderInfoRes.getCode())) {
return orderInfoRes; return orderInfoRes;
} }
// 根据用户聚合商品信息 // 根据用户聚合商品信息
QueryCollageOrderResponseVo queryCollageOrderResponseVo = new QueryCollageOrderResponseVo(); QueryCollageOrderResponseVo queryCollageOrderResponseVo = new QueryCollageOrderResponseVo();
QueryOrderResponseVo queryOrderResponseVo = (QueryOrderResponseVo)orderInfoRes.getResult(); QueryOrderResponseVo queryOrderResponseVo = (QueryOrderResponseVo) orderInfoRes.getResult();
List<ProductVo> productVo = queryOrderResponseVo.getProducts(); List<ProductVo> productVo = queryOrderResponseVo.getProducts();
// 根据用户id分类商品 // 根据用户id分类商品
Map<String,List<ProductVo>> orderItemMap = productVo.stream().collect(Collectors.groupingBy(ProductVo::getUserId)); Map<String, List<ProductVo>> orderItemMap = productVo.stream().collect(Collectors.groupingBy(ProductVo::getUserId));
List<UserProductVo> userProducts = new ArrayList<>(); List<UserProductVo> userProducts = new ArrayList<>();
for(Map.Entry<String,List<ProductVo>> m : orderItemMap.entrySet()){ for (Map.Entry<String, List<ProductVo>> m : orderItemMap.entrySet()) {
List<ProductVo> products = m.getValue(); List<ProductVo> products = m.getValue();
UserProductVo userProductVo = new UserProductVo(); UserProductVo userProductVo = new UserProductVo();
...@@ -1202,7 +1203,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1202,7 +1203,7 @@ public class OrderServiceImpl implements Orderservice {
userProducts.add(userProductVo); userProducts.add(userProductVo);
} }
queryCollageOrderResponseVo = JSONObject.parseObject(JSONObject.toJSONString(queryOrderResponseVo),QueryCollageOrderResponseVo.class); queryCollageOrderResponseVo = JSONObject.parseObject(JSONObject.toJSONString(queryOrderResponseVo), QueryCollageOrderResponseVo.class);
queryCollageOrderResponseVo.setUserProducts(userProducts); queryCollageOrderResponseVo.setUserProducts(userProducts);
return ResponseUtil.success(queryCollageOrderResponseVo); return ResponseUtil.success(queryCollageOrderResponseVo);
...@@ -1224,14 +1225,14 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1224,14 +1225,14 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData(); QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData();
if(!StringUtils.isNotEmpty(orderBean.getAddInfo().getDeliveryId()) || "0".equals(orderBean.getAddInfo().getDeliveryId())){ if (!StringUtils.isNotEmpty(orderBean.getAddInfo().getDeliveryId()) || "0".equals(orderBean.getAddInfo().getDeliveryId())) {
return ResponseUtil.error(ResponseResult.DELIVERY_NOT_EXIST); return ResponseUtil.error(ResponseResult.DELIVERY_NOT_EXIST);
} }
QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest(); QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest();
queryDeliveryBaseRequest.setDeliveryId(orderBean.getAddInfo().getDeliveryId()); queryDeliveryBaseRequest.setDeliveryId(orderBean.getAddInfo().getDeliveryId());
queryDeliveryBaseRequest.setOpenDistance(1); queryDeliveryBaseRequest.setOpenDistance(1);
DeliveryBaseResponse<DeliveryStatusAndRiderPositionDto> deliveryBaseResponse = deliveryFeiginClient.getDeliveryStatusAndRiderPosition(queryDeliveryBaseRequest); DeliveryBaseResponse<DeliveryStatusAndRiderPositionDto> deliveryBaseResponse = deliveryFeiginClient.getDeliveryStatusAndRiderPosition(queryDeliveryBaseRequest);
if(RESPONSE_SUCCESS_CODE != deliveryBaseResponse.getCode() || response.getData() == null){ if (RESPONSE_SUCCESS_CODE != deliveryBaseResponse.getCode() || response.getData() == null) {
return ResponseUtil.error(ResponseResult.DELIVERY_QUERY_RIDER_ERROR); return ResponseUtil.error(ResponseResult.DELIVERY_QUERY_RIDER_ERROR);
} }
OrderRiderResponseVo responseVo = new OrderRiderResponseVo(); OrderRiderResponseVo responseVo = new OrderRiderResponseVo();
...@@ -1247,12 +1248,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1247,12 +1248,12 @@ public class OrderServiceImpl implements Orderservice {
responseVo.setOperationList(operationList); responseVo.setOperationList(operationList);
responseVo.setOrderId(orderBean.getOid()); responseVo.setOrderId(orderBean.getOid());
responseVo.setStorePhone(deliveryBaseResponse.getData().getStorePhone()); responseVo.setStorePhone(deliveryBaseResponse.getData().getStorePhone());
if(deliveryBaseResponse.getData().getCurrentPoint() != null){ if (deliveryBaseResponse.getData().getCurrentPoint() != null) {
String currentPoint[] = deliveryBaseResponse.getData().getCurrentPoint().split(","); String currentPoint[] = deliveryBaseResponse.getData().getCurrentPoint().split(",");
responseVo.setRiderLongitude(currentPoint[0]); responseVo.setRiderLongitude(currentPoint[0]);
responseVo.setRiderLatitude(currentPoint[1]); responseVo.setRiderLatitude(currentPoint[1]);
} }
if(deliveryBaseResponse.getData().getStorePoint() != null){ if (deliveryBaseResponse.getData().getStorePoint() != null) {
String storePoint[] = deliveryBaseResponse.getData().getStorePoint().split(","); String storePoint[] = deliveryBaseResponse.getData().getStorePoint().split(",");
responseVo.setShopLongitude(storePoint[0]); responseVo.setShopLongitude(storePoint[0]);
responseVo.setShopLatitude(storePoint[1]); responseVo.setShopLatitude(storePoint[1]);
...@@ -1269,16 +1270,35 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1269,16 +1270,35 @@ public class OrderServiceImpl implements Orderservice {
public BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo) { public BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo) {
Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans = this.getOrderBeanByOrderId(timeOutOrderVo.getOid()); Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans = this.getOrderBeanByOrderId(timeOutOrderVo.getOid());
if (MapUtils.isEmpty(orderBeans)) { if (MapUtils.isEmpty(orderBeans)) {
ResponseUtil.error("404","订单不存在"); ResponseUtil.error("404", "订单不存在");
} }
QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode()); QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())){ if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())) {
this.timeOutRefund(orderBean); this.timeOutRefund(orderBean);
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
@Override
public BaseResponse platformPaysuccess(PlatformPaySuccessRequest requestVo) {
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(requestVo.getOrderCode());
baseQueryOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(queryOrderByIdResponse.getErrcode()) || queryOrderByIdResponse.getData() == null) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
}
// 扣减储值卡
// 扣减券
// 扣减积分
return ResponseUtil.success();
}
private String getRedpacketsPicture(String activityId) { private String getRedpacketsPicture(String activityId) {
if (StringUtils.isNotBlank(activityId)) { if (StringUtils.isNotBlank(activityId)) {
try { try {
...@@ -1295,7 +1315,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1295,7 +1315,7 @@ public class OrderServiceImpl implements Orderservice {
} }
//参与支付有礼活动 //参与支付有礼活动
private void joinPayGift(String sessionId, QueryOrderResponseVo queryOrderResponseVo,String partnerId) { private void joinPayGift(String sessionId, QueryOrderResponseVo queryOrderResponseVo, String partnerId) {
PayGitCheckAndJoinRequestDto payGitRequestDto = new PayGitCheckAndJoinRequestDto(); PayGitCheckAndJoinRequestDto payGitRequestDto = new PayGitCheckAndJoinRequestDto();
payGitRequestDto.setStoreId(queryOrderResponseVo.getShopId()); payGitRequestDto.setStoreId(queryOrderResponseVo.getShopId());
payGitRequestDto.setSessionId(sessionId); payGitRequestDto.setSessionId(sessionId);
...@@ -1317,24 +1337,29 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1317,24 +1337,29 @@ public class OrderServiceImpl implements Orderservice {
payGitRequestDto.setOrderWay(2); payGitRequestDto.setOrderWay(2);
} }
if(cocoPartnerId.contains(partnerId)){ if (cocoPartnerId.contains(partnerId)) {
payGitRequestDto.setVer(1); payGitRequestDto.setVer(1);
} }
BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftBaseResponse = activityApplicationClient.payGiftCheckAndJoin(payGitRequestDto); BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftBaseResponse = activityApplicationClient.payGiftCheckAndJoin(payGitRequestDto);
if (String.valueOf(RESPONSE_SUCCESS_CODE).equals(payGiftBaseResponse.getCode()) && payGiftBaseResponse.getResult() != null) { if (String.valueOf(RESPONSE_SUCCESS_CODE).equals(payGiftBaseResponse.getCode()) && payGiftBaseResponse.getResult() != null) {
PayGiftCheckAndJoinResponseDto payGiftResponse = payGiftBaseResponse.getResult(); PayGiftCheckAndJoinResponseDto payGiftResponse = payGiftBaseResponse.getResult();
queryOrderResponseVo.setActivityNo(payGiftResponse.getActivityNo()); //版本前 原参数保留,暂不变更
//防止牵扯其他服务返回参数结构引起异常
queryOrderResponseVo.setActivityName(payGiftResponse.getActivityName()); queryOrderResponseVo.setActivityName(payGiftResponse.getActivityName());
queryOrderResponseVo.setCoupons(payGiftResponse.getCoupons()); queryOrderResponseVo.setCoupons(payGiftResponse.getCoupons());
queryOrderResponseVo.setWechatCouponInfo(payGiftResponse.getWechatCouponInfo()); queryOrderResponseVo.setWechatCouponInfo(payGiftResponse.getWechatCouponInfo());
queryOrderResponseVo.setSyncWechat(payGiftResponse.getSyncWechat());
queryOrderResponseVo.setActivityPicture(payGiftResponse.getActivityPicture()); //20201223本次变更-》去掉set,直接以对象进行返参
queryOrderResponseVo.setRedirectType(payGiftResponse.getRedirectType()); queryOrderResponseVo.setPayGiftReps(payGiftResponse);
queryOrderResponseVo.setGoodsConfig(payGiftResponse.getGoodsConfig()); // queryOrderResponseVo.setActivityNo(payGiftResponse.getActivityNo());
queryOrderResponseVo.setMicroProgramConfig(payGiftResponse.getMicroProgramConfig()); // queryOrderResponseVo.setSyncWechat(payGiftResponse.getSyncWechat());
queryOrderResponseVo.setRedirectPage(payGiftResponse.getRedirectPage()); // queryOrderResponseVo.setActivityPicture(payGiftResponse.getActivityPicture());
queryOrderResponseVo.setActivitySendType(payGiftResponse.getSendType()); // queryOrderResponseVo.setRedirectType(payGiftResponse.getRedirectType());
// queryOrderResponseVo.setGoodsConfig(payGiftResponse.getGoodsConfig());
// queryOrderResponseVo.setMicroProgramConfig(payGiftResponse.getMicroProgramConfig());
// queryOrderResponseVo.setRedirectPage(payGiftResponse.getRedirectPage());
// queryOrderResponseVo.setActivitySendType(payGiftResponse.getSendType());
} }
} }
...@@ -1485,12 +1510,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1485,12 +1510,12 @@ public class OrderServiceImpl implements Orderservice {
// 支付有礼 // 支付有礼
// 目前只有coco在订单详情参加支付有礼,且不检查订单的状态 // 目前只有coco在订单详情参加支付有礼,且不检查订单的状态
if(cocoPartnerId.contains(partnerId)){ if (cocoPartnerId.contains(partnerId)) {
joinPayGift(sessionId, queryOrderResponseVo,partnerId); joinPayGift(sessionId, queryOrderResponseVo, partnerId);
} }
buildQueryOrderResponseVo(queryOrderResponseVo,response,partnerId); buildQueryOrderResponseVo(queryOrderResponseVo, response, partnerId);
return ResponseUtil.success(queryOrderResponseVo); return ResponseUtil.success(queryOrderResponseVo);
} }
...@@ -3482,15 +3507,15 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3482,15 +3507,15 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(responses.getData()); return ResponseUtil.success(responses.getData());
} }
public void buildQueryOrderResponseVo(QueryOrderResponseVo queryOrderResponseVo,QueryOrderByIdResponse response,String partnerId) { public void buildQueryOrderResponseVo(QueryOrderResponseVo queryOrderResponseVo, QueryOrderByIdResponse response, String partnerId) {
if(null == response || response.getData() == null || !ObjectUtils.equals(response.getErrcode(),RESPONSE_SUCCESS_CODE) ){ if (null == response || response.getData() == null || !ObjectUtils.equals(response.getErrcode(), RESPONSE_SUCCESS_CODE)) {
ApiLog.info("订单详情查询,返回值错误,QueryOrderByIdResponse",response); ApiLog.info("订单详情查询,返回值错误,QueryOrderByIdResponse", response);
return; return;
} }
OrderRelationService orderRelationService = orderRelationFactory.getQueryOrdrBuildService(partnerId); OrderRelationService orderRelationService = orderRelationFactory.getQueryOrdrBuildService(partnerId);
orderRelationService.queryOrdrBuild(queryOrderResponseVo,response); orderRelationService.queryOrdrBuild(queryOrderResponseVo, response);
} }
...@@ -3552,7 +3577,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3552,7 +3577,6 @@ public class OrderServiceImpl implements Orderservice {
if (combPayResponse==null || !ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(combPayResponse.getCode())) { if (combPayResponse==null || !ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(combPayResponse.getCode())) {
log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}",trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(combPayResponse)); log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}",trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(combPayResponse));
orderPayResponse.setMsg(combPayResponse!=null ? "支付:"+combPayResponse.getMsg() :"混合支付忙不过来啦,请稍后再试"); orderPayResponse.setMsg(combPayResponse!=null ? "支付:"+combPayResponse.getMsg() :"混合支付忙不过来啦,请稍后再试");
return orderPayResponse;
} }
Integer svcAmount = 0; Integer svcAmount = 0;
Integer svcVAmount = 0; Integer svcVAmount = 0;
...@@ -3568,8 +3592,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3568,8 +3592,8 @@ public class OrderServiceImpl implements Orderservice {
.orElse(null); .orElse(null);
//现金+svc 现金 //现金+svc 现金
if (payPlatforms.size()==2 || (payPlatforms.size()==1 && cashPay!=null)) { if (payPlatforms.size() == 2 || (payPlatforms.size() == 1 && cashPay != null)) {
orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(),orderBean.getCompanyId(),storeId); orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(), orderBean.getCompanyId(), storeId);
orderPayResponse.setOpenId(paymentRequest.getOpenId()); orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId()); orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setPartnerId(orderBean.getCompanyId()); orderPayResponse.setPartnerId(orderBean.getCompanyId());
...@@ -3674,28 +3698,29 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3674,28 +3698,29 @@ public class OrderServiceImpl implements Orderservice {
// // TODO: 2019/9/10 hubowen mq推送变更 // // TODO: 2019/9/10 hubowen mq推送变更
// backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); // backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
//} //}
/** /**
* 获取混合支付是否开启 * 获取混合支付是否开启
*
* @param partnerId * @param partnerId
* @return * @return
*/ */
private boolean checkSvcComPay(String partnerId,String storeId) { private boolean checkSvcComPay(String partnerId, String storeId) {
SvcComPayRequestDto requestDto = new SvcComPayRequestDto(); SvcComPayRequestDto requestDto = new SvcComPayRequestDto();
requestDto.setPartnerId(partnerId); requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId); requestDto.setStoreId(storeId);
SvcComPayResponseDto query = null; SvcComPayResponseDto query = null;
for (int i=0;i<3;i++) { for (int i = 0; i < 3; i++) {
query = svcComPayClient.query(requestDto); query = svcComPayClient.query(requestDto);
if (query!=null) break; if (query != null) break;
} }
log.info("order checkSvcComPay:{}",JSON.toJSONString(query)); log.info("order checkSvcComPay:{}", JSON.toJSONString(query));
if (query==null || !ResponseResult.SUCCESS.getCode().equals(query.getCode())) { if (query == null || !ResponseResult.SUCCESS.getCode().equals(query.getCode())) {
return false; return false;
} }
if (query.getResult()!=null && query.getResult().getValue()) { if (query.getResult() != null && query.getResult().getValue()) {
return true; return true;
} } else {
else {
return false; return false;
} }
} }
...@@ -3711,23 +3736,25 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3711,23 +3736,25 @@ public class OrderServiceImpl implements Orderservice {
} }
return map; return map;
} }
/** /**
* 超时回调直接退款 * 超时回调直接退款
*
* @param orderBean * @param orderBean
*/ */
public void timeOutRefund(QueryOrdersResponseDto.DataBean.OrderBean orderBean) { public void timeOutRefund(QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
//调用支付退款 //调用支付退款
log.info("payment timeout callback for refund orderDto={}",JSON.toJSONString(orderBean)); log.info("payment timeout callback for refund orderDto={}", JSON.toJSONString(orderBean));
Integer abState = 4; Integer abState = 4;
String noPay = "8200404"; String noPay = "8200404";
if (abState.equals(orderBean.getAbnormalState()) ) { if (abState.equals(orderBean.getAbnormalState())) {
log.info("payment timeout callback for refund is exist"); log.info("payment timeout callback for refund is exist");
return; return;
} }
com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null; com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null;
Long refundId = System.currentTimeMillis(); Long refundId = System.currentTimeMillis();
OrderExtInfoDto orderExtInfoDTO = gson.fromJson(orderBean.getExtInfo(), OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDTO = gson.fromJson(orderBean.getExtInfo(), OrderExtInfoDto.class);
if (orderExtInfoDTO==null || StringUtils.isBlank(orderExtInfoDTO.getFmId())) { if (orderExtInfoDTO == null || StringUtils.isBlank(orderExtInfoDTO.getFmId())) {
log.info("payment timeout callback for refund not create pre order"); log.info("payment timeout callback for refund not create pre order");
return; return;
} }
...@@ -3738,14 +3765,14 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3738,14 +3765,14 @@ public class OrderServiceImpl implements Orderservice {
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, orderBean.getOid()); com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, orderBean.getOid());
response = standardPaymentService.orderRefund(orderPayRefundRequest, LogTreadLocal.getTrackingNo()); response = standardPaymentService.orderRefund(orderPayRefundRequest, LogTreadLocal.getTrackingNo());
log.info("payment timeout callback for refund orderId={},request={},resp={}",orderBean.getOid(),JSON.toJSONString(orderPayRefundRequest),JSON.toJSONString(response)); log.info("payment timeout callback for refund orderId={},request={},resp={}", orderBean.getOid(), JSON.toJSONString(orderPayRefundRequest), JSON.toJSONString(response));
if (response!=null && noPay.equals(response.getCode())) { if (response != null && noPay.equals(response.getCode())) {
return; return;
} }
if (response!=null || state.equals(response.getData().getRefundStatus())) { if (response != null || state.equals(response.getData().getRefundStatus())) {
sdkUpdateAbnormalState.setAbnormalDesc(desc+",退款成功"); sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款成功");
} else { } else {
sdkUpdateAbnormalState.setAbnormalDesc(desc+",退款失败"); sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款失败");
} }
sdkUpdateAbnormalState.setPartnerId(orderBean.getCompanyId()); sdkUpdateAbnormalState.setPartnerId(orderBean.getCompanyId());
sdkUpdateAbnormalState.setAbnormalState(4); sdkUpdateAbnormalState.setAbnormalState(4);
...@@ -3757,7 +3784,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3757,7 +3784,7 @@ public class OrderServiceImpl implements Orderservice {
OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class); OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
//判断当前订单是否存在预支付订单 //判断当前订单是否存在预支付订单
if(extInfo != null && StringUtils.isNotEmpty(extInfo.getFmId())){ if (extInfo != null && StringUtils.isNotEmpty(extInfo.getFmId())) {
//订单状态未支付且存在预支付订单: //订单状态未支付且存在预支付订单:
// 1.查询预支付订单支付状态 // 1.查询预支付订单支付状态
PaymentQueryRequest paymentQueryRequest = new PaymentQueryRequest(); PaymentQueryRequest paymentQueryRequest = new PaymentQueryRequest();
...@@ -3765,24 +3792,24 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3765,24 +3792,24 @@ public class OrderServiceImpl implements Orderservice {
paymentQueryRequest.setStoreId(orderBean.getShopId()); paymentQueryRequest.setStoreId(orderBean.getShopId());
paymentQueryRequest.setFmId(extInfo.getFmId()); paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2"); paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponse> queryResponseBaseResponse = paymentNewService.query(paymentQueryRequest,LogThreadLocal.getTrackingNo()); com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponse> queryResponseBaseResponse = paymentNewService.query(paymentQueryRequest, LogThreadLocal.getTrackingNo());
//判断预支付订单状态 //判断预支付订单状态
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())){ if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR); throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR);
} }
//判断当前预支付订单是否已经支付成功 //判断当前预支付订单是否已经支付成功
if(ObjectUtils.equals(TradeState.SUCCESS.getCode(), queryResponseBaseResponse.getData().getTradeState())){ if (ObjectUtils.equals(TradeState.SUCCESS.getCode(), queryResponseBaseResponse.getData().getTradeState())) {
throw new ServiceException(ResponseResult.ORDER_HAS_PAID); throw new ServiceException(ResponseResult.ORDER_HAS_PAID);
} }
// 3.取消前一个预支付订单 调用支付取消预支付订单,如果预支付订单已经取消了再调用取消预支付订单接口会报错的 // 3.取消前一个预支付订单 调用支付取消预支付订单,如果预支付订单已经取消了再调用取消预支付订单接口会报错的
if(ObjectUtils.equals(TradeState.NOTPAY.getCode(), queryResponseBaseResponse.getData().getTradeState())) { if (ObjectUtils.equals(TradeState.NOTPAY.getCode(), queryResponseBaseResponse.getData().getTradeState())) {
PaymentCloseUnifiedOrderRequest closeUnifiedOrderRequest = new PaymentCloseUnifiedOrderRequest(); PaymentCloseUnifiedOrderRequest closeUnifiedOrderRequest = new PaymentCloseUnifiedOrderRequest();
closeUnifiedOrderRequest.setFmId(extInfo.getFmId()); closeUnifiedOrderRequest.setFmId(extInfo.getFmId());
closeUnifiedOrderRequest.setVer("2"); closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId()); closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId()); closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewService.cancelNewUnifiedOrder(closeUnifiedOrderRequest,LogThreadLocal.getTrackingNo()); com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewService.cancelNewUnifiedOrder(closeUnifiedOrderRequest, LogThreadLocal.getTrackingNo());
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),cancelNewUnifiedOrder.getCode())){ if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED); throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
} }
} }
......
...@@ -11,7 +11,8 @@ public enum OrderSource { ...@@ -11,7 +11,8 @@ public enum OrderSource {
SAAS("saas", "saas点餐"), SAAS("saas", "saas点餐"),
ALIPAY("alipay", "支付宝"), ALIPAY("alipay", "支付宝"),
EBAI("ebwm", "饿百外卖"), EBAI("ebwm", "饿百外卖"),
DPZHCT("dpzhct", "美团点评智慧餐厅"); DPZHCT("dpzhct", "美团点评智慧餐厅"),
KOUBEI("koubeiwaimai", "口碑外卖");
private String source; private String source;
private String sourceName; private String sourceName;
......
...@@ -31,7 +31,7 @@ public class OrderBeanFactory { ...@@ -31,7 +31,7 @@ public class OrderBeanFactory {
} }
if (OrderSource.BDWM.getSource().equals(source) || OrderSource.JDWM.getSource().equals(source) if (OrderSource.BDWM.getSource().equals(source) || OrderSource.JDWM.getSource().equals(source)
|| OrderSource.MTWM.getSource().equals(source) || OrderSource.ELEME.getSource().equals(source) || OrderSource.FMWD.getSource().equals(source) || OrderSource.EBAI.getSource().equals(source) || OrderSource.MTWM.getSource().equals(source) || OrderSource.ELEME.getSource().equals(source) || OrderSource.FMWD.getSource().equals(source) || OrderSource.EBAI.getSource().equals(source)
|| OrderSource.DPZHCT.getSource().equals(source)){ || OrderSource.DPZHCT.getSource().equals(source) || OrderSource.KOUBEI.getSource().equals(source)){
return applicationContext.getBean(WaimaiOrderMangerServiceImpl.class); return applicationContext.getBean(WaimaiOrderMangerServiceImpl.class);
} }
return applicationContext.getBean(SaasOrderMangerServiceImpl.class); return applicationContext.getBean(SaasOrderMangerServiceImpl.class);
......
...@@ -191,5 +191,10 @@ public class OrderExtInfoDto { ...@@ -191,5 +191,10 @@ public class OrderExtInfoDto {
*/ */
private String stationId; private String stationId;
/**
* 线下订单储值卡支付金额
*/
private Integer svcAmount;
} }
...@@ -13,12 +13,11 @@ ...@@ -13,12 +13,11 @@
package cn.freemud.controller; package cn.freemud.controller;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.GetMemberInfoRequestDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.CreateOrderType;
import cn.freemud.enums.OrderChannelType; import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.service.ShoppingCartNewService; import cn.freemud.service.ShoppingCartNewService;
import cn.freemud.service.ShoppingCartToolsService;
import cn.freemud.service.impl.ShoppingCartMallServiceImpl; import cn.freemud.service.impl.ShoppingCartMallServiceImpl;
import cn.freemud.service.impl.ShoppingCartMealServiceImpl; import cn.freemud.service.impl.ShoppingCartMealServiceImpl;
import cn.freemud.service.impl.ShoppingCartNewServiceImpl; import cn.freemud.service.impl.ShoppingCartNewServiceImpl;
...@@ -28,7 +27,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo ...@@ -28,7 +27,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import com.freemud.api.assortment.datamanager.enums.IappIdType; import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare; import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams; import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -177,4 +175,14 @@ public class ShoppingCartController { ...@@ -177,4 +175,14 @@ public class ShoppingCartController {
return SDKCommonBaseContextWare.getBean(ShoppingCartToolsServiceImpl.class).clear(request); return SDKCommonBaseContextWare.getBean(ShoppingCartToolsServiceImpl.class).clear(request);
} }
/**
* 线下订单查询接口
*/
@ApiAnnotation(logMessage = "/getMemberInfo")
@PostMapping(value = "/getMemberInfo")
public BaseResponse getMemberInfo(@LogParams @RequestBody GetMemberInfoRequestDto request) {
return SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).getMemberInfo(request);
}
} }
...@@ -194,6 +194,7 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -194,6 +194,7 @@ public class ActivityCalculationDiscountResponseDto {
private Integer maxNum; private Integer maxNum;
private Integer exchangeNum; private Integer exchangeNum;
private Integer validityDateDays; private Integer validityDateDays;
private Boolean storeLevel;
} }
@Data @Data
......
package cn.freemud.entities.dto;
import lombok.Data;
import java.util.List;
@Data
public class GetMemberInfoRequestDto {
private String partnerId;
private String mobile;
private String userId;
/**
* 实际支付金额(分)
*/
private Integer actualPayAmount;
/**
* 下单门店号
*/
private String storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 订单原金额(分)
*/
private Integer originalAmount;
/**
* 下单渠道
*/
private Integer orderClient;
/**
* 订单类型
*/
private Integer orderType;
/**
* 支付渠道
*/
private String payChannel;
/**
* 支付渠道名称
*/
private String payChannelName;
/**
* pos编号
*/
private String posCode;
/**
* 操作人
*/
private String operator;
/**
* 是否赠送积分 0是1否
*/
private Integer needBonus;
/**
* 订单商品信息
*/
private List<OrderItemRequest> orderItemList;
@Data
public static class OrderItemRequest {
/**
* 商品序号
*/
private Integer productSeq;
/**
* 平台商品编号
*/
private String productId;
/**
* 商家商品编号
*/
private String thirdProductId;
/**
* 商品名称
*/
private String productName;
/**
* 商品单价(分)
*/
private Integer productPrice;
/**
* 数量
*/
private Integer productQuantity;
/**
* 优惠分摊金额(分)
*/
private Integer productSharePrice;
/**
* 商品单位
*/
private String productWeightUnit;
/**
* 商品重量(克)
*/
private Integer weight;
/**
* 商品规格名称(大杯)
*/
private String productSpecName;
/**
* 商品属性名称(三分糖)
*/
private String productProperty;
/**
* 商家商品分类编号
*/
private String thirdCateCode;
/**
* 是否算积分
*/
private String needBonus;
}
}
package cn.freemud.entities.dto;
import lombok.Data;
import java.util.List;
@Data
public class GetMemberInfoResponseVo {
private String userId;
private Score score;
private List<Coupon> coupons;
private List<Card> cards;
@Data
public static class Score {
/**
* 当前可用积分
*/
private Integer currentScore;
/**
* 积分抵扣金额,单位分
*/
private Integer reduceAmount;
/**
* 抵扣积分
*/
private Integer reduceScore;
}
@Data
public static class Coupon {
/**
* 券名称
*/
private String couponName;
/**
* 券CODE
*/
private String couponCode;
/**
* 券类型 0:商品 券 1:代金券 3 折扣券
*/
private Integer cuoponType;
/**
* 如:2019-10-1 至 2019-10-10 当天有效
*/
private String couponLimit;
/**
* 优惠金额,单位分
*/
private Integer discountAmount;
/**
* 状态:-1:未激活 0:可用(剔除过期) 1:已使用 2:部分使用 3:取消 6:已过期(根据生失效日期) 99:未知(目前暂不支持)
*/
private Integer status;
private List<Product> products;
}
@Data
public static class Product {
/**
* 商户商品编号
*/
private String pid;
/**
* 商品名称
*/
private String name;
/**
* 最大可取商品个数
*/
private Integer number;
/**
* 商品折扣价,以分为单位
*/
private Integer priceAct;
/**
* 原价,以分为单位
*/
private Integer priceOriginal;
/**
* 支付信息
*/
Payment payment;
}
@Data
public static class Payment {
/**
* 线上已付金额,以分为单位
*/
private Integer paid;
/**
* 线下需要收取的金额,以分为单位
*/
private Integer remaining;
}
@Data
public static class Card {
/**
* 实充余额,单位分
*/
private Integer amount;
/**
* 赠送余额,单位分
*/
private Integer vamount;
/**
* 卡规格ID
*/
private String applyId;
/**
* 卡号
*/
private String cardCode;
/**
* 卡名称
*/
private String cardName;
}
}
...@@ -169,6 +169,7 @@ public class CalculationSharingDiscountResponseDto { ...@@ -169,6 +169,7 @@ public class CalculationSharingDiscountResponseDto {
private Integer exchangeNum; private Integer exchangeNum;
private Integer validityDateDays; private Integer validityDateDays;
private Date endTime; private Date endTime;
private Boolean storeLevel;
} }
@Data @Data
......
...@@ -18,9 +18,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; ...@@ -18,9 +18,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -101,6 +99,10 @@ public interface ShoppingCartNewService { ...@@ -101,6 +99,10 @@ public interface ShoppingCartNewService {
List<CartGoods> updateCartGoodsLegal(CartGoods cartGoods, String userId, ShoppingCartGoodsBaseResponseVo shoppingCartGoodsResponseVo, AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<CartGoods> oldAllCartGoodsList); List<CartGoods> updateCartGoodsLegal(CartGoods cartGoods, String userId, ShoppingCartGoodsBaseResponseVo shoppingCartGoodsResponseVo, AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<CartGoods> oldAllCartGoodsList);
default BaseResponse<GetMemberInfoResponseVo> getMemberInfo(GetMemberInfoRequestDto request){
return null;
};
/** /**
* 商品券校验券是否有效 * 商品券校验券是否有效
* *
......
...@@ -15,8 +15,10 @@ package cn.freemud.service.impl; ...@@ -15,8 +15,10 @@ package cn.freemud.service.impl;
import cn.freemud.adapter.ActivityAdapter; import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.adapter.CouponAdapter; import cn.freemud.adapter.CouponAdapter;
import cn.freemud.adapter.ShoppingCartConvertAdapter; import cn.freemud.adapter.ShoppingCartConvertAdapter;
import cn.freemud.base.constant.Version;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.CustomerScoreConstant;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ShoppingCartConstant; import cn.freemud.constant.ShoppingCartConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
...@@ -29,6 +31,8 @@ import cn.freemud.entities.dto.openplatform.WeixinProductResponseDto; ...@@ -29,6 +31,8 @@ import cn.freemud.entities.dto.openplatform.WeixinProductResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint; import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.user.GetSessionUserInfoDto; import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
import cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest;
import cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
...@@ -41,10 +45,7 @@ import cn.freemud.service.impl.calculate.*; ...@@ -41,10 +45,7 @@ import cn.freemud.service.impl.calculate.*;
import cn.freemud.service.shoppingCart.ShoppingCartRelationFactory; import cn.freemud.service.shoppingCart.ShoppingCartRelationFactory;
import cn.freemud.service.shoppingCart.ShoppingCartRelationService; import cn.freemud.service.shoppingCart.ShoppingCartRelationService;
import cn.freemud.service.thirdparty.*; import cn.freemud.service.thirdparty.*;
import cn.freemud.utils.BeanUtil; import cn.freemud.utils.*;
import cn.freemud.utils.PromotionFactory;
import cn.freemud.utils.PropertyConvertUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -52,20 +53,25 @@ import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPa ...@@ -52,20 +53,25 @@ import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPa
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.constant.FMStatusCode;
import com.freemud.application.sdk.api.log.ApiLog; import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.membercenter.request.GetMemberByMobileRequest;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest; import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
import com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest;
import com.freemud.application.sdk.api.membercenter.request.StatisticalScoreRequest;
import com.freemud.application.sdk.api.membercenter.response.GetMemberByMobileResponse;
import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberIdResponse;
import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse; import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse;
import com.freemud.application.sdk.api.membercenter.response.StatisticalScoreResponse;
import com.freemud.application.sdk.api.membercenter.service.MemberCenterService; import com.freemud.application.sdk.api.membercenter.service.MemberCenterService;
import com.freemud.application.sdk.api.membercenter.service.MemberPropertyService;
import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest;
import com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse; import com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmountResponse;
import com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService; import com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.application.sdk.api.promotioncenter.dto.promotion.DiscountDTO;
import com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
...@@ -74,6 +80,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest; ...@@ -74,6 +80,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -174,12 +181,24 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -174,12 +181,24 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Autowired @Autowired
private CalculationSharingValidatorService calculationSharingValidatorService; private CalculationSharingValidatorService calculationSharingValidatorService;
@Autowired
private CustomerExtendClient customerExtendClient;
@Autowired
private MemberPropertyService memberPropertyService;
@Autowired
private CustomScoreClient customScoreClient;
@Value("${saas.cart.sharing}") @Value("${saas.cart.sharing}")
private String sharing; private String sharing;
@Autowired @Autowired
private ShoppingCartRelationFactory shoppingCartRelationFactory; private ShoppingCartRelationFactory shoppingCartRelationFactory;
/** /**
* 从微信卡券向购物车中添加商品 * 从微信卡券向购物车中添加商品
*/ */
...@@ -915,6 +934,159 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -915,6 +934,159 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return ResponseUtil.success(shoppingCartGoodsDto); return ResponseUtil.success(shoppingCartGoodsDto);
} }
@Override
public BaseResponse<GetMemberInfoResponseVo> getMemberInfo(GetMemberInfoRequestDto request) {
GetMemberInfoResponseVo responseData = new GetMemberInfoResponseVo();
/*
GetMemberByMobileRequest getMemberByMobileRequest = new GetMemberByMobileRequest();
getMemberByMobileRequest.setIsHaveChannels("1");
getMemberByMobileRequest.setMobile(request.getMobile());
getMemberByMobileRequest.setPartnerId(request.getPartnerId());
*/
String partnerId = request.getPartnerId();
// com.freemud.application.sdk.api.base.BaseResponse<GetMemberByMobileResponse> memberByMobile = memberCenterService.getMemberByMobile(getMemberByMobileRequest, LogThreadLocal.getTrackingNo());
// String memberId = memberByMobile.getData().getMemberId();
String memberId = request.getUserId();
responseData.setUserId(memberId);
List<GetMemberInfoRequestDto.OrderItemRequest> orderItemList = request.getOrderItemList();
if (CollectionUtils.isEmpty(orderItemList)){
// 优惠券
GetMemberCouponListRequestDto getMemberCouponListRequestDto = new GetMemberCouponListRequestDto(partnerId, memberId);
getMemberCouponListRequestDto.setStatusFlags(Arrays.asList(CouponStatus.STATUS_0.getCode()));
getMemberCouponListRequestDto.setPageNum(1);
getMemberCouponListRequestDto.setPageSize(Integer.MAX_VALUE);
GetMemberCouponListResponseDto.Result result = getMemberCouponList(getMemberCouponListRequestDto);
List<GetMemberCouponListResponseDto.Result.MemberCoupon> memberCoupons = result.getMemberCoupons();
Date nowDate = new Date();
memberCoupons = memberCoupons.stream().filter(item -> filterExpireCoupon(nowDate, item.getEndTime())).collect(Collectors.toList());//过滤掉过期的券
List<GetMemberInfoResponseVo.Coupon> coupons = memberCoupons.stream().map(each -> convert2MemberCoupon(each)).collect(toList());
responseData.setCoupons(coupons);
// 积分
GetMemberInfoResponseVo.Score score = new GetMemberInfoResponseVo.Score();
StatisticalScoreRequest statisticalScoreRequest = new StatisticalScoreRequest();
statisticalScoreRequest.setMemberId(memberId);
statisticalScoreRequest.setPartnerId(partnerId);
com.freemud.application.sdk.api.base.BaseResponse<StatisticalScoreResponse> statisticalScoreResponseBaseResponse = memberPropertyService.statisticalScore(statisticalScoreRequest, LogThreadLocal.getTrackingNo());
StatisticalScoreResponse statisticalScoreResponse = statisticalScoreResponseBaseResponse.getData();
score.setCurrentScore(statisticalScoreResponse.getCurrentScore());
responseData.setScore(score);
} else {
// 优惠券
List<CartGoods> cartGoodsList = orderItemList.stream().map(each -> convert2ShopCartGoods(each)).collect(toList());
ActivityClassifyCouponBean activityClassifyCouponBean = couponService.availableCoupon(cartGoodsList, partnerId
, memberId, request.getStoreId(), "", false, request.getOrderType(), 0,"");
List<GetMemberInfoResponseVo.Coupon> coupons = activityClassifyCouponBean.getUsableCoupons().stream().map(each -> convert2MemberCoupon(each)).collect(toList());
responseData.setCoupons(coupons);
// 积分
GetUserScoreUseDetailRequest scoreRequest = new GetUserScoreUseDetailRequest();
scoreRequest.setMemberId(memberId);
scoreRequest.setPaidAmount(request.getActualPayAmount());
scoreRequest.setPartnerId(partnerId);
GetUserScoreUserDetailResponse userScoreUseDetail = customScoreClient.getUserScoreUseDetail(scoreRequest);
GetUserScoreUserDetailResponse.UserScoreDetailVo result = userScoreUseDetail.getResult();
GetMemberInfoResponseVo.Score score = new GetMemberInfoResponseVo.Score();
score.setCurrentScore(result.getCurrentScore());
score.setReduceAmount(result.getReduceAmount());
score.setReduceScore(result.getUseScore());
responseData.setScore(score);
}
// 储值卡
StatisticalPropertyRequest getMemberCardRequest = new StatisticalPropertyRequest();
getMemberCardRequest.setPartnerId(partnerId);
getMemberCardRequest.setMemberId(memberId);
com.freemud.application.sdk.api.base.BaseResponse<List<GetSvcInfoByMemberIdResponse>> svcInfoByMemberId = memberPropertyService.getSvcInfoByMemberId(getMemberCardRequest, LogThreadLocal.getTrackingNo());
List<GetSvcInfoByMemberIdResponse> memberCardResponses = svcInfoByMemberId.getData();
if(CollectionUtils.isNotEmpty(memberCardResponses)) {
// 查询储值卡的余额
List<String> cardCodes = memberCardResponses.stream().map(GetSvcInfoByMemberIdResponse::getCardCode).collect(Collectors.toList());
SVCCardAmountRequest svcCardAmountRequest = new SVCCardAmountRequest();
svcCardAmountRequest.setCardCodes(cardCodes);
svcCardAmountRequest.setPartnerId(partnerId);
com.freemud.application.sdk.api.base.BaseResponse<SVCCardAmountResponse> svcCardAmountResponseBaseResponse = paymentNewService.querySVCCardAmount(svcCardAmountRequest, LogThreadLocal.getTrackingNo());
List<SVCCardAmountResponse.CardSimpleInfo> cardSimpleInfos = svcCardAmountResponseBaseResponse.getData().getData().getCardSimpleInfos();
List<GetMemberInfoResponseVo.Card> cards = cardSimpleInfos.stream().map(each -> convert2MemberSvcCard(each)).collect(toList());
responseData.setCards(cards);
}
return ResponseUtil.success(responseData);
}
private boolean filterExpireCoupon(Date now, String endTime){
if (StringUtils.isBlank(endTime)){
return true;
}
Date date = DateUtil.convert2Date(endTime, DateUtil.FORMAT_yyyyMMdd_date);
return now.before(date);
}
private GetMemberInfoResponseVo.Coupon convert2MemberCoupon(GetMemberCouponListResponseDto.Result.MemberCoupon each){
GetMemberInfoResponseVo.Coupon coupon = new GetMemberInfoResponseVo.Coupon();
coupon.setStatus(each.getStatus());
if (each.getCouponType() == 0){
coupon.setProducts(null); // TODO
} else {
coupon.setProducts(null);
}
coupon.setCuoponType(each.getCouponType());
coupon.setCouponName(each.getCouponName());
String limit = each.getStartTime() + "至" + each.getEndTime() + "当天有效";
coupon.setCouponLimit(limit);
coupon.setCouponCode(each.getCouponCode());
return coupon;
}
private GetMemberInfoResponseVo.Coupon convert2MemberCoupon(ActivityCouponBean each){
GetMemberInfoResponseVo.Coupon coupon = new GetMemberInfoResponseVo.Coupon();
coupon.setStatus(0);
if (each.getCouponType() == 0){
coupon.setProducts(null); // TODO
} else {
coupon.setProducts(null);
}
coupon.setCuoponType(each.getCouponType());
coupon.setCouponName(each.getCouponName());
coupon.setDiscountAmount(Integer.valueOf(each.getDiscountAmount()));
coupon.setCouponLimit(null);
coupon.setCouponCode(each.getCouponCode());
return coupon;
}
private GetMemberInfoResponseVo.Card convert2MemberSvcCard(SVCCardAmountResponse.CardSimpleInfo each){
GetMemberInfoResponseVo.Card card = new GetMemberInfoResponseVo.Card();
card.setAmount(each.getAmount());
card.setApplyId(each.getApplyId());
card.setCardCode(each.getCardCode());
card.setCardName(each.getCardName());
card.setVamount(each.getVamount());
return card;
}
private CartGoods convert2ShopCartGoods(GetMemberInfoRequestDto.OrderItemRequest each){
CartGoods card = new CartGoods();
int saleValue = (each.getProductPrice() * each.getProductQuantity() - each.getProductSharePrice()) / each.getProductQuantity();
card.setAmount(Long.valueOf(saleValue));
card.setOriginalPrice(each.getProductPrice() == null ? 0L : Long.valueOf(each.getProductPrice()));
card.setQty(each.getProductQuantity());
card.setSkuId(each.getProductId());
card.setSpuId(each.getProductId());
return card;
}
private void packgeAdditional(ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) { private void packgeAdditional(ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) {
ArrayList<ShoppingCartInfoRequestVo.SendGoods> senGoods = new ArrayList<>(); ArrayList<ShoppingCartInfoRequestVo.SendGoods> senGoods = new ArrayList<>();
...@@ -1091,6 +1263,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1091,6 +1263,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
sendPointNew.setValidityDateDays(sendPointVo.getValidityDateDays()); sendPointNew.setValidityDateDays(sendPointVo.getValidityDateDays());
sendPointNew.setActivityCode(discountDTO.getActivityCode()); sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime()); sendPointNew.setEndTime(discountDTO.getEndTime());
sendPointNew.setStoreLevel(sendPointVo.getStoreLevel());
result.setSendPointVo(sendPointNew); result.setSendPointVo(sendPointNew);
} }
...@@ -2239,4 +2412,23 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2239,4 +2412,23 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return oldCoupons; return oldCoupons;
} }
/**
* 获取会员服务的优惠券列表
*
* @param getMemberCouponListRequestDto
* @return
*/
public GetMemberCouponListResponseDto.Result getMemberCouponList(GetMemberCouponListRequestDto getMemberCouponListRequestDto) {
GetMemberCouponListResponseDto getMemberCouponListResponseDto = null;
try {
getMemberCouponListResponseDto = customerExtendClient.getMemberCouponListRequestDto(getMemberCouponListRequestDto);
} catch (Exception ex) {
log.error("会员服务优惠券接口调用失败", ex);
}
if (getMemberCouponListResponseDto != null && Objects.equals(getMemberCouponListResponseDto.getCode(), ResponseResult.SUCCESS.getCode())) {
return getMemberCouponListResponseDto.getData();
}
return null;
}
} }
...@@ -219,6 +219,7 @@ public class CalculationSharingDiscountService { ...@@ -219,6 +219,7 @@ public class CalculationSharingDiscountService {
sendPointNew.setValidityDateDays(sendPointVo.getValidityDateDays()); sendPointNew.setValidityDateDays(sendPointVo.getValidityDateDays());
sendPointNew.setActivityCode(discountDTO.getActivityCode()); sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime()); sendPointNew.setEndTime(discountDTO.getEndTime());
sendPointNew.setStoreLevel(sendPointVo.getStoreLevel());
result.setSendPointVo(sendPointNew); result.setSendPointVo(sendPointNew);
} }
......
...@@ -124,6 +124,13 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -124,6 +124,13 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
shoppingCartGoodsResponseVo.setActivityTip(activityTip); shoppingCartGoodsResponseVo.setActivityTip(activityTip);
} }
// 将配送费放到一个字段去
if(shoppingCartGoodsResponseVo.getIsDiscountDelivery() && ( shoppingCartGoodsResponseVo.getDiscountDeliveryAmount() < shoppingCartGoodsResponseVo.getDeliveryAmount())){
shoppingCartGoodsResponseVo.setDeliveryAmount(shoppingCartGoodsResponseVo.getDiscountDeliveryAmount());
}
} }
@Override @Override
......
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