Commit f7252ae5 authored by 黎博's avatar 黎博

新增绑定收货地址就可靠

parent a384866b
......@@ -2,7 +2,7 @@ package cn.qg.qaplatform.controller.yxm;
import cn.qg.qaplatform.config.SwitchDataSource;
import cn.qg.qaplatform.entity.kdsp.TSkuInfo;
import cn.qg.qaplatform.process.Purchase;
import cn.qg.qaplatform.process.Yxm;
import cn.qg.qaplatform.service.kdsp.TSkuInfoService;
import cn.qg.qaplatform.utils.Result;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -28,12 +28,12 @@ public class YxmController {
/**
* 获取sku列表
* @param namespace
* @param skuSource
* @param skuNo
* @param skuName
* @param pageNum
* @param pageSize
* @param namespace 环境
* @param skuSource 商品来源 1-自营 2-京东开普勒 3-京东联盟 4-众联 5-企业购 6-企业购直连
* @param skuNo skuNo
* @param skuName sku名称
* @param pageNum 第几页
* @param pageSize 每页多少个
* @return
*/
@GetMapping("/sku/list")
......@@ -62,23 +62,50 @@ public class YxmController {
return Result.buildSuccessResult(map);
}
@PostMapping("/shopping")
/**
* 羊小咩购物接口
* @param namespace 环境
* @param version 羊小咩App版本
* @param phoneNo 手机号
* @param skuNo skuNo
* @return
*/
@PostMapping("/order")
public Result yxmShopping(String namespace, String version, String phoneNo, String skuNo) {
try {
String token = Purchase.loginApp(namespace, version,phoneNo);
Integer addressId = Purchase.getAddressList(namespace, token);
Map<String, Object> submitParams = Purchase.confirmOrder(namespace, token, skuNo, addressId);
String orderNo = Purchase.submitOrder(namespace, version, token, submitParams);
String payStatus = Purchase.queryPayStatus(namespace, version, token, orderNo);
Purchase.openCheckout(namespace, version, token, orderNo);
Purchase.payReissueContract(namespace, version, token);
String flowOrderNo = Purchase.checkoutPrePay(namespace, version, token, orderNo);
String payPwdSalt = Purchase.vccAccountSalt(namespace, version, token);
Integer creditPayStatus = Purchase.checkoutPay(namespace, version, token, orderNo, flowOrderNo, payPwdSalt);
String token = Yxm.loginApp(namespace, version,phoneNo);
Integer addressId = Yxm.getAddressList(namespace, phoneNo, token);
Map<String, Object> submitParams = Yxm.confirmOrder(namespace, token, skuNo, addressId);
String orderNo = Yxm.submitOrder(namespace, version, token, submitParams);
String payStatus = Yxm.queryPayStatus(namespace, version, token, orderNo);
Yxm.openCheckout(namespace, version, token, orderNo);
Yxm.payReissueContract(namespace, version, token);
String flowOrderNo = Yxm.checkoutPrePay(namespace, version, token, orderNo);
String payPwdSalt = Yxm.vccAccountSalt(namespace, version, token);
Integer creditPayStatus = Yxm.checkoutPay(namespace, version, token, orderNo, flowOrderNo, payPwdSalt);
} catch (Exception e) {
e.printStackTrace();
return Result.buildErrorStateResult("下单失败!", false);
}
return Result.buildSuccessResult("下单成功!");
}
/**
* 绑定收货地址
* @param namespace 环境
* @param version 羊小咩App版本
* @param phoneNo 手机号
* @return
*/
@PostMapping("/bind/address")
public Result bindReceiveAddr(String namespace, String version, String phoneNo) {
try {
String token = Yxm.loginApp(namespace, version, phoneNo);
Yxm.addAddress(namespace, phoneNo, token);
} catch (Exception e) {
e.printStackTrace();
return Result.buildErrorStateResult("购物失败!", false);
return Result.buildErrorStateResult("地址绑定失败!", false);
}
return null;
return Result.buildSuccessResult("地址绑定成功!");
}
}
......@@ -19,7 +19,7 @@ import java.util.*;
* @author libo
*/
@Slf4j
public class Purchase {
public class Yxm {
/**
* kdsp 配置的私钥及 ios端对应的公钥
......@@ -96,7 +96,7 @@ public class Purchase {
* @return
* @throws URISyntaxException
*/
public static Integer getAddressList(String namespace, String token) throws URISyntaxException {
public static Integer getAddressList(String namespace, String phoneNo, String token) throws URISyntaxException {
String url = "http://talos-" + namespace + ".liangkebang.net/api/kdsp/addr/receiver/list";
Map<String, Object> headers = new HashMap<>();
headers.put("x-auth-token", token);
......@@ -104,7 +104,7 @@ public class Purchase {
log.info("获取地址列表响应:" + response);
List<Map<String, Object>> addressIdList = JsonPath.read(response, "$.data.addrReceiverList[*].addrReceiverId");
if (addressIdList.size() == 0) {
return addAddress(namespace, token);
return addAddress(namespace, phoneNo, token);
}
log.info("获取地址信息:" + response);
return JsonPath.read(response, "$.data.addrReceiverList[0].addrReceiverId");
......@@ -116,7 +116,7 @@ public class Purchase {
* @param token
* @return
*/
public static Integer addAddress(String namespace, String token) {
public static Integer addAddress(String namespace, String phoneNo, String token) {
String url = "http://talos-" + namespace + ".liangkebang.net/api/kdsp/addr/receiver/add_edit";
Map<String, Object> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
......@@ -129,7 +129,7 @@ public class Purchase {
params.put("townId", "");
params.put("detail", "中国电子大厦B座");
params.put("receiverName", "量化派");
params.put("receiverPhoneNo", "18311069063");
params.put("receiverPhoneNo", phoneNo);
params.put("addrDefault", "1");
JSONObject response = HttpClientUtils.doPostJson(url, JSON.toJSONString(params), headers);
log.info("新增地址:" + response);
......@@ -337,8 +337,9 @@ public class Purchase {
public static void main(String[] args) throws Exception {
String namespace = "test1";
String version = "8.0.00";
String token = loginApp(namespace, version,"18300002001");
Integer addressId = getAddressList(namespace, token);
String phoneNo = "18300002001";
String token = loginApp(namespace, version,phoneNo);
Integer addressId = getAddressList(namespace, phoneNo, token);
Map<String, Object> submitParams = confirmOrder(namespace, token, "26423184333313", addressId);
String orderNo = submitOrder(namespace, version, token, submitParams);
String payStatus = queryPayStatus(namespace, version, token, orderNo);
......
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