Просмотр исходного кода

配送规则排序逻辑调整

hulh 8 лет назад
Родитель
Сommit
a134342dbd

+ 7 - 0
src/main/java/com/uas/platform/b2c/logistics/dao/DistributorSellerDao.java

@@ -39,4 +39,11 @@ public interface DistributorSellerDao extends JpaSpecificationExecutor<Distribut
 	 */
 	@Query(value = "select d.companyName from DistributorSeller d where d.enuu=:enuu")
 	List<String> findAllChooseName(@Param("enuu") Long enuu);
+
+	/**
+	 * 根据Enuu删除配送商列表
+	 * @param enuu
+	 */
+	@Query(value = "delete from DistributorSeller d where d.enuu=:enuu")
+	void deleteDistributorByEnuu(@Param("enuu") Long enuu);
 }

+ 9 - 2
src/main/java/com/uas/platform/b2c/logistics/service/impl/DistributionRuleServiceImpl.java

@@ -81,8 +81,15 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
 			}
 		}else {
 			DistributionRule oldRule = distributionRuleDao.findOne(rule.getId());
-			if (rule.getNum() < oldRule.getNum()){
-				sortRule(rule.getId(), rule.getNum());
+			if (rule.getNum() == null){
+				rule.setNum(oldRule.getNum());
+			}else {
+				if (rule.getNum() < num-1){
+					sortRule(rule.getId(), rule.getNum());
+				}else {
+					sortRule(rule.getId(), num-1);
+					rule.setNum(num-1);
+				}
 			}
 		}
 		return distributionRuleDao.save(rule);

+ 1 - 3
src/main/java/com/uas/platform/b2c/logistics/service/impl/DistributorSellerServiceImpl.java

@@ -35,9 +35,7 @@ public class DistributorSellerServiceImpl implements DistributorSellerService {
 		List<DistributorSeller> savaList = new ArrayList<>();
 		Long enuu = SystemSession.getUser().getEnterprise().getUu();
 		Long useruu = SystemSession.getUser().getUserUU();
-		System.out.println(new Date().getTime());
-		distributorSellerDao.deleteAllInBatch();//保存前先清空表
-		System.out.println(new Date().getTime());
+		distributorSellerDao.deleteDistributorByEnuu(enuu);//保存前先清空表
 		for (JSONObject object : objects){
 			DistributorSeller distributor = new DistributorSeller();
 			if (object.getString("code") != null){

+ 46 - 1
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_deliveryRule_ctrl.js

@@ -91,7 +91,6 @@ define([ 'app/app' ], function(app) {
                     var data = angular.fromJson($scope.modifyRule.areas);
                     $scope.mapArray = data;
                 }
-                console.log($scope.mapArray);
                 if ($scope.mapArray.length == 0){
 
                 }
@@ -139,6 +138,30 @@ define([ 'app/app' ], function(app) {
             }
         };
 
+        //配送方式类型
+        $scope.deliveryMethod = {
+            1301: '第三方配送',
+            1302: '卖家配送',
+            1303: '上门自提'
+        };
+
+        $scope.inputNum = function (data) {
+            if(isNaN(data.num)){
+                data.num = 1;
+                toaster.pop('warning', '提示', '请输入大于0的整数');
+                return false;
+            }
+            if(Number(data.num) < 0 || Number(data.num) % 1 != 0) {
+                data.num = 1;
+                toaster.pop('warning', '提示', '运费必须是整数');
+                return false;
+            }
+            if(Number(data.num) > 100000){
+                data.num = 100000;
+                return false;
+            }
+        };
+
         $scope.loadCityData = function () {
             $http.get('static/js/prod/data/city.json').success(function (data) {
                 $scope.cityJson = data;
@@ -155,6 +178,7 @@ define([ 'app/app' ], function(app) {
 
         $scope.repeatError = false;
         $scope.checkRuleName = function () {
+            console.log($scope.nameArray);
             var k = 1;
             angular.forEach($scope.nameArray, function (item) {
                 if (item == $scope.modifyRule.ruleName){
@@ -167,6 +191,19 @@ define([ 'app/app' ], function(app) {
             }else {
                 $scope.repeatError = true;
             }
+
+            if ($scope.modifyRule.ruleName){
+                var size = $scope.modifyRule.ruleName.replace(/[^x00-xFF]/g,'**').length;
+                if (size > 20) {
+                    $scope.nameError = true;
+                }else {
+                    $scope.nameError = false;
+                }
+            }
+            if ($scope.nameError){
+                toaster.pop("error", "最多可输入10个文字")
+                return;
+            }
         };
 
         /**
@@ -239,6 +276,10 @@ define([ 'app/app' ], function(app) {
             }
         };
 
+        $scope.exchangeActive = function (data) {
+            $scope.isActive = data;
+        };
+
         $scope.inputQtyFare = function (data, index) {
             if(!data.start && !data.end) {
                 data.start = 1;
@@ -288,6 +329,10 @@ define([ 'app/app' ], function(app) {
                 toaster.pop('error', "请填写规则名称");
                 return;
             }
+            if($scope.nameError){
+                toaster.pop('error', "最多可输入10个文字");
+                return;
+            }
             if($scope.repeatError){
                 toaster.pop('error', "该规则名称已存在,请修改");
                 return;

+ 5 - 5
src/main/webapp/resources/view/vendor/forstore/vendor_delivery_rule.html

@@ -251,7 +251,7 @@
 					<tbody>
 					<tr ng-repeat="rule in $data">
 						<td ng-bind="rule.num">22</td>
-						<td ng-bind="rule.shippingMethod">第三方配送</td>
+						<td ng-bind="deliveryMethod[rule.shippingMethod]">第三方配送</td>
 						<td ng-bind="rule.ruleName">深圳市内满100元包邮,不满1000元邮费20元不满1000元</td>
 						<td>
 							<p class="switch">
@@ -265,7 +265,7 @@
 						</td>
 						<td>
 							<!--ui-sref="vendor_deliveryRule_add({ruleModify:{{turnToJson(rule)}}})"-->
-							<a ng-click="editRule(rule)">修改</a> | <a ng-click="deleteRule(rule.id)">删除</a>
+							<a ng-click="editRule(rule)">修改</a> | <a ng-click="showDeleteFrame(rule)">删除</a>
 						</td>
 					</tr>
 
@@ -296,19 +296,19 @@
 						<option value="1303">上门自提</option>
 					</select>
 					<span style="width: 70px;">优先级排序</span>
-					<input type="text" class="form-control sort" ng-model="modifyRule.num">
+					<input type="text" class="form-control sort" ng-model="modifyRule.num" ng-blur="inputNum(modifyRule)">
 					<span><strong>*</strong>规则名称</span>
 					<input type="text" class="form-control rule" style="text-align: left;" ng-blur="checkRuleName()" ng-model="modifyRule.ruleName">
 				</div>
 				<div class="row radio-1">
 					<span>是否生效</span>
 					<label class="check-act">
-						<input type="radio" id="effect" name="radio" value="true" ng-click="isActive=true" ng-checked="isActive">
+						<input type="radio" id="effect" name="radio" ng-model="isActive" ng-click="exchangeActive(true)" ng-checked="isActive">
 						<label for="effect"></label>
 						生效
 					</label>
 					<label class="check-act">
-						<input type="radio" id="no-effect" name="radio" value="false" ng-click="isActive=false" ng-checked="!isActive">
+						<input type="radio" id="no-effect" name="radio" ng-model="isActive" ng-click="exchangeActive(false)" ng-checked="!isActive">
 						<label for="no-effect"></label>
 						暂不生效
 					</label>