Commit ae837897 by ping.wu

Merge branches 'feature/20210806_积分商城重构_wuping' and 'qa' of…

Merge branches 'feature/20210806_积分商城重构_wuping' and 'qa' of http://gitlab.freemud.com/order-group-application/order-group into qa

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
parents cbd5d823 47ec9af8
package cn.freemud.amp.config;
import com.freemud.application.sdk.api.config.TopicExchangeConfig;
import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
@Component
public class DlSendCouponMqConfig {
public static final String EXCHANGE_NAME = "topic-Exchange";
public static final String QUEUE_NAME = "send-coupon-order-queue";
public static final String QUEUE_ROUTING_KEY = "send-coupon-order-queue-routing-key";
public static final String QUERY_DL_QUEUE_NAME = "send-coupon-order-queue_dl_queue";
public static final String QUERY_DL_ROUTING_KEY = "send-coupon-order-queue_dl_key";
@Bean("dlSendCouponMqTopicExchange")
public Exchange dlSendCouponMqTopicExchange() {
return ExchangeBuilder.topicExchange(EXCHANGE_NAME).durable(true).build();
}
/**
* 写入RabbitMQ使用的默认队列
*
* @return
*/
@Bean("sendCouponQueueName")
public Queue sendCouponChangeQueue() {
return QueueBuilder.durable(QUEUE_NAME).build();
}
/**
* 绑定消息队列
*
* @param queue 消息队列
* @param topicExchange RabbitMQ Fanout Exchange
* @return 消息队列绑定
*/
@Bean("bindingSendCouponQueueChange")
Binding bindingSendCouponChange(@Qualifier("sendCouponQueueName") Queue queue, @Qualifier("dlSendCouponMqTopicExchange") Exchange topicExchange) {
return BindingBuilder.bind(queue).to(topicExchange).with(QUEUE_ROUTING_KEY).noargs();
}
@Bean("sendCouponChangeDlQueue")
public Queue sendCouponChangeDlQueue() {
Map<String, Object> delayQueueParams = new HashMap<>(2);
// DLX,dead letter发送到的exchange
delayQueueParams.put("x-dead-letter-exchange", TopicExchangeConfig.EXCHANGE_NAME);
// dead letter携带的routing key
delayQueueParams.put("x-dead-letter-routing-key", QUEUE_ROUTING_KEY);
return QueueBuilder.durable(QUERY_DL_QUEUE_NAME).withArguments(delayQueueParams).build();
}
@Bean("bindingSendCouponDlChange")
Binding bindingSendCouponDlChange(@Qualifier("sendCouponChangeDlQueue") Queue queue, @Qualifier("dlSendCouponMqTopicExchange") Exchange topicExchange) {
Map<String, Object> args = new HashMap<>(2);
args.put("x-dead-letter-exchange", TopicExchangeConfig.EXCHANGE_NAME);
args.put("x-dead-letter-routing-key", QUEUE_ROUTING_KEY);
return BindingBuilder.bind(queue).to(topicExchange).with(QUERY_DL_ROUTING_KEY).and(args);
}
}
package cn.freemud.amp.service;
import cn.freemud.amp.config.DlSendCouponMqConfig;
import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService;
import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class SendCouponService {
@Autowired
private MQService mqService;
public void sendCouponMq(OrderInfoReqs request) {
AppLogUtil.infoLog("sendCouponMq", JSONObject.toJSONString(request.getOrderCode()), null);
Header header = new Header(MQAction.INSERT.getAction(), "order-application-service", "1", DlSendCouponMqConfig.QUEUE_NAME);
MQMessage<OrderInfoReqs> message = new MQMessage<>(header, request);
mqService.convertAndSend(DlSendCouponMqConfig.EXCHANGE_NAME, DlSendCouponMqConfig.QUEUE_ROUTING_KEY, message);
}
}
...@@ -19,10 +19,7 @@ import cn.freemud.entities.vo.encircle.CreateReserveOrderVo; ...@@ -19,10 +19,7 @@ import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo; import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
import cn.freemud.handler.OrderReportJobHandler; import cn.freemud.handler.OrderReportJobHandler;
import cn.freemud.monitorcenter.tools.HealthUtil; import cn.freemud.monitorcenter.tools.HealthUtil;
import cn.freemud.service.EncircleOrderService; import cn.freemud.service.*;
import cn.freemud.service.MCCafeOrderService;
import cn.freemud.service.OrderAdapterService;
import cn.freemud.service.Orderservice;
import cn.freemud.service.impl.MallOrderServiceImpl; import cn.freemud.service.impl.MallOrderServiceImpl;
import cn.freemud.utils.AppLogUtil; import cn.freemud.utils.AppLogUtil;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
...@@ -57,6 +54,8 @@ public class OrderController { ...@@ -57,6 +54,8 @@ public class OrderController {
private OrderReportJobHandler orderReportJobHandler; private OrderReportJobHandler orderReportJobHandler;
@Autowired @Autowired
private OrderCountJobHandler orderCountJobHandler; private OrderCountJobHandler orderCountJobHandler;
@Autowired
private PointsMallOrderService pointsMallOrderService;
/** /**
* 创建订单之前校验前面排队的订单数 * 创建订单之前校验前面排队的订单数
...@@ -385,6 +384,24 @@ public class OrderController { ...@@ -385,6 +384,24 @@ public class OrderController {
return orderservice.scoreRecord(queryOrderVo); return orderservice.scoreRecord(queryOrderVo);
} }
/**
* 开个店积分商城-积分兑换记录查询
*/
@ApiAnnotation(logMessage = "scoreRecords")
@PostMapping("/scoreRecords")
public BaseResponse scoreRecords(@Validated @LogParams @RequestBody QueryOrderVo queryOrderVo) {
return pointsMallOrderService.scoreRecords(queryOrderVo);
}
/**
* 积分兑换记录查询详情
*/
@ApiAnnotation(logMessage = "scoreRecord")
@PostMapping("/scoreRecordInfo")
public BaseResponse scoreRecordDetail(@Validated @LogParams @RequestBody QueryOrderVo queryOrderVo) {
return pointsMallOrderService.scoreRecordDetail(queryOrderVo);
}
/** /**
* 订单统计 上报数据 * 订单统计 上报数据
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
*/ */
package cn.freemud.entities.dto; package cn.freemud.entities.dto;
import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean;
import cn.freemud.entities.dto.product.ProductInfo; import cn.freemud.entities.dto.product.ProductInfo;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
......
package cn.freemud.entities.dto.product.pointsmall;
import lombok.Data;
@Data
public class EntityProductType {
// @ApiModelProperty(value = "商品编号")
private String productId;
// @ApiModelProperty(value = "商品描述")
// private String detailText;
// @ApiModelProperty(value = "商品图片")
protected String picture;
// @ApiModelProperty(value = "商品说明图片")
// private List<String> detailImageList;
// @ApiModelProperty(value = "轮播图")
// private List<String> carouselList;
}
package cn.freemud.entities.dto.product.pointsmall;
import lombok.Data;
import java.util.List;
@Data
public class IntegralProductType {
// @ApiModelProperty(value = "商品编号")
private String productId;
// @ApiModelProperty(value = "商品名称")
private String productName;
// @ApiModelProperty(value = "商品类型(1优惠券,2实物)")
private Integer productType;
// @ApiModelProperty(value = "图片列表")
private List<String> pictureList;
// @ApiModelProperty(value = "优惠券编号")
private String couponCode;
// @ApiModelProperty(value = "兑换方式(1积分,2现金,3积分+现金)")
private Integer exchangeType;
// @ApiModelProperty(value = "积分价格")
private Integer integralPrice;
// @ApiModelProperty(value = "现金价格(分)")
private Integer cashPrice;
// @ApiModelProperty(value = "分类编号")
private String categoryId;
// @ApiModelProperty(value = "分类名称")
private String categoryName;
// @ApiModelProperty(value = "首页推荐(0不推荐,1推荐)")
private Integer isRecommend;
// @ApiModelProperty(value = "开始可售时间")
private String startTime;
// @ApiModelProperty(value = "结束可售时间")
private String endTime;
// @ApiModelProperty(value = "库存限制(1:限制库存, 2不限制库存)")
private Integer stockLimit;
// @ApiModelProperty(value = "用户限购类型(1不限制,2限制每人N件,3限制每人每天N件)")
private Integer limitType;
// @ApiModelProperty(value = "限购数量")
private Integer limitNumber;
// @ApiModelProperty(value = "用户等级限制(1不限制,2限制会员等级,3付费会员,4非付费会员)")
private Integer levelType;
// @ApiModelProperty(value = "会员等级列表")
private List<String> levelList;
// @ApiModelProperty(value = "商品排序值")
private Integer sequence;
// @ApiModelProperty(value = "分类排序值")
private Integer categorySequence;
// @ApiModelProperty(value = "商品状态(1下架,2上架,3售罄,4不在可售时间内,5超过每人总限购数量,6超过每人每天限购数量,7用户等级不足,8用户身份不足)")
private Integer status;
// @ApiModelProperty(value = "实物商品信息")
private EntityProductType entityProductInfo;
// @ApiModelProperty(value = "剩余库存数量")
private Integer stockNumber;
// @ApiModelProperty(value = "已兑换数量")
private Integer exchangeNumber;
}
package cn.freemud.entities.dto.product.pointsmall;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: PointMallListProductInfoRequest
* @Package com.freemud.product.contract
* @Description:
* @author yue.liu
* @date: 2021/8/9 14:28
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class PointMallListProductInfoRequest {
// @ApiModelProperty(value = "商户编号", required = true)
private String partnerId;
private String memberId;
// @ApiModelProperty(value = "商品编号列表")
private List<String> productIdList;
// @ApiModelProperty(value = "会员等级编号列表")
private List<String> levelIdList;
// @ApiModelProperty(value = "会员类型(1付费会员,2非付费会员)")
private Integer memberType;
// @ApiModelProperty(value = "是否校验可售时间(true校验,false不校验)")
private boolean isValidateTime;
// @ApiModelProperty(value = "是否校验库存(true校验,false不校验)")
private boolean isValidateStock;
// @ApiModelProperty(value = "是否校验用户限制(true校验,false不校验)")
private boolean isValidateMember;
}
package cn.freemud.entities.dto.product.pointsmall;
import lombok.Data;
@Data
public class PointMallListProductInfoResponse<T> {
private T result;
private Integer statusCode;
private String message;
}
package cn.freemud.entities.dto.product.pointsmall;
import lombok.Data;
@Data
public class ProductStockRequest {
//兑换数量
public Integer exchangeNumber;
//非码商品编号
public String productId;
//库存数量
public Integer stockNumber;
}
package cn.freemud.entities.dto.product.pointsmall;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: UpdateStocksRequest
* @Package com.freemud.product.contract
* @Description:
* @author yue.liu
* @date: 2021/8/9 14:28
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class UpdatePointsMallStocksRequest {
// @ApiModelProperty(value = "1增加库存或兑换数量,2减少库存,3修改库存,兑换数量只支持新增", required = true)
public Integer changeType;
// @ApiModelProperty(value = "交易号, maxLength = 36", required = true)
public String transNo;
// @ApiModelProperty("备注, maxLength = 50")
public String remark;
// @ApiModelProperty("交易时间 格式类型 yyyy-MM-dd HH:mm:ss")
public String transTime;
// @ApiModelProperty(value = "商品库存信息,建议数量不要超过500", required = true)
public List<ProductStockRequest> productStocks;
// @ApiModelProperty(value = "会员编号", required = true)
public String memberId;
public String partnerId;
}
package cn.freemud.entities.dto.user;
import lombok.Data;
@Data
public class CustomerPropertyBaseResponse<T> {
protected String code;
protected String message;
protected T data;
}
package cn.freemud.entities.dto.user;
import lombok.Data;
@Data
public class PayScoreResponse {
/**
* 当前积分
*/
private Integer currentScore;
/**
* 变化积分数
*/
private Integer updateScore;
/**
* 交易流水号
*/
private String recordId;
}
package cn.freemud.entities.dto.user;
import lombok.Data;
@Data
public class StatislScoreResponse {
// @ApiModelProperty("当前可用积分")
private Integer currentScore;
// @ApiModelProperty("历史累计积分")
private Integer totalScore;
// @ApiModelProperty("已使用积分")
private Integer usedScore;
// @ApiModelProperty("本月即将过期积分")
private Integer currentProbablyExpireScore;
// @ApiModelProperty("参数status为1并且memberId不为空时,有此返回值")
private Integer expireSoonScore;
/**
* expireSoonScore为空并且expireSoonDate不为空,说明该用户无可用积分。
* expireSoonScore不为空并且expireSoonDate为空,说明积分永不失效
*/
// @ApiModelProperty("参数status为1并且memberId不为空时,有此返回值。")
private String expireSoonDate;
}
package cn.freemud.entities.dto.user;
import lombok.Data;
@Data
public class StatisticalScoreRequestVo {
// @NotEmpty(message = "partnerId 不能为空")
private String partnerId;
// @ApiModelProperty("会员编号")
private String memberId;
// @ApiModelProperty("是否查询即将到期积分{0:否,1:是}")
private Integer status;
}
package cn.freemud.entities.dto.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UseScoreRequest {
/**
* 商户编号 Y
*/
private String partnerId;
/**
* 会员编号 Y
*/
private String memberId;
/**
* 变动积分 Y
*/
private Integer changeScore;
/**
* Y
* 操作类型{1消费送积分2积分支付退回3积分签到4手动赠送5等级升级送积分6割接7生日送8注册送9完善送10消费满赠11手动扣减12积分兑换13积分清理14积分支付15消费送积分扣回16等级升级退积分17消费满赠扣回}
*/
private Integer operationType;
/**
* 操作名称{1消费送积分2积分支付退回3积分签到4手动赠送5等级升级送积分6割接7生日送8注册送9完善送10消费满赠11手动扣减12积分兑换13积分清理14积分支付15消费送积分扣回16等级升级退积分17消费满赠扣回}
*/
private String operationName;
/**
* 变动类型{1新增 2扣减}
*/
private Integer changeType;
/**
* 订单编号
*/
private String orderId;
/**
* 机构编码
*/
private String orgCode;
/**
* 机构类型{1总公司2分公司3门店}
*/
private Integer orgType;
/**
* 备注
*/
private String remark;
/**
* 业务ID{调用方保证唯一} Y
*/
private String idempotencyBussinessId;
/**
* Y
* 业务类型{1注册送 2发放经验值 3等级升级 4等级降级 5积分支付 6消费送积分 7消费满赠 8生日送 9定时送 10储值支付 11储值充值 12完善资料送 13等级升级送积分 14储值卡投放 15会员消费数据增加 16会员消费数据冲正}
*/
private String idempotencyBussinessType;
@ApiModelProperty("是否查询子品牌积分规则")
private Boolean isGetSubBrandRule = false;
@ApiModelProperty("子品牌编号")
private String subBrandCode;
@ApiModelProperty("应用编号")
private String appId;
}
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.vo.order.CreateOrderProductVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderPayItemCreateReq; import com.freemud.application.sdk.api.ordercenter.request.create.OrderPayItemCreateReq;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -286,6 +287,11 @@ public class CreateOrderVo { ...@@ -286,6 +287,11 @@ public class CreateOrderVo {
@Valid @Valid
@ApiModelProperty(value = "电子风味卡") @ApiModelProperty(value = "电子风味卡")
private UnionPayCard unionPayCard; private UnionPayCard unionPayCard;
/**
* 下单商品,积分商城使用
*/
private List<CreateOrderProductVo> products;
/** /**
* 电子风味卡 * 电子风味卡
*/ */
......
...@@ -35,4 +35,32 @@ public class ScoreRecordVo { ...@@ -35,4 +35,32 @@ public class ScoreRecordVo {
//数量 //数量
private Integer productQuantity; private Integer productQuantity;
private Integer orderStatus;
private String productPicUrl;
private Integer productType;
//积分价格
private Integer integralPrice;
//现金价格(分)
private Integer cashPrice;
/**
* 配送渠道名称
*/
private String expressChannelName;
/**
* 配送渠道编号
*/
private String expressChannelCode;
private String userName;
private String mobile;
private String addressDetail;
} }
package cn.freemud.entities.vo.order;
import lombok.Data;
@Data
public class CreateOrderProductVo {
private String spuId;
private String skuId;
}
...@@ -24,7 +24,9 @@ public enum OrderChannelType { ...@@ -24,7 +24,9 @@ public enum OrderChannelType {
BEAUTIFUL("beautiful", "美业"), BEAUTIFUL("beautiful", "美业"),
APP("app", "APP"); APP("app", "APP"),
POINTSMALL("pointsmall", "积分商城");
private String code; private String code;
......
...@@ -21,11 +21,16 @@ import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo; ...@@ -21,11 +21,16 @@ import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
public interface EncircleOrderService { public interface EncircleOrderService {
/** /**
* 创建订单
*/
BaseResponse createOrder(CreateOrderVo createOrderVo);
/**
* 围餐--开台 * 围餐--开台
* @param createOrderVo * @param createOrderVo
* @return * @return
*/ */
BaseResponse createReserveOrder(CreateOrderVo createOrderVo); // BaseResponse createReserveOrder(CreateOrderVo createOrderVo);
/** /**
* 查询桌号是否开台 * 查询桌号是否开台
...@@ -38,7 +43,7 @@ public interface EncircleOrderService { ...@@ -38,7 +43,7 @@ public interface EncircleOrderService {
* @param createReserveOrderVo * @param createReserveOrderVo
* @return * @return
*/ */
BaseResponse updateReserveOrder(CreateReserveOrderVo createReserveOrderVo); // BaseResponse updateReserveOrder(CreateReserveOrderVo createReserveOrderVo);
/** /**
* 围餐--预览订单 * 围餐--预览订单
...@@ -52,7 +57,7 @@ public interface EncircleOrderService { ...@@ -52,7 +57,7 @@ public interface EncircleOrderService {
* @param createReserveOrderVo * @param createReserveOrderVo
* @return * @return
*/ */
BaseResponse createPrepaymentOrder(CreateReserveOrderVo createReserveOrderVo); // BaseResponse createPrepaymentOrder(CreateReserveOrderVo createReserveOrderVo);
/** /**
* 清台 * 清台
......
package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryOrderVo;
public interface PointsMallOrderService {
/**
* 创建订单
*/
BaseResponse createOrder(CreateOrderVo createOrderVo);
BaseResponse scoreRecords(QueryOrderVo queryOrderVo);
BaseResponse scoreRecordDetail(QueryOrderVo queryOrderVo);
}
...@@ -121,6 +121,36 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -121,6 +121,36 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
private static FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA); private static FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
@Override @Override
public BaseResponse createOrder(CreateOrderVo createOrderVo) {
BaseResponse baseResponse = null;
CreateReserveOrderVo createReserveOrderVo = new CreateReserveOrderVo();
createReserveOrderVo.setCarVer(createOrderVo.getCarVer());
createReserveOrderVo.setRepastNumber(createOrderVo.getPeopleNumber());
createReserveOrderVo.setSessionId(createOrderVo.getSessionId());
createReserveOrderVo.setOrderUpdateVer(createOrderVo.getOrderUpdateVer());
createReserveOrderVo.setCouponCode(createOrderVo.getCouponCode());
createReserveOrderVo.setUseCustomerScore(createOrderVo.getUseCustomerScore());
createReserveOrderVo.setCardCode(createOrderVo.getCardCode());
if (createOrderVo.getOperation() == null) {
throw new ServiceException(ResponseResult.ORDER_CREATE_OPERATION_ERROR);
}
switch (createOrderVo.getOperation()) {
case 2:// 开台
baseResponse = this.createReserveOrder(createOrderVo);
break;
case 3:// 下单
baseResponse = this.updateReserveOrder(createReserveOrderVo);
break;
case 4:// 创建预支付订单
baseResponse = this.createPrepaymentOrder(createReserveOrderVo);
break;
default:
throw new ServiceException(ResponseResult.ORDER_CREATE_OPERATION_ERROR);
}
return baseResponse;
}
public BaseResponse createReserveOrder(CreateOrderVo createOrderVo) { public BaseResponse createReserveOrder(CreateOrderVo createOrderVo) {
//查询用户缓存信息(用户信息,用户绑定桌号信息) //查询用户缓存信息(用户信息,用户绑定桌号信息)
AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createOrderVo.getSessionId()); AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createOrderVo.getSessionId());
...@@ -267,7 +297,6 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -267,7 +297,6 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
} }
@Override
public BaseResponse updateReserveOrder(CreateReserveOrderVo createReserveOrderVo) { public BaseResponse updateReserveOrder(CreateReserveOrderVo createReserveOrderVo) {
//获取缓存(用户信息,桌号信息,桌号与订单号信息) //获取缓存(用户信息,桌号信息,桌号与订单号信息)
AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createReserveOrderVo.getSessionId()); AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createReserveOrderVo.getSessionId());
...@@ -458,7 +487,6 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -458,7 +487,6 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
} }
@Override
public BaseResponse createPrepaymentOrder(CreateReserveOrderVo createReserveOrderVo) { public BaseResponse createPrepaymentOrder(CreateReserveOrderVo createReserveOrderVo) {
//获取缓存(用户信息,桌号信息,桌号与订单号信息) //获取缓存(用户信息,桌号信息,桌号与订单号信息)
AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createReserveOrderVo.getSessionId()); AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(createReserveOrderVo.getSessionId());
......
...@@ -97,6 +97,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService { ...@@ -97,6 +97,8 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
@Autowired @Autowired
private MallOrderService mallOrderService; private MallOrderService mallOrderService;
@Autowired @Autowired
private PointsMallOrderService pointsMallOrderService;
@Autowired
private AppOrderService appOrderService; private AppOrderService appOrderService;
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
...@@ -128,44 +130,20 @@ public class OrderAdapterServiceImpl implements OrderAdapterService { ...@@ -128,44 +130,20 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
// 扩展字段中存储 sessionKey // 扩展字段中存储 sessionKey
createOrderVo.setSessionKey(assortmentCustomerInfoVo.getSessionKey()); createOrderVo.setSessionKey(assortmentCustomerInfoVo.getSessionKey());
if (IappIdType.WC_XCX.getCode().equals(assortmentCustomerInfoVo.getIappId())) { //i围餐 if (IappIdType.WC_XCX.getCode().equals(assortmentCustomerInfoVo.getIappId())) { //i围餐
BaseResponse baseResponse = null; return encircleOrderService.createOrder(createOrderVo);
CreateReserveOrderVo createReserveOrderVo = new CreateReserveOrderVo(); }
createReserveOrderVo.setCarVer(createOrderVo.getCarVer());
createReserveOrderVo.setRepastNumber(createOrderVo.getPeopleNumber()); //积分商城
createReserveOrderVo.setSessionId(createOrderVo.getSessionId()); if (OrderChannelType.POINTSMALL.getCode().equals(createOrderVo.getChannelType())) {
createReserveOrderVo.setOrderUpdateVer(createOrderVo.getOrderUpdateVer()); return pointsMallOrderService.createOrder(createOrderVo);
createReserveOrderVo.setCouponCode(createOrderVo.getCouponCode());
createReserveOrderVo.setUseCustomerScore(createOrderVo.getUseCustomerScore());
createReserveOrderVo.setCardCode(createOrderVo.getCardCode());
if (createOrderVo.getOperation() == null) {
throw new ServiceException(ResponseResult.ORDER_CREATE_OPERATION_ERROR);
}
switch (createOrderVo.getOperation()) {
case 2:// 开台
baseResponse = encircleOrderService.createReserveOrder(createOrderVo);
break;
case 3:// 下单
baseResponse = encircleOrderService.updateReserveOrder(createReserveOrderVo);
break;
case 4:// 创建预支付订单
baseResponse = encircleOrderService.createPrepaymentOrder(createReserveOrderVo);
break;
default:
throw new ServiceException(ResponseResult.ORDER_CREATE_OPERATION_ERROR);
}
return baseResponse;
} }
/** //微商城订单
* 商城订单
*/
if (OrderChannelType.SAASMALL.getCode().equals(createOrderVo.getChannelType())) { if (OrderChannelType.SAASMALL.getCode().equals(createOrderVo.getChannelType())) {
return mallOrderService.createOrder(createOrderVo); return mallOrderService.createOrder(createOrderVo);
} }
/** //APP下单
* APP下单
*/
if (UserLoginChannelEnum.APP.getCode().equals(assortmentCustomerInfoVo.getChannel())) { if (UserLoginChannelEnum.APP.getCode().equals(assortmentCustomerInfoVo.getChannel())) {
return appOrderService.createOrderFlow(createOrderVo); return appOrderService.createOrderFlow(createOrderVo);
} }
......
...@@ -4215,7 +4215,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -4215,7 +4215,6 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(result); return ResponseUtil.success(result);
} }
@Override @Override
public BaseResponse<List<OrderCountResp>> selectCountOrdersByPartnerIds(OrderCountRequestVo orderCountRequestVo, String trackingNo) { public BaseResponse<List<OrderCountResp>> selectCountOrdersByPartnerIds(OrderCountRequestVo orderCountRequestVo, String trackingNo) {
OrderCountReqs orderCountReqs = new OrderCountReqs(); OrderCountReqs orderCountReqs = new OrderCountReqs();
......
...@@ -152,7 +152,7 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ ...@@ -152,7 +152,7 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
// } // }
// } // }
// 扣减积分,扣减失败冲正积分返回错误 // 扣减积分,扣减失败冲正积分返回错误
// UserScoreRequest userScoreRequest = orderSdkAdapter.convent2UserScoreRequest(orderBean, accounts, true); // UseScoreRequest userScoreRequest = orderSdkAdapter.convent2UserScoreRequest(orderBean, accounts, true);
// if (userScoreRequest != null) { // if (userScoreRequest != null) {
// BaseResponse userScoreResponse = memberScoreService.useScore(userScoreRequest, ""); // BaseResponse userScoreResponse = memberScoreService.useScore(userScoreRequest, "");
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, userScoreResponse.getCode())) { // if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, userScoreResponse.getCode())) {
......
package cn.freemud.service.thirdparty;
import cn.freemud.annotations.LogIgnoreFeign;
import cn.freemud.entities.dto.user.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(name = "customer-property-service", url = "${customer.property.service.url:}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface CustomerPropertyClient {
@LogIgnoreFeign(logMessage="useScore")
@PostMapping(value = "/propertyservice/score/pay")
CustomerPropertyBaseResponse<PayScoreResponse> useScore(@RequestBody UseScoreRequest userScoreRequest);
@LogIgnoreFeign(logMessage="statisticalScore")
@PostMapping({"/propertyservice/score/statisticalScore"})
CustomerPropertyBaseResponse<StatislScoreResponse> statisticalScore(StatisticalScoreRequestVo request);
}
package cn.freemud.service.thirdparty;
import cn.freemud.annotations.LogIgnoreFeign;
import cn.freemud.constant.ResponseCodeKeyConstant;
import cn.freemud.entities.dto.product.pointsmall.IntegralProductType;
import cn.freemud.entities.dto.product.pointsmall.PointMallListProductInfoRequest;
import cn.freemud.entities.dto.product.pointsmall.PointMallListProductInfoResponse;
import cn.freemud.entities.dto.product.pointsmall.UpdatePointsMallStocksRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@FeignClient(name = "INTEGRAL-MALL-SERVICE", url = "${ssas.integralMall.feign.url:}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface PointMallProductClient {
/**
* 获取商品的详细信息
*/
@LogIgnoreFeign(logMessage="listProductInfos",statusCodeFieldName=ResponseCodeKeyConstant.STATUS_CODE)
@PostMapping("/biz/product/listProductInfo")
PointMallListProductInfoResponse<List<IntegralProductType>> listProductInfo(@RequestBody PointMallListProductInfoRequest productInfoRequest);
@LogIgnoreFeign(logMessage="listProductInfos",statusCodeFieldName=ResponseCodeKeyConstant.STATUS_CODE)
@PostMapping("/biz/stock/update")
PointMallListProductInfoResponse updateStock(@RequestBody UpdatePointsMallStocksRequest updatePointsMallStocksRequest);
}
...@@ -77,7 +77,7 @@ public class EncircleOrderServiceImplTest { ...@@ -77,7 +77,7 @@ public class EncircleOrderServiceImplTest {
createOrderVo.setPartnerId("1864"); createOrderVo.setPartnerId("1864");
createOrderVo.setShopId("2700968"); createOrderVo.setShopId("2700968");
createOrderVo.setPeopleNumber(12); createOrderVo.setPeopleNumber(12);
System.out.println(JSON.toJSONString(encircleOrderService.createReserveOrder(createOrderVo))); // System.out.println(JSON.toJSONString(encircleOrderService.createReserveOrder(createOrderVo)));
} }
...@@ -111,7 +111,7 @@ public class EncircleOrderServiceImplTest { ...@@ -111,7 +111,7 @@ public class EncircleOrderServiceImplTest {
CreateReserveOrderVo reserveOrderVo = new CreateReserveOrderVo(); CreateReserveOrderVo reserveOrderVo = new CreateReserveOrderVo();
reserveOrderVo.setSessionId("00e7be90e5fd45b5568da134a36a8d44ea01bd92"); reserveOrderVo.setSessionId("00e7be90e5fd45b5568da134a36a8d44ea01bd92");
reserveOrderVo.setRepastNumber(5); reserveOrderVo.setRepastNumber(5);
System.out.println(JSON.toJSONString(encircleOrderService.updateReserveOrder(reserveOrderVo))); // System.out.println(JSON.toJSONString(encircleOrderService.updateReserveOrder(reserveOrderVo)));
} }
/** /**
...@@ -133,7 +133,7 @@ public class EncircleOrderServiceImplTest { ...@@ -133,7 +133,7 @@ public class EncircleOrderServiceImplTest {
//TODO: Test goes here... //TODO: Test goes here...
CreateReserveOrderVo createReserveOrderVo = new CreateReserveOrderVo(); CreateReserveOrderVo createReserveOrderVo = new CreateReserveOrderVo();
createReserveOrderVo.setSessionId("fbc82ad9a7449590bcd56f96db1b11352e1f3470"); createReserveOrderVo.setSessionId("fbc82ad9a7449590bcd56f96db1b11352e1f3470");
System.out.println(JSON.toJSONString(encircleOrderService.createPrepaymentOrder(createReserveOrderVo))); // System.out.println(JSON.toJSONString(encircleOrderService.createPrepaymentOrder(createReserveOrderVo)));
} }
/** /**
......
...@@ -97,6 +97,7 @@ public class OrderSdkService { ...@@ -97,6 +97,7 @@ public class OrderSdkService {
* @param trackingNo 交易号 * @param trackingNo 交易号
* @return * @return
*/ */
@Deprecated
public QueryByCodeResponse getOrderInfo(String orderId, Integer withOperationHistory, String trackingNo) { public QueryByCodeResponse getOrderInfo(String orderId, Integer withOperationHistory, String trackingNo) {
String url = InterfaceAddressConstant.GET_ORDER_INFO + "?orderCode=" + orderId; String url = InterfaceAddressConstant.GET_ORDER_INFO + "?orderCode=" + orderId;
if (withOperationHistory != null && withOperationHistory == 1) { if (withOperationHistory != null && withOperationHistory == 1) {
......
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