Просмотр исходного кода

邀请注册接口增加兼容处理,手机端可能存在因为登录ERP所以获取不到UU号的问题,进行兼容处理

hejq 8 лет назад
Родитель
Сommit
6517b9f7b1

+ 19 - 5
src/main/java/com/uas/platform/b2b/model/InvitationRecord.java

@@ -49,6 +49,12 @@ public class InvitationRecord implements Serializable {
 	@OneToOne(cascade = { CascadeType.MERGE, CascadeType.REFRESH })
 	@JoinColumn(name = "in_useruu", insertable = false, updatable = false)
 	private UserBaseInfo user;
+
+	/**
+	 * 邀请人联系方式
+	 */
+	@Column(name = "in_usertel")
+	private String userTel;
 	
 	/**
 	 * 最后一次邀请时间
@@ -57,25 +63,25 @@ public class InvitationRecord implements Serializable {
 	private Date date;
 
 	/**
-	 * 邀请的客户名称
+	 * 邀请的客户名称
 	 */
 	@Column(name = "in_vendname")
 	private String vendname;
 
 	/**
-	 * 邀请的用户名称
+	 * 邀请的用户名称
 	 */
 	@Column(name = "in_vendusername")
 	private String vendusername;
 
 	/**
-	 * 邀请的用户的电话
+	 * 邀请的用户的电话
 	 */
 	@Column(name = "in_vendusertel")
 	private String vendusertel;
 
 	/**
-	 * 邀请的用户的邮箱
+	 * 邀请的用户的邮箱
 	 */
 	@Column(name = "in_venduseremail")
 	private String venduseremail;
@@ -168,7 +174,15 @@ public class InvitationRecord implements Serializable {
 		this.useruu = useruu;
 	}
 
-	public Date getDate() {
+    public String getUserTel() {
+        return userTel;
+    }
+
+    public void setUserTel(String userTel) {
+        this.userTel = userTel;
+    }
+
+    public Date getDate() {
 		return date;
 	}
 

+ 89 - 9
src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java

@@ -1,9 +1,13 @@
 package com.uas.platform.b2b.v2.controller;
 
 import com.alibaba.fastjson.JSON;
+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.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.v2.model.Invitation;
 import com.uas.platform.b2b.v2.service.InviteRecordService;
@@ -41,14 +45,26 @@ public class InviteRecordController {
     @Autowired
     private SearchService searchService;
 
+    @Autowired
+    private EnterpriseService enterpriseService;
+
+    @Autowired
+    private UserService userService;
+
     /**
      * 通过传入的企业名称检验企业注册情况
      *
-     * @param name 输入的企业名称
+     * @param name 需要校验的企业名称
+     * @param enUU 访问的企业UU
+     * @param userUU 访问的用户UU
+     * @param userTel 访问的用户电话
+     * @param businessCode 访问的企业营业执照
      * @return
      */
     @RequestMapping(value = "/checkEnName", method = RequestMethod.GET)
-    private List<EnterpriseBaseInfo> checkByName(String name, Long enUU, Long userUU) {
+    private List<EnterpriseBaseInfo> checkByName(String name, Long enUU, Long userUU, String userTel, String businessCode) {
+        enUU = checkByBusinessCode(enUU, businessCode);
+        userUU = checkByUserTel(userUU, userTel);
         logger.log("邀请注册", "校验企业名称", name, userUU, enUU);
         return inviteRecordService.checkByName(name);
     }
@@ -60,10 +76,14 @@ public class InviteRecordController {
      * @param keyword 搜索关键词
      * @param enUU 企业UU
      * @param userUU 用户UU
+     * @param businessCode 企业营业执照
+     * @param userTel 用户电话
      * @return
      */
     @RequestMapping(value = "/records", method = RequestMethod.GET)
-    private SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageParams params, String keyword) {
+    private SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageParams params, String keyword, String userTel, String businessCode) {
+        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);
@@ -77,10 +97,14 @@ public class InviteRecordController {
      * @param keyword 搜索关键词
      * @param enUU 企业UU
      * @param userUU 用户UU
+     * @param businessCode 营业执照
+     * @param userTel 用户电话
      * @return
      */
     @RequestMapping(value = "/records", params = RequestState.DONE, method = RequestMethod.GET)
-    private SPage<InvitationRecord> getInviteRecordsDone(Long enUU, Long userUU, PageParams params, String keyword) {
+    private SPage<InvitationRecord> getInviteRecordsDone(Long enUU, Long userUU, PageParams params, String keyword, String businessCode, String userTel) {
+        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);
@@ -95,10 +119,14 @@ public class InviteRecordController {
      * @param keyword 搜索关键词
      * @param enUU 企业UU
      * @param userUU 用户UU
+     * @param userTel 用户电话
+     * @param businessCode 营业执照
      * @return
      */
     @RequestMapping(value = "/records", params = RequestState.TODO, method = RequestMethod.GET)
-    private SPage<InvitationRecord> getInviteRecordsTodo(Long enUU, Long userUU, PageParams params, String keyword) {
+    private SPage<InvitationRecord> getInviteRecordsTodo(Long enUU, Long userUU, PageParams params, String keyword, String businessCode, String userTel) {
+        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);
@@ -115,6 +143,10 @@ public class InviteRecordController {
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     private ModelMap addInvitation(String jsonStr) {
         InvitationRecord record = JSON.parseObject(jsonStr, InvitationRecord.class);
+        Long enUU = checkByBusinessCode(record.getEnuu(), record.getBussinesscode());
+        Long userUU = checkByUserTel(record.getUseruu(), record.getUserTel());
+        record.setEnuu(enUU);
+        record.setUseruu(userUU);
         if (null == record.getEnuu() || null == record.getUseruu()) {
             throw new IllegalAccessError("企业UU和用户UU不能为空");
         }
@@ -129,10 +161,14 @@ public class InviteRecordController {
      *
      * @param userUU 用户UU
      * @param enUU 企业UU
+     * @param businessCode 企业营业执照
+     * @param userTel 用户电话
      * @return
      */
     @RequestMapping(value = "/count", method = RequestMethod.GET)
-    private ModelMap getInvationCount(Long userUU, Long enUU) {
+    private ModelMap getInvationCount(Long userUU, Long enUU, String businessCode, String userTel) {
+        enUU = checkByBusinessCode(enUU, businessCode);
+        userUU = checkByUserTel(userUU, userTel);
         logger.log("邀请注册", "分类获取邀请总数", null, userUU, enUU);
         return inviteRecordService.getInvationCount(userUU, enUU);
     }
@@ -146,7 +182,9 @@ public class InviteRecordController {
      * @return
      */
     @RequestMapping(value = "/count/groupBydate", method = RequestMethod.GET)
-    private List<Invitation> getCountGroupByDate(Long userUU, Long enUU, String year) {
+    private List<Invitation> getCountGroupByDate(Long userUU, Long enUU, String year, String businessCode, String userTel) {
+        enUU = checkByBusinessCode(enUU, businessCode);
+        userUU = checkByUserTel(userUU, userTel);
         if (StringUtils.isEmpty(year)) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
             year = sdf.format(new Date());
@@ -164,11 +202,15 @@ public class InviteRecordController {
      * @param inviteUserName 邀请的用户姓名
      * @param inviteUserTel 邀请的用户电话
      * @param app 应用来来源
+     * @param businessCode 营业执照
+     * @param userTel 用户电话
      * @return
      * @throws Exception
      */
     @RequestMapping(value = "/addpartner", method = RequestMethod.POST)
-    private ModelMap addPartner(Long userUU, Long enUU, Long inviteEnUU, String inviteUserName, String inviteUserTel, String app) throws Exception {
+    private ModelMap addPartner(Long userUU, Long enUU, Long inviteEnUU, String inviteUserName, String inviteUserTel, String app, String businessCode, String userTel) throws Exception {
+        enUU = checkByBusinessCode(enUU, businessCode);
+        userUU = checkByUserTel(userUU, userTel);
         if (StringUtils.isEmpty(userUU) || StringUtils.isEmpty(enUU) || StringUtils.isEmpty(inviteEnUU) || StringUtils.isEmpty(app)) {
             throw new IllegalOperatorException("参数异常");
         }
@@ -189,7 +231,9 @@ public class InviteRecordController {
      * @return
      */
     @RequestMapping(value = "/invite/batch", method = RequestMethod.POST)
-    private ModelMap inviteByBatch(Long enUU, Long userUU, String invitations, String source) {
+    private ModelMap inviteByBatch(Long enUU, Long userUU, String invitations, String source, String userTel, String businessCode) {
+        enUU = checkByBusinessCode(enUU, businessCode);
+        userUU = checkByUserTel(userUU, userTel);
         if (StringUtils.isEmpty(enUU) || StringUtils.isEmpty(userUU)) {
             throw new IllegalAccessError("企业UU或用户UU不能为空");
         }
@@ -197,4 +241,40 @@ public class InviteRecordController {
         logger.log("邀请注册", "批量新增邀请,来源" + source, invitations.length() > 1000 ? invitations.substring(0, 1000).concat("...") : invitations, userUU, enUU);
         return inviteRecordService.inviteByBatch(enUU, userUU, records, source);
     }
+
+
+    /**
+     * 通过手机号校验用户信息
+     *
+     * @param userUU 用户UU
+     * @param userTel 用户手机号
+     * @return
+     */
+    private Long checkByUserTel(Long userUU, String userTel) {
+        if (null != userTel) {
+            User user = userService.findUserByUserTel(userTel);
+            userUU = user.getUserUU();
+        }
+        return userUU;
+    }
+
+    /**
+     * 通过营业执照校验企业信息
+     *
+     * @param enUU 企业UU
+     * @param businessCode 营业执照
+     * @return
+     */
+    private Long checkByBusinessCode(Long enUU, String businessCode) {
+        if (null != businessCode) {
+            Enterprise enterprise = enterpriseService.findByenBussinessCode(businessCode);
+            if (null == enterprise) {
+                throw new IllegalOperatorException(businessCode + "对应的企业不存在");
+            } else {
+                enUU = enterprise.getUu();
+            }
+        }
+        return enUU;
+    }
+
 }