Browse Source

init from phab

xielq 4 years ago
parent
commit
7dd3c5416b
56 changed files with 1380 additions and 3317 deletions
  1. 0 11
      account-common/pom.xml
  2. 0 21
      account-common/src/main/java/com/uas/account/entity/MasterInfo.java
  3. 1 115
      account-common/src/main/java/com/uas/account/entity/UserSpaceDetail.java
  4. 4 87
      account-common/src/main/java/com/uas/account/util/AccountUtils.java
  5. 15 2
      account-common/src/test/java/com/uas/test/UserSpaceTest.java
  6. 0 11
      account-server/pom.xml
  7. 0 84
      account-server/src/main/java/com/uas/account/controller/InviteController.java
  8. 32 88
      account-server/src/main/java/com/uas/account/controller/UserManagerController.java
  9. 14 73
      account-server/src/main/java/com/uas/account/controller/UserSpaceManagerController.java
  10. 6 15
      account-server/src/main/java/com/uas/account/controller/YunCenterController.java
  11. 1 2
      account-server/src/main/java/com/uas/account/core/Const.java
  12. 0 41
      account-server/src/main/java/com/uas/account/dao/InviteDao.java
  13. 0 104
      account-server/src/main/java/com/uas/account/dao/InviteDaoImpl.java
  14. 0 2
      account-server/src/main/java/com/uas/account/dao/UserSpaceDao.java
  15. 6 17
      account-server/src/main/java/com/uas/account/dao/UserSpaceDaoImpl.java
  16. 0 167
      account-server/src/main/java/com/uas/account/entity/Invite.java
  17. 1 6
      account-server/src/main/java/com/uas/account/service/ApplyUserSpaceServiceImpl.java
  18. 0 44
      account-server/src/main/java/com/uas/account/service/InviteService.java
  19. 0 144
      account-server/src/main/java/com/uas/account/service/InviteServiceImpl.java
  20. 0 3
      account-server/src/main/java/com/uas/account/service/MasterInfoService.java
  21. 0 40
      account-server/src/main/java/com/uas/account/service/MasterInfoServiceImpl.java
  22. 1 1
      account-server/src/main/java/com/uas/account/service/SysDataToMallService.java
  23. 0 8
      account-server/src/main/java/com/uas/account/service/UserService.java
  24. 22 55
      account-server/src/main/java/com/uas/account/service/UserServiceImpl.java
  25. 1 4
      account-server/src/main/java/com/uas/account/service/UserSpaceService.java
  26. 17 37
      account-server/src/main/java/com/uas/account/service/UserSpaceServiceImpl.java
  27. 9 48
      account-server/src/main/java/com/uas/sso/controller/ChangeAdminController.java
  28. 28 10
      account-server/src/main/java/com/uas/sso/controller/IndexController.java
  29. 157 79
      account-server/src/main/java/com/uas/sso/controller/LoginController.java
  30. 146 125
      account-server/src/main/java/com/uas/sso/controller/RegisterController.java
  31. 4 1
      account-server/src/main/java/com/uas/sso/controller/RegisterPersonalController.java
  32. 12 1
      account-server/src/main/java/com/uas/sso/controller/ResetPasswordController.java
  33. 1 5
      account-server/src/main/resources/conf/account.properties
  34. 0 1
      account-server/src/main/webapp/WEB-INF/views/cloudcenter/index.jsp
  35. 0 24
      account-server/src/main/webapp/WEB-INF/views/invite/header.jsp
  36. 0 206
      account-server/src/main/webapp/WEB-INF/views/invite/inviteList.jsp
  37. 373 333
      account-server/src/main/webapp/WEB-INF/views/mobile/sso/register.jsp
  38. 0 1
      account-server/src/main/webapp/WEB-INF/views/sso/login.jsp
  39. 1 1
      account-server/src/main/webapp/WEB-INF/views/sso/reg1.jsp
  40. 2 5
      account-server/src/main/webapp/WEB-INF/views/sso/reg2.jsp
  41. 469 74
      account-server/src/main/webapp/WEB-INF/views/sso/reg3.jsp
  42. 1 1
      account-server/src/main/webapp/WEB-INF/views/sso/reg_mall.jsp
  43. 1 1
      account-server/src/main/webapp/WEB-INF/views/sso/reg_personal.jsp
  44. 0 1
      account-server/src/main/webapp/WEB-INF/webmvc.xml
  45. 10 173
      account-server/src/main/webapp/assets/css/mobile/register.css
  46. 0 304
      account-server/src/main/webapp/assets/css/register1.css
  47. 1 1
      account-server/src/main/webapp/assets/css/sso.css
  48. 4 5
      account-server/src/main/webapp/assets/data/profession.json
  49. 16 27
      account-server/src/main/webapp/assets/js/cloudcenter/index.js
  50. 0 218
      account-server/src/main/webapp/assets/js/invite.js
  51. 17 280
      account-server/src/main/webapp/assets/js/mobile/register.js
  52. 2 24
      account-server/src/main/webapp/assets/js/register.js
  53. 0 64
      sso-core/src/main/java/com/uas/sso/SSOConfig.java
  54. 0 32
      sso-core/src/main/java/com/uas/sso/SSOHelper.java
  55. 0 88
      sso-core/src/main/java/com/uas/sso/service/AbstractSSOService.java
  56. 5 2
      sso-core/src/main/java/com/uas/sso/service/SSOServiceSupport.java

+ 0 - 11
account-common/pom.xml

@@ -37,17 +37,6 @@
 			<artifactId>spring-context</artifactId>
 			<scope>provided</scope>
 		</dependency>
-		<dependency>
-			<groupId>com.uas.sso</groupId>
-			<artifactId>sso-common</artifactId>
-			<version>0.0.1-SNAPSHOT</version>
-			<exclusions>
-				<exclusion>
-					<artifactId>tomcat-embed-core</artifactId>
-					<groupId>org.apache.tomcat.embed</groupId>
-				</exclusion>
-			</exclusions>
-		</dependency>
 		<dependency>
 			<groupId>org.hibernate</groupId>
 			<artifactId>hibernate-validator</artifactId>

+ 0 - 21
account-common/src/main/java/com/uas/account/entity/MasterInfo.java

