Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
holmes
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
holmes
Commits
b81c0d19
Commit
b81c0d19
authored
Mar 03, 2022
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
/api/order/submitOrder接口返回由JSONObject改成java对象
parent
216d1ba3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
147 additions
and
16 deletions
+147
-16
OrderController.java
...olmes/controller/mock/keystone/jdbuy/OrderController.java
+32
-16
JdBaseResponse.java
...ava/cn/qg/holmes/entity/mock/keystone/JdBaseResponse.java
+14
-0
JdSubmitOrderResponse.java
...mes/entity/mock/keystone/jdbuy/JdSubmitOrderResponse.java
+101
-0
No files found.
src/main/java/cn/qg/holmes/controller/mock/keystone/jdbuy/OrderController.java
View file @
b81c0d19
...
...
@@ -44,9 +44,10 @@ public class OrderController {
* @return
*/
@PostMapping
(
"/api/order/submitOrder"
)
public
J
SONObject
qygSubmitOrder
(
SubmitOrderRequest
submitOrderRequest
)
{
public
J
dSubmitOrderResponse
qygSubmitOrder
(
SubmitOrderRequest
submitOrderRequest
)
{
log
.
info
(
"收到企业购提交订单请求:{}"
,
JSON
.
toJSONString
(
submitOrderRequest
));
JSONObject
response
=
new
JSONObject
();
// JSONObject response = new JSONObject();
JdSubmitOrderResponse
response
=
new
JdSubmitOrderResponse
();
JSONArray
orderPriceSnapArray
=
JSON
.
parseArray
(
submitOrderRequest
.
getOrderPriceSnap
());
JSONArray
skuInfoArray
=
JSON
.
parseArray
(
submitOrderRequest
.
getSku
());
List
<
SubmitOrderRequest
.
JdSkuPriceInfo
>
orderPriceSnaps
=
JSON
.
parseObject
(
orderPriceSnapArray
.
toJSONString
(),
new
TypeReference
<
List
<
SubmitOrderRequest
.
JdSkuPriceInfo
>>()
{
...
...
@@ -62,19 +63,31 @@ public class OrderController {
BigDecimal
price
=
skuPriceMap
.
get
(
skuId
);
orderPrice
=
orderPrice
.
add
(
price
.
multiply
(
skuNum
));
}
response
.
put
(
"success"
,
true
);
response
.
put
(
"resultCode"
,
"0001"
);
response
.
put
(
"resultMessage"
,
"下单成功"
);
JSONObject
result
=
new
JSONObject
();
// response.put("success", true);
// response.put("resultCode", "0001");
// response.put("resultMessage", "下单成功");
response
.
setSuccess
(
true
);
response
.
setResultCode
(
"0001"
);
response
.
setResultMessage
(
"下单成功"
);
JdSubmitOrderResponse
.
JdSumbitOrderInfo
jdSumbitOrderInfo
=
new
JdSubmitOrderResponse
.
JdSumbitOrderInfo
();
String
jdOrderId
=
RandomStringUtils
.
randomNumeric
(
12
);
result
.
put
(
"jdOrderId"
,
jdOrderId
);
result
.
put
(
"freight"
,
calculateFreight
(
orderPrice
));
result
.
put
(
"orderPrice"
,
orderPrice
);
jdSumbitOrderInfo
.
setJdOrderId
(
Long
.
valueOf
(
jdOrderId
)
);
jdSumbitOrderInfo
.
setFreight
(
calculateFreight
(
orderPrice
));
jdSumbitOrderInfo
.
setOrderPrice
(
orderPrice
);
BigDecimal
orderNakedPrice
=
orderPrice
.
divide
(
TAX
.
add
(
new
BigDecimal
(
1
)),
BigDecimal
.
ROUND_HALF_UP
);
result
.
put
(
"orderNakedPrice"
,
orderNakedPrice
);
List
<
BizSku
>
bizSkuList
=
new
ArrayList
<>();
jdSumbitOrderInfo
.
setOrderNakedPrice
(
orderNakedPrice
);
jdSumbitOrderInfo
.
setOrderTaxPrice
(
orderNakedPrice
.
multiply
(
TAX
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
// JSONObject result = new JSONObject();
// result.put("jdOrderId", jdOrderId);
// result.put("freight", calculateFreight(orderPrice));
// result.put("orderPrice", orderPrice);
// BigDecimal orderNakedPrice = orderPrice.divide(TAX.add(new BigDecimal(1)), BigDecimal.ROUND_HALF_UP);
// result.put("orderNakedPrice", orderNakedPrice);
List
<
JdSubmitOrderResponse
.
JdBizSku
>
bizSkuList
=
new
ArrayList
<>();
for
(
SubmitOrderRequest
.
JdSkuInfo
sku
:
skuInfos
)
{
BizSku
bizSku
=
new
BizSku
();
JdSubmitOrderResponse
.
JdBizSku
bizSku
=
new
JdSubmitOrderResponse
.
Jd
BizSku
();
String
skuId
=
sku
.
getSkuId
();
ProductItem
productItem
=
keystoneService
.
getProductItemById
(
skuId
,
"jdbuy"
);
bizSku
.
setSkuId
(
Long
.
valueOf
(
skuId
));
...
...
@@ -92,11 +105,14 @@ public class OrderController {
bizSkuList
.
add
(
bizSku
);
}
result
.
put
(
"sku"
,
bizSkuList
);
result
.
put
(
"orderTaxPrice"
,
orderNakedPrice
.
multiply
(
TAX
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
response
.
put
(
"result"
,
result
);
jdSumbitOrderInfo
.
setSku
(
bizSkuList
);
response
.
setResult
(
jdSumbitOrderInfo
);
// result.put("sku", bizSkuList);
// result.put("orderTaxPrice", orderNakedPrice.multiply(TAX).setScale(2, BigDecimal.ROUND_HALF_UP));
// response.put("result", result);
// 设置缓存,方便后面查询京东订单详情接口使用
redisUtils
.
set
(
QYG_ORDER_PREFIX
+
jdOrderId
,
response
.
toJSONString
(
),
604800
);
redisUtils
.
set
(
QYG_ORDER_PREFIX
+
jdOrderId
,
JSON
.
toJSONString
(
response
),
604800
);
return
response
;
}
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdBaseResponse.java
0 → 100644
View file @
b81c0d19
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
import
lombok.Data
;
@Data
public
class
JdBaseResponse
{
private
boolean
success
;
private
String
resultMessage
;
private
String
resultCode
;
}
src/main/java/cn/qg/holmes/entity/mock/keystone/jdbuy/JdSubmitOrderResponse.java
0 → 100644
View file @
b81c0d19
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
cn.qg.holmes.entity.mock.keystone.JdBaseResponse
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
public
class
JdSubmitOrderResponse
extends
JdBaseResponse
{
private
JdSumbitOrderInfo
result
;
@Data
public
static
class
JdSumbitOrderInfo
{
/**
* 京东订单号
*/
private
Long
jdOrderId
;
/**
* 运费
*/
private
BigDecimal
freight
;
/**
* 订单总金额
*/
private
BigDecimal
orderPrice
;
/**
* 订单未税金额
*/
private
BigDecimal
orderNakedPrice
;
/**
* 订单税额
*/
private
BigDecimal
orderTaxPrice
;
/**
* 订单包含的商品信息列表
*/
private
List
<
JdBizSku
>
sku
;
}
@Data
public
static
class
JdBizSku
{
/**
* 京东商品编号
*/
private
Long
skuId
;
/**
* 购买商品数量
*/
private
Integer
num
;
/**
* 商品分类编号
*/
private
Integer
category
;
/**
* 商品单价
*/
private
BigDecimal
price
;
/**
* 商品名称
*/
private
String
name
;
/**
* 商品税率
*/
private
BigDecimal
tax
;
/**
* 商品税额
*/
private
BigDecimal
taxPrice
;
/**
* 商品未税价
*/
private
BigDecimal
nakedPrice
;
/**
* 商品类型:0普通、1附件、2赠品
*/
private
Integer
type
;
/**
* 主商品skuid,如果本身是主商品,则oid为0
*/
private
Long
oid
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment