添加接口:强制注册用户(陈勇)
This commit is contained in:
parent
61bfb895cd
commit
958bcd5f75
@ -43,6 +43,7 @@ class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
.antMatchers(HttpMethod.POST, "/globalConfig").permitAll()
|
.antMatchers(HttpMethod.POST, "/globalConfig").permitAll()
|
||||||
.antMatchers(HttpMethod.POST, "/globalConfigDict").permitAll()
|
.antMatchers(HttpMethod.POST, "/globalConfigDict").permitAll()
|
||||||
.antMatchers(HttpMethod.POST, "/api/user/add").permitAll()
|
.antMatchers(HttpMethod.POST, "/api/user/add").permitAll()
|
||||||
|
.antMatchers(HttpMethod.POST, "/api/user/add2").permitAll()
|
||||||
.antMatchers(HttpMethod.POST, "/api/user/check/duplicate").permitAll()
|
.antMatchers(HttpMethod.POST, "/api/user/check/duplicate").permitAll()
|
||||||
.antMatchers(HttpMethod.POST, "/api/login").permitAll()
|
.antMatchers(HttpMethod.POST, "/api/login").permitAll()
|
||||||
// 所有 app 用户注册 的POST请求 都放行
|
// 所有 app 用户注册 的POST请求 都放行
|
||||||
|
@ -223,17 +223,13 @@ public class SysUserController {
|
|||||||
* 注册系统用户
|
* 注册系统用户
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/add2", method = RequestMethod.POST)
|
@RequestMapping(value = "/add2", method = RequestMethod.POST)
|
||||||
public String addUser2(@Validated({SysUserQoInsert.class}) @RequestBody SysUserQo userQo, BindingResult bindingResult, HttpServletRequest servletRequest) {
|
public String addUser2(@Validated({SysUserQoInsert.class}) @RequestBody SysUserQo userQo) {
|
||||||
// 验证数据合法性
|
|
||||||
if (bindingResult.hasErrors()) {
|
|
||||||
return outputEncapsulationErrorList(bindingResult.getFieldErrors(), locale);
|
|
||||||
}
|
|
||||||
// 验证用户名是否重复
|
// 验证用户名是否重复
|
||||||
if (!sysUserService.checkUserName(userQo.getUserName())) {
|
if (!sysUserService.checkUserName(userQo.getUserName())) {
|
||||||
return outputEncapsulationObject(PromptMessageEnum.PARAM_ILLEGAL, "该账号已经注册,请勿重复注册", locale);
|
return outputEncapsulationObject(PromptMessageEnum.PARAM_ILLEGAL, "该账号已经注册,请勿重复注册", locale);
|
||||||
}
|
}
|
||||||
// 添加新用户
|
// 添加新用户
|
||||||
return sysUserService.addUser(userQo, servletRequest);
|
return sysUserService.addUser2(userQo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,18 +2,12 @@ package com.xkrs.model.qo;
|
|||||||
|
|
||||||
import com.xkrs.model.validation.SysUserQoInsert;
|
import com.xkrs.model.validation.SysUserQoInsert;
|
||||||
import com.xkrs.model.validation.SysUserQoUpdate;
|
import com.xkrs.model.validation.SysUserQoUpdate;
|
||||||
import org.hibernate.validator.constraints.Range;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Pattern;
|
import javax.validation.constraints.Pattern;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
/**
|
|
||||||
* SysUserQo
|
|
||||||
*
|
|
||||||
* @author tajochen
|
|
||||||
*/
|
|
||||||
public class SysUserQo {
|
public class SysUserQo {
|
||||||
|
|
||||||
@NotNull(message = "{SysUser.id.blank}", groups = {SysUserQoUpdate.class})
|
@NotNull(message = "{SysUser.id.blank}", groups = {SysUserQoUpdate.class})
|
||||||
@ -34,30 +28,14 @@ public class SysUserQo {
|
|||||||
@Pattern(regexp = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", message = "{SysUser.password.format.illegal}", groups = {SysUserQoInsert.class, SysUserQoUpdate.class})
|
@Pattern(regexp = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", message = "{SysUser.password.format.illegal}", groups = {SysUserQoInsert.class, SysUserQoUpdate.class})
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
@Pattern(regexp = "^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\\d{8}$", message = "{SysUser.telephone.format.illegal}", groups = {SysUserQoInsert.class, SysUserQoUpdate.class})
|
|
||||||
private String telephone;
|
|
||||||
|
|
||||||
@NotNull(message = "{SysUser.statusCode.illegal}", groups = {SysUserQoUpdate.class})
|
|
||||||
@Range(min = 0, max = 2, message = "{SysUser.statusCode.illegal}", groups = {SysUserQoInsert.class, SysUserQoUpdate.class})
|
|
||||||
private Integer statusCode;
|
|
||||||
|
|
||||||
@NotNull(message = "{SysUser.countyName.blank}", groups = {SysUserQoUpdate.class})
|
@NotNull(message = "{SysUser.countyName.blank}", groups = {SysUserQoUpdate.class})
|
||||||
private String countyName;
|
private String countyName;
|
||||||
|
|
||||||
@NotNull(message = "{SysUser.countyCode.blank}", groups = {SysUserQoUpdate.class})
|
@NotNull(message = "{SysUser.countyCode.blank}", groups = {SysUserQoUpdate.class})
|
||||||
private String countyCode;
|
private String countyCode;
|
||||||
|
|
||||||
@NotNull(message = "{SysUser.deleteFlag.null}", groups = {SysUserQoUpdate.class})
|
|
||||||
private Integer deleteFlag;
|
|
||||||
|
|
||||||
private Integer roleId;
|
|
||||||
|
|
||||||
private Integer authorityId;
|
|
||||||
|
|
||||||
private String verificationCode;
|
private String verificationCode;
|
||||||
|
|
||||||
private String accountType;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理组织ID
|
* 代理组织ID
|
||||||
*/
|
*/
|
||||||
@ -98,22 +76,6 @@ public class SysUserQo {
|
|||||||
this.password = password;
|
this.password = password;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTelephone() {
|
|
||||||
return telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTelephone(String telephone) {
|
|
||||||
this.telephone = telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getStatusCode() {
|
|
||||||
return statusCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatusCode(Integer statusCode) {
|
|
||||||
this.statusCode = statusCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCountyName() {
|
public String getCountyName() {
|
||||||
return countyName;
|
return countyName;
|
||||||
}
|
}
|
||||||
@ -130,30 +92,6 @@ public class SysUserQo {
|
|||||||
this.countyCode = countyCode;
|
this.countyCode = countyCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getDeleteFlag() {
|
|
||||||
return deleteFlag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDeleteFlag(Integer deleteFlag) {
|
|
||||||
this.deleteFlag = deleteFlag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getRoleId() {
|
|
||||||
return roleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRoleId(Integer roleId) {
|
|
||||||
this.roleId = roleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getAuthorityId() {
|
|
||||||
return authorityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAuthorityId(Integer authorityId) {
|
|
||||||
this.authorityId = authorityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getVerificationCode() {
|
public String getVerificationCode() {
|
||||||
return verificationCode;
|
return verificationCode;
|
||||||
}
|
}
|
||||||
@ -162,14 +100,6 @@ public class SysUserQo {
|
|||||||
this.verificationCode = verificationCode;
|
this.verificationCode = verificationCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAccountType() {
|
|
||||||
return accountType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAccountType(String accountType) {
|
|
||||||
this.accountType = accountType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getAgentOrgId() {
|
public Long getAgentOrgId() {
|
||||||
return agentOrgId;
|
return agentOrgId;
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,15 @@ public interface SysUserService {
|
|||||||
*/
|
*/
|
||||||
String addUser(SysUserQo sysUserQo, HttpServletRequest servletRequest);
|
String addUser(SysUserQo sysUserQo, HttpServletRequest servletRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存用户
|
||||||
|
*
|
||||||
|
* @param sysUserQo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String addUser2(SysUserQo sysUserQo);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除系统用户
|
* 删除系统用户
|
||||||
*
|
*
|
||||||
|
@ -209,6 +209,113 @@ public class SysUserServiceImpl implements SysUserService {
|
|||||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "注册成功!", locale);
|
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "注册成功!", locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增用户
|
||||||
|
*
|
||||||
|
* @param sysUserQo
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public String addUser2(SysUserQo sysUserQo) {
|
||||||
|
// 获取区域信息
|
||||||
|
String salt = KeyGenerators.string().generateKey();
|
||||||
|
SysUserEntity sysUserEntity = new SysUserEntity();
|
||||||
|
sysUserEntity.setUserName(sysUserQo.getUserName());
|
||||||
|
sysUserEntity.setUserAgent("");
|
||||||
|
if ("".equals(sysUserQo.getReallyName()) || sysUserQo.getReallyName() == null) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "真实姓名不能为空!", locale);
|
||||||
|
}
|
||||||
|
sysUserEntity.setReallyName(sysUserQo.getReallyName());
|
||||||
|
sysUserEntity.setSalt(salt);
|
||||||
|
sysUserEntity.setPassword(encry256(sysUserQo.getPassword() + salt));
|
||||||
|
sysUserEntity.setTelephone(sysUserQo.getUserName());
|
||||||
|
|
||||||
|
String countyCode = sysUserQo.getCountyCode();
|
||||||
|
String countyName = sysUserQo.getCountyName();
|
||||||
|
if (TextUtils.isEmpty(countyCode)) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "省市区街道编码不能为空!", locale);
|
||||||
|
}
|
||||||
|
if (TextUtils.isEmpty(countyName)) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "省市区街道名称不能为空!", locale);
|
||||||
|
}
|
||||||
|
if (9 == countyCode.length()) {
|
||||||
|
List<StreetEntity> streetCodeList = streetDao.findByStreetCode(countyCode);
|
||||||
|
if (streetCodeList == null || streetCodeList.isEmpty()) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "街道编码不存在!", locale);
|
||||||
|
}
|
||||||
|
List<StreetEntity> streetNameList = streetDao.findByStreetName(countyName);
|
||||||
|
if (streetNameList == null || streetNameList.isEmpty()) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "您所选择的区域不存在!", locale);
|
||||||
|
}
|
||||||
|
sysUserEntity.setActiveFlag(0);
|
||||||
|
sysUserEntity.setAccountType("街道级");
|
||||||
|
} else if ("0000".equals(countyCode.substring(2))) {
|
||||||
|
List<StreetEntity> proCodeList = streetDao.findByProCode(countyCode);
|
||||||
|
if (proCodeList == null || proCodeList.size() == 0) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "省编码不存在!", locale);
|
||||||
|
}
|
||||||
|
List<StreetEntity> proNameList = streetDao.findByProName(countyName);
|
||||||
|
if (proNameList == null || proNameList.size() == 0) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "您所选择的区域不存在!", locale);
|
||||||
|
}
|
||||||
|
sysUserEntity.setActiveFlag(1);
|
||||||
|
sysUserEntity.setAccountType("省级");
|
||||||
|
} else if ("00".equals(countyCode.substring(4)) && !"0000".equals(countyCode.substring(2))) {
|
||||||
|
List<StreetEntity> cityCodeList = streetDao.findByCityCode(countyCode);
|
||||||
|
if (cityCodeList == null || cityCodeList.size() == 0) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "市编码不存在!", locale);
|
||||||
|
}
|
||||||
|
List<StreetEntity> cityNameList = streetDao.findByCityName(countyName);
|
||||||
|
if (cityNameList == null || cityNameList.size() == 0) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "您所选择的区域不存在!", locale);
|
||||||
|
}
|
||||||
|
sysUserEntity.setActiveFlag(1);
|
||||||
|
sysUserEntity.setAccountType("市级");
|
||||||
|
} else {
|
||||||
|
List<StreetEntity> countyCodeList = streetDao.findByCountyCode(countyCode);
|
||||||
|
if (countyCodeList == null || countyCodeList.isEmpty()) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "区县编码不存在!", locale);
|
||||||
|
}
|
||||||
|
List<StreetEntity> countyNameList = streetDao.findByCountyName(countyName);
|
||||||
|
if (countyNameList == null || countyNameList.isEmpty()) {
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG, "您所选择的区域不存在!", locale);
|
||||||
|
}
|
||||||
|
sysUserEntity.setActiveFlag(0);
|
||||||
|
sysUserEntity.setAccountType("县级");
|
||||||
|
}
|
||||||
|
if (9 == countyCode.length()) {//街道账号7天后过期
|
||||||
|
sysUserEntity.setOverTime(dateTimeToString(LocalDateTime.now().plusDays(7L)));
|
||||||
|
} else {//省市区县账号5天后过期
|
||||||
|
sysUserEntity.setOverTime(dateTimeToString(LocalDateTime.now().plusDays(5L)));
|
||||||
|
}
|
||||||
|
sysUserEntity.setStatusCode(0);
|
||||||
|
sysUserEntity.setAddTime(dateTimeToString(LocalDateTime.now()));
|
||||||
|
sysUserEntity.setDeleteFlag(0);
|
||||||
|
sysUserEntity.setDayNum(7);
|
||||||
|
sysUserEntity.setLoginNum(0);
|
||||||
|
sysUserEntity.setCountyCode(countyCode);
|
||||||
|
sysUserEntity.setCountyName(countyName);
|
||||||
|
sysUserEntity.setVipLevel(0);
|
||||||
|
sysUserEntity.setReceiveSms(0);
|
||||||
|
sysUserEntity.setRemark("");//备注
|
||||||
|
sysUserEntity.setAgentOrgId(sysUserQo.getAgentOrgId() == null ? 1L : sysUserQo.getAgentOrgId());
|
||||||
|
sysUserDao.save(sysUserEntity);
|
||||||
|
|
||||||
|
RelUserRoleEntity relUserRoleEntity = new RelUserRoleEntity();
|
||||||
|
relUserRoleEntity.setUserId(sysUserEntity.getId().longValue());
|
||||||
|
relUserRoleEntity.setRoleId(2);
|
||||||
|
|
||||||
|
RelRoleAuthorityEntity relRoleAuthorityEntity = new RelRoleAuthorityEntity();
|
||||||
|
relRoleAuthorityEntity.setRoleId(2);
|
||||||
|
relRoleAuthorityEntity.setAuthorityId(2);
|
||||||
|
relRoleAuthorityEntity.setUserId(sysUserEntity.getId());
|
||||||
|
relUserRoleDao.save(relUserRoleEntity);
|
||||||
|
|
||||||
|
relRoleAuthorityDao.save(relRoleAuthorityEntity);
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "注册成功!", locale);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public String deleteSysUser(String userName) {
|
public String deleteSysUser(String userName) {
|
||||||
|
Loading…
Reference in New Issue
Block a user