Commit 694e3855 by chongfu.liang

农工商

parent 4d8e5377
...@@ -6,8 +6,10 @@ import cn.freemud.base.entity.BaseResponse; ...@@ -6,8 +6,10 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.CommonRedisKeyConstant; import cn.freemud.constant.CommonRedisKeyConstant;
import cn.freemud.entities.dto.ConfirmOrderDto; import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.GetCouponDetailResponseDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto; import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo; import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage; import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.SellCouponCreateOrderVo; import cn.freemud.entities.vo.SellCouponCreateOrderVo;
...@@ -16,6 +18,7 @@ import cn.freemud.enums.ResponseResult; ...@@ -16,6 +18,7 @@ import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.UserLoginChannelEnum; import cn.freemud.enums.UserLoginChannelEnum;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.CouponService;
import cn.freemud.utils.LogUtil; import cn.freemud.utils.LogUtil;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -65,6 +68,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -65,6 +68,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
...@@ -106,6 +110,8 @@ public class SellCouponOrderServiceImpl { ...@@ -106,6 +110,8 @@ public class SellCouponOrderServiceImpl {
private OrderSdkAdapter orderSdkAdapter; private OrderSdkAdapter orderSdkAdapter;
@Autowired @Autowired
private static RedisTemplate redisTemplate; private static RedisTemplate redisTemplate;
@Autowired
private CouponService couponService;
@Value("${coupon.app.id}") @Value("${coupon.app.id}")
...@@ -526,20 +532,29 @@ public class SellCouponOrderServiceImpl { ...@@ -526,20 +532,29 @@ public class SellCouponOrderServiceImpl {
// TODO 商品信息 从券码查 // TODO 商品信息 从券码查
// TODO 通过活动号查询金额 // TODO 通过活动号查询金额
String activityCode = requestVo.getActivityCode(); String activityCode = requestVo.getActivityCode();
GetCouponDetailResponseDto memberCoupon = couponService.getMemberCoupon(GetMemberCouponRequestVo.builder()
.partnerId(partnerId)
.couponCode(activityCode).build());
GetCouponDetailResponseDto.ActiveProduct activeProduct = memberCoupon.getDetails().get(0).getActiveProduct().get(0);
// GetMenuCategoryInfoResponse.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean productBean = productInfosResponse.getProducts().get(0); // GetMenuCategoryInfoResponse.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean productBean = productInfosResponse.getProducts().get(0);
//订单原始金额,单位分 //订单原始金额,单位分
//用户在界面上看到的支付金额 //用户在界面上看到的支付金额
request.setSettlementAmount(null); // TODO Long origianlPrice = pointToFen(activeProduct.getPriceOriginal().doubleValue());
Long discountPrice = pointToFen(activeProduct.getPriceDiscount().doubleValue());
long salePrice = origianlPrice - discountPrice;
request.setSettlementAmount(salePrice);
//实际支付现金金额,扣除支付自生优惠,单位分` //实际支付现金金额,扣除支付自生优惠,单位分`
request.setActualPayAmount(null); // TODO request.setActualPayAmount(salePrice);
request.setOriginalAmount(null); // TODO request.setOriginalAmount(origianlPrice);
request.setOrderType(OrderType.GENERAL_DINE_IN.getIndex()); request.setOrderType(OrderType.GENERAL_DINE_IN.getIndex());
//商品信息转换 //商品信息转换
List<OrderItemCreateReq> orderItemList = new ArrayList<>(); List<OrderItemCreateReq> orderItemList = new ArrayList<>();
OrderItemCreateReq orderItemCreateReq = new OrderItemCreateReq(); OrderItemCreateReq orderItemCreateReq = new OrderItemCreateReq();
orderItemCreateReq.setSalePrice(null); // TODO orderItemCreateReq.setSalePrice(salePrice);
orderItemCreateReq.setProductPrice(null); // TODO orderItemCreateReq.setProductPrice(origianlPrice);
orderItemCreateReq.setSettlementPrice(null); // TODO orderItemCreateReq.setSettlementPrice(salePrice);
orderItemCreateReq.setPartnerId(partnerId); orderItemCreateReq.setPartnerId(partnerId);
orderItemCreateReq.setProductId(ngsCouponProductId); orderItemCreateReq.setProductId(ngsCouponProductId);
...@@ -551,26 +566,20 @@ public class SellCouponOrderServiceImpl { ...@@ -551,26 +566,20 @@ public class SellCouponOrderServiceImpl {
orderItemCreateReq.setThirdProductId(""); orderItemCreateReq.setThirdProductId("");
orderItemCreateReq.setProductQuantity(1); orderItemCreateReq.setProductQuantity(1);
/* TODO 添加发券信息
OrderProductAddInfoDto orderProductAddInfoDto = new OrderProductAddInfoDto(); OrderProductAddInfoDto orderProductAddInfoDto = new OrderProductAddInfoDto();
List<ProductBindingCouponType> productBindingCoupons = new ArrayList<>(); List<ProductBindingCouponType> productBindingCoupons = new ArrayList<>();
for (GetMenuCategoryInfoResponse.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean.ProductBindingCouponType productBindingCouponType : productBean.getProductBindingCouponTypes()){ GetCouponDetailResponseDto.Details detail = memberCoupon.getDetails().get(0);
for (ActiveDetailVO activeDetailVO : activeDetailVOS){ List<GetCouponDetailResponseDto.ActiveProduct> activeProduct1 = detail.getActiveProduct();
if(productBindingCouponType.getActivityCode().equals(activeDetailVO.getActiveCode())){ ProductBindingCouponType productBindingCouponType2 = new ProductBindingCouponType();
ProductBindingCouponType productBindingCouponType2 = new ProductBindingCouponType(); productBindingCouponType2.setActivityCode(detail.getActiveCode());
productBindingCouponType2.setActivityCode(productBindingCouponType.getActivityCode()); productBindingCouponType2.setNum(activeProduct1.get(0).getAmount());
productBindingCouponType2.setNum(productBindingCouponType.getNum()); productBindingCouponType2.setActivityName(detail.getActive().getActiveName());
productBindingCouponType2.setActivityName(activeDetailVO.getActiveName()); productBindingCoupons.add(productBindingCouponType2);
productBindingCoupons.add(productBindingCouponType2);
break;
}
}
}
orderProductAddInfoDto.setProductBindingCoupons(productBindingCoupons); orderProductAddInfoDto.setProductBindingCoupons(productBindingCoupons);
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(orderProductAddInfoDto)); orderItemCreateReq.setExtInfo(JSONObject.toJSONString(orderProductAddInfoDto));
orderItemList.add(orderItemCreateReq); orderItemList.add(orderItemCreateReq);
*/
//商品信息赋值 //商品信息赋值
request.setOrderItemList(orderItemList); request.setOrderItemList(orderItemList);
...@@ -670,5 +679,11 @@ public class SellCouponOrderServiceImpl { ...@@ -670,5 +679,11 @@ public class SellCouponOrderServiceImpl {
return couponDetailResponse.getData().getDetails(); 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;
}
} }
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