@@ -7,7 +7,6 @@ package com.uas.account.entity;
  */
 public class MasterInfo {
 
-	private Long id;
 	/**
 	 * 数据库用户名
 	 */
@@ -33,18 +32,6 @@ public class MasterInfo {
 	 */
 	private String platform;
 
-	/**
-	 * 平台
-	 */
-	private String businessCode;
-
-	public Long getId() {
-		return id;
-	}
-
-	public void setId(Long id) {
-		this.id = id;
-	}
 
 	public String getDb_user() {
 		return db_user;
@@ -86,14 +73,6 @@ public class MasterInfo {
 		this.platform = platform;
 	}
 
-	public String getBusinessCode() {
-		return businessCode;
-	}
-
-	public void setBusinessCode(String businessCode) {
-		this.businessCode = businessCode;
-	}
-
 	@Override
 	public String toString() {
 		return "MasterInfo{" +

+ 1 - 115
account-common/src/main/java/com/uas/account/entity/UserSpaceDetail.java

@@ -1,11 +1,8 @@
 package com.uas.account.entity;
 
-import com.uas.sso.entity.*;
-import com.uas.sso.entity.UserView;
 import org.hibernate.validator.constraints.Length;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * 详细企业资料
@@ -88,12 +85,6 @@ public class UserSpaceDetail implements Serializable {
 
     private Long uu;
 
-    private String longitude;
-
-    private String latitude;
-
-    private String registerUrl;
-
     /**
 	 * 注册全称
 	 * 
@@ -590,44 +581,7 @@ public class UserSpaceDetail implements Serializable {
 		this.uu = uu;
 	}
 
-	/**
-	 * 经度
-	 * @return
-	 */
-	public String getLongitude() {
-		return longitude;
-	}
-
-	public void setLongitude(String longitude) {
-		this.longitude = longitude;
-	}
-
-	/**
-	 * 纬度
-	 * @return
-	 */
-	public String getLatitude() {
-		return latitude;
-	}
-
-	public void setLatitude(String latitude) {
-		this.latitude = latitude;
-	}
-
-	/**
-	 * 注册链接
-	 *
-	 * @return
-	 */
-	public String getRegisterUrl() {
-		return registerUrl;
-	}
-
-	public void setRegisterUrl(String registerUrl) {
-		this.registerUrl = registerUrl;
-	}
-
-	/**
+    /**
      * 众创需要的企业的信息
      *
      * @return
@@ -647,72 +601,4 @@ public class UserSpaceDetail implements Serializable {
         detail.setUrl(this.url);
         return detail;
     }
-
-	@Override
-	public String toString() {
-		return "UserSpaceDetail{" +
-				"id=" + id +
-				", name='" + name + '\'' +
-				", shortName='" + shortName + '\'' +
-				", businessCode='" + businessCode + '\'' +
-				", businessCodeImage='" + businessCodeImage + '\'' +
-				", address='" + address + '\'' +
-				", province='" + province + '\'' +
-				", city='" + city + '\'' +
-				", district='" + district + '\'' +
-				", street='" + street + '\'' +
-				", corporation='" + corporation + '\'' +
-				", fax='" + fax + '\'' +
-				", tel='" + tel + '\'' +
-				", registerDate=" + registerDate +
-				", type='" + type + '\'' +
-				", url='" + url + '\'' +
-				", area='" + area + '\'' +
-				", industry='" + industry + '\'' +
-				", domain='" + domain + '\'' +
-				", inviteuid='" + inviteuid + '\'' +
-				", inviteUserCode='" + inviteUserCode + '\'' +
-				", method='" + method + '\'' +
-				", adminName='" + adminName + '\'' +
-				", adminTel='" + adminTel + '\'' +
-				", adminEmail='" + adminEmail + '\'' +
-				", status=" + status +
-				", approveStatus=" + approveStatus +
-				", applyApps='" + applyApps + '\'' +
-				", errMsg='" + errMsg + '\'' +
-				", logoImage='" + logoImage + '\'' +
-				", checkcode='" + checkcode + '\'' +
-				", checkcodeToken='" + checkcodeToken + '\'' +
-				", contactMan='" + contactMan + '\'' +
-				", contactTel='" + contactTel + '\'' +
-				", contactEmail='" + contactEmail + '\'' +
-				", tags='" + tags + '\'' +
-				", profession='" + profession + '\'' +
-				", uu=" + uu +
-				", longitude='" + longitude + '\'' +
-				", latitude='" + latitude + '\'' +
-				", registerUrl='" + registerUrl + '\'' +
-				'}';
-	}
-
-    public UserSpaceView toUserSpaceView(String password) {
-		UserSpaceView us = new UserSpaceView();
-		us.setBusinessCode(this.getBusinessCode());
-		us.setArea(this.getArea());
-		us.setTags(this.getTags());
-		us.setProfession(this.getProfession());
-		us.setBusinessCodeImage(this.getBusinessCodeImage());
-		us.setCorporation(this.getCorporation());
-		us.setLogoImage(this.getLogoImage());
-		us.setRegAddress(this.getAddress());
-		us.setRegisterDate(this.getRegisterDate());
-		us.setSpaceName(this.getName());
-		com.uas.sso.entity.UserView admin = new UserView();
-		admin.setEmail(this.getAdminEmail());
-		admin.setPassword(password);
-		admin.setMobile(this.getAdminTel());
-		admin.setVipName(this.getAdminName());
-		us.setAdmin(admin);
-		return us;
-    }
 }

+ 4 - 87
account-common/src/main/java/com/uas/account/util/AccountUtils.java

@@ -403,27 +403,19 @@ public class AccountUtils {
 		return fuzzyCheckPassword(user);
 	}
 
-	public static void resetPassword(User user) throws Exception {
-		resetPassword(user, null);
-	}
 	/**
 	 * 重置密码
 	 *
 	 * @param user
 	 * @throws Exception
 	 */
-	public static void resetPassword(User user, Integer timeout) throws Exception {
+	public static void resetPassword(User user) throws Exception {
 		String saveUrl = AccountConfig.getUserSaveUrl();
 //		saveUrl = saveUrl + "/resetPwd";
 		if (!StringUtils.isEmpty(saveUrl)) {
 			JSONObject formData = JSON.parseObject(JSON.toJSONString(user));
 			formData.put("_operate", "reset");
-			ResponseWrap res;
-			if (timeout == null) {
-				res = HttpUtil.doGet(saveUrl, formData);
-			} else {
-				res = HttpUtil.doGet(saveUrl, formData, timeout);
-			}
+			ResponseWrap res = HttpUtil.doGet(saveUrl, formData);
 			if (!res.isSuccess())
 				throw new Exception(res.getContent());
 			else {
@@ -696,7 +688,7 @@ public class AccountUtils {
 	 * @throws Exception
 	 */
 	public static List<User> getUserInfoByUid(String uid) throws Exception {
-		String Url = AccountConfig.getUserSaveUrl();
+		String Url = AccountConfig.getSpaceSaveUrl();
 		if (!StringUtils.isEmpty(Url)) {
 			ResponseWrap res = HttpUtil.doGet(Url + "/userInfo",
 					new ModelMap("uid", uid));
@@ -1173,7 +1165,7 @@ public class AccountUtils {
 	 * @return
 	 * @throws Exception
 	 */
-	public static Page<User> findUsersByBusinessCode(String businessCode, int pageNumber, int pageSize) throws Exception {
+	public Page<User> findUsersByBusinessCode(String businessCode, int pageNumber, int pageSize) throws Exception {
 		String url = AccountConfig.getUserSaveUrl();
 		if (!StringUtils.isEmpty(url)) {
 			url = url + "/findByBusinessCode";
@@ -1331,79 +1323,4 @@ public class AccountUtils {
 		}
 		return null;
 	}
-
-    /**
-     * 根据用户uu号获取im数据
-     * @param userUU 用户uu号
-     * @return
-     * @throws Exception
-     */
-	public static UserView getImUserByUserUU(Long userUU, Long spaceUU) throws Exception {
-		String url = AccountConfig.getUserSaveUrl();
-		if (!StringUtils.isEmpty(url)) {
-			url = url + "/info/userUU";
-			ModelMap data = new ModelMap();
-			data.put("userUU", userUU);
-			data.put("spaceUU", spaceUU);
-			ResponseWrap res = HttpUtil.doGet(url, data);
-			if (!res.isSuccess()) {
-				throw new Exception(res.getContent());
-			} else {
-				ResultWrap result = JSON.parseObject(res.getContent(), ResultWrap.class);
-				if (!result.isSuccess()) {
-					return null;
-				} else if (result.getContent() != null) {
-					return JSON.parseObject(result.getContent().toString(), UserView.class);
-				}
-			}
-		}
-		return null;
-	}
-
-
-    /**
-     * 根据用户uu号获取im数据
-     * @param dialectUID 企业uu号
-     * @return
-     * @throws Exception
-     */
-    public static UserSpace findByDialectUID(String dialectUID) throws Exception {
-        String url = AccountConfig.getSpaceSaveUrl();
-        if (!StringUtils.isEmpty(url)) {
-            url = url + "/info/dialectUID";
-            ModelMap data = new ModelMap();
-            data.put("dialectUID", dialectUID);
-            ResponseWrap res = HttpUtil.doGet(url, data);
-            if (!res.isSuccess()) {
-                throw new Exception(res.getContent());
-            } else {
-                ResultWrap result = JSON.parseObject(res.getContent(), ResultWrap.class);
-                if (!result.isSuccess()) {
-                    return null;
-                } else if (result.getContent() != null) {
-                    return JSON.parseObject(result.getContent().toString(), UserSpace.class);
-                }
-            }
-        }
-        return null;
-    }
-
-	public static Page<UserDetail> findAllUserDetail(String name, String mobile, int pageNumber, int pageSize) throws Exception {
-		String getUrl = AccountConfig.getUserSaveUrl();
-		if (!StringUtils.isEmpty(getUrl)) {
-			getUrl = getUrl + "/detail/list";
-			ModelMap data = new ModelMap();
-			data.put("name", name);
-			data.put("mobile", mobile);
-			data.put("pageNumber", pageNumber);
-			data.put("pageSize", pageSize);
-			ResponseWrap res = HttpUtil.doGet(getUrl, data);
-			if (!res.isSuccess()) {
-				throw new Exception(res.getContent());
-			}
-			return JSONObject.parseObject(res.getContent(), new TypeReference<Page<UserDetail>>() {
-			});
-		}
-		return null;
-	}
 }

+ 15 - 2
account-common/src/test/java/com/uas/test/UserSpaceTest.java

@@ -1,14 +1,22 @@
 package com.uas.test;
 
+import com.alibaba.fastjson.JSONObject;
+import com.sun.javafx.collections.MappingChange;
 import com.uas.account.ResultWrap;
 import com.uas.account.entity.ApplyUserSpace;
+import com.uas.account.entity.User;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.StringUtils;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
+import com.uas.account.entity.UserSpaceDetail;
 import com.uas.account.support.Page;
 import com.uas.sso.common.util.HttpUtil;
 import com.uas.sso.common.util.HttpUtil.ResponseWrap;
 
+import java.util.Map;
+
 import static com.alibaba.fastjson.JSON.parseObject;
 
 public class UserSpaceTest {
@@ -28,8 +36,13 @@ public class UserSpaceTest {
 //					System.out.println(u.getName());
 //			}
 //		}
-		String url = "楠岃瘉杩囨湡";
-		ResponseWrap res = HttpUtil.doGet(url);
+		String url = "http://192.168.253.66:8080/api/user";
+		url = url + "/apply/info";
+		ModelMap data = new ModelMap();
+		data.put("mobile", "17770035301");
+		data.put("pageNumber", 1);
+		data.put("pageSize", 20);
+		ResponseWrap res = HttpUtil.doGet(url, data);
 		if (res.isSuccess()) {
 			ResultWrap result = parseObject(res.getContent(), ResultWrap.class);
 			if (!result.isSuccess()) {

+ 0 - 11
account-server/pom.xml

@@ -21,17 +21,6 @@
 			<groupId>com.uas.account</groupId>
 			<artifactId>account-common</artifactId>
 		</dependency>
-		<dependency>
-			<groupId>com.uas.sso</groupId>
-			<artifactId>sso-common</artifactId>
-			<version>0.0.1-SNAPSHOT</version>
-			<exclusions>
-				<exclusion>
-					<artifactId>tomcat-embed-core</artifactId>
-					<groupId>org.apache.tomcat.embed</groupId>
-				</exclusion>
-			</exclusions>
-		</dependency>
 		<dependency>
 			<groupId>org.apache.shiro</groupId>
 			<artifactId>shiro-core</artifactId>

+ 0 - 84
account-server/src/main/java/com/uas/account/controller/InviteController.java

@@ -1,84 +0,0 @@
-package com.uas.account.controller;
-
-import com.uas.account.core.Page;
-import com.uas.account.core.Status;
-import com.uas.account.entity.Invite;
-import com.uas.account.service.InviteService;
-import com.uas.account.web.BaseController;
-import org.springframework.beans.factory.annotation.Autowired;
-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;
-
-/**
- * 邀请注册记录的一些操作
- *
- * Created by hejq on 2018-03-26.
- */
-@RequestMapping("/invite")
-@RestController
-public class InviteController extends BaseController {
-
-    @Autowired
-    private InviteService inviteService;
-
-    /**
-     * 查找所有邀请记录
-     * @return
-     */
-    @RequestMapping(method = RequestMethod.GET)
-    private Page<Invite> findByPageInfo(String name, String adminName, int pageNumber, int pageSize) {
-        return inviteService.findByPageInfo(name, adminName, pageNumber, pageSize, 0);
-    }
-
-    /**
-     * 查找所有邀请记录,信息正常
-     *
-     * @param pageNumber
-     * @param pageSize
-     * @return
-     */
-    @RequestMapping(params = "status=ENABLED", method = RequestMethod.GET)
-    public Page<Invite> findAllEnabledDetail(String name, String adminName, int pageNumber, int pageSize) {
-        return inviteService.findByPageInfo(name, adminName, pageNumber, pageSize, Status.ENABLED.value());
-    }
-
-    /**
-     * 查找所有邀请记录,信息异常
-     *
-     * @param pageNumber
-     * @param pageSize
-     * @return
-     */
-    @RequestMapping(params = "status=DISABLED", method = RequestMethod.GET)
-    public Page<Invite> findAllDisabledDetail(String name, String adminName, int pageNumber, int pageSize) {
-        return inviteService.findByPageInfo(name, adminName, pageNumber, pageSize, Status.DISABLED.value());
-    }
-
-    /**
-     * 通过传入信息更新邀请注册信息
-     *
-     * @param id ac$us$detail id
-     * @param userName 邀请人姓名
-     * @param userTel 邀请人电话
-     * @param inviteEnName 邀请企业
-     * @return
-     */
-    @RequestMapping(value = "/update", method = RequestMethod.POST)
-    public ModelMap updateInvite(Long id, String userName, String userTel, String inviteEnName) {
-        return inviteService.updateInvite(id, userName, userTel, inviteEnName);
-    }
-
-    /**
-     * 根据id获取企业详情
-     *
-     * @param id
-     * @return
-     */
-    @RequestMapping(value = "/detail/{id}", method = RequestMethod.GET)
-    public ModelMap getUserSpaceDetail(@PathVariable("id") Long id) {
-        return success(inviteService.getInviteDetail(id));
-    }
-}

+ 32 - 88
account-server/src/main/java/com/uas/account/controller/UserManagerController.java

@@ -6,20 +6,18 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.sun.org.apache.xpath.internal.operations.Mod;
 import com.uas.account.entity.*;
-import com.uas.account.entity.UserSpaceDetail;
-import com.uas.account.entity.UserView;
 import com.uas.account.service.*;
-import com.uas.sso.common.util.HttpUtil;
-import com.uas.sso.util.AccountUtils;
 import org.apache.commons.codec.binary.Base64;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.alibaba.fastjson.JSON;
@@ -37,9 +35,6 @@ import com.uas.sso.SSOHelper;
 import com.uas.sso.SSOToken;
 import com.uas.sso.common.encrypt.MD5;
 
-import static com.uas.account.util.AccountUtils.findByDialectUID;
-import static com.uas.sso.common.util.HttpUtil.doGet;
-
 @Controller
 @RequestMapping("/api/user")
 public class UserManagerController extends BaseController {
@@ -1192,21 +1187,20 @@ public class UserManagerController extends BaseController {
 	public ModelMap getToken(String appId, String spaceDialectUID, String uid) {
 		App app = appService.findOne(appId);
 		app = app.getUserControl() == null ? app : appService.findOne(app.getUserControl());
-		try {
-			com.uas.sso.entity.UserView userView = AccountUtils.findUserByMobile(uid);
-			if (userView == null) {
-				return error("该用户在优软云没有注册");
-			}
-			try {
-				String token = AccountUtils.getToken(Long.valueOf(spaceDialectUID), userView.getUserUU());
-				return success(token);
-			} catch (Exception e) {
-				throw new RuntimeException(e);
+		User user = userService.findBySpaceDialectUID(app.getUid(), spaceDialectUID, uid);
+		if (user != null) {
+			Token token = new Token(user);
+			tokenService.save(token);
+			return success(token.getId());
+		} else {
+			ModelMap data = new ModelMap();
+			data.put("hasUser", false);
+			UserSpace userSpace = userSpaceService.findByDialectUID(appId, spaceDialectUID);
+			if (userSpace == null) {
+				data.put("hasUserSpace", false);
 			}
-		} catch (Exception e) {
-			e.printStackTrace();
+			return error(data);
 		}
-		return error("请求异常");
 	}
 
 	/**
@@ -1221,21 +1215,25 @@ public class UserManagerController extends BaseController {
 	public ModelMap getMobileToken(String appId, String spaceDialectUID, String uid) {
 		App app = appService.findOne(appId);
 		app = app.getUserControl() == null ? app : appService.findOne(app.getUserControl());
-		try {
-			com.uas.sso.entity.UserView userView = AccountUtils.findUserByMobile(uid);
-			if (userView == null) {
+		User user = userService.findBySpaceDialectUID(app.getUid(), spaceDialectUID, uid);
+		if (user != null) {
+			Token token = new Token(user);
+			tokenService.save(token);
+			return success(token.getId());
+		} else {
+			List<UserView> users = userService.findByAppAndUID("b2b", uid);
+			if (CollectionUtils.isEmpty(users)) {
 				return error("该用户在优软云没有注册");
 			}
-			try {
-				String token = AccountUtils.getToken(Long.valueOf(spaceDialectUID), userView.getUserUU());
-				return success(token);
-			} catch (Exception e) {
-				throw new RuntimeException(e);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
+			user = users.get(0);
+			// 将企业设置成空,代表需要让用户选择企业
+			user.setSpaceId(null);
+			user.setSpaceDialectUID(null);
+			user.setSpaceUID(null);
+			Token token = new Token(user);
+			tokenService.save(token);
+			return success(token.getId());
 		}
-		return error("请求异常");
 	}
 
     /**
@@ -1283,58 +1281,4 @@ public class UserManagerController extends BaseController {
 	public ModelMap findApplyAll(Integer pageNumber, Integer pageSize, String mobile) {
 		return success(applyUserSpaceService.findApplyAllByMobile(pageNumber, pageSize, mobile));
 	}
-
-	@RequestMapping(value = "/info/userUU", method = RequestMethod.GET)
-	@ResponseBody
-	public ModelMap getUserByUserUU(Long userUU, Long spaceUU) {
-		return success(userService.findImByUserUU(userUU, spaceUU));
-	}
-
-	@RequestMapping("/testToken")
-	public ModelMap testToken(String token){
-		Token stoken = tokenService.findOne(token);
-		return success((ModelMap) stoken.getBind());
-	}
-
-    /**
-     * 新账户中心添加用户接口
-     * @param userView 用户信息
-     * @param secondPwd md5加密密码
-     * @return
-     */
-	@RequestMapping(value = "/updateUser", method = RequestMethod.POST)
-    @ResponseBody
-	public ModelMap updateUser(com.uas.sso.entity.UserView userView, String secondPwd) {
-        // 添加用户到详情
-        UserDetail userDetail = userService.findByUU(userView.getUserUU());
-        if (userDetail == null) {
-            userDetail = userService.findOne(userView.getMobile());
-        }
-        if (userDetail == null) {
-            userDetail = new UserDetail();
-        }
-        userDetail.setEmail(userView.getEmail());
-        userDetail.setMobile(userView.getMobile());
-        userDetail.setName(userView.getVipName());
-        userDetail.setUu(String.valueOf(userView.getUserUU()));
-        userService.save(userDetail);
-
-        // 添加im记录
-        List<User> imUsers = userService.findByDialectUID(userView.getImId());
-        User imUser;
-        if (CollectionUtils.isEmpty(imUsers)) {
-            imUser = new User();
-            imUser.setDialectUID(String.valueOf(userView.getImId()));
-            imUser.setAppId("im");
-        } else {
-            imUser = imUsers.get(0);
-        }
-        imUser.setName(userView.getVipName());
-        imUser.setSecondUID(userView.getEmail());
-        imUser.setUid(userView.getMobile());
-        imUser.setPassword(secondPwd);
-        userService.save(imUser);
-
-        return success();
-    }
 }

+ 14 - 73
account-server/src/main/java/com/uas/account/controller/UserSpaceManagerController.java

@@ -1,25 +1,23 @@
 package com.uas.account.controller;
 
-import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
 
-import com.uas.account.AccountConfig;
-import com.uas.account.core.Const;
 import com.uas.account.core.Status;
 import com.uas.account.entity.*;
-import com.uas.account.exception.VisibleError;
 import com.uas.account.service.*;
-import com.uas.sso.common.util.HttpUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
+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.ResponseBody;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -57,8 +55,6 @@ public class UserSpaceManagerController extends BaseController {
 	private SysDataToMallService sysDataToMallService;
 	@Autowired
 	private ApplyUserSpaceService applyUserSpaceService;
-	@Autowired
-	private MasterInfoService masterInfoService;
 
 	/**
 	 * aapid 为 saas
@@ -614,8 +610,10 @@ public class UserSpaceManagerController extends BaseController {
 	 */
 	@RequestMapping(value = "/userInfos", method = RequestMethod.GET)
 	@ResponseBody
-	public void getUserInfos(String tel) throws Exception {
-		response.sendRedirect(Const.NEW_URL + "/api/userspace/userInfos?tel="+tel);
+	public ModelMap getUserInfos(String tel) {
+		List<String> tels = Arrays.asList(tel.split(","));
+		return CollectionUtils.isEmpty(tels) ? new ModelMap("listdata", "请先输入电话号码")
+				: new ModelMap("listdata", userSpaceService.findUserByTel(tels));
 	}
 
 	/**
@@ -626,12 +624,9 @@ public class UserSpaceManagerController extends BaseController {
 	 */
 	@RequestMapping(value = "/userSpaceDetail/keyword", method = RequestMethod.GET)
 	@ResponseBody
-	public void getUserSpaceDetailByKeyword(String keyword, Integer pageNumber) {
-		try {
-			response.sendRedirect(String.format(Const.NEW_URL + "/api/userspace/userSpaceDetail/keyword?keyword=%s&pageNumber=%s", keyword, pageNumber));
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
+	public ModelMap getUserSpaceDetailByKeyword(String keyword, Integer pageNumber) {
+		return StringUtils.isEmpty(keyword) ? new ModelMap("listdata", "请先输入企业名称")
+				: new ModelMap("listdata", userSpaceService.findByKeyword(keyword, pageNumber));
 	}
 
 	/**
@@ -643,12 +638,9 @@ public class UserSpaceManagerController extends BaseController {
 	 */
 	@RequestMapping(value = "/employees", method = RequestMethod.GET)
 	@ResponseBody
-	public void getEmployees(String name, Integer pageNumber) {
-		try {
-			response.sendRedirect(String.format(Const.NEW_URL + "/api/userspace/userSpaceDetail/keyword?keyword=%s&pageNumber=%s", name, pageNumber));
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
+	public ModelMap getEmployees(String name, Integer pageNumber) {
+		return StringUtils.isEmpty(name) ? new ModelMap("listdata", "请先输入企业名称")
+				: new ModelMap("listdata", userService.findByEnName(name, pageNumber));
 	}
 
 	/**
@@ -726,55 +718,4 @@ public class UserSpaceManagerController extends BaseController {
 	public ModelMap applyCount(String businessCode) {
 		return success(applyUserSpaceService.applyCountByBusinessCode(businessCode));
 	}
-
-	/**
-	 * 统计申请已审批和未审批数量
-	 * @param dialectUID 企业uu号
-	 * @return
-	 */
-	@RequestMapping(value = "/info/dialectUID", method = RequestMethod.GET)
-	@ResponseBody
-	public ModelMap findBySpaceUU(String dialectUID) {
-		return success(userSpaceService.findByDialectUID("b2b", dialectUID));
-	}
-
-	@RequestMapping(value = "/info", method = RequestMethod.GET)
-	@ResponseBody
-	public UserSpace findOneByBusinessCode(String businessCode, String name) {
-		return userSpaceService.findOne("b2b", businessCode, name);
-	}
-
-	/**
-	 * 给所有企业开通b2b,营业执照号为唯一标志
-	 * @return
-	 */
-	@RequestMapping("/applyB2B/allUserSpace")
-	public ModelMap applyB2B(@RequestParam(defaultValue = "1") int pageNumber,
-							 @RequestParam(defaultValue = "20")int pageSize) {
-		Page<UserSpaceDetail> page;
-		// 找到所有企业
-		do {
-			page = userSpaceService.findByKeyword(null, pageNumber++, pageSize);
-			int i = 1;
-			for (UserSpaceDetail detail : page.getContent()) {
-				try {
-					UserSpace userSpace = userSpaceService.findOne("b2b", detail.getBusinessCode());
-					if (userSpace == null || StringUtils.isEmpty(userSpace.getDialectUID())) {
-						// 开通应用
-						applyApp("", "b2b", new ApplyAppView());
-						System.out.println(page.getNumber() + "\t" + page.getSize() + "\t" + i++ + "\t" + detail.getName() + "\t" + detail.getBusinessCode() + "\t" + "开通b2b");
-					}
-				} catch (Exception e) {
-					System.out.println(page.getNumber() + "\t" + page.getSize() + "\t" + i++ + "\t" + detail.getName() + "\t" + detail.getBusinessCode() + "\t" + e.getMessage());
-				}
-			}
-		} while (page == null || !page.isLast());
-		return success();
-	}
-
-	@RequestMapping("/getWebsite")
-	@ResponseBody
-	public Page<MasterInfo> getWebsite(@RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "20") int pageSize) {
-		return masterInfoService.findAll(pageNumber, pageSize);
-	}
 }

+ 6 - 15
account-server/src/main/java/com/uas/account/controller/YunCenterController.java

@@ -2,7 +2,6 @@ package com.uas.account.controller;
 
 import com.uas.account.core.Const;
 import com.uas.account.entity.User;
-import com.uas.account.entity.UserSpace;
 import com.uas.account.entity.UserSpaceDetail;
 import com.uas.account.exception.VisibleError;
 import com.uas.account.service.ApplyUserSpaceService;
@@ -12,7 +11,10 @@ import com.uas.account.support.SystemSession;
 import com.uas.account.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
 /**
@@ -38,10 +40,8 @@ public class YunCenterController extends BaseController {
      * @return
      */
     @RequestMapping(method = RequestMethod.GET)
-    public ModelAndView index(String type) {
-        ModelMap data = new ModelMap();
-        data.put("type", type);
-        return new ModelAndView("/cloudcenter/index", data);
+    public ModelAndView index() {
+        return new ModelAndView("/cloudcenter/index");
     }
 
     @RequestMapping(value = "/user/info", method = RequestMethod.GET)
@@ -140,13 +140,4 @@ public class YunCenterController extends BaseController {
 
         return user;
     }
-
-///   开发人员同意申请使用
-//    @RequestMapping(value = "/test/agree/apply", method = RequestMethod.GET)
-//    @ResponseBody
-//    public ModelMap agreeApply(@RequestParam String mobile, @RequestParam String businessCode) {
-//        UserSpace userSpace = userSpaceService.findOne("b2b", businessCode);
-//        applyUserSpaceService.agreeApply(mobile, userSpace.getId(), userSpace.getUid(), userSpace.getDialectUID());
-//        return success();
-//    }
 }

+ 1 - 2
account-server/src/main/java/com/uas/account/core/Const.java

@@ -6,11 +6,10 @@ public class Const {
 
 	public static final int YES = 1;
 
-	public static final String NEW_URL = "https://sso.ubtob.com";
-
 	public static final String REGEXP_MOBILE = "^[1|8][3-8]\\d{9}$|^([6|9])\\d{7}$|^[0][9]\\d{8}$|^[6]([8|6])\\d{5}$|^(886|0)[9]\\d{8}$";
 
 	public static final String REGEXP_EMAIL = "^([\\w-])+(\\.\\w+)*@([\\w-])+((\\.\\w{2,3}){1,3})$";
 
 	public static final String SPACEID_PERSONAL_REGISTER = "1";
+
 }

+ 0 - 41
account-server/src/main/java/com/uas/account/dao/InviteDao.java

@@ -1,41 +0,0 @@
-package com.uas.account.dao;
-
-import com.uas.account.core.Page;
-import com.uas.account.entity.Invite;
-
-/**
- * 邀请注册数据库操作
- *
- * Created by hejq on 2018-03-26.
- */
-public interface InviteDao {
-
-    /**
-     * 通过查询条件分页查询邀请注册记录
-     *
-     * @param name 企业名称
-     * @param adminName 管理员
-     * @param pageNumber 页码
-     * @param pageSize 分页大小
-     * @param value 状态码
-     * @return
-     */
-    Page<Invite> findByPageInfo(String name, String adminName, int pageNumber, int pageSize, int value);
-
-    /**
-     * 通过传入信息更新邀请人信息
-     *
-     * @param id ac$us$detail id
-     * @param inviteUid 邀请企业营业执照
-     * @param inviteUserCode 邀请人编号
-     */
-    void updateInvite(Long id, String inviteUid, String inviteUserCode);
-
-    /**
-     * 根据id查询邀请注册详情
-     *
-     * @param id
-     * @return
-     */
-    Invite findOne(Long id);
-}

+ 0 - 104
account-server/src/main/java/com/uas/account/dao/InviteDaoImpl.java

@@ -1,104 +0,0 @@
-package com.uas.account.dao;
-
-import com.uas.account.core.Page;
-import com.uas.account.core.Status;
-import com.uas.account.entity.Invite;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.DataAccessException;
-import org.springframework.dao.EmptyResultDataAccessException;
-import org.springframework.jdbc.core.BeanPropertyRowMapper;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Repository;
-import org.springframework.util.StringUtils;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * 邀请注册数据库操作
- *
- * Created by hejq on 2018-03-26.
- */
-@Repository
-public class InviteDaoImpl extends BaseDao implements InviteDao {
-
-    @Autowired
-    private JdbcTemplate jdbcTemplate;
-
-    /**
-     * 通过查询条件分页查询邀请注册记录
-     *
-     * @param name       企业名称
-     * @param adminName  管理员
-     * @param pageNumber 页码
-     * @param pageSize   分页大小
-     * @param value      状态码
-     * @return
-     */
-    @Override
-    public Page<Invite> findByPageInfo(String name, String adminName, int pageNumber, int pageSize, int value) {
-        StringBuffer countSql = new StringBuffer("select count(1) from ac$us$detail where 1=1 and status = 313");
-        StringBuffer querySql = new StringBuffer(
-                "select * from (select t.*,rowNum r from (select id,name,address,registerDate,adminName,adminTel,inviteUid,inviteUserCode from ac$us$detail where 1=1 and status = 313");
-        Object[] args = new Object[] {};
-        if (!StringUtils.isEmpty(name)) {
-            querySql.append(" and name like'%").append(name).append("%'");
-            countSql.append(" and name like'%").append(name).append("%'");
-        }
-        if (!StringUtils.isEmpty(adminName)) {
-            querySql.append(" and adminName like'%").append(adminName).append("%'");
-            countSql.append(" and adminName like'%").append(adminName).append("%'");
-        }
-        if (value == Status.ENABLED.value()) {
-            querySql.append(" and nvl(inviteUid, ' ') <> '(null)' and nvl(inviteUserCode, ' ') <> '(null)' and nvl(inviteUid, ' ') <> 'null' and nvl(inviteUserCode, ' ') <> 'null'" +
-                    " and inviteUid is not null and inviteUserCode is not null");
-            countSql.append(" and nvl(inviteUid, ' ') <> '(null)' and nvl(inviteUserCode, ' ') <> '(null)' and nvl(inviteUid, ' ') <> 'null' and nvl(inviteUserCode, ' ') <> 'null'" +
-                    " and inviteUid is not null and inviteUserCode is not null");
-        } else if (value == Status.DISABLED.value()) {
-            querySql.append(" and nvl(inviteUid, ' ') = '(null)' or nvl(inviteUserCode, ' ') = '(null)' and nvl(inviteUid, ' ') = 'null' and nvl(inviteUserCode, ' ') = 'null'");
-            countSql.append(" and nvl(inviteUid, ' ') = '(null)' or nvl(inviteUserCode, ' ') = '(null)' and nvl(inviteUid, ' ') = 'null' and nvl(inviteUserCode, ' ') = 'null'");
-        }
-        int total = count(countSql.toString(), args);
-        querySql.append(" order by registerDate desc) t where rownum <= ?) where r >= ?");
-        args = Arrays.copyOf(args, args.length + 2);
-        args[args.length - 2] = pageNumber * pageSize;
-        args[args.length - 1] = (pageNumber - 1) * pageSize + 1;
-        List<Invite> content = null;
-        try {
-            content = jdbcTemplate.query(querySql.toString(), new BeanPropertyRowMapper<Invite>(Invite.class), args);
-        } catch (EmptyResultDataAccessException e) {
-
-        }
-        return new Page<Invite>(pageNumber, pageSize, content, total);
-    }
-
-    /**
-     * 通过传入信息更新邀请人信息
-     *
-     * @param id             ac$us$detail id
-     * @param inviteUid      邀请企业营业执照
-     * @param inviteUserCode 邀请人编号
-     */
-    @Override
-    public void updateInvite(Long id, String inviteUid, String inviteUserCode) {
-        String sql = "update ac$us$detail set inviteUid = ?, inviteUserCode = ? where id = ?";
-        jdbcTemplate.update(sql, inviteUid, inviteUserCode, id);
-    }
-
-    /**
-     * 根据id查询邀请注册详情
-     *
-     * @param id
-     * @return
-     */
-    @Override
-    public Invite findOne(Long id) {
-        String sql = " select a.id,a.name,a.address,a.registerDate,a.adminName,a.adminTel,a.inviteUid,a.inviteUserCode,nvl(p.count, 0) productCount from ac$us$detail a" +
-                " left join ac$userspaces u on a.businessCode = u.uid_ and u.appid = 'b2b' left join v$products_count p on u.dialectuid = p.enuu where A.ID = ?";
-        try {
-            return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Invite>(Invite.class), id);
-        } catch (EmptyResultDataAccessException e) {
-            return null;
-        }
-    }
-}

+ 0 - 2
account-server/src/main/java/com/uas/account/dao/UserSpaceDao.java

@@ -195,6 +195,4 @@ public interface UserSpaceDao {
 	 * @return
 	 */
 	List<String> searchName(String keyword, Integer number);
-
-	UserSpace findOneByName(String appId, String name);
 }

+ 6 - 17
account-server/src/main/java/com/uas/account/dao/UserSpaceDaoImpl.java

@@ -49,7 +49,7 @@ public class UserSpaceDaoImpl extends BaseDao implements UserSpaceDao {
 	public UserSpace findOne(String appId, String uid) {
 		try {
 			List<UserSpace> spaces = jdbcTemplate.query(
-					"select appId,id,uid_ as \"UID\",dialectUID,name,userCount from ac$userspaces where appId=? and trim(uid_)=trim(?)",
+					"select appId,id,uid_ as \"UID\",dialectUID,name,userCount from ac$userspaces where appId=? and uid_=?",
 					new BeanPropertyRowMapper<UserSpace>(UserSpace.class), appId, uid);
 			return CollectionUtils.isEmpty(spaces) ? null : spaces.get(0);
 		} catch (EmptyResultDataAccessException e) {
@@ -137,7 +137,7 @@ public class UserSpaceDaoImpl extends BaseDao implements UserSpaceDao {
 			// 在这里设置ID,需要返回给后面用到
 			userSpaceDetail.setId(generateId("ac$us$detail_seq"));
 			jdbcTemplate
-					.update("insert into ac$us$detail(id,name,shortName,businessCode,address,corporation,fax,tel,registerDate,type,url,area,industry,domain,adminName,adminTel,adminEmail,status,approve_status,applyApps,businessCodeImage,province,city,district,street,logoImage,contactMan,contactTel,contactEmail,profession,tags,inviteuid,inviteUserCode,registerUrl) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
+					.update("insert into ac$us$detail(id,name,shortName,businessCode,address,corporation,fax,tel,registerDate,type,url,area,industry,domain,adminName,adminTel,adminEmail,status,approve_status,applyApps,businessCodeImage,province,city,district,street,logoImage,contactMan,contactTel,contactEmail,profession,tags) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
 							userSpaceDetail.getId(), userSpaceDetail.getName(), userSpaceDetail.getShortName(),
 							userSpaceDetail.getBusinessCode(), userSpaceDetail.getAddress(), userSpaceDetail.getCorporation(),
 							userSpaceDetail.getFax(), userSpaceDetail.getTel(), new Date(userSpaceDetail.getRegisterDate()),
@@ -147,11 +147,10 @@ public class UserSpaceDaoImpl extends BaseDao implements UserSpaceDao {
 							userSpaceDetail.getApplyApps(), userSpaceDetail.getBusinessCodeImage(), userSpaceDetail.getProvince(),
 							userSpaceDetail.getCity(), userSpaceDetail.getDistrict(), userSpaceDetail.getStreet(),
 							userSpaceDetail.getLogoImage(), userSpaceDetail.getContactMan(), userSpaceDetail.getContactTel(),
-                            userSpaceDetail.getContactEmail(), userSpaceDetail.getProfession(), userSpaceDetail.getTags(),
-							userSpaceDetail.getInviteuid(), userSpaceDetail.getInviteUserCode(), userSpaceDetail.getRegisterUrl());
+                            userSpaceDetail.getContactEmail(), userSpaceDetail.getProfession(), userSpaceDetail.getTags());
 		} else {
 			jdbcTemplate
-					.update("update ac$us$detail set name=?,shortName=?,address=?,corporation=?,fax=?,tel=?,type=?,url=?,area=?,industry=?,domain=?,adminName=?,adminTel=?,adminEmail=?,status=?,approve_status=?,businessCodeImage=?,errMsg=?,province=?,city=?,district=?,street=?,logoImage=?,businessCode=?,contactMan=?,contactTel=?,contactEmail=?,profession=?,tags=?,inviteuid=?,inviteUserCode=?,registerUrl=? where id=?",
+					.update("update ac$us$detail set name=?,shortName=?,address=?,corporation=?,fax=?,tel=?,type=?,url=?,area=?,industry=?,domain=?,adminName=?,adminTel=?,adminEmail=?,status=?,approve_status=?,businessCodeImage=?,errMsg=?,province=?,city=?,district=?,street=?,logoImage=?,businessCode=?,contactMan=?,contactTel=?,contactEmail=?,profession=?,tags=? where id=?",
 							userSpaceDetail.getName(), userSpaceDetail.getShortName(), userSpaceDetail.getAddress(),
 							userSpaceDetail.getCorporation(), userSpaceDetail.getFax(), userSpaceDetail.getTel(),
 							userSpaceDetail.getType(), userSpaceDetail.getUrl(), userSpaceDetail.getArea(), userSpaceDetail.getIndustry(),
@@ -161,7 +160,7 @@ public class UserSpaceDaoImpl extends BaseDao implements UserSpaceDao {
 							userSpaceDetail.getCity(), userSpaceDetail.getDistrict(), userSpaceDetail.getStreet(),
 							userSpaceDetail.getLogoImage(), userSpaceDetail.getBusinessCode(), userSpaceDetail.getContactMan(),
                             userSpaceDetail.getContactTel(), userSpaceDetail.getContactEmail(), userSpaceDetail.getProfession(),
-							userSpaceDetail.getTags(), userSpaceDetail.getInviteuid(), userSpaceDetail.getInviteUserCode(), userSpaceDetail.getRegisterUrl(), userSpaceDetail.getId());
+							userSpaceDetail.getTags(), userSpaceDetail.getId());
 		}
 		return userSpaceDetail;
 	}
@@ -401,7 +400,7 @@ public class UserSpaceDaoImpl extends BaseDao implements UserSpaceDao {
 		}
 		int total = count(countSql.toString(), args);
 
-		querySql.append(" and status = 313 order by registerDate desc,name) t where rownum <= ?) where r >= ?");
+		querySql.append(" order by registerDate desc,name) t where rownum <= ?) where r >= ?");
 		args = Arrays.copyOf(args, args.length + 2);
 		args[args.length - 2] = pageNumber * pageSize;
 		args[args.length - 1] = (pageNumber - 1) * pageSize + 1;
@@ -514,14 +513,4 @@ public class UserSpaceDaoImpl extends BaseDao implements UserSpaceDao {
 		return jdbcTemplate.queryForList("select distinct name from ac$us$detail where UPPER(name) like UPPER(?) and rownum < ?", String.class, searchKey, number);
     }
 
-	@Override
-	public UserSpace findOneByName(String appId, String name) {
-		try {
-			return jdbcTemplate.queryForObject("select appId,id,uid_ as \"UID\",dialectUID,name,userCount from ac$userspaces where trim(name)=trim(?) and appId = "+appId,
-					new BeanPropertyRowMapper<UserSpace>(UserSpace.class), name);
-		} catch (EmptyResultDataAccessException e) {
-			return null;
-		}
-	}
-
 }

+ 0 - 167
account-server/src/main/java/com/uas/account/entity/Invite.java

@@ -1,167 +0,0 @@
-package com.uas.account.entity;
-
-import java.util.Date;
-
-/**
- * 邀请注册
- *
- * Created by hejq on 2018-03-26.
- */
-public class Invite {
-
-    /**
-     * ac$us$detail id
-     */
-    private Long id;
-
-    /**
-     * 企业名称
-     */
-    private String name;
-
-    /**
-     * 注册地址
-     */
-    private String address;
-
-    /**
-     * 管理员姓名
-     */
-    private String adminName;
-
-    /**
-     * 管理员联系方式
-     */
-    private String adminTel;
-
-    /**
-     * 邀请企业营业执照
-     */
-    private String inviteuid;
-
-    /**
-     * 邀请企业名称
-     */
-    private String inviteEnName;
-
-    /**
-     * 邀请用户编号
-     */
-    private String inviteusercode;
-
-    /**
-     * 邀请用户名称
-     */
-    private String userName;
-
-    /**
-     * 邀请人联系方式
-     */
-    private String userTel;
-
-    /**
-     * 注册时间
-     */
-    private Date registerDate;
-
-    /**
-     * 物料上传数
-     */
-    private Integer productCount;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getAddress() {
-        return address;
-    }
-
-    public void setAddress(String address) {
-        this.address = address;
-    }
-
-    public String getAdminName() {
-        return adminName;
-    }
-
-    public void setAdminName(String adminName) {
-        this.adminName = adminName;
-    }
-
-    public String getAdminTel() {
-        return adminTel;
-    }
-
-    public void setAdminTel(String adminTel) {
-        this.adminTel = adminTel;
-    }
-
-    public String getInviteuid() {
-        return inviteuid;
-    }
-
-    public void setInviteuid(String inviteuid) {
-        this.inviteuid = inviteuid;
-    }
-
-    public String getInviteEnName() {
-        return inviteEnName;
-    }
-
-    public void setInviteEnName(String inviteEnName) {
-        this.inviteEnName = inviteEnName;
-    }
-
-    public String getInviteusercode() {
-        return inviteusercode;
-    }
-
-    public void setInviteusercode(String inviteusercode) {
-        this.inviteusercode = inviteusercode;
-    }
-
-    public String getUserName() {
-        return userName;
-    }
-
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
-
-    public Date getRegisterDate() {
-        return registerDate;
-    }
-
-    public void setRegisterDate(Date registerDate) {
-        this.registerDate = registerDate;
-    }
-
-    public String getUserTel() {
-        return userTel;
-    }
-
-    public void setUserTel(String userTel) {
-        this.userTel = userTel;
-    }
-
-    public Integer getProductCount() {
-        return productCount;
-    }
-
-    public void setProductCount(Integer productCount) {
-        this.productCount = productCount;
-    }
-}

+ 1 - 6
account-server/src/main/java/com/uas/account/service/ApplyUserSpaceServiceImpl.java

@@ -115,12 +115,7 @@ public class ApplyUserSpaceServiceImpl implements ApplyUserSpaceService {
         user.setAppId("b2b");
         UserDetail userDetail = userService.findOne(uid);
         try {
-            userService.syncUserToApp(appService.findOne("b2b"), user, userDetail);
-            logger.info(this.getClass(), user.getUid(),
-                    String.format("申请企业,%s From: sso, To: %s", user.getName(), "b2b"), user);
-            userService.syncUserToApp(appService.findOne("mall"), user, userDetail);
-            logger.info(this.getClass(), user.getUid(),
-                    String.format("申请企业,%s From: sso, To: %s", user.getName(), "mall"), user);
+            user = userService.syncUserToApp(appService.findOne("b2b"), user, userDetail);
             userDao.save(user);
             applyUserSpaceDao.updateStatus(uid, spaceUID, Status.AGREE.value());
             logger.info(this.getClass(), user.getUid(), "申请被"+spaceDialectUID+"同意");

+ 0 - 44
account-server/src/main/java/com/uas/account/service/InviteService.java

@@ -1,44 +0,0 @@
-package com.uas.account.service;
-
-import com.uas.account.core.Page;
-import com.uas.account.entity.Invite;
-import org.springframework.ui.ModelMap;
-
-/**
- * 邀请注册接口
- *
- * Created by hejq on 2018-03-26.
- */
-public interface InviteService {
-
-    /**
-     * 通过查询条件分页查询邀请注册记录
-     *
-     * @param name 企业名称
-     * @param adminName 管理员姓名
-     * @param pageNumber 页码
-     * @param pageSize 分页大小
-     * @param value 状态
-     * @return
-     */
-    Page<Invite> findByPageInfo(String name, String adminName, int pageNumber, int pageSize, int value);
-
-    /**
-     * 通过传入数据更新邀请注册信息
-     *
-     * @param id ac$us$detail id
-     * @param userName 邀请人姓名
-     * @param userTel 邀请人电话
-     * @param inviteEnName 邀请企业
-     * @return
-     */
-    ModelMap updateInvite(Long id, String userName, String userTel, String inviteEnName);
-
-    /**
-     * 根据id获取企业详情
-     *
-     * @param id ac$us$detail id
-     * @return
-     */
-    Invite getInviteDetail(Long id);
-}

+ 0 - 144
account-server/src/main/java/com/uas/account/service/InviteServiceImpl.java

@@ -1,144 +0,0 @@
-package com.uas.account.service;
-
-import com.uas.account.core.Page;
-import com.uas.account.dao.InviteDao;
-import com.uas.account.dao.UserDao;
-import com.uas.account.dao.UserSpaceDao;
-import com.uas.account.entity.Invite;
-import com.uas.account.entity.User;
-import com.uas.account.entity.UserSpace;
-import com.uas.account.entity.UserSpaceDetail;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
-import java.util.List;
-
-/**
- * 邀请注册接口
- *
- * Created by hejq on 2018-03-26.
- */
-@Service
-public class InviteServiceImpl implements InviteService {
-
-    @Autowired
-    private InviteDao inviteDao;
-
-    @Autowired
-    private UserDao userDao;
-
-    @Autowired
-    private UserSpaceDao userSpaceDao;
-
-    /**
-     * 通过查询条件分页查询邀请注册记录
-     *
-     * @param name       企业名称
-     * @param adminName  管理员姓名
-     * @param pageNumber 页码
-     * @param pageSize   分页大小
-     * @param value      状态
-     * @return
-     */
-    @Override
-    public Page<Invite> findByPageInfo(String name, String adminName, int pageNumber, int pageSize, int value) {
-        Page<Invite> invitePage = inviteDao.findByPageInfo(name, adminName, pageNumber, pageSize, value);
-        if (!CollectionUtils.isEmpty(invitePage.getContent())) {
-            for (Invite invite : invitePage.getContent()) {
-                covert(invite);
-            }
-        }
-        return invitePage;
-    }
-
-    private Invite covert(Invite invite) {
-        final String UU_REGEXP = "^\\d{4,}$";
-        if (null != invite.getInviteuid()) {
-            UserSpace space = userSpaceDao.findOne("b2b", invite.getInviteuid());
-            if (null != space) {
-                invite.setInviteEnName(space.getName());
-                if (null != invite.getInviteusercode()) {
-                    User user = userDao.findDialectOne("b2b", space.getId(), invite.getInviteusercode());
-                    invite.setUserName(user != null ? user.getName() : null);
-                    invite.setUserTel(user != null ? user.getUid() : null);
-                }
-            } else {
-                space = userSpaceDao.findOne("uas", invite.getInviteuid());
-                if (null != space) {
-                    invite.setInviteEnName(space.getName());
-                    if (null != invite.getInviteusercode()) {
-                        User user = userDao.findDialectOne("uas", space.getId(), invite.getInviteusercode());
-                        invite.setUserName(user != null ? user.getName() : null);
-                        invite.setUserTel(user != null ? user.getUid() : null);
-                    }
-                }
-            }
-            if (invite.getUserName() == null && invite.getInviteusercode().matches(UU_REGEXP)) {
-                List<User> userList = userDao.findByDialectUID(invite.getInviteusercode());
-                invite.setUserName(userList.size() > 0 ? userList.get(0).getName() : null);
-                invite.setUserTel(userList.size() > 0 ? userList.get(0).getUid() : null);
-            }
-        }
-        return invite;
-    }
-
-    /**
-     * 通过传入数据更新邀请注册信息
-     *
-     * @param id           ac$us$detail id
-     * @param userName     邀请人姓名
-     * @param userTel      邀请人电话
-     * @param inviteEnName 邀请企业
-     * @return
-     */
-    @Override
-    public ModelMap updateInvite(Long id, String userName, String userTel, String inviteEnName) {
-        String inviteUid = null;
-        String inviteUserCode = null;
-        if (!StringUtils.isEmpty(inviteEnName)) {
-            UserSpaceDetail detail = userSpaceDao.findByName(inviteEnName);
-            if (detail != null) {
-                UserSpace space = userSpaceDao.findOne("b2b", detail.getBusinessCode());
-                if (space != null) {
-                    inviteUid = space.getUid();
-                    User user = userDao.findOne("b2b", space.getId(), userTel);
-                    if (user != null) {
-                        inviteUserCode = user.getDialectUID();
-                    }
-                } else {
-                    space = userSpaceDao.findOne("uas", detail.getBusinessCode());
-                    if (space != null) {
-                        inviteUid = space.getUid();
-                        User user = userDao.findOne("uas", space.getId(), userTel);
-                        if (user != null) {
-                            inviteUserCode = user.getDialectUID();
-                        }
-                    }
-                }
-            }
-        }
-        if (inviteUid != null && inviteUserCode != null) {
-            try {
-                inviteDao.updateInvite(id, inviteUid, inviteUserCode);
-                return new ModelMap("success", true);
-            } catch (Exception e) {
-                return new ModelMap("errMsg", true);
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 根据id获取企业详情
-     *
-     * @param id ac$us$detail id
-     * @return
-     */
-    @Override
-    public Invite getInviteDetail(Long id) {
-        return covert(inviteDao.findOne(id));
-    }
-}

+ 0 - 3
account-server/src/main/java/com/uas/account/service/MasterInfoService.java

@@ -1,6 +1,5 @@
 package com.uas.account.service;
 
-import com.uas.account.core.Page;
 import com.uas.account.entity.MasterInfo;
 
 import java.util.List;
@@ -16,6 +15,4 @@ public interface MasterInfoService {
 	 * @return
 	 */
 	List<MasterInfo> findByUU(Long uu);
-
-	Page<MasterInfo> findAll(int pageNumber, int pageSize);
 }

+ 0 - 40
account-server/src/main/java/com/uas/account/service/MasterInfoServiceImpl.java

@@ -1,18 +1,11 @@
 package com.uas.account.service;
 
-import com.alibaba.druid.util.StringUtils;
-import com.uas.account.core.Page;
 import com.uas.account.entity.MasterInfo;
-import com.uas.account.entity.PartnershipRecord;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -29,37 +22,4 @@ public class MasterInfoServiceImpl implements MasterInfoService {
 		String sql = "select * from masters where (platform = 'SAAS' or (platform = 'ERP' and install_type = 'uas1.0')) and uu =" + uu;
 		return jdbcTemplate.query(sql, new BeanPropertyRowMapper<MasterInfo>(MasterInfo.class));
 	}
-
-    @Override
-    public Page<MasterInfo> findAll(int pageNumber, int pageSize) {
-		StringBuffer countSql = new StringBuffer("select count(1) from masters where 1=1");
-		StringBuffer querySql = new StringBuffer(
-				"select * from (select t.*,rownum r from (select * from masters where 1=1");
-		Object[] args = new Object[]{};
-		int total = jdbcTemplate.queryForObject(countSql.toString(), Integer.class, args);
-		// 311申请中, 310 已拒绝, 313 已激活 需要按申请中、已激活、已拒绝排序,所以用replace将311替换成333再排序。
-		querySql.append(" and website is not null) t where rownum <= ?) where r >= ?");
-		args = Arrays.copyOf(args, args.length + 2);
-		args[args.length - 2] = pageNumber * pageSize;
-		args[args.length - 1] = (pageNumber - 1) * pageSize + 1;
-		List<MasterInfo> content = null;
-		try {
-			content = jdbcTemplate.query(querySql.toString(),
-					new BeanPropertyRowMapper<MasterInfo>(MasterInfo.class) {
-						@Override
-						public MasterInfo mapRow(ResultSet rs, int rowNumber) throws SQLException {
-							MasterInfo masterInfo = new MasterInfo();
-							masterInfo.setWebsite(rs.getString("website"));
-							masterInfo.setBusinessCode(rs.getString("business_code"));
-							masterInfo.setName(rs.getString("name"));
-							masterInfo.setUu(rs.getString("uu"));
-							masterInfo.setPlatform(rs.getString("platform"));
-							return masterInfo;
-						}
-					}, args);
-		} catch (EmptyResultDataAccessException e) {
-
-		}
-		return new Page<MasterInfo>(pageNumber, pageSize, content, total);
-    }
 }

+ 1 - 1
account-server/src/main/java/com/uas/account/service/SysDataToMallService.java

@@ -27,7 +27,7 @@ public interface SysDataToMallService {
 	 * @param userSpace
 	 * @param detail
 	 */
-	void UserSpace(UserSpace userSpace, UserSpaceDetail detail);
+	void UserSpace(UserSpace userSpace, UserSpaceDetail detail) throws Exception;
 
 	/**
 	 * 更换管理员

+ 0 - 8
account-server/src/main/java/com/uas/account/service/UserService.java

@@ -319,12 +319,4 @@ public interface UserService {
 	 * @return
 	 */
 	User findBySpaceDialectUID(String appId, String spaceDialectUID, String uid);
-
-	/**
-	 * 根据用户uu号查询im记录
-	 * @param userUU 用户uu号
-	 * @param spaceUU 企业uu号
-	 * @return
-	 */
-	User findImByUserUU(Long userUU, Long spaceUU);
 }

+ 22 - 55
account-server/src/main/java/com/uas/account/service/UserServiceImpl.java

@@ -59,11 +59,6 @@ public class UserServiceImpl implements UserService {
 	 */
 	private static final String EMAIL_SIGN = "@";
 
-    /**
-     * 应用UID 为 MALL
-     */
-	private static final String MALL = "mall";
-
 	@Override
 	@CacheEvict(value = { "users", "userView" }, allEntries = true)
 	public List<User> save(User user, UserDetail userDetail) {
@@ -114,7 +109,6 @@ public class UserServiceImpl implements UserService {
 				userSpace.setDialectUID(user.getSpaceDialectUID());
 				userSpaceDao.save(userSpace);
 			}
-			user.setSpaceDialectUID(userSpace.getDialectUID());
 		}
 
 		if (!AccountConfig.ACCOUNT_CENTER.equals(app.getUid())) {
@@ -905,36 +899,34 @@ public class UserServiceImpl implements UserService {
 		ExecuteUtils.execute(new ICallable<Void, App>() {
 			@Override
 			public Void call(App app) throws Exception {
-                List<User> users = userDao.findByUID(userDetail.getMobile());
-				if (CollectionUtils.isEmpty(users) && !app.getUid().equals(MALL)) {
-					if (!StringUtils.isEmpty(app.getPersonalEnable()) && (Const.YES == app.getPersonalEnable())) {
-						App controlApp = StringUtils.isEmpty(app.getUserControl()) ? app
-								: appService.findOne(app.getUserControl());
-						if (!StringUtils.isEmpty(controlApp.getDefaultUse()) && (Const.YES == controlApp.getDefaultUse())) {
-							// 应用本身无需绑定企业
-							User user = new User(controlApp, userDetail);
-							user.setPassword(password);
-							userDao.save(user);// save or update
-							try {
-								User backUser = syncUserToApp(controlApp, user, userDetail);
-								if (backUser != null) {
-									user.setPassword(
-											getEncryPassword(controlApp.getEncryFormat(), password, backUser.getSalt()));
-									user.setDialectUID(backUser.getDialectUID());
-									user.setSalt(backUser.getSalt());
-									// 不能调用userService的save()
-									userDao.save(user);
-									logger.info(this.getClass(), userDetail.getMobile(), "创建用户: " + user.getUid() + "," + app.getUid() , user);
-								}
-							} catch (Exception e) {
-								e.printStackTrace();
-								userDao.saveFailed(new UserFailed(user, e));
+				if (!StringUtils.isEmpty(app.getPersonalEnable()) && (Const.YES == app.getPersonalEnable())) {
+					App controlApp = StringUtils.isEmpty(app.getUserControl()) ? app
+							: appService.findOne(app.getUserControl());
+					if (!StringUtils.isEmpty(controlApp.getDefaultUse()) && (Const.YES == controlApp.getDefaultUse())) {
+						// 应用本身无需绑定企业
+						User user = new User(controlApp, userDetail);
+						user.setPassword(password);
+						userDao.save(user);// save or update
+						try {
+							User backUser = syncUserToApp(controlApp, user, userDetail);
+							if (backUser != null) {
+								user.setPassword(
+										getEncryPassword(controlApp.getEncryFormat(), password, backUser.getSalt()));
+								user.setDialectUID(backUser.getDialectUID());
+								user.setSalt(backUser.getSalt());
+								// 不能调用userService的save()
+								userDao.save(user);
+								logger.info(this.getClass(), userDetail.getMobile(), "创建用户: " + user.getUid(), user);
 							}
+						} catch (Exception e) {
+							e.printStackTrace();
+							userDao.saveFailed(new UserFailed(user, e));
 						}
 					}
 				}
 				return null;
 			}
+
 		}, apps);
 		List<User> users = userDao.findByUID(userDetail.getMobile());
 		if (!CollectionUtils.isEmpty(users)) {
@@ -1040,31 +1032,6 @@ public class UserServiceImpl implements UserService {
 		return userDao.findBySpaceDialectUID(appId, spaceDialectUID, uid);
 	}
 
-	@Override
-	public UserView findImByUserUU(Long userUU, Long spaceUU) {
-		// 根据uu号找到手机号
-		List<User> users = userDao.findByDialectUID(userUU.toString());
-		if (CollectionUtils.isEmpty(users)) {
-			return null;
-		}
-		String mobile = users.get(0).getUid();
-		String spaceUID = null;
-		User imUser = userDao.findOne("im", spaceUID, mobile);
-		User user = users.get(0);
-		user.setDialectUID(imUser.getDialectUID());
-		user.setPassword(null);
-		user.setSalt(null);
-		UserView userView = new UserView();
-        userView.setDialectUID(user.getDialectUID());
-        userView.setName(user.getName());
-        userView.setUid(user.getUid());
-        userView.setSecondUID(user.getSecondUID());
-        userView.setDialectUID(imUser == null ? null : imUser.getDialectUID());
-		UserSpace userSpace = userSpaceDao.findDialectOne("b2b", spaceUU+"");
-		userView.setSpaceName(userSpace.getName());
-		return userView;
-	}
-
 	@Override
 	public User findByAppId(User user) {
 		UserSpace userSpace = getUserSpaceByUser(user, true);

+ 1 - 4
account-server/src/main/java/com/uas/account/service/UserSpaceService.java

@@ -3,7 +3,6 @@ package com.uas.account.service;
 import com.uas.account.core.Page;
 import com.uas.account.entity.*;
 import com.uas.account.viewmodel.UserSpaceDetailView;
-import com.uas.sso.entity.UserSpaceView;
 import org.springframework.ui.ModelMap;
 
 import java.util.List;
@@ -15,8 +14,6 @@ public interface UserSpaceService {
 
 	UserSpace findOne(String appId, String uid);
 
-	UserSpace findOne(String appId, String uid, String name);
-
 	List<UserSpace> findByUID(String uid);
 
 	UserSpace findByDialectUID(String appId, String dialectUID);
@@ -29,7 +26,7 @@ public interface UserSpaceService {
 	 * @param userSpaceDetail
 	 * @return
 	 */
-	UserSpaceView register(UserSpaceDetail userSpaceDetail, String password);
+	UserSpaceDetail register(UserSpaceDetail userSpaceDetail);
 
 	/**
 	 * 用移动设备注册企业信息到应用

+ 17 - 37
account-server/src/main/java/com/uas/account/service/UserSpaceServiceImpl.java

@@ -7,9 +7,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import com.uas.sso.entity.UserSpaceView;
-import com.uas.sso.util.AccountUtils;
-import org.omg.CORBA.Request;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
@@ -128,11 +125,7 @@ public class UserSpaceServiceImpl implements UserSpaceService {
 		oldOne = userSpaceDao.save(oldOne);
 		// 自动同步到其他App
 		syncUserSpace(oldOne, oldSpaceDetail, apps);
-        UserSpace newSpace = userSpaceDao.findOne("b2b", spaceDetail.getBusinessCode());
-        UserSpaceDetail newSpaceDetail = userSpaceDao.findByBusinessCode(spaceDetail.getBusinessCode());
-        sysService.UserSpace(newSpace, newSpaceDetail);
-
-        // 同步管理员信息
+		// 同步管理员信息
 		App app = appService.findOne(oldOne.getAppId());
 		User adminUser = new User(app, oldOne, adminDetail);
 		userService.save(adminUser, adminDetail);
@@ -230,21 +223,10 @@ public class UserSpaceServiceImpl implements UserSpaceService {
 		return null;
 	}
 
-
-    @Override
-    @Cacheable("userspaces")
-    public UserSpace findOne(String appId, String uid) {
-        return userSpaceDao.findOne(appId, uid);
-    }
-
 	@Override
 	@Cacheable("userspaces")
-	public UserSpace findOne(String appId, String uid, String name) {
-		UserSpace userSpace = userSpaceDao.findOne(appId, uid);
-        if (userSpace == null) {
-            userSpace = userSpaceDao.findOneByName(appId, name) ;
-        }
-        return userSpace;
+	public UserSpace findOne(String appId, String uid) {
+		return userSpaceDao.findOne(appId, uid);
 	}
 
 	@Override
@@ -267,14 +249,15 @@ public class UserSpaceServiceImpl implements UserSpaceService {
 
 	@Override
 	@CacheEvict(value = "userspaces", allEntries = true)
-	public UserSpaceView register(UserSpaceDetail userSpaceDetail, String password) {
-		try {
-			AccountUtils.checkSpaceName(userSpaceDetail.getName());
-			AccountUtils.checkBusinessCode(userSpaceDetail.getBusinessCode());
-		} catch (Exception e) {
-			throw new VisibleError(e.getMessage());
+	public UserSpaceDetail register(UserSpaceDetail userSpaceDetail) {
+		UserSpaceDetail oldOne = findByName(userSpaceDetail.getName());
+		if (oldOne != null && oldOne.getStatus().equals(Status.ENABLED.value())) {
+			throw new VisibleError("企业名称已被注册!");
+		}
+		oldOne = findByBusinessCode(userSpaceDetail.getBusinessCode());
+		if (oldOne != null && oldOne.getStatus().equals(Status.ENABLED.value())) {
+			throw new VisibleError("营业执照号已被注册!");
 		}
-
 		// 对提交的验证码和手机号进行验证
 		String checkcode = userSpaceDetail.getCheckcode();
 		String checkcodeToken = userSpaceDetail.getCheckcodeToken();
@@ -301,7 +284,7 @@ public class UserSpaceServiceImpl implements UserSpaceService {
 		// 资料验证状态设为待验证
 		// userSpaceDetail.setApproveStatus(Status.UNAPPROVED.value());
 		// 不用验证状态,不设置待激活状态了
-//		userSpaceDetail.setRegisterDate(new Date().getTime());
+		userSpaceDetail.setRegisterDate(new Date().getTime());
 		if (!StringUtils.isEmpty(userSpaceDetail.getUrl())) {
 			userSpaceDetail.setUrl(StringUtils.trimAllWhitespace(userSpaceDetail.getUrl()));
 			if (!userSpaceDetail.getUrl().toLowerCase().startsWith("http")) {
@@ -326,14 +309,11 @@ public class UserSpaceServiceImpl implements UserSpaceService {
 		if (!StringUtils.isEmpty(userSpaceDetail.getAdminEmail())) {
 			userSpaceDetail.setAdminEmail(StringUtils.trimAllWhitespace(userSpaceDetail.getAdminEmail()));
 		}
-		UserSpaceView userSpaceView = userSpaceDetail.toUserSpaceView(password);
-		UserSpaceView us = null;
-		try {
-			us = AccountUtils.register(userSpaceView, userSpaceView.getAdmin());
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return us;
+		userSpaceDetail = userSpaceDao.save(userSpaceDetail);
+		// 管理员
+		userDao.save(new UserDetail(userSpaceDetail));
+		logger.info(this.getClass(), userSpaceDetail.getBusinessCode(), "企业注册");
+		return userSpaceDetail;
 	}
 
 	@Override

+ 9 - 48
account-server/src/main/java/com/uas/sso/controller/ChangeAdminController.java

@@ -1,12 +1,9 @@
 package com.uas.sso.controller;
 
 import java.io.IOException;
-import java.text.SimpleDateFormat;
 
 import javax.validation.Valid;
 
-import com.uas.account.entity.UserSpaceDetail;
-import com.uas.account.service.UserSpaceService;
 import org.apache.commons.io.FilenameUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -45,9 +42,6 @@ public class ChangeAdminController extends BaseController {
 	@Autowired
 	private ChangeAdminService changeAdminService;
 
-	@Autowired
-	private UserSpaceService userSpaceService;
-
 	@Autowired
 	private FileClient fileClient;
 
@@ -102,42 +96,25 @@ public class ChangeAdminController extends BaseController {
 			return error("请检查您的营业执照附件");
 		}
 		request.getSession().setAttribute("pageStep", 2);
-
-		final UserSpaceDetail userSpaceDetail = userSpaceService.findByName(detail.getEnName());
 		// 知会下审核人
 		ExecuteUtils.asyncExecute(new Runnable() {
 
 			@Override
 			public void run() {
-				// 邮件--通知审核人
+				// 邮件
 				Setting mailReceiver = settingService.findOne("mailReceiverAfterRegister");
 				Setting mailTpl = settingService.findOne("noticeManageAuditVendorMan");
 				if (mailReceiver != null && mailTpl != null) {
 					ModelMap data = new ModelMap();
-					data.put("enName", detail.getEnName());
+					data.put("adminName", detail.getAdminName());
+					data.put("enlicense", detail.getBusinessCode());
 					mailService.send(mailTpl.getValue(), mailReceiver.getValue(), data);
 				}
-				// 短信--通知审核人
-				Setting smsReceiver = settingService.findOne("smsReceiverAfterRegister");
-				Setting smsTpl = settingService.findOne("SmsNoticeManageAuditVendorMan");
+				// 短信
+				Setting smsReceiver = settingService.findOne("SmsNoticeManageAuditVendorMan");
+				Setting smsTpl = settingService.findOne("noticeManageAuditVendorMan");
 				if (smsReceiver != null && smsTpl != null) {
-					smsService.send(smsTpl.getValue(), smsReceiver.getValue(), new Object[] { detail.getEnName() });
-				}
-
-				// 邮件--通知原管理员
-				mailTpl = settingService.findOne("templateForSendEmailToOldAdminWhenChangeAdmin");
-				if (mailReceiver != null && userSpaceDetail.getAdminEmail() != null) {
-					ModelMap data = new ModelMap();
-					data.put("vipName", detail.getAdminName());
-					data.put("date", new SimpleDateFormat("yyyy年MM月dd日").format(System.currentTimeMillis()));
-					data.put("enName", detail.getEnName());
-					mailService.send(mailTpl.getValue(), userSpaceDetail.getAdminEmail(), data);
-				}
-
-				// 短信--通知原管理员
-				smsTpl = settingService.findOne("templateForSendSmsToOldAdminWhenChangeAdmin");
-				if (smsReceiver != null && userSpaceDetail.getAdminTel() != null) {
-					smsService.send(smsTpl.getValue(), userSpaceDetail.getAdminTel(), new Object[]{detail.getAdminName(), new SimpleDateFormat("yyyy年MM月dd日").format(System.currentTimeMillis()), detail.getEnName()});
+					smsService.send(smsTpl.getValue(), smsReceiver.getValue(), new Object[] { detail.getAdminName() });
 				}
 			}
 		});
@@ -278,17 +255,9 @@ public class ChangeAdminController extends BaseController {
 			ModelMap data = new ModelMap();
 			data.put("content", detail);
 			mailService.send(mailTpl.getValue(), detail.getAdminEmail(), data);
-		}
-		Setting smsTpl = settingService.findOne("templateForSendSmsAfterApplyforChangeAdminSuccess");
-		if (smsTpl != null && detail.getAdminTel() != null) {
-			smsService.send(smsTpl.getValue(), detail.getAdminTel(), new Object[]{ });
-		}
-
-		if (mailTpl == null && smsTpl == null) {
-			return error("没有找到短信或邮件模板,请设置后重新发送激活邮件");
-		} else {
 			return success();
 		}
+		return error("没有找到邮件模板,请设置后重新发送激活邮件");
 	}
 
 	/**
@@ -310,17 +279,9 @@ public class ChangeAdminController extends BaseController {
 			data.put("reason", reason);
 			data.put("content", detail);
 			mailService.send(mailTpl.getValue(), detail.getAdminEmail(), data);
-		}
-		Setting smsTpl = settingService.findOne("templateForSendSmsAfterApplyforChangeAdminFail");
-		if (smsTpl != null && detail.getAdminTel() != null) {
-			smsService.send(smsTpl.getValue(), detail.getAdminTel(), new Object[]{reason});
-		}
-
-		if (mailTpl == null && smsTpl == null) {
-			return error("没有找到短信或邮件模板,请设置后重新发送激活邮件");
-		} else {
 			return success();
 		}
+		return error("没有找到邮件模板,请设置后重新发送激活邮件");
 	}
 
 	/**

+ 28 - 10
account-server/src/main/java/com/uas/sso/controller/IndexController.java

@@ -43,17 +43,35 @@ public class IndexController extends BaseController {
 		 */
 		WafRequestWrapper wr = new WafRequestWrapper(request);
 		String returnUrl = wr.getParameter(SSOConfig.ReturnURLParam);
-		String appId = wr.getParameter(AccountConfig.AppIdParam);
-		// 指定登录的app
-		if (StringUtils.isEmpty(appId)) {
-			appId = AccountConfig.ACCOUNT_CENTER;
-		}
 		Token token = SSOHelper.getToken(request);
-		ModelMap data = new ModelMap();
-		data.put("returnUrl", returnUrl);
-		data.put("token", token);
-		data.put("appId", appId);
-		return new ModelAndView("redirect:https://sso.ubtob.com/", data);
+		if (token == null) {
+			String appId = wr.getParameter(AccountConfig.AppIdParam);
+			// 指定登录的app
+			if (StringUtils.isEmpty(appId)) {
+				appId = AccountConfig.ACCOUNT_CENTER;
+			}
+			model.addAttribute("appId", appId);
+			if (!StringUtils.isEmpty(returnUrl)) {
+				model.addAttribute("returnUrl", returnUrl);
+			}
+			List<AssetView> assets = assetService.findByApp(appId);
+			if (CollectionUtils.isEmpty(assets)) {
+				App app = appService.findOne(appId);
+				if (app != null && !StringUtils.isEmpty(app.getUserControl())) {
+					assets = assetService.findByApp(app.getUserControl());
+				}
+			}
+			if (CollectionUtils.isEmpty(assets)) {
+				assets = assetService.findByApp(AccountConfig.ACCOUNT_CENTER);
+			}
+			model.addAttribute("assets", assets);
+			return new ModelAndView("sso/login", model);
+		} else {
+			if (StringUtils.isEmpty(returnUrl)) {
+				return new ModelAndView("user/info", model);
+			}
+			return new ModelAndView("redirect:" + HttpUtil.decodeURL(returnUrl));
+		}
 	}
 
 }

+ 157 - 79
account-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -34,9 +34,6 @@ import javax.servlet.ServletOutputStream;
 import java.io.IOException;
 import java.util.*;
 
-import static com.sun.tools.javac.jvm.ByteCodes.ret;
-import static com.uas.sso.common.util.HttpUtil.doPost;
-
 
 @Controller
 @RequestMapping("/sso")
@@ -79,12 +76,67 @@ public class LoginController extends BaseController {
 		baseUrl = replaceLocalhost(baseUrl);
 		Token token = SSOHelper.getToken(request);
 		String appId = wr.getParameter(AccountConfig.AppIdParam);
-		ModelMap data = new ModelMap();
-		data.put("returnUrl", returnUrl);
-		data.put("baseUrl", baseUrl);
-		data.put("token", token);
-		data.put("appId", appId);
-		return new ModelAndView("redirect:https://sso.ubtob.com/", data);
+		if (token == null || "mall".equals(appId)) {
+			// 指定登录的app
+			if (StringUtils.isEmpty(appId) || AccountConfig.ACCOUNT_CENTER.equals(appId)) {
+				// appId为sso登录不了,改成b2b登录
+				appId = "b2b";
+			}
+			model.addAttribute("appId", appId);
+			if (!StringUtils.isEmpty(returnUrl)) {
+				model.addAttribute("returnUrl", returnUrl);
+			}
+			if (!StringUtils.isEmpty(baseUrl)) {
+				model.addAttribute("baseUrl", baseUrl);
+			}
+			// 企业相关信息
+			String domain = wr.getParameter("domain");
+			if (domain != null) {
+				UserSpaceDetail detail = userSpaceService.findByDomain(domain);
+				if (detail != null && detail.getStatus().equals(Status.ENABLED.value())) {
+					UserSpace userSpace = userSpaceService.findOne(appId, detail.getBusinessCode());
+					if (userSpace != null) {
+						model.addAttribute("spaceId", userSpace.getId());
+						model.addAttribute("spaceName", userSpace.getName());
+					}
+				}
+			}
+			// 先尝试查找自身相关资源
+			List<AssetView> assets = assetService.findByApp(appId);
+			if (CollectionUtils.isEmpty(assets)) {
+				App app = appService.findOne(appId);
+				// 再尝试查找级联应用相关资源
+				if (app != null && !StringUtils.isEmpty(app.getUserControl())) {
+					assets = assetService.findByApp(app.getUserControl());
+				}
+			}
+			// 最后尝试使用SSO默认资源
+			if (CollectionUtils.isEmpty(assets)) {
+				assets = assetService.findByApp(AccountConfig.ACCOUNT_CENTER);
+			}
+            String registerUrl;
+            String iconUrl;
+            String iconIndexUrl;
+			if ("mall".equals(appId)) {
+                registerUrl = "sso/register_p";
+				iconUrl = "/static/img/icon_mall_index.png";
+                iconIndexUrl = "https://www.usoftmall.com/";
+				model.addAttribute("iconUrl", iconUrl);
+                model.addAttribute("iconIndexUrl", iconIndexUrl);
+            } else {
+				iconUrl = "/static/img/icon_brand.png";
+				model.addAttribute("iconUrl", iconUrl);
+                registerUrl = "sso/register_mall";
+            }
+            model.addAttribute("registerUrl", registerUrl);
+            model.addAttribute("assets", assets);
+			return new ModelAndView("sso/login", model);
+		} else {
+			if (StringUtils.isEmpty(returnUrl)) {
+				return new ModelAndView("user/info", model);
+			}
+			return new ModelAndView("redirect:" + HttpUtil.decodeURL(returnUrl));
+		}
 	}
 
 	private String replaceLocalhost(String baseUrl) {
@@ -119,22 +171,77 @@ public class LoginController extends BaseController {
 		if (baseUrl != null) {
 			request.getSession().setAttribute("baseUrl", baseUrl);
 		}
-		ModelMap data = new ModelMap();
-		data.put("appId", appId);
-		data.put("spaceUU", spaceId);
-		data.put("username", username);
-		data.put("password", pass);
-		data.put("returnUrl", returnUrl);
-		data.put("baseUrl", baseUrl);
-		try {
-			HttpUtil.ResponseWrap rs = HttpUtil.doPost("https://sso.ubtob.com/sso/login", data);
-			if (rs.isSuccess()) {
-				return success(rs.getContent());
+		String captcha = wr.getParameter("captcha");
+		// 验证码
+		Object randomString = request.getSession().getAttribute("randomString");
+		String checkCode = randomString==null?"":randomString.toString();
+		// 为了在创建cookie时使用getAttribute方法拿到数据
+		String maxage = wr.getParameter(SSOConfig.SSO_COOKIE_MAXAGE);
+		// 设置cookie有效期
+		if (maxage != null) {
+			request.setAttribute(SSOConfig.SSO_COOKIE_MAXAGE, Integer.valueOf(maxage));
+		}
+		if (StringUtils.isEmpty(appId)) {
+			return error("应用id为空");
+		}
+		if (StringUtils.isEmpty(username)) {
+			return error("用户名为空");
+		}
+		// 检测用户名是否被锁定
+        request.getSession().setAttribute("username", username);
+		int pwdError = (int) checkPwdError(username).get("pwdError");
+		if (pwdError >= PWD_ERROR_FIVE_TIME) {
+			return error("403", "密码错误次数已达上限,今日无法登陆");
+		}
+		if (StringUtils.isEmpty(pass)) {
+			return error("密码为空");
+		}
+		if (pwdError >= PWD_ERROR_THREE_TIME && StringUtils.isEmpty(captcha)) {
+			return error("404", "验证码不能为空");
+		}
+		if (pwdError >= PWD_ERROR_THREE_TIME && !captcha.equalsIgnoreCase(checkCode)) {
+			return error("验证码错误");
+		}
+		App app = appService.findOne(appId);
+		if (app != null) {
+			App controlApp = StringUtils.isEmpty(app.getUserControl()) ? app : appService.findOne(app.getUserControl());
+			// app是否允许个人用户登录
+			boolean personalEnable = !StringUtils.isEmpty(app.getPersonalEnable()) && (Const.YES == app.getPersonalEnable());
+			// 没有选择企业
+			if (StringUtils.isEmpty(spaceId)) {
+				final List<UserView> users = getUserByUserName(controlApp, username);// 包含个人注册用户
+				if (!CollectionUtils.isEmpty(users)) {
+					if (users.size() > 1) {
+						for (UserView user : users) {
+							String encryPwd = userService.getEncryPassword(controlApp.getEncryFormat(), pass, user.getSalt());
+							if (encryPwd.equals(user.getPassword())) {
+								// 请选择其中一个企业
+								return success(getSpaceSelect(users, personalEnable));
+							}
+						}
+					} else {
+						if (app.getPersonalEnable() == null || Const.YES != app.getPersonalEnable()) {
+							// 不支持个人登录的应用都跳优软云
+							returnUrl = "http://www.ubtob.com";
+						}
+						return loginByUser(controlApp, users.get(0), pass, returnUrl);
+					}
+					inputErrorPwd(username);
+					ModelMap data = checkPwdError(username);
+					return error("您输入的账号或密码有误").addAllAttributes(data);
+				} else {
+					return error("您输入的账号或密码有误");
+				}
+			} else if (Const.SPACEID_PERSONAL_REGISTER.equals(spaceId)) {// 从多个企业中选择个人用户登录,个人登录时spaceid已经设置为1
+                UserView user = getUserByUserName(controlApp.getUid(), null, username);
+				return loginByUser(controlApp, user, pass, returnUrl);
+			} else {// 选择其他企业
+				UserView user = getUserByUserName(controlApp.getUid(), Long.parseLong(spaceId), username);
+				return loginByUser(controlApp, user, pass, returnUrl);
 			}
-		} catch (Exception e) {
-			e.printStackTrace();
+		} else {
+			return error("应用id不存在");
 		}
-		return null;
 	}
 
 	/**
@@ -290,12 +397,12 @@ public class LoginController extends BaseController {
 		String baseUrl = wr.getParameter("baseURL");
 		String isLoginAll = wr.getParameter("isLoginAll");
 		ModelMap data = new ModelMap();
-		data.put("returnURL", returnUrl);
+		data.put("returnUrl", returnUrl);
 		data.put("appId", appId);
 		data.put("token", token);
-		data.put("baseURL", StringUtils.isEmpty(baseUrl) ? null : baseUrl.replace("/login/other", "/newLogin/other"));
+		data.put("baseUrl", baseUrl);
 		data.put("isLoginAll", isLoginAll == null ? true : isLoginAll);
-		return new ModelAndView("redirect:https://sso.ubtob.com/agency", data);
+		return new ModelAndView("/sso/proxyByToken", data);
 	}
 
 	@RequestMapping(value = "/login/proxy", method = RequestMethod.POST)
@@ -416,7 +523,7 @@ public class LoginController extends BaseController {
 		String password = wr.getParameter("p");
 		String baseUrl = wr.getParameter("baseURL");
 		ModelMap data = new ModelMap();
-		data.put("returnURL", returnUrl);
+		data.put("returnUrl", returnUrl);
 		data.put("appId", appId);
 		data.put("enuu", enuu);
 		data.put("tel", tel);
@@ -564,22 +671,30 @@ public class LoginController extends BaseController {
 				} catch (Exception e) {
 					return error("密码不能为空");
 				}
-				UserSpaceDetail detail = userSpaceService.findByBusinessCode(user.getSpaceUID());
-				if (detail != null) {
-					user.setSpaceDomain(detail.getDomain());
+				String encryPwd = userService.getEncryPassword(app.getEncryFormat(), pass, user.getSalt());
+				if (encryPwd.equals(user.getPassword())) {
+					UserSpaceDetail detail = userSpaceService.findByBusinessCode(user.getSpaceUID());
+					if (detail != null) {
+                        user.setSpaceDomain(detail.getDomain());
+                    }
+					/*
+					 * 设置登录 Cookie 最后一个参数 true 时添加 cookie 同时销毁当前 JSESSIONID
+					 * 创建信任的 JSESSIONID
+					 */
+					// 通知各个应用用户已经登录
+					ModelMap data = new ModelMap();
+					data = addOtherAppRequestData(user, data, request.getSession().getAttribute("baseUrl"), true);
+					data.put("returnUrl", HttpUtil.decodeURL(returnUrl));
+					SSOToken st = new SSOToken(request, user.getUid());
+					st.setData(JSON.toJSONString(user));
+					SSOHelper.setSSOCookie(request, response, st, true);
+					return success(data);
+				} else {
+                    String username = String.valueOf(request.getSession().getAttribute("username"));
+					inputErrorPwd(username);
+					ModelMap data = checkPwdError(username);
+					return error("您输入的账号或密码有误").addAllAttributes(data);
 				}
-				/*
-				 * 设置登录 Cookie 最后一个参数 true 时添加 cookie 同时销毁当前 JSESSIONID
-				 * 创建信任的 JSESSIONID
-				 */
-				// 通知各个应用用户已经登录
-				ModelMap data = new ModelMap();
-				data = addOtherAppRequestData(user, data, request.getSession().getAttribute("baseUrl"), true);
-				data.put("returnUrl", HttpUtil.decodeURL(returnUrl));
-				SSOToken st = new SSOToken(request, user.getUid());
-				st.setData(JSON.toJSONString(user));
-				SSOHelper.setSSOCookie(request, response, st, true);
-				return success(data);
 			}
 		}
 	}
@@ -916,41 +1031,4 @@ public class LoginController extends BaseController {
 			e.printStackTrace();
 		}
 	}
-
-    /**
-     * 跨域切换企业
-     * @param businessCode 企业营业执照号
-     * @throws IOException
-     */
-	@RequestMapping(value = "/change/userspace", method = RequestMethod.GET)
-	@ResponseBody
-	public void changeUserSpace(String businessCode) throws IOException {
-		String callback = request.getParameter("callback");
-		response.setContentType("text/html;charset=UTF-8");
-		SSOToken token = SSOHelper.getToken(request);
-		if (token != null) {
-			SSOToken st = SSOHelper.getToken(request);
-			User user = JSON.parseObject(st.getData(), User.class);
-			user = userService.findOne(user.getAppId(), businessCode, user.getUid());
-			if (user == null) {
-				printJsonP(callback, error("403", "切换账号失败"));
-			}
-			st.setData(JSON.toJSONString(user));
-			SSOHelper.setSSOCookie(request, response, st, true);
-			printJsonP(callback, success());
-		} else {
-			// 未登录
-			printJsonP(callback, error("404", "未登录"));
-		}
-	}
-
-	/**
-	 * 判断是否登录, 测试接口
-	 * @return
-	 */
-	@RequestMapping(value = "/isLogin", method = RequestMethod.GET)
-	public ModelMap isLogin() {
-		SSOToken token = SSOHelper.getToken(request);
-		return success(new ModelMap("isLogin", token != null));
-	}
 }

+ 146 - 125
account-server/src/main/java/com/uas/sso/controller/RegisterController.java

@@ -10,15 +10,7 @@ import java.util.regex.Pattern;
 
 import javax.validation.Valid;
 
-import com.alibaba.fastjson.JSON;
-import com.sun.istack.internal.NotNull;
-import com.uas.account.core.Const;
-import com.uas.account.core.Logger;
 import com.uas.account.exception.VisibleError;
-import com.uas.sso.common.util.HttpUtil;
-import com.uas.sso.entity.UserSpaceView;
-import com.uas.sso.entity.UserView;
-import com.uas.sso.util.AccountUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -86,7 +78,6 @@ public class RegisterController extends BaseController {
 	@Autowired
 	private UserService userService;
 
-    private Logger logger = Logger.getLogger();
 	/**
 	 * 注册界面,注册三步都由此方法加载,使用pageStep控制注册步数
 	 *
@@ -110,18 +101,69 @@ public class RegisterController extends BaseController {
 			appId = AccountConfig.ACCOUNT_CENTER;
 		}
 		model.addAttribute("appId", appId);
+		String iconUrl;
+		String iconIndexUrl;
+		if ("mall".equals(appId)) {
+			iconUrl = "/static/img/icon_mall_index.png";
+			iconIndexUrl = "https://www.usoftmall.com/";
+		} else {
+			iconUrl = "/static/img/icon_brand.png";
+			iconIndexUrl = "http://www.ubtob.com/";
+		}
+		model.addAttribute("iconUrl", iconUrl);
+		model.addAttribute("iconIndexUrl", iconIndexUrl);
+
 		Object businessCode = request.getSession().getAttribute("businessCode");
 		final UserSpaceDetail detail = (UserSpaceDetail) request.getSession().getAttribute("userspace");
 		String inviteuid = wr.getParameter("inviteuid");
 		String inviteUserCode = wr.getParameter("inviteUserCode");
 		String method = wr.getParameter("method");
-		ModelMap data = new ModelMap();
-		data.put("returnUrl", returnUrl);
-		data.put("appId", appId);
-		data.put("inviteuid", inviteuid);
-		data.put("inviteUserCode", inviteUserCode);
-		data.put("method", method);
-		return new ModelAndView("redirect:https://sso.ubtob.com/register/enterpriseRegistration", data);
+		String router = "sso/register";
+		/*
+		 * businessCode为空或者userspace数据为空时则跳转第一步,并清除userspace数据,注册一个新的企业
+		 * 否则
+		 * 		1、页面跳转第一步,清除businessCode,为了再次刷新清除历史注册数据
+		 * 		2、页面跳转第二步,将填写的企业信息放入session中,企业激活
+		 * 		3、页面跳转第三步,清除userspace,为了刷新页面之后跳转第一步并清除本次注册数据
+		 * 	第一步不能清除userspace数据,否则在第二步时点上一步按钮没有企业数据
+		 * 	第三步不能清除businessCode,否则开通应用的时候找不到企业
+		 * 	所以当userspace或者businessCode为空时表示新注册一个新的企业
+		 */
+		if (!StringUtils.isEmpty(businessCode) && detail != null) {
+			int pageStep = (int) request.getSession().getAttribute("pageStep");
+			if (pageStep == 1) {
+				model.addAttribute("pageToken", request.getSession().getAttribute("pageToken"));
+				request.getSession().removeAttribute("businessCode");
+			} else if (pageStep == 2) {
+				model.addAttribute("pageToken", request.getSession().getAttribute("pageToken"));
+				request.getSession().setAttribute("returnUrl", returnUrl);
+			} else {
+				List<User> users = userService.findByUID(detail.getAdminTel());
+				model.addAttribute("adminExist", !CollectionUtils.isEmpty(users));
+				detail.setDomain(generateDefaultDomain(detail));
+				model.addAttribute("content", detail);
+				model.addAttribute("pageStep", 3);
+				request.getSession().removeAttribute("userspace");
+			}
+		} else {
+			// new
+			model.addAttribute("pageStep", 1);
+            request.getSession().removeAttribute("userspace");
+			request.getSession().removeAttribute("businessCode");
+			// // 防恶意注册
+			String pageToken = StringUtil.uuid();
+			request.getSession().setAttribute("pageToken", pageToken);
+			model.addAttribute("pageToken", pageToken);
+			request.getSession().setAttribute("returnUrl", returnUrl);
+			if (null != inviteuid && null != inviteUserCode) {
+				request.getSession().setAttribute("inviteuid", inviteuid);
+				request.getSession().setAttribute("inviteUserCode", inviteUserCode);
+				if (null != method) {
+					request.getSession().setAttribute("method", method);
+				}
+			}
+		}
+		return new ModelAndView(router, model);
 
 	}
 
@@ -222,10 +264,6 @@ public class RegisterController extends BaseController {
 					detail.setMethod(method.toString());
 				}
 			}
-            Object registerUrl = request.getSession().getAttribute("registerUrl");
-			if (null != registerUrl) {
-			    detail.setRegisterUrl(registerUrl.toString());
-            }
 			String password = request.getSession().getAttribute("password") == null ? view.getPassword() : request.getSession().getAttribute("password").toString();
 			UserSpaceAndUserInfo viewinfo = userSpaceService.initUserSpaceDetail(detail, password,
 					view.getUserDetails());
@@ -490,36 +528,60 @@ public class RegisterController extends BaseController {
 				request.getSession().setAttribute("method", method);
 			}
 		}
-		String path = null;
-		if (!StringUtils.isEmpty(businessImage)) {
-			path = saveFile(businessImage);
-		} else {
-
-		}
-		if (path != null) {
-			detail.setBusinessCodeImage(path);
-		} else {
-			return error("请检查您的营业执照附件").addAttribute("pageToken", pageToken);
-		}
-		try {
-			AccountUtils.checkSpaceName(detail.getName());
-		} catch (Exception e) {
-			throw new VisibleError(e.getMessage());
+		String path = saveFile(businessImage);
+		detail.setBusinessCodeImage(path);
+		UserSpaceDetail oldOne = userSpaceService.findByName(detail.getName());
+		if (oldOne != null && oldOne.getStatus().equals(Status.ENABLED.value())) {
+			throw new VisibleError("企业名称已被注册!");
 		}
 
-		try {
-			AccountUtils.checkBusinessCode(detail.getBusinessCode());
-		} catch (Exception e) {
-			throw new VisibleError(e.getMessage());
+		oldOne = userSpaceService.findByBusinessCode(detail.getBusinessCode());
+		if (oldOne != null && oldOne.getStatus().equals(Status.ENABLED.value())) {
+			throw new VisibleError("营业执照号已被注册!");
 		}
-		request.getSession().setAttribute("pageStep", 2);
-		request.getSession().setAttribute("businessCode", detail.getBusinessCode());
+		request.getSession().setAttribute("pageStep", 3);
 		request.getSession().setAttribute("userspace", detail);
-        request.getSession().setAttribute("registerUrl", request.getRequestURL() + (StringUtils.isEmpty(request.getQueryString()) ? "" : "?" + request.getQueryString()));
-		logger.info(StringUtils.isEmpty(businessImage) ? "mobile web" : "mobile uu", "注册链接", request.getRequestURL() + (StringUtils.isEmpty(request.getQueryString()) ? "" : "?" + request.getQueryString()));
 		return success(data);
 	}
 
+//	@RequestMapping(value = "/mobile/userspace/register", method = RequestMethod.POST)
+//	@ResponseBody
+//	public ModelMap registerByMobile(final @Valid UserSpaceDetail detail, BindingResult result,
+//			@RequestParam(required = true) String pageToken) {
+//		if (!pageToken.equals(request.getSession().getAttribute("pageToken"))) {
+//			return error("为防止恶意注册,请刷新后重试");
+//		} else {
+//			// 刷新token
+//			pageToken = StringUtil.uuid();
+//			request.getSession().setAttribute("pageToken", pageToken);
+//		}
+//		if (result.hasErrors()) {
+//			return error(result.getFieldErrors()).addAttribute("pageToken", pageToken);
+//		}
+//
+//		userSpaceService.register(detail);
+//
+//		request.getSession().setAttribute("pageStep", 3);
+//		request.getSession().removeAttribute("pageToken");
+//		// 知会下审核人
+//		ExecuteUtils.asyncExecute(new Runnable() {
+//
+//			@Override
+//			public void run() {
+//				// 邮件
+//				Setting mailReceiver = settingService.findOne("mailReceiverAfterRegister");
+//				Setting mailTpl = settingService.findOne("templateForSendMailWhenRegister");
+//				if (mailReceiver != null && mailTpl != null) {
+//					ModelMap data = new ModelMap();
+//					data.put("name", detail.getShortName());
+//					mailService.send(mailTpl.getValue(), mailReceiver.getValue(), data);
+//				}
+//			}
+//		});
+//		request.getSession().setAttribute("businessCode", detail.getBusinessCode());
+//		return success();
+//	}
+
 	/**
 	 * 手机注册设置管理员
 	 * 
@@ -552,11 +614,7 @@ public class RegisterController extends BaseController {
 		userSpaceDetail.setCheckcode(adminDetail.getCheckcode());
 		userSpaceDetail.setCheckcodeToken(adminDetail.getCheckcodeToken());
 
-		UserSpaceView us = userSpaceService.register(userSpaceDetail, password);
-
-		ModelMap map = new ModelMap();
-		map.put("imid", us.getAdmin().getImId());
-		map.put("enUU", us.getSpaceUU());
+		userSpaceDetail = userSpaceService.register(userSpaceDetail);
 
 		// 知会下审核人
 		final UserSpaceDetail finalUserSpaceDetail = userSpaceDetail;
@@ -574,90 +632,51 @@ public class RegisterController extends BaseController {
 				}
 			}
 		});
-		return success(map);
-	}
 
-	public ModelMap syncIm(UserSpaceDetail userSpaceDetail) {
-		request.getSession().removeAttribute("businessCode");
-		String mobile = userSpaceDetail.getAdminTel();
-		String businessCode = userSpaceDetail.getBusinessCode();
+		ApplyAppView applyAppView = new ApplyAppView();
+		applyAppView.setPassword(password);
+		List<UserDetail> userDetails = new ArrayList<>();
+		userDetails.add(new UserDetail(userSpaceDetail));
+		applyAppView.setUsers(JSONObject.toJSONString(userDetails));
+		request.getSession().setAttribute("businessCode", userSpaceDetail.getBusinessCode() );
+		applyApps(null, applyAppView);
 		String spaceUid = null;
-		User imUser = userService.findOne("im", spaceUid, mobile);
-		User b2bUser = userService.findOne("b2b", businessCode, mobile);
-		UserDetail userDetail = userService.findOne(mobile);
-		ModelMap data = new ModelMap();
+		User imUser = userService.findOne("im", spaceUid, userSpaceDetail.getAdminTel());
+		User b2bUser = userService.findOne("b2b", userSpaceDetail.getBusinessCode(), userSpaceDetail.getAdminTel());
 		ModelMap map = new ModelMap();
-		data.put("imid", imUser == null ? 0 : imUser.getDialectUID());
-		data.put("telephone", mobile);
-		data.put("password", imUser == null ? 0 : imUser.getPassword());
-		data.put("nickname", userDetail.getName());
-		data.put("sex", StringUtils.isEmpty(userDetail.getSex()) ? 0 : userDetail.getSex());
-		data.put("birthday", StringUtils.isEmpty(userDetail.getBirthday()) ? System.currentTimeMillis() : userDetail.getBirthday());
-		map.put("sc_uu", b2bUser == null ? null : b2bUser.getSpaceDialectUID());
-		map.put("sc_companyname", userSpaceDetail.getName());
-		map.put("sc_industry", userSpaceDetail.getProfession());
-		map.put("sc_address", userSpaceDetail.getAddress());
-		map.put("sc_adminname", userSpaceDetail.getAdminName());
-		map.put("sc_telephone", userSpaceDetail.getAdminTel());
-		map.put("sc_longitude", userSpaceDetail.getLongitude());
-		map.put("sc_industrycode", getIndustryCode(userSpaceDetail.getProfession()));
-		map.put("sc_latitude", userSpaceDetail.getLatitude());
-		data.put("map", JSON.toJSONString(map));
-        App app = appService.findOne("im");
-        String url = app.getBackSpaceUrl();
-        if (!StringUtils.isEmpty(url)) {
-            try {
-                HttpUtil.ResponseWrap res = HttpUtil.doGet(url, data);
-                if (!res.isSuccess()) {
-                    logger.error(this.getClass(), userSpaceDetail.getName(), "企业注册同步至uu互联失败", res.getContent());
-                } else {
-                    logger.info(this.getClass(), userSpaceDetail.getName(), "企业注册同步至uu互联成功", userSpaceDetail);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-                logger.error(this.getClass(), userSpaceDetail.getName(), "企业注册同步至uu互联失败", e.getMessage());
-            }
-        }
-		return success();
-	}
-
-	/**
-	 * 根据行业获取行业编号
-	 * @param profession 行业编号
-	 * @return
-	 */
-	private String getIndustryCode(@NotNull String profession) {
-		switch (profession) {
-			case "医疗":
-				return "10001";
-			case "运动健身":
-				return "10002";
-			case "餐饮":
-				return "10003";
-			case "美容美发":
-				return "10004";
-			case "会所":
-				return "10005";
-			case "KTV":
-				return "10006";
-			default:
-				return "0";
-		}
+		map.put("enUU", b2bUser == null ? null : b2bUser.getSpaceDialectUID());
+		map.put("imid", imUser == null ? null : imUser.getDialectUID());
+		return success(map);
 	}
 
-
-	/**
+    /**
      * 校验密码,如果账号存在但是密码错误,则返回false,否则为true
      */
 	private boolean checkPassword(String adminTel, String password) {
-		UserView userView = new UserView();
-		userView.setMobile(adminTel);
-		userView.setPassword(password);
-		try {
-			return AccountUtils.fuzzyCheckPassword(userView);
-		} catch (Exception e) {
-			throw new VisibleError(e.getMessage());
+
+		List<User> users = userService.findByUID(adminTel);
+		// 如果用户存在则校验密码
+		boolean checkPsw = false;
+		if (!CollectionUtils.isEmpty(users)) {
+			for (User one : users) {
+				App app = appService.findOne(one.getAppId());
+				if (app != null) {
+					app = StringUtils.isEmpty(app.getUserControl()) ? app : appService.findOne(app.getUserControl());
+				}
+				if (null != one.getId()) {
+					// 允许应用在调用该接口前,已经将用户输入的明文加密为密文
+					String encryPwd = password.length() >= 32 ? password : userService.getEncryPassword(
+							app.getEncryFormat(), password, one.getSalt());
+					if (encryPwd.equals(one.getPassword())) {
+						checkPsw = true;
+					}
+				}
+			}
+			if (!checkPsw){
+				return false;
+			}
 		}
+		return true;
 	}
 
 	/**
@@ -783,8 +802,10 @@ public class RegisterController extends BaseController {
             detail.setContactTel(detail.getAdminTel());
         }
         detail.setStatus(Status.ENABLED.value());
-		if (true) {
-			return error("注册失败,请使用新账户中心");
+        try { // 前台显示操作数据库信息,方便找错
+			detail = userSpaceService.register(detail);
+		} catch (RuntimeException e) {
+			return error(e.getMessage());
 		}
 		request.getSession().setAttribute("pageStep", 3);
 		modelMap.put("enuu",detail.getId());

+ 4 - 1
account-server/src/main/java/com/uas/sso/controller/RegisterPersonalController.java

@@ -169,7 +169,10 @@ public class RegisterPersonalController extends BaseController {
 			data.put("returnUrl", returnUrl);
 		}
 		Cookie cookie = new Cookie("useruu", user.getDialectUID());
-		cookie.setPath(SSOHelper.getSSOService().getConfig().getCookieDomain());
+		cookie.setPath("/");
+		response.addCookie(cookie);
+		cookie = new Cookie("user", JSON.toJSONString(user));
+		cookie.setPath("/");
 		response.addCookie(cookie);
 		ExecuteUtils.asyncExecute(new Runnable() {
 			@Override

+ 12 - 1
account-server/src/main/java/com/uas/sso/controller/ResetPasswordController.java

@@ -53,7 +53,18 @@ public class ResetPasswordController extends BaseController {
 		String appId = wr.getParameter(AccountConfig.AppIdParam);
 		model.put("appId", appId);
 		model.put("returnURL", returnUrl);
-		return new ModelAndView("redirect:https://sso.ubtob.com/reset/forgetPasswordValidationAccount", model);
+		String iconIndexUrl;
+		String iconUrl;
+		if ("mall".equals(appId)) {
+			iconUrl = "/static/img/icon_mall_index.png";
+			iconIndexUrl = "https://www.usoftmall.com/";
+			model.addAttribute("iconUrl", iconUrl);
+			model.addAttribute("iconIndexUrl", iconIndexUrl);
+		} else {
+			iconUrl = "/static/img/icon_brand.png";
+			model.addAttribute("iconUrl", iconUrl);
+		}
+		return new ModelAndView("user/pwd", model);
 	}
 
 }

+ 1 - 5
account-server/src/main/resources/conf/account.properties

@@ -4,14 +4,10 @@ sso.app=sso
 sso.secretkey=0taQcW073Z7G628g5H
 #sso.cookie.domain=ubtob.com
 sso.cookie.secure=false
-sso.cookie.browser=false
 sso.login.url=/sso/login
 sso.proxy.uri=/sso/login?appId=b2b
 
 ### crossdomain verify
 sso.authcookie.secretkey=Z318866alN6gA0piuO
 sso.center.public_key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL2g7CEfuPZtEDy7Iz5AL6iwbHZewWGUBYUWxKnFAwAW4lY8mMavn5Ke5mB25eKj5bvUsB48r8gWTvJNsKRGEw8CAwEAAQ==
-sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
-
-account.user.save.url = http://10.10.100.133:9990/api/user
-account.us.save.url = http://10.10.100.133:9990/api/userspace
+sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ

+ 0 - 1
account-server/src/main/webapp/WEB-INF/views/cloudcenter/index.jsp

@@ -49,7 +49,6 @@
     <div class="container">
         <div class="navbar-header">
             <input type="hidden" name="iconUrl" value="${iconUrl}">
-            <input type="hidden" name="type" value="${type}">
             <a class="navbar-brand" href="${iconIndexUrl}">云中心</a>
         </div>
         <ul class="nav navbar-nav" id="nav">

+ 0 - 24
account-server/src/main/webapp/WEB-INF/views/invite/header.jsp

@@ -1,24 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-	pageEncoding="UTF-8"%>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
-<nav class="x-navigation">
-	<div class="container">
-		<div class="navbar-header">
-			<a class="navbar-brand">邀请注册</a>
-		</div>
-		<div class="collapse navbar-collapse">
-			<ul class="x-menu">
-				<%--<li <c:if test="${module=='all'}"> class="nav-current"</c:if>><a--%>
-					<%--href="invite/all">企业列表</a></li>--%>
-				<%--<li <c:if test="${module=='enable'}"> class="nav-current"</c:if>><a--%>
-					<%--href="invite/enable">正常记录</a></li>--%>
-				<%--<li <c:if test="${module=='disable'}"> class="nav-current"</c:if>><a--%>
-					<%--href="invite/disable">异常数据</a></li>--%>
-			</ul>
-		</div>
-	</div>
-</nav>
-<script src="static/lib/js/jquery.min.js"></script>
-<script src="static/lib/js/bootstrap.min.js"></script>
-<script src="static/lib/js/toastr.min.js"></script>
-<script src="static/js/base.js"></script>

+ 0 - 206
account-server/src/main/webapp/WEB-INF/views/invite/inviteList.jsp

@@ -1,206 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-	pageEncoding="UTF-8"%>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
-<%
-	String path = request.getContextPath();
-	// nginx proxy: proxy_set_header 	X-Scheme 	$scheme; 
-	String scheme = request.getHeader("X-Scheme");
-	if (scheme == null) {
-		scheme = request.getScheme();
-	}
-	int port = request.getServerPort();
-	String basePath = scheme + "://" + request.getServerName() + ((port == 80 || port == 443) ? "" : (":" + port)) + path + "/";
-%>
-<!DOCTYPE html>
-<html lang="zh-CN">
-<head>
-<meta charset="utf-8" />
-<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-<meta name="renderer" content="webkit">
-<title>账户中心</title>
-<meta name="description" content="" />
-<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-<base href="<%=basePath%>">
-<link rel="shortcut icon" href="static/img/icon.png">
-<link rel="stylesheet" type="text/css"
-	href="static/lib/css/bootstrap.min.css">
-<link rel="stylesheet" type="text/css"
-	href="static/lib/css/font-awesome.min.css">
-<link rel="stylesheet" type="text/css"
-	href="static/lib/css/toastr.min.css">
-<link rel="stylesheet" type="text/css" href="static/css/business.css"/>
-<meta name="referrer" content="origin" />
-</head>
-<body class="home-template">
-	<!-- navigation start -->
-	<c:set var="module" value="groups" scope="session" />
-	<jsp:include page="header.jsp" />
-	<!-- navigation end -->
-
-	<!-- main area start -->
-	<div class="x-container">
-		<div class="container">
-			<div class="row">
-				<div class="x-content-wrap clearfix">
-					<div class="col-sm-12 col-md-9 x-content">
-						<!-- tab切换 start-->
-						<ul class="nav nav-tabs x-nav-tabs x-navbar-right hidden-xs">
-                            <li class="active"><a data-status="DISABLED">异常邀请</a></li>
-                            <li><a data-status="ENABLED">邀请记录</a></li>
-							<li><a data-status="ALL">企业列表</a></li>
-							<h2 class="btn-group">
-								<span class="btn btn-lg x-btn-search"><i class="fa fa-search"></i>
-									企业</span>
-								<div class="dropdown-menu" id="searchlist" style="padding: 15px; width: 240px;" id="enterprise-search">
-									<form>
-										<div class="form-group">
-											<label>名称</label> <input type="search" class="form-control"
-												name="name" placeholder="输入企业名称关键字">
-										</div>
-										<div class="form-group">
-											<label>管理员姓名</label> <input type="text" class="form-control"
-												name="adminName" placeholder="请输入管理员姓名">
-										</div>
-										<div class="form-group">
-											<div>
-												<label>分页设置</label>
-											</div>
-											<label class="radio-inline"> <input type="radio"
-												name="pageSize" value="10" checked> 10
-											</label> <label class="radio-inline"> <input type="radio"
-												name="pageSize" value="20"> 20
-											</label> <label class="radio-inline"> <input type="radio"
-												name="pageSize" value="50"> 50
-											</label>
-										</div>
-										<button class="btn btn-default btn-block btn-search"
-											type="button">搜索</button>
-									</form>
-								</div>
-							</h2>
-						</ul>
-						<!-- tab切换 end-->
-						<!-- 列表 start -->
-						<div class="x-mod x-list x-data-list-wrap">
-							<div class="x-mod-body">
-								<div class="x-data-list">
-									<!-- items -->
-								</div>
-								<div class="x-empty" style="display: none">
-									<i class="fa fa-coffee"></i>
-									<p>这里很干净!</p>
-								</div>
-							</div>
-							<div class="x-mod-footer">
-								<div class="text-center">
-									<ul class="pagination pull-right"></ul>
-								</div>
-							</div>
-						</div>
-						<!-- 列表 end -->
-					</div>
-
-					<!-- 侧边统计栏 start-->
-					<div class="col-sm-12 col-md-3 x-side-bar hidden-xs hidden-sm">
-						<!-- 开通应用统计 -->
-						<div class="x-mod text-justify" id="userSpaceAppCount">
-							<div class="x-mod-head">
-								<h4>企业分类统计</h4>
-							</div>
-							<div class="x-mod-body"></div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-    <!-- loading -->
-    <div id="loading">
-        <div class="x-loading-wrap"></div>
-        <div class="x-loading">
-            <div></div>
-            <div></div>
-            <div></div>
-        </div>
-    </div>
-	<!-- main area end -->
-	<script src="static/lib/js/jquery.min.js"></script>
-	<script src="static/lib/js/bootstrap.min.js"></script>
-	<script src="static/lib/js/toastr.min.js"></script>
-	<script src="static/js/base.js"></script>
-	<script src="static/js/invite.js"></script>
-	<!-- modal -->
-	<script type="text/html" id="userSpaceDetailModal">
-<div class="modal fade" role="dialog">
-	<div class="modal-dialog x-modal-dialog modal-lg" role="document">
-		<div class="modal-content">
-			<!-- tab切换 start-->
-			<ul
-				class="nav nav-tabs x-nav-tabs x-navbar-right hidden-xs modal-header"
-				role="tablist">
-				<li class="active"><a href="#userSpaceDetailModal_info"
-					aria-controls="userSpaceDetailModal_info" role="tab"
-					data-toggle="tab">详细资料</a></li>
-				<h2 class="hidden-xs">
-					<i class="fa fa-file-text-o"></i> @{shortName}
-				</h2>
-			</ul>
-			<!-- tab切换 end-->
-			<div role="tabpanel" id="userSpaceDetailModal_info"
-				class="x-tab-pane active">
-				<div class="modal-body">
-					<div class="x-group-header">
-						<h4>企业信息</h4>
-					</div>
-					<dl class="dl-horizontal x-dl-horizontal">
-						<dt>企业名称</dt>
-						<dd>@{name} </dd>
-						<dt>企业地址</dt>
-						<dd>@{address}</dd>
-						<dt>注册时间</dt>
-						<dd>@{fn:parseDate}</dd>
-                        <dt>物料上传数</dt>
-                        <dd>@{productCount}</dd>
-					</dl>
-					<div class="x-group-header">
-						<h4>管理员信息</h4>
-					</div>
-					<dl class="dl-horizontal x-dl-horizontal">
-						<dt>姓名</dt>
-						<dd>@{adminName}</dd>
-						<dt>手机号</dt>
-						<dd>@{adminTel}</dd>
-					</dl>
-                    <div class="x-group-header">
-                        <h4>邀请人信息</h4>
-                    </div>
-                    <dl class="dl-horizontal x-dl-horizontal" id="old-inviteInfo">
-                        <dt>邀请企业</dt>
-                        <dd>@{inviteEnName}</dd>
-                        <dt>邀请人</dt>
-                        <dd>@{userName}</dd>
-                        <dt>联系方式</dt>
-                        <dd>@{userTel}</dd>
-                    </dl>
-                    <dl class="dl-horizontal x-dl-horizontal" id="new-inviteInfo" style="display: none">
-                        <dt>邀请企业</dt>
-                        <dd><input type="text" value="@{inviteEnName}" name="new_inviteEnName"></dd>
-                        <dt>邀请人</dt>
-                        <dd><input type="text" value="@{userName}" name="new_userName"></dd>
-                        <dt>联系方式</dt>
-                        <dd><input type="text" value="@{userTel}" name="new_userTel"></dd>
-                    </dl>
-				</div>
-				<div class="modal-footer">
-					<button type="button" class="btn btn-blank x-btn-close" data-dismiss="modal">关闭</button>
-					<button type="button" class="btn btn-default x-btn-renew" title="修改邀请信息">修改邀请信息</button>
-                    <button type="button" class="btn btn-default x-btn-confirm" title="确定修改" style="display: none">确定修改</button>
-                    <button type="button" class="btn btn-blank x-btn-cancel" title="取消修改" style="display: none">取消</button>
-				</div>
-			</div>
-		</div>
-	</div>
-</div>
-	</script>
-</body>
-</html>

+ 373 - 333
account-server/src/main/webapp/WEB-INF/views/mobile/sso/register.jsp

@@ -1,334 +1,374 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-	pageEncoding="UTF-8"%>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
-<%
-	String path = request.getContextPath();
-	// nginx proxy: proxy_set_header 	X-Scheme 	$scheme; 
-	String scheme = request.getHeader("X-Scheme");
-	if (scheme == null) {
-		scheme = request.getScheme();
-	}
-	int port = request.getServerPort();
-	String basePath = scheme + "://" + request.getServerName() + ((port == 80 || port == 443) ? "" : (":" + port)) + path + "/";
-%>
-<!DOCTYPE html>
-<html lang="zh-CN">
-<head>
-<title>账户注册 - 优软云</title>
-<meta name="description" content="" />
-<meta charset="utf-8">
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width" />
-<base href="<%=basePath%>">
-<link rel="shortcut icon" href="static/img/icon.png">
-<link rel="stylesheet" type="text/css" href="static/lib/css/weui.min.css">
-<link rel="stylesheet" type="text/css" href="static/lib/css/toastr.min.css">
-	<link rel="stylesheet" href="https://cdn.bootcss.com/weui/1.1.2/style/weui.min.css">
-	<link rel="stylesheet" href="https://cdn.bootcss.com/jquery-weui/1.2.0/css/jquery-weui.min.css">
-<link rel="stylesheet" href="static/css/mobile/register.css" />
-<meta name="referrer" content="origin" />
-</head>
-<body>
-    <input type="hidden" name="pageStep" value="${pageStep}">
-    <input type="hidden" name="appId" value="${appId}">
-    <input type="hidden" name="returnUrl" value="${returnUrl}">
-	<c:if test="${pageStep==1}"><%--${pageStep==1}--%>
-        <%--引导部分--%>
-	    <div class="container" style="background-color: #f1f9ff;">
-		<div class="weui-flex">
-			<div class="weui-flex__item g-item active">
-				<div class="f-info">
-                    <span>1</span>
-                    <i class="right"></i>
-				</div>
-				<p>填写企业信息</p>
-			</div>
-			<div class="weui-flex__item g-item">
-                <div class="f-info">
-                    <i class="left"></i>
-                    <span>2</span>
-                    <i class="right"></i>
-                </div>
-                <p>填写管理员信息</p>
-            </div>
-			<div class="weui-flex__item g-item">
-                <div class="f-info">
-                    <i class="left"></i>
-                    <span>3</span>
-                    <i class="right"></i>
-                </div>
-                <p>审核中</p>
-            </div>
-			<div class="weui-flex__item g-item">
-                <div class="f-info">
-                    <i class="left"></i>
-                    <span>4</span>
-                </div>
-                <p>注册成功</p>
-            </div>
-		</div>
-	    </div>
-        <%--表单填写部分--%>
-        <div class="container">
-            <form class="x-form-first">
-                <input type="hidden" name="pageToken" value="${pageToken}">
-            <div class="weui-cells weui-cells_form">
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">企业名称</label></div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" type="text" x-minlength="2" x-maxlength="99" name="name" required
-                               placeholder="例如:***有限公司" x-error-text="请填写正确的企业名称,2~99个字符">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">企业执照</label></div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" type="text" x-maxlength="60" placeholder="例如:***789"
-                               name="businessCode" x-error-text="请填写正确的营业执照号,1~60个字符">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">法定代表人</label></div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" type="text" name="corporation" placeholder="例如:张三">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">企业地址</label></div>
-                    <div class="weui-cell__bd">
-                        <input id="address" name="address" class="weui-input" type="text" required
-                               placeholder="例如:**省**市**区**路**号" x-error-text="请填写正确的地址" readonly>
-                        <input name="longitude" type="hidden">
-                        <input name="latitude" type="hidden">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">所在行业</label></div>
-                    <div class="weui-cell__bd tree">
-                        <input name="profession" class="weui-input" type="text" id="profession" readonly>
-                        <div class="profession-modal x-profession-list dropdown">
-                            <div class="modal-left">
-                                <ul id="treeOne">
-                                </ul>
-                            </div>
-                            <div class="modal-right">
-                                <ul id="treeTwo">
-                                </ul>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">经营范围</label></div>
-                    <div class="weui-cell__bd">
-                        <input name="tags" class="weui-input" type="text">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__bd">
-                        <div class="weui-uploader">
-                            <div class="weui-uploader__hd">
-                                <p class="weui-uploader__title">上传营业执照 <span class="small">(请保证照片清晰可见,方便我们审核!)</span> </p>
-                            </div>
-                            <div class="weui-uploader__bd">
-                                <div class="weui-uploader__input-box">
-                                    <input name="businessFile" id="businessFile" class="weui-uploader__input" type="file"
-                                           accept="image/*" multiple="" x-error-text="请上传营业执照扫描件(≤5M的图片或PDF)"
-                                           arias-preview="businessImagePreview">
-                                </div>
-                                <div id="businessImagePreview" class="help-block"
-                                     style="display: none">
-                                    <div class="x-image">
-                                        <a href="javascript:void(0);" class="thumbnail x-btn-image">
-                                            <img/>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <button type="button" class="btn weui_btn x-btn-primary x-btn-submit">注册</button>
-            </form>
-        </div>
-	</c:if>
-    <c:if test="${pageStep==2}"><%--${pageStep==1}--%>
-        <%--引导部分--%>
-        <div class="container" style="background-color: #f1f9ff;">
-            <div class="weui-flex">
-                <div class="weui-flex__item g-item active">
-                    <div class="f-info">
-                        <span>1</span>
-                        <i class="right"></i>
-                    </div>
-                    <p>填写企业信息</p>
-                </div>
-                <div class="weui-flex__item g-item active">
-                    <div class="f-info">
-                        <i class="left"></i>
-                        <span>2</span>
-                        <i class="right"></i>
-                    </div>
-                    <p>填写管理员信息</p>
-                </div>
-                <div class="weui-flex__item g-item">
-                    <div class="f-info">
-                        <i class="left"></i>
-                        <span>3</span>
-                        <i class="right"></i>
-                    </div>
-                    <p>审核中</p>
-                </div>
-                <div class="weui-flex__item g-item">
-                    <div class="f-info">
-                        <i class="left"></i>
-                        <span>4</span>
-                    </div>
-                    <p>注册成功</p>
-                </div>
-            </div>
-        </div>
-        <%--表单填写部分--%>
-        <div class="container">
-            <form class="x-form-second">
-            <input name="pageToken" value="${pageToken}" type="hidden">
-            <div class="weui-cells weui-cells_form">
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">姓名</label></div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" type="text" name="adminName" placeholder="例如:张三">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd">
-                        <label class="weui-label">手机号</label>
-                    </div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" x-pattern="^1[0-9]{10}$" type="tel" name="adminTel" placeholder="例如:×××789">
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd">
-                        <label class="weui-label">邮箱</label>
-                    </div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" x-pattern="^([\w-])+(\.\w+)*@([\w-])+((\.\w{2,3}){1,3})$" type="email" name="adminEmail" placeholder="例如:123@example.com">
-                    </div>
-                </div>
-                <div class="weui-cell weui-cell_vcode">
-                    <div class="weui-cell__hd">
-                        <label class="weui-label">验证码</label>
-                    </div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" type="text" name="checkcode" placeholder="请输入验证码">
-                    </div>
-                    <div class="weui-cell__ft">
-                        <button class="weui_btn weui-vcode-btn x-btn x-btn-checkcode" type="button" disabled="disabled">
-                            <span>获取验证码</span>
-                            <span class="x-timeout-word" style="display: none;">
-										<span class="x-timeout-num">60</span>秒
-									</span>
-                        </button>
-                    </div>
-                </div>
-                <div class="weui-cell">
-                    <div class="weui-cell__hd"><label class="weui-label">密码</label></div>
-                    <div class="weui-cell__bd">
-                        <input class="weui-input" type="text" name="password" placeholder="例如:Aa***789">
-                    </div>
-                    <div class="weui-cell__ft">
-                        <i class="weui-icon-warn"></i>
-                    </div>
-                </div>
-            </div>
-            <%--按钮--%>
-            <div class="container g-ft">
-                <label class="weui-agree">
-                    <input class="weui-agree__checkbox" type="checkbox" id="agree" name="agree">
-                    <span>我已阅读并同意<a href="/common/rules">《优软云服务协议》</a>、<a href="http://www.usoftmall.com/help#/issue/50">《优软商城服务协议》</a>、<a href="http://www.usoftmall.com/help#/issue/16">《优软商城买卖条款》</a></span>
-                </label>
-                <a href="javascript:void(0);" class="weui-btn weui-btn_primary x-btn-submit">注册</a>
-            </div>
-            </form>
-        </div>
-
-    </c:if>
-
-    <!--百度地图加载-->
-    <div id="mapPopup" class="weui-popup__container">
-      <div class="weui-popup__overlay"></div>
-      <div class="weui-popup__modal">
-          <div id="g-map">
-              <div class="weui-cells">
-                  <div class="weui-cell">
-                      <div class="weui-cell__bd">
-                          <input id="tipinput" placeholder="请输入地址信息" class="weui-input" value=""/>
-                      </div>
-                  </div>
-                  <div class="weui-cell weui-cell_vcode">
-                      <div class="weui-cell__bd">
-                          <input id="input" placeholder="请输入**楼**号" class="weui-input"/>
-                      </div>
-                      <div class="weui-cell__ft">
-                          <span id="enter" class="weui-vcode-btn">确认</span>
-                      </div>
-                  </div>
-              </div>
-              <div id="map"></div>
-          </div>
-      </div>
-    </div>
-	<!-- loading -->
-	<div id="loading" class="weui_loading_toast">
-		<div class="weui_mask_transparent"></div>
-		<div class="weui_toast">
-			<div class="weui_loading">
-				<div class="weui_loading_leaf weui_loading_leaf_0"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_1"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_2"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_3"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_4"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_5"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_6"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_7"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_8"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_9"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_10"></div>
-				<div class="weui_loading_leaf weui_loading_leaf_11"></div>
-			</div>
-			<p class="weui_toast_content">加载中</p>
-		</div>
-	</div>
-
-	<!-- imageDialog -->
-	<div class="weui_dialog_alert" id="imgDialog" style="display: none;">
-		<div class="weui_mask" style="background: rgba(0,0,0,1);"></div>
-		<div class="weui_dialog_img">
-			<img src="" alt="" width="100%"/>
-		</div>
-	</div>
-
-	<!-- alert dialog -->
-	<div class="weui_dialog_alert" id="alertDialog" style="display: none;">
-		<div class="weui_mask"></div>
-		<div class="weui_dialog">
-			<div class="weui_dialog_hd"><strong class="weui_dialog_title">注册成功</strong></div>
-			<div class="weui_dialog_bd">您已经成功注册,<span id="count">3</span>秒后自动跳转到登录页面!</div>
-			<div class="weui_dialog_ft">
-				<a href="javascript:;" class="weui_btn_dialog"></a>
-			</div>
-		</div>
-	</div>
-
-	<script src="static/lib/js/jquery.min.js"></script>
-	<script src="static/lib/js/toastr.min.js"></script>
-    <script src="https://cdn.bootcss.com/jquery-weui/1.2.0/js/jquery-weui.min.js"></script>
-    <script src="https://cdn.bootcss.com/jquery-weui/1.2.0/js/swiper.min.js"></script>
-    <script src="https://cdn.bootcss.com/jquery-weui/1.2.0/js/city-picker.min.js"></script>
-	<script src="static/js/upload.js"></script>
-	<script src="static/js/base.js"></script>
-    <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.3&key=b74638aa26e49cb79372cd9f3a6f8e71&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder,AMap.Geolocation"></script>
-    <script src="static/js/mobile/register.js"></script>
-</body>
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+	pageEncoding="UTF-8"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%
+	String path = request.getContextPath();
+	// nginx proxy: proxy_set_header 	X-Scheme 	$scheme; 
+	String scheme = request.getHeader("X-Scheme");
+	if (scheme == null) {
+		scheme = request.getScheme();
+	}
+	int port = request.getServerPort();
+	String basePath = scheme + "://" + request.getServerName() + ((port == 80 || port == 443) ? "" : (":" + port)) + path + "/";
+%>
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+<title>账户注册 - 优软云</title>
+<meta name="description" content="" />
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<base href="<%=basePath%>">
+<link rel="shortcut icon" href="static/img/icon.png">
+<link rel="stylesheet" type="text/css" href="static/lib/css/weui.min.css">
+<link rel="stylesheet" type="text/css" href="static/lib/css/toastr.min.css">
+<link rel="stylesheet" href="static/css/mobile/register.css" />
+<meta name="referrer" content="origin" />
+</head>
+<body>
+	<c:if test="${pageStep==1}"><%--${pageStep==1}--%>
+	<div class="container">
+		<div class="cell">
+			<!-- Header -->
+			<div class="hd">
+				<h4>
+					<img src="static/img/icon_brand.png" alt="" height="20px"/>
+					<span>优软云</span>
+				</h4>
+			</div>
+
+			<div class="bd x-login-form" id="form-wrap">
+				<form class="x-form">
+					<input type="hidden" name="pageToken" value="${pageToken}">
+					<input type="hidden" name="pageStep" value="${pageStep}">
+					<!-- Enterprise info form -->
+					<div class="weui_cells_title">
+						企业资料信息
+					</div>
+					<div class="weui_cells weui_cells_form">
+                        <div class="weui_cell">
+                            <div class="weui_cell_hd">
+                                <label class="weui_label">企业名称</label>
+                            </div>
+                            <div class="weui_cell_bd weui_cell_primary">
+                                <input type="text" class="weui_input " placeholder="必填,正式全称"
+                                       name="name" required="required" x-help-by="name_help"
+                                       x-error-by="name_err" x-maxlength="20"/>
+                            </div>
+                            <div style="display: none;">
+                                <div id="name_help" class="x-text-help">
+                                    <i class="glyphicon glyphicon-info-sign x-icon-left"></i>填写在工商局注册的企业名称
+                                </div>
+                                <div id="name_err" class="x-text-error" style="display: none">
+                                    <i class="glyphicon glyphicon-info-sign x-icon-left"></i>请填写营业执照上的企业名称
+                                </div>
+                            </div>
+                        </div>
+                        <div class="weui_cell">
+                            <div class="weui_cell_hd">
+                                <label class="weui_label">企业简称</label>
+                            </div>
+                            <div class="weui_cell_bd weui_cell_primary">
+                                <input type="text" class="weui_input " placeholder="必填,方便记住的简称"
+                                       name="shortName" required="required" x-error-by="shortName_err" x-minlength="2" x-maxlength="40"/>
+                            </div>
+                            <div style="display: none;">
+                                <div id="shortName_err" class="x-text-error">
+                                    <i class="glyphicon glyphicon-info-sign x-icon-left"></i>请填写企业简称,汉字请控制2-40字以内
+                                </div>
+                            </div>
+                        </div>
+						<div class="weui_cell">
+							<div class="weui_cell_hd">
+								<label class="weui_label">营业执照号</label>
+							</div>
+							<div class="weui_cell_bd weui_cell_primary">
+								<input type="text" class="weui_input " placeholder="必填,营业执照上的注册号"
+								    name="businessCode" required="required" x-help-by="businessCode_help"
+                                       x-error-by="businessCode_err"
+                                       x-maxlength="60"/>
+							</div>
+							<div style="display: none;">
+                                <div id="businessCode_help" class="x-text-help">
+                                    <i class="glyphicon glyphicon-info-sign x-icon-left"></i>填写营业执照上的注册号
+                                </div>
+                                <div id="businessCode_err" class="x-text-error"
+                                     style="display: none">
+                                    <i class="glyphicon glyphicon-info-sign x-icon-left"></i>请填写营业执照上的注册号
+                                </div>
+							</div>
+						</div>
+					</div>
+					
+					<!-- Administrator account info form -->
+					<div class="weui_cells_title">
+						管理员账号信息
+					</div>
+					<div class="weui_cells weui_cells_form weui_cells_checkbox weui_cells_radio">
+						<div class="weui_cell">
+							<div class="weui_cell_hd">
+								<label class="weui_label">姓名</label>
+							</div>
+							<div class="weui_cell_bd weui_cell_primary">
+								<input type="text" class="weui_input " placeholder="必填,如:张三" required="required"
+								name="adminName" x-maxlength="30" x-error-by="adminName_err"/>
+							</div>
+							<div style="display: none">
+								<div id="adminName_err" class="x-text-error">
+									<i class="glyphicon glyphicon-info-sign x-icon-left"></i>请填写管理员姓名
+								</div>
+							</div>
+						</div>
+						<div class="weui_cell">
+							<div class="weui_cell_hd">
+								<label class="weui_label">手机号</label>
+							</div>
+							<div class="weui_cell_bd weui_cell_primary">
+								<input type="tel" class="weui_input " placeholder="必填,如:15818181818" required="required"
+									   name="adminTel" x-pattern="^[\d-]{8,}$" x-error-by="adminTel_err"/>
+							</div>
+							<div style="display: none">
+								<div id="adminTel_err" class="x-text-error">
+									<i class="glyphicon glyphicon-info-sign x-icon-left"></i>填写格式例如:15818181818
+								</div>
+							</div>
+						</div>
+						<div class="weui_cell">
+							<div class="weui_cell_hd">
+								<label class="weui_label">邮箱</label>
+							</div>
+							<div class="weui_cell_bd weui_cell_primary">
+								<input type="email" class="weui_input " placeholder="必填,如:zhangs@example.com" required="required"
+								name="adminEmail" x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
+								x-help-by="adminEmail_help" x-error-by="adminEmail_err"/>
+							</div>
+							<div style="display: none">
+								<div id="adminEmail_help" class="x-text-help">
+									<i class="glyphicon glyphicon-info-sign x-icon-left"></i>您将通过该邮箱完成激活,请及时查收
+								</div>
+								<div id="adminEmail_err" class="x-text-error">
+									<i class="glyphicon glyphicon-info-sign x-icon-left"></i>填写格式例如:zhangsan@example.com
+								</div>
+							</div>
+						</div>
+						<div class="weui_cell weui_vcode">
+							<div class="weui_cell_hd">
+								<label class="weui_label">验证码</label>
+							</div>
+							<div class="weui_cell_bd weui_cell_primary">
+								<input type="text" class="weui_input" name="checkcode"
+                                       required placeholder="手机收到的6位数字" x-pattern="^\d{6}$"
+                                       x-help-by="checkcode_help" x-error-by="checkcode_err"
+									   x-error-text="请填写收到的验证码" />
+							</div>
+							<div class="weui_cell_ft">
+								<button class="weui_btn x-btn x-btn-checkcode" type="button" disabled="disabled">
+									<span>获取验证码</span>
+									<span class="x-timeout-word" style="display: none;">
+										<span class="x-timeout-num">60</span>秒
+									</span>
+								</button>
+							</div>
+						</div>
+                        <input type="hidden" name="checkcodeToken" required x-error-text="请先获取验证码,然后输入验证码">
+					</div>
+					
+					<div class="weui_cells_tips">
+						<i class="weui_icon_success_circle"></i> 
+						<input type="checkbox" id="agree" name="agree" value="1" checked="checked" required="" style="display: none;" x-error-text="您还未同意服务协议">
+						我已阅读并同意<a href="https://account.ubtob.com/common/rules">《优软云平台服务条款》</a>
+					</div>
+	
+					<div class="weui_btn_area">
+						<button type="button" class="btn weui_btn x-btn-primary x-btn-submit">注册</button>
+					</div>
+				</form>
+			</div>
+		</div>
+	</div>
+	</c:if>
+
+	<c:if test="${pageStep==3}"><%--${pageStep==2}--%>
+	<div class="container">
+		<form class="x-form">
+			<div class="msg">
+				<div class="weui_msg">
+					<div class="weui_text_area">
+						<h2 class="weui_msg_title"><i class="weui_icon_success"></i> 提交成功,请设置密码</h2>
+					</div>
+				</div>
+			</div>
+
+			<div class="weui_panel weui_panel_access">
+				<div class="weui_panel_hd">我们已经默认为您开通了以下应用</div>
+				<div class="weui_panel_bd">
+					<a href="javascript:void(0);" class="weui_media_box weui_media_appmsg">
+						<div class="weui_media_hd">
+							<img class="weui_media_appmsg_thumb" src="static/img/demo/i8.png" alt="">
+						</div>
+						<div class="weui_media_bd">
+							<h4 class="weui_media_title">B2B商务</h4>
+							<p class="weui_media_desc">方便快捷的供应链商务平台。</p>
+						</div>
+					</a>
+					<a href="javascript:void(0);" class="weui_media_box weui_media_appmsg">
+						<div class="weui_media_hd">
+							<img class="weui_media_appmsg_thumb" src="static/img/demo/i6.png" alt="">
+						</div>
+						<div class="weui_media_bd">
+							<h4 class="weui_media_title">优软商城</h4>
+							<p class="weui_media_desc">为世界电子产业创造价值的电子商城。</p>
+						</div>
+					</a>
+					<a href="javascript:void(0);" class="weui_media_box weui_media_appmsg">
+						<div class="weui_media_hd">
+							<img class="weui_media_appmsg_thumb" src="static/img/demo/i_uu.png" alt="">
+						</div>
+						<div class="weui_media_bd">
+							<h4 class="weui_media_title">UU互联</h4>
+							<p class="weui_media_desc">集移动办公,即时沟通为一体的综合应用APP。</p>
+						</div>
+					</a>
+				</div>
+			</div>
+
+			<c:if test="${empty password}">
+				<div class="weui_cells weui_cells_form">
+					<div class="weui_cells_title">请设置管理员账户的登录密码</div>
+					<input type="hidden" name="pageToken" value="${pageToken}">
+					<div class="weui_cell">
+						<div class="weui_cell_hd">
+							<label class="weui_label">登录账号</label>
+						</div>
+						<div class="weui_cell_bd weui_cell_primary">
+							<input type="text" class="weui_input " name="adminTel" required="required"
+								   value="${content.adminTel}" readonly="readonly" style="color: #333333;"/>
+						</div>
+					</div>
+					<div class="weui_cell">
+						<div class="weui_cell_hd">
+							<label class="weui_label">账户密码</label>
+						</div>
+						<div class="weui_cell_bd weui_cell_primary">
+							<input type="password" class="weui_input " name="password" id="password" required="required"
+								   x-error-by="password_err" placeholder="6-20位长度的英文、数字"
+								   x-maxlength="20" x-minlength="6" autofocus/>
+						</div>
+						<div style="display: none;">
+							<div class="x-text-error" id="password_err" style="display: none">请输入位6-20长度的英文、数字作为密码</div>
+						</div>
+					</div>
+					<div class="weui_cell">
+						<div class="weui_cell_hd">
+							<label class="weui_label">确认密码</label>
+						</div>
+						<div class="weui_cell_bd weui_cell_primary">
+							<input type="password" class="weui_input " id="passwordConfirm"
+								   class="form-control x-input" name="passwordConfirm"
+								   required="required" placeholder="再次输入密码确认" x-maxlength="20"
+								   x-minlength="6" x-error-by="passwordConfirm_err"/>
+						</div>
+						<div style="display: none;">
+							<div class="x-text-error" id="passwordConfirm_err">请再次输入密码,两次密码需要一致</div>
+						</div>
+					</div>
+				</div>
+			</c:if>
+
+			<c:if test="${not empty password}">
+				<div class="weui_cells weui_cells_form">
+					<div class="weui_cells_title">管理员手机号已注册,请输入原密码验证</div>
+					<input type="hidden" name="pageToken" value="${pageToken}">
+					<input name="useruu" type="hidden" value="${useruu}">
+					<input name="usertel" type="hidden" value="${usertel}">
+					<div class="weui_cell">
+						<div class="weui_cell_hd">
+							<label class="weui_label">登录账号</label>
+						</div>
+						<div class="weui_cell_bd weui_cell_primary">
+							<input type="text" class="weui_input " name="adminTel" required="required"
+								   value="${content.adminTel}" readonly="readonly" style="color: #333333;"/>
+						</div>
+					</div>
+					<div class="weui_cell">
+						<div class="weui_cell_hd">
+							<label class="weui_label">账户密码</label>
+						</div>
+						<div class="weui_cell_bd weui_cell_primary">
+							<input type="password" class="weui_input " id="oldPassword" class="form-control x-input"
+								   name="oldPassword" required="required" placeholder="手机号已注册,请输入原密码" x-error-by="oldPassword_err"
+								   x-help-by="password_help" x-maxlength="20" x-minlength="6" autofocus/>
+						</div>
+						<div style="display: none;">
+							<div class="x-text-error" id="password_help" style="display: none">请输入6-20位长度的英文、数字</div>
+							<div class="x-text-error" id="oldPassword_err" style="display: none">请输入原密码进行验证</div>
+						</div>
+					</div>
+					<input type="hidden" id="password" class="form-control x-input"
+						   name="password" required="required" x-error-by="passwordvalid_err"
+						   x-help-by="password_help" x-maxlength="20" x-minlength="6" autofocus>
+					<input type="hidden" id="passwordConfirm"
+						   class="form-control x-input" name="passwordConfirm"
+						   required="required" x-maxlength="20"
+						   x-minlength="6" x-error-by="passwordConfirm_err">
+				</div>
+			</c:if>
+
+			<div class="weui_btn_area">
+				<button type="button" class="btn weui_btn x-btn-primary x-btn-submit">完成注册</button>
+			</div>
+		</form>
+	</div>
+	</c:if>
+
+	<!-- loading -->
+	<div id="loading" class="weui_loading_toast">
+		<div class="weui_mask_transparent"></div>
+		<div class="weui_toast">
+			<div class="weui_loading">
+				<div class="weui_loading_leaf weui_loading_leaf_0"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_1"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_2"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_3"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_4"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_5"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_6"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_7"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_8"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_9"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_10"></div>
+				<div class="weui_loading_leaf weui_loading_leaf_11"></div>
+			</div>
+			<p class="weui_toast_content">加载中</p>
+		</div>
+	</div>
+
+	<!-- imageDialog -->
+	<div class="weui_dialog_alert" id="imgDialog" style="display: none;">
+		<div class="weui_mask" style="background: rgba(0,0,0,1);"></div>
+		<div class="weui_dialog_img">
+			<img src="" alt="" width="100%"/>
+		</div>
+	</div>
+
+	<!-- alert dialog -->
+	<div class="weui_dialog_alert" id="alertDialog" style="display: none;">
+		<div class="weui_mask"></div>
+		<div class="weui_dialog">
+			<div class="weui_dialog_hd"><strong class="weui_dialog_title">注册成功</strong></div>
+			<div class="weui_dialog_bd">您已经成功注册,<span id="count">3</span>秒后自动跳转到登录页面!</div>
+			<div class="weui_dialog_ft">
+				<a href="javascript:;" class="weui_btn_dialog"></a>
+			</div>
+		</div>
+	</div>
+
+	<script src="static/lib/js/jquery.min.js"></script>
+	<script src="static/lib/js/toastr.min.js"></script>
+	<script src="static/js/upload.js"></script>
+	<script src="static/js/base.js"></script>
+	<script src="static/js/mobile/register.js"></script>
+
+</body>
 </html>

+ 0 - 1
account-server/src/main/webapp/WEB-INF/views/sso/login.jsp

@@ -278,7 +278,6 @@
 						</div>
 						<div class="form-group">
 							<div class="x-has-feedback-left" style="display: inline-block">
-								<a href="/changeAdmin/changeAdmin?appId=${appId}&returnURL=${returnUrl}">更换管理员</a>
 								<%--<input type="checkbox" class="x-input" id="maxAge"--%>
 									<%--placeholder="cookie的有效期" name="maxAge"> <span>30天内自动登录</span>--%>
 							</div>

+ 1 - 1
account-server/src/main/webapp/WEB-INF/views/sso/reg1.jsp

@@ -58,7 +58,7 @@
                         <input type="text" class="form-control x-input"
                                name="businessCode" required placeholder="填写营业执照上的注册号"
                                x-help-by="businessCode_help" x-error-by="businessCode_err"
-                               c-error-text="请填写营业执照上的注册号" x-maxlength="60" x-pattern="^[A-Za-z0-9-]+$">
+                               c-error-text="请填写营业执照上的注册号" x-maxlength="60" x-pattern="^[A-Za-z0-9]+$">
                     </div>
                     <div class="x-input-addon col-sm-5">
                         <div id="businessCode_help" class="x-text-help" style="display: none">

+ 2 - 5
account-server/src/main/webapp/WEB-INF/views/sso/reg2.jsp

@@ -102,7 +102,7 @@
 					<label class="control-label col-sm-2 x-required">密码:</label>
 					<div class="col-sm-5 x-has-feedback-left">
 						<input type="text" id="password" class="form-control x-input"
-							   name="password" x-error-by="password_err"
+							   name="password" required="required" x-error-by="password_err"
 							   x-maxlength="20" x-pattern="^[A-Za-z0-9]+$">
 					</div>
                     <div class="x-input-addon col-sm-5">
@@ -111,11 +111,8 @@
 							<a class="x-text-link" href="https://account.ubtob.com/user/pwd?" target="_blank">
 							忘记密码?</a>
                         </div>
-                        <div class="x-text-tip" id="password_help2">
-							<i class="glyphicon glyphicon-info-sign x-icon-left"></i>请输入8-20位英文数字混合密码
-                        </div>
                         <div class="x-text-error" id="password_err"
-                             style="display: none">请输入8-20位英文数字混合密码</div>
+                             style="display: none">请输入不超过20长度的英文、数字混合密码</div>
                         <div class="x-text-error" id="password_error" style="display: none">请输入原密码进行验证&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                             <a class="x-text-link" href="https://account.ubtob.com/user/pwd?" target="_blank">
                                 忘记密码?</a>

+ 469 - 74
account-server/src/main/webapp/WEB-INF/views/sso/reg3.jsp

@@ -1,86 +1,481 @@
 <%@ page language="java" contentType="text/html; charset=UTF-8"
 	pageEncoding="UTF-8"%>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
-<div class="x-content">
-	<div class="container">
-		<div class="w-over-top">
-			<div class="w-over">
-				<h1>注册完成</h1>
-				<hr>
-				<p>已为您开通以下服务,点击了解详情</p>
-				<div class="link-list">
-					<div class="row">
-						<div class="col-xs-3">
-							<a class="thumbnail item" href="https://www.usoftchina.com/b2b">
-								<img src="static/img/over_account/B2B.png" style="width:70px;">
-								<div class="caption">
-									<span>B2B商务</span>
-								</div>
-							</a>
-						</div>
-						<div class="col-xs-3">
-							<a class="thumbnail item" href="http://www.usoftmall.com">
-								<img src="static/img/over_account/uas_mall.png">
-								<div class="caption">
-									<span>优软商城</span>
-								</div>
-							</a>
-						</div>
-						<div class="col-xs-3">
-							<a class="thumbnail item" href="http://usoftchina.com/uu">
-								<img src="static/img/over_account/UUhulian.png">
-								<div class="caption">
-									<span>UU互联</span>
-								</div>
-							</a>
-						</div>
-						<div class="col-xs-3">
-							<a class="thumbnail item" href="http://job.uuzcc.com">
-								<img src="static/img/over_account/UUZCC.png">
-								<div class="caption">
-									<span>优软人才网</span>
-								</div>
-							</a>
-						</div>
-					</div>
+<div class="x-form-wrap">
+	<form class="form-horizontal x-form" novalidate>
+		<!-- 默认服务 Start -->
+		<div class="x-form-set-wrap">
+			<div class="x-form-set-header">
+				<h4 style="color: #5078cb">注册完成!</h4>
+			</div>
+			<div class="list-01">
+				<div class="comm-text">已为您的企业开通以下服务,点击了解详情</div>
+				<div class="service-list">
+					<a href="https://www.usoftchina.com/b2b" target="_blank" title="B2B商务"><img src="static/img/service-b2b.jpg" /></a>
+					<a href="http://www.usoftmall.com/" target="_blank" title="优软商城"><img src="static/img/service-b2c.jpg" /></a>
+					<a href="http://usoftchina.com/uu" target="_blank" title="UU互联"><img src="static/img/service-uu.jpg" /></a>
+					<a href="http://job.uuzcc.com/" target="_blank" title="优软人才网"><img src="static/img/service-uuzcc.jpg" /></a>
 				</div>
-				<a href="http://www.ubtob.com/">跳转至优软云 ></a>
+				<a href="http://www.ubtob.com/" class="target-btn" title="跳转至优软云">跳转至优软云>></a>
 			</div>
+			<%--<div>--%>
+				<%--<span class="small">恭喜您已经成功注册优软云账号,我们为您自动开通了【B2B商务】、【优软商城】和【UU互联】服务</span>--%>
+			<%--</div>--%>
+			<%--<div class="x-form-set">--%>
+				<%--<ul class="list-unstyled list-inline x-app-list">--%>
+					<%--<li>--%>
+						<%--<div class="x-image">--%>
+							<%--<a href="http://www.usoftchina.com/b2b" target="_blank" class="thumbnail">--%>
+								<%--<img src="static/img/demo/i8.png"> <b></b><span>了解详情</span>--%>
+							<%--</a>--%>
+						<%--</div>--%>
+						<%--<h4>--%>
+							<%--<span>B2B商务</span>--%>
+						<%--</h4>--%>
+					<%--</li>--%>
+					<%--<li>--%>
+						<%--<div class="x-image">--%>
+							<%--<a href="http://www.usoftmall.com/" target="_blank" class="thumbnail">--%>
+								<%--<img src="static/img/demo/i6.png"> <b></b><span>了解详情</span>--%>
+							<%--</a>--%>
+						<%--</div>--%>
+						<%--<h4>--%>
+							<%--<span>优软商城</span>--%>
+						<%--</h4>--%>
+					<%--</li>--%>
+					<%--<li>--%>
+						<%--<div class="x-image">--%>
+							<%--<a href="http://www.usoftchina.com/uu" target="_blank" class="thumbnail">--%>
+								<%--<img src="static/img/demo/i_uu.png"> <b></b><span>了解详情</span>--%>
+							<%--</a>--%>
+						<%--</div>--%>
+						<%--<h4>--%>
+							<%--<span>UU互联</span>--%>
+						<%--</h4>--%>
+					<%--</li>--%>
+				<%--</ul>--%>
+			<%--</div>--%>
 		</div>
-		<div class="w-over-bottom">
-			<div class="w-over">
-				<p>您还可以开通体验以下服务</p>
-				<div class="media">
-					<div class="media-left media-middle">
-						<a href="https://www.usoftchina.com/b2b">
-							<img class="media-object" src="static/img/over_account/B2B.png">
-							<span>UAS系统</span>
-						</a>
-					</div>
-					<div class="media-body">
-						<h4 class="media-heading">UAS系统</h4>
-						<p>联合应用系统,一站式企业管理解决方案</p>
-						<p>售前服务热线:<span style="font-weight: bold; color:#333;">400-830-1818</span></p>
-					</div>
-				</div>
-				<div class="media">
-					<div class="media-left media-middle">
-						<a href="https://www.ubtob.com/saas/about">
-							<img class="media-object" src="static/img/over_account/SaaS.png">
-							<span>优企云服</span>
-						</a>
-					</div>
-					<div class="media-body">
-						<h4 class="media-heading">
-							优企云服
+		<!-- 服务 Start -->
+		<div class="x-form-set-wrap">
+			<%--<div class="x-form-set-header">--%>
+				<%--<h4>选择其他服务</h4>--%>
+			<%--</div>--%>
+			<div class="list-02">
+				<div class="hr-1"></div>
+				<div class="title">您还可以开通体验以下服务:</div>
+				<div class="list-line" style="margin: 5px 0 50px 0">
+					<dl>
+						<dt><img src="static/img/service-saas.jpg" title="SAAS优企云服"/></dt>
+						<dd>零成本投入 免费使用 / 全流程管理 简单易用
+
+						</dd>
+						<dd>优软服务连接企业与企业 / 跨地域 移动办公
+						</dd>
+						<dd class="margin-top">
 							<a href="http://make-guest.saas.ubtob.com/">立即体验</a>
 							<a href="https://account.ubtob.com/userspace/applyApp?appId=saas">立即开通</a>
-						</h4>
-						<p>零成本投入,免费使用。 全流程管理,简单易用 </p>
-						<p>优软服务连接企业之间,跨地域,移动办公。</p>
-					</div>
+						</dd>
+					</dl>
+				</div>
+				<div class="list-line">
+					<dl>
+						<dt><img src="static/img/service-uas.jpg" title="UAS系统"/></dt>
+						<dd>联合应用系统,一站式企业管理解决方案。</dd>
+						<dd>供应链 / 生产制造 / 财务管理 / 客户关系 / 移动办公 / 人力资源 / 项目管理
+						</dd>
+						<dd class="margin-top">售前服务热线:<em>400-830-1818</em></dd>
+					</dl>
 				</div>
+				<%--<ul class="list-unstyled list-inline x-app-list">--%>
+					<%--<li>--%>
+						<%--<div class="x-image">--%>
+							<%--<a href="http://www.usoftchina.com/saas" target="_blank" class="thumbnail">--%>
+								<%--<img src="static/img/demo/i7.png"> <b></b><span>了解详情</span>--%>
+							<%--</a>--%>
+						<%--</div>--%>
+						<%--<h4>--%>
+							<%--<span>优企云服</span> <label class="x-btn-switch"><input--%>
+								<%--type="checkbox" name="applyApps" value="saas"--%>
+								<%--x-detail="saasWrap"> <em> <i></i>--%>
+						<%--</em></label>--%>
+						<%--</h4>--%>
+						<%--<a class="btn btn-experience" href="http://make-guest.saas.ubtob.com/" target="_blank" style="margin-right: 20px"> 立即体验 </a>--%>
+						<%--<a class="btn btn-experience btn-apply" href="https://account.ubtob.com/userspace/applyApp?appId=saas"> 免费开通 </a>--%>
+					<%--</li>--%>
+					<%--<li>--%>
+						<%--<div class="x-image">--%>
+							<%--<a href="http://www.usoftchina.com/uas" target="_blank" class="thumbnail">--%>
+								<%--<img src="static/img/demo/i9.png"> <b></b><span>了解详情</span>--%>
+							<%--</a>--%>
+						<%--</div>--%>
+						<%--<h4>--%>
+							<%--<span>优软UAS</span> <label class="x-btn-switch"><input--%>
+								<%--type="checkbox" name="applyApps" value="uas" x-detail="uasWrap">--%>
+							<%--<em> <i></i>--%>
+							<%--</em></label>--%>
+						<%--</h4>--%>
+					<%--</li>--%>
+				<%--</ul>--%>
 			</div>
+			<%--<div>--%>
+				<%--<span class="small">您还可以自定义选择是否开通以下服务</span>--%>
+			<%--</div>--%>
+			<%--<div class="x-form-set" id="saasWrap"--%>
+				<%--style="display: none; margin-left: 106px;">--%>
+				<%--<div class="alert x-alert-default clearfix">--%>
+					<%--<blockquote>--%>
+						<%--<p>优企云服设置</p>--%>
+					<%--</blockquote>--%>
+					<%--<div style="margin: 0 15px">--%>
+						<%--<div class="form-group clearfix">--%>
+							<%--<label class="control-label x-required">给您的云服务主页申请一个域名:</label>--%>
+							<%--<p id="domain_help" class="help-block">--%>
+								<%--例如:您的公司主页是www.example.com,填写example即可拥有http://example.saas.ubtob.com免费域名--%>
+							<%--</p>--%>
+							<%--<div class="x-has-feedback-left">--%>
+								<%--<div style="width: 300px; position: relative;">--%>
+									<%--<input type="text" class="form-control x-input" name="domain"--%>
+										<%--placeholder="example" x-required="applyApps=='saas'"--%>
+										<%--x-error-text="请填写您的云服务域名" value="${content.domain}"--%>
+										<%--style="padding-left: 55px; padding-right: 130px"> <span--%>
+										<%--class="x-form-control-feedback-left x-text-bold"--%>
+										<%--style="width: 65px; left: 0">http://</span> <span--%>
+										<%--class="x-form-control-feedback-right x-text-bold"--%>
+										<%--style="width: 130px; right: 0">.saas.ubtob.com</span>--%>
+								<%--</div>--%>
+							<%--</div>--%>
+						<%--</div>--%>
+						<%--<div class="form-group">--%>
+							<%--<label class="control-label x-required">企业负责人:</label>--%>
+							<%--<div class="help-block">添加部门负责人,让部门领导快速参与优企云服的初始化工作</div>--%>
+							<%--<div class="x-table-wrap">--%>
+								<%--<table class="x-table table table-bordered" x-name="users">--%>
+									<%--<thead>--%>
+										<%--<tr>--%>
+											<%--<th width="140" x-column="department">部门名称</th>--%>
+											<%--<th width="140" x-column="name">部门负责人</th>--%>
+											<%--<th width="140" x-column="mobile">手机号</th>--%>
+											<%--<th width="auto" x-column="email">邮箱</th>--%>
+											<%--<th width="140" x-column="job">岗位</th>--%>
+										<%--</tr>--%>
+									<%--</thead>--%>
+									<%--<tbody>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold x-required">总经办<input--%>
+												<%--type="hidden" value="总经办"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-error-text="请添加总经办负责人"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址"></td>--%>
+											<%--<td>总经理 <input type="hidden" value="总经理">--%>
+											<%--</td>--%>
+											<%--<!-- <td>--%>
+													<%--<div class="x-listbox">--%>
+														<%--<a class="btn btn-link x-btn-link dropdown-toggle"--%>
+															<%--data-toggle="dropdown" aria-haspopup="true"--%>
+															<%--aria-expanded="false"> <span class="active">总经理</span>--%>
+															<%--<span class="caret"></span>--%>
+														<%--</a>--%>
+														<%--<ul class="dropdown-menu">--%>
+															<%--<li class="active">总经理</li>--%>
+															<%--<li>董事长</li>--%>
+														<%--</ul>--%>
+														<%--<input type="hidden" value="总经理">--%>
+													<%--</div>--%>
+												<%--</td> -->--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold x-required">行政人事部<input--%>
+												<%--type="hidden" value="行政人事部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-error-text="请添加人事部负责人"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址"></td>--%>
+											<%--<td>经理<input type="hidden" value="行政人事经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold x-required">财务部<input--%>
+												<%--type="hidden" value="财务部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"--%>
+												<%--x-error-text="请添加财务部负责人"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写(必填)" x-required="applyApps=='saas'"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写(必填)"--%>
+												<%--x-required="applyApps=='saas'"></td>--%>
+											<%--<td>经理<input type="hidden" value="财务经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">销售部<input type="hidden"--%>
+												<%--value="销售部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>经理<input type="hidden" value="销售经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">PMC<input type="hidden"--%>
+												<%--value="PMC"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>经理<input type="hidden" value="PMC经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">采购部<input type="hidden"--%>
+												<%--value="采购部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>经理<input type="hidden" value="采购经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">研发部<input type="hidden"--%>
+												<%--value="研发部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>经理<input type="hidden" value="研发经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">生产部<input type="hidden"--%>
+												<%--value="生产部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>经理<input type="hidden" value="生产经理">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">仓库<input type="hidden"--%>
+												<%--value="仓库"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>主管<input type="hidden" value="仓库主管">--%>
+										<%--</tr>--%>
+										<%--<tr>--%>
+											<%--<td class="x-text-bold">品质部<input type="hidden"--%>
+												<%--value="品质部"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^[\d-]{8,}$" x-error-text="请填写正确手机号码"--%>
+												<%--placeholder="请填写"></td>--%>
+											<%--<td><input type="text"--%>
+												<%--class="form-control x-input-blank input-sm"--%>
+												<%--x-pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"--%>
+												<%--x-error-text="请填写正确邮箱地址" placeholder="请填写"></td>--%>
+											<%--<td>经理<input type="hidden" value="品质经理">--%>
+										<%--</tr>--%>
+									<%--</tbody>--%>
+								<%--</table>--%>
+							<%--</div>--%>
+						<%--</div>--%>
+					<%--</div>--%>
+				<%--</div>--%>
+			<%--</div>--%>
+			<%--<div class="x-form-set" id="uasWrap"--%>
+				<%--style="display: none; margin-left: 106px;">--%>
+				<%--<div class="alert x-alert-warning clearfix" style="width: 578px">--%>
+					<%--<h3>温馨提示:</h3>--%>
+					<%--<ul class="x-menu text-muted">--%>
+						<%--<li>您选择了优软UAS产品,请及时联系售前服务热线:<i>400-830-1818</i></li>--%>
+						<%--<li>感谢您对优软产品的关注,如有疑问可以<a href="http://www.ubtob.com"--%>
+							<%--target="_blank" class="x-text-link">了解更多</a></li>--%>
+					<%--</ul>--%>
+				<%--</div>--%>
+			<%--</div>--%>
 		</div>
-	</div>
+<%--		<div class="x-form-set-wrap">
+			<div class="x-form-set-header">
+				<h4>企业设置</h4>
+			</div>
+			<div class="x-form-set">
+				<div class="form-group">
+					<label class="control-label">企业LOGO:</label>
+					<div class="help-block">个性化展示您的企业形象,图片不超过100Kb,建议宽x高=100x60</div>
+					<div class="help-block">
+						<div id="logoImageView" style="display: none"
+							class="x-image pull-left">
+							<div class="thumbnail">
+								<img />
+							</div>
+						</div>
+						<div class="x-image pull-left">
+							<a href="javascript:void(0);" class="thumbnail x-input-file-wrap"><input
+								type="file" id="logoImage" class="x-input" name="file" x-error-by="logofile_err"
+								arias-preview="logoImageView">
+								<p class="x-thumbnail-empty">
+									<i class="glyphicon glyphicon-open"></i>点击上传
+								</p> </a>
+						</div>
+						<div class="x-input-addon col-sm-5">
+						<!-- <div class="x-text-help" id="file_help">
+							<i class="glyphicon glyphicon-question-sign x-icon-left"></i>什么是营业执照?<a
+								class="x-btn-image x-text-link" href="javascript:void(0);"
+								data-src="static/img/demo/yyzz.png">查看范例</a>
+						</div> -->
+						<div id="logofile_err" class="x-text-error" style="display: none"></div>
+					</div>
+					</div>
+				</div>
+			</div>
+		</div>--%>
+		<%--<div class="x-form-set-wrap">--%>
+			<%--<div class="x-form-set-header">--%>
+				<%--<h4>管理员设置</h4>--%>
+			<%--</div>--%>
+			<%--<div>--%>
+				<%--<span class="small">请设置管理员账户的登录密码</span>--%>
+			<%--</div>--%>
+			<%--<div class="x-form-set">--%>
+				<%--<input type="hidden" name="pageToken" value="${pageToken}">--%>
+				<%--<input type="hidden" name="adminTel" value="${content.adminTel}">--%>
+				<%--<c:choose>--%>
+					<%--<c:when test="${adminExist}">--%>
+						<%--<div class="form-group">--%>
+							<%--<label class="control-label col-sm-2 x-required">账户密码:</label>--%>
+							<%--<div class="col-sm-5 x-has-feedback-left">--%>
+								<%--<input type="text" id="oldPassword" class="form-control x-input"--%>
+									<%--name="oldPassword" required="required"--%>
+									<%--placeholder="该手机号已注册,请输入原密码验证" x-error-by="oldPassword_err"--%>
+									<%--x-help-by="password_help" x-maxlength="20" x-minlength="6"--%>
+								    <%--x-error-text="请输入正确的原密码" x-pattern="^[A-Za-z0-9]+$"--%>
+									<%--autofocus>--%>
+							<%--</div>--%>
+							<%--<div class="x-input-addon col-sm-5">--%>
+								<%--<div class="x-text-help" id="password_help">--%>
+									<%--您的登录账户是${content.adminTel} <a class="x-text-link"--%>
+										<%--href="https://account.ubtob.com/user/pwd?" target="_blank">--%>
+										<%--忘记密码?</a>--%>
+								<%--</div>--%>
+								<%--<div class="x-text-error" id="oldPassword_err"--%>
+									<%--style="display: none">请输入原密码进行验证</div>--%>
+							<%--</div>--%>
+							<%--<input type="hidden" id="password" class="form-control x-input"--%>
+								<%--name="password" required="required"--%>
+								<%--x-error-by="passwordvalid_err" x-help-by="password_help"--%>
+								<%--x-maxlength="20" x-minlength="6">--%>
+							<%--<input--%>
+								<%--type="hidden" id="passwordConfirm" class="form-control x-input"--%>
+								<%--name="passwordConfirm" required="required" x-maxlength="20"--%>
+								<%--x-minlength="6">--%>
+							<%--<div type="hidden" class="x-text-error" id="passwordConfirm_help" style="display: none">请再次输入密码,两次密码需要一致</div>--%>
+						<%--</div>--%>
+					<%--</c:when>--%>
+					<%--<c:otherwise>--%>
+						<%--<div class="form-group">--%>
+							<%--<label class="control-label col-sm-2 x-required">账户密码:</label>--%>
+							<%--<div class="col-sm-5 x-has-feedback-left">--%>
+								<%--<input type="text" id="password" class="form-control x-input"--%>
+									<%--name="password" required="required" x-error-by="password_err"--%>
+									<%--x-help-by="password_help" x-maxlength="20" x-minlength="6"--%>
+									<%--autofocus x-pattern="^[A-Za-z0-9]+$">--%>
+							<%--</div>--%>
+							<%--<div class="x-input-addon col-sm-5">--%>
+								<%--<div class="x-text-help" id="password_help">您的登录账户是${content.adminTel}</div>--%>
+								<%--<div class="x-text-error" id="password_err"--%>
+									<%--style="display: none">请输入6-20长度的英文、数字混合密码</div>--%>
+							<%--</div>--%>
+						<%--</div>--%>
+						<%--<div class="form-group">--%>
+							<%--<label class="control-label col-sm-2 x-required">确认密码:</label>--%>
+							<%--<div class="col-sm-5 x-has-feedback-left">--%>
+								<%--<input type="text" id="passwordConfirm"--%>
+									<%--class="form-control x-input" name="passwordConfirm"--%>
+									<%--required="required" placeholder="再次输入密码确认" x-maxlength="20"--%>
+									<%--x-minlength="6" x-error-by="passwordConfirm_err" x-pattern="^[A-Za-z0-9]+$">--%>
+							<%--</div>--%>
+							<%--<div class="x-input-addon col-sm-5">--%>
+								<%--<div class="x-text-error" id="passwordConfirm_help" style="display: none">请再次输入密码,两次密码需要一致</div>--%>
+								<%--<div class="x-text-error" id="passwordConfirm_err"--%>
+									<%--style="display: none">请输入6-20长度的英文、数字混合密码</div>--%>
+							<%--</div>--%>
+						<%--</div>--%>
+					<%--</c:otherwise>--%>
+				<%--</c:choose>--%>
+				<%--<div class="form-group">--%>
+					<%--<div class="col-sm-4">--%>
+						<%--<a class="btn x-btn-primary x-btn-submit"--%>
+							<%--style="width: 180px; margin: 15px 60px"> 完成注册 </a>--%>
+					<%--</div>--%>
+				<%--</div>--%>
+			<%--</div>--%>
+		<%--</div>--%>
+	</form>
 </div>

+ 1 - 1
account-server/src/main/webapp/WEB-INF/views/sso/reg_mall.jsp

@@ -53,7 +53,7 @@
 	<div class="x-content">
 		<div class="container">
 			<ul class="list-unstyled list-inline x-step x-step-2x">
-				<li class="reg-self" onclick="goHref('/sso/register_p?appId=${appId}&returnURL=${returnUrl}')"><a>个人注册</a></li>
+				<li class="reg-self" onclick="goHref('sso/register_p?appId=${appId}&returnURL=${returnUrl}')"><a>个人注册</a></li>
 				<li class="active">企业注册</li>
 			</ul>
 

+ 1 - 1
account-server/src/main/webapp/WEB-INF/views/sso/reg_personal.jsp

@@ -64,7 +64,7 @@
 		<div class="container">
 			<ul class="list-unstyled list-inline x-step x-step-2x">
 				<li class="active reg-self">个人注册</li>
-				<li onclick="goHref('/sso/register_mall?appId=${appId}&returnURL=${returnUrl}')"><a>企业注册</a></li>
+				<li onclick="goHref('sso/register_mall?appId=${appId}&returnURL=${returnUrl}')"><a>企业注册</a></li>
 			</ul>
 			<div class="x-step-content">
 				<c:if test="${pageStepPerson=='1'}">

+ 0 - 1
account-server/src/main/webapp/WEB-INF/webmvc.xml

@@ -61,7 +61,6 @@
 		view-name="/common/rules" />
 	<context:component-scan
 		base-package="com.uas.account.controller,com.uas.sso.controller" />
-	<mvc:view-controller path="/invite/inviteList"  view-name="/invite/inviteList" />
 
 	<!-- 文件上传 -->
 	<bean id="multipartResolver"

+ 10 - 173
account-server/src/main/webapp/assets/css/mobile/register.css

@@ -1,6 +1,6 @@
 body {
 	overflow-x: hidden;
-    background-color: #fff;
+    background-color: #fbf9fe;
     margin-bottom: 30px;
 }
 
@@ -36,181 +36,18 @@ body {
     border-radius: 0px;
     overflow: hidden;
 }
+button.x-btn-checkcode {
+	background: #e6e6e6;
+	color: #333333;
+	border-radius: 0;
+}
+button.x-btn-checkcode[disabled] {
+	background: #dddddd;
+	color: #ffffff;
+}
 .container .weui_media_box.weui_media_appmsg .weui_media_appmsg_thumb {
 	vertical-align: middle;
 }
 .weui_btn_area {
 	margin: 1.17647059em 15px 1.3em;
-}
-.container{
-	padding:0 10px;
-}
-.g-item{
-	padding-top:1.5rem;
-    padding-bottom:.75rem;
-	text-align: center;
-	margin:0 auto;
-}
-.g-item .f-info{
-	position:relative;
-    height:1rem;
-}
-.g-item .f-info i{
-	position:absolute;
-	top:50%;
-    z-index: 2;
-    display:block;
-	width:2.8rem;
-    height:1px;
-    border-top:1px solid #2f95dd;
-}
-.g-item .f-info i.left{
-    left:0;
-}
-.g-item .f-info i.right{
-    right:0;
-}
-.g-item span{
-    position:absolute;
-    top:0;
-    left:50%;
-    z-index:5;
-	display:block;
-	color:#fcfbfb;
-	width:1rem;
-	height:1rem;
-    margin-left:-1rem;
-	font-size: .6rem;
-	line-height: 1rem;
-	text-align: center;
-	border-radius:50%;
-	border-left:.5rem solid #f1f9ff;
-	border-right:.5rem solid #f1f9ff;
-	background: #c8c8c8;
-}
-.g-item p{
-	font-size: .6rem;
-    line-height: 1.4rem;
-    text-align: center;
-}
-.weui-flex .active .f-info span{
-    color:#fff;
-    background: #2f95dd;
-}
-.weui-agree span a{
-    color:#2f95dd;
-}
-.weui-agree span a:hover{
-    text-decoration:underline;
-}
-.g-ft{
-    padding-top:3rem;
-}
-.small{
-    font-size: .4rem;
-    color:#999;
-    font-weight:normal ;
-}
-.weui-label,.weui-uploader__title{
-    color:#333;
-    font-size: .65rem;
-    font-weight: bold;
-}
-.weui-input{
-    color:#666;
-    font-size: .6rem;
-}
-.weui-vcode-btn{
-    font-size: .6rem;
-}
-.weui-uploader__input-box:after{
-    width:0;
-}
-.weui-uploader__input-box:before{
-    width:0;
-}
-.weui-uploader__input-box{
-    background: url(../../img/upload-bg.png)no-repeat center center/100% 100%;
-}
-.weui-label{
-    width:80px;
-}
-.tree{
-    position:relative;
-}
-.tree .profession-modal{
-    display:none;
-    position:absolute;
-    top: 140%;
-    left: -4rem;
-    z-index: 4;
-    width: 135%;
-    border:1px solid #bfbfbf;
-    background: #fff;
-    padding:10px 0;
-}
-.tree .profession-modal .modal-right, .tree .profession-modal .modal-left{
-    float: left;
-    display: block;
-    width: 49%;
-    height: 6rem;
-    overflow-y:auto;
-}
-.tree .profession-modal .modal-right{
-    border-left:1px solid #bfbfbf;
-}
-.tree .profession-modal ul{
-    overflow: auto;
-    list-style: none;
-}
-.tree .profession-modal ul li{
-    position:relative;
-    height:1.25rem;
-    line-height: 1.25rem;
-    font-size: .55rem;
-    color:#000;
-    padding-left:10px;
-    white-space: nowrap;
-}
-.tree .profession-modal #treeOne li:after{
-    position:absolute;
-    top:0;
-    right:0;
-    content: '>';
-    display:block;
-    font-size: .85rem;
-    width:1rem;
-    height:1.25rem;
-    color:#747474;
-    font-weight: bold;
-}
-.tree .profession-modal ul li.active{
-    background: #e7e7e7;
-}
-#g-map{
-    position:relative;
-    height:100%;
-}
-#g-map .weui-cells{
-   z-index:1000;
-}
-#map{
-    height:80%;
-}
-.help-block{
-    float:left;
-    margin-right: 9px;
-    margin-bottom: 9px;
-    width: 77px;
-    height: 77px;
-}
-.help-block .x-image img{
-    width:100%;
-    height:100%;
-}
-.weui-cells_form .weui-cell__ft{
-    width:30%;
-}
-.weui-cells_form .weui-cell__ft button[disabled] span{
-    color:#999;
 }

+ 0 - 304
account-server/src/main/webapp/assets/css/register1.css

@@ -439,7 +439,6 @@ a img {
 	-moz-osx-font-smoothing: grayscale;
 	margin-right: 5px;
 }
-
 .x-form input[type=checkbox] {
 	margin-top: 6px
 }
@@ -1168,306 +1167,3 @@ button.x-form-control-feedback-left:hover,button.x-form-control-feedback-right:h
 	border-right: 10px solid transparent;
 	z-index: 10;
 }
-
-.err_title{
-	position:relative;
-	display:inline-block;
-	width:50%;
-	margin-left:10px;
-	color:#5078cb;
-}
-.err_title i{
-	display:inline-block;
-	cursor:pointer;
-}
-.err_title:hover span{
-	display:inline-block;
-}
-.err_title span{
-	display:none;
-	position:absolute;
-	top:100%;
-	left:-9px;
-	background: #fff;
-	color:#666;
-	z-index:20;
-	padding:5px;
-	border:1px solid #999;
-	box-shadow: 0 0 5px #999;
-}
-.err_title a {
-	color:#5078cb;
-	text-decoration: underline;
-}
-
-
-.x-content {
-	position: relative;
-	margin-top: 50px;
-}
-.w-over-top {
-	padding-top:35px;
-	padding-bottom:50px;
-	margin-bottom:15px;
-	background: #fff;
-}
-.w-over-top .w-over>h1{
-
-	font-size: 30px;
-	text-align: center;
-	color:#11b200;
-}
-.w-over-top hr{
-	border-top:1px solid #dcdcdc;
-}
-.w-over-top .w-over>p#applyText{
-	display:none;
-	text-align: center;
-	font-size: 14px;
-	color:#b5b5b5;
-	margin-top:20px;
-}
-.w-over-top .w-over>strong{
-	font-size: 14px;
-	color:#b5b5b5;
-	padding-top:20px;
-}
-.w-over-top .link-list .item{
-	padding:15px 25px 0;
-	width:170px;
-	height:100px;
-	box-shadow: 0 0 10px rgba(0,0,0,.5);
-}
-.w-over-top .link-list .item:hover{
-	position:relative;
-	top:-3px;
-	cursor:pointer;
-}
-.w-over-top .link-list .item img{
-	display:block;
-	height:40px;
-}
-.w-over-top .link-list .item span{
-	font-size: 16px;
-	color:#333;
-	font-weight: bold;
-}
-.w-over-top .link-list .item .caption{
-	padding-top:12px;
-	text-align: center;
-}
-.w-over-top .w-over>a{
-	display: block;
-	margin:0 auto;
-	margin-top:60px;
-	width:220px;
-	height:42px;
-	line-height: 42px;
-	text-align: center;
-	color:#fff;
-	font-size: 14px;
-	background: #0076ad;
-	border-radius:5px;
-}
-
-.w-over-bottom {
-	padding-top:35px;
-	padding-bottom:50px;
-	background: #fff;
-}
-.w-over-bottom .w-over>p{
-	text-align: center;
-	margin-bottom:25px;
-	font-size: 16px;
-	color:#646464;
-}
-.w-over-bottom .w-over>a{
-	display:block;
-	margin:0 auto;
-	margin-bottom:45px;
-	width:130px;
-	height:32px;
-	line-height: 30px;
-	text-align: center;
-	border-radius:15px;
-	border:1px solid #0076ad;
-	color:#0076ad;
-	font-size: 14px;
-}
-.w-over-bottom .media{
-	padding:10px;
-}
-.w-over-bottom .media-left{
-	padding:10px 30px 10px 10px;
-	width:190px;
-	height:120px;
-}
-.w-over-bottom .media-left a{
-	display:block;
-	text-align: center;
-	width:170px;
-	height:100px;
-	padding-top:20px;
-	box-shadow: 0 0 10px rgba(0,0,0,.4);
-}
-.w-over-bottom .media-left a img{
-	display:block;
-	width:80px;
-	height:30px;
-	margin:0 auto;
-	margin-bottom:16px;
-}
-.w-over-bottom .media-left a span{
-	font-size: 16px;
-	color:#333;
-	font-weight: bold;
-}
-.w-over-bottom .media .media-body{
-	padding-top:10px;
-}
-.w-over-bottom .media .media-body .media-heading a{
-	display:inline-block;
-	margin-left:50px;
-	width:75px;
-	height:28px;
-	line-height: 26px;
-	text-align: center;
-	border:1px solid #666;
-	border-radius:3px;
-	background: #fff;
-	color:#666;
-	font-size: 14px;
-	font-style:normal;
-	font-weight: normal;
-}
-.w-over-bottom .media .media-body .media-heading a:hover{
-	color:#0076ad;
-	cursor:pointer;
-}
-.w-over-bottom .media .media-body .media-heading{
-	color:#333;
-	font-weight: bold;
-	font-size: 16px;
-	margin-bottom:15px;
-}
-.w-over-bottom .media .media-body p{
-	font-size: 14px;
-	color:#8c8c8c;
-	line-height: 25px;
-	margin:0;
-}
-.w-over{
-	width:880px;
-	margin:0 auto;
-}
-.w-over-top .bind-search{
-	width:500px;
-	margin:0 auto;
-}
-.w-over-top .bind-search .search{
-	position:relative;
-	margin-top:40px;
-	margin-bottom:40px;
-}
-.w-over-top .bind-search .search input{
-	padding-right: 65px;
-}
-.w-over-top .bind-search .search i{
-	position:absolute;
-	top:7px;
-	right:0;
-	display:block;
-	width:30px;
-	height:30px;
-	font-size: 20px;
-	color: #cbcbcb;
-}
-.w-over-top .bind-search .search i.delete {
-	right: 30px;
-	top:9px;
-	background: url('../img/over_account/delete.png')no-repeat;
-}
-.w-over-top .bind-search .search i.icon-search {
-	right: 0;
-	top:9px;
-	background: url('../img/over_account/search.png')no-repeat;
-}
-.w-over-top .bind-search .search ul{
-	display:none;
-	position:absolute;
-	top:34px;
-	left:0;
-	z-index:100;
-	width:100%;
-	max-height:226px;
-	overflow-y:auto;
-	border:1px solid #dcdcdc;
-	background: #fff;
-	padding:10px 0;
-}
-.w-over-top .bind-search .search li{
-	height:34px;
-	line-height: 34px;
-	padding-left:12px;
-	color:#010101;
-	width:480px;
-	overflow: hidden;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-}
-.w-over-top .bind-search .search .list-name li em{
-	color:#ff5c5c;
-}
-.w-over-top .bind-search .search li:hover{
-	cursor:pointer;
-	background: #f7f7f7;
-}
-.w-over-top .bind-search .search li.hit{
-	color:#8c8c8c;
-}
-.w-over-top .bind-search .search-info{
-	padding:20px;
-	background: #f7f7f7;
-	overflow: hidden;
-}
-.w-over-top .bind-search .search-info h3{
-	font-size: 18px;
-	color:#000;
-	line-height: 20px;
-	font-weight: bold;
-}
-.w-over-top .bind-search .search-info h3 i{
-	display:inline-block;
-	position:relative;
-	top:5px;
-	width:30px;
-	height:20px;
-	background:url('../img/over_account/business.png')no-repeat;
-}
-.w-over-top .bind-search .search-info h3 span{
-	color:#787878;
-	display:inline-block;
-	vertical-align: bottom;
-	width:310px;
-	overflow: hidden;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-}
-.w-over-top .bind-search .search-info h3 em{
-	margin-left:10px;
-	color:#e87405;
-	font-style:normal;
-}
-.w-over-top .bind-search .search-info .row{
-	margin-bottom:15px;
-}
-.w-over-top .bind-search .search-info .row p{
-	font-weight: bold;
-	font-size: 14px;
-	color:#000;
-	margin:0;
-}
-.w-over-top .bind-search .search-info .row span{
-	font-size: 14px;
-	color:#787878;
-}

+ 1 - 1
account-server/src/main/webapp/assets/css/sso.css

@@ -75,7 +75,7 @@ a img {
 	float: right;
 	display: inline-block;
 }
-.x-has-feedback-left a, .x-has-feedback-right a {
+.x-has-feedback-right a {
 	color: #5078cb;
 }
 .x-form-control-feedback-left {

+ 4 - 5
account-server/src/main/webapp/assets/data/profession.json

@@ -1,8 +1,4 @@
-{
-  "服务业":[
-    "餐饮","美容美发","KTV","运动健身","会所","医院"
-  ],
-  "IT|通信|电子|互联网":[
+{"IT|通信|电子|互联网":[
   "互联网/电子商务",
   "计算机软件",
   "IT服务(系统/数据/维护)",
@@ -53,6 +49,9 @@
   "交通|运输|物流|仓储":[
     "交通/运输",
     "物流/仓储"],
+  "服务业":[
+    "餐饮","美容美发","KTV","运动健身","会所","医院"
+  ],
   "文化|传媒|娱乐|体育":[
     "媒体/出版/影视/文化传播",
     "娱乐/体育/休闲"],

+ 16 - 27
account-server/src/main/webapp/assets/js/cloudcenter/index.js

@@ -86,7 +86,7 @@ var app = {
         });
     },
     showUserInfo: function () {
-        $('.btn-info-base').parent().addClass('active').siblings().removeClass('active')
+        $(this).parent().addClass('active').siblings().removeClass('active')
         $('.info').show();
         $('.us-manager').hide();
     },
@@ -94,14 +94,16 @@ var app = {
         if (app.personal) {
             $('#myModal').modal();
         } else {
-            $('.btn-us-manager').parent().addClass('active').siblings().removeClass('active')
+            $(this).parent().addClass('active').siblings().removeClass('active')
             $('.info').hide();
             $('.us-manager').show();
         }
     },
     showUsApply: function () {
         if (!app.isAdmin) {
-            $('#applyModal').modal();
+            if (!app.isAdmin) {
+                $('#applyModal').modal();
+            }
         } else {
             $('.us-apply').show();
             $('.us-member').hide();
@@ -118,23 +120,19 @@ var app = {
             if (data.success) {
                 if (data.content) {
                     var user = data.content.user;
+                    var time = new Date(user.lastLoginTime);
                     var userSpace = data.content.userspace;
                     $('#man').html(user.name);
                     $('#userTel').html(user.uid);
                     $('#userEmil').html(user.secondUID);
-                    if (user.lastLoginTime) {
-                        var time = new Date(user.lastLoginTime);
-                        $('#lastTime').html('上次登录时间:' +
-                            time.getFullYear() + '-' +
-                            time.getMonth() + 1 + '-' +
-                            time.getDate() + '  ' +
-                            time.getHours() + ':' +
-                            time.getMinutes() + ':' +
-                            time.getSeconds()
-                        );
-                    } else {
-                        $('#lastTime').html('上次登录时间:无');
-                    }
+                    $('#lastTime').html('上次登录时间:' +
+                        time.getFullYear() + '-' +
+                        time.getMonth() + 1 + '-' +
+                        time.getDate() + '  ' +
+                        time.getHours() + ':' +
+                        time.getMinutes() + ':' +
+                        time.getSeconds()
+                    );
                     if (userSpace) {
                         $('#spaceName').html(userSpace.name);
                         $('#spaceAddress').html(userSpace.address);
@@ -145,11 +143,6 @@ var app = {
                         if (user.uid == userSpace.adminTel) {
                             app.isAdmin = true;
                         }
-                        var type = $('input[name="type"]').val();
-                        if (type && type == 'apply') {
-                            app.showUsApply()
-                            app.showUsManager()
-                        }
                     } else {
                         $('#usinfo').hide()
                         app.personal = true;
@@ -206,13 +199,11 @@ var app = {
             window.location.href = '/sso/apply/userspace?mobile='+$('#userTel').html();
         });
         $('#applyTable').on('click', '#refuse', function() {
-            app.loading(true);
             $.post('/sso/center/disagree/apply', {
                 mobile: $(this).parent().parent().find('td').eq(3).html()
             }, function (data) {
-                app.loading(false);
                 if (data.success) {
-                    app.info('申请已拒绝')
+                    app.info('拒绝你的申请')
                     app.getApplyTable(1);
                 } else if (data.errMsg) {
                     app.error(data.errMsg);
@@ -220,13 +211,11 @@ var app = {
             })
         });
         $('#applyTable').on('click', '#agree', function() {
-            app.loading(true);
             $.post('/sso/center/agree/apply', {
                 mobile: $(this).parent().parent().find('td').eq(3).html()
             }, function (data) {
-                app.loading(false);
                 if (data.success) {
-                    app.info('申请已同意')
+                    app.info('同意你的申请')
                     app.getApplyTable(1);
                 } else if (data.errMsg) {
                     app.error(data.errMsg);

+ 0 - 218
account-server/src/main/webapp/assets/js/invite.js

@@ -1,218 +0,0 @@
-var app = {
-    loading: function(is) {
-        $('#loading').css('display', is ? 'block': 'none');
-    },
-    info: function(message, title, position) {
-        toastr.info(message, title, {positionClass: 'toast-' + (position || 'top-center'), timeOut: 1000});
-    },
-    error: function(message, title, position) {
-        toastr.error(message, title, {positionClass: 'toast-' + (position || 'top-center')});
-    },
-    //============CRUD about userpace===============
-    editSpaceDetail : function(event, bussCode) {
-        bussCode = event ? $(event.target).data("id") : bussCode;
-        if (bussCode) {
-            $.getJSON('invite/detail/' + bussCode, function(data) {
-                if (data.content && data.content.id) {
-                    app.showSpaceDetailModal(data.content);
-                } else {
-                    app.error('没有找到企业资料');
-                }
-            });
-        } else {
-            app.error('错误!');
-        }
-    },
-    showSpaceDetailModal: function(content) {
-        $('#userSpaceDetailModal').showModal({
-            data: content,
-            tplExp: '@{([^}]*)}',
-            renderer: {
-                parseDate: function(data) {
-                    var d = data.registerDate;
-                    if (d) {
-                        return new Date(d).format('yyyy-mm-dd');
-                    }
-                    return '';
-                }
-            },
-            shown: function(){
-                var scope = $(this);
-                // 点击修改按钮
-                scope.find('.x-btn-renew').click(function () {
-                    scope.find('.x-btn-close').hide();
-                    scope.find('.x-btn-renew').hide();
-                    scope.find('#old-inviteInfo').hide();
-                    scope.find('.x-btn-confirm').show();
-                    scope.find('.x-btn-cancel').show();
-                    scope.find('#new-inviteInfo').show();
-                });
-                // 取消
-                scope.find('.x-btn-cancel').click(function () {
-                    scope.find('.x-btn-close').show();
-                    scope.find('.x-btn-renew').show();
-                    scope.find('#old-inviteInfo').show();
-                    scope.find('.x-btn-confirm').hide();
-                    scope.find('.x-btn-cancel').hide();
-                    scope.find('#new-inviteInfo').hide();
-                });
-                scope.find('.x-btn-confirm').click(function() {
-                    var inviteEnName = scope.find('input[name=new_inviteEnName]').val();
-                    var userName = scope.find('input[name=new_userName]').val();
-                    var userTel = scope.find('input[name=new_userTel]').val();
-                    var id = content.id;
-                    if (inviteEnName == null) {
-                        app.error('邀请企业不能为空');
-                    } else {
-                        if (userTel == null) {
-                            app.error('邀请人联系方式不能为空');
-                        }
-                    }
-                    app.renewUserSpaceDetail(id, inviteEnName, userName, userTel);
-                });
-            }
-        });
-    },
-
-    // 修改邀请信息
-    renewUserSpaceDetail: function(id, inviteEnName, userName, userTel) {
-        $.post('invite/update', {
-            id: id,
-            inviteEnName: inviteEnName,
-            userName: userName,
-            userTel: userTel,
-        }, function(data){
-            app.loading(false);
-            if (data && data.errMsg) {
-                app.error(data.errMsg, '修改失败', 'top-right');
-            } else {
-                app.info('信息修改成功,请刷新页面');
-                // app.editSpaceDetail(null, id);
-            }
-        }, 'json');
-    },
-
-    //============list view===============
-    showSpaceDetailList: function(params) {
-        app.loading(true);
-        $('.pagination').pagination({
-            url: 'invite',
-            params: params,
-            renderData: function(content){
-                app.loading(false);
-                var list = $('.x-data-list');
-                if(content.length == 0) {
-                    list.empty();
-                    $('.x-data-list-wrap .x-empty').show();
-                } else {
-                    $('.x-data-list-wrap .x-empty').hide();
-                    list.appendTpl('<div class="x-item"><div class="x-icon"><i class="fa fa-user"></i></div><p><a class="x-title x-editor-trigger" href="javascript:void(0);" data-id="#{id}">#{fn:parseName}</a><span class="pull-right x-text-muted">#{fn:parseDate}</span></p><div><span class="x-text-muted">#{fn:parseAdminName}</span><span class="pull-right x-text-muted">#{fn:parseAddress}</span></div></div>', content, {
-                        parseName: function(data) {
-                            return data.name || '';
-                        },
-                        parseDate: function(data) {
-                            var d = data.registerDate;
-                            if (d) {
-                                return new Date(d).format('yyyy-mm-dd');
-                            }
-                            return '';
-                        },
-                        parseAdminName: function (data) {
-                            return data.adminName || '';
-                        },
-                        parseAddress: function (data) {
-                            return data.address || '';
-                        }
-                    });
-                    list.find('.x-editor-trigger').click(app.editSpaceDetail);
-                }
-            }
-        });
-    },
-
-    searchSpaceDetail: function(event) {
-        var target = $(event.target), form = $('.x-nav-tabs form'), data = form.serializeObject();
-        if (!target.is('a')) {
-            target = $('.x-nav-tabs .active a');
-        }
-        data.status = target.data('status');
-        data.pageNumber = 1;
-        app.showSpaceDetailList(data);
-        $('.x-nav-tabs .active').removeClass('active');
-        target.parent().addClass('active');
-        $('#searchlist').hide();
-        $(":text").val ("");
-    },
-    getStatus: function(data) {
-        if (data) {
-            return {310: "DISABLED", 313: "ENABLED"}[data.status];
-        }
-        return $('.x-nav-tabs .active a').data('status');
-    },
-    //============slide-bar info===============
-    showUserSpaceCount: function() {
-        $.getJSON('api/userspace/count', function(data){
-            if(data.content) {
-                var datas = [], total = data.content['全部'] || 0;
-                $.each(data.content, function(k, v){
-                    datas.push({appName: k, count: v, total: total});
-                });
-                $('#userSpaceAppCount .x-mod-body').appendTpl('<div class="x-progress-wrap"><div class="x-progress-title">#{appName}<span class="pull-right">#{count}</span></div><div class="progress"><div class="progress-bar progress-bar-#{fn:getProcessCss}" role="progressbar" aria-valuenow="#{count}" aria-valuemin="0" aria-valuemax="#{total}" style="width: #{fn:getProcessWidth}"><span class="sr-only"></span></div></div></div>', datas, {
-                    getProcessCss: function(d) {
-                        var k = d.count/d.total;
-                        if(k == 1) {
-                            return 'success';
-                        } else if(k > 0.6) {
-                            return 'info';
-                        } else if(k > 0.3) {
-                            return 'warning';
-                        }
-                        return 'danger';
-                    },
-                    getProcessWidth: function(d) {
-                        return Math.round(100*d.count/d.total) + '%';
-                    }
-                });
-            }
-        });
-    },
-    //============document ready===============
-    init : function() {
-        app.showSpaceDetailList({
-            pageNumber: 1,
-            pageSize: 10,
-            status: app.getStatus()
-        });
-        app.showUserSpaceCount();
-        $('.x-nav-tabs a').click(app.searchSpaceDetail);
-        $('.btn-search').click(app.searchSpaceDetail);
-        new Router({
-            '#/(.+)': function(businessCode) {
-                app.editSpaceDetail(null, businessCode);
-            }
-        }).start();
-        $('.x-btn-search').click(function() {
-            $('#searchlist').toggle();
-        });
-        // 点击空白处关闭下拉框
-        $(document).click(function(e) {
-            var target = $(e.target);
-            if(target.closest('.x-btn-search').length==0 && target.closest('#searchlist').length==0) {
-                $('#searchlist').hide();
-            }
-        });
-        // 监听Enter键
-        $(function() {
-            var $inp=$('input');
-            $inp.keypress(function(e){
-                var key=e.which;
-                if(key==13) {
-                    $('.btn-search').click();
-                }
-            })
-        });
-    }
-};
-$(document).ready(function() {
-    app.init();
-});

+ 17 - 280
account-server/src/main/webapp/assets/js/mobile/register.js

@@ -39,76 +39,14 @@ var app = {
 			count--;
 		}, 1000);
 	},
-	showLocalFile: function(el, val) {
-		var previewEl = $('#' + el.attr('arias-preview')), info = el.attr('arias-file-info');
-		var files = el.context.files;
-		// var pageStep = $('input[name=pageStep]').val();
-		if(el.context.id == 'businessImage') {
-			if(files.length > 0) {
-				if(files[0].size/1024/1024 > 5) {
-					el.addClass('x-error');
-					toggleError(el, false, '营业执照大小不能超过5M');
-				}
-			}
-		}else if (el.context.id == 'logoImage') {
-			if(files.length > 0) {
-				if(files[0].size/1024/1024 > 0.1) {
-					el.addClass('x-error');
-					toggleError(el, false, 'logo大小不能超过100K');
-				}
-			}
-		}
-		if (/^.*\.(?:png|jpe?g|bmp|gif)$/i.test(val)) {
-			previewEl.show();
-			var img = previewEl.find('img');
-			var files = el.context.files;
-			if (files && files[0] && window.FileReader) {
-				var fr = new FileReader();
-				fr.onloadend = function(e) {
-					img.attr('src', e.target.result);
-				};
-				fr.readAsDataURL(files[0]);
-			} else {
-				if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
-					try {
-						img.attr('src', app.getObjectURL(files[0]))
-					} catch (e) {
-						el.context.select();
-						if (top != self) {
-							window.parent.document.body.focus();
-						} else {
-							el.blur();
-						}
-						var src = document.selection.createRange().text, div = img.parent()[0];
-						document.selection.empty();
-						img.hide();
-						img.parent().css({
-							'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)',
-							'width': '150px',
-							'height': '150px'
-						});
-						div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src
-					}
-				}
-			}
-			$('#' + info).hide();
-		} else if (info && /^.*\.pdf$/i.test(val)) {
-			previewEl.hide();
-			$('#' + info).show().find('span').text(val);
-		} else if (val) {
-			el.val("");
-			app.error('您上传的文件格式有误');
-		}
-	},
 	postFileAndData: function(formData) {
 		if (app.isLoading)
 			return;
 		app.loading(true);
 		var btn = $('.x-btn-submit');
 		btn.attr('disabled', 'disabled');
-		$.ajaxFileUpload({
-			secureuri: false,
-			fileElementId: ['businessFile'],
+		$.ajax({
+			type: 'POST',
 			url: 'sso/mobile/userspace/register',
 			data: formData,
 			dataType: 'json',
@@ -137,51 +75,6 @@ var app = {
 			}
 		});
 	},
-	initAdminForm: function () {
-        $('input[name="adminTel"]').change(app.checkMobileTel);
-        $('input[name="adminEmail"]').change(app.checkMobileEmail);
-		$('.x-form-second').validation({
-			disable: false,
-			success: function(form, data) {
-				if (!data.agree) {
-					app.error('您还未同意优软平台服务协议');
-				} else {
-					app.setAdmin(data);
-				}
-			},
-			error: function(form, errEl, errMsg) {
-				app.error(errMsg);
-			}
-		});
-        $('input[name="checkcode"]').change(app.checkCheckcode);
-		app.enableCheckcode();// 监听获取验证码的按钮状态
-		$('.x-btn-checkcode').click(app.getCheckcode);
-		app.checkcodeTimeout();
-	},
-	setAdmin: function (formData) {
-		var token = $("input[name='checkcode']").data('token');
-		$.extend(formData, {checkcodeToken: token});
-		if (app.isLoading)
-			return;
-		app.loading(true);
-		$.ajax("sso/mobile/userspace/setAdmin", {
-			data: formData,
-			method: 'POST',
-			success: function (data) {
-				if (data.success) {
-					app.info("注册成功,正在跳转登录页面");
-					window.location.href = 'https://mobile.ubtob.com:8443/openapp/';
-				} else {
-					app.error(data.errMsg);
-					app.loading(false);
-				}
-			},
-			error: function (data) {
-				app.error(data.errMsg);
-				app.loading(false);
-			}
-		});
-	},
 	/**
 	 * 禁用/启用发送验证码按钮
 	 * @param el
@@ -205,16 +98,16 @@ var app = {
 		});
 	},
 	initForm: function() {
-		$('input[name="name"]').change(app.checkName);
-		$('.x-form-first').validation({
+		$('.x-form').validation({
 			// 允许没校验过的情况下点击按钮,这样可以提示错误在哪
 			disable: false,
 			success: function(form, data) {
-                if ($('input[name="longitude"]').val() && $('input[name="latitude"]').val()) {
-                    app.postFileAndData(data);
-                } else {
-                    app.error("请选择正确的地址");
-                }
+				if (!data.agree) {
+					app.error('您还未同意优软平台服务协议');
+				} else {
+					$.extend(data, app.cityData);
+					app.postFileAndData(data);
+				}
 			},
 			error: function(form, errEl, errMsg) {
 				app.error(errMsg);
@@ -222,9 +115,13 @@ var app = {
 			listeners: {
 				'name': app.checkName,
 				'businessCode': app.checkBusCode,
-				'businessFile': app.showLocalFile,
+				'file': app.showLocalFile,
+				'checkcode': app.checkCheckcode
 			}
 		});
+		app.enableCheckcode();// 监听获取验证码的按钮状态
+		$('.x-btn-checkcode').click(app.getCheckcode);
+		app.checkcodeTimeout();
 	},
 	checkName: function(el, name) {
 		$.get('sso/userspace/valid', {
@@ -246,20 +143,6 @@ var app = {
 			}
 		});
 	},
-    checkMobileTel: function () {
-		var mobile = $('input[name="adminTel"]').val();
-		var pattern = new RegExp('^1[0-9]{10}$');
-		if (!pattern.test(mobile)) {
-			app.error("手机号格式不正确");
-		}
-    },
-    checkMobileEmail: function () {
-        var mobile = $('input[name="adminEmail"]').val();
-        var pattern = new RegExp('^([\\w-])+(\\.\\w+)*@([\\w-])+((\\.\\w{2,3}){1,3})$');
-        if (!pattern.test(mobile)) {
-            app.error("邮箱格式不正确");
-        }
-    },
 	/**
 	 * 验证验证码是否正确
 	 * @param el
@@ -270,11 +153,10 @@ var app = {
 		if(token) {
 			$.post('sso/userspace/checkcode', {
 				token: token,
-				code: code,
-				tel: $('input[name="adminTel"]').val(),
-				email: $('input[name="adminEmail"]').val()
+				code: code
 			}, function (res) {
 				if (res.success) {
+					app.info('验证码正确');
 				} else {
 					app.error(res.errMsg);
 					el.addClass('x-error');
@@ -327,6 +209,7 @@ var app = {
 						app.error('密码不一致');
 					}
 				},
+				'domain': app.checkDomain,
 				'file': app.showLocalFile
 			}
 		});
@@ -460,151 +343,7 @@ var app = {
 			}, 1000);
 		}
 	},
-    loadProfession: function() {
-        app.professionData = {profession: null};
-        $.getJSON('static/data/profession.json', function(data){
-            var wraps = $('.x-profession-list ul');
-            wraps.eq(0).appendTpl('<li>#{this}</li>', Object.keys(data));
-            wraps.eq(0).find('li').click(function() {
-                var curr = $(this), prov = curr.text(), oldActive = wraps.eq(0).find('li.active');
-                wraps.eq(2).empty();
-                if(prov != oldActive.text()) {
-                    oldActive.removeClass('active');
-                    curr.addClass('active');
-                    if (data[prov] == '[object Object]'){
-                        wraps.eq(1).appendTpl('<li data-parent="' + prov + '">#{this}</li>', Object.keys(data[prov]));
-                        wraps.eq(1).find('li').click(function (e) {
-                            var curr = $(this);
-                            $('#profession').val(curr.text());
-                            $('.profession-modal').hide()
-                        })
-                    } else {
-                        wraps.eq(1).appendTpl('<li data-parent="' + prov + '" class="x-btn">#{this}</li>', data[prov]);
-                        wraps.eq(1).find('li').click(function (e) {
-                            var curr = $(this);
-                            $('#profession').val(curr.text());
-                            $('.profession-modal').hide()
-                        })
-                    }
-                }
-            })
-        });
-    },
 	init : function() {
-        // 地图事件
-        $('#enter').click(function () {
-            $('input[name="address"]').val($('#tipinput').val()+$('#input').val());
-            $('.profession-modal').popup();
-        });
-        //地图加载
-        var map = new AMap.Map("map", {
-            resizeEnable: true,
-            zoom: 12
-        });
-        map.setStatus({
-			doubleClickZoom: true,
-			dragEnable: true
-		})
-        //输入提示
-        var autoOptions = {
-            input: "tipinput"
-        };
-        var auto = new AMap.Autocomplete(autoOptions);
-        var placeSearch = new AMap.PlaceSearch({
-            map: map
-        });  //构造地点查询类
-        var marker = new AMap.Marker({
-            map: map
-        })
-        AMap.event.addListener(auto, "select", select);//注册监听,当选中某条记录时会触发
-        function select(e) {
-            placeSearch.setCity(e.poi.adcode);
-            placeSearch.search(e.poi.name);  //关键字查询查询
-            if (e.poi && e.poi.location) {
-                map.setZoom(15);
-                map.setCenter(e.poi.location);
-                $('input[name="longitude"]').val(e.poi.location.lng);
-                $('input[name="latitude"]').val(e.poi.location.lat);
-            }
-        }
-        map.on('click', function(e) {
-            $('input[name="longitude"]').val(e.lnglat.getLng());
-            $('input[name="latitude"]').val(e.lnglat.getLat());
-            var reg = [e.lnglat.getLng(), e.lnglat.getLat()]
-			regeocoder(reg)
-        });
-		// 经纬度转地址
-        function regeocoder(type) {
-        	var geocoder = new AMap.Geocoder({
-				radius: 1000,
-				extensions: 'all',
-				city: '010'
-			})
-            geocoder.getAddress(type, function (status, result) {
-                if(status === 'complete' && result.info === 'OK') {
-                    geocoder_CallBack(result);
-                }
-            })
-			marker.setPosition(type)
-		}
-		// 地址转经纬度
-        // function regeocoderAddress(type) {
-         //    var geocoder = new AMap.Geocoder({
-         //        radius: 1000,
-         //        extensions: 'all',
-         //        city: '010'
-         //    })
-        //
-         //    geocoder.getLocation(type, function (status, result) {
-         //        if(status === "complete" && result.info === "OK") {
-         //            geocoder_CallBack(result)
-         //        }
-         //    })
-        // }
-
-		function geocoder_CallBack (data) {
-        	var address = data.regeocode.formattedAddress;
-            document.getElementById("tipinput").value = address;
-		}
-		// 定位
-        map.plugin('AMap.Geolocation', function() {
-            geolocation = new AMap.Geolocation({
-                enableHighAccuracy: true,//是否使用高精度定位,默认:true
-                timeout: 10000,          //超过10秒后停止定位,默认:无穷大
-                buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
-                zoomToAccuracy: true,      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
-                buttonPosition:'RB'
-            });
-            map.addControl(geolocation);
-            geolocation.getCurrentPosition();
-            AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
-            AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息
-        });
-        //解析定位结果
-        function onComplete(data) {
-        	var position = [data.position.getLng(), data.position.getLat()]
-            $('input[name="longitude"]').val(data.position.getLng());
-            $('input[name="latitude"]').val(data.position.getLat());
-            regeocoder(position)
-        }
-        //解析定位错误信息
-        function onError(data) {
-            document.getElementById('tip').innerHTML = '定位失败';
-        }
-
-		$('#address').focus(function() {
-			$('#mapPopup').popup()
-		})
-
-	    $('#profession').click(function() {
-	    	var dropdown = $('.dropdown')
-           if(dropdown.css('display') === 'none') {
-               dropdown.show()
-		   } else {
-               dropdown.hide()
-		   }
-        })
-        app.loadProfession();
 		new Router({
 			'#/valid': function() {
 				app.initApps();
@@ -615,8 +354,6 @@ var app = {
 			var pageStep = $('input[name=pageStep]').val();
 			if(pageStep == 1) {
 				app.initForm();
-			} else if (pageStep == 2) {
-				app.initAdminForm();
 			} else {
 				app.initApps();
 			}

+ 2 - 24
account-server/src/main/webapp/assets/js/register.js

@@ -285,7 +285,7 @@ var app = {
 			if (data.errMsg) {
 				// app.error(data.errMsg);
 				el.addClass('x-error');
-				toggleError(el, false, data.errMsg + '<div class="err_title"><i class="glyphicon glyphicon-question-sign"></i> <span>如果您所属企业的管理员已离职或不再使用优软云,请 <a href="/changeAdmin/changeAdmin">更换管理员</a></span></div>');
+				toggleError(el, false, data.errMsg);
 			}
 		});
 	},
@@ -503,42 +503,20 @@ var app = {
 		//    }
 		// });
 		$('input[name=adminTel]').blur(app.checkAdminTel);
-		$('input[name=password]').blur(app.checkPassword);
 		app.enableCheckcode();// 监听获取验证码的按钮状态
 		$('.x-btn-checkcode').click(app.getCheckcode);
 		app.checkcodeTimeout();
 	},
 
-	checkPassword: function () {
-		if (!app.isNew) {
-			return ;
-		}
-		var password = $('#password').val();
-		var mediumRegex = new RegExp("^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z]))|((?=.*[0-9])(?=.*[A-Z]))).*$", "g");
-		if (!mediumRegex.test(password)) {
-            $('#password_help2').hide();
-            $('#password_error').hide();
-			toggleError($('#password'), false, '请输入8-20位英文数字混合密码');
-		}
-	},
-
 	checkAdminTel: function () {
 		var mobile = $('input[name=adminTel]').val();
 		$.get('api/user/detail', {
 			mobile: mobile
 		}, function (data) {
 			if (data.content != null) {
-                $('#password_help2').hide();
+				$('#password_help').show();
 				$('#password_error').hide();
 				$('#password_err').hide();
-                $('#password_help').show();
-				app.isNew = false;
-			} else {
-                $('#password_help').hide();
-                $('#password_error').hide();
-                $('#password_err').hide();
-                $('#password_help2').show();
-				app.isNew = true;
 			}
 		})
 	},

+ 0 - 64
sso-core/src/main/java/com/uas/sso/SSOConfig.java

@@ -44,10 +44,6 @@ public class SSOConfig {
 	private String loginUrl = "";
 	private String registerUrl = "";
 	private String logoutUrl = "";
-	private String updateMobileUrl = "";
-	private String updateEmailUrl = "";
-	private String updateQuestionUrl = "";
-	private String updatePasswordUrl = "";
 	private String authCookieSecretkey = "Lg8V51188n0709i5l81";
 	private String authCookieName = "pid";
 	private int authCookieMaxage = 180;
@@ -411,66 +407,6 @@ public class SSOConfig {
 		this.registerUrl = registerUrl;
 	}
 
-	/**
-	 * 修改手机号地址
-	 * @return
-	 */
-	public String getUpdateMobileUrl() {
-		if (properties == null) {
-			return updateMobileUrl;
-		}
-		return properties.get("sso.updateMobile.url", updateMobileUrl);
-	}
-
-	public void setUpdateMobileUrl(String updateMobileUrl) {
-		this.updateMobileUrl = updateMobileUrl;
-	}
-
-	/**
-	 * 修改邮箱地址
-	 * @return
-	 */
-	public String getUpdateEmailUrl() {
-		if (properties == null) {
-			return updateEmailUrl;
-		}
-		return properties.get("sso.updateEmail.url", updateEmailUrl);
-	}
-
-	public void setUpdateEmailUrl(String updateEmailUrl) {
-		this.updateEmailUrl = updateEmailUrl;
-	}
-
-	/**
-	 * 修改密保地址
-	 * @return
-	 */
-	public String getUpdateQuestionUrl() {
-		if (properties == null) {
-			return updateQuestionUrl;
-		}
-		return properties.get("sso.updateQuestion.url", updateQuestionUrl);
-	}
-
-	public void setUpdateQuestionUrl(String updateQuestionUrl) {
-		this.updateQuestionUrl = updateQuestionUrl;
-	}
-
-	/**
-	 * 修改密码地址
-	 * @return
-	 */
-	public String getUpdatePasswordUrl() {
-		if (properties == null) {
-			return updatePasswordUrl;
-		}
-		return properties.get("sso.updatePassword.url", updatePasswordUrl);
-	}
-
-	public void setUpdatePasswordUrl(String updatePasswordUrl) {
-		this.updatePasswordUrl = updatePasswordUrl;
-	}
-
 	/**
 	 * 跨域 AuthCookie 密钥
 	 */

+ 0 - 32
sso-core/src/main/java/com/uas/sso/SSOHelper.java

@@ -190,38 +190,6 @@ public class SSOHelper {
 		return getSSOService().getRedirectRegisterUrl(request, url);
 	}
 
-	public static String getUpdateMobileUrl(HttpServletRequest request) throws IOException {
-		return getSSOService().getUpdateMobileUrl(request);
-	}
-
-	public static String getUpdateMobileUrl(HttpServletRequest request, String url) throws IOException {
-		return getSSOService().getUpdateMobileUrl(request, url);
-	}
-
-	public static String getUpdateEmailUrl(HttpServletRequest request) throws IOException {
-		return getSSOService().getUpdateEmailUrl(request);
-	}
-
-	public static String getUpdateEmailUrl(HttpServletRequest request, String url) throws IOException {
-		return getSSOService().getUpdateEmailUrl(request, url);
-	}
-
-	public static String getUpdatePasswordUrl(HttpServletRequest request) throws IOException {
-		return getSSOService().getUpdatePasswordUrl(request);
-	}
-
-	public static String getUpdatePasswordUrl(HttpServletRequest request, String url) throws IOException {
-		return getSSOService().getUpdatePasswordUrl(request, url);
-	}
-
-	public static String getUpdateQuestionUrl(HttpServletRequest request) throws IOException {
-		return getSSOService().getUpdateQuestionUrl(request);
-	}
-
-	public static String getUpdateQuestionUrl(HttpServletRequest request, String url) throws IOException {
-		return getSSOService().getUpdateQuestionUrl(request, url);
-	}
-
 	/**
 	 * 如果另起一个请求的话,实际要return的为该请求的Referer
 	 * 

+ 0 - 88
sso-core/src/main/java/com/uas/sso/service/AbstractSSOService.java

@@ -203,94 +203,6 @@ public abstract class AbstractSSOService extends SSOServiceSupport implements SS
 		return HttpUtil.encodeRetURL(loginUrl, SSOConfig.ReturnURLParam, retUrl, data);
 	}
 
-	public String getUpdateMobileUrl(HttpServletRequest request) throws IOException {
-		String url = config.getUpdateMobileUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-        String retUrl = HttpUtil.getQueryString(request, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdateMobileUrl(HttpServletRequest request, String retUrl) throws IOException {
-		String url = config.getUpdateMobileUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-		retUrl = URLEncoder.encode(retUrl, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdateEmailUrl(HttpServletRequest request) throws IOException {
-		String url = config.getUpdateEmailUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-        String retUrl = HttpUtil.getQueryString(request, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdateEmailUrl(HttpServletRequest request, String retUrl) throws IOException {
-		String url = config.getUpdateEmailUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-		retUrl = URLEncoder.encode(retUrl, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdatePasswordUrl(HttpServletRequest request) throws IOException {
-		String url = config.getUpdatePasswordUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-        String retUrl = HttpUtil.getQueryString(request, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdatePasswordUrl(HttpServletRequest request, String retUrl) throws IOException {
-		String url = config.getUpdatePasswordUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-		retUrl = URLEncoder.encode(retUrl, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdateQuestionUrl(HttpServletRequest request) throws IOException {
-		String url = config.getUpdateQuestionUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-        String retUrl = HttpUtil.getQueryString(request, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
-	public String getUpdateQuestionUrl(HttpServletRequest request, String retUrl) throws IOException {
-		String url = config.getUpdateQuestionUrl();
-		if ("".equals(url)) {
-			return null;
-		}
-		retUrl = URLEncoder.encode(retUrl, config.getEncoding());
-		Map<String, String> data = new HashMap<String, String>();
-		data.put(SSOConfig.AppIdParam, SSOConfig.getInstance().getAppName());
-		return HttpUtil.encodeRetURL(url, SSOConfig.ReturnURLParam, retUrl, data);
-	}
-
 	public String getRedirectRefererRegisterUrl(HttpServletRequest request) throws IOException {
 		String loginUrl = config.getRegisterUrl();
 		if ("".equals(loginUrl)) {

+ 5 - 2
sso-core/src/main/java/com/uas/sso/service/SSOServiceSupport.java

@@ -407,8 +407,11 @@ public class SSOServiceSupport {
 			/**
 			 * Cookie设置HttpOnly
 			 */
-			ck.setHttpOnly(config.getCookieHttponly());
-			response.addCookie(ck);
+			if (config.getCookieHttponly()) {
+				CookieHelper.addHttpOnlyCookie(response, ck);
+			} else {
+				response.addCookie(ck);
+			}
 		} catch (Exception e) {
 			logger.severe("set HTTPOnly cookie createAUID is exception! " + e.toString());
 		}