Prechádzať zdrojové kódy

卖家点击发货功能调整

hulh 8 rokov pred
rodič
commit
ff8f78ec5f

+ 48 - 30
src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceFPurchaseServiceImpl.java

@@ -42,6 +42,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.NumberUtils;
 import org.springframework.util.StringUtils;
 
 import javax.management.OperationsException;
@@ -259,9 +260,13 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
 		Long userUU = SystemSession.getUser().getUserUU();
 		InvoiceFPurchase invoiceFPurchase = inFpuDao.getOne(id);
 		Purchase purchase = purchaseDao.findOne(invoiceFPurchase.getPuid());
-		String deliveryType = sendInfo.getString("deliveryType");
-		
-		if(StringUtils.isEmpty(deliveryType)) {
+//		String deliveryType = sendInfo.getString("deliveryType");
+		Integer sendType = Integer.parseInt(sendInfo.getString("sendType"));
+
+//		if(StringUtils.isEmpty(deliveryType)) {
+//			return new ResultMap(CodeType.NO_INFO, "配送方式的信息为空,请重新操作");
+//		}
+		if (sendType == null){
 			return new ResultMap(CodeType.NO_INFO, "配送方式的信息为空,请重新操作");
 		}
 		
@@ -274,31 +279,37 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
 				&&purchase.getLaunchPuExApplyStatus().equals(AfterSaleStatus.FINISHED)) {
 			return new ResultMap(CodeType.NOT_PERMIT, "您的异常申请流程还不是已完成或已取消状态,不能做发货的动作!");
 		}
-		
-		if("logistics".equals(deliveryType)) {
-			JSONObject  logisjson= sendInfo.getJSONObject("logisticsInfo");
-			Logistics logistics = logisticsService.bornLogisticsByCompanyNameAndNum(logisjson.getString("companyName"), logisjson.getString("number"));
+		JSONObject  logisticsJson = sendInfo.getJSONObject("logisticsInfo");
+		if (logisticsJson != null){
+			Logistics logistics = logisticsService.bornLogisticsByCompanyNameAndNum(logisticsJson.getString("companyName"), logisticsJson.getString("number"));
 			invoiceFPurchase.setLogistics(logistics);
-
-		}else if("selfDelivery".equals(deliveryType)){
-			JSONObject  logisticsJson= sendInfo.getJSONObject("selfDeliveryPerson");
-			String name = logisticsJson.getString("name");
-			if(StringUtils.isEmpty(name)) {
-				return new ResultMap(CodeType.NO_INFO, "送货人信息为空,请重新操作");
-			}
-			String phone = logisticsJson.getString("phone");
-			if(StringUtils.isEmpty(phone)) {
-				return new ResultMap(CodeType.NO_INFO, "送货人电话信息为空,请重新操作");
-			}
-			invoiceFPurchase.setSelfDeliveryName(name);
-			invoiceFPurchase.setSelfDeliveryPhone(phone);
 		}
+//		if("logistics".equals(deliveryType)) {
+//			JSONObject  logisjson= sendInfo.getJSONObject("logisticsInfo");
+//			Logistics logistics = logisticsService.bornLogisticsByCompanyNameAndNum(logisjson.getString("companyName"), logisjson.getString("number"));
+//			invoiceFPurchase.setLogistics(logistics);
+//
+//		}else if("selfDelivery".equals(deliveryType)){
+//			JSONObject  logisticsJson= sendInfo.getJSONObject("selfDeliveryPerson");
+//			String name = logisticsJson.getString("name");
+//			if(StringUtils.isEmpty(name)) {
+//				return new ResultMap(CodeType.NO_INFO, "送货人信息为空,请重新操作");
+//			}
+//			String phone = logisticsJson.getString("phone");
+//			if(StringUtils.isEmpty(phone)) {
+//				return new ResultMap(CodeType.NO_INFO, "送货人电话信息为空,请重新操作");
+//			}
+//			invoiceFPurchase.setSelfDeliveryName(name);
+//			invoiceFPurchase.setSelfDeliveryPhone(phone);
+//		}
+
 		String jsonSdAddress = sendInfo.getString("jsonSdAddress");
 		if(StringUtils.isEmpty(jsonSdAddress)) {
 			return new ResultMap(CodeType.NO_INFO, "发货人的地址信息为空,请重新操作");
 		}
 		invoiceFPurchase.setJsonSdAddress(jsonSdAddress);
-		invoiceFPurchase.setDeliveryType(deliveryType);
+//		invoiceFPurchase.setDeliveryType(deliveryType);
+		invoiceFPurchase.setSendType(sendType);
 		
 		invoiceFPurchase.setStatusInBound(userUU);
 		Set<InvoiceFPurchaseDetail> invoiceFPurchaseDetails = invoiceFPurchase.getInvoiceFPurchaseDetails();
@@ -318,13 +329,17 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
 			}
 		}
 		purchase.setStatusInBound(userUU);
