فهرست منبع

增加邀请记录查询

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8415 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 سال پیش
والد
کامیت
e77c5f53fc

+ 13 - 0
src/main/java/com/uas/platform/b2b/search/SearchController.java

@@ -13,6 +13,7 @@ import com.uas.account.entity.UserSpaceDetail;
 import com.uas.platform.b2b.model.Component;
 import com.uas.platform.b2b.model.DeputyOrder;
 import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.model.MakeAccept;
 import com.uas.platform.b2b.model.MakeOrder;
 import com.uas.platform.b2b.model.MakeOrderChangeItem;
@@ -409,6 +410,18 @@ public class SearchController {
 		return searchService.getVendorByEnname(enName);
 	}
 
+	/**
+	 * 通过关键词查询邀请记录
+	 * 
+	 * @param keyword
+	 * @return
+	 */
+	@RequestMapping(value = "/getInvitationByKeyword", method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<InvitationRecord> getInvitationByKeyword(String keyword, PageParams pageParams) {
+		return searchService.getInvitationByKeyword(keyword, pageParams);
+	}
+
 	/**
 	 * 供应商联想词
 	 * 

+ 9 - 0
src/main/java/com/uas/platform/b2b/search/SearchService.java

@@ -7,6 +7,7 @@ import com.uas.account.entity.UserSpaceDetail;
 import com.uas.platform.b2b.model.Component;
 import com.uas.platform.b2b.model.DeputyOrder;
 import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.model.MakeAccept;
 import com.uas.platform.b2b.model.MakeOrder;
 import com.uas.platform.b2b.model.MakeOrderChangeItem;
@@ -421,4 +422,12 @@ public interface SearchService {
 	 * @return
 	 */
 	public SPage<PurcInquiryItemInfo> searchPurcInquiryItemCheckIds(String keyword, PageParams pageParams);
+
+	/**
+	 * 通过关键词查询邀请记录
+	 * 
+	 * @param keyword
+	 * @return
+	 */
+	public SPage<InvitationRecord> getInvitationByKeyword(String keyword, PageParams pageParams);
 }

+ 114 - 16
src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java

@@ -1,10 +1,107 @@
 package com.uas.platform.b2b.search;
 
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
 import com.alibaba.fastjson.JSONObject;
 import com.uas.account.entity.UserSpaceDetail;
 import com.uas.account.util.AccountUtils;
-import com.uas.platform.b2b.dao.*;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.dao.BrandDao;
+import com.uas.platform.b2b.dao.ComponentDao;
+import com.uas.platform.b2b.dao.DeputyOrderDao;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.InvitationRecordDao;
+import com.uas.platform.b2b.dao.MakeAcceptDao;
+import com.uas.platform.b2b.dao.MakeOrderChangeItemDao;
+import com.uas.platform.b2b.dao.MakeOrderDao;
+import com.uas.platform.b2b.dao.MakeReturnDao;
+import com.uas.platform.b2b.dao.PagingReleaseDetailDao;
+import com.uas.platform.b2b.dao.ProductDao;
+import com.uas.platform.b2b.dao.PurcInquiryDao;
+import com.uas.platform.b2b.dao.PurcInquiryItemInfoDao;
+import com.uas.platform.b2b.dao.PurchaseAcceptDao;
+import com.uas.platform.b2b.dao.PurchaseApBillDao;
+import com.uas.platform.b2b.dao.PurchaseApCheckDao;
+import com.uas.platform.b2b.dao.PurchaseBadInDao;
+import com.uas.platform.b2b.dao.PurchaseBadOutDao;
+import com.uas.platform.b2b.dao.PurchaseForecastAllDao;
+import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
+import com.uas.platform.b2b.dao.PurchaseInquiryMouldDao;
+import com.uas.platform.b2b.dao.PurchaseMRBDao;
+import com.uas.platform.b2b.dao.PurchaseNoticeDao;
+import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
+import com.uas.platform.b2b.dao.PurchaseOrderChangeDao;
+import com.uas.platform.b2b.dao.PurchaseOrderDoneDao;
+import com.uas.platform.b2b.dao.PurchaseOrderEndDao;
+import com.uas.platform.b2b.dao.PurchaseOrderTodoDao;
+import com.uas.platform.b2b.dao.PurchaseOrderWaitingDao;
+import com.uas.platform.b2b.dao.PurchaseProofingApprovalDao;
+import com.uas.platform.b2b.dao.PurchaseProofingItemDao;
+import com.uas.platform.b2b.dao.PurchaseProofingSendDao;
+import com.uas.platform.b2b.dao.PurchaseReturnDao;
+import com.uas.platform.b2b.dao.PurchaseTenderDao;
+import com.uas.platform.b2b.dao.SaleARCheckDao;
+import com.uas.platform.b2b.dao.SaleQuotationAllDao;
+import com.uas.platform.b2b.dao.SaleSendAllDao;
+import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.platform.b2b.model.Brand;
+import com.uas.platform.b2b.model.Component;
+import com.uas.platform.b2b.model.DeputyOrder;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.InvitationRecord;
+import com.uas.platform.b2b.model.MakeAccept;
+import com.uas.platform.b2b.model.MakeOrder;
+import com.uas.platform.b2b.model.MakeOrderChangeItem;
+import com.uas.platform.b2b.model.MakeReturn;
+import com.uas.platform.b2b.model.PagingReleaseDetail;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurcInquiry;
+import com.uas.platform.b2b.model.PurcInquiryItemInfo;
+import com.uas.platform.b2b.model.PurchaseAccept;
+import com.uas.platform.b2b.model.PurchaseApBill;
+import com.uas.platform.b2b.model.PurchaseApCheck;
+import com.uas.platform.b2b.model.PurchaseBadIn;
+import com.uas.platform.b2b.model.PurchaseBadOut;
+import com.uas.platform.b2b.model.PurchaseForecastAll;
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryMould;
+import com.uas.platform.b2b.model.PurchaseMRB;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+import com.uas.platform.b2b.model.PurchaseOrderChange;
+import com.uas.platform.b2b.model.PurchaseOrderDone;
+import com.uas.platform.b2b.model.PurchaseOrderEnd;
+import com.uas.platform.b2b.model.PurchaseOrderTodo;
+import com.uas.platform.b2b.model.PurchaseOrderWaiting;
+import com.uas.platform.b2b.model.PurchaseProofingApproval;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+import com.uas.platform.b2b.model.PurchaseProofingSend;
+import com.uas.platform.b2b.model.PurchaseReturn;
+import com.uas.platform.b2b.model.PurchaseTender;
+import com.uas.platform.b2b.model.PurchaseTenderProd;
+import com.uas.platform.b2b.model.SaleARCheck;
+import com.uas.platform.b2b.model.SaleQuotationAll;
+import com.uas.platform.b2b.model.SaleSendAll;
+import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.persistence.criteria.PredicateFactory;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
@@ -12,19 +109,6 @@ import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.service.SearchService.Table_name;
 import com.uas.search.b2b.util.SearchConstants;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.lang.reflect.Field;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * 搜索实现
@@ -153,7 +237,13 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Autowired
 	private PurcInquiryItemInfoDao purcInquiryItemInfoDao;
 
-	private static final Integer SIMILAR_NUM = 10;  // 联想词size
+	@Autowired
+	private InvitationRecordDao invitationRecordDao;
+
+	/**
+	 * 联想词size
+	 */
+	private static final Integer SIMILAR_NUM = 10;
 
 	/**
 	 * 企业圈资料最大返回值页码设置为100
@@ -906,4 +996,12 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 		return toSPage(idsPage, content);
 	}
 
+	@Override
+	public SPage<InvitationRecord> getInvitationByKeyword(String keyword, PageParams pageParams) {
+		SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.INVITATIONRECORDS, pageParams);
+		List<InvitationRecord> content = invitationRecordDao.findAll(idsPage.getContent());
+		sortByProperty(content, InvitationRecord.class, "id", idsPage.getContent());
+		return toSPage(idsPage, content);
+	}
+
 }

+ 9 - 0
src/main/java/com/uas/platform/b2b/service/InvitationRecordService.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.service;
 
+import java.util.List;
+
 import org.springframework.ui.ModelMap;
 
 import com.uas.platform.b2b.model.InvitationRecord;
@@ -13,4 +15,11 @@ public interface InvitationRecordService {
 	 * @return
 	 */
 	public ModelMap invite(InvitationRecord record);
+
+	/**
+	 * 得到邀请记录
+	 * 
+	 * @return
+	 */
+	public List<InvitationRecord> getRecords();
 }

+ 24 - 8
src/main/java/com/uas/platform/b2b/service/impl/InvitationRecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.service.impl;
 
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,10 +51,15 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			oldrecord.setVendusertel(record.getVendusertel().trim());
 			oldrecord.setVenduseremail(record.getVenduseremail());
 			invitationRecordDao.save(oldrecord);
