فهرست منبع

邀请注册增加QQ分享功能

hejq 8 سال پیش
والد
کامیت
342da954be

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

@@ -1,10 +1,13 @@
 package com.uas.platform.b2b.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2b.core.util.ContextUtils;
 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.search.SearchService;
 import com.uas.platform.b2b.service.InvitationRecordService;
+import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageParams;
@@ -19,7 +22,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 @RestController
@@ -124,13 +129,21 @@ public class InvitationRecordController {
 	 * @return
 	 */
 	@RequestMapping(value = "/enterpriseList/{name}", method = RequestMethod.GET)
-	private List<Enterprise> getEnterpriseListByName(@PathVariable String name) {
+	private List<EnterpriseBaseInfo> getEnterpriseListByName(@PathVariable String name) {
 		return invitationRecordService.findByName(name);
 	}
 
-	@RequestMapping(value = "/setenterprise/{uu}", method = RequestMethod.POST)
-	private ModelMap setenterprise(@PathVariable Long uu) {
-		return null;
-
+	/**
+	 * 获取邀请链接接口
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/inviteUrl", method = RequestMethod.GET)
+	private ModelMap setenterprise() {
+        String url = ContextUtils.getBean(SysConf.class).getRegisterUrl();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        url = url + "?inviteUserCode=" + SystemSession.getUser().getUserUU() + "&inviteuid="
+                + SystemSession.getUser().getEnterprise().getEnBussinessCode() + "&invitationTime=" + sdf.format(new Date()) + "&source=B2B";
+		return new ModelMap("url", url);
 	}
 }

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

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.service;
 
 import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
@@ -40,7 +41,7 @@ public interface InvitationRecordService {
 	 * @param name
 	 * @return
 	 */
-	public List<Enterprise> findByName(String name);
+	public List<EnterpriseBaseInfo> findByName(String name);
 
 	/**
 	 * 再次邀请

+ 5 - 33
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -579,37 +579,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 						spacetDetail.setUu(enterprises.get(0).getUu());
 					}
 				}
-				spacetDetail.setAddress(detail.getAddress());
-				spacetDetail.setAdminEmail(detail.getAdminEmail());
-				spacetDetail.setAdminName(detail.getAdminName());
-				spacetDetail.setAdminTel(detail.getAdminTel());
-				spacetDetail.setApplyApps(detail.getApplyApps());
-				spacetDetail.setApproveStatus(detail.getApproveStatus());
-				spacetDetail.setArea(detail.getArea());
-				spacetDetail.setBusinessCode(detail.getBusinessCode());
-				spacetDetail.setBusinessCodeImage(detail.getBusinessCodeImage());
-				spacetDetail.setCity(detail.getCity());
-				spacetDetail.setCorporation(detail.getCorporation());
-				spacetDetail.setDistrict(detail.getDistrict());
-				spacetDetail.setErrMsg(detail.getErrMsg());
-				spacetDetail.setFax(detail.getFax());
-				spacetDetail.setId(detail.getId());
-				spacetDetail.setIndustry(detail.getIndustry());
-				spacetDetail.setLogoImage(detail.getLogoImage());
-				spacetDetail.setName(detail.getName());
-				spacetDetail.setProvince(detail.getProvince());
-				spacetDetail.setRegisterDate(detail.getRegisterDate());
-				spacetDetail.setShortName(detail.getShortName());
-				spacetDetail.setStatus(detail.getStatus());
-				spacetDetail.setStreet(detail.getStreet());
-				spacetDetail.setTel(detail.getTel());
-				spacetDetail.setType(detail.getType());
-				spacetDetail.setUrl(detail.getUrl());
-				spacetDetail.setContactEmail(detail.getContactEmail());
-				spacetDetail.setContactTel(detail.getContactTel());
-				spacetDetail.setContactMan(detail.getContactMan());
-				spacetDetail.setProfession(detail.getProfession());
-				spacetDetail.setTags(detail.getTags());
+				BeanUtils.copyProperties(detail, spacetDetail);
 				RequsetStatus request = AccountUtils.getStatusByCustUidAndVendUid(spacetDetail.getBusinessCode(),
 						SystemSession.getUser().getEnterprise().getEnBussinessCode());
 				if (request != null) {
@@ -624,9 +594,11 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 				}
 				spaceDetails.add(spacetDetail);
 			}
-			userSpaceDetails.setContent(spaceDetails);
-			userSpaceDetails.setTotalElement(details.getTotalElement());
 		}
+		userSpaceDetails.setContent(spaceDetails);
+		userSpaceDetails.setTotalElement(details.getTotalElement());
+		userSpaceDetails.setPage(details.getPage());
+		userSpaceDetails.setSize(details.getSize());
 		return userSpaceDetails;
 	}
 

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

@@ -6,6 +6,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
@@ -222,8 +223,23 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 	}
 
 	@Override
-	public List<Enterprise> findByName(String name) {
-		return enterpriseDao.findByEnName(name);
+	public List<EnterpriseBaseInfo> findByName(String name) {
+		List<EnterpriseBaseInfo> baseInfoList = new ArrayList<EnterpriseBaseInfo>();
+		List<Enterprise> enterprises = enterpriseDao.findByEnName(name);
+		if (!CollectionUtils.isEmpty(enterprises)) {
+			for (Enterprise e : enterprises) {
+				EnterpriseBaseInfo baseInfo = new EnterpriseBaseInfo(e);
+				List<InvitationRecord> records = findbyVendName(e.getEnName());
+				if (!CollectionUtils.isEmpty(records)) {
+					Enterprise enterprise = enterpriseDao.findOne(records.get(0).getEnuu());
+					baseInfo.setInviteEnName(enterprise.getEnName());
+					String userName = records.get(0).getUser() != null ? records.get(0).getUser().getUserName() : null;
+					baseInfo.setInviteUserName(userName);
+				}
+				baseInfoList.add(baseInfo);
+			}
+		}
+		return baseInfoList;
 	}
 
 	/**

BIN
src/main/webapp/resources/img/icon/qq.png


+ 46 - 7
src/main/webapp/resources/js/index/app.js

@@ -1360,24 +1360,63 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         }
     }]);
 
-    app.controller('InviteCtrl', ['$scope', 'toaster', '$modalInstance', 'enname', function ($scope, toaster, $modalInstance, enname) {
+    app.controller('InviteCtrl', ['$scope', 'toaster', '$modalInstance', 'enname', 'InvitationRecord', '$modal', function ($scope, toaster, $modalInstance, enname, InvitationRecord, $modal) {
         $scope.enter = {
             vendname: enname
         };
 
         $scope.save = function (enter) {
-            if (!enter.vendusertel) {
-                toaster.pop('info', '提示', '请填写手机号,方便通知客户');
-            } else {
-                $modalInstance.close(enter);
-            }
+            // 先检验是否已注册
+            InvitationRecord.enterpriseList({name: enter.vendname}, {},  function(data) {
+                $scope.existEn = data;
+                if ($scope.existEn.length == 0) {
+                    $modalInstance.close(enter);
+                    var modalInstance = $modal.open({
+                        animation: true,
+                        templateUrl: 'static/tpl/index/baseInfo/modal/QQshare_modal.html',
+                        controller: 'QQShareCtrl',
+                    });
+                }
+            });
         }
 
+        $scope.viewDetail = function() {
+            $scope.exist = 1;
+        }
         $scope.cancel = function () {
             $modalInstance.dismiss();
         }
+
     }]);
 
+    /**
+     * QQ分享
+     */
+    app.controller('QQShareCtrl', ['$scope', 'InvitationRecord', function($scope, InvitationRecord) {
+        InvitationRecord.getInviteUrl({}, function(data) {
+            $scope.inviteUrl = data.url;
+            var p = {
+                url: $scope.inviteUrl, /*获取URL,可加上来自分享到QQ标识,方便统计*/
+                // desc: 'hejq', /*分享理由(风格应模拟用户对话),支持多分享语随机展现(使用|分隔)*/
+                // title: '', /*分享标题(可选)*/
+                // summary: '', /*分享摘要(可选)*/
+                // pics: '', /*分享图片(可选)*/
+                // flash: '', /*视频地址(可选)*/
+                // site: '', /*分享来源(可选) 如:QQ分享*/
+                // style: '201',
+                // width: 32,
+                // height: 32
+            };
+            var s = [];
+            for(var i in p){
+                s.push(i + '=' + encodeURIComponent(p[i]||''));
+            }
+            s.join('&');
+            $scope.QQshare = function() {
+                window.open("http://connect.qq.com/widget/shareqq/index.html?" + s)
+            }
+        });
+    }]);
 
     app.controller('ReInviteCtrl', ['$scope', 'toaster', '$modalInstance', 'id', 'InvitationRecord', function ($scope, toaster, $modalInstance, id, InvitationRecord) {
 
@@ -21396,7 +21435,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
     }]);
 
     // 企业圈查询收到待处理的数目
-    app.controller('RequestAmountCtrl', ['$scope', 'AddPartnerMyRequest', '$modal', function ($scope, AddPartnerMyRequest, $modal) {
+    app.controller('RequestAmountCtrl', ['$scope', 'AddPartnerMyRequest', '$modal', 'InvitationRecord', 'toaster', function ($scope, AddPartnerMyRequest, $modal, InvitationRecord, toaster) {
         AddPartnerMyRequest.requestAmount({}, function (data) {
             $scope.requestTodo = data;
         });

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

@@ -449,6 +449,13 @@ define(['ngResource'], function() {
 			},
 			getRecordById: {
                 url: 'invitationrecord/record/:id',
+                method: 'GET'
+			},
+            /**
+			 * 获取邀请链接
+             */
+			getInviteUrl: {
+                url: 'invitationrecord/inviteUrl',
                 method: 'GET'
 			}
 		})

+ 19 - 2
src/main/webapp/resources/tpl/index/search/enterpirseInfo.html

@@ -12,16 +12,33 @@
 <link rel="stylesheet" href="static/css/add.css " />
 <!--B2B商务账号设置-个人信息-->
 <div class="bomb-box">
-	<div class="box01 box" >
+	<div class="box01 box" ng-if="exist != 1 || exist == null">
 		<p>邀请合作伙伴</p>
 		<form class="per-data" name="contactInfo" id="contactInfo">
 			<ul>
 				<li><em>企业名称</em><input type="text" placeholder="企业名称" ng-model="enter.vendname" required="true"></li>
+				<li ng-if="existEn">{{enter.vendname}}已存在,<span ng-click="viewDetail()">查看详情</span></li>
 				<li><em>联系人</em><input type="text" placeholder="客户姓名"  ng-model="enter.vendusername" required="true"></li>
-				<li><em>手机</em><input type="text" placeholder="手机" ng-model="enter.vendusertel" ng-pattern="/^1(3|4|5|7|8)\d{9}$/"></li>
+				<li><em>手机</em><input type="text" placeholder="手机" ng-model="enter.vendusertel" ng-pattern="/^1(3|4|5|7|8)\d{9}$/" required="true"></li>
 				<li class="text-inverse"><em></em>提示:请输入正确的企业名称,系统将根据企业名称自动建立合作伙伴关系</li>
 				<li class="per-btn"><button ng-click="save(enter)" class="save" ng-disabled="contactInfo.$invalid">发出邀请</button><a ng-click="cancel()" class="mod-psd">取消</a></li>
 			</ul>
 		</form>
 	</div>
+	<div class="box01 box" ng-if="exist == 1">
+		<p>企业详情</p>
+		<form class="per-data" name="contactInfo" id="contactInfo">
+			<ul ng-repeat="e in existEn">
+                <li><em>企业名称</em><sapn ng-bind="e.enName"></sapn></li>
+                <li><em>地址</em><sapn ng-bind="e.enAddress"></sapn></li>
+                <li><em>法人</em><sapn ng-bind="e.enCorporation"></sapn></li>
+                <li><em>管理员</em><sapn ng-bind="e.adminName"></sapn></li>
+                <li><em>联系电话</em><sapn ng-bind="e.enTel"></sapn></li>
+                <li><em>注册日期</em><sapn ng-bind="e.date"></sapn></li>
+                <li><em>邀请人</em><sapn ng-bind="e.inviteUserName"></sapn></li>
+                <li><em>邀请企业</em><sapn ng-bind="e.inviteEnName"></sapn></li>
+                <li><a class="mod-psd" ng-click="cancel()">关闭</a></li>
+			</ul>
+		</form>
+	</div>
 </div>