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
9cc7e51d
Commit
9cc7e51d
authored
Mar 03, 2022
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
42c66a2e
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
43 additions
and
37 deletions
+43
-37
KeystoneService.java
src/main/java/cn/qg/holmes/bean/KeystoneService.java
+3
-2
OrderController.java
...olmes/controller/mock/keystone/jdbuy/OrderController.java
+23
-22
ProductController.java
...mes/controller/mock/keystone/jdbuy/ProductController.java
+6
-2
BizSku.java
.../java/cn/qg/holmes/entity/mock/keystone/jdbuy/BizSku.java
+1
-1
JdCancelOrderRequest.java
...lmes/entity/mock/keystone/jdbuy/JdCancelOrderRequest.java
+1
-1
JdCompanyMsgRequest.java
...olmes/entity/mock/keystone/jdbuy/JdCompanyMsgRequest.java
+1
-1
JdConfirmOrderRequest.java
...mes/entity/mock/keystone/jdbuy/JdConfirmOrderRequest.java
+1
-1
JdFreightRequest.java
...g/holmes/entity/mock/keystone/jdbuy/JdFreightRequest.java
+1
-1
JdOrderDetailRequest.java
...lmes/entity/mock/keystone/jdbuy/JdOrderDetailRequest.java
+1
-1
JdSellPriceRequest.java
...holmes/entity/mock/keystone/jdbuy/JdSellPriceRequest.java
+1
-1
JdSkuStateRequest.java
.../holmes/entity/mock/keystone/jdbuy/JdSkuStateRequest.java
+1
-1
JdSkuStockRequest.java
.../holmes/entity/mock/keystone/jdbuy/JdSkuStockRequest.java
+1
-1
SubmitOrderRequest.java
...holmes/entity/mock/keystone/jdbuy/SubmitOrderRequest.java
+1
-1
DateUtils.java
src/main/java/cn/qg/holmes/utils/DateUtils.java
+1
-1
No files found.
src/main/java/cn/qg/holmes/bean/KeystoneService.java
View file @
9cc7e51d
...
...
@@ -46,9 +46,10 @@ public class KeystoneService {
/**
* 根据id获取商品相关信息
* @param skuId
* @param supplierType 供应商类型
* @return
*/
public
ProductItem
getProductItemById
(
String
skuId
)
{
public
ProductItem
getProductItemById
(
String
skuId
,
String
supplierType
)
{
String
sql
=
"SELECT * FROM `product_item` WHERE `third_sku_no` = "
+
skuId
;
log
.
info
(
"从keystone.product_item根据skuId查询商品信息:{}"
,
sql
);
ProductItem
productItem
=
new
ProductItem
();
...
...
@@ -64,7 +65,7 @@ public class KeystoneService {
productItem
.
setProductId
((
Long
)
map
.
get
(
"product_id"
));
productItem
.
setMarketPrice
(
new
BigDecimal
(
map
.
get
(
"market_price"
).
toString
()));
productItem
.
setSalePrice
(
new
BigDecimal
(
map
.
get
(
"sale_price"
).
toString
()));
productItem
.
setSupplyPrice
(
new
BigDecimal
(
map
.
get
(
"
market
_price"
).
toString
()));
productItem
.
setSupplyPrice
(
new
BigDecimal
(
map
.
get
(
"
sale
_price"
).
toString
()));
productItem
.
setSpecProps
(
map
.
get
(
"spec_props"
).
toString
());
productItem
.
setState
((
Integer
)
map
.
get
(
"state"
));
productItem
.
setOffSaleItemId
((
Long
)
map
.
get
(
"off_sale_item_id"
));
...
...
src/main/java/cn/qg/holmes/controller/mock/keystone/OrderController.java
→
src/main/java/cn/qg/holmes/controller/mock/keystone/
jdbuy/
OrderController.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
controller
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
controller
.
mock
.
keystone
.
jdbuy
;
import
cn.qg.holmes.bean.KeystoneService
;
import
cn.qg.holmes.entity.mock.keystone.*
;
import
cn.qg.holmes.entity.mock.keystone.ProductItem
;
import
cn.qg.holmes.entity.mock.keystone.jdbuy.*
;
import
cn.qg.holmes.utils.DateUtils
;
import
cn.qg.holmes.utils.RedisUtils
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -15,35 +16,29 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
@Slf4j
@RestController
public
class
OrderController
{
@Autowired
KeystoneService
keystoneService
;
@Autowired
RedisUtils
redisUtils
;
/**
* 商品税率
*/
private
final
BigDecimal
TAX
=
new
BigDecimal
(
"0.13"
);
/**
* SKU分配,随便MOCK一个
*/
private
final
Integer
SKU_CATEGORY
=
15924
;
@Autowired
KeystoneService
keystoneService
;
@Autowired
RedisUtils
redisUtils
;
private
String
QYG_ORDER_PREFIX
=
"qyg_order_"
;
/**
* 7.3 企业购提交订单
*
* @param submitOrderRequest 请求参数
* @return
*/
...
...
@@ -53,12 +48,14 @@ public class OrderController {
JSONObject
response
=
new
JSONObject
();
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
>>()
{});
List
<
SubmitOrderRequest
.
JdSkuInfo
>
skuInfos
=
JSON
.
parseObject
(
skuInfoArray
.
toJSONString
(),
new
TypeReference
<
List
<
SubmitOrderRequest
.
JdSkuInfo
>>()
{});
List
<
SubmitOrderRequest
.
JdSkuPriceInfo
>
orderPriceSnaps
=
JSON
.
parseObject
(
orderPriceSnapArray
.
toJSONString
(),
new
TypeReference
<
List
<
SubmitOrderRequest
.
JdSkuPriceInfo
>>()
{
});
List
<
SubmitOrderRequest
.
JdSkuInfo
>
skuInfos
=
JSON
.
parseObject
(
skuInfoArray
.
toJSONString
(),
new
TypeReference
<
List
<
SubmitOrderRequest
.
JdSkuInfo
>>()
{
});
Map
<
String
,
BigDecimal
>
skuPriceMap
=
convertSkuPriceMap
(
orderPriceSnaps
);
// 计算订单总金额
BigDecimal
orderPrice
=
new
BigDecimal
(
0
);
for
(
SubmitOrderRequest
.
JdSkuInfo
jdSkuInfo:
skuInfos
)
{
for
(
SubmitOrderRequest
.
JdSkuInfo
jdSkuInfo
:
skuInfos
)
{
BigDecimal
skuNum
=
new
BigDecimal
(
jdSkuInfo
.
getNum
());
String
skuId
=
jdSkuInfo
.
getSkuId
();
BigDecimal
price
=
skuPriceMap
.
get
(
skuId
);
...
...
@@ -75,10 +72,10 @@ public class OrderController {
BigDecimal
orderNakedPrice
=
orderPrice
.
divide
(
TAX
.
add
(
new
BigDecimal
(
1
)),
BigDecimal
.
ROUND_HALF_UP
);
result
.
put
(
"orderNakedPrice"
,
orderNakedPrice
);
List
<
BizSku
>
bizSkuList
=
new
ArrayList
<>();
for
(
SubmitOrderRequest
.
JdSkuInfo
sku:
skuInfos
)
{
for
(
SubmitOrderRequest
.
JdSkuInfo
sku
:
skuInfos
)
{
BizSku
bizSku
=
new
BizSku
();
String
skuId
=
sku
.
getSkuId
();
ProductItem
productItem
=
keystoneService
.
getProductItemById
(
skuId
);
ProductItem
productItem
=
keystoneService
.
getProductItemById
(
skuId
,
"jdbuy"
);
bizSku
.
setSkuId
(
Long
.
valueOf
(
skuId
));
bizSku
.
setNum
(
sku
.
getNum
());
bizSku
.
setCategory
(
SKU_CATEGORY
);
...
...
@@ -104,6 +101,7 @@ public class OrderController {
/**
* 7.5 确认预占库存订单
*
* @return
*/
@PostMapping
(
"/api/order/confirmOrder"
)
...
...
@@ -157,10 +155,10 @@ public class OrderController {
result
.
put
(
"orderType"
,
1
);
}
if
(
queryExts
!=
null
&&
queryExts
.
contains
(
"createOrderTime"
))
{
result
.
put
(
"createOrderTime"
,
DateUtils
.
getCurrentDate
(
"yyyy-MM-dd hh:mm:ss"
));
// todo
result
.
put
(
"createOrderTime"
,
DateUtils
.
convertDate
(
new
Date
(),
"yyyy-MM-dd hh:mm:ss"
));
}
if
(
queryExts
!=
null
&&
queryExts
.
contains
(
"finishTime"
))
{
result
.
put
(
"finishTime"
,
DateUtils
.
getCurrentDate
(
"yyyy-MM-dd hh:mm:ss"
));
result
.
put
(
"finishTime"
,
DateUtils
.
convertDate
(
new
Date
(),
"yyyy-MM-dd hh:mm:ss"
));
}
if
(
queryExts
!=
null
&&
queryExts
.
contains
(
"jdOrderState"
))
{
// 16-等待确认收货
...
...
@@ -175,6 +173,7 @@ public class OrderController {
/**
* 11.1 查询推送消息
*
* @return
*/
@PostMapping
(
"/api/message/get"
)
...
...
@@ -202,12 +201,13 @@ public class OrderController {
/**
* 列表转Map,key为skuId,value是price
*
* @param orderPriceSnaps JdSkuPriceInfo列表
* @return
*/
public
Map
<
String
,
BigDecimal
>
convertSkuPriceMap
(
List
<
SubmitOrderRequest
.
JdSkuPriceInfo
>
orderPriceSnaps
)
{
Map
<
String
,
BigDecimal
>
map
=
new
HashMap
<>();
for
(
SubmitOrderRequest
.
JdSkuPriceInfo
jdSkuPriceInfo:
orderPriceSnaps
)
{
for
(
SubmitOrderRequest
.
JdSkuPriceInfo
jdSkuPriceInfo
:
orderPriceSnaps
)
{
map
.
put
(
jdSkuPriceInfo
.
getSkuId
(),
jdSkuPriceInfo
.
getPrice
());
}
return
map
;
...
...
@@ -215,6 +215,7 @@ public class OrderController {
/**
* 计算运费
*
* @param totalPrice 总价格
* @return
*/
...
...
src/main/java/cn/qg/holmes/controller/mock/keystone/ProductController.java
→
src/main/java/cn/qg/holmes/controller/mock/keystone/
jdbuy/
ProductController.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
controller
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
controller
.
mock
.
keystone
.
jdbuy
;
import
cn.qg.holmes.bean.KeystoneService
;
import
cn.qg.holmes.entity.mock.keystone.*
;
import
cn.qg.holmes.entity.mock.keystone.jdbuy.JdFreightRequest
;
import
cn.qg.holmes.entity.mock.keystone.jdbuy.JdSellPriceRequest
;
import
cn.qg.holmes.entity.mock.keystone.jdbuy.JdSkuStateRequest
;
import
cn.qg.holmes.entity.mock.keystone.jdbuy.JdSkuStockRequest
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -62,7 +66,7 @@ public class ProductController {
response
.
put
(
"resultCode"
,
"0000"
);
JSONArray
result
=
new
JSONArray
();
for
(
String
skuId:
skuArray
)
{
ProductItem
productItem
=
keystoneService
.
getProductItemById
(
skuId
);
ProductItem
productItem
=
keystoneService
.
getProductItemById
(
skuId
,
"jdbuy"
);
JSONObject
productJson
=
new
JSONObject
();
productJson
.
put
(
"skuId"
,
Long
.
valueOf
(
skuId
));
productJson
.
put
(
"jdPrice"
,
productItem
.
getSupplyPrice
());
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/BizSku.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
BizSku.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdCancelOrderRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdCancelOrderRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdCompanyMsgRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdCompanyMsgRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdConfirmOrderRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdConfirmOrderRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdFreightRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdFreightRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdOrderDetailRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdOrderDetailRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdSellPriceRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdSellPriceRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdSkuStateRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdSkuStateRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/JdSkuStockRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
JdSkuStockRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/entity/mock/keystone/SubmitOrderRequest.java
→
src/main/java/cn/qg/holmes/entity/mock/keystone/
jdbuy/
SubmitOrderRequest.java
View file @
9cc7e51d
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
;
package
cn
.
qg
.
holmes
.
entity
.
mock
.
keystone
.
jdbuy
;
import
lombok.Data
;
...
...
src/main/java/cn/qg/holmes/utils/DateUtils.java
View file @
9cc7e51d
...
...
@@ -84,7 +84,7 @@ public class DateUtils {
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateUtils
.
getCurrentTime
(
));
System
.
out
.
println
(
DateUtils
.
convertDate
(
new
Date
(),
"yyyy-MM-dd hh:mm:ss"
));
}
}
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