Parcourir la source

客户分配,供应商分配获取数据方法更新,优化加载效率;去掉客户界面鼠标移入获取数据事件

hejq il y a 7 ans
Parent
commit
e992e29308

+ 2 - 1
src/main/java/com/uas/platform/b2b/controller/UserController.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.controller;
 
 import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.model.UserInfo;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.service.UserService;
@@ -95,7 +96,7 @@ public class UserController {
 	 */
 	@RequestMapping(value = "/customer/{uu}", method = RequestMethod.POST)
 	@ResponseBody
-	public List<User> getUsersAndDistribute(@PathVariable("uu") Long custUu) {
+	public List<UserBaseInfo> getUsersAndDistribute(@PathVariable("uu") Long custUu) {
         LOGGER.log("用户信息", "查询[" + custUu +"]客户分配信息");
 		return userService.findUserInfoDistribute(custUu);
 	}

+ 2 - 1
src/main/java/com/uas/platform/b2b/controller/VendorDistributeController.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.controller;
 
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.result.ResultCode;
 import com.uas.platform.b2b.result.ResultMap;
 import com.uas.platform.b2b.service.VendorService;
@@ -70,7 +71,7 @@ public class VendorDistributeController {
      * @return
      */
     @RequestMapping(value = "/{id}", method = RequestMethod.POST)
-    public List<User> getUsersAndDistribute(@PathVariable("id") Long id) throws IllegalAccessException {
+    public List<UserBaseInfo> getUsersAndDistribute(@PathVariable("id") Long id) throws IllegalAccessException {
         LOGGER.log("用户信息", "查询[" + id +"]供应商分配信息");
         return vendorService.findUserInfoVendDistribute(id);
     }

+ 21 - 6
src/main/java/com/uas/platform/b2b/dao/UserBaseInfoDao.java

@@ -4,26 +4,41 @@ import java.util.List;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import com.uas.platform.b2b.model.UserBaseInfo;
 
+/**
+ * 用户基本信息Dao层
+ * @author US50
+ */
 @Repository
 public interface UserBaseInfoDao extends JpaSpecificationExecutor<UserBaseInfo>, JpaRepository<UserBaseInfo, Long> {
 
 	/**
 	 * 通过uu号查询基本用户信息
 	 * 
-	 * @param userUU
-	 * @return
+	 * @param userUU 用户UU
+	 * @return 查询结果
 	 */
-	public UserBaseInfo findByUserUU(Long userUU);
+    UserBaseInfo findByUserUU(Long userUU);
 
 	/**
 	 * 通过电话号码查询用户信息
 	 * 
-	 * @param userTel
-	 * @return
+	 * @param userTel 电话
+	 * @return 查询结果
 	 */
-	public List<UserBaseInfo> findByUserTel(String userTel);
+    List<UserBaseInfo> findByUserTel(String userTel);
+
+    /**
+     * 按企业ID和查找个人
+     *
+     * @param enUU 企业UU
+     * @return List<User>
+     */
+    @Query(value = "select u.* from sec$users u inner join sec$userenterprise as e on u.user_uu = e.user_uu where e.en_uu = :enUU", nativeQuery = true)
+    List<UserBaseInfo> findByEnUU(@Param("enUU") long enUU);
 }

+ 52 - 3
src/main/java/com/uas/platform/b2b/model/UserBaseInfo.java

@@ -7,6 +7,7 @@ import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 
 import org.hibernate.annotations.Cache;
 import org.hibernate.annotations.CacheConcurrencyStrategy;
@@ -23,32 +24,65 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
 public class UserBaseInfo implements Serializable {
 
 	/**
-	 * 
+	 * serialVersionUID
 	 */
 	private static final long serialVersionUID = 1L;
 
+    /**
+     * 用户UU
+     */
 	@Id
 	@Column(name = "user_uu")
 	private Long userUU;
 
+    /**
+     * 用户姓名
+     */
 	@Column(name = "user_name")
 	private String userName;
-	
+
+    /**
+     * 密码
+     */
 	@Column(name = "user_pwd")
 	private String userPwd;
 
+    /**
+     * 邮箱
+     */
 	@Column(name = "user_email")
 	private String userEmail;
 
+    /**
+     * 电话
+     */
 	@Column(name = "user_tel")
 	private String userTel;
 
+    /**
+     * 性别
+     */
 	@Column(name = "user_sex")
 	private String userSex;
-	
+
+    /**
+     * imid
+     */
 	@Column(name = "user_imid")
 	private Long userIMId;
 
+    /**
+     * 判断是否被分配
+     */
+    @Transient
+    private boolean distribute;
+
+    /**
+     * 判断是否被转移权限
+     */
+    @Transient
+    private boolean transfer;
+
 	public Long getUserUU() {
 		return userUU;
 	}
@@ -105,4 +139,19 @@ public class UserBaseInfo implements Serializable {
 		this.userIMId = userIMId;
 	}
 
+    public boolean isDistribute() {
+        return distribute;
+    }
+
+    public void setDistribute(boolean distribute) {
+        this.distribute = distribute;
+    }
+
+    public boolean isTransfer() {
+        return transfer;
+    }
+
+    public void setTransfer(boolean transfer) {
+        this.transfer = transfer;
+    }
 }

+ 4 - 3
src/main/java/com/uas/platform/b2b/service/UserService.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.service;
 import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.model.UserInfo;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.core.model.PageInfo;
@@ -263,7 +264,7 @@ public interface UserService {
 	 * @param enUu
 	 * @return
 	 */
-	public List<User> findUserInfoDistribute(Long enUu);
+    List<UserBaseInfo> findUserInfoDistribute(Long enUu);
 
 	/**
 	 * 为客户分配企业用户
@@ -272,7 +273,7 @@ public interface UserService {
 	 * @param users
 	 * @return
 	 */
-	public boolean addUserToVendor(Long custUU, List<User> users);
+    boolean addUserToVendor(Long custUU, List<User> users);
 
 	/**
 	 * 将客户权限转移给用户(管理员操作)
@@ -293,7 +294,7 @@ public interface UserService {
 	/**
 	 * 判断当前企业是否为优企云服用户
 	 */
-	public boolean isNotSaas(Long uu);
+    boolean isNotSaas(Long uu);
 
 	/**
 	 * 按关键词查询用户信息

+ 3 - 1
src/main/java/com/uas/platform/b2b/service/VendorService.java

@@ -4,6 +4,7 @@ import com.uas.platform.b2b.erp.model.VendorRecommend;
 import com.uas.platform.b2b.model.Distribute;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.VendorContact;
 import com.uas.platform.core.model.PageInfo;
@@ -205,6 +206,7 @@ public interface VendorService {
      *
      * @param vendUU 供应商UU
      * @return 分配的供应商
+     * @throws IllegalAccessException
      */
-    List<User> findUserInfoVendDistribute(Long vendUU) throws IllegalAccessException;
+    List<UserBaseInfo> findUserInfoVendDistribute(Long vendUU) throws IllegalAccessException;
 }

+ 7 - 3
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -4,6 +4,7 @@ import com.uas.message.mail.service.MailService;
 import com.uas.platform.b2b.dao.DistributeDao;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.RoleDao;
+import com.uas.platform.b2b.dao.UserBaseInfoDao;
 import com.uas.platform.b2b.dao.UserDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.model.Distribute;
@@ -11,6 +12,7 @@ import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.Role;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.model.UserInfo;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.service.UserService;
@@ -80,6 +82,8 @@ public class UserServiceImpl implements UserService {
 	private MailService mailService;
 	@Autowired
 	private MessageConf messageConf;
+	@Autowired
+    private UserBaseInfoDao userBaseInfoDao;
 
 	static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
 
@@ -827,12 +831,12 @@ public class UserServiceImpl implements UserService {
 	}
 
 	@Override
-	public List<User> findUserInfoDistribute(Long enUu) {
+	public List<UserBaseInfo> findUserInfoDistribute(Long enUu) {
 		List<Distribute> butes = vendorService.findUserInfo(enUu);
-		List<User> users = userDao.findByEnUU(SystemSession.getUser().getEnterprise().getUu());
+		List<UserBaseInfo> users = userBaseInfoDao.findByEnUU(SystemSession.getUser().getEnterprise().getUu());
 		if (!CollectionUtils.isEmpty(users)) {
 			if (!CollectionUtils.isEmpty(butes)) {
-				for (User u : users) {
+				for (UserBaseInfo u : users) {
 					for (Distribute d : butes) {
 						if (u.getUserUU().equals(d.getUserUU())) {
 							u.setDistribute(true);

+ 9 - 3
src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java

@@ -4,6 +4,8 @@ import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.DistributeDao;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.RoleDao;
+import com.uas.platform.b2b.dao.UserBaseInfoDao;
+import com.uas.platform.b2b.dao.UserDao;
 import com.uas.platform.b2b.dao.VendorContactDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.dao.VendorDistributeDao;
@@ -16,6 +18,7 @@ import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.Role;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.VendorContact;
 import com.uas.platform.b2b.model.VendorDistribute;
@@ -88,6 +91,9 @@ public class VendorsServiceImpl implements VendorService {
     @Autowired
     private RoleDao roleDao;
 
+    @Autowired
+    private UserBaseInfoDao userBaseInfoDao;
+
     /**
      * 应用来源
      */
@@ -130,7 +136,7 @@ public class VendorsServiceImpl implements VendorService {
 	@Override
 	public List<Distribute> findUserInfo(Long custUU) {
 		List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(custUU, SystemSession.getUser().getEnterprise().getUu());
-		List<Long> ids = new ArrayList<Long>();
+		List<Long> ids = new ArrayList<>();
 		if (!CollectionUtils.isEmpty(vendors)) {
 			for (Vendor v : vendors) {
 				ids.add(v.getId());
@@ -678,10 +684,10 @@ public class VendorsServiceImpl implements VendorService {
      * @return 分配的供应商
      */
     @Override
-    public List<User> findUserInfoVendDistribute(Long veId) throws IllegalAccessException {
+    public List<UserBaseInfo> findUserInfoVendDistribute(Long veId) throws IllegalAccessException {
         checkAuthority(veId);
         List<VendorDistribute> distributes = vendorDistributeDao.findByVendorId(veId);
-        List<User> users = userService.findUsersByEnUU(SystemSession.getUser().getEnterprise().getUu());
+        List<UserBaseInfo> users = userBaseInfoDao.findByEnUU(SystemSession.getUser().getEnterprise().getUu());
         users.forEach(user -> {
             distributes.forEach(distribute -> {
                 if (user.getUserUU().equals(distribute.getUserUU())) {

+ 1 - 1
src/main/webapp/resources/tpl/index/sale/customer.html

@@ -127,7 +127,7 @@
 					<th width="100">用户分配</th>
 				</tr>
 			</thead>
-			<tbody ng-repeat="customer in $data" ng-mouseenter="showUserInfo(customer,true)" ng-mouseleave="showUserInfo(customer,false)">
+			<tbody ng-repeat="customer in $data">
 					<tr>
 						<td class="text-center"><a ng-click="viewDetail(customer.id)" title="查看客户资料" ng-bind="::customer.myEnterprise.enName" class="color32 order-detail"></a></td>
 						<td class="text-center" ng-bind="::customer.myEnterprise.enAddress"></td>