记得上下班打卡 | git大法好,push需谨慎

Commit 8103b7aa authored by 胡佳晨's avatar 胡佳晨

优化 下单接口数据

修改再次支付
parent d28436a1
...@@ -67,7 +67,7 @@ public class GoblinOrderSkuVo implements Serializable, Cloneable { ...@@ -67,7 +67,7 @@ public class GoblinOrderSkuVo implements Serializable, Cloneable {
public GoblinOrderSkuVo copy(GoblinOrderSku source) { public GoblinOrderSkuVo copy(GoblinOrderSku source) {
if (null == source) return this; if (null == source) return this;
this.setOrderSkuId(source.getOrderSkuId()); this.setOrderSkuId(source.getOrderSkuId());
this.setOrderId(source.getOrderSkuId()); this.setOrderId(source.getOrderId());
this.setSpuId(source.getSpuId()); this.setSpuId(source.getSpuId());
this.setSpuName(source.getSpuName()); this.setSpuName(source.getSpuName());
this.setSkuId(source.getSkuId()); this.setSkuId(source.getSkuId());
......
...@@ -528,6 +528,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -528,6 +528,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
LinkedList<Object[]> sqlDataOrder = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlDataOrder = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlDataAttr = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlDataAttr = CollectionUtil.linkedListObjectArr();
for (GoblinOrderSqlParam item : sqlParams) { for (GoblinOrderSqlParam item : sqlParams) {
List<GoblinOrderSkuVo> skuVoList = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (GoblinOrderSku orderSku : item.getOrderSkuList()) { for (GoblinOrderSku orderSku : item.getOrderSkuList()) {
sqlDataSku.add(new Object[]{ sqlDataSku.add(new Object[]{
orderSku.getOrderSkuId(), orderSku.getOrderId(), orderSku.getSpuId(), orderSku.getSpuName(), orderSku.getSpuPic(), orderSku.getSkuId(), orderSku.getNum(), orderSku.getSkuPrice(), orderSku.getSkuPriceActual(), orderSku.getSkuName(), orderSku.getOrderSkuId(), orderSku.getOrderId(), orderSku.getSpuId(), orderSku.getSpuName(), orderSku.getSpuPic(), orderSku.getSkuId(), orderSku.getNum(), orderSku.getSkuPrice(), orderSku.getSkuPriceActual(), orderSku.getSkuName(),
...@@ -537,10 +538,14 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -537,10 +538,14 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
GoblinOrderSkuVo orderSkuVo = GoblinOrderSkuVo.getNew().copy(orderSku); GoblinOrderSkuVo orderSkuVo = GoblinOrderSkuVo.getNew().copy(orderSku);
redisUtils.setGoblinOrderSku(orderSkuVo.getOrderSkuId(), orderSkuVo); redisUtils.setGoblinOrderSku(orderSkuVo.getOrderSkuId(), orderSkuVo);
long time2 = System.currentTimeMillis(); long time2 = System.currentTimeMillis();
mongoUtils.insertGoblinOrderSkuVo(orderSkuVo); // mongoUtils.insertGoblinOrderSkuVo(orderSkuVo);
log.info("mongo新增订单:" + (System.currentTimeMillis() - time2) + "秒"); log.info("mongo新增订单:" + (System.currentTimeMillis() - time2) + "秒");
goblinOrderSkuIdList.add(orderSkuVo.getOrderSkuId()); goblinOrderSkuIdList.add(orderSkuVo.getOrderSkuId());
skuVoList.add(orderSkuVo);
} }
mongoUtils.insertGoblinOrderSkuVoList(skuVoList);
GoblinStoreOrder storeOrder = item.getStoreOrder(); GoblinStoreOrder storeOrder = item.getStoreOrder();
storeOrder.setPayCode(payCode); storeOrder.setPayCode(payCode);
sqlDataOrder.add(new Object[]{ sqlDataOrder.add(new Object[]{
...@@ -625,6 +630,12 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -625,6 +630,12 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if (checkVo.getData().getStatus() == 1) { if (checkVo.getData().getStatus() == 1) {
return ResponseDto.failure("订单已支付"); return ResponseDto.failure("订单已支付");
} }
BigDecimal price = BigDecimal.ZERO;
String[] orderIds = redisUtils.getMasterCode(storeOrderVo.getMasterOrderCode());
for (String orderId : orderIds) {
GoblinStoreOrderVo orderVo = redisUtils.getGoblinOrder(orderId);
price = price.add(orderVo.getPriceActual());
}
GoblinPayInnerResultVo payInnerResultVo = GoblinPayInnerResultVo.getNew(); GoblinPayInnerResultVo payInnerResultVo = GoblinPayInnerResultVo.getNew();
// if (!storeOrderVo.getPayType().equals("FREE") && storeOrderVo.getPayType().equals(param.getPayType()) && storeOrderVo.getDeviceFrom().equals(param.getDeviceFrom())) { // if (!storeOrderVo.getPayType().equals("FREE") && storeOrderVo.getPayType().equals(param.getPayType()) && storeOrderVo.getDeviceFrom().equals(param.getDeviceFrom())) {
// payInnerResultVo.setCode(checkVo.getData().getCode()); // payInnerResultVo.setCode(checkVo.getData().getCode());
...@@ -642,7 +653,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -642,7 +653,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
// 调用支付 // 调用支付
LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString(); LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString();
httpData.add("type", "PRODUCT"); httpData.add("type", "PRODUCT");
httpData.add("price", storeOrderVo.getPriceActual().toString()); httpData.add("price", price.toString());
httpData.add("name", redisUtils.getStoreInfoVo(storeOrderVo.getStoreId()).getStoreName()); httpData.add("name", redisUtils.getStoreInfoVo(storeOrderVo.getStoreId()).getStoreName());
httpData.add("detail", "查找最初订单"); httpData.add("detail", "查找最初订单");
httpData.add("orderCode", storeOrderVo.getMasterOrderCode()); httpData.add("orderCode", storeOrderVo.getMasterOrderCode());
...@@ -676,7 +687,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -676,7 +687,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
payInnerResultVo.setPayData(dto.getData().getPayData()); payInnerResultVo.setPayData(dto.getData().getPayData());
payInnerResultVo.setOrderId(storeOrderVo.getOrderId()); payInnerResultVo.setOrderId(storeOrderVo.getOrderId());
payInnerResultVo.setPayType(param.getPayType()); payInnerResultVo.setPayType(param.getPayType());
payInnerResultVo.setPrice(storeOrderVo.getPriceActual()); payInnerResultVo.setPrice(price);
payInnerResultVo.setShowUrl(param.getShowUrl() + storeOrderVo.getOrderId()); payInnerResultVo.setShowUrl(param.getShowUrl() + storeOrderVo.getOrderId());
payInnerResultVo.setReturnUrl(param.getReturnUrl() + storeOrderVo.getOrderId()); payInnerResultVo.setReturnUrl(param.getReturnUrl() + storeOrderVo.getOrderId());
//redis //redis
......
...@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.entity.GoblinFrontBanner; ...@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord; import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation; import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.bulk.BulkWriteResult;
import com.mongodb.client.model.UpdateOneModel; import com.mongodb.client.model.UpdateOneModel;
import com.mongodb.client.model.WriteModel; import com.mongodb.client.model.WriteModel;
import com.mongodb.client.result.DeleteResult; import com.mongodb.client.result.DeleteResult;
...@@ -25,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -25,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.BulkOperations;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.Aggregation; import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.data.mongodb.core.aggregation.AggregationResults;
...@@ -90,6 +92,11 @@ public class GoblinMongoUtils { ...@@ -90,6 +92,11 @@ public class GoblinMongoUtils {
return mongoTemplate.insert(vo, GoblinOrderSkuVo.class.getSimpleName()); return mongoTemplate.insert(vo, GoblinOrderSkuVo.class.getSimpleName());
} }
//添加 订单SkuVo全量
public void insertGoblinOrderSkuVoList(List<GoblinOrderSkuVo> vos) {
mongoTemplate.insert(vos, GoblinOrderSkuVo.class.getSimpleName());
}
public UpdateResult updateGoblinOrderSkuVo(String orderSkuId, GoblinOrderSkuVo data) { public UpdateResult updateGoblinOrderSkuVo(String orderSkuId, GoblinOrderSkuVo data) {
BasicDBObject object = ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(data)); BasicDBObject object = ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(data));
return mongoTemplate.getCollection(GoblinOrderSkuVo.class.getSimpleName()).updateOne( return mongoTemplate.getCollection(GoblinOrderSkuVo.class.getSimpleName()).updateOne(
......
...@@ -9,6 +9,8 @@ import com.liquidnet.service.goblin.param.GoblinOrderSqlParam; ...@@ -9,6 +9,8 @@ import com.liquidnet.service.goblin.param.GoblinOrderSqlParam;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons; import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.WriteModel;
import org.bson.Document;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
...@@ -44,6 +46,8 @@ public class ObjectUtil { ...@@ -44,6 +46,8 @@ public class ObjectUtil {
private static final ArrayList<BackCouponParam> backCouponParam = new ArrayList<>(); private static final ArrayList<BackCouponParam> backCouponParam = new ArrayList<>();
private static final ArrayList<GoblinMailVo> goblinMailVo = new ArrayList<>(); private static final ArrayList<GoblinMailVo> goblinMailVo = new ArrayList<>();
private static final ArrayList<GoblinOrderSkuVo> goblinOrderSkuVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinOrderSkuVo> goblinOrderSkuVoArrayList = new ArrayList<>();
private static final ArrayList<WriteModel<Document>> writeModelDocumentArrayList = new ArrayList<>();
public static Object[] objectsArray; public static Object[] objectsArray;
...@@ -122,4 +126,8 @@ public class ObjectUtil { ...@@ -122,4 +126,8 @@ public class ObjectUtil {
public static ArrayList<KylinOrderCoupons> getKylinOrderCouponsArrayList() { public static ArrayList<KylinOrderCoupons> getKylinOrderCouponsArrayList() {
return (ArrayList<KylinOrderCoupons>) kylinOrderCouponsArrayList.clone(); return (ArrayList<KylinOrderCoupons>) kylinOrderCouponsArrayList.clone();
} }
public static ArrayList<WriteModel<Document>> getWriteModelDocumentArrayList() {
return (ArrayList<WriteModel<Document>>) writeModelDocumentArrayList.clone();
}
} }
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