-		if("logistics".equals(inFpu.getDeliveryType())) {
+		if (inFpu.getLogistics() != null){
 			purchase.setLgtId(inFpu.getLogistics().getId());
-		}else {
-			purchase.setSelfDeliveryName(inFpu.getSelfDeliveryName());
-			purchase.setSelfDeliveryPhone(inFpu.getSelfDeliveryPhone());
 		}
-		purchase.setDeliveryType(inFpu.getDeliveryType());
+//		if("logistics".equals(inFpu.getDeliveryType())) {
+//			purchase.setLgtId(inFpu.getLogistics().getId());
+//		}else {
+//			purchase.setSelfDeliveryName(inFpu.getSelfDeliveryName());
+//			purchase.setSelfDeliveryPhone(inFpu.getSelfDeliveryPhone());
+//		}
+//		purchase.setDeliveryType(inFpu.getDeliveryType());
+
 		purchase.setJsonSdAddress(inFpu.getJsonSdAddress());
 		purchase.setSendName(SystemSession.getUser().getUserName());
 		purchase.setSenduu(SystemSession.getUser().getUserUU());
@@ -337,12 +352,15 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
 			if(order == null) {
 				return new ResultMap(CodeType.NOT_PERMIT, "您订单的信息有误,请重新提交");
 			}
-			if("logistics".equals(inFpu.getDeliveryType())) {
+			if (inFpu.getLogistics() != null){
 				order.setLgtId(inFpu.getLogistics().getId());
-			}else {
-				order.setSelfDeliveryName(inFpu.getSelfDeliveryName());
-				order.setSelfDeliveryPhone(inFpu.getSelfDeliveryPhone());
 			}
+//			if("logistics".equals(inFpu.getDeliveryType())) {
+//				order.setLgtId(inFpu.getLogistics().getId());
+//			}else {
+//				order.setSelfDeliveryName(inFpu.getSelfDeliveryName());
+//				order.setSelfDeliveryPhone(inFpu.getSelfDeliveryPhone());
+//			}
 			order.setJsonSdAddress(inFpu.getJsonSdAddress());
 			order.setStatusInBound(userUU);
 			for (OrderDetail detail : order.getOrderDetails()) {

+ 31 - 9
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_delivery_ctrl.js

@@ -392,18 +392,24 @@ define(['app/app'], function(app) {
             //     });
             // }
             var sendInfo = {};
-            if($scope.checkinvoice.deliveryType == 'logistics') {
-                sendInfo.deliveryType = 'logistics';
-                sendInfo.logisticsInfo = {};
+            sendInfo.sendType = $scope.checkinvoice.sendType;
+            sendInfo.logisticsInfo = {};
+            if ($scope.logistics.companyName && $scope.logistics.number){
                 sendInfo.logisticsInfo.companyName = $scope.logistics.companyName;
                 sendInfo.logisticsInfo.number = $scope.logistics.number;
-            }else if($scope.checkinvoice.deliveryType == 'selfDelivery'){
-                sendInfo.deliveryType = 'selfDelivery';
-                sendInfo.selfDeliveryPerson = $scope.selfDeliveryPerson;
-            }else {
-                toaster.pop('info', '提示', '配送方式有误');
-                return ;
             }
+            // if($scope.checkinvoice.deliveryType == 'logistics') {
+            //     sendInfo.deliveryType = 'logistics';
+            //     sendInfo.logisticsInfo = {};
+            //     sendInfo.logisticsInfo.companyName = $scope.logistics.companyName;
+            //     sendInfo.logisticsInfo.number = $scope.logistics.number;
+            // }else if($scope.checkinvoice.deliveryType == 'selfDelivery'){
+            //     sendInfo.deliveryType = 'selfDelivery';
+            //     sendInfo.selfDeliveryPerson = $scope.selfDeliveryPerson;
+            // }else {
+            //     toaster.pop('info', '提示', '配送方式有误');
+            //     return ;
+            // }
             sendInfo.jsonSdAddress = angular.toJson($scope.jsonSdAddress);
             InvoiceFPurchase.saveInvoiceFPurchase({id : $scope.checkinvoice.id}, sendInfo, function(data) {
                 toaster.pop("success", "信息", "保存成功,返回出订单管理界面");
@@ -484,6 +490,22 @@ define(['app/app'], function(app) {
                     toaster.pop("error", "注意", '请输入正确的物流单号');
                     return false;
                 }
+            }else {
+                if ($scope.logistics.companyName && !$scope.logistics.number){
+                    toaster.pop("error", "注意", '请完善快递信息');
+                    return false;
+                }
+                if (!$scope.logistics.companyName && $scope.logistics.number){
+                    toaster.pop("error", "注意", '请完善快递信息');
+                    return false;
+                }
+                if ($scope.logistics.number){
+                    var patt = new RegExp("^[A-Za-z0-9]+$");
+                    if (!patt.test($scope.logistics.number)){
+                        toaster.pop("error", "注意", '请输入正确的物流单号');
+                        return false;
+                    }
+                }
             }
             return true;
         };

+ 1 - 1
src/main/webapp/resources/view/vendor/forstore/vendor_delivery.html

@@ -641,7 +641,7 @@
 						<span class="wd02" style="width: 60%;text-align: left; margin-left: 40px;line-height: 30px; max-height: min-content;">
                             配送方式:<em class="color333">{{deliveryMethod[checkinvoice.sendType]}}</em>
                             <!--<em class="color333">上门自提</em>-->
-                            <i style="color: #666;font-size: 12px" ng-bind="rule.ruleName">(满1000元包邮,未满足的订单收取运费20元)</i>
+                            <i style="color: #666;" ng-if="rule" ng-bind="'(' + rule.ruleName + ')'">(满1000元包邮,未满足的订单收取运费20元)</i>
 						</span>
                         <span class="total-price">
 								<p><strong>运费:</strong><em ng-bind="checkinvoice.fare | formateNumber : 2 | currencySysmbol : checkinvoice.currencyName.substring(0,3)" style="font-weight: bold"></em></p>