Browse Source

Merge remote-tracking branch 'origin/feature-wangcz-201814' into feature-wangcz-201814

shenjj 7 years ago
parent
commit
e56ccc6a09
57 changed files with 468 additions and 392 deletions
  1. 3 1
      src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java
  2. 13 11
      src/main/java/com/uas/platform/b2c/common/account/controller/SecurityController.java
  3. 2 2
      src/main/java/com/uas/platform/b2c/common/account/dao/UserDao.java
  4. 13 5
      src/main/java/com/uas/platform/b2c/common/account/model/User.java
  5. 7 1
      src/main/java/com/uas/platform/b2c/common/account/service/UserService.java
  6. 1 1
      src/main/java/com/uas/platform/b2c/common/account/service/impl/RoleServiceImpl.java
  7. 64 200
      src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java
  8. 41 10
      src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java
  9. 18 1
      src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java
  10. 2 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java
  11. 2 1
      src/main/java/com/uas/platform/b2c/prod/product/component/modal/Component.java
  12. 2 1
      src/main/java/com/uas/platform/b2c/prod/product/component/modal/ComponentInfo.java
  13. 3 0
      src/main/java/com/uas/platform/b2c/prod/product/kind/dao/KindInfoDao.java
  14. 14 0
      src/main/java/com/uas/platform/b2c/prod/product/kind/model/KindInfo.java
  15. 30 4
      src/main/java/com/uas/platform/b2c/prod/store/facade/impl/CommodityFacadeImpl.java
  16. 3 0
      src/main/java/com/uas/platform/b2c/prod/store/facade/impl/StoreInFacadeImpl.java
  17. 9 0
      src/main/java/com/uas/platform/b2c/prod/store/service/CommodityService.java
  18. 33 3
      src/main/java/com/uas/platform/b2c/prod/store/service/impl/CommodityServiceImpl.java
  19. BIN
      src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls
  20. 1 1
      src/main/webapp/resources/js/admin/controllers/AuditRealAuthCtrl.js
  21. 1 1
      src/main/webapp/resources/js/admin/controllers/KeyWordCtrl.js
  22. 1 1
      src/main/webapp/resources/js/admin/controllers/LogUsageCtrl.js
  23. 1 1
      src/main/webapp/resources/js/admin/controllers/SecQuestionCtrl.js
  24. 1 1
      src/main/webapp/resources/js/admin/controllers/SeekQualityBuyerCtrl.js
  25. 1 1
      src/main/webapp/resources/js/admin/controllers/SeekSalesmanCtrl.js
  26. 1 1
      src/main/webapp/resources/js/admin/controllers/bankInfo/AuditBankInfoCtrl.js
  27. 1 1
      src/main/webapp/resources/js/admin/controllers/fa/LoanApplyListCtrl.js
  28. 1 1
      src/main/webapp/resources/js/admin/controllers/help/HelpDetailCtrl.js
  29. 1 1
      src/main/webapp/resources/js/admin/controllers/help/HelpEditCtrl.js
  30. 1 1
      src/main/webapp/resources/js/admin/controllers/search/search_See.js
  31. 1 1
      src/main/webapp/resources/js/common/controllers/commonCtrls.js
  32. 1 1
      src/main/webapp/resources/js/common/query/address.js
  33. 1 1
      src/main/webapp/resources/js/common/query/authority.js
  34. 1 1
      src/main/webapp/resources/js/common/query/keyWord.js
  35. 1 1
      src/main/webapp/resources/js/common/query/logUsage.js
  36. 1 1
      src/main/webapp/resources/js/common/query/secQuestion.js
  37. 1 1
      src/main/webapp/resources/js/common/query/seekPurchase.js
  38. 1 1
      src/main/webapp/resources/js/common/query/seekQualityBuyer.js
  39. 1 1
      src/main/webapp/resources/js/common/query/seekSalesman.js
  40. 3 3
      src/main/webapp/resources/js/common/query/supplier.js
  41. 1 1
      src/main/webapp/resources/js/store/controllers/default/StoreBatchInfoCtrl.js
  42. 1 1
      src/main/webapp/resources/js/usercenter/app.js
  43. 1 1
      src/main/webapp/resources/js/usercenter/controllers/forstore/account_manager_ctrl.js
  44. 2 2
      src/main/webapp/resources/js/usercenter/controllers/forstore/bom_detail_ctrl.js
  45. 1 1
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_logistics_ctrl.js
  46. 1 1
      src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js
  47. 1 1
      src/main/webapp/resources/js/usercenter/controllers/forstore/pay_center_ctrl.js
  48. 81 53
      src/main/webapp/resources/js/usercenter/controllers/forstore/seek_purchase_ctrl.js
  49. 1 1
      src/main/webapp/resources/js/vendor/controllers/forstore/purchase_accept_ctrl.js
  50. 9 3
      src/main/webapp/resources/js/vendor/controllers/forstore/purchase_offer_ctrl.js
  51. 28 22
      src/main/webapp/resources/js/vendor/controllers/forstore/seek_purchase_ctrl.js
  52. 15 9
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_account_management_ctrl.js
  53. 1 1
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_logistics_ctrl.js
  54. 37 25
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_store_maintain_ctrl.js
  55. 1 1
      src/main/webapp/resources/view/usercenter/forstore/seekPurchase.html
  56. 1 1
      src/main/webapp/resources/view/vendor/forstore/seekPurchase.html
  57. 3 3
      src/main/webapp/resources/view/vendor/modal/role_detail.html

+ 3 - 1
src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java

