Commit 0017ab6c by chongfu.liang

Merge branch 'feature/2.0.6-农工商商品兑换券'

# Conflicts:
#	order-application-service/pom.xml
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents 7fcff535 310df7b4
......@@ -10,4 +10,10 @@ public class CommonRedisKeyConstant {
* 不需要授权得url
*/
public final static String SAAS_NOT_AUTHORIZED_URL = "saas:micro:not:authorized:url";
/**
* 农工商流水号
*/
public final static String NGS_FLOWNO_PARTNER_DATE_NO = "ngs:flowno:partner:date:no";
}
package cn.freemud.controller;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo;
import cn.freemud.entities.vo.SellCouponCreateOrderVo;
import cn.freemud.service.impl.SellCouponOrderServiceImpl;
import com.freemud.application.sdk.api.log.ApiAnnotation;
......@@ -43,4 +44,14 @@ public class CreateOrderController {
return sellCouponOrderService.createOrder(requestVo);
}
/**
* 农工商卖券订单创建
*/
@ApiAnnotation(logMessage = "sellCouponOrderCreate")
@PostMapping("/ngs/sellCouponOrder/create")
public BaseResponse ngsSellCouponOrderCreate(@Validated @LogParams @RequestBody NgsSellCouponCreateOrderVo requestVo) {
return sellCouponOrderService.ngsCouponOrderCreate(requestVo);
}
}
package cn.freemud.entities;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class Active {
@JSONField(
name = "ActiveId"
)
private Integer ActiveId;
@JSONField(
name = "EBCode"
)
private String EBCode;
@JSONField(
name = "Type"
)
private Integer Type;
@JSONField(
name = "PartnerID"
)
private Integer PartnerID;
@JSONField(
name = "PlatformItemId"
)
private String PlatformItemId;
@JSONField(
name = "State"
)
private Integer State;
@JSONField(
name = "CreateUser"
)
private String CreateUser;
@JSONField(
name = "CreateDate"
)
private String CreateDate;
@JSONField(
name = "LastEditUser"
)
private String LastEditUser;
@JSONField(
name = "LastEditDate"
)
private String LastEditDate;
@JSONField(
name = "ActiveCode"
)
private String ActiveCode;
@JSONField(
name = "ActiveName"
)
private String ActiveName;
@JSONField(
name = "StartDate"
)
private String StartDate;
@JSONField(
name = "EndDate"
)
private String EndDate;
@JSONField(
name = "ShouldRedeemAll"
)
private Boolean ShouldRedeemAll;
@JSONField(
name = "PromotionType"
)
private String PromotionType;
@JSONField(
name = "Exclusive"
)
private Boolean Exclusive;
@JSONField(
name = "MinAmount"
)
private BigDecimal MinAmount;
@JSONField(
name = "MaxRedeemTimes"
)
private Integer MaxRedeemTimes;
@JSONField(
name = "MaxSendOut"
)
private Integer MaxSendOut;
@JSONField(
name = "Cost"
)
private BigDecimal Cost;
@JSONField(
name = "BusinessID"
)
private Integer BusinessID;
@JSONField(
name = "ActiveDesc"
)
private String ActiveDesc;
@JSONField(
name = "Percentage"
)
private Double percentage;
@JSONField(
name = "Inventory"
)
private Integer inventory;
@JSONField(
name = "PercentDiscount"
)
private BigDecimal PercentDiscount;
@JSONField(
name = "MaxDiscount"
)
private Integer MaxDiscount;
@JSONField(
name = "AppId"
)
private String AppId;
@JSONField(
name = "FromDayEffective"
)
private Integer FromDayEffective;
@JSONField(
name = "Effective"
)
private Integer Effective;
@JSONField(
name = "EffectiveStart"
)
private Date EffectiveStart;
@JSONField(
name = "EffectiveEnd"
)
private Date EffectiveEnd;
@JSONField(
name = "RedeemChannel"
)
private String RedeemChannel;
@JSONField(
name = "MerchantDiscountPrice"
)
private BigDecimal MerchantDiscountPrice;
@JSONField(
name = "PlatformDiscountPrice"
)
private BigDecimal PlatformDiscountPrice;
@JSONField(
name = "OtherDiscountPrice"
)
private BigDecimal OtherDiscountPrice;
@JSONField(
name = "salePrice"
)
private Integer salePrice;
@JSONField(
name = "voucherFaceValue"
)
private Integer voucherFaceValue;
/**
* 限购份数, 仅商品兑换券可用
*/
@JSONField(
name = "accountSendOutNum"
)
private Integer accountSendOutNum;
/**
* 每份购买张数, 仅商品兑换券可用
*/
@JSONField(
name = "accountSendOutAmount"
)
private Integer accountSendOutAmount;
}
package cn.freemud.entities;
import java.util.List;
public class BatchQueryActivityInfoResponse {
/**
* 状态码
*/
private String statusCode;
/**
* 状态码描述
*/
private String msg;
private List<Active> activities;
}
package cn.freemud.entities.dto;
import com.freemud.card.sdk.vo.coupon.Active;
import cn.freemud.entities.Active;
import lombok.Data;
import java.util.List;
......
......@@ -85,6 +85,10 @@ public class GetCouponDetailResponseDto {
private String startString;
@JsonProperty("State")
private Integer state;
@JsonProperty("SalePrice")
private Integer salePrice;
@JsonProperty("OriginalPrice")
private Integer originalPrice;
@JsonProperty("Type")
private Integer type;
}
......
package cn.freemud.entities.vo;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
@Data
public class NgsSellCouponCreateOrderVo {
@NotEmpty(message = "sessionId 不能为空")
private String sessionId;
/**
* svc 储值卡支付使用
*/
private String cardCode;
@NotEmpty(message = "券号 不能为空")
private String activityCode;
/**
* 业务类型
*/
@NotEmpty(message = "bizType 业务类型不能为空")
private String bizType;
/**
* 版本号
*/
// @NotEmpty(message = "version 版本号不能为空")
private String version;
@NotEmpty(message = "appId")
private String appId;
}
......@@ -13,6 +13,8 @@
package cn.freemud.service;
import cn.freemud.entities.dto.BatchQueryActivityInfoRequestDto;
import cn.freemud.entities.dto.BatchQueryActivityInfoResponseDto;
import cn.freemud.entities.dto.GetCouponDetailResponseDto;
import cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse;
import cn.freemud.entities.vo.ActivityClassifyCouponBean;
......@@ -31,6 +33,9 @@ public interface CouponService {
*/
GetCouponDetailResponseDto getMemberCoupon(GetMemberCouponRequestVo requestVo);
BatchQueryActivityInfoResponseDto batchQueryActivityInfo(BatchQueryActivityInfoRequestDto requestDto);
/**
* 获取卡券服务商户密钥
*/
......
......@@ -164,6 +164,15 @@ public class CheckOrder {
return userLoginInfoDto;
}
public AssortmentCustomerInfoVo getMemberNew(String sessionId) {
// 通过sessionId查询缓存中会员id
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
return userLoginInfoDto;
}
/**
* 查询门店信息
*/
......
......@@ -156,6 +156,24 @@ public class CouponServiceImpl implements CouponService {
return null;
}
@Override
public BatchQueryActivityInfoResponseDto batchQueryActivityInfo(BatchQueryActivityInfoRequestDto requestDto) {
String appSecret = this.getAppSecret(String.valueOf(requestDto.getPartnerId()));
// requestDto.setActiveCode(calActiveCodes);
// 书写逻辑
// requestDto.setPartnerId(Integer.valueOf(partnerId));
String sign = SignUtil.createMD5Sign(requestDto, appSecret);
requestDto.setSign(sign);
BatchQueryActivityInfoResponseDto batchQueryActivityInfoResponseDto = cardBinClient.batchQueryActivityInfo(requestDto);
if (Objects.equals(batchQueryActivityInfoResponseDto.getStatusCode(), ResponseCodeConstant.RESPONSE_SUCCESS_0_STR)
&& CollectionUtils.isNotEmpty(batchQueryActivityInfoResponseDto.getActivities())) {
return batchQueryActivityInfoResponseDto;
}
return null;
}
/**
* 获取会员服务的优惠券列表
*
......
......@@ -2513,7 +2513,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse = uSvcPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getUnionPayCard());
} else if (totalAmount > 0 && StringUtils.isBlank(cardCode)) {
String partnerPayOvertime = this.getPartnerPayOvertime(createPrepayRequestDto.getPartnerId());
orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getCardAmount(), transId, partnerPayOvertime);
orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getCardAmount(), transId, partnerPayOvertime, createPrepayRequestDto.getOrderExtInfoDTO());
}
//混合支付+svc卡
else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
......@@ -2717,7 +2717,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
}
public OrderPayResponse getPreOrderPay(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, String partnerPayOvertime) {
public OrderPayResponse getPreOrderPay(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, String partnerPayOvertime, OrderExtInfoDto orderExtInfoDto) {
OrderPayResponse orderPayResponse;
try {
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, partnerPayOvertime);
......@@ -2731,6 +2731,9 @@ public class OrderServiceImpl implements Orderservice {
}
}
// add by miaohui for 拼单群收款判断拼单人数大于1时参与微信平台补贴活动,创建预支付时上送goodsTag,后续抽成促销服务活动时删除此逻辑 end
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) {
request.setStationId(orderExtInfoDto.getStationId());
}
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = standardPaymentService.unifiedOrder(request, trackingNo);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
log.error("支付SDK返回信息错误,trackingNo:{} request:{} response:{}", trackingNo, JSONObject.toJSONString(request), JSONObject.toJSONString(responseBase));
......@@ -3221,7 +3224,7 @@ public class OrderServiceImpl implements Orderservice {
//唤起微信支付
if (totalAmount > 0 && StringUtils.isBlank(createOrderVo.getCardCode()) && StringUtils.isBlank(createOrderVo.getFaceCode())) {
String partnerPayOvertime = this.getPartnerPayOvertime(createOrderVo.getPartnerId());
orderPayResponse = getPreOrderPay(fatherBeanListOne, paymentRequest, LogThreadLocal.getTrackingNo(), cardAmount, fatherBeanListOne.getOid(), partnerPayOvertime);
orderPayResponse = getPreOrderPay(fatherBeanListOne, paymentRequest, LogThreadLocal.getTrackingNo(), cardAmount, fatherBeanListOne.getOid(), partnerPayOvertime, null);
return orderPayResponse;
}
//储值卡支付
......
......@@ -4,9 +4,12 @@ import cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter;
import cn.freemud.adapter.OrderAdapter;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.constant.CommonRedisKeyConstant;
import cn.freemud.entities.Active;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.SellCouponCreateOrderVo;
import cn.freemud.enums.OrderBeanType;
......@@ -14,6 +17,7 @@ import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.UserLoginChannelEnum;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.CouponService;
import cn.freemud.utils.LogUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSONObject;
......@@ -53,6 +57,7 @@ import com.freemud.sdk.api.assortment.order.request.order.ProductBindingCouponTy
import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.freemud.sdk.api.assortment.order.util.LockUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
......@@ -60,9 +65,14 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* All rights Reserved, Designed By www.freemud.cn
......@@ -98,15 +108,27 @@ public class SellCouponOrderServiceImpl {
private OrderAdapter orderAdapter;
@Autowired
private OrderSdkAdapter orderSdkAdapter;
@Autowired
private RedisCache redisCache;
@Autowired
private CouponService couponService;
@Value("${coupon.app.id}")
private String appId;
@Value("#{${ngs.virtual.store.idmap:null}}")
private Map<String, String> storeIdMap;
@Value("${ngs.partnerId.easy}")
private String easyPartnerId;
@Value("${ngs.partnerId.supermarket}")
private String supermarketPartnerId;
private final String SUCCESS = "100";
private final String ngsCouponProductId = "76161384";
/**
* 卖券订单创建
*/
......@@ -208,6 +230,100 @@ public class SellCouponOrderServiceImpl {
return orderservice.createPrepayOrder(createPrepayRequestDto);
}
public BaseResponse ngsCouponOrderCreate(NgsSellCouponCreateOrderVo requestVo){
// 查询用户信息、校验svc卡
AssortmentCustomerInfoVo userLoginInfoDto = checkOrder.getMemberNew(requestVo.getSessionId());
String trackingNo = LogThreadLocal.getTrackingNo();
String partnerId = userLoginInfoDto.getPartnerId();
// 构建创建订单入参
CreateOrderRequest createOrderRequest = ngsConvent2NEWCreateOrderRequest(requestVo,userLoginInfoDto);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderInfoReqs> orderInfoReqsBaseResponse = orderSdkService.createOrder(createOrderRequest, trackingNo);
CreateOrderResponse createOrderResponse = orderSdkAdapter.convent2NEWOrderInfoReqs(orderInfoReqsBaseResponse);
if(createOrderResponse == null || createOrderResponse.getErrcode() != 100){
return ResponseUtil.error(ResponseResult.ORDER_CREATE_ERROR);
}
//创建支付
CreatePrepayRequestDto createPrepayRequestDto = new CreatePrepayRequestDto();
createPrepayRequestDto.setPartnerId(partnerId);
createPrepayRequestDto.setTransId(orderInfoReqsBaseResponse.getResult().getOrderCode());
createPrepayRequestDto.setWxAppId(userLoginInfoDto.getWxAppId());
createPrepayRequestDto.setOpenId(userLoginInfoDto.getOpenId());
createPrepayRequestDto.setCardCode(requestVo.getCardCode());
createPrepayRequestDto.setPayCode(null);
createPrepayRequestDto.setFatherOrderBean(createOrderResponse.getData());
createPrepayRequestDto.setProductOrderBean(createOrderResponse.getData());
createPrepayRequestDto.setTotalAmount(createOrderRequest.getSettlementAmount());
createPrepayRequestDto.setCardAmount(0);
OrderExtInfoDto orderExtInfoDto = new OrderExtInfoDto();
String deliveryHoursDayStart = "";
String deliveryHoursDayEnd = "";
orderExtInfoDto.setDeliveryHoursDayStart(deliveryHoursDayStart);
orderExtInfoDto.setDeliveryHoursDayEnd(deliveryHoursDayEnd);
orderExtInfoDto.setOpenid(userLoginInfoDto.getOpenId());
orderExtInfoDto.setAppid(userLoginInfoDto.getWxAppId());
orderExtInfoDto.setSessionId(requestVo.getSessionId());
Integer serviceTime = 0;
if (Objects.equals(serviceTime, null)) {
serviceTime = 50;
}
orderExtInfoDto.setServiceTime(serviceTime);
orderExtInfoDto.setVersion(requestVo.getVersion());
// 扩展字段中存储 sessionKey
orderExtInfoDto.setSessionKey(userLoginInfoDto.getSessionKey());
orderExtInfoDto.setFromAppId(userLoginInfoDto.getWxAppId());
String date = DateUtil.convert2String(new Date(), "yyyyMMdd");
String key = this.getFolwNo(requestVo.getAppId(), date);
int flowno = 0;
RedisTemplate redisTemplate = redisCache.getRedisTemplate();
if (redisTemplate.opsForValue().setIfAbsent(key, 0)) {
redisTemplate.expire(key, 24, TimeUnit.HOURS);
} else {
flowno = redisTemplate.opsForValue().increment(key, 1).intValue();
}
String stationid = getStationId(date, requestVo.getAppId(), flowno);
orderExtInfoDto.setStationId(stationid);
createPrepayRequestDto.setOrderExtInfoDTO(orderExtInfoDto);
return orderservice.createPrepayOrder(createPrepayRequestDto);
}
private String getStationId(String date, String appid, int flowno) {
String stationid = "";
int length = String.valueOf(flowno).length();
if (easyPartnerId.equals(appid)){
stationid = date + "6600000001";
for (int i = 0; i < 5 - length; i++){
stationid += "0";
}
stationid += flowno;
} else if (supermarketPartnerId.equals(appid)) {
stationid = date + "9988800001";
for (int i = 0; i < 5 - length; i++){
stationid += "0";
}
stationid += flowno;
}
return stationid;
}
private String getFolwNo(String partnerId, String date){
return CommonRedisKeyConstant.NGS_FLOWNO_PARTNER_DATE_NO + ":" + partnerId + ":" + date;
}
/**
* 批量查询活动详情
*
......@@ -382,6 +498,113 @@ public class SellCouponOrderServiceImpl {
}
private CreateOrderRequest ngsConvent2NEWCreateOrderRequest(NgsSellCouponCreateOrderVo requestVo, AssortmentCustomerInfoVo userLoginInfoDto){
CreateOrderRequest request = new CreateOrderRequest();
Integer orderClient = OrderClientType.SAAS.getIndex();
if(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())){
orderClient = OrderClientType.ALIPAY.getIndex();
}
if(UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())){
orderClient = OrderClientType.APP.getIndex();
}
String partnerId = userLoginInfoDto.getPartnerId();
String requestVoAppId = requestVo.getAppId();
request.setOrderClient(orderClient);
request.setPartnerId(partnerId);
request.setStoreId(storeIdMap.get(requestVoAppId));
//买券虚拟订单
request.setBizType(6);
//1:线上支付 2:线下支付
request.setPayType(1);
request.setUserId(userLoginInfoDto.getMemberId());
request.setUserName(userLoginInfoDto.getNickName());
request.setStoreName("虚拟门店");
request.setThirdStoreId("");
request.setOrderState(1);
request.setPayState(1);
if(StringUtils.isNotBlank(requestVo.getCardCode())){
request.setPayChannel("10102");
request.setPayChannelName("储值卡支付");
}
// TODO 商品信息 从券码查
// TODO 通过活动号查询金额
String activityCode = requestVo.getActivityCode();
BatchQueryActivityInfoRequestDto queryActivityInfoRequestDto = new BatchQueryActivityInfoRequestDto();
queryActivityInfoRequestDto.setActiveCode(Arrays.asList(activityCode));
queryActivityInfoRequestDto.setPartnerId(Integer.valueOf(partnerId));
BatchQueryActivityInfoResponseDto batchQueryActivityInfoResponseDto = couponService.batchQueryActivityInfo(queryActivityInfoRequestDto);
Active active = batchQueryActivityInfoResponseDto.getActivities().get(0);
// GetMenuCategoryInfoResponse.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean productBean = productInfosResponse.getProducts().get(0);
//订单原始金额,单位分
//用户在界面上看到的支付金额
request.setSettlementAmount(active.getSalePrice().longValue());
//实际支付现金金额,扣除支付自生优惠,单位分`
request.setActualPayAmount(active.getSalePrice().longValue());
request.setOriginalAmount(active.getVoucherFaceValue().longValue());
request.setOrderType(OrderType.GENERAL_DINE_IN.getIndex());
//商品信息转换
List<OrderItemCreateReq> orderItemList = new ArrayList<>();
OrderItemCreateReq orderItemCreateReq = new OrderItemCreateReq();
orderItemCreateReq.setSalePrice(active.getSalePrice().longValue());
orderItemCreateReq.setProductPrice(active.getVoucherFaceValue().longValue());
orderItemCreateReq.setSettlementPrice(active.getSalePrice().longValue());
orderItemCreateReq.setPartnerId(partnerId);
orderItemCreateReq.setProductId(activityCode);
orderItemCreateReq.setProductSpec(activityCode);
orderItemCreateReq.setProductName(active.getActiveName());
orderItemCreateReq.setProductSpecName(active.getActiveName());
orderItemCreateReq.setProductSeq(1);
orderItemCreateReq.setProductCode(activityCode);
orderItemCreateReq.setThirdProductId("");
orderItemCreateReq.setProductQuantity(1);
OrderProductAddInfoDto orderProductAddInfoDto = new OrderProductAddInfoDto();
List<ProductBindingCouponType> productBindingCoupons = new ArrayList<>();
ProductBindingCouponType productBindingCouponType2 = new ProductBindingCouponType();
productBindingCouponType2.setActivityCode(active.getActiveCode());
productBindingCouponType2.setNum(active.getAccountSendOutAmount());
productBindingCouponType2.setActivityName(active.getActiveName());
productBindingCoupons.add(productBindingCouponType2);
orderProductAddInfoDto.setProductBindingCoupons(productBindingCoupons);
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(orderProductAddInfoDto));
orderItemList.add(orderItemCreateReq);
//商品信息赋值
request.setOrderItemList(orderItemList);
//收货人信息转换
List<DeliveryContactInfoCreateReq> deliveryContactInfoList = new ArrayList<>();
DeliveryContactInfoCreateReq deliveryContactInfoCreateReq = new DeliveryContactInfoCreateReq();
//地址类型 1:订单地址 2:售后单地址 3:配送员信息
deliveryContactInfoCreateReq.setRelateObjectType(1);
//联系方式类型 1:取件 2:收件
deliveryContactInfoCreateReq.setInfoType(1);
deliveryContactInfoCreateReq.setContactsName(userLoginInfoDto.getNickName());
deliveryContactInfoCreateReq.setMobile(userLoginInfoDto.getMobile());
deliveryContactInfoCreateReq.setLatitude(null);
deliveryContactInfoCreateReq.setLongitude(null);
deliveryContactInfoCreateReq.setAddressDetail(null);
deliveryContactInfoCreateReq.setProvince(null);
deliveryContactInfoCreateReq.setCity(null);
deliveryContactInfoCreateReq.setRegion(null);
deliveryContactInfoList.add(deliveryContactInfoCreateReq);
request.setDeliveryContactInfoList(deliveryContactInfoList);
//保存门店渠道信息
request.setOperator(userLoginInfoDto.getNickName());
request.setAppId(userLoginInfoDto.getWxAppId());
return request;
}
/**
*
* @param message
......@@ -454,5 +677,11 @@ public class SellCouponOrderServiceImpl {
return couponDetailResponse.getData().getDetails();
}
private Long pointToFen(double price) {
DecimalFormat df = new DecimalFormat("#.00");
price = Double.valueOf(df.format(price));
long money = (long) (price * 100);
return money;
}
}
......@@ -182,5 +182,10 @@ public class OrderExtInfoDto {
private Integer sendPointMaxNum;
private Integer sendPointValidityDateDays;
/**
* 唤起预支付设备号
*/
private String stationId;
}
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