Browse Source

Merge remote-tracking branch 'origin/dev-mysql' into featue/info_text-1120

hangb 8 years ago
parent
commit
037ac46875

+ 19 - 1
src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java

@@ -174,7 +174,18 @@ public class UserController {
 	public ResponseEntity<String> sendCheckCode(final String newUserEmail, final HttpSession session) {
 		User sysUser = SystemSession.getUser();
 		User user = userService.findUserPwdByUserUU(sysUser.getUserUU());
+		Long checkTime = (Long)session.getAttribute("checkTime");
+		if (!StringUtils.isEmpty(checkTime)){
+			Long nowTime = new Date().getTime();
+			if((nowTime-checkTime)<60 * 1000){
+				throw new IllegalOperatorException("验证码发送频繁...");
+			}
+		}
 		if (!StringUtils.isEmpty(newUserEmail)) {
+			String pageToken = (String) session.getAttribute("pageToken");
+			if (pageToken == null || pageToken.equals("")) {
+				throw new IllegalOperatorException("页面信息获取失败!");
+			}
 			//发送邮件
 			ModelMap data = new ModelMap();
 			String checkCode = String.valueOf((int) ((Math.random() * 9 + 1) * 100000));
@@ -267,7 +278,7 @@ public class UserController {
 				throw new IllegalOperatorException("旧邮箱地址校验错误");
 			}
 			user.setUserEmail(newUserEmail);
-			user = userService.save(user);
+			user = userService.updateUserEmail(user.getUserTel(),newUserEmail,user.getUserUU());
 			if(sysUser.getEnterprise()!=null){
 				user.setCurrentEnterprise(sysUser.getEnterprise().getUu());
 			}
@@ -309,6 +320,13 @@ public class UserController {
 	public ResponseEntity<String> sendTelCheckCode(final String newUserTel, final HttpSession session) {
 		User sysUser = SystemSession.getUser();
 		User user = userService.findUserPwdByUserUU(sysUser.getUserUU());
+		Long checkTime = (Long)session.getAttribute("telCheckTime");
+		if (!StringUtils.isEmpty(checkTime)){
+			Long nowTime = new Date().getTime();
+			if((nowTime-checkTime)<60 * 1000){
+				throw new IllegalOperatorException("验证码发送频繁...");
+			}
+		}
 		if (!StringUtils.isEmpty(newUserTel)) {
 			//页面Token校验
 			String pageToken = (String) session.getAttribute("pageToken");

+ 10 - 1
src/main/java/com/uas/platform/b2c/common/account/service/UserService.java

@@ -159,5 +159,14 @@ public interface UserService {
 	 * @param uu
 	 * @return
 	 */
-	User updateUserTel(String oldTel,String newTel,Long uu);
+	User updateUserTel(String oldTel, String newTel, Long uu);
+
+	/**
+	 * 修改邮箱
+	 * @param tel
+	 * @param newEmail
+	 * @param uu
+	 * @return
+	 */
+	User updateUserEmail(String tel, String newEmail, Long uu);
 }

+ 21 - 0
src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java

@@ -482,4 +482,25 @@ public class UserServiceImpl implements UserService {
 			}
 			return null;
 		}
+
+	@Override
+	public User updateUserEmail(String tel, String newEmail, Long uu) {
+
+		try {
+			if(!StringUtils.isEmpty(tel) && !StringUtils.isEmpty(newEmail)) {
+				User user = userDao.findOne(uu);
+				//从账户中心返回的数据
+				List<com.uas.account.entity.User> users = AccountUtils.updateEmail(tel,newEmail);
+				//保存数据库
+				if (users != null && users.size() > 0) {
+					user.setUserEmail(users.get(0).getSecondUID());
+					user = userDao.save(user);
+					return user;
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		throw new IllegalOperatorException("数据更新失败...");
+	}
 }

+ 3 - 3
src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java

@@ -16,17 +16,17 @@ public class SearchUrl {
      * 获取类目的数据
      *
      */
-    public static final String KIND_INFO_URL = "/search/kinds?keyword={keyword}?page={page}&size={size}";
+    public static final String KIND_INFO_URL = "/search/kinds?keyword={keyword}&page={page}&size={size}";
 
     /**
      * 搜索品牌的id
      */
-    public static final String BRAND_ID_URL = "/search/brandIds?keyword={keyword}?page={page}&size={size}";
+    public static final String BRAND_ID_URL = "/search/brandIds?keyword={keyword}&page={page}&size={size}";
 
     /**
      * 搜索品牌的具体信息
      */
-    public static final String BRAND_INFO_URL = "/search/brands?keyword={keyword}?page={page}&size={size}";
+    public static final String BRAND_INFO_URL = "/search/brands?keyword={keyword}&page={page}&size={size}";
 
 
     /**

+ 11 - 2
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -55,6 +55,9 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
     @Value("#{sys.profile}")
     private String profile;
 
+    @Value("#{sys.enUU}")
+    private String enUU;
+
     private final DeviceResolver deviceResolver = new LiteDeviceResolver();
 
     private HashMap<String, Collection<ConfigAttribute>> resourceMap;
@@ -188,9 +191,15 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
                 }
             }
         }
+        // 暂时在正式 过滤admin访问权限
         if (needPermission != null) {
-            return;
-//			throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
+            if ("prod".equals(profile)) {
+                if (!user.getEnterprise().getUu().toString().equals(enUU)) {
+                    if ("进入优软商城后台进行运营维护".equals(needPermission)) {
+                        throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
+                    }
+                }
+            }
         }
     }
 

+ 5 - 4
src/main/webapp/resources/js/usercenter/controllers/forstore/account_manager_ctrl.js

@@ -793,6 +793,7 @@ define(['app/app'], function (app) {
   app.register.controller('UserEmailCtrl',
       ['$scope', '$modalInstance', 'user', 'User', 'toaster', '$interval',
         function ($scope, $modalInstance, user, User, toaster, $interval) {
+          User.getPageToken();
           $scope.user = user;
           $scope.user.userEmail = null;
           $scope.user.newUserEmail = null;
@@ -874,8 +875,8 @@ define(['app/app'], function (app) {
                       }
                     }
                   }, 1000, 60);
-            }, function () {
-              $scope.codeSuccess = false;
+            }, function (response) {
+              toaster.pop('error', '错误', response.data);
             });
           };
 
@@ -1040,8 +1041,8 @@ define(['app/app'], function (app) {
                       }
                     }
                   }, 1000, 60);
-            }, function () {
-              $scope.codeSuccess = false;
+            }, function (response) {
+              toaster.pop('error', '错误', response.data);
             });
           };
 

+ 230 - 0
src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_transfer_ctrl.js

@@ -398,6 +398,25 @@ define([ 'app/app' ], function(app) {
 		// //开始时,就获取账户信息
 		// getBuyAccount();
 
+		//新增账户
+		$scope.editAccount = function() {
+			var modalInstance = $modal.open({
+				templateUrl : 'static/view/common/bankInfoModal.html',
+				controller : 'AccountCtrl',
+				resolve : {
+					account : function() {
+						return {};
+					}
+				}
+			});
+
+			modalInstance.result.then(function(account) {
+				$scope.buyAccount = account;
+			}, function() {
+
+			});
+		};
+
 		//获取管理平台账户信息
 		var getSellerAccount = function() {
 			// 平台账户
@@ -768,6 +787,217 @@ define([ 'app/app' ], function(app) {
 		};
 	}]);
 
+	app.register.controller('AccountCtrl', ['$scope', '$modalInstance', 'account', 'bankInfoService', 'toaster', function($scope, $modalInstance, account, bankInfoService, toaster){
+
+		/**
+		 * 目前只支持的银行
+		 * @type {string[]}
+		 */
+		$scope.bankList = [
+			'中国银行','中国建设银行','中国工商银行','中国农业银行','交通银行','招商银行','中国民生银行',
+			'兴业银行','中信银行','中国光大银行','广发银行','平安银行','中国邮政储蓄银行','华夏银行','浦发银行'
+		];
+
+		var initIndex = function () {
+			$scope.selectIndex = -1;
+			$scope.downIndex = 0;
+		};
+
+		$scope.getItemFocus = function() {
+			$scope.showBankFrame = true;
+			$scope.matchData = true;
+			$scope.resultList = $scope.bankList;
+			initIndex();
+		};
+
+		$scope.onItemBlur = function () {
+			if ($scope.time){
+				clearTimeout($scope.time);
+			}
+			$scope.time = setTimeout(function () {
+				$scope.$apply(function () {
+					$scope.showBankFrame = false;
+				});
+			}, 200);
+		};
+		$scope.onKeyUp = function () {
+			var dom = document.getElementById("ulContent");
+			console.log(event);
+			if ($scope.showBankFrame){
+				if(event.keyCode == 40) { //监听到按下键
+					$scope.selectIndex ++;
+					if ($scope.downIndex == 5){
+						dom.scrollTop += 44;
+					}
+					if ($scope.downIndex <= 4){
+						$scope.downIndex++;
+					}
+					if($scope.selectIndex >= $scope.resultList.length){
+						$scope.selectIndex = 0;
+						dom.scrollTop = 0;
+						$scope.downIndex = 1;
+					}
+					$scope.account.bankname = $scope.resultList[$scope.selectIndex];
+					// $scope.containsAttr($scope.logistics.companyName);
+				} else if(event.keyCode == 38) { //监听到按上键
+					$scope.selectIndex --;
+					if ($scope.downIndex == 1){
+						dom.scrollTop -= 44;
+					}
+					if ($scope.downIndex >= 2){
+						$scope.downIndex--;
+					}
+					if($scope.selectIndex < 0){
+						$scope.selectIndex = $scope.resultList.length - 1;
+						dom.scrollTop = 2400;
+						$scope.downIndex = 5;
+					}
+					$scope.account.bankname = $scope.resultList[$scope.selectIndex];
+					// $scope.containsAttr($scope.logistics.companyName);
+				} else if(event.keyCode == 13) { //确定键
+					$scope.showBankFrame = false;
+				}
+			}
+		};
+
+		$scope.showList = function () {
+			$scope.showBankFrame = !$scope.showBankFrame;
+			$scope.matchData = true;
+			$scope.resultList = $scope.bankList;
+		};
+
+		$scope.inputBankName = function () {
+			$scope.showBankFrame = true;
+		};
+
+		$scope.fitBankToAccount = function (item) {
+			$scope.account.bankname = item;
+			$scope.showBankFrame = false;
+		};
+
+		$scope.account = account;
+		if($scope.account) {
+			$scope.title = "修改账户";
+		}else {
+			$scope.title = "新增账户";
+			$scope.account = {};
+		}
+
+		var matchArray = function () {
+			$scope.account.bankname = $scope.account.bankname ? $scope.account.bankname : '';
+			$scope.resultList = $scope.bankList.filter(function (data) {
+				if (data.indexOf($scope.account.bankname) >= 0){
+					return data;
+				}
+			});
+			if ($scope.resultList.length > 0){
+				$scope.matchData = true;
+			}else{
+				$scope.matchData = false;
+			}
+		};
+
+		/**
+		 * 验证新增账户格式
+		 * @param num
+		 */
+		$scope.checkAccount = function (num) {
+			var size;
+			if (num == 1){
+				//验证开户银行名称
+				$scope.showBankFrame = true;
+				matchArray();
+			}else if(num == 2){
+				//验证开户支行名称
+				if($scope.account.branchname){
+					size = $scope.account.branchname.replace(/[^\x00-\xff]/g,'**').length;
+					if (size > 40){
+						$scope.branchError = true;
+					}else {
+						$scope.branchError = false;
+					}
+					var telPatt = new RegExp("^[\u2E80-\u9FFF]+$");
+					if (telPatt.test($scope.account.branchname)){
+						$scope.branchPattError = false;
+					}else {
+						$scope.branchPattError = true;
+					}
+				}
+			}else if(num == 3){
+				//验证银行账号
+				if ($scope.account.number){
+					size = $scope.account.number.replace(/[^\x00-\xff]/g,'**').length;
+					if (size > 30){
+						$scope.numberError = true;
+					}else {
+						$scope.numberError = false;
+					}
+					var numPatt = new RegExp("^[0-9]+$");
+					if (numPatt.test($scope.account.number)){
+						$scope.numberPattError = false;
+					}else {
+						$scope.numberPattError = true;
+					}
+					validateRepeat($scope.account.number);
+				}
+			}else if(num == 4){
+				//验证开户名称
+				if ($scope.account.accountname){
+					size = $scope.account.accountname.replace(/[^\x00-\xff]/g,'**').length;
+					if (size > 100){
+						$scope.nameError = true;
+					}else {
+						$scope.nameError = false;
+					}
+				}
+			}
+		};
+
+		var validateRepeat = function (number) {
+			bankInfoService.getCountByNumber({type:1061, number:number}, {}, function (data) {
+				if (data.success){
+					if (data.data != 0){
+						$scope.repeatError = true;
+					}else {
+						$scope.repeatError = false;
+					}
+				}else {
+					toaster.pop("info", data.message);
+				}
+			});
+		};
+
+		$scope.confirm = function() {
+			var account = $scope.account;
+
+			if (!account){
+				toaster.pop('error', '请按要求填写正确的信息');
+				return ;
+			}
+			if (!account.bankname || !account.branchname || !account.number || !account.accountname){
+				toaster.pop('error', '请按要求填写正确的信息');
+				return ;
+			}
+			if (!$scope.matchData || $scope.branchError || $scope.branchPattError || $scope.numberError || $scope.numberPattError ||
+				$scope.nameError || $scope.repeatError){
+				toaster.pop('error', '请按要求填写正确的信息');
+				return ;
+			}
+
+			var method = 'saveBuyPersonalBank'; //不区分个人和企业账户
+			bankInfoService[method].call(null, null, $scope.account, function(data) {
+				toaster.pop('success', '保存成功');
+				$modalInstance.close(data)
+			},function (response) {
+				toaster.pop('warning', '保存信息失败');
+			});
+		};
+
+		$scope.cancel = function() {
+			$modalInstance.dismiss();
+		}
+
+	}]);
 
 	app.register.controller('BankInfoCtrl', ['$scope', '$modalInstance', 'account', 'kind', function($scope, $modalInstance, account, kind){
 		$scope.account = account;

+ 5 - 4
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_account_management_ctrl.js

@@ -715,6 +715,7 @@ define(['app/app'], function(app) {
   app.register.controller('UserEmailCtrl',
       ['$scope', '$modalInstance', 'user', 'User', 'toaster', '$interval',
         function ($scope, $modalInstance, user, User, toaster, $interval) {
+          User.getPageToken();
           $scope.user = user;
           $scope.user.userEmail = null;
           $scope.user.newUserEmail = null;
@@ -796,8 +797,8 @@ define(['app/app'], function(app) {
                       }
                     }
                   }, 1000, 60);
-            }, function () {
-              $scope.codeSuccess = false;
+            }, function (response) {
+              toaster.pop('error', '错误', response.data);
             });
           };
 
@@ -962,8 +963,8 @@ define(['app/app'], function(app) {
                       }
                     }
                   }, 1000, 60);
-            }, function () {
-              $scope.codeSuccess = false;
+            }, function (response) {
+              toaster.pop('error', '错误', response.data);
             });
           };
 

+ 1 - 1
src/main/webapp/resources/view/usercenter/forstore/buyer_transfer.html

@@ -17,7 +17,7 @@
 						<div ng-if="buyAccountInfos.length > 1"><button class="change-count" ng-click="changebuyAccount(buyAccount.id)">更换账户</button></div>
 					</li>
 					<li class="no-count" ng-if="!buyAccount">
-						<span><i class="fa fa-exclamation-circle"></i>暂未设置付款账户,前往  <a href="user#/payCenter" target="_blank">设置付款账户</a></span>
+						<span><i class="fa fa-exclamation-circle"></i>暂未设置付款账户,前往  <a href="javascript:void(0)" ng-click="editAccount()">设置付款账户</a></span>
 					</li>
 				</ul>
 			</div>