Commit 9cc7e51d authored by 黎博's avatar 黎博

update

parent 42c66a2e
......@@ -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"));
......
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
*/
......
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());
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
package cn.qg.holmes.entity.mock.keystone;
package cn.qg.holmes.entity.mock.keystone.jdbuy;
import lombok.Data;
......
......@@ -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"));
}
}
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