|
@@ -1,5 +1,6 @@
|
|
|
package com.zswl.cloud.springBtach.server.core.controller;
|
|
|
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
import com.github.microservice.auth.client.constant.AuthConstant;
|
|
|
import com.github.microservice.auth.client.content.ResultContent;
|
|
|
import com.github.microservice.auth.security.annotations.ResourceAuth;
|
|
@@ -10,10 +11,14 @@ import com.zhongshu.payment.client.model.order.AdminSeachOrderModel;
|
|
|
import com.zhongshu.payment.client.model.order.OrderResultModel;
|
|
|
import com.zhongshu.payment.client.model.order.ScanModel;
|
|
|
import com.zhongshu.payment.client.model.order.UserSeachOrderModel;
|
|
|
+import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
|
|
|
import com.zhongshu.payment.client.model.order.v2.OrderResult2Model;
|
|
|
import com.zhongshu.payment.client.model.order.v2.UserSeachOrder2Model;
|
|
|
import com.zhongshu.payment.client.model.payment.CreateResponseModel;
|
|
|
import com.zhongshu.payment.client.service.v2.OrderService2;
|
|
|
+import com.zhongshu.payment.client.type.JobFlowMap;
|
|
|
+import com.zhongshu.payment.client.type.TransferOwner;
|
|
|
+import com.zhongshu.payment.client.type.TransferType;
|
|
|
import com.zswl.cloud.springBtach.server.core.service.OrderServiceImp;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
@@ -26,6 +31,8 @@ import org.springframework.util.Assert;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.List;
|
|
|
|
|
|
@Log4j2
|
|
|
@RestController
|
|
@@ -49,6 +56,57 @@ public class OrderController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @ApiOperation("创建扫码订单")
|
|
|
+ @ResourceAuth(value = "user", type = AuthType.User)
|
|
|
+ @RequestMapping(value = "creatScanOrder", method = RequestMethod.POST)
|
|
|
+ public ResultContent<CreateResponseModel> creatScanOrder(@Valid @RequestBody ScanModel scanModel){
|
|
|
+
|
|
|
+ String userId = authHelper.getCurrentUser().getUserId();
|
|
|
+
|
|
|
+ // 订单信息
|
|
|
+ CreateOrder2Model createOrder2Model = new CreateOrder2Model();
|
|
|
+ createOrder2Model.setShopId(scanModel.getShopId());
|
|
|
+ createOrder2Model.setUserId(userId);
|
|
|
+ // todo 店铺信息
|
|
|
+ createOrder2Model.setShopInfo(new JSONObject());
|
|
|
+ createOrder2Model.setTotalAmount(scanModel.getPrice());
|
|
|
+ createOrder2Model.setDiscountAmount(BigDecimal.ZERO);
|
|
|
+ createOrder2Model.setPayAmount(scanModel.getPrice());
|
|
|
+
|
|
|
+
|
|
|
+ // 商品信息
|
|
|
+ CreateOrder2Model.Goods goods = new CreateOrder2Model.Goods();
|
|
|
+ goods.setGoodsId("二维码");
|
|
|
+ goods.setJobFlowMap(JobFlowMap.Pcod);
|
|
|
+ goods.setPayAmount(scanModel.getPrice());
|
|
|
+ goods.setTransferType(TransferType.RATIO);
|
|
|
+
|
|
|
+
|
|
|
+ goods.setGoodsInfo(new JSONObject().set("goodsName","二维码商品"));
|
|
|
+
|
|
|
+ // todo 店铺分账规则
|
|
|
+ // 平台分账
|
|
|
+ CreateOrder2Model.Owner plat = new CreateOrder2Model.Owner();
|
|
|
+ plat.setOwner(TransferOwner.PLATFORM);
|
|
|
+ plat.setValue(BigDecimal.ZERO);
|
|
|
+
|
|
|
+ // 商品数据
|
|
|
+ CreateOrder2Model.Owner shop = new CreateOrder2Model.Owner();
|
|
|
+ shop.setOwner(TransferOwner.BUY_SHOP);
|
|
|
+ shop.setValue(BigDecimal.valueOf(100));
|
|
|
+ shop.setShopId(createOrder2Model.getShopId());
|
|
|
+
|
|
|
+ goods.setTransferRrule(List.of(plat,shop));
|
|
|
+ goods.setExtend(scanModel.getExtend());
|
|
|
+ createOrder2Model.setGoodsList(List.of(goods));
|
|
|
+
|
|
|
+
|
|
|
+ createOrder2Model.setGoodsList(List.of(goods));
|
|
|
+
|
|
|
+ return orderServiceImp.creat(createOrder2Model);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@ApiOperation("商家验券")
|
|
|
@ResourceAuth(value = "checkCoupon", type = AuthType.Enterprise)
|
|
|
@ResourceAuth(value = "checkCoupon", type = AuthType.Project)
|