|
@@ -21,8 +21,11 @@ import com.xiaoju.open.oil.interfaces.response.*;
|
|
|
import com.xiaoju.open.oil.security.secret.SecurityService;
|
|
|
import com.zhongshu.payment.client.model.order.v2.CreatOrderResultModel;
|
|
|
import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
|
|
|
+import com.zhongshu.payment.client.model.order.v2.GoodsResultModel;
|
|
|
+import com.zhongshu.payment.client.model.order.v2.UpdateGoodsModel;
|
|
|
import com.zhongshu.payment.client.service.v2.OrderService2;
|
|
|
import com.zhongshu.payment.client.type.JobFlowMap;
|
|
|
+import com.zhongshu.payment.client.type.OrderType;
|
|
|
import com.zhongshu.payment.client.type.TransferOwner;
|
|
|
import com.zhongshu.payment.client.type.TransferType;
|
|
|
import com.zswl.cloud.shop.client.dto.life.TripartiteShopDto;
|
|
@@ -98,7 +101,7 @@ public class XiaoJuService {
|
|
|
tripartiteShopDto.setMapLon(String.valueOf(xiaoJuStore.getLon()));
|
|
|
tripartiteShopDto.setMapLat(String.valueOf(xiaoJuStore.getLat()));
|
|
|
tripartiteShopDto.setLogoPath(xiaoJuStore.getLogo());
|
|
|
- if (xiaoJuStore.getPicList().size()>0){
|
|
|
+ if (xiaoJuStore.getPicList().size() > 0) {
|
|
|
tripartiteShopDto.setDetailImg(xiaoJuStore.getPicList().get(0));
|
|
|
}
|
|
|
|
|
@@ -107,7 +110,6 @@ public class XiaoJuService {
|
|
|
log.info("创建店铺响应{}", JSONUtil.toJsonStr(resultContent));
|
|
|
|
|
|
|
|
|
-
|
|
|
XiaoJuStore byStoreId = xiaoJuStoreDao.findByStoreId(xiaoJuStore.getStoreId());
|
|
|
if (byStoreId != null) {
|
|
|
BeanUtils.copyProperties(byStoreId, xiaoJuStore, "id", "updateTime");
|
|
@@ -149,6 +151,8 @@ public class XiaoJuService {
|
|
|
BeanUtils.copyProperties(byOutOrderId, xiaoJuStore, "outOrderId");
|
|
|
xiaoJuOrderDao.save(byOutOrderId);
|
|
|
|
|
|
+
|
|
|
+
|
|
|
String data = SecurityService.genEncodeData("{\"success\":true,\"msg\":\"ok\"}", oilConfig.getDataSecret(), oilConfig.getDataSecretIV());
|
|
|
String sig = SecurityService.genSigData(data, oilConfig.getDataSecret());
|
|
|
ResponseDTO responseDTO = new ResponseDTO();
|
|
@@ -341,19 +345,16 @@ public class XiaoJuService {
|
|
|
// if (ObjectUtil.isNotEmpty(detail.getContent().getAuthAccount())) {
|
|
|
// throw new RuntimeException("分账账户未配置");
|
|
|
// }
|
|
|
-
|
|
|
-
|
|
|
AuthDetails currentUser = authHelper.getCurrentUser();
|
|
|
String phone = currentUser.getPhone();
|
|
|
String userId = currentUser.getUserId();
|
|
|
|
|
|
XiaoJuStore byStoreId = xiaoJuStoreDao.findByStoreId(xiaoJuQueryNewOrderModel.getStoreId());
|
|
|
|
|
|
- String outOrderId = snowflake.nextIdStr();
|
|
|
QueryNewOrderRequest queryNewOrderRequest = new QueryNewOrderRequest();
|
|
|
queryNewOrderRequest.setOutUserId(userId);
|
|
|
queryNewOrderRequest.setMobile(phone);
|
|
|
- queryNewOrderRequest.setOutOrderId(outOrderId);
|
|
|
+// queryNewOrderRequest.setOutOrderId(outOrderId);
|
|
|
queryNewOrderRequest.setLat(byStoreId.getLat());
|
|
|
queryNewOrderRequest.setLon(byStoreId.getLon());
|
|
|
queryNewOrderRequest.setStoreId(byStoreId.getStoreId());
|
|
@@ -367,6 +368,50 @@ public class XiaoJuService {
|
|
|
queryNewOrderRequest.setStorePrice(xiaoJuQueryNewOrderModel.getStorePrice());
|
|
|
queryNewOrderRequest.setPromotionInfo(xiaoJuQueryNewOrderModel.getPromotionInfo());
|
|
|
|
|
|
+
|
|
|
+ /*************************************************************************/
|
|
|
+ // 平台订单
|
|
|
+
|
|
|
+ CreateOrder2Model createOrder2Model = new CreateOrder2Model();
|
|
|
+ createOrder2Model.setShopId(xiaoJuQueryNewOrderModel.getEpId());
|
|
|
+ createOrder2Model.setUserId(userId);
|
|
|
+
|
|
|
+ JSONObject shopInfo = JSONUtil.parseObj(byStoreId);
|
|
|
+ shopInfo.put("shopName", byStoreId.getStoreName());
|
|
|
+
|
|
|
+ createOrder2Model.setShopInfo(shopInfo);
|
|
|
+
|
|
|
+ BigDecimal total = BigDecimal.valueOf(xiaoJuQueryNewOrderModel.getOriginalAmount()).divide(BigDecimal.valueOf(100));
|
|
|
+ BigDecimal payment = BigDecimal.valueOf(xiaoJuQueryNewOrderModel.getPaymentAmount()).divide(BigDecimal.valueOf(100));
|
|
|
+
|
|
|
+ createOrder2Model.setTotalAmount(total);
|
|
|
+ createOrder2Model.setPayAmount(payment);
|
|
|
+ createOrder2Model.setDiscountAmount(total.subtract(payment));
|
|
|
+ createOrder2Model.setAccesserUserId("");
|
|
|
+
|
|
|
+ CreateOrder2Model.Goods goods = new CreateOrder2Model.Goods();
|
|
|
+ goods.setGoodsId("");
|
|
|
+ goods.setJobFlowMap(JobFlowMap.XiaoJu);
|
|
|
+ JSONObject goodsInfo = JSONUtil.parseObj(queryNewOrderRequest);
|
|
|
+ goodsInfo.put("goodsName", byStoreId.getStoreName());
|
|
|
+ goodsInfo.put("goodsPath", byStoreId.getLogo());
|
|
|
+ goods.setGoodsInfo(goodsInfo);
|
|
|
+ goods.setPayAmount(payment);
|
|
|
+ goods.setTransferType(TransferType.RATIO);
|
|
|
+ CreateOrder2Model.Owner shop = new CreateOrder2Model.Owner();
|
|
|
+ shop.setOwner(TransferOwner.BUY_SHOP);
|
|
|
+ shop.setShopId(xiaoJuQueryNewOrderModel.getEpId());
|
|
|
+ shop.setValue(BigDecimal.valueOf(100));
|
|
|
+ goods.setTransferRrule(List.of(shop));
|
|
|
+ createOrder2Model.setGoodsList(List.of(goods));
|
|
|
+
|
|
|
+ ResultContent<CreatOrderResultModel> creat = orderService2.creat(createOrder2Model);
|
|
|
+ log.info("创建订单结果:{}", JSONUtil.toJsonStr(creat.getContent()));
|
|
|
+ // 平台订单结束
|
|
|
+ /*************************************************************************/
|
|
|
+ queryNewOrderRequest.setOutOrderId(creat.getContent().getOrderNo());
|
|
|
+
|
|
|
+
|
|
|
QueryClient queryClient = QueryClientFactory.create(oilConfig);
|
|
|
|
|
|
ApiLog apiLog = new ApiLog();
|
|
@@ -380,52 +425,13 @@ public class XiaoJuService {
|
|
|
XiaoJuOrder xiaoJuOrder = new XiaoJuOrder();
|
|
|
BeanUtils.copyProperties(queryNewOrderResponse, xiaoJuOrder);
|
|
|
BeanUtils.copyProperties(queryNewOrderRequest, xiaoJuOrder);
|
|
|
-
|
|
|
xiaoJuOrderDao.save(xiaoJuOrder);
|
|
|
apiLog.setResponse(JSONUtil.toJsonStr(queryNewOrderResponse));
|
|
|
apiLogDao.save(apiLog);
|
|
|
|
|
|
- // 平台订单
|
|
|
-
|
|
|
- CreateOrder2Model createOrder2Model = new CreateOrder2Model();
|
|
|
- createOrder2Model.setShopId(xiaoJuQueryNewOrderModel.getEpId());
|
|
|
- createOrder2Model.setUserId(userId);
|
|
|
-
|
|
|
- JSONObject shopInfo = JSONUtil.parseObj(byStoreId);
|
|
|
- shopInfo.put("shopName", byStoreId.getStoreName());
|
|
|
-
|
|
|
- createOrder2Model.setShopInfo(shopInfo);
|
|
|
-
|
|
|
- BigDecimal total = BigDecimal.valueOf(xiaoJuQueryNewOrderModel.getOriginalAmount()).divide(BigDecimal.valueOf(100));
|
|
|
- BigDecimal payment = BigDecimal.valueOf(xiaoJuQueryNewOrderModel.getPaymentAmount()).divide(BigDecimal.valueOf(100));
|
|
|
-
|
|
|
- createOrder2Model.setTotalAmount(total);
|
|
|
- createOrder2Model.setPayAmount(payment);
|
|
|
- createOrder2Model.setDiscountAmount(total.subtract(payment));
|
|
|
- createOrder2Model.setAccesserUserId("");
|
|
|
-
|
|
|
- CreateOrder2Model.Goods goods = new CreateOrder2Model.Goods();
|
|
|
- goods.setGoodsId(outOrderId);
|
|
|
- goods.setJobFlowMap(JobFlowMap.XiaoJu);
|
|
|
- JSONObject goodsInfo = JSONUtil.parseObj(queryNewOrderRequest);
|
|
|
- goodsInfo.put("goodsName",byStoreId.getStoreName());
|
|
|
- goodsInfo.put("goodsPath",byStoreId.getLogo());
|
|
|
- goods.setGoodsInfo(goodsInfo);
|
|
|
- goods.setPayAmount(payment);
|
|
|
- goods.setTransferType(TransferType.RATIO);
|
|
|
- CreateOrder2Model.Owner shop = new CreateOrder2Model.Owner();
|
|
|
- shop.setOwner(TransferOwner.BUY_SHOP);
|
|
|
- shop.setShopId(xiaoJuQueryNewOrderModel.getEpId());
|
|
|
- shop.setValue(BigDecimal.valueOf(100));
|
|
|
- goods.setTransferRrule(List.of(shop));
|
|
|
- goods.setExtend(JSONUtil.toJsonStr(queryNewOrderResponse));
|
|
|
-
|
|
|
- createOrder2Model.setGoodsList(List.of(goods));
|
|
|
-
|
|
|
- ResultContent<CreatOrderResultModel> creat = orderService2.creat(createOrder2Model);
|
|
|
- log.info("创建订单结果:{}", JSONUtil.toJsonStr(creat.getContent()));
|
|
|
- // 平台订单结束
|
|
|
-
|
|
|
+ UpdateGoodsModel updateGoodsModel = new UpdateGoodsModel();
|
|
|
+ updateGoodsModel.setExtend(JSONUtil.toJsonStr(queryNewOrderResponse));
|
|
|
+ updateOrder(queryNewOrderResponse.getOutOrderId(), updateGoodsModel);
|
|
|
return ResultContent.buildContent(queryNewOrderResponse);
|
|
|
} catch (Exception e) {
|
|
|
|
|
@@ -441,10 +447,10 @@ public class XiaoJuService {
|
|
|
|
|
|
|
|
|
// 取消订单
|
|
|
- public ResultContent cancelOrder(String orderNo,String xjOrderId) {
|
|
|
+ public ResultContent cancelOrder(QueryNewOrderResponse queryNewOrderResponse) {
|
|
|
MiniCancelOrderStatusRequest cancelOrderStatusRequest = new MiniCancelOrderStatusRequest();
|
|
|
- cancelOrderStatusRequest.setOutOrderId(orderNo);
|
|
|
- cancelOrderStatusRequest.setXjOrderId(xjOrderId);
|
|
|
+ cancelOrderStatusRequest.setOutOrderId(queryNewOrderResponse.getOutOrderId());
|
|
|
+ cancelOrderStatusRequest.setXjOrderId(queryNewOrderResponse.getXjOrderId());
|
|
|
QueryClient queryClient = QueryClientFactory.create(oilConfig);
|
|
|
ApiLog apiLog = new ApiLog();
|
|
|
apiLog.setService("cancelOrder");
|
|
@@ -454,7 +460,11 @@ public class XiaoJuService {
|
|
|
queryClient.apiMini().cancelOrder(cancelOrderStatusRequest);
|
|
|
apiLog.setResponse(null);
|
|
|
apiLogDao.save(apiLog);
|
|
|
- }catch (Exception e) {
|
|
|
+ UpdateGoodsModel updateGoodsModel = new UpdateGoodsModel();
|
|
|
+ updateGoodsModel.setGoodsState(OrderType.CLOSE);
|
|
|
+ updateOrder(queryNewOrderResponse.getOutOrderId(), updateGoodsModel);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
apiLog.setResponse(e.getCause().getMessage());
|
|
|
apiLogDao.save(apiLog);
|
|
@@ -466,9 +476,8 @@ public class XiaoJuService {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
// 同步订单状态
|
|
|
- public void syncOrderStatus(SynOrderStatusRequest synOrderStatusRequest) {
|
|
|
+ public void syncOrderStatus(SynOrderStatusRequest synOrderStatusRequest) {
|
|
|
|
|
|
QueryClient queryClient = QueryClientFactory.create(oilConfig);
|
|
|
|
|
@@ -623,4 +632,17 @@ public class XiaoJuService {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ private void updateOrder(String orderNo, UpdateGoodsModel updateGoodsModel) {
|
|
|
+
|
|
|
+ ResultContent<List<GoodsResultModel>> listResultContent = orderService2.goodsDetail(orderNo);
|
|
|
+
|
|
|
+ for (GoodsResultModel goodsResultModel : listResultContent.getContent()) {
|
|
|
+ updateGoodsModel.setId(goodsResultModel.getId());
|
|
|
+ orderService2.updateGoods(updateGoodsModel);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|