Selaa lähdekoodia

物流管理调整修改

hulh 8 vuotta sitten
vanhempi
commit
367891b867

+ 9 - 1
src/main/java/com/uas/platform/b2c/logistics/controller/TipRecordController.java

@@ -22,7 +22,15 @@ public class TipRecordController {
 	 * 根据当前userUu查询配送规则提示
 	 */
 	@RequestMapping(value = "/rule", method = RequestMethod.GET)
-	public TipRecord findUnavailable() {
+	public TipRecord findTipRecordOfRule() {
 		return tipRecordService.findByUserUuOfRule();
 	}
+
+	/**
+	 * 根据当前userUu切换配送规则提示
+	 */
+	@RequestMapping(value = "/rule/close", method = RequestMethod.PUT)
+	public TipRecord turnTipRecordOfRule() {
+		return tipRecordService.turnTipRecordOfRule();
+	}
 }

+ 11 - 1
src/main/java/com/uas/platform/b2c/logistics/dao/TipRecordDao.java

@@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * 提示记录dao层
  */
@@ -17,5 +19,13 @@ public interface TipRecordDao extends JpaSpecificationExecutor<TipRecord>, JpaRe
 	 * @param type
 	 * @return
 	 */
-	TipRecord findByUseruuAndType(Long useruu, Integer type);
+	List<TipRecord> findByUseruuAndTypeOrderByTipAgainDesc(Long useruu, Integer type);
+
+	/**
+	 * 根据类型返回不再提示记录
+	 * @param useruu
+	 * @param type
+	 * @return
+	 */
+	List<TipRecord> findByUseruuAndTypeAndTipAgainOrderByTipAgainDesc(Long useruu, Integer type, Short tipAgain);
 }

+ 6 - 0
src/main/java/com/uas/platform/b2c/logistics/service/TipRecordService.java

@@ -13,4 +13,10 @@ public interface TipRecordService {
 	 * @return
 	 */
 	TipRecord findByUserUuOfRule();
+
+	/**
+	 * 根据userUu查询配送规则提示记录
+	 * @return
+	 */
+	TipRecord turnTipRecordOfRule();
 }

+ 10 - 3
src/main/java/com/uas/platform/b2c/logistics/service/impl/DistributionRuleServiceImpl.java

@@ -12,6 +12,7 @@ import com.uas.platform.b2c.logistics.model.*;
 import com.uas.platform.b2c.logistics.service.DistributionRuleService;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
+import com.uas.platform.b2c.prod.store.model.StoreStatus;
 import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.exception.IllegalOperatorException;
@@ -228,7 +229,7 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
 	}
 
 	/**
-	 * 查询已设置配送规则的数量,启用的
+	 * 查询已设置配送规则的数量,启用的,返回是否显示提示
 	 * @return
 	 */
 	@Override
@@ -236,8 +237,14 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
 		Long enuu = SystemSession.getUser().getEnterprise().getUu();
 		List<StoreIn> storeList = storeInDao.findByEnUU(enuu);
 		int count = distributionRuleDao.findCountByEnuuAndActive(enuu);
-		if (count == 0 && !CollectionUtils.isEmpty(storeList))
-			return ResultMap.success(true);
+		if (!CollectionUtils.isEmpty(storeList)){
+			StoreIn storeIn = storeList.get(0);
+			if (count == 0 && storeIn.getStatus() == StoreStatus.OPENED){
+				return ResultMap.success(true);
+			}else {
+				return ResultMap.success(false);
+			}
+		}
 		return ResultMap.success(false);
 	}
 

+ 23 - 3
src/main/java/com/uas/platform/b2c/logistics/service/impl/TipRecordServiceImpl.java

@@ -7,10 +7,14 @@ import com.uas.platform.b2c.logistics.constant.TipType;
 import com.uas.platform.b2c.logistics.dao.TipRecordDao;
 import com.uas.platform.b2c.logistics.model.TipRecord;
 import com.uas.platform.b2c.logistics.service.TipRecordService;
+import com.uas.platform.core.exception.IllegalOperatorException;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 /**
  * @author hulh
  */
@@ -23,12 +27,28 @@ public class TipRecordServiceImpl implements TipRecordService {
 	@Override
 	public TipRecord findByUserUuOfRule() {
 		User user = SystemSession.getUser();
-		TipRecord record =  tipRecordDao.findByUseruuAndType(user.getUserUU(),
+		List<TipRecord> recordList =  tipRecordDao.findByUseruuAndTypeOrderByTipAgainDesc(user.getUserUU(),
 				TipType.TIP_LOGISTICS.getValue());
-		if (record == null){
+		if (CollectionUtils.isEmpty(recordList)){
 			return newOneRecord(user);
 		}
-		return record;
+
+		return recordList.get(0);
+	}
+
+	@Override
+	public TipRecord turnTipRecordOfRule() {
+		User user = SystemSession.getUser();
+		List<TipRecord> recordList =  tipRecordDao.findByUseruuAndTypeOrderByTipAgainDesc(user.getUserUU(),
+				TipType.TIP_LOGISTICS.getValue());
+		if (CollectionUtils.isEmpty(recordList)){
+			throw new IllegalOperatorException("操作异常");
+		}
+		TipRecord record = recordList.get(0);
+		if (record.getTipAgain() == 1)
+			return record;
+		record.setTipAgain(ShortConstant.YES_SHORT);
+		return tipRecordDao.save(record);
 	}
 
 	@Transactional

+ 11 - 0
src/main/webapp/resources/js/common/query/logisticsPort.js

@@ -130,5 +130,16 @@ define([ 'ngResource' ], function() {
 				method: 'POST'
 			}
 		})
+	}]).factory('TipRecord', ['$resource', function ($resource) {
+		return $resource('tip/record', {}, {
+			findTipRecordOfRule : {
+				url: 'tip/record/rule',
+				method: 'GET'
+			},
+			turnTipRecordOfRule : {
+				url: 'tip/record/rule/close',
+				method: 'PUT'
+			}
+		})
 	}]);
 });

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

