Commit 7744ddce authored by tangf's avatar tangf

修改注册逻辑

parent 90f911e5
package com.pangding.web.authority.controller;
import com.pangding.web.authority.vo.CompanyVo;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* 公司controller
* @author tangfang
* @date 2019-05-20 10:49
*/
@RestController
@RequestMapping(value="/company")
public class CompanyController {
@RequestMapping(value = "/saveCompany", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public void saveCompany(@RequestBody CompanyVo company){
}
}
......@@ -35,7 +35,7 @@ public class ComputerRegisterController {
* @param registerUserReqVo
* @return
*/
@RequestMapping(value = "/user", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@RequestMapping(value = "/saveUser", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseResult<CompanyVo> saveUser(@RequestBody RegisterUserReqVo registerUserReqVo){
CheckerHelper.newInstance()
.notBlankCheck("reqVo",registerUserReqVo)
......@@ -44,7 +44,7 @@ public class ComputerRegisterController {
.notBlankCheck("password",registerUserReqVo.getPassword())
.notBlankCheck("confirmPassword",registerUserReqVo.getConfirmPassword())
.notBlankCheck("companyType",registerUserReqVo.getCompanyType())
.notBlankCheck("merchantId",registerUserReqVo.getMerchantId())
.notBlankCheck("invitationCode",registerUserReqVo.getInvitationCode())
.checkException();
return ResponseResult.result(registerServiceImpl.saveUser(registerUserReqVo));
}
......@@ -56,7 +56,7 @@ public class ComputerRegisterController {
* @param reqVo
* @return
*/
@RequestMapping(value="/individual", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@RequestMapping(value="/saveIndividual", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseResult saveIndividual(@RequestBody RegisterIndividualReqVo reqVo){
CheckerHelper.newInstance()
.notBlankCheck("reqVo",reqVo)
......@@ -115,4 +115,6 @@ public class ComputerRegisterController {
registerServiceImpl.login(reqVo);
return new ResponseResult();
}
}
......@@ -40,7 +40,7 @@ public class MobileRegisterController {
.notBlankCheck("password",registerUserReqVo.getPassword())
.notBlankCheck("confirmPassword",registerUserReqVo.getConfirmPassword())
.notBlankCheck("companyType",registerUserReqVo.getCompanyType())
.notBlankCheck("merchantId",registerUserReqVo.getMerchantId())
.notBlankCheck("merchantId",registerUserReqVo.getInvitationCompanyId())
.checkException();
return ResponseResult.result(registerServiceImpl.saveUser(registerUserReqVo));
}
......
package com.pangding.web.authority.controller;
public class RegisterController {
}
package com.pangding.web.authority.controller;
import com.pangding.web.authority.service.TokenService;
import com.pangding.web.authority.vo.LoginVo;
import com.pangding.web.authority.vo.reqvo.LoginReqVo;
import com.yanzuoguang.util.helper.CheckerHelper;
import com.yanzuoguang.util.vo.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* 日志操作控制类
*
* @author 颜佐光
*/
@RestController
@RequestMapping("/token")
public class TokenController {
@Autowired
private TokenService tokenService;
/**
* 登录实体创建
*
* @param loginVo
*/
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseResult<String> save(@RequestBody LoginReqVo loginVo) {
CheckerHelper.newInstance()
.notBlankCheck("token", loginVo.getToken())
.notBlankCheck("data", loginVo.getData())
.notBlankCheck("expairTime", loginVo.getExpairTime())
.checkDate("expairTime", loginVo.getExpairTime())
.checkException(loginVo);
return ResponseResult.result(tokenService.save(loginVo));
}
/**
* 加载登录信息
*
* @param loginVo 登录信息
*/
@RequestMapping(value = "/load", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseResult<LoginVo> load(@RequestBody LoginReqVo loginVo) {
CheckerHelper.newInstance()
.notBlankCheck("token", loginVo.getToken())
.checkException(loginVo);
return ResponseResult.result(tokenService.load(loginVo));
}
/**
* 加载登录信息
*
* @param loginVo 登录信息
*/
@RequestMapping(value = "/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseResult<Integer> remove(@RequestBody LoginReqVo loginVo) {
CheckerHelper.newInstance()
.notBlankCheck("token", loginVo.getToken())
.checkException(loginVo);
return ResponseResult.result(tokenService.remove(loginVo));
}
}
package com.pangding.web.authority.dao;
import com.yanzuoguang.dao.BaseDao;
/**
* 登录接口基本操作类
* @author 颜佐光
*/
public interface TokenDao extends BaseDao {
}
package com.pangding.web.authority.dao.impl;
import com.pangding.web.authority.dao.TokenDao;
import com.pangding.web.authority.vo.LoginVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
/**
* 登录数据库写入实现类
*
* @author 颜佐光
*/
@Component
public class TokenDaoImpl extends BaseDaoImpl implements TokenDao {
private static final int TOKEN_MEMORY_CACHE_TIME = 60;
/**
* 注册SQL语句
*/
@Override
protected void init() {
// 根据实体生成增删改查语句
register(LoginVo.class);
cacheList.setClearSecond(TOKEN_MEMORY_CACHE_TIME);
}
}
......@@ -11,4 +11,8 @@ public interface CompanyService{
*/
public void updateCompayStatus(CompanyVo companyVo);
public CompanyVo saveCompany(CompanyVo companyVo);
public void updateCompany(CompanyVo companyVo);
}
......@@ -19,7 +19,7 @@ public interface RegisterService {
* @param merchantId 注册编码
* @return false:注册编码错误 true:注册编码正确
*/
Boolean checkMerchantId(String merchantId);
CompanyVo checkMerchantId(String merchantId);
/**
* 保存用户信息,并返回公司信息
......
package com.pangding.web.authority.service;
import com.pangding.web.authority.vo.LoginVo;
/**
* 登录服务
*
* @author 颜佐光
*/
public interface TokenService {
/**
* 保存接口请求日志
*
* @param loginVo 请求数据
* @retur 保存主键
*/
String save(LoginVo loginVo);
/**
* 保存接口请求日志
*
* @param loginVo 请求数据
* @retur 保存主键
*/
LoginVo load(LoginVo loginVo);
/**
* 保存接口请求日志
*
* @param loginVo 请求数据
* @retur 保存主键
*/
int remove(LoginVo loginVo);
}
......@@ -20,6 +20,21 @@ public class CompanyServiceImpl implements CompanyService{
companyDao.update(company);
}
@Override
public CompanyVo saveCompany(CompanyVo company){
CompanyVo companyVo = companyDao.load(company.getId(), CompanyVo.class);
if(null != companyVo){
companyDao.update(company);
}else{
companyDao.save(company);
}
return companyDao.load(company.getId(), CompanyVo.class);
}
@Override
public void updateCompany(CompanyVo companyVo){
companyDao.update(companyVo);
}
}
package com.pangding.web.authority.service.impl;
import com.pangding.web.authority.dao.*;
import com.pangding.web.authority.service.CompanyService;
import com.pangding.web.authority.util.CompanyConstant;
import com.pangding.web.authority.util.TokenUtil;
import com.pangding.web.authority.vo.*;
import com.pangding.web.authority.vo.cloudvo.LoginResVo;
import com.pangding.web.authority.vo.reqvo.*;
......@@ -8,6 +11,7 @@ import com.pangding.web.authority.vo.reqvo.CompanyGetReqVo;
import com.pangding.web.authority.service.RegisterService;
import com.pangding.web.authority.service.UserService;
/*import com.yanzuoguang.token.TokenHelper;*/
import com.yanzuoguang.token.TokenHelper;
import com.yanzuoguang.util.exception.CodeException;
import com.yanzuoguang.util.helper.StringHelper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,33 +37,36 @@ public class RegisterServiceImpl implements RegisterService {
@Autowired
CompanyBankCardDao companyBankCardDaoImpl;
@Autowired
private CompanyService companyService;
@Override
public Boolean checkMerchantId(String merchantId) {
public CompanyVo checkMerchantId(String invitationCode) {
CompanyGetReqVo reqVo = new CompanyGetReqVo();
reqVo.setId(merchantId);
reqVo.setId(invitationCode);
CompanyVo companyVo = companyDaoImpl.load(reqVo,CompanyVo.class);
return companyVo == null ? false : true;
return companyVo ;//== null ? false : true
}
@Override
@Transactional(rollbackFor = Exception.class)
public CompanyVo saveUser(RegisterUserReqVo registerUserReqVo) {
if (registerUserReqVo.getCompanyType() != 0){
if (CompanyConstant.COMPANY_TYPE_PERSON != registerUserReqVo.getCompanyType()){
throw new CodeException("目前仅支持个体用户");
}
// 检查账户是否合法
userServiceImpl.isValid(registerUserReqVo.getAccount());
UserVo userVo = new UserVo();
userVo.setAccount(registerUserReqVo.getAccount());
userServiceImpl.checkAccount(userVo);
userServiceImpl.checkAccount(userVo); // 检查用户名是否存在
if (!registerUserReqVo.getPassword().equals(registerUserReqVo.getConfirmPassword())){
throw new CodeException("确认密码错误");
}
String merchantId = registerUserReqVo.getMerchantId();
if (!this.checkMerchantId(merchantId)){
CompanyVo invitationCompany = checkMerchantId(registerUserReqVo.getInvitationCode());
if (null == invitationCompany){
throw new CodeException("注册编码错误");
}
......@@ -71,9 +78,9 @@ public class RegisterServiceImpl implements RegisterService {
userDaoImpl.create(userVo);
CompanyVo companyVo = new CompanyVo();
companyVo.setId(companyId);
companyVo.setMerchantId(merchantId);
companyVo.setInvitationCompanyId(invitationCompany.getId());
companyVo.setCompanyType(registerUserReqVo.getCompanyType());
companyService.saveCompany(companyVo);
return companyVo;
}
......@@ -93,7 +100,7 @@ public class RegisterServiceImpl implements RegisterService {
this.checkPhone(reqVo.getContactPhone());
companyVo.setId(reqVo.getId());
companyVo.setMerchantId(reqVo.getMerchantId());
companyVo.setInvitationCompanyId(reqVo.getMerchantId());
companyVo.setCompanyType(reqVo.getCompanyType());
companyVo.setContactName(reqVo.getContactName());
companyVo.setContactCode(reqVo.getContactCode());
......@@ -112,8 +119,7 @@ public class RegisterServiceImpl implements RegisterService {
}else {
companyVo.setAddress(reqVo.getExtraChoseTwo());
}
companyDaoImpl.create(companyVo);
companyService.updateCompany(companyVo);
companyExtendDaoImpl.create(extendVo);
companyBankCardDaoImpl.create(companyBankCardVo);
......@@ -134,7 +140,7 @@ public class RegisterServiceImpl implements RegisterService {
this.checkPhone(reqVo.getContactPhone());
companyVo.setId(reqVo.getId());
companyVo.setMerchantId(reqVo.getMerchantId());
companyVo.setInvitationCompanyId(reqVo.getMerchantId());
companyVo.setCompanyType(reqVo.getCompanyType());
companyVo.setCompanyName(reqVo.getCompanyName());
companyVo.setAddress(reqVo.getCompanyAddress());
......@@ -154,7 +160,7 @@ public class RegisterServiceImpl implements RegisterService {
companyBankCardVo.setBankCode(reqVo.getBankCode());
companyBankCardVo.setReservedPhone(reqVo.getReservedPhone());
companyDaoImpl.create(companyVo);
companyService.updateCompany(companyVo);
companyExtendDaoImpl.create(extendVo);
companyBankCardDaoImpl.create(companyBankCardVo);
......@@ -201,9 +207,7 @@ public class RegisterServiceImpl implements RegisterService {
resVo.setCompanyBankCardVo(companyBankCardVo);
resVo.setCompanyExtendVo(companyExtendVo);
// 此处需要获取对应的merchant表数据
/*token内容暂时不能用,以后要改动*/
/*String token = StringHelper.getNewID();
TokenHelper.write(token,resVo);*/
String token = TokenUtil.createToken(reqVo.getAccountOrPhone());
TokenHelper.write(token,resVo);
}
}
package com.pangding.web.authority.service.impl;
import com.pangding.web.authority.dao.TokenDao;
import com.pangding.web.authority.service.TokenService;
import com.pangding.web.authority.vo.LoginVo;
import com.yanzuoguang.util.helper.JsonHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* 登录写入服务类
*
* @author 颜佐光
*/
@Component
@Transactional(rollbackFor = Exception.class)
public class TokenServiceImpl implements TokenService {
@Autowired
private TokenDao tokenDao;
/**
* 保存接口请求日志
*
* @param loginVo
*/
@Override
public String save(LoginVo loginVo) {
LoginVo to = tokenDao.load(loginVo, LoginVo.class);
if (JsonHelper.compare(to,loginVo)) {
return to.getToken();
} else if (to != null) {
return tokenDao.update(loginVo);
} else {
return tokenDao.create(loginVo);
}
}
/**
* 保存接口请求日志
*
* @param loginVo 请求数据
* @retur 保存主键
*/
@Override
public LoginVo load(LoginVo loginVo) {
return tokenDao.load(loginVo, LoginVo.class);
}
/**
* 保存接口请求日志
*
* @param loginVo 请求数据
* @retur 保存主键
*/
@Override
public int remove(LoginVo loginVo) {
return tokenDao.remove(loginVo);
}
}
package com.pangding.web.authority.util;
public class CompanyConstant {
/**
* 公司类型 个人
* 值:0
*/
public static final int COMPANY_TYPE_PERSON = 0;
/**
* 公司类型 公司
* 值:1
*/
public static final int COMPANY_TYPE_COMPANY = 1;
}
package com.pangding.web.authority.util;
import com.pangding.web.util.RSAUtils;
public class TokenUtil {
private static String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIL0z4U0MxA4si14meKFt8BZxI6koZRhX5zpbaDIYLCZu8Z22/7zJ/QGJvU1Ow4+huIBAZM1B3q/34XF3tTe8GDW5QFIeFbI+KZZDsLTP98Rdasx81nujv7RPsr8UqtXFc4kStuH5lf7FmDUor3KcB+0yJ9Zx7IknZHhajD2VQAQIDAQAB";
private String privateKey = "";
public static String createToken(String accountOrPhone){
String token = "";
try{
token = RSAUtils.encryptionByPublicKey(accountOrPhone, publicKey);
}catch (Exception e){
}
return token;
}
}
......@@ -19,8 +19,8 @@ public class CompanyVo implements Serializable, InitDao {
private String pid;
@TableAnnotation("merchant_id")
private String merchantId;
@TableAnnotation("invitation_company_id")
private String invitationCompanyId;
@TableAnnotation("company_name")
private String companyName;
......@@ -77,12 +77,12 @@ public class CompanyVo implements Serializable, InitDao {
this.pid = pid;
}
public String getMerchantId() {
return merchantId;
public String getInvitationCompanyId() {
return invitationCompanyId;
}
public void setMerchantId(String merchantId) {
this.merchantId = merchantId;
public void setInvitationCompanyId(String invitationCompanyId) {
this.invitationCompanyId = invitationCompanyId;
}
public String getCompanyName() {
......
package com.pangding.web.authority.vo;
import com.yanzuoguang.dao.TableAnnotation;
import com.yanzuoguang.util.helper.StringHelper;
import com.yanzuoguang.util.vo.InitDao;
/**
* 日志服务表结构映射
*
* @author 颜佐光
*/
@TableAnnotation("login_token")
public class LoginVo implements InitDao {
/**
* 编号,主键请放第一个
* 假如是一样的字段,则不需要写映射.下面的代码添加映射关系
*/
private String token;
/**
* 数据密钥
*/
@TableAnnotation("data_pwd")
private String dataPwd;
/**
* 登录数据
*/
private String data;
/**
* 失效时间
*/
@TableAnnotation("expair_time")
private String expairTime;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getDataPwd() {
return dataPwd;
}
public void setDataPwd(String dataPwd) {
this.dataPwd = dataPwd;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getExpairTime() {
return expairTime;
}
public void setExpairTime(String expairTime) {
this.expairTime = expairTime;
}
@Override
public void init() {
this.token = StringHelper.getFirst(this.token);
this.dataPwd = StringHelper.getFirst(this.dataPwd);
this.data = StringHelper.getFirst(this.data);
this.expairTime = StringHelper.getFirstNull(this.expairTime);
}
}
package com.pangding.web.authority.vo.reqvo;
import com.pangding.web.authority.vo.LoginVo;
/**
* @Author zhangjinyao
* @create 2019/5/14 11:46
*/
public class LoginReqVo {
public class LoginReqVo extends LoginVo{
private String accountOrPhone;
......
package com.pangding.web.authority.vo.reqvo;
import com.pangding.web.authority.vo.UserVo;
/**
* @Author zhangjinyao
......@@ -16,7 +15,7 @@ public class RegisterUserReqVo {
private int companyType;
private String merchantId;
private String invitationCode;
public String getConfirmPassword() {
return confirmPassword;
......@@ -50,11 +49,11 @@ public class RegisterUserReqVo {
this.companyType = companyType;
}
public String getMerchantId() {
return merchantId;
public String getInvitationCode() {
return invitationCode;
}
public void setMerchantId(String merchantId) {
this.merchantId = merchantId;
public void setInvitationCode(String invitationCode) {
this.invitationCode = invitationCode;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment