Pārlūkot izejas kodu

邀请注册相关更新: 数据查询搜索改为JPA方式;页面数据加载增加加载状态显示

hejq 7 gadi atpakaļ
vecāks
revīzija
fcb7329153

+ 18 - 23
src/main/java/com/uas/platform/b2b/controller/InvitationRecordController.java

@@ -13,19 +13,17 @@ import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.search.b2b.model.SPage;
-import com.uas.search.b2b.model.Sort;
-import com.uas.search.b2b.model.Sort.Type;
-import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -93,13 +91,12 @@ public class InvitationRecordController {
 	 */
 	@RequestMapping(value = "/records", method = RequestMethod.GET)
 	private SPage<InvitationRecord> getRecords(PageParams params, String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-		pageParams.getFilters().put("in_useruu", SystemSession.getUser().getUserUU());
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("in_date", false, Type.INT, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         logger.log("邀请注册", "查询邀请记录(个人)");
-		return invitationRecordService.getRecords(pageParams, keyword);
+        PageInfo pageInfo = new PageInfo(params);
+        Sort sort = new Sort(Sort.Direction.DESC, "date");
+        pageInfo.setSort(sort);
+        pageInfo.filter("useruu", SystemSession.getUser().getUserUU());
+		return invitationRecordService.getRecords(pageInfo, keyword);
 	}
 
 	/**
@@ -109,13 +106,12 @@ public class InvitationRecordController {
 	 */
 	@RequestMapping(value = "/recordsByEn", method = RequestMethod.GET)
 	private SPage<InvitationRecord> getRecordsByEn(PageParams params, String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-		pageParams.getFilters().put("in_enuu", SystemSession.getUser().getEnterprise().getUu());
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("in_date", false, Type.INT, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         logger.log("邀请注册", "查询邀请记录(企业)");
-		return invitationRecordService.getRecords(pageParams, keyword);
+        PageInfo pageInfo = new PageInfo(params);
+        Sort sort = new Sort(Sort.Direction.DESC, "date");
+        pageInfo.setSort(sort);
+        pageInfo.filter("enuu", SystemSession.getUser().getEnterprise().getUu());
+		return invitationRecordService.getRecords(pageInfo, keyword);
 	}
 
 	/**
@@ -125,14 +121,13 @@ public class InvitationRecordController {
 	 */
 	@RequestMapping(value = "/activeRecordsByEn", method = RequestMethod.GET)
 	private SPage<InvitationRecord> getActiveRecordsByEn(PageParams params, String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-		pageParams.getFilters().put("in_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("in_active", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("in_date", false, Type.INT, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         logger.log("邀请注册", "查询邀请记录(企业)--已激活");
-		return invitationRecordService.getRecords(pageParams, keyword);
+        PageInfo pageInfo = new PageInfo(params);
+        Sort sort = new Sort(Sort.Direction.DESC, "date");
+        pageInfo.setSort(sort);
+        pageInfo.filter("enuu", SystemSession.getUser().getEnterprise().getUu());
+        pageInfo.filter("active", Constant.YES);
+		return invitationRecordService.getRecords(pageInfo, keyword);
 	}
 
 	/**

+ 20 - 31
src/main/java/com/uas/platform/b2b/publicapi/controller/InviteRecordController.java

@@ -7,20 +7,19 @@ import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.publicapi.model.Invitation;
 import com.uas.platform.b2b.publicapi.service.InviteRecordService;
-import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.EnterpriseService;
-import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.CommBufferedLogger;
+import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
 import com.uas.ps.core.util.StringUtils;
 import com.uas.search.b2b.model.SPage;
-import com.uas.search.b2b.model.Sort;
-import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
 import org.springframework.expression.AccessException;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,7 +29,6 @@ import org.springframework.web.bind.annotation.RestController;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -48,15 +46,9 @@ public class InviteRecordController {
 
     private final static CommBufferedLogger logger = BufferedLoggerManager.getLogger(CommBufferedLogger.class);
 
-    @Autowired
-    private SearchService searchService;
-
     @Autowired
     private EnterpriseService enterpriseService;
 
-    @Autowired
-    private UserService userService;
-
     /**
      * 通过传入的企业名称检验企业注册情况
      *
@@ -91,12 +83,11 @@ public class InviteRecordController {
         enUU = checkByBusinessCode(enUU, businessCode);
         userUU = checkByUserTel(userUU, userTel);
         logger.log("邀请注册", "查询邀请记录", "关键字:" + keyword, userUU, enUU);
-        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-        pageParams.getFilters().put("in_useruu", userUU);
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("in_date", false, Sort.Type.INT, new Long(1)));
-        pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-        return inviteRecordService.getInviteRecords(enUU, userUU, pageParams, keyword);
+        PageInfo pageInfo = new PageInfo(params);
+        Sort sort = new Sort(Sort.Direction.DESC, "date");
+        pageInfo.setSort(sort);
+        pageInfo.filter("useruu", SystemSession.getUser().getUserUU());
+        return inviteRecordService.getInviteRecords(enUU, userUU, pageInfo, keyword);
     }
 
     /**
@@ -115,13 +106,12 @@ public class InviteRecordController {
         enUU = checkByBusinessCode(enUU, businessCode);
         userUU = checkByUserTel(userUU, userTel);
         logger.log("邀请注册", "查询邀请记录(已注册)", "关键字:" + keyword, userUU, enUU);
-        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-        pageParams.getFilters().put("in_useruu", userUU);
-        pageParams.getFilters().put("in_active", Constant.YES);
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("in_date", false, Sort.Type.INT, new Long(1)));
-        pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-        return inviteRecordService.getInviteRecords(enUU, userUU, pageParams, keyword);
+        PageInfo pageInfo = new PageInfo(params);
+        Sort sort = new Sort(Sort.Direction.DESC, "date");
+        pageInfo.setSort(sort);
+        pageInfo.filter("useruu", SystemSession.getUser().getUserUU());
+        pageInfo.filter("active", Constant.YES);
+        return inviteRecordService.getInviteRecords(enUU, userUU, pageInfo, keyword);
     }
 
     /**
@@ -140,13 +130,12 @@ public class InviteRecordController {
         enUU = checkByBusinessCode(enUU, businessCode);
         userUU = checkByUserTel(userUU, userTel);
         logger.log("邀请注册", "查询邀请记录(未注册)", "关键字:" + keyword, userUU, enUU);
-        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-        pageParams.getFilters().put("in_useruu", userUU);
-        pageParams.getFilters().put("in_active", Constant.NO);
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("in_date", false, Sort.Type.INT, new Long(1)));
-        pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-        return inviteRecordService.getInviteRecords(enUU, userUU, pageParams, keyword);
+        PageInfo pageInfo = new PageInfo(params);
+        Sort sort = new Sort(Sort.Direction.DESC, "date");
+        pageInfo.setSort(sort);
+        pageInfo.filter("useruu", SystemSession.getUser().getUserUU());
+        pageInfo.filter("active", Constant.NO);
+        return inviteRecordService.getInviteRecords(enUU, userUU, pageInfo, keyword);
     }
 
     /**

+ 3 - 3
src/main/java/com/uas/platform/b2b/publicapi/service/InviteRecordService.java

@@ -3,7 +3,7 @@ package com.uas.platform.b2b.publicapi.service;
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.publicapi.model.Invitation;
-import com.uas.search.b2b.model.PageParams;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.search.b2b.model.SPage;
 import org.springframework.ui.ModelMap;
 
@@ -27,13 +27,13 @@ public interface InviteRecordService {
     /**
      * 获取邀请记录
      *
-     * @param params 分页参数
+     * @param pageInfo 分页参数
      * @param keyword 搜索关键词
      * @param enUU 企业UU
      * @param userUU 用户UU
      * @return
      */
-    SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageParams params, String keyword);
+    SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageInfo pageInfo, String keyword);
 
     /**
      * 分类获取邀请数量

+ 6 - 6
src/main/java/com/uas/platform/b2b/publicapi/service/impl/InviteRecordServiceImpl.java

@@ -10,17 +10,17 @@ import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.publicapi.model.Invitation;
+import com.uas.platform.b2b.publicapi.service.InviteRecordService;
 import com.uas.platform.b2b.service.EnterpriseService;
 import com.uas.platform.b2b.service.InvitationRecordService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.MessageConf;
 import com.uas.platform.b2b.support.SendMsgUtils;
-import com.uas.platform.b2b.publicapi.model.Invitation;
-import com.uas.platform.b2b.publicapi.service.InviteRecordService;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.NotFoundException;
 import com.uas.platform.core.model.Constant;
-import com.uas.search.b2b.model.PageParams;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.search.b2b.model.SPage;
 import com.uas.sso.entity.PartnershipRecordView;
 import com.uas.sso.util.AccountUtils;
@@ -97,15 +97,15 @@ public class InviteRecordServiceImpl implements InviteRecordService {
     /**
      * 获取邀请记录
      *
-     * @param params 分页参数
+     * @param pageInfo 分页参数
      * @param keyword 搜索关键词
      * @param enUU 企业UU
      * @param userUU 用户UU
      * @return
      */
     @Override
-    public SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageParams params, String keyword) {
-        return invitationRecordService.getRecords(params, keyword);
+    public SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageInfo pageInfo, String keyword) {
+        return invitationRecordService.getRecords(pageInfo, keyword);
     }
 
     /**

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

@@ -2,7 +2,7 @@ package com.uas.platform.b2b.service;
 
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
-import com.uas.search.b2b.model.PageParams;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.search.b2b.model.SPage;
 import org.springframework.ui.ModelMap;
 
@@ -28,11 +28,11 @@ public interface InvitationRecordService {
 	/**
 	 * 获取邀请记录
 	 * 
-	 * @param params
-	 * @param keyword
+	 * @param pageInfo 分页参数
+	 * @param keyword 关键字
 	 * @return
 	 */
-	public SPage<InvitationRecord> getRecords(PageParams params, String keyword);
+	SPage<InvitationRecord> getRecords(PageInfo pageInfo, String keyword);
 
 	/**
 	 * 通过名称查询企业信息

+ 48 - 18
src/main/java/com/uas/platform/b2b/service/impl/InvitationRecordServiceImpl.java

@@ -10,22 +10,28 @@ import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.ps.ProductUtils;
-import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.InvitationRecordService;
-import com.uas.platform.b2b.support.MessageConf;
-import com.uas.platform.b2b.support.SendMsgUtils;
-import com.uas.platform.b2b.support.SysConf;
-import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.support.*;
 import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.persistence.criteria.CriterionExpression;
+import com.uas.platform.core.persistence.criteria.LogicalExpression;
+import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
-import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
 import com.uas.sso.util.AccountUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -46,9 +52,6 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 	@Autowired
 	private MessageConf messageConf;
 
-	@Autowired
-	private SearchService searchService;
-
 	@Autowired
 	private EnterpriseDao enterpriseDao;
 
@@ -63,6 +66,11 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
      */
     final String spaceRegisterSign = "enterpriseRegistration";
 
+    /**
+     * UU号正则表达式
+     */
+    static final String UU_REGEXP = "^\\d{4,}$";
+
 	@Override
 	public ModelMap invite(InvitationRecord record) {
 		ModelMap map = new ModelMap();
@@ -234,12 +242,37 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 	}
 
 	@Override
-	public SPage<InvitationRecord> getRecords(PageParams params, String keyword) {
-		SPage<InvitationRecord> invitatrecords = new SPage<InvitationRecord>();
-		try {
-			invitatrecords = searchService.getInvitationByKeyword(keyword, params);
-		} catch (Exception e) {
-		}
+	public SPage<InvitationRecord> getRecords(PageInfo pageInfo, String keyword) {
+        if (!StringUtils.isEmpty(keyword)) {
+            SimpleExpression vendName = new SimpleExpression("vendname", keyword, CriterionExpression.Operator.LIKE);
+            SimpleExpression vendUserName = new SimpleExpression("vendusername", keyword, CriterionExpression.Operator.LIKE);
+            SimpleExpression vendUserTel = new SimpleExpression("vendusertel", keyword, CriterionExpression.Operator.LIKE);
+            SimpleExpression vendUserEmail = new SimpleExpression("venduseremail", keyword, CriterionExpression.Operator.LIKE);
+            SimpleExpression userName = new SimpleExpression("user.userName", keyword, CriterionExpression.Operator.LIKE);
+            SimpleExpression userTel = new SimpleExpression("user.userTel", keyword, CriterionExpression.Operator.LIKE);
+            List<SimpleExpression> expressionList = new ArrayList<>();
+            expressionList.add(vendName);
+            expressionList.add(vendUserName);
+            expressionList.add(vendUserTel);
+            expressionList.add(vendUserEmail);
+            expressionList.add(userName);
+            expressionList.add(userTel);
+            if (keyword.matches(UU_REGEXP)) {
+                SimpleExpression userUU = new SimpleExpression("user.userUU", keyword, CriterionExpression.Operator.LIKE);
+                expressionList.add(userUU);
+            }
+            SimpleExpression[] expressions = expressionList.toArray(new SimpleExpression[expressionList.size()]);
+            LogicalExpression logical = new LogicalExpression(expressions, CriterionExpression.Operator.OR);
+            pageInfo.expression(logical);
+        }
+		Page<InvitationRecord> recordPage = invitationRecordDao.findAll(new Specification<InvitationRecord>() {
+            @Override
+            public Predicate toPredicate(Root<InvitationRecord> root, CriteriaQuery<?> query,
+                                         CriteriaBuilder builder) {
+                return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
+            }
+        }, pageInfo);
+		SPage<InvitationRecord> invitatrecords = SPageUtils.covertSPage(recordPage);
 		if (!CollectionUtils.isEmpty(invitatrecords.getContent())) {
             for (InvitationRecord record : invitatrecords.getContent()) {
             	if (null != record.getVenduu()) {
@@ -265,9 +298,6 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 					invitationRecordDao.save(record);
 				}
             }
-            // 按邀请时间排序
-            Comparator<InvitationRecord> comparator = Comparator.comparing(InvitationRecord::getDate);
-			invitatrecords.getContent().sort(comparator.reversed());
         }
 		return invitatrecords;
 	}

+ 3 - 0
src/main/webapp/resources/tpl/index/baseInfo/invitation.html

@@ -122,6 +122,9 @@
 <div style=" background: #fff;" id="myquest-public">
 <div ng-include src="'static/tpl/index/baseInfo/addPartnerAndRecord.html'"></div>
 <link rel="stylesheet" href="static/css/public.css">
+<div class="loading in" ng-class="{'in': loading}">
+	<i></i>
+</div>
 <div id="public" style="background: #f5f5f5;">
 	<div style="margin-top: -55px;">
 		<div class="col-xs-6" style="float: left;"></div>