소스 검색

处理个人账户订单中心的bug

yujia 7 년 전
부모
커밋
0f64714344

+ 8 - 2
src/main/java/com/uas/platform/b2c/prod/store/controller/StoreInController.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2c.prod.store.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.advertise.ad.model.RecommendProduct;
 import com.uas.platform.b2c.advertise.ad.service.RecommendProductService;
+import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
@@ -128,8 +129,13 @@ public class StoreInController {
 	@RequestMapping(value = "/stores", method = RequestMethod.GET, params = "op=check")
 	public StoreIn existStore() {
 		logger.info("Find store by enUU");
-		Long enUU = SystemSession.getUser().getEnterprise().getUu();
-		return storeService.findByEnUU(enUU);
+		Enterprise enterprise = SystemSession.getUser().getEnterprise();
+		if (enterprise != null) {
+			Long enUU = enterprise.getUu();
+			return storeService.findByEnUU(enUU);
+		} else {
+			return null;
+		}
 	}
 
 	/**

+ 8 - 2
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderDetailServiceImpl.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2c.trade.order.service.impl;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.Status;
+import com.uas.platform.b2c.core.constant.Type;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
@@ -466,7 +467,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
 		User user = SystemSession.getUser();
 		assert user != null;
 		final Long userUU = user.getUserUU();
-		final Long enUU = user.getEnterprise().getUu();
+		final Long enUU = (user.getEnterprise() != null) ? user.getEnterprise().getUu() : null;
 
 		List<OrderDetail> detailList = orderDetailDao.findAll(new Specification<OrderDetail>() {
 			@Override
@@ -481,7 +482,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
 				// 当前用户订单明细筛选
 				CriterionExpression[] rootExpression = new CriterionExpression[3];
 				rootExpression[0] = new SimpleExpression("order.buyeruu", userUU, CriterionExpression.Operator.EQ);
-				rootExpression[1] = new SimpleExpression("order.buyerenuu", enUU, CriterionExpression.Operator.EQ);
+				if (enUU != null) {
+					rootExpression[1] = new SimpleExpression("order.buyerenuu", enUU, CriterionExpression.Operator.EQ);
+				} else {
+					rootExpression[1] = new SimpleExpression("order.dissociative", Type.PERSONAL.value(), CriterionExpression.Operator.EQ);
+				}
+
 				rootExpression[2] = logicalExpression;
 
 				logicalExpression = PredicateUtils.and(rootExpression);

+ 9 - 2
src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2c.trade.rate.service.impl;
 
+import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
@@ -62,7 +63,10 @@ public class RateServiceImpl implements RateService {
     @Override
     public RateVendor saveRateVendor(String orderId, RateVendor rateVendor) {
         rateVendor.setUserUU(SystemSession.getUser().getUserUU());
-        rateVendor.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+        Enterprise enterprise = SystemSession.getUser().getEnterprise();
+        if (enterprise != null) {
+            rateVendor.setUserEnuu(enterprise.getUu());
+        }
         rateVendor.setOrderId(orderId);
         rateVendor.setTime(new Date(System.currentTimeMillis()));
 
@@ -78,7 +82,10 @@ public class RateServiceImpl implements RateService {
             // 默认匿名评价
             rateGoods.setIsAnony(rateGoods.getIsAnony() == null ? isAnony : rateGoods.getIsAnony());
             rateGoods.setUserUU(SystemSession.getUser().getUserUU());
-            rateGoods.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+            Enterprise enterprise = SystemSession.getUser().getEnterprise();
+            if (enterprise != null) {
+                rateGoods.setUserEnuu(enterprise.getUu());
+            }
             rateGoods.setOrderId(orderId);
             rateGoods.setBuyerRateTime(new Date(System.currentTimeMillis()));
         }