ソースを参照

添加更换管理员和验证账号申述

wangmh 8 年 前
コミット
1f2743cec3

+ 44 - 4
sso-server/src/main/java/com/uas/sso/controller/AppealController.java

@@ -1,10 +1,10 @@
 package com.uas.sso.controller;
 
-import com.uas.sso.entity.ResetPwdAppeal;
-import com.uas.sso.entity.Token;
+import com.uas.sso.entity.*;
+import com.uas.sso.service.ChangeAdminAppealService;
 import com.uas.sso.service.ResetPwdAppealService;
 import com.uas.sso.service.UserService;
-import javax.validation.Valid;
+import com.uas.sso.service.ValidAccountAppealService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -27,6 +27,12 @@ public class AppealController extends BaseController {
     @Autowired
     private ResetPwdAppealService resetPwdAppealService;
 
+    @Autowired
+    private ChangeAdminAppealService changeAdminAppealService;
+
+    @Autowired
+    private ValidAccountAppealService validAccountAppealService;
+
     /**
      * 获取手机号验证码
      *
@@ -77,7 +83,7 @@ public class AppealController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
-    public ModelMap resetPwd(@Valid ResetPwdAppeal resetPwdAppeal, String token, String code) {
+    public ModelMap resetPwd(ResetPwdAppeal resetPwdAppeal, String token, String code) {
         Token existToken = tokenService.findOne(token);
         if (existToken == null || existToken.isExpired()) {
             return error("验证码已过期,请重新获取");
@@ -92,4 +98,38 @@ public class AppealController extends BaseController {
         resetPwdAppealService.submit(resetPwdAppeal);
         return success();
     }
+
+    @RequestMapping(value = "/changeAdmin", method = RequestMethod.POST)
+    public ModelMap changeAdmin(ChangeAdminAppeal changeAdminAppeal, String token, String code) {
+        Token existToken = tokenService.findOne(token);
+        if (existToken == null || existToken.isExpired()) {
+            return error("验证码已过期,请重新获取");
+        }
+
+        // TODO 参数空检验
+
+        // 校验验证码
+        checkMobileCode(token, changeAdminAppeal.getMobile(), code);
+
+        // 保存申述信息
+        changeAdminAppealService.submit(changeAdminAppeal);
+        return success();
+    }
+
+    @RequestMapping(value = "/validAccount", method = RequestMethod.POST)
+    public ModelMap validAccount(ValidAccountAppeal validAccountAppeal, String token, String code) {
+        Token existToken = tokenService.findOne(token);
+        if (existToken == null || existToken.isExpired()) {
+            return error("验证码已过期,请重新获取");
+        }
+
+        // TODO 参数空检验
+
+        // 校验验证码
+        checkMobileCode(token, validAccountAppeal.getMobile(), code);
+
+        // 保存申述信息
+        validAccountAppealService.submit(validAccountAppeal);
+        return success();
+    }
 }

+ 1 - 2
sso-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -13,7 +13,7 @@ import com.uas.sso.entity.UserAccount;
 import com.uas.sso.entity.UserRecord;
 import com.uas.sso.service.AppService;
 import com.uas.sso.service.UserService;
-import com.uas.sso.service.impl.UserAccountService;
+import com.uas.sso.service.UserAccountService;
 import com.uas.sso.util.AccountTypeUtils;
 import com.uas.sso.util.CaptchaUtil;
 import com.uas.sso.web.waf.request.WafRequestWrapper;
@@ -25,7 +25,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.ServletException;
 import java.io.IOException;
 import java.util.*;
 

+ 21 - 3
sso-server/src/main/java/com/uas/sso/controller/UpdateUserController.java

@@ -4,7 +4,7 @@ import com.uas.sso.core.Status;
 import com.uas.sso.entity.*;
 import com.uas.sso.service.UserService;
 import com.uas.sso.support.SystemSession;
-import com.uas.sso.util.CollectionUtils;
+import org.springframework.util.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
@@ -282,7 +282,7 @@ public class UpdateUserController extends BaseController {
     }
 
     /**
-     * 设置手机号
+     * 设置邮箱
      *
      * @author wangmh
      * @date 2018/1/11 21:15
@@ -307,7 +307,7 @@ public class UpdateUserController extends BaseController {
             return error("请求超时,请刷新重试");
         }
 
-        // 校验手机号是否被使用
+        // 校验邮箱是否被使用
         if (userService.emailHasRegistered(email)){
             return error("邮箱已注册");
         }
@@ -326,4 +326,22 @@ public class UpdateUserController extends BaseController {
         userService.updateEmail(user.getUserUU(), email);
         return success();
     }
+
+    public ModelMap updateQuestion(@RequestParam String token, List<UserQuestion> userQuestions) {
+        // 校验空参数
+        if (CollectionUtils.isEmpty(userQuestions)) {
+            return error("密保不能为空");
+        }
+
+        // 从session中获取用户信息
+        User user = (User) request.getSession().getAttribute("user");
+        if (user == null) {
+            return error("请求超时,请刷新重试");
+        }
+
+        // 设置密保
+        user.setQuestions(userQuestions);
+        userService.save(user);
+        return success();
+    }
 }

+ 13 - 0
sso-server/src/main/java/com/uas/sso/dao/ChangeAdminAppealDao.java

@@ -0,0 +1,13 @@
+package com.uas.sso.dao;
+
+import com.uas.sso.entity.ChangeAdminAppeal;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 16:39
+ * @desc
+ **/
+public interface ChangeAdminAppealDao extends JpaRepository<ChangeAdminAppeal, Long>, JpaSpecificationExecutor<ChangeAdminAppeal> {
+}

+ 13 - 0
sso-server/src/main/java/com/uas/sso/dao/ValidAccountAppealDao.java

@@ -0,0 +1,13 @@
+package com.uas.sso.dao;
+
+import com.uas.sso.entity.ValidAccountAppeal;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 17:04
+ * @desc
+ **/
+public interface ValidAccountAppealDao extends JpaRepository<ValidAccountAppeal, Long>, JpaSpecificationExecutor<ValidAccountAppeal> {
+}

+ 234 - 0
sso-server/src/main/java/com/uas/sso/entity/ChangeAdminAppeal.java

@@ -0,0 +1,234 @@
+package com.uas.sso.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 16:03
+ * @desc 更换管理员申述
+ **/
+@Entity
+@Table(name = "sso$appeal$admin")
+public class ChangeAdminAppeal implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @Id
+    @Column(name = "_id")
+    @SequenceGenerator(name = "sso$appeal$admin_gen", sequenceName = "sso$appeal$admin_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "sso$appeal$admin_gen")
+    private Long id;
+
+    /**
+     * 新管理员手机号
+     */
+    @Column(name = "mobile")
+    private String mobile;
+
+    /**
+     * 企业名称
+     */
+    @Column(name = "space_name")
+    private String spaceName;
+
+    /**
+     * 企业营业执照号
+     */
+    @Column(name = "business_code")
+    private String businessCode;
+
+    /**
+     * 企业营业执照
+     */
+    @Column(name = "business_code_image")
+    private String businessCodeImage;
+
+    /**
+     * 法定代表人
+     */
+    @Column(name = "corporation")
+    private String corporation;
+
+    /**
+     * 注册地址
+     */
+    @Column(name = "reg_address")
+    private String regAddress;
+
+    /**
+     * 申述说明
+     */
+    @Column(name = "description", nullable = false, length = 2000)
+    private String description;
+
+    /**
+     * 联系人
+     */
+    @Column(name = "contact_name", nullable = false)
+    private String contactName;
+
+    /**
+     * 联系电话
+     */
+    @Column(name = "contact_tel", nullable = false)
+    private String contactTel;
+
+    /**
+     * 联系邮箱
+     */
+    @Column(name = "contact_email", nullable = false)
+    private String contactEmail;
+
+
+    /**
+     * 提交日期
+     */
+    @Column(name = "submit_date")
+    private Timestamp submitDate;
+
+    /**
+     * 审核人
+     */
+    @Column(name = "auditor")
+    private String auditor;
+
+    /**
+     * 审核日期
+     */
+    @Column(name = "audit_date")
+    private Timestamp auditDate;
+
+    /**
+     * 审核状态(Status枚举)
+     */
+    @Column(name = "status", nullable = false)
+    private short status;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getSpaceName() {
+        return spaceName;
+    }
+
+    public void setSpaceName(String spaceName) {
+        this.spaceName = spaceName;
+    }
+
+    public String getBusinessCode() {
+        return businessCode;
+    }
+
+    public void setBusinessCode(String businessCode) {
+        this.businessCode = businessCode;
+    }
+
+    public String getBusinessCodeImage() {
+        return businessCodeImage;
+    }
+
+    public void setBusinessCodeImage(String businessCodeImage) {
+        this.businessCodeImage = businessCodeImage;
+    }
+
+    public String getCorporation() {
+        return corporation;
+    }
+
+    public void setCorporation(String corporation) {
+        this.corporation = corporation;
+    }
+
+    public String getRegAddress() {
+        return regAddress;
+    }
+
+    public void setRegAddress(String regAddress) {
+        this.regAddress = regAddress;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getContactName() {
+        return contactName;
+    }
+
+    public void setContactName(String contactName) {
+        this.contactName = contactName;
+    }
+
+    public String getContactTel() {
+        return contactTel;
+    }
+
+    public void setContactTel(String contactTel) {
+        this.contactTel = contactTel;
+    }
+
+    public String getContactEmail() {
+        return contactEmail;
+    }
+
+    public void setContactEmail(String contactEmail) {
+        this.contactEmail = contactEmail;
+    }
+
+    public Timestamp getSubmitDate() {
+        return submitDate;
+    }
+
+    public void setSubmitDate(Timestamp submitDate) {
+        this.submitDate = submitDate;
+    }
+
+    public String getAuditor() {
+        return auditor;
+    }
+
+    public void setAuditor(String auditor) {
+        this.auditor = auditor;
+    }
+
+    public Timestamp getAuditDate() {
+        return auditDate;
+    }
+
+    public void setAuditDate(Timestamp auditDate) {
+        this.auditDate = auditDate;
+    }
+
+    public short getStatus() {
+        return status;
+    }
+
+    public void setStatus(short status) {
+        this.status = status;
+    }
+}

+ 16 - 2
sso-server/src/main/java/com/uas/sso/entity/ResetPwdAppeal.java

@@ -40,6 +40,12 @@ public class ResetPwdAppeal implements Serializable {
     @Column(name = "_password", nullable = false)
     private String password;
 
+    /**
+     * 申述说明
+     */
+    @Column(name = "description", nullable = false, length = 2000)
+    private String description;
+
     /**
      * 联系人
      */
@@ -47,13 +53,13 @@ public class ResetPwdAppeal implements Serializable {
     private String contactName;
 
     /**
-     * 联系人
+     * 联系人手机号
      */
     @Column(name = "contact_tel", nullable = false)
     private String contactTel;
 
     /**
-     * 联系人
+     * 联系人邮箱
      */
     @Column(name = "contact_email", nullable = false)
     private String contactEmail;
@@ -107,6 +113,14 @@ public class ResetPwdAppeal implements Serializable {
         this.password = password;
     }
 
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
     public String getContactName() {
         return contactName;
     }

+ 178 - 0
sso-server/src/main/java/com/uas/sso/entity/ValidAccountAppeal.java

@@ -0,0 +1,178 @@
+package com.uas.sso.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 16:52
+ * @desc 验证账号申述
+ **/
+@Entity
+@Table(name = "sso$appeal$account")
+public class ValidAccountAppeal implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @Id
+    @Column(name = "_id")
+    @SequenceGenerator(name = "sso$appeal$account_gen", sequenceName = "sso$appeal$account_seq", allocationSize = 1)
+    @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "sso$appeal$account_gen")
+    private Long id;
+
+    /**
+     * 新管理员手机号
+     */
+    @Column(name = "mobile")
+    private String mobile;
+
+    /**
+     * 登录密码
+     */
+    @Column(name = "_password")
+    private String password;
+
+    /**
+     * 申述说明
+     */
+    @Column(name = "description", nullable = false, length = 2000)
+    private String description;
+
+    /**
+     * 联系人
+     */
+    @Column(name = "contact_name", nullable = false)
+    private String contactName;
+
+    /**
+     * 联系人手机号
+     */
+    @Column(name = "contact_tel", nullable = false)
+    private String contactTel;
+
+    /**
+     * 联系人邮箱
+     */
+    @Column(name = "contact_email", nullable = false)
+    private String contactEmail;
+
+
+    /**
+     * 提交日期
+     */
+    @Column(name = "submit_date")
+    private Timestamp submitDate;
+
+    /**
+     * 审核人
+     */
+    @Column(name = "auditor")
+    private String auditor;
+
+    /**
+     * 审核日期
+     */
+    @Column(name = "audit_date")
+    private Timestamp auditDate;
+
+    /**
+     * 审核状态(Status枚举)
+     */
+    @Column(name = "status", nullable = false)
+    private short status;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getContactName() {
+        return contactName;
+    }
+
+    public void setContactName(String contactName) {
+        this.contactName = contactName;
+    }
+
+    public String getContactTel() {
+        return contactTel;
+    }
+
+    public void setContactTel(String contactTel) {
+        this.contactTel = contactTel;
+    }
+
+    public String getContactEmail() {
+        return contactEmail;
+    }
+
+    public void setContactEmail(String contactEmail) {
+        this.contactEmail = contactEmail;
+    }
+
+    public Timestamp getSubmitDate() {
+        return submitDate;
+    }
+
+    public void setSubmitDate(Timestamp submitDate) {
+        this.submitDate = submitDate;
+    }
+
+    public String getAuditor() {
+        return auditor;
+    }
+
+    public void setAuditor(String auditor) {
+        this.auditor = auditor;
+    }
+
+    public Timestamp getAuditDate() {
+        return auditDate;
+    }
+
+    public void setAuditDate(Timestamp auditDate) {
+        this.auditDate = auditDate;
+    }
+
+    public short getStatus() {
+        return status;
+    }
+
+    public void setStatus(short status) {
+        this.status = status;
+    }
+}

+ 20 - 0
sso-server/src/main/java/com/uas/sso/service/ChangeAdminAppealService.java

@@ -0,0 +1,20 @@
+package com.uas.sso.service;
+
+import com.uas.sso.entity.ChangeAdminAppeal;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 16:36
+ * @desc
+ **/
+public interface ChangeAdminAppealService {
+
+    /**
+     * 提交更换管理员信息
+     *
+     * @author wangmh
+     * @date 2018/1/16 16:38
+     * @param changeAdminAppeal 更换管理员信息
+     */
+    void submit(ChangeAdminAppeal changeAdminAppeal);
+}

+ 1 - 1
sso-server/src/main/java/com/uas/sso/service/impl/UserAccountService.java → sso-server/src/main/java/com/uas/sso/service/UserAccountService.java

@@ -1,4 +1,4 @@
-package com.uas.sso.service.impl;
+package com.uas.sso.service;
 
 import com.uas.sso.entity.UserAccount;
 

+ 17 - 0
sso-server/src/main/java/com/uas/sso/service/ValidAccountAppealService.java

@@ -0,0 +1,17 @@
+package com.uas.sso.service;
+
+import com.uas.sso.entity.ValidAccountAppeal;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 17:02
+ * @desc 验证账号申述
+ **/
+public interface ValidAccountAppealService {
+
+    /**
+     * 提交验证账号信息
+     * @param validAccountAppeal 验证账号信息
+     */
+    void submit(ValidAccountAppeal validAccountAppeal);
+}

+ 29 - 0
sso-server/src/main/java/com/uas/sso/service/ValidAccountAppealServiceImpl.java

@@ -0,0 +1,29 @@
+package com.uas.sso.service;
+
+import com.uas.sso.core.Status;
+import com.uas.sso.dao.ValidAccountAppealDao;
+import com.uas.sso.entity.ValidAccountAppeal;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 17:03
+ * @desc
+ **/
+@Service
+public class ValidAccountAppealServiceImpl implements ValidAccountAppealService {
+
+    @Autowired
+    private ValidAccountAppealDao validAccountAppealDao;
+
+    @Override
+    public void submit(ValidAccountAppeal validAccountAppeal) {
+        validAccountAppeal.setSubmitDate(new Timestamp(System.currentTimeMillis()));
+        validAccountAppeal.setStatus((short) Status.TO_BE_CERTIFIED.getCode());
+        validAccountAppealDao.save(validAccountAppeal);
+    }
+}

+ 9 - 0
sso-server/src/main/java/com/uas/sso/service/ValidMobileAppealService.java

@@ -0,0 +1,9 @@
+package com.uas.sso.service;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 15:50
+ * @desc 验证手机号service
+ **/
+public interface ValidMobileAppealService {
+}

+ 31 - 0
sso-server/src/main/java/com/uas/sso/service/impl/ChangeAdminAppealServiceImpl.java

@@ -0,0 +1,31 @@
+package com.uas.sso.service.impl;
+
+import com.uas.sso.core.Status;
+import com.uas.sso.dao.ChangeAdminAppealDao;
+import com.uas.sso.entity.ChangeAdminAppeal;
+import com.uas.sso.service.ChangeAdminAppealService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+
+/**
+ * @author wangmh
+ * @create 2018-01-16 16:39
+ * @desc
+ **/
+@Service
+public class ChangeAdminAppealServiceImpl implements ChangeAdminAppealService {
+
+    @Autowired
+    private ChangeAdminAppealDao changeAdminAppealDao;
+
+    @Override
+    public void submit(ChangeAdminAppeal changeAdminAppeal) {
+        changeAdminAppeal.setAuditor(null);
+        changeAdminAppeal.setSubmitDate(new Timestamp(System.currentTimeMillis()));
+        changeAdminAppeal.setStatus((short) Status.TO_BE_CERTIFIED.getCode());
+
+        changeAdminAppealDao.save(changeAdminAppeal);
+    }
+}

+ 1 - 0
sso-server/src/main/java/com/uas/sso/service/impl/UserAccountServiceImpl.java

@@ -2,6 +2,7 @@ package com.uas.sso.service.impl;
 
 import com.uas.sso.dao.UserAccountDao;
 import com.uas.sso.entity.UserAccount;
+import com.uas.sso.service.UserAccountService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;