@@ -1,10 +1,11 @@
 define([ 'app/app' ], function(app) {
     'use strict';
-    app.register.controller('vendorDeliveryRuleCtrl', ['$scope', '$rootScope', 'ngTableParams', 'DistributionRule', 'BaseService', 'toaster', '$state', '$http', 'Enterprise', 'TreeData','$q','NumberService', function ($scope, $rootScope, ngTableParams, DistributionRule, BaseService, toaster, $state, $http, Enterprise, TreeData,$q,NumberService) {
+    app.register.controller('vendorDeliveryRuleCtrl', ['$scope', '$rootScope', 'ngTableParams', 'DistributionRule', 'BaseService', 'toaster', '$state', '$http', 'Enterprise', 'TreeData','$q','NumberService','TipRecord', function ($scope, $rootScope, ngTableParams, DistributionRule, BaseService, toaster, $state, $http, Enterprise, TreeData,$q,NumberService,TipRecord) {
         $rootScope.active = 'vendor_logistics';
         $scope.tab = 'deliverRule';
         $scope.title = '配送规则';
         $scope.$$rule = {};
+        $scope.currentStep = 1;
         document.title = '配送规则-优软商城';
         $scope.ruleTableParams = new ngTableParams({
             page : 1,
@@ -39,6 +40,15 @@ define([ 'app/app' ], function(app) {
             $scope.tab = tab;
         };
 
+        var getTipRecord = function () {
+            TipRecord.findTipRecordOfRule({}, {}, function (data) {
+                $scope.showOperate = data.tipAgain == 0;
+            }, function (error) {
+                toaster.pop("error", error.data);
+            });
+        };
+        getTipRecord();
+
         /**
          * 编辑或新增配送规则,初始化
          * @param data
@@ -142,6 +152,18 @@ define([ 'app/app' ], function(app) {
             }
         };
 
+        $scope.cancelOperateTip = function (noTip) {
+            if (noTip){
+                TipRecord.turnTipRecordOfRule({}, {}, function (data) {
+                    
+                },function (error) {
+                    toaster.pop("error", error.data)
+                })
+            }
+            $scope.currentStep = 1;
+            $scope.showOperate = false;
+        };
+
         //配送方式类型
         $scope.deliveryMethod = {
             1301: '第三方配送',

+ 12 - 2
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_index_ctrl.js

@@ -4,7 +4,7 @@
  */
 define(['app/app', 'calendar'], function(app) {
     'use strict';
-    app.register.controller('vendorIndexCtrl', ['$scope', 'toaster', 'VendorService', '$rootScope', 'News', '$filter', 'DistributionRule', function($scope, toaster, VendorService, $rootScope, News, $filter, DistributionRule) {
+    app.register.controller('vendorIndexCtrl', ['$scope', 'toaster', 'VendorService', '$rootScope', 'News', '$filter', 'DistributionRule', '$q', function($scope, toaster, VendorService, $rootScope, News, $filter, DistributionRule, $q) {
         document.title = '卖家中心-优软商城';
         $rootScope.active = 'index';
         VendorService.getVendorInfo(null, function(data){
@@ -38,7 +38,7 @@ define(['app/app', 'calendar'], function(app) {
         // });
 
         var initRuleCount = function () {
-            DistributionRule.findCountOfActiveRule({},{},function (data) {
+            return DistributionRule.findCountOfActiveRule({},{},function (data) {
                 if (data.success){
                     $scope.needShowTip = data.data;
                 }
@@ -48,6 +48,16 @@ define(['app/app', 'calendar'], function(app) {
         };
         initRuleCount();
 
+        $q.all([initRuleCount().$promise]).then(function (data) {
+            if (data){
+                if ($scope.needShowTip){
+                    $scope.showNoRuleTip = true;
+                }else {
+                    $scope.showNoRuleTip = false;
+                }
+            }
+        });
+
         $scope.cancelDelete = function () {
             $scope.showNoRuleTip = false;
         }

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

@@ -754,7 +754,7 @@
 	</div>
 </div>
 <!--新手引导页面-->
-<div ng-if="tab=='editRule'" ng-init="currentStep=1" class="guide">
+<div ng-if="tab=='editRule' && showOperate" class="guide">
 	<ul  ui-tour="currentStep" class="guide-content" id="one">
 		<li target="h1:eq(0)" class="popover right in guide01" overlay>
 			<img src="static/img/tour/1.gif" alt=""/>
@@ -774,7 +774,7 @@
 		<li target="h1:eq(3)" at="bottom" class="popover bottom in guide04">
 			<img src="static/img/tour/4.png" alt=""/>
 			<!--点击上一步 下一步-->
-			<div class="click4"><span class="pre"  ng-click="currentStep=currentStep-1"></span><span class="next" ng-click="currentStep=false"></span> <input type="checkbox"  ng-click="currentStep=false"></div>
+			<div class="click4"><span class="pre"  ng-click="currentStep=currentStep-1"></span><span class="next" ng-click="cancelOperateTip(noTip)"></span> <input type="checkbox" ng-model="noTip"></div>
 		</li>
 	</ul>
 	<div class="tour-overlay fade"></div>