Commit f7252ae5 authored by 黎博's avatar 黎博

新增绑定收货地址就可靠

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