@@ -132,7 +132,9 @@ public class AuthenticationController {
 		String currUrl;
 		try {
 			currUrl = URLDecoder.decode(resUrl, "UTF-8");
-			currUrl = "/" + currUrl;
+			if (!currUrl.substring(0,1).equals("/")) {
+				currUrl = "/" + currUrl;
+			}
 		} catch (UnsupportedEncodingException e) {
 			throw new IllegalArgumentException("URL编码错误!");
 		}

+ 13 - 11
src/main/java/com/uas/platform/b2c/common/account/controller/SecurityController.java

@@ -366,7 +366,7 @@ public class SecurityController {
 			response.setHeader("P3P","CP=\"CURaADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSPCOR\"");
 
 //			User user = getUserByToken(tk);
-			User mallUser = new User();
+			User mallUser = null;
 			if (userAccount.getMobile() != null) {
 				// UID表示所有系统公认的唯一标识,这里统一使用手机号
 				mallUser = userService.findUserByUserTelNoException(userAccount.getMobile());
@@ -375,10 +375,17 @@ public class SecurityController {
 				mallUser = userService.findUserByUserUUNoException(userAccount.getUserUU());
 			} else {
 				logger.error(String.format("invalid user %s, please set uid or dialectUID", userAccount.getVipName()));
+				return "successCallback({success:'0'})";
+			}
+
+			// 没用用户
+			if (mallUser == null) {
+				UserView userView = AccountUtils.findByUserUU(userAccount.getUserUU());
+				mallUser = userAccountService.save(userView);
 			}
 
 			// 企业判断
-			Enterprise enterprise = new Enterprise();
+			Enterprise enterprise = null;
 			if (userAccount.getSpaceUU() != null) {
 				Enterprise oldEnterprise = enterpriseDao.findByUu(userAccount.getSpaceUU());
 				// 判断商城是否存在当前企业,若存在则设置当前企业即可,若不存在则需新建一个企业后进行设置
@@ -411,17 +418,12 @@ public class SecurityController {
 				} else {
 					enterprise = oldEnterprise;
 				}
-			}
-			// 没用用户
-			if (mallUser == null) {
-				UserView userView = AccountUtils.findByUserUU(userAccount.getUserUU());
-				mallUser = userAccountService.save(userView);
-			}
-			if (enterprise != null && !mallUser.getEnterprises().contains(enterprise)) {
-//				if (!mallUser.getUserUU().equals(enterprise.getEnAdminuu())) {
+				// 用户关联企业
+				if (!mallUser.getEnterprises().contains(enterprise)) {
 					mallUser.getEnterprises().add(enterprise);
-//				}
+				}
 			}
+
 			// 最后一次登录时间
 			Date lastLoginTime = userAccount.getLastLoginTime();
 			if (lastLoginTime != null) {

+ 2 - 2
src/main/java/com/uas/platform/b2c/common/account/dao/UserDao.java

@@ -36,7 +36,7 @@ public interface UserDao extends JpaSpecificationExecutor<User>, JpaRepository<U
 	public List<User> findByEnUUAndUserUU(@Param("enUU") long enUU, @Param("userUU") long userUU);
 
 	/**
-	 * 按企业ID查找个人
+	 * 按企业ID查找个人
 	 * 
 	 * @param enUU
 	 * @return
@@ -46,7 +46,7 @@ public interface UserDao extends JpaSpecificationExecutor<User>, JpaRepository<U
 	public List<User> findByEnUU(@Param("enUU") long enUU);
 
 	/**
-	 * 按企业ID查找个人id
+	 * 按企业ID查找个人id
 	 *
 	 * @param enUU
 	 * @return

+ 13 - 5
src/main/java/com/uas/platform/b2c/common/account/model/User.java

@@ -501,12 +501,20 @@ public class User implements Serializable {
 	 */
 	public void setCurrentEnterpriseRoles() {
 		if(!CollectionUtils.isEmpty(this.roles) && this.enterprise != null) {
-			Iterator<Role> iterator = this.roles.iterator();
+//			Iterator<Role> iterator = this.roles.iterator();
+//			Long enuu = this.enterprise.getUu();
+//			while (iterator.hasNext()) {
+//				Role role = iterator.next();
+//				if(!role.getEnUU().equals(enuu)) {
+//					iterator.remove();
+//				}
+//			}
+			Set<Role> roles = this.roles;
+			this.roles = new HashSet<>();
 			Long enuu = this.enterprise.getUu();
-			while (iterator.hasNext()) {
-				Role role = iterator.next();
-				if(!role.getEnUU().equals(enuu)) {
-					iterator.remove();
+			for (Role role : roles) {
+				if (role.getEnUU().equals(enuu)) {
+					this.roles.add(role);
 				}
 			}
 		}

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

@@ -37,7 +37,7 @@ public interface UserService {
 	/**
 	 * 按uu取用户信息(不读取缓存)
 	 *
-	 * @param userUU
+	 * @param uu 用户userUU
 	 * @return
 	 */
 	User findUserPwdByUserUU(Long uu);
@@ -56,6 +56,12 @@ public interface UserService {
 	 */
 	Page<User> findUserByUserNameLikeAndEnUU(PageInfo pageInfo , Long enUU , String userName);
 
+	/**
+	 * 通过关键字、角色id过滤该企业下人员信息
+	 * @param keyword 姓名、电话号码、邮箱、uu号
+	 * @param roleId 角色id
+	 * @return
+	 */
 	Page<User> findUsersPageByEnUUAndKeyword(PageInfo pageInfo , Long enUU , String keyword , Long roleId);
 	/**
 	 * 按email取用户信息

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/account/service/impl/RoleServiceImpl.java

@@ -26,7 +26,7 @@ public class RoleServiceImpl implements RoleService {
 
     private static final int DEFAULT_ROLE = 1;
 
-    private static final int ALL_DEFAULT_ROLE = 4;
+    private static final int ALL_DEFAULT_ROLE = 5;
 
     @Autowired
     private RoleDao roleDao;

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

@@ -1,10 +1,7 @@
 package com.uas.platform.b2c.common.account.service.impl;
 
 import com.uas.message.mail.service.MailService;
-import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
-import com.uas.platform.b2c.common.account.dao.RoleDao;
-import com.uas.platform.b2c.common.account.dao.UserCacheEnterpriseDao;
-import com.uas.platform.b2c.common.account.dao.UserDao;
+import com.uas.platform.b2c.common.account.dao.*;
 import com.uas.platform.b2c.common.account.model.*;
 import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.common.base.dao.CommonDao;
@@ -75,6 +72,9 @@ public class UserServiceImpl implements UserService {
 	@Autowired
 	private MessageConf messageConf;
 
+	@Autowired
+	private ResourceItemDao resourceItemDao;
+
 	@Override
 	public User findUserByUserUU(Long uu) {
 		List<User> users = userDao.findUserByUserUU(uu);
@@ -159,31 +159,7 @@ public class UserServiceImpl implements UserService {
 	@Override
 	public Page<User> findUsersPageByEnUU(final PageInfo pageInfo , Long enUU) {
 		final List<Long> usersId = userDao.findIdByEnUU(enUU);
-		if (usersId.size()>0) {
-			Page<User> pUser = userDao.findAll(new Specification<User>() {
-				public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-					Predicate predicateId = root.get("userUU").in(usersId);
-					query.where(predicateId);
-					return null;
-				}
-			}, pageInfo);
-			for (User user : pUser) {
-				Set<Role> roles = user.getRoles();
-				Long enuu = SystemSession.getUser().getEnterprise().getUu();
-				if (!CollectionUtils.isEmpty(roles)) {
-					Iterator<Role> iterator = roles.iterator();
-					while (iterator.hasNext()) {
-						Role role = iterator.next();
-						if (!role.getEnUU().equals(enuu)) {
-							iterator.remove();
-						}
-					}
-				}
-			}
-			return pUser;
-		}else{
-			return null;
-		}
+		return deleteOtherRole(pageInfo,usersId);
 
 	}
 	@Override
@@ -251,34 +227,8 @@ public class UserServiceImpl implements UserService {
 			//过滤 角色信息
 			usersId = userDao.findUserByRoleAndUsers(roleId,usersId.toArray(new Long[0]));
 		}
-
 		final List<Long> users = usersId;
-		if (users.size()>0) {
-			Page<User> pUser = userDao.findAll(new Specification<User>() {
-				public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-					Predicate predicateId = root.get("userUU").in(users);
-					query.where(predicateId);
-					return null;
-				}
-			}, pageInfo);
-			for (User user : pUser) {
-				Set<Role> roles = user.getRoles();
-				Long enuu = SystemSession.getUser().getEnterprise().getUu();
-				if (!CollectionUtils.isEmpty(roles)) {
-					Iterator<Role> iterator = roles.iterator();
-					while (iterator.hasNext()) {
-						Role role = iterator.next();
-						if (!role.getEnUU().equals(enuu)) {
-							iterator.remove();
-						}
-					}
-				}
-			}
-			return pUser;
-		}else{
-			return null;
-		}
-
+		return deleteOtherRole(pageInfo,users);
 	}
 
 	@Override
@@ -288,6 +238,10 @@ public class UserServiceImpl implements UserService {
 			usersId = userDao.findUserByUserNameLikeAndEnUU(userName, enUU);
 		}
 		final List<Long> users = usersId;
+		return deleteOtherRole(pageInfo,users);
+	}
+
+	private Page<User> deleteOtherRole(final PageInfo pageInfo,final List<Long> users) {
 		if (users.size()>0) {
 			Page<User> pUser = userDao.findAll(new Specification<User>() {
 				public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
@@ -328,38 +282,7 @@ public class UserServiceImpl implements UserService {
 //				throw new RuntimeException(e.getMessage());
 			}
 			// 修改用户角色,只对用户的当前企业的角色进行修改
-			if (!CollectionUtils.isEmpty(user.getRoles())) {
-				Set<Role> existRoles = userOld.getRoles();
-				if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
-					Iterator<Role> iterator = existRoles.iterator();
-					Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
-					while (iterator.hasNext()) {
-						Role role = iterator.next();
-						if (role.getEnUU().equals(currentEnuu)) {
-							iterator.remove();
-						}
-					}
-				} else {
-					existRoles = new HashSet<>();
-				}
-				for (Role role : user.getRoles()) {
-					existRoles.add(role);
-				}
-				userOld.setRoles(existRoles);
-			} else {
-				Set<Role> existRoles = userOld.getRoles();
-				if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
-					Iterator<Role> iterator = existRoles.iterator();
-					Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
-					while (iterator.hasNext()) {
-						Role role = iterator.next();
-						if (role.getEnUU().equals(currentEnuu)) {
-							iterator.remove();
-						}
-					}
-				}
-				userOld.setRoles(existRoles);
-			}
+			updateRole(user,userOld);
 			try {
 				userOld = userDao.save(userOld);
 			} catch (Exception e) {
@@ -384,38 +307,7 @@ public class UserServiceImpl implements UserService {
 			userOld.setUserTel(user.getUserTel());
 			userOld.setUserName(user.getUserName());
 			// 修改用户角色,只对用户的当前企业的角色进行修改
-			if (!CollectionUtils.isEmpty(user.getRoles())) {
-				Set<Role> existRoles = userOld.getRoles();
-				if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
-					Iterator<Role> iterator = existRoles.iterator();
-					Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
-					while (iterator.hasNext()) {
-						Role role = iterator.next();
-						if (role.getEnUU().equals(currentEnuu)) {
-							iterator.remove();
-						}
-					}
-				} else {
-					existRoles = new HashSet<>();
-				}
-				for (Role role : user.getRoles()) {
-					existRoles.add(role);
-				}
-				userOld.setRoles(existRoles);
-			} else {
-				Set<Role> existRoles = userOld.getRoles();
-				if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
-					Iterator<Role> iterator = existRoles.iterator();
-					Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
-					while (iterator.hasNext()) {
-						Role role = iterator.next();
-						if (role.getEnUU().equals(currentEnuu)) {
-							iterator.remove();
-						}
-					}
-				}
-				userOld.setRoles(existRoles);
-			}
+			updateRole(user,userOld);
 			try {
 				userOld = userDao.save(userOld);
 			} catch (Exception e) {
@@ -432,36 +324,46 @@ public class UserServiceImpl implements UserService {
 		}
 	}
 
+	private void updateRole(User user,User userOld) {
+		if (!CollectionUtils.isEmpty(user.getRoles())) {
+			Set<Role> existRoles = userOld.getRoles();
+			if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
+				Iterator<Role> iterator = existRoles.iterator();
+				Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
+				while (iterator.hasNext()) {
+					Role role = iterator.next();
+					if (role.getEnUU().equals(currentEnuu)) {
+						iterator.remove();
+					}
+				}
+			} else {
+				existRoles = new HashSet<>();
+			}
+			for (Role role : user.getRoles()) {
+				existRoles.add(role);
+			}
+			userOld.setRoles(existRoles);
+		} else {
+			Set<Role> existRoles = userOld.getRoles();
+			if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
+				Iterator<Role> iterator = existRoles.iterator();
+				Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
+				while (iterator.hasNext()) {
+					Role role = iterator.next();
+					if (role.getEnUU().equals(currentEnuu)) {
+						iterator.remove();
+					}
+				}
+			}
+			userOld.setRoles(existRoles);
+		}
+	}
+
 	@Override
 	public User updatePassword(User user, String password, String newPassword) {
-//		boolean result = user.getUserPwd().equals(Md5Utils.encode(password, user.getUserUU()));
-//		if (result) {
-//			User user1 = userDao.findOne(user.getUserUU());
-//			user1.setUserPwd(Md5Utils.encode(newPassword, user1.getUserUU()));
-//			user1.setPwdSecLevel(user.getPwdSecLevel());
-//			if (user1.getEnterprise() == null)
-//				user1.setCurrentEnterprise();// 随便绑定一个用户所属企业
-//			Enterprise enterprise = user1.getEnterprise();
-//			try {
-//					//判断是否为个人账户
-//					if (enterprise == null){
-//							//AccountUtils.resetPassword(user1.getUserUU(), null, newPassword);
-//					}else {
-//							//AccountUtils.resetPassword(user1.getUserUU(), enterprise.getUu(), newPassword);
-//					}
-//				user1 = userDao.save(user1);
-//			} catch (Exception e) {
-//				throw new SystemException(e.getMessage());
-//			}
-//			return user1;
-//		} else {
-//			throw new IllegalOperatorException("原密码验证错误");
-//		}
 		return null;
 	}
 
-
-	static final String defaultPassword = "111111";
 	@Override
 	public User addUser(User user, HttpServletRequest request) {
 		List<User> users = userDao.findUserByUserTel(user.getUserTel().trim());
@@ -487,7 +389,6 @@ public class UserServiceImpl implements UserService {
 			}else{
 				enterpriseDao.callInitProcedure(SystemSession.getUser().getEnterprise().getUu());
 			}
-			//Long uu = commonDao.queryForObject("select users_seq.nextval from dual", Long.class);
 			user.setUserUU(addssoUser.getUserUU());
 			user.addEnterprise(SystemSession.getUser().getEnterprise());
 			user.setCurrentEnterprise();
@@ -508,26 +409,10 @@ public class UserServiceImpl implements UserService {
 		model.put("rootpath", AgentUtils.getHost(request));
 		if (user.getUserEmail() != null) {
 			mailService.send(messageConf.getTplAfterBeAddedtoB2C(), user.getUserEmail(), model);
-			//mailService.send(messageConf.getTplInvitationForB2B(), user.getUserEmail(), model);
 		}
 		return user;
 	}
 
-    //添加未注册
-	/*public  com.uas.account.entity.User postToAccountCenter(User user, String password) throws Exception {
-		UserDetail detail = new UserDetail();
-		detail.setEmail(user.getUserEmail());
-		detail.setIdCode(user.getUserIdcode());
-		detail.setMobile(user.getUserTel());
-		detail.setName(user.getUserName());
-		detail.setSex(user.getUserSex());
-		List<com.uas.account.entity.User> users = AccountUtils.addUser(user.getUserUU(), SystemSession.getUser().getEnterprise().getUu(), detail, password);
-		if (!CollectionUtils.isEmpty(users)) {
-			return users.get(0);
-		} else {
-			return null;
-		}
-	}*/
 	public void postToAccountCenter(User user) throws Exception {
 		//判断是否个人用户
 		if(SystemSession.getUser().getEnterprise()==null){
@@ -541,8 +426,6 @@ public class UserServiceImpl implements UserService {
 		User user = userDao.findOne(uu);
 		if (user.getEnterprises().contains(SystemSession.getUser().getEnterprise())) {
 			user.removeEnterprise(SystemSession.getUser().getEnterprise());
-			/*if (user.getEnterprises().size() == 0)
-				user.setEnable((short) Status.DISABLED.value());*/
 			userDao.save(user);
 			try {
 				com.uas.sso.util.AccountUtils.removeUser(uu,SystemSession.getUser().getEnterprise().getUu());
@@ -623,45 +506,11 @@ public class UserServiceImpl implements UserService {
 
 	@Override
 	public User updateUserTel(String oldTel, String newTel,Long uu) {
-		/*// 旧手机号是否正确
-		User user = userDao.findOne(uu);
-			if(!user.getUserTel().equals(oldTel)){
-				throw new IllegalOperatorException("旧手机号错误");
-			}
-			try {
-				if(!StringUtils.isEmpty(oldTel) && !StringUtils.isEmpty(newTel)) {
-					// 保存数据库
-					List<com.uas.account.entity.User> users = AccountUtils.updateTel(oldTel, newTel);
-					if (users != null && users.size() > 0) {
-						user.setUserTel(users.get(0).getUid());
-						user = userDao.save(user);
-						return user;
-					}
-				}
-			} catch (Exception e) {
-				e.printStackTrace();
-			}*/
 			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("数据更新失败...");
 	}
 
@@ -674,11 +523,16 @@ public class UserServiceImpl implements UserService {
 	@Override
 	public ModelMap anthority(User user,String resUrl) {
 		Set<ResourceItem> resourceItems = new HashSet<>();
+		List<ResourceItem> resourceItemList = resourceItemDao.findAll();
 		user.setCurrentEnterpriseRoles();
 		Set<Role> roles = user.getRoles();
 		if (!org.apache.commons.collections.CollectionUtils.isEmpty(roles)) {
 			for (Role role : roles) {
-				resourceItems = role.getResourceItems();
+				if (!org.apache.commons.collections.CollectionUtils.isEmpty(role.getResourceItems())) {
+					for (ResourceItem resourceItem : role.getResourceItems()) {
+						resourceItems.add(resourceItem);
+					}
+				}
 			}
 		}
 		//匹配当前访问权限;
@@ -692,9 +546,19 @@ public class UserServiceImpl implements UserService {
 				}
 			}
 		}
+		if (!org.apache.commons.collections.CollectionUtils.isEmpty(resourceItemList)) {
+			for (ResourceItem re : resourceItemList) {
+				if (resUrl.equals(re.getUrl())) {
+					ModelMap map = new ModelMap();
+					map.put("status","fail");
+					map.put("msg","您没有 "+re.getDesc()+" 权限,请联系管理员");
+					return map;
+				}
+			}
+		}
 		ModelMap map = new ModelMap();
 		map.put("status","fail");
-		map.put("msg","没有该导出权限,请联系管理员");
+		map.put("msg","没有该权限,请联系管理员");
 		return map;
 	}
 }

+ 41 - 10
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -35,6 +35,8 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -166,9 +168,42 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         if (user != null) {
             SystemSession.setUser(user);
             accessDecision(request, user);
+            accessAdmin(request,user);
         }
     }
 
+    /**
+     * admin权限验证
+     */
+    private void accessAdmin(HttpServletRequest request,User user) {
+        if (!StringUtils.isEmpty(user.getEnterprise())) {
+            if (!user.getEnterprise().getUu().toString().equals(enUU) && request.getServletPath().equals("/admin")) {
+                //throw new AccessDeniedException("无法访问,您没有权限!");
+                HttpServletResponse response = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
+                try {
+                    response.setHeader("Content-type", "text/html;charset=UTF-8");
+                    response.getWriter().write("您没有管理权限,请联系优软商城");
+                } catch (IOException e) {
+
+                }
+                throw new AccessDeniedException("无法访问,您没有权限!");
+
+            }
+        } else {
+            if (request.getServletPath().equals("/admin")) {
+                HttpServletResponse response = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
+                try {
+                    response.setHeader("Content-type", "text/html;charset=UTF-8");
+                    response.getWriter().write("您没有管理权限,请联系优软商城");
+                } catch (IOException e) {
+
+                }
+                throw new AccessDeniedException("无法访问,您没有权限!");
+            }
+        }
+
+    }
+
     /**
      * 权限验证
      */
@@ -203,18 +238,14 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         }
         // 暂时在正式 过滤admin访问权限
         if (needPermission != null) {
-            if ("dev".equals(profile)) {
-                if (!user.getEnterprise().getUu().toString().equals(enUU)) {
-                    throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
-                } else {
-                    if (user.getEnterprise().getUu().toString().equals(enUU)) {
-                        if (!"登录商城后台进行运维管理".equals(needPermission)) {
-                            throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
-                        }
+            if (!user.getEnterprise().getUu().toString().equals(enUU)) {
+                throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
+            } else {
+                if (user.getEnterprise().getUu().toString().equals(enUU)) {
+                    if (!"登录商城后台进行运维管理".equals(needPermission)) {
+                        throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
                     }
                 }
-            } else {
-                throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
             }
         }
     }

+ 18 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java

@@ -422,6 +422,15 @@ public interface GoodsDao extends JpaSpecificationExecutor<Goods>, JpaRepository
     @Query(value = "select g from Goods g where g.batchid = :batchid")
 	public List<Goods> findByBatchid(@Param("batchid") String batchid);
 
+    /**
+     * Count by StoreUuid and Kindid
+      * @param uuid 店铺uuid
+     * @param kindid 类目id
+     * @return
+     */
+    @Query(value = "select count(1) from trade$goods where go_storeid = :uuid and go_kind_uuid in (:kindids) and go_status=601", nativeQuery = true)
+    Integer CountByStoreUuidAndKindid(@Param("uuid") String uuid, @Param("kindids") List<Long> kindids);
+
     /**
      * 获取店铺的所有类目信息
      *
@@ -642,7 +651,7 @@ public interface GoodsDao extends JpaSpecificationExecutor<Goods>, JpaRepository
 	 * @param storeUuid
 	 * @return
 	 */
-	@Query(value = "select count(g) from Goods g where g.storeid = :storeUuid and g.status = 601 and g.kindNameCn is null")
+	@Query(value = "select count(1) from Goods g where g.storeid = :storeUuid and g.status = 601 and g.uuid is null")
 	int findNonstandardGoodsCount(@Param("storeUuid") String storeUuid);
 
 
@@ -777,4 +786,12 @@ public interface GoodsDao extends JpaSpecificationExecutor<Goods>, JpaRepository
      */
     @Query(value = "select distinct g.enUU from Goods g where g.storeid = :storeid")
     Long findenUUByStoreid(@Param("storeid") String storeid);
+
+    /**
+     * 根据店铺id查找店铺所有有效在售批次数量
+     * @param storeid
+     * @return
+     */
+    @Query(value = "select count(1) from Goods g where g.storeid = :storeid and g.status = 601")
+    Integer countByStoreid(@Param("storeid") String storeid);
 }

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -190,6 +190,7 @@ import java.util.regex.Pattern;
 
 import static com.uas.platform.core.persistence.criteria.PredicateUtils.like;
 import static org.apache.commons.jexl2.parser.ParserConstants.and;
+import static org.apache.commons.jexl2.parser.ParserConstants.or;
 
 
 /**
@@ -2594,7 +2595,7 @@ public class GoodsServiceImpl implements GoodsService {
         pageInfo.expression(PredicateUtils.eq("storeid", storeid, false));
         if (StringUtils.hasText(kindUuid)) {
             // 如果包含多个叶子类目ID,则获取所有的叶子类目对应的商品信息
-            if (kindUuid.equals("其他")) {
+            if ("其他".equals(kindUuid) || "-10".equals(kindUuid)) {
                 pageInfo.expression(PredicateUtils.isNull("uuid"));
             } else {
                 if (kindUuid.contains(",")) {

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/product/component/modal/Component.java

@@ -87,7 +87,8 @@ public class Component implements Serializable {
 	/**
 	 * 规格信息
 	 */
-	@Column(name = "cmp_spec")
+//	@Column(name = "cmp_spec")
+	@Transient
 	private String spec;
 
 	/**

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/product/component/modal/ComponentInfo.java

@@ -207,7 +207,8 @@ public class ComponentInfo implements Serializable {
 	/**
 	 * 规格信息
 	 */
-	@Column(name = "cmp_spec")
+//	@Column(name = "cmp_spec")
+	@Transient
 	private String spec;
 
 	/**

+ 3 - 0
src/main/java/com/uas/platform/b2c/prod/product/kind/dao/KindInfoDao.java

@@ -64,4 +64,7 @@ public interface KindInfoDao extends JpaSpecificationExecutor<KindInfo>, JpaRepo
 	 * @return
 	 */
 	public KindInfo findByNameCn(String name);
+
+	@Query(value = "select findLeafKind(:parentid)", nativeQuery = true)
+	public String findLeafKind(@Param("parentid") Long parentid);
 }

+ 14 - 0
src/main/java/com/uas/platform/b2c/prod/product/kind/model/KindInfo.java

@@ -62,6 +62,12 @@ public class KindInfo {
 	@Column(name = "ki_level")
 	private Short level;
 
+	/**
+	 * 类目下器件数量
+	 */
+	@Transient
+	private Integer count;
+
 	public Long getId() {
 		return id;
 	}
@@ -110,6 +116,14 @@ public class KindInfo {
 		this.level = level;
 	}
 
+	public Integer getCount() {
+		return count;
+	}
+
+	public void setCount(Integer count) {
+		this.count = count;
+	}
+
 	public Set<KindInfo> getChildren() {
 		return children;
 	}

+ 30 - 4
src/main/java/com/uas/platform/b2c/prod/store/facade/impl/CommodityFacadeImpl.java

@@ -1,18 +1,22 @@
 package com.uas.platform.b2c.prod.store.facade.impl;
 
 import com.uas.platform.b2c.core.config.SysConf;
+import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.product.kind.model.KindInfo;
 import com.uas.platform.b2c.prod.product.kind.service.KindService;
 import com.uas.platform.b2c.prod.store.facade.CommodityFacade;
 import com.uas.platform.b2c.prod.store.service.CommodityService;
+import com.uas.platform.core.model.Constant;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
-import java.util.*;
-
 /**
  * 商品外观实现类
  *
@@ -30,17 +34,21 @@ public class CommodityFacadeImpl implements CommodityFacade {
 
 	private final SysConf sysConf;
 
+	private final GoodsDao goodsDao;
+
 	@Autowired
-	public CommodityFacadeImpl(CommodityService commodityService, KindService kindService, GoodsService goodsService,SysConf sysConf) {
+	public CommodityFacadeImpl(CommodityService commodityService, KindService kindService, GoodsService goodsService,SysConf sysConf, GoodsDao goodsDao) {
 		this.commodityService = commodityService;
 		this.kindService = kindService;
 		this.goodsService = goodsService;
 		this.sysConf = sysConf;
+		this.goodsDao = goodsDao;
 	}
 
 	@Override
 	public List<KindInfo> getAllKindsInfoByStoreUuid(String storeUuid) {
 		final KindInfo allKind = KindInfo.getAllKind(); //外层所有类目包裹
+		allKind.setCount(goodsDao.countByStoreid(storeUuid));
 		Set<KindInfo> children = new LinkedHashSet<>();
 		if (StringUtils.hasText(storeUuid)) {
 			Set<Long> kindUuidSet = commodityService.findAllKindsByStoreUuid(storeUuid);
@@ -60,8 +68,26 @@ public class CommodityFacadeImpl implements CommodityFacade {
 				}
 			}
 		}
+
+		// 补充该店铺各类目下商品数量
+		for (KindInfo kindInfo : children) {
+			kindInfo.setCount(commodityService.countCommodityByKindAndStore(kindInfo, storeUuid));
+			if (kindInfo.getIsLeaf().equals(Constant.NO) && !CollectionUtils.isEmpty(kindInfo.getChildren())) {
+				for (KindInfo child : kindInfo.getChildren()) {
+					child.setCount(commodityService.countCommodityByKindAndStore(child, storeUuid));
+					if (child.getIsLeaf().equals(Constant.NO) && !CollectionUtils.isEmpty(kindInfo.getChildren())) {
+						for (KindInfo childKind : child.getChildren()) {
+							childKind.setCount(commodityService.countCommodityByKindAndStore(childKind, storeUuid));
+						}
+					}
+				}
+			}
+		}
+
 		if (count != 0){ //存在非标则添加其他类目
-			children.add(KindInfo.getOtherKind());
+			KindInfo kindInfo = KindInfo.getOtherKind();
+			kindInfo.setCount(count);
+			children.add(kindInfo);
 		}
 		allKind.setChildren(children);
 		return Collections.singletonList(allKind);

+ 3 - 0
src/main/java/com/uas/platform/b2c/prod/store/facade/impl/StoreInFacadeImpl.java

@@ -115,6 +115,9 @@ public class StoreInFacadeImpl implements StoreInFacade {
 			store.setStoreName(StringUtils.hasText(newStoreInfo.getStoreName()) ? newStoreInfo.getStoreName() : null);
 			store.setStoreApplication(StringUtils.hasText(newStoreInfo.getStoreApplication()) ? newStoreInfo.getStoreApplication() : null);
 			store.setDescription(newStoreInfo.getDescription());
+			if(!StringUtils.isEmpty(newStoreInfo.getLogoUrl())) {
+				store.setLogoUrl(newStoreInfo.getLogoUrl());
+			}
 			EnterpriseSimple enterprise = store.getEnterprise();
             EnterpriseSimple newEnterprise = newStoreInfo.getEnterprise();
 			enterprise.setEnUrl(newEnterprise.getEnUrl());

+ 9 - 0
src/main/java/com/uas/platform/b2c/prod/store/service/CommodityService.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2c.prod.store.service;
 
+import com.uas.platform.b2c.prod.product.kind.model.KindInfo;
 import java.util.Set;
 
 /**
@@ -21,4 +22,12 @@ public interface CommodityService {
 	 * 获取所有类目信息
 	 */
 	Set<Long> findAllKinds();
+
+	/**
+	 * 通过店铺uuid和类目id获取上架商品数量
+	 * @param kindid 类目id
+	 * @param storeUuid 店铺uuid
+	 * @return
+	 */
+	Integer countCommodityByKindAndStore(KindInfo kindid, String storeUuid);
 }

+ 33 - 3
src/main/java/com/uas/platform/b2c/prod/store/service/impl/CommodityServiceImpl.java

@@ -1,12 +1,19 @@
 package com.uas.platform.b2c.prod.store.service.impl;
 
+import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
+import com.uas.platform.b2c.prod.product.kind.dao.KindInfoDao;
+import com.uas.platform.b2c.prod.product.kind.model.KindInfo;
 import com.uas.platform.b2c.prod.store.service.CommodityService;
+import com.uas.platform.core.model.Constant;
+import com.uas.ps.core.util.StringUtils;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Set;
-
 /**
  * 商品业务实现类
  *
@@ -18,9 +25,12 @@ public class CommodityServiceImpl implements CommodityService {
 
 	private final GoodsDao goodsDao;
 
+	private final KindInfoDao kindInfoDao;
+
 	@Autowired
-	public CommodityServiceImpl(GoodsDao goodsDao) {
+	public CommodityServiceImpl(GoodsDao goodsDao, KindInfoDao kindInfoDao) {
 		this.goodsDao = goodsDao;
+		this.kindInfoDao = kindInfoDao;
 	}
 
 	@Override
@@ -32,4 +42,24 @@ public class CommodityServiceImpl implements CommodityService {
 	public Set<Long> findAllKinds() {
 		return goodsDao.findAllKinds();
 	}
+
+	@Override
+	public Integer countCommodityByKindAndStore(KindInfo kind, String storeUuid) {
+		List<Long> kinds = new ArrayList<>();
+		if (kind.getIsLeaf().equals(Constant.YES)) {
+			kinds.add(kind.getId());
+		} else {
+			String ids = kindInfoDao.findLeafKind(kind.getId());
+			if (!StringUtils.isEmpty(ids)) {
+				String[] idstr = ids.split(SplitChar.COMMA);
+				for (int i = 0; i < idstr.length; i++) {
+					kinds.add(Long.valueOf(idstr[i]));
+				}
+			}
+		}
+		if (CollectionUtils.isNotEmpty(kinds)) {
+			return goodsDao.CountByStoreUuidAndKindid(storeUuid, kinds);
+		}
+		return 0;
+	}
 }

BIN
src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls


+ 1 - 1
src/main/webapp/resources/js/admin/controllers/AuditRealAuthCtrl.js

@@ -10,7 +10,7 @@ define(['app/app'], function (app) {
     }, {
       total : 0,
       getData : function ($defer, params) {
-        const param = BaseService.parseParams(params.url());
+          var param = BaseService.parseParams(params.url());
         param.status = $scope.status;
         User.getPageStatusRealAuth(param, function (data) {
           params.total(data.totalElements);

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/KeyWordCtrl.js

@@ -10,7 +10,7 @@ define(['app/app'], function (app) {
       total : 0,
       getData : function ($defer, params) {
         $scope.paginationParams = params;
-        const param = BaseService.parseParams(params.url());
+          var param = BaseService.parseParams(params.url());
         //param.status = $scope.status;
         param.keyword = $scope.keyword;
         KeyWord.getKeyWordPageInfo(param, function (data) {

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/LogUsageCtrl.js

@@ -9,7 +9,7 @@ define(['app/app'], function (app) {
       total : 0,
       getData : function ($defer, params) {
         $scope.paginationParams = params;
-        const param = BaseService.parseParams(params.url());
+          var param = BaseService.parseParams(params.url());
         //param.status = $scope.status;
         if($scope.search !=null){
           if($scope.search == 1){

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/SecQuestionCtrl.js

@@ -8,7 +8,7 @@ define(['app/app'], function (app) {
     }, {
       total : 0,
       getData : function ($defer, params) {
-        const param = BaseService.parseParams(params.url());
+          var param = BaseService.parseParams(params.url());
         //param.status = $scope.status;
         //param.keyword = $scope.keyword;
         secQuestion.getPageInfo(param, function (data) {

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/SeekQualityBuyerCtrl.js

@@ -7,7 +7,7 @@ define(['app/app'], function (app) {
     }, {
       total : 0,
       getData : function ($defer, params) {
-        const param = BaseService.parseParams(params.url());
+          var param = BaseService.parseParams(params.url());
         seekQualityBuyer.getBuyerPageInfo(param, function (data) {
           params.total(data.totalElements);
           $defer.resolve(data.content);

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/SeekSalesmanCtrl.js

@@ -9,7 +9,7 @@ define(['app/app'], function (app) {
     }, {
       total : 0,
       getData : function ($defer, params) {
-        const param = BaseService.parseParams(params.url());
+          var param = BaseService.parseParams(params.url());
           param.status = $scope.seek_status;
           param.salesman = $scope.seek_salesman;
           param.keyword = $scope.keyword;

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/bankInfo/AuditBankInfoCtrl.js

@@ -38,7 +38,7 @@ define(['app/app'], function (app) {
         }, {
             total : 0,
             getData : function ($defer, params) {
-                const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
                 param.status = $scope.status;
                 param.keyword = $scope.keyword;
                 bankInfoService.getPageStatusBankInfo(param, function (data) {

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/fa/LoanApplyListCtrl.js

@@ -9,7 +9,7 @@ define(['app/app'], function (app) {
       total : 0,
       getData : function ($defer, params) {
         $scope.paginationParams = params;
-        const param = BaseService.parseParams(params.url());
+        var param = BaseService.parseParams(params.url());
           LoanApply.getAllByPage(param, function (data) {
           params.total(data.totalElements);
           $defer.resolve(data.content);

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/help/HelpDetailCtrl.js

@@ -33,7 +33,7 @@ define(['app/app'], function(app) {
 
         $scope.rootPath = BaseService.getRootPath();
         function switchBase64ToImg(el) {
-            const regex = new RegExp(':(.*?);');
+            var regex = new RegExp(':(.*?);');
             var data = el.src;
             var arr = data.split(','), mime = regex.exec(arr[0])[1],
                 bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/help/HelpEditCtrl.js

@@ -33,7 +33,7 @@ define(['app/app'], function(app) {
 
         $scope.rootPath = BaseService.getRootPath();
         function switchBase64ToImg(el) {
-            const regex = new RegExp(':(.*?);');
+            var regex = new RegExp(':(.*?);');
             var data = el.src;
             var arr = data.split(','), mime = regex.exec(arr[0])[1],
                 bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/search/search_See.js

@@ -122,7 +122,7 @@ define(['app/app'], function (app) {
             total : 0,
             getData : function ($defer, params) {
                 $scope.paginationParams = params;
-                const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
                 //param.status = $scope.status;
                 if($scope.search !=null){
                     if($scope.search == 1){

+ 1 - 1
src/main/webapp/resources/js/common/controllers/commonCtrls.js

@@ -1853,7 +1853,7 @@ define([ 'app/app' ], function(app) {
 	}]);
 
     function checkNullStr (str) {
-        const NULL_ARR = ['空', '没', '无', '-', '—', 'null', '#N/A'];
+        var NULL_ARR = ['空', '没', '无', '-', '—', 'null', '#N/A'];
         var flag = true;
         NULL_ARR.map(function (s) {  flag = str === s ? false : flag; });
         return flag;

+ 1 - 1
src/main/webapp/resources/js/common/query/address.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('addressServices', [ 'ngResource' ]).factory('ShippingAddress', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		//获取收货地址
 		return $resource('trade/address/shipping', {}, {
 			/*

+ 1 - 1
src/main/webapp/resources/js/common/query/authority.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('authorityServices', [ 'ngResource' ]).factory('Authority', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		// 获取接口权限
 		return $resource('user/authentication/isauthority', {}, {
 			getAuthority : {

+ 1 - 1
src/main/webapp/resources/js/common/query/keyWord.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
   angular.module('keyWordServices', [ 'ngResource' ]).factory('KeyWord', ['$resource', 'BaseService', function($resource, BaseService) {
-    const rootPath = BaseService.getRootPath();
+      var rootPath = BaseService.getRootPath();
     return $resource('keyword', {}, {
       getOneKeyWord:{
         url : 'keyword/getOneKeyWord/:id',

+ 1 - 1
src/main/webapp/resources/js/common/query/logUsage.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('logUsageServices', [ 'ngResource' ]).factory('logUsage', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		return $resource('log/usage', {}, {
       getAllByPage:{
       	url:'log/usage/:userUu',

+ 1 - 1
src/main/webapp/resources/js/common/query/secQuestion.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('secQuestionServices', [ 'ngResource' ]).factory('secQuestion', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		return $resource('user/secQuestion', {}, {
       add : {
         url : 'user/secQuestion/add',

+ 1 - 1
src/main/webapp/resources/js/common/query/seekPurchase.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('seekPurchaseServices', [ 'ngResource' ]).factory('seekPurchase', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		return $resource('seek', {}, {
 		  getSeekUrl: {
 		    url: 'seek/accessUrl',

+ 1 - 1
src/main/webapp/resources/js/common/query/seekQualityBuyer.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('seekQualityBuyerServices', [ 'ngResource' ]).factory('seekQualityBuyer', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		return $resource('seek/qualityBuyer', {}, {
       getBuyerPageInfo:{
         url:'seek/qualityBuyer/getBuyerPageInfo',

+ 1 - 1
src/main/webapp/resources/js/common/query/seekSalesman.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('seekSalesmanServices', [ 'ngResource' ]).factory('seekSalesman', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		return $resource('seek/salesman', {}, {
             getPageInfo: {
                 url: 'seek/salesman/getPageInfo',

+ 3 - 3
src/main/webapp/resources/js/common/query/supplier.js

@@ -1,6 +1,6 @@
 define([ 'ngResource' ], function() {
 	angular.module('supplierServices', [ 'ngResource' ]).factory('SupplierAPI', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		// 供应商
 		return $resource('api/produce/vendorlist', {}, {
 			/*
@@ -12,7 +12,7 @@ define([ 'ngResource' ], function() {
 			}
 		});
 	}]).factory('Supplier', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		// 供应商
 		return $resource('produce/vendorlist', {}, {
 			/*
@@ -24,7 +24,7 @@ define([ 'ngResource' ], function() {
 			}
 		});
 	}]).factory('SupplierSubmit', ['$resource', 'BaseService', function($resource, BaseService) {
-		const rootPath = BaseService.getRootPath();
+        var rootPath = BaseService.getRootPath();
 		// 供应商申请
 		return $resource('/produce/vendorSubmit', {}, {
 			/*

+ 1 - 1
src/main/webapp/resources/js/store/controllers/default/StoreBatchInfoCtrl.js

@@ -17,7 +17,7 @@ define(['app/app'], function(app) {
 		}
 
 		// 获取商品批次号信息
-		const batchCode = $stateParams.batchCode;
+        var batchCode = $stateParams.batchCode;
 		// 价格信息
 		$scope.fragment = {};
 		$scope.fragment.price = {};

+ 1 - 1
src/main/webapp/resources/js/usercenter/app.js

@@ -674,7 +674,7 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'commo
 			if(typeof(email) == 'undefined') {
 				email = '';
 			} else {
-				const index = email.indexOf('@');
+				var index = email.indexOf('@');
 				email = email[0] + '***' + email.substring(index, email.length);
 			}
 			return email;

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

@@ -248,7 +248,7 @@ define(['app/app'], function (app) {
 		}, {
 			total : 0,
 			getData : function ($defer, params) {
-				const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
 				param.isSend = false;
 				ShippingAddress.pageAddressOfUser(param, {}, function (page) {
 					$scope.isBiggerFive = false;

+ 2 - 2
src/main/webapp/resources/js/usercenter/controllers/forstore/bom_detail_ctrl.js

@@ -246,7 +246,7 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
                 }, {
                   total: 0,
                   getData: function ($defer, params) {
-                    const param = BaseService.parseParams(params.url());
+                      var param = BaseService.parseParams(params.url());
                     // param.isMallGoods = $scope.isMallGoods;
                     // param.deadline = $scope.deadline;
                     // param.keyWord = $scope.keyWord;
@@ -788,7 +788,7 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
                 }, {
                   total: 0,
                   getData: function ($defer, params) {
-                    const param = BaseService.parseParams(params.url());
+                      var param = BaseService.parseParams(params.url());
                     seekPurchase.getSeekPurchaseBomListPage(param,
                         function (data) {
                           params.total(data.totalElements);

+ 1 - 1
src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_logistics_ctrl.js

@@ -39,7 +39,7 @@ define(['app/app', 'calendar'], function(app) {
 		}, {
 			total : 0,
 			getData : function ($defer, params) {
-				const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
 				param.isSend = false;
 				ShippingAddress.pageAddressOfUser(param, {}, function (page) {
                     $scope.isBiggerFive = false;

+ 1 - 1
src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js

@@ -912,7 +912,7 @@ define(['app/app'], function(app) {
 				return ;
 			}
 
-			const properPrice = detail.goodsHistory.prices.filter(function (price) {
+            var properPrice = detail.goodsHistory.prices.filter(function (price) {
 				return number >= price.start && number <= price.end;
 			});
 

+ 1 - 1
src/main/webapp/resources/js/usercenter/controllers/forstore/pay_center_ctrl.js

@@ -54,7 +54,7 @@ define(['app/app'], function(app) {
 		}, {
 			total : 0,
 			getData : function ($defer, params) {
-				const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
 				if ($scope.keyword && $scope.keyword.length > 0){
 					param.keyword = $scope.keyword;
 				}

+ 81 - 53
src/main/webapp/resources/js/usercenter/controllers/forstore/seek_purchase_ctrl.js

@@ -6,9 +6,9 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
   'use strict';
   app.register.controller('seekPurchaseCtrl',
       ['$scope', '$location', '$rootScope', 'seekPurchase', 'toaster', 'BaseService',
-        'ngTableParams', 'Order', 'SessionService', '$filter', '$upload', '$stateParams', 'Search', '$http',
+        'ngTableParams', 'Order', 'SessionService', '$filter', '$upload', '$stateParams', 'Search', '$http', 'Authority',
         function ($scope, $location, $rootScope, seekPurchase, toaster, BaseService,
-            ngTableParams, Order, SessionService, $filter, $upload, $stateParams, Search, $http) {
+            ngTableParams, Order, SessionService, $filter, $upload, $stateParams, Search, $http, Authority) {
           $rootScope.active = 'seek_purchase';
           document.title = '我的求购-优软商城';
           $scope.activeType = $stateParams.type ? $stateParams.type :'seekManage';
@@ -50,7 +50,7 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
               }, {
                 total: 0,
                 getData: function ($defer, params) {
-                  const param = BaseService.parseParams(params.url());
+                    var param = BaseService.parseParams(params.url());
                   param.pageNumber = param.page;
                   param.pageSize = param.count;
                   if ($scope.isSearch) {
@@ -151,7 +151,7 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
           }, {
             total: 0,
             getData: function ($defer, params) {
-              const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
               if ($scope.userInfo.enterprise) {
                 param.enUU = $scope.userInfo.enterprise.uu;
               } else {
@@ -443,32 +443,39 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
           };
           // 发布求购
           $scope.release = function () {
-            // 校验
-            if ($scope.checkAll()) {
-                var materialUrl = seekUrl;
-                if (seekUrl == 'https://api-inquiry.usoftmall.com') {
-                    materialUrl = 'https://api-product.usoftmall.com/';
-                }
-                $http({
-                    method: 'get',
-                    dataType: 'json',
-                    url: materialUrl + '/productuser/match/getKind',
-                    params: {cmpCode: $scope.applyObj.code, brand: $scope.applyObj.brand}
-                }).success(function (data) {
-                    startRelease(data && data.length ? data : $scope.applyObj.prodTitle);
-                }).error(function (response) {
-                    startRelease($scope.applyObj.prodTitle);
-                    toaster.pop('error', response || '获取关联类目失败');
-                });
-            } else {
-              if (!$scope.validObj.deadline) {
-                toaster.pop('error', '截止日期不能为空');
-              } else if (!$scope.validObj.unitPrice) {
-                // toaster.pop('error', '单价必须是大于0的数字');
-              } else if (!$scope.validObj.amount) {
-                toaster.pop('error', '请输入正确的数值');
-              }
-            }
+              Authority.getAuthority({resUrl: '/authInquiry/inquiry/buyer/save'}, function (data) {
+                  if (data.status == 'fail') {
+                      toaster.pop('error', data.msg || '系统错误');
+                      return;
+                  } else {
+                      // 校验
+                      if ($scope.checkAll()) {
+                          var materialUrl = seekUrl;
+                          if (seekUrl == 'https://api-inquiry.usoftmall.com') {
+                              materialUrl = 'https://api-product.usoftmall.com/';
+                          }
+                          $http({
+                              method: 'get',
+                              dataType: 'json',
+                              url: materialUrl + '/productuser/match/getKind',
+                              params: {cmpCode: $scope.applyObj.code, brand: $scope.applyObj.brand}
+                          }).success(function (data) {
+                              startRelease(data && data.length ? data : $scope.applyObj.prodTitle);
+                          }).error(function (response) {
+                              startRelease($scope.applyObj.prodTitle);
+                              toaster.pop('error', response || '获取关联类目失败');
+                          });
+                      } else {
+                          if (!$scope.validObj.deadline) {
+                              toaster.pop('error', '截止日期不能为空');
+                          } else if (!$scope.validObj.unitPrice) {
+                              // toaster.pop('error', '单价必须是大于0的数字');
+                          } else if (!$scope.validObj.amount) {
+                              toaster.pop('error', '请输入正确的数值');
+                          }
+                      }
+                  }
+              });
           }
 
           // 立即购买
@@ -584,9 +591,16 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
             });
             // 查看报价
             if (status == 2 && $scope.offerCount != 0) {
-              $scope.offer = seek.qutations;
-              clearSeekStatus();
-              seek.$status = status;
+                Authority.getAuthority({resUrl: '/authInquiry/inquiry/getQuotations'}, function (data) {
+                    if (data.status == 'fail') {
+                        toaster.pop('error', data.msg || '系统错误');
+                        return;
+                    } else {
+                        $scope.offer = seek.qutations;
+                        clearSeekStatus();
+                        seek.$status = status;
+                    }
+                });
             } else if (status == 1 && $scope.goodsCount != 0) {// 查看现货
               clearSeekStatus();
               initFragments();
@@ -914,25 +928,32 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
             // if(($scope.bomFiles == null) || ($scope.bomFiles.length == 0)) {
             //   return ;
             // }
-            var file = angular.element('#uploadCommodity')[0].files[0];
-            console.info(file);
-            if(!file) {
-              toaster.pop('info', '请选择需要上传的文件');
-              return;
-            }
-            $upload.upload({
-              url: 'seek/importBom',
-              file: file,
-              method: 'POST'
-            }).success(function(data) {
-              if (data.success) {
-                window.location.href = "applyPurchase/" + data.data;
-              } else {
-                toaster.pop('error', data.message);
-              }
-            }).error(function(response) {
-              toaster.pop('error', response.data);
-            });
+              Authority.getAuthority({resUrl: '/seek/importBom'}, function (data) {
+                  if (data.status == 'fail') {
+                      toaster.pop('error', data.msg || '系统错误');
+                      return;
+                  } else {
+                      var file = angular.element('#uploadCommodity')[0].files[0];
+                      console.info(file);
+                      if(!file) {
+                          toaster.pop('info', '请选择需要上传的文件');
+                          return;
+                      }
+                      $upload.upload({
+                          url: 'seek/importBom',
+                          file: file,
+                          method: 'POST'
+                      }).success(function(data) {
+                          if (data.success) {
+                              window.location.href = "applyPurchase/" + data.data;
+                          } else {
+                              toaster.pop('error', data.message);
+                          }
+                      }).error(function(response) {
+                          toaster.pop('error', response.data);
+                      });
+                  }
+              });
           };
 
           // 搜索
@@ -993,7 +1014,14 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
           }
 
           $scope.toBomdetail = function(id) {
-            window.location.href = 'user#/bomDetail/' + id
+              Authority.getAuthority({resUrl: '/authInquiry/inquiry/public/findInquiryById'}, function (data) {
+                  if (data.status == 'fail') {
+                      toaster.pop('error', data.msg || '系统错误');
+                      return;
+                  } else {
+                      window.location.href = 'user#/bomDetail/' + id;
+                  }
+              });
           }
           // 分享移入
           $scope.setShowShare = function(seek, index) {

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

@@ -19,7 +19,7 @@ define(['app/app'], function(app) {
         }, {
             total : 0,
             getData : function ($defer, params) {
-                const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
                 filter = {};
                 filter.vendUU = $scope.userInfo.enterprise.uu;
 

+ 9 - 3
src/main/webapp/resources/js/vendor/controllers/forstore/purchase_offer_ctrl.js

@@ -1,5 +1,5 @@
 define(['app/app'], function(app) {
-    app.register.controller('purchaseOfferCtrl', ['$scope', '$rootScope', '$stateParams', '$state', 'toaster', 'seekPurchase', 'BaseService', 'ngTableParams', '$modal', '$http', function ($scope, $rootScope, $stateParams, $state, toaster, seekPurchase, BaseService, ngTableParams, $modal, $http) {
+    app.register.controller('purchaseOfferCtrl', ['$scope', '$rootScope', '$stateParams', '$state', 'toaster', 'seekPurchase', 'BaseService', 'ngTableParams', '$modal', '$http', 'Authority', function ($scope, $rootScope, $stateParams, $state, toaster, seekPurchase, BaseService, ngTableParams, $modal, $http, Authority) {
         document.title = '我的报价-优软商城';
         $rootScope.active = 'vendor_seek_purchase';
         $scope.seekPurchaseRate = {};
@@ -13,7 +13,7 @@ define(['app/app'], function(app) {
         }, {
             total : 0,
             getData : function ($defer, params) {
-                const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
                 var filter = {};
                 filter.vendUU = $scope.userInfo.enterprise.uu;
                 // param.enUU = $scope.userInfo.enterprise.uu;
@@ -156,7 +156,13 @@ define(['app/app'], function(app) {
         $scope.linkBoxIndex = -1;
 
         $scope.setLinkBoxIndex = function (index) {
-            $scope.linkBoxIndex = index;
+            Authority.getAuthority({resUrl: '/authInquiry/basic/enterprise/tels'}, function (data) {
+                if (data.status == 'fail') {
+                    toaster.pop('error', data.msg || '系统错误');
+                } else {
+                    $scope.linkBoxIndex = index;
+                }
+            });
         }
       });
     }]);

+ 28 - 22
src/main/webapp/resources/js/vendor/controllers/forstore/seek_purchase_ctrl.js

@@ -1,9 +1,9 @@
 define(['app/app'], function (app) {
   app.register.controller('seekPurchaseCtrl',
       ['$scope', '$location', '$rootScope', '$stateParams', '$state', 'toaster',
-        'seekPurchase', 'BaseService', 'ngTableParams', '$modal', '$upload', '$http',
+        'seekPurchase', 'BaseService', 'ngTableParams', '$modal', '$upload', '$http', 'Authority',
         function ($scope, $location, $rootScope, $stateParams, $state, toaster,
-            seekPurchase, BaseService, ngTableParams, $modal, $upload, $http) {
+            seekPurchase, BaseService, ngTableParams, $modal, $upload, $http, Authority) {
           document.title = '求购询价-优软商城';
           $rootScope.active = 'vendor_seek_purchase';
           $scope.seekPurchaseRate = {};
@@ -33,7 +33,7 @@ define(['app/app'], function (app) {
           }, {
             total: 0,
             getData: function ($defer, params) {
-              const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
               // param.deadline = $scope.deadline;
               // param.status = $scope.status;
               param.keyword = $scope.keyWord;
@@ -309,26 +309,32 @@ define(['app/app'], function (app) {
           $scope.isShowSayPriceBox = false;
           /*设置列表状态*/
           $scope.setSeekActive = function (seek, flag, index) {
-            if (flag) {
-              angular.forEach($scope.seekListData, function (item) {
-                item.$active = false;
-              });
-              $scope.offer = {
-                currency: seek.currency ? seek.currency : "RMB",
-                spId: seek.spId
-              }
-              $scope.inquiryItem = seek;
-              $scope.inquiryItem.leadtime = '';
-              $scope.inquiryItem.replies = [
-                {
-                  lapQty: '',
-                  price: ''
+            Authority.getAuthority({resUrl: '/authInquiry/inquiry/sale/item/save'}, function (data) {
+              if (data.status == 'fail') {
+                toaster.pop('error', data.msg || '系统错误');
+              } else {
+                if (flag) {
+                  angular.forEach($scope.seekListData, function (item) {
+                    item.$active = false;
+                  });
+                  $scope.offer = {
+                    currency: seek.currency ? seek.currency : "RMB",
+                    spId: seek.spId
+                  }
+                  $scope.inquiryItem = seek;
+                  $scope.inquiryItem.leadtime = '';
+                  $scope.inquiryItem.replies = [
+                    {
+                      lapQty: '',
+                      price: ''
+                    }
+                  ];
                 }
-              ];
-            }
-            //seek.$active = flag;
-            $scope.isShowSayPriceBox = flag;
-          }
+                //seek.$active = flag;
+                $scope.isShowSayPriceBox = flag;
+              }
+            });
+          };
 
 
           $scope.onLeadtimeInput = function () {

+ 15 - 9
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_account_management_ctrl.js

@@ -4,7 +4,7 @@
  */
 define(['app/app'], function (app) {
     "use strict";
-    app.register.controller('vendorAccountManagementCtrl', ['$scope', '$rootScope', 'Enterprise', 'User', 'toaster', '$modal', 'BaseService', 'ngTableParams', '$http', 'AuthenticationService', '$stateParams','AccountResource','AccountRole', function ($scope, $rootScope, Enterprise, User, toaster, $modal, BaseService, ngTableParams, $http, AuthenticationService, $stateParams, AccountResource, AccountRole) {
+    app.register.controller('vendorAccountManagementCtrl', ['$scope', '$rootScope', 'Enterprise', 'User', 'toaster', '$modal', 'BaseService', 'ngTableParams', '$http', 'AuthenticationService', '$stateParams','AccountResource','AccountRole', 'Authority', function ($scope, $rootScope, Enterprise, User, toaster, $modal, BaseService, ngTableParams, $http, AuthenticationService, $stateParams, AccountResource, AccountRole, Authority) {
         $rootScope.active = 'vendor_account_management';
         document.title = '账户管理-优软商城';
         $scope.tab = 'base';
@@ -406,14 +406,20 @@ define(['app/app'], function (app) {
          * 变更到更新状态
          */
         $scope.changeToUpdate = function (isUpdate) {
-            if ($rootScope.userInfo.userUU != $rootScope.userInfo.enterprise.enAdminuu) {
-                toaster.pop('error', '您无该模块的编辑权限,请联系企业管理员进行编辑维护!');
-                return;
-            }
-            $scope.updateState = isUpdate;
-            if ($scope.updateState == false) {
-                $scope.enterpriseInfo = angular.copy($scope.enterpriseInfoBackup);
-            }
+            // if ($rootScope.userInfo.userUU != $rootScope.userInfo.enterprise.enAdminuu) {
+            //     toaster.pop('error', '您无该模块的编辑权限,请联系企业管理员进行编辑维护!');
+            //     return;
+            // }
+            Authority.getAuthority({resUrl: '/basic/enterprise/*/updateInfo'}, function (data) {
+                if (data.status == 'fail') {
+                    toaster.pop('error', data.msg || '系统错误');
+                } else {
+                    $scope.updateState = isUpdate;
+                    if ($scope.updateState == false) {
+                        $scope.enterpriseInfo = angular.copy($scope.enterpriseInfoBackup);
+                    }
+                }
+            });
         };
 
           /**

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

@@ -63,7 +63,7 @@ define(['app/app', 'calendar'], function (app) {
 		}, {
 			total : 0,
 			getData : function ($defer, params) {
-				const param = BaseService.parseParams(params.url());
+                var param = BaseService.parseParams(params.url());
 				param.isSend = true;
 				ShippingAddress.pageAddressOfUser(param, {}, function (page) {
 					$scope.isBiggerFive = false;

+ 37 - 25
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_store_maintain_ctrl.js

@@ -1,6 +1,6 @@
 define(['app/app'], function (app) {
 	"use strict";
-	app.register.controller('vendorStoreMaintainCtrl', ['$scope', '$rootScope', 'Enterprise', 'StoreInfo', '$modal', 'toaster', '$timeout', '$state', 'RecommendProductService', function($scope, $rootScope, Enterprise, StoreInfo, $modal, toaster, $timeout, $state, RecommendProductService) {
+	app.register.controller('vendorStoreMaintainCtrl', ['$scope', '$rootScope', 'Enterprise', 'StoreInfo', '$modal', 'toaster', '$timeout', '$state', 'RecommendProductService', 'Authority', function($scope, $rootScope, Enterprise, StoreInfo, $modal, toaster, $timeout, $state, RecommendProductService, Authority) {
 		$rootScope.active = "vendor_store";
 		document.title = '我的店铺-优软商城';
 		// 编辑状态
@@ -141,11 +141,17 @@ define(['app/app'], function (app) {
 		 * @param module	模块名称
 		 */
 		$scope.showEdit = function (module) {
-			if ($rootScope.userInfo.userUU != $rootScope.userInfo.enterprise.enAdminuu) {
-				toaster.pop('error', '您无该模块的编辑权限,请联系企业管理员进行编辑维护!');
-				return;
-			}
-			changeEditStatus(module, true);
+			// if ($rootScope.userInfo.userUU != $rootScope.userInfo.enterprise.enAdminuu) {
+			// 	toaster.pop('error', '您无该模块的编辑权限,请联系企业管理员进行编辑维护!');
+			// 	return;
+			// }
+			Authority.getAuthority({resUrl: '/store-service/stores/*'}, function (data) {
+				if (data.status == 'fail') {
+					toaster.pop('error', data.msg || '系统错误');
+				} else {
+					changeEditStatus(module, true);
+				}
+			});
 		};
 
 		/**
@@ -545,26 +551,32 @@ define(['app/app'], function (app) {
 		$scope.cancleProductEdit = cancleProductEdit;
 
 		function editRecommendProduct(module, status) {
-			if ($rootScope.userInfo.userUU != $rootScope.userInfo.enterprise.enAdminuu) {
-				toaster.pop('error', '您无该模块的编辑权限,请联系企业管理员进行编辑维护!');
-				return;
-			}
-			if (module == 'BATCH_OPERATION') {
-				$scope.canBatchOperation = status;
-				return ;
-			}
-			if (module == 'EDIT_PRODUCTS') {
-				$scope.canEditProduct = status;
-
-				// 扩充products
-				console.log(10 - $scope.recommendProducts.length);
-				for (var i = $scope.recommendProducts.length; i < 10; i++) {
-					$scope.recommendProducts[i] = { exist: false, order: i + 1 };
+			// if ($rootScope.userInfo.userUU != $rootScope.userInfo.enterprise.enAdminuu) {
+			// 	toaster.pop('error', '您无该模块的编辑权限,请联系企业管理员进行编辑维护!');
+			// 	return;
+			// }
+			Authority.getAuthority({resUrl: '/store-service/stores/*'}, function (data) {
+				if (data.status == 'fail') {
+					toaster.pop('error', data.msg || '系统错误');
+				} else {
+					if (module == 'BATCH_OPERATION') {
+						$scope.canBatchOperation = status;
+						return ;
+					}
+					if (module == 'EDIT_PRODUCTS') {
+						$scope.canEditProduct = status;
+
+						// 扩充products
+						console.log(10 - $scope.recommendProducts.length);
+						for (var i = $scope.recommendProducts.length; i < 10; i++) {
+							$scope.recommendProducts[i] = { exist: false, order: i + 1 };
+						}
+						console.log($scope.recommendProducts.length);
+						return ;
+					}
+					return false;
 				}
-				console.log($scope.recommendProducts.length);
-				return ;
-			}
-			return false;
+			});
 		}
 
 		function cancleProductEdit(module) {

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

@@ -1351,7 +1351,7 @@
                         <div>共 <span class="blue-text" ng-bind="bom.amount || 0"></span> 个产品<!--,<span class="red-text" ng-bind="bom.offerAmount || 0">10</span> 个有报价,<span class="red-text" ng-bind="bom.goodsAmount || 0">7</span> 个有现货--></div>
                         <div ng-bind="bom.releaseDate | date:'yyyy-MM-dd HH:mm:ss'"></div>
                     </div>
-                    <a href="user#/bomDetail/{{bom.id}}" class="fr">查看详情</a>
+                    <a class="fr">查看详情</a>
                 </td>
             </tr>
             <tr ng-if="!$data.length" class="empty">

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

@@ -825,7 +825,7 @@
                             <div class="il-box-small il-box">
                                 <!--<div title="{{seek.encapsulation}}" class="item"><span>封装:</span>{{seek.encapsulation || '-'}}</div>-->
                                 <!--<div title="{{seek.produceDate}}" class="item"><span>生产日期:</span>{{seek.produceDate || '-'}}</div>-->
-                                <div title="{{seek.needquantity}}" class="item">{{seek.needquantity || '-'}}</div>
+                                <div title="{{seek.needQty || seek.needquantity}}" class="item">{{seek.needQty || seek.needquantity || '-'}}</div>
                                 <!--<div title="{{seek.currency + seek.unitPrice | currencyStr}}" class="item"><span>单价预算:</span>{{seek.currency + seek.unitPrice | currencyStr}}</div>-->
                             </div>
                         </div>

+ 3 - 3
src/main/webapp/resources/view/vendor/modal/role_detail.html

@@ -384,7 +384,7 @@
 				<span class="tooltip-inner">请描述一下角色的具体职责,内容保持在50个字以内</span>
 			</div>
 		</div>
-		<div class="form-group role-resources" ng-if="role.issys != 1 && role.desc != '普通用户'">
+		<div class="form-group role-resources" ng-if="role.issys != 1 && role.desc != '普通用户' && role.desc != '店长' ">
 			<label>权限分配</label>
 			<p class="help-block">给角色分配允许操作的资源</p>
 			<div>
@@ -447,14 +447,14 @@
 			</div>
 		</div>
 	</div>
-	<div class="modal-footer" ng-if="role.issys != 1 && role.desc != '普通用户'">
+	<div class="modal-footer" ng-if="role.issys != 1 && role.desc != '普通用户' && role.desc != '店长'">
 		<button class="mall-default-btn mall-btn-cancel" ng-click="cancel()" type="button">取消</button>
 		<button class="mall-default-btn mall-btn-delete"
 			ng-show="role.id && role.isdefault == 0" ng-click="del()" type="button">删除角色</button>
 		<button class="mall-default-btn mall-btn-submit"
 				ng-disabled="roleForm.$invalid || !isChanged(role)" type="submit">确认</button>
 	</div>
-	<div class="modal-footer" ng-if="!(role.issys != 1 && role.desc != '普通用户')">
+	<div class="modal-footer" ng-if="!(role.issys != 1 && role.desc != '普通用户' && role.desc != '店长')">
 		<button class="btn btn-default" ng-click="cancel()" type="button">关闭</button>
 	</div>
 </form>