Commit 80ebb769 by 胡敬轩

结算页加价购列表迁移至购物车

parent ee5be573
......@@ -15,6 +15,7 @@ package cn.freemud.adapter;
import cn.freemud.base.constant.Version;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.dto.order.CreateOrderDto;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.PremiumExchangeResponseVo;
......@@ -102,16 +103,36 @@ public class ActivityAdapter {
return result;
}
public PremiumExchangeResponseVo convert2PremiumExchange(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity) {
if (sendActivity == null) {
return null;
}
public PremiumExchangeResponseVo convert2PremiumExchange(ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult) {
// 返回构造对象
PremiumExchangeResponseVo premiumExchangeResponseVo = new PremiumExchangeResponseVo();
// 组装验证商品对象
List<PremiumExchangeResponseVo.PremiumExchangeProduct> products = new ArrayList<>();
premiumExchangeResponseVo.setResultCode(ActivityResultCodeEnum.NON_PARTICIPATE.getCode());
if (calculationDiscountResult == null) {
return premiumExchangeResponseVo;
}
// 只取最新活动
if (calculationDiscountResult != null && CollectionUtils.isNotEmpty(calculationDiscountResult.getSendGoods())) {
if (CollectionUtils.isNotEmpty(calculationDiscountResult.getDiscounts())) {
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> discountList = calculationDiscountResult.getDiscounts();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discount : discountList) {
if (Objects.equals(discount.getType(), ActivityTypeEnum.TYPE_81.getCode())) {
Integer showType = discount.getIntegral() == null ? 0 : discount.getIntegral();
premiumExchangeResponseVo.setShowType(showType);
}
}
}
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity : calculationDiscountResult.getSendGoods()) {
if (Objects.equals(sendActivity.getActivityType(), ActivityTypeEnum.TYPE_81.getCode())) {
// 判断加价购活动商品不存在直接跳出循环
if (CollectionUtils.isEmpty(sendActivity.getSendGoods())) {
break;
}
premiumExchangeResponseVo.setResultCode(ActivityResultCodeEnum.PARTICIPATE.getCode());
premiumExchangeResponseVo.setActivityCode(sendActivity.getActivityCode());
premiumExchangeResponseVo.setActivityName(sendActivity.getActivityName());
premiumExchangeResponseVo.setMaxNum(sendActivity.getMaxNum());
List<PremiumExchangeResponseVo.PremiumExchangeProduct> products = new ArrayList<>();
sendActivity.getSendGoods().forEach(sendGoods -> {
PremiumExchangeResponseVo.PremiumExchangeProduct product = new PremiumExchangeResponseVo.PremiumExchangeProduct();
product.setSpuId(sendGoods.getCategory());
......@@ -122,6 +143,15 @@ public class ActivityAdapter {
product.setNumber(sendGoods.getSendNumber());
products.add(product);
});
break;
}
}
}
if(CollectionUtils.isEmpty(products)){
premiumExchangeResponseVo.setResultCode(ActivityResultCodeEnum.NO_ACTIVITY.getCode());
premiumExchangeResponseVo.setResultMsg(ActivityResultCodeEnum.NO_ACTIVITY.getDesc());
return premiumExchangeResponseVo;
}
premiumExchangeResponseVo.setProducts(products);
return premiumExchangeResponseVo;
}
......@@ -251,5 +281,56 @@ public class ActivityAdapter {
.orderType(orderType)
.build();
}
public PremiumExchangeResponseVo convert2PremiumExchangeSharing(CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult) {
// 返回构造对象
PremiumExchangeResponseVo premiumExchangeResponseVo = new PremiumExchangeResponseVo();
// 组装验证商品对象
List<PremiumExchangeResponseVo.PremiumExchangeProduct> products = new ArrayList<>();
premiumExchangeResponseVo.setResultCode(ActivityResultCodeEnum.NON_PARTICIPATE.getCode());
if (discountResult == null) {
return premiumExchangeResponseVo;
}
// 只取最新活动
if (discountResult != null && CollectionUtils.isNotEmpty(discountResult.getSendGoods())) {
if (CollectionUtils.isNotEmpty(discountResult.getDiscounts())) {
List<CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount> discountList = discountResult.getDiscounts();
for (CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discount : discountList) {
if (Objects.equals(discount.getType(), ActivityTypeEnum.TYPE_81.getCode())) {
Integer showType = discount.getIntegral() == null ? 0 : discount.getIntegral();
premiumExchangeResponseVo.setShowType(showType);
}
}
}
for (CalculationSharingDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity : discountResult.getSendGoods()) {
if (Objects.equals(sendActivity.getActivityType(), ActivityTypeEnum.TYPE_81.getCode())) {
// 判断加价购活动商品不存在直接跳出循环
if (CollectionUtils.isEmpty(sendActivity.getSendGoods())) {
break;
}
premiumExchangeResponseVo.setResultCode(ActivityResultCodeEnum.PARTICIPATE.getCode());
premiumExchangeResponseVo.setActivityCode(sendActivity.getActivityCode());
premiumExchangeResponseVo.setActivityName(sendActivity.getActivityName());
premiumExchangeResponseVo.setMaxNum(sendActivity.getMaxNum());
sendActivity.getSendGoods().forEach(sendGoods -> {
PremiumExchangeResponseVo.PremiumExchangeProduct product = new PremiumExchangeResponseVo.PremiumExchangeProduct();
product.setSpuId(sendGoods.getCategory());
product.setSkuId(sendGoods.getGoodsId());
product.setSkuName(sendGoods.getGoodsName());
product.setOriginalPrice(sendGoods.getOriginalPrice());
product.setNowPrice(sendGoods.getNowPrice());
product.setNumber(sendGoods.getSendNumber());
products.add(product);
});
break;
}
}
}
if(CollectionUtils.isEmpty(products)){
premiumExchangeResponseVo.setResultCode(ActivityResultCodeEnum.NO_ACTIVITY.getCode());
premiumExchangeResponseVo.setResultMsg(ActivityResultCodeEnum.NO_ACTIVITY.getDesc());
return premiumExchangeResponseVo;
}
premiumExchangeResponseVo.setProducts(products);
return premiumExchangeResponseVo;
}
}
......@@ -200,4 +200,12 @@ public class ShoppingCartController {
return openStoreIappWxappConfigService.getOpenStoreIappWxappConfig(request);
}
/**
* 结算页获取加价购活动商品列表
*/
@PostMapping(value = "/premiumExchange")
@LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "/premiumExchange")
public BaseResponse premiumExchange(@LogParams @RequestBody PremiumExchangeRequestVo request) {
return SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).premiumExchange(request);
}
}
......@@ -201,6 +201,7 @@ public class ActivityCalculationDiscountResponseDto {
* 购物车商品行uid
*/
private String cartGoodsUid;
private Integer integral;
}
@Data
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductInfoDto
* @Package cn.freemud.entities.dto
* @Description:
* @author: liming.guo
* @date: 2018/5/16 19:52
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.entities.dto;
import lombok.Data;
import java.util.List;
@Data
public class GetValidateProductInfoDto {
/**
* 商户ID
*/
private String partnerId;
/**
* 门店ID
*/
private String storeId;
/**
* 根据spu或者sku查询所有商品信息
*/
private List<String> productIds;
/**
* 查询指定spu下面的制定sku信息
*/
private List<ProductInfo> productInfoList;
/**
* 门店商品渠道 saas(开个店自提)、saasdelivery(开个店外卖)、saasmall(微商城)、wc(围餐)、mtwm(美团外卖)、jdwm(京东外卖)、fmwd(非码微店)、eleme(饿了么外卖)、ebwm(饿百外卖)
*/
private String channel;
@Data
public static class ProductInfo {
/**
* 商品spu
*/
private String spuId;
/**
* 商品sku
*/
private List<String> skuIds;
}
}
......@@ -171,6 +171,7 @@ public class CalculationSharingDiscountResponseDto {
private Long thresholdAmount;
private SendPointDto sendPointVo;
private Date endTime;
private Integer integral;
}
@Data
......
package cn.freemud.entities.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
......@@ -8,27 +9,41 @@ import javax.validation.constraints.NotNull;
@Data
public class PremiumExchangeRequestVo {
@ApiModelProperty(value="版本号", name="version", example="1", required = false)
private String version;
@NotEmpty(message = "partnerId不能为空")
@ApiModelProperty(value="商户号", name="partnerId", example="1864", required = true)
private String partnerId;
@NotEmpty(message = "shopId不能为空")
@ApiModelProperty(value="门店ID", name="shopId", example="007", required = true)
private String shopId;
@NotEmpty(message = "用户会话sessionId不能为空")
@ApiModelProperty(value="sessionId", name="sessionId", example="1234", required = true)
private String sessionId;
/**
* 订单类型 1 到店自取 2 外卖 枚举CreateOrderType
*/
@NotNull(message = "orderType 不能为空")
@ApiModelProperty(value="订单类型 1到店自取 2外卖", name="orderType", example="1", required = true)
private Integer orderType;
@ApiModelProperty(value="券code", name="couponCode", example="258655672617402368", required = false)
private String couponCode;
/**
* 优惠券的活动code
*/
@ApiModelProperty(value="优惠券的活动code", name="activityCode", example="258655672617402368", required = false)
private String activityCode;
/**
* 菜单类型 saas(开个店自提)、saasdelivery(开个店外卖)
*/
@ApiModelProperty(value="菜单类型 saas(开个店自提)、saasdelivery(开个店外卖)", name="menuType", example="saas", required = false)
@NotNull(message = "menuType 不能为空")
private String menuType;
}
......@@ -16,6 +16,11 @@ public enum ActivityResultCodeEnum {
//0:不参加 1:参加
NON_PARTICIPATE(0, "不需要参加活动"),
PARTICIPATE(1, "参加活动"),
GOODFILTER(2, "商品状态已变化"),
GOOD_NOT_IN_MUNU(3, "商品不在菜单"),
GOOD_NOT_AVAILABLE(4, "商品在门店下不可售"),
NO_ACTIVITY(5, "没有可用活动"),
STOCK_LIMIT(6, "商品库存不足"),
;
private Integer code;
......
package cn.freemud.enums;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: productType
* @Package cn.freemud.enums
* @Description: 这个类是给C端小程序的枚举类,最终版本
* @author: zhenghuan.yang
* @date: 2018/10/23 17:50
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public enum CProductType {
PRODUCT_TYPE_1(1,"单品无属性"),
PRODUCT_TYPE_2(2,"单品有属性"),
PRODUCT_TYPE_7(7,"套餐商品"),
PRODUCT_TYPE_8(8,"多规格有属性"),
PRODUCT_TYPE_10(10,"多规格无属性");
private int code;
private String desc;
CProductType(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
......@@ -308,4 +308,12 @@ public interface ShoppingCartNewService {
}
}
/**
* 结算页获取加价购活动商品列表
* @param request
* @return
*/
default BaseResponse<PremiumExchangeResponseVo> premiumExchange(PremiumExchangeRequestVo request){
return null;
};
}
......@@ -65,5 +65,9 @@ public interface StoreItemClient {
@PostMapping("Shop/ValidateShopProduct")
ProductResponseDTO<ValiadShopProductResponse> validateShopProduct(@RequestBody ValidateShopProductRequest request);
/**
* 校验商品在当前门店是否可售
*/
@PostMapping("/Shop/validateShopContainProduct")
ValidateProductInfosDto validateShopContainProduct(@RequestBody GetValidateProductInfoDto getProductInfoDto);
}
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