-			mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
-			smsService.send(messageConf.getMsgInvitationForB2B(), record.getVendusertel(),
-					new Object[] { record.getVendusername(), record.getVendname(), SystemSession.getUser().getUserName()
-							+ "(" + SystemSession.getUser().getEnterprise().getEnName() + ")" });
+			if (oldrecord.getVenduseremail() != null) {
+				mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
+			}
+			if(oldrecord.getVendusertel()!=null){
+				smsService.send(messageConf.getMsgInvitationForB2B(), record.getVendusertel(),
+						new Object[] { record.getVendusername(), record.getVendname(),
+								SystemSession.getUser().getUserName() + "("
+										+ SystemSession.getUser().getEnterprise().getEnName() + ")" });
+			}
 			map.put("success", "邀请已发送");
 		} else {
 			record.setCount(1);
@@ -61,10 +67,15 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			record.setUseruu(useruu);
 			record.setDate(new Date());
 			record = invitationRecordDao.save(record);
-			mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
-			smsService.send(messageConf.getMsgInvitationForB2B(), record.getVendusertel(),
-					new Object[] { record.getVendusername(), record.getVendname(), SystemSession.getUser().getUserName()
-							+ "(" + SystemSession.getUser().getEnterprise().getEnName() + ")" });
+			if (record.getVenduseremail() != null) {
+				mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
+			}
+			if (record.getVendusertel() != null) {
+				smsService.send(messageConf.getMsgInvitationForB2B(), record.getVendusertel(),
+						new Object[] { record.getVendusername(), record.getVendname(),
+								SystemSession.getUser().getUserName() + "("
+										+ SystemSession.getUser().getEnterprise().getEnName() + ")" });
+			}
 			if (record.getId() != null) {
 				map.put("success", "邀请已发送");
 			} else {
@@ -74,4 +85,9 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 		return map;
 	}
 
+	@Override
+	public List<InvitationRecord> getRecords() {
+		return invitationRecordDao.findByUseruu(SystemSession.getUser().getUserUU());
+	}
+
 }

+ 44 - 0
src/main/webapp/resources/js/index/app.js

@@ -489,6 +489,10 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             url : '/search',
             templateUrl : "static/tpl/index/baseInfo/searchresult.html",
             controller : 'EnterpriseSearchCtrl'
+        }).state('baseInfo.invitation', {
+            url : '/invitation',
+            templateUrl : "static/tpl/index/baseInfo/invitation.html",
+            controller : 'InvitationCtrl'
         }).state('qc', {
             url : "/qc",
             views : {
@@ -1015,6 +1019,46 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		}
 	}]);
 	
+	/**
+	 * 邀请记录
+	 */
+	app.controller('InvitationCtrl', ['$scope', 'toaster', 'InvitationRecord', 'BaseService', 'ngTableParams', function($scope, toaster, InvitationRecord, BaseService, ngTableParams) {
+		BaseService.scrollBackToTop();
+		$scope.status = "invitation";
+
+		$scope.tableParams = new ngTableParams({ // ng-Table参数
+			page : 1,
+			count : 10,
+			sorting: {
+            }
+		}, {
+			total : 0, 
+			counts: [],
+			getData : function($defer, params) { // 获取数据的方法
+				$scope.loading = true;
+				var pageParams = params.url();
+				pageParams.keyword = $scope.keyword;
+				$scope.tip = $scope.keyword;
+				InvitationRecord.records.call(null, BaseService.parseParams(pageParams), function(page){
+					$scope.loading = false;
+					if(page) {
+						params.total(page.totalElement);
+						$defer.resolve(page.content);
+					}
+				}, function(response){
+					$scope.loading = false;
+					toaster.pop('error', '数据加载失败', response.data);
+				});
+			}
+		});
+		
+		$scope.onSearch = function(keyword){
+			$scope.tableParams.page(1);
+  			$scope.tableParams.reload();
+  			$scope.tip = keyword;
+		}
+	}]);
+	
 	app.controller('AuthCtrl', ['$scope', '$window', 'AuthenticationService', 'toaster', 'BaseService', '$modal', function($scope, $window, AuthenticationService, toaster, BaseService, $modal) {
 		$scope.isAuthed = AuthenticationService.isAuthed();		//AuthenticationService模块在common/下
 		

+ 4 - 0
src/main/webapp/resources/js/index/services/BaseInfo.js

@@ -343,6 +343,10 @@ define(['ngResource'], function() {
 			invite: {
 				url: 'invitationrecord/invite',
 				method: 'POST'
+			},
+			records: {
+				url: 'invitationrecord/records',
+				method: 'GET',
 			}
 		})
 	}]);

+ 4 - 0
src/main/webapp/resources/tpl/index/baseInfo/vendorAndCustomer.html

@@ -15,6 +15,10 @@
 					<a type="button" class="btn btn-default btn-line" ui-sref="baseInfo.myRequest"
 						ng-class="{'btn-info':status=='partner'}" style="width: 150px;">新的合作伙伴<b class="new-dot" ng-if="requestTodo.todo>0"></b></a>
 				</div>
+				<div class="btn-group btn-group-sm">
+					<a type="button" class="btn btn-default btn-line" ui-sref="baseInfo.invitation"
+						ng-class="{'btn-info':status=='invitation'}" style="width: 150px;">邀请记录</a>
+				</div>
 			</div>
 		</div>
 	</div>