Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴学德
gdtel-gztel-school-center
Commits
9842a787
Commit
9842a787
authored
Apr 22, 2020
by
黄森林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信注册
parent
5a346d54
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
158 additions
and
188 deletions
+158
-188
common/src/main/java/com/winsun/bean/HhrUser.java
+2
-0
common/src/main/java/com/winsun/mapper/SysUserMapper.java
+1
-1
core-service/src/main/java/com/winsun/item/modular/system/controller/LoginPwdController.java
+151
-24
core-service/src/main/resources/application.yml
+2
-0
gateway/src/main/resources/application.yml
+2
-0
service-manager/src/main/java/com/winsun/controller/MobileTerminalUserController.java
+0
-163
No files found.
common/src/main/java/com/winsun/bean/HhrUser.java
View file @
9842a787
...
...
@@ -71,6 +71,8 @@ public class HhrUser implements Serializable{
*/
private
String
parentIds
;
private
int
uploadState
;
// 非数据库字段
/**
...
...
common/src/main/java/com/winsun/mapper/SysUserMapper.java
View file @
9842a787
...
...
@@ -15,6 +15,6 @@ import org.springframework.stereotype.Component;
@Component
public
interface
SysUserMapper
extends
BaseMapper
<
SysUser
>
{
@Insert
(
"insert into `hhr_user` (user_id,school_id) values(#{userId},#{schoolId})"
)
@Insert
(
"insert into `hhr_user
_school
` (user_id,school_id) values(#{userId},#{schoolId})"
)
Integer
insertUserSchool
(
@Param
(
"userId"
)
String
userId
,
@Param
(
"schoolId"
)
String
schoolId
);
}
core-service/src/main/java/com/winsun/item/modular/system/controller/LoginPwdController.java
View file @
9842a787
package
com
.
winsun
.
item
.
modular
.
system
.
controller
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.winsun.auth.core.annotion.Permission
;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.auth.core.util.DateUtil
;
import
com.winsun.auth.core.util.MD5Util
;
import
com.winsun.auth.model.user.User
;
import
com.winsun.auth.model.user.UserUpdatePwd
;
import
com.winsun.bean.HhrUser
;
import
com.winsun.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.item.core.shiro.ShiroKit
;
import
com.winsun.item.core.util.AccLoginUtil
;
import
com.winsun.item.core.util.ResponseEntity
;
import
com.winsun.item.modular.system.service.IUserService
;
import
com.winsun.item.util.LoginUtils
;
import
com.winsun.mapper.HhrUserMapper
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.smsUtils.HttpUtil
;
import
com.winsun.smsUtils.SendSmsAndMail
;
import
com.winsun.utils.HttpHelper
;
import
com.winsun.utils.IDCardUtil
;
import
com.winsun.utils.MyBatisPlusUpdateUtils
;
import
com.winsun.utils.PicturesUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.HttpStatus
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.ui.Model
;
import
org.springframework.util.Assert
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.RequestDispatcher
;
import
javax.servlet.ServletException
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.OutputStreamWriter
;
import
java.io.PrintWriter
;
import
java.io.UnsupportedEncodingException
;
import
java.net.HttpURLConnection
;
import
java.net.URLEncoder
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -75,6 +56,10 @@ public class LoginPwdController extends BaseController {
private
static
HhrUserMapper
hhrUserMapper
;
private
static
SchoolMapper
schoolMapper
;
private
static
String
PATHTYPE
=
"idCard"
;
private
static
String
CODE
=
"verificationCode"
;
private
static
String
ERRCODENAME
=
"ForgeERRCODENAME"
;
...
...
@@ -89,11 +74,13 @@ public class LoginPwdController extends BaseController {
private
static
String
GETPHONECODE
=
"getPhoneCode"
;
@Autowired
public
LoginPwdController
(
SysUserMapper
sysUserMapper
,
IUserService
userService
,
StringRedisTemplate
stringRedisTemplate
,
HhrUserMapper
hhrUserMapper
)
{
public
LoginPwdController
(
SysUserMapper
sysUserMapper
,
IUserService
userService
,
StringRedisTemplate
stringRedisTemplate
,
HhrUserMapper
hhrUserMapper
,
SchoolMapper
schoolMapper
)
{
LoginPwdController
.
sysUserMapper
=
sysUserMapper
;
LoginPwdController
.
userService
=
userService
;
LoginPwdController
.
hhrUserMapper
=
hhrUserMapper
;
LoginPwdController
.
stringRedisTemplate
=
stringRedisTemplate
;
LoginPwdController
.
schoolMapper
=
schoolMapper
;
}
@RequestMapping
(
"/MP_verify_oYaGTxvtIJXLOkXB.txt"
)
...
...
@@ -306,11 +293,25 @@ public class LoginPwdController extends BaseController {
Map
<
String
,
Object
>
map
=
JSON
.
parseObject
(
jsonObject
,
Map
.
class
);
String
openId
=
map
.
get
(
"openid"
).
toString
();
log
.
info
(
"openId:"
+
openId
);
String
accessToken
=
map
.
get
(
"access_token"
).
toString
();
String
url1
=
" https://api.weixin.qq.com/sns/userinfo?access_token="
+
accessToken
+
"&openid="
+
openId
+
"&lang=zh_CN"
;
String
jsonObject1
=
null
;
try
{
jsonObject1
=
HttpHelper
.
sendGet
(
url1
);
}
catch
(
Exception
e
)
{
log
.
error
(
"微信登录获取用户信息失败"
+
e
.
getMessage
(),
e
);
}
if
(
jsonObject1
==
null
)
{
return
ResponseData
.
error
(
"微信授权失效,请重新授权!"
);
}
Map
<
String
,
Object
>
map1
=
JSON
.
parseObject
(
jsonObject1
,
Map
.
class
);
String
headimgurl
=
map1
.
get
(
"headimgurl"
).
toString
();
SysUser
sysUser
=
users
.
get
(
0
);
Wrapper
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"id"
,
sysUser
.
getId
());
Map
<
String
,
Object
>
dataMapping
=
new
HashMap
<>();
dataMapping
.
put
(
"open_id"
,
openId
);
dataMapping
.
put
(
"wx_head_img_url"
,
headimgurl
);
Integer
integer
=
hhrUserMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping
),
wrapper
);
if
(
integer
==
1
)
{
return
ResponseData
.
success
(
openId
);
...
...
@@ -470,4 +471,130 @@ public class LoginPwdController extends BaseController {
}
return
ResponseEntity
.
newJSON
(
"code"
,
300
,
"data"
,
"修改失败!"
);
}
@RequestMapping
(
value
=
"selectAddress"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
String
>>
selectAddress
(){
return
ResponseData
.
success
(
schoolMapper
.
selectAdress
());
}
@RequestMapping
(
value
=
"selectSchool"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
Map
<
String
,
Object
>>>
selectSchool
(
String
subName
){
Wrapper
<
School
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"sub_name"
,
subName
);
wrapper
.
setSqlSelect
(
"id"
,
"school_name"
);
List
<
Map
<
String
,
Object
>>
list
=
schoolMapper
.
selectMaps
(
wrapper
);
return
ResponseData
.
success
(
list
);
}
@RequestMapping
(
value
=
"registeredAccount"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
registeredAccount
(
@RequestParam
(
"gender"
)
String
gender
,
@RequestParam
(
"username"
)
String
username
,
@RequestParam
(
"phone"
)
String
phone
,
@RequestParam
(
"idCard"
)
String
idCard
,
@RequestParam
(
value
=
"stuCard"
)
String
stuCard
,
@RequestParam
(
"idcardZ"
)
String
idcardZ
,
@RequestParam
(
"password"
)
String
password
,
@RequestParam
(
"cpassword"
)
String
cpassword
,
@RequestParam
(
"school"
)
String
school
,
@RequestParam
(
value
=
"classZ"
)
String
classZ
,
@RequestParam
(
"substName"
)
String
substName
,
@RequestParam
(
"account"
)
String
account
)
throws
NoSuchAlgorithmException
,
NoSuchAlgorithmException
{
if
(
StringUtils
.
isBlank
(
gender
)){
return
ResponseData
.
error
(
"性别不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
username
)){
return
ResponseData
.
error
(
"姓名不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
phone
)){
return
ResponseData
.
error
(
"电话不能为空!"
);
}
if
(
phone
.
length
()
!=
11
){
return
ResponseData
.
error
(
"手机号码有误!"
);
}
if
(
StringUtils
.
isBlank
(
idCard
)){
return
ResponseData
.
error
(
"身份证号码不能为空!"
);
}
if
(!
IDCardUtil
.
IDCardValidate
(
idCard
)){
return
ResponseData
.
error
(
"身份证号码有误!"
);
}
if
(
StringUtils
.
isBlank
(
stuCard
)){
return
ResponseData
.
error
(
"请上传学生证!"
);
}
if
(
StringUtils
.
isBlank
(
idcardZ
)){
return
ResponseData
.
error
(
"请上传身份证!"
);
}
if
(
StringUtils
.
isBlank
(
password
)){
return
ResponseData
.
error
(
"密码不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
cpassword
)){
return
ResponseData
.
error
(
"原密码不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
school
)){
return
ResponseData
.
error
(
"学校不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
substName
)){
return
ResponseData
.
error
(
"县分不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
classZ
)){
return
ResponseData
.
error
(
"年级不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
account
)){
return
ResponseData
.
error
(
"账号不能为空!"
);
}
String
pattern
=
"^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)\\S{8,}$"
;
if
(!
password
.
matches
(
pattern
))
{
return
ResponseData
.
error
(
"密码强制等级低,必须要数字、小写英文字母、大写英文字母或特殊字符混合组成,长度至少8位!"
);
}
if
(
password
.
contains
(
account
))
{
return
ResponseData
.
error
(
"密码与账号信息吻合,禁止使用!"
);
}
// 对加密的密码进行解密处理
/*ResponseData<String> pwdDecrypt = LoginUtils.pwdDecrypt(password);
if (!pwdDecrypt.isSuccess()) {
return ResponseData.error("密码错误!");
}
password = pwdDecrypt.getData();
ResponseData<String> pwdDecryptc = LoginUtils.pwdDecrypt(cpassword);
if (!pwdDecryptc.isSuccess()) {
return ResponseData.error("密码错误!");
}
cpassword = pwdDecryptc.getData();*/
if
(!
password
.
equals
(
cpassword
)){
return
ResponseData
.
error
(
"密码和原密码不同!"
);
}
Wrapper
<
SysUser
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"account"
,
account
);
List
<
SysUser
>
users
=
sysUserMapper
.
selectList
(
wrapper
);
if
(
users
.
size
()
!=
0
){
return
ResponseData
.
error
(
"账号已被使用,请换一个账号!"
);
}
Wrapper
<
HhrUser
>
wrapper1
=
new
EntityWrapper
<>();
wrapper1
.
eq
(
"id_card"
,
account
);
List
<
HhrUser
>
hhrUsers
=
hhrUserMapper
.
selectList
(
wrapper1
);
if
(
hhrUsers
.
size
()
!=
0
){
return
ResponseData
.
error
(
"一个身份证只能创建一个账号,请换一个身份证!"
);
}
int
insert
=
0
;
SysUser
sysUser
=
new
SysUser
();
sysUser
.
setSex
(
gender
);
sysUser
.
setAccount
(
account
);
sysUser
.
setName
(
username
);
sysUser
.
setPhone
(
phone
);
sysUser
.
setSalt
(
ShiroKit
.
getRandomSalt
(
5
));
sysUser
.
setSubstName
(
substName
);
sysUser
.
setCreatetime
(
new
Date
());
sysUser
.
setStatus
(
"2"
);
sysUser
.
setPassword
(
ShiroKit
.
md5
(
password
,
sysUser
.
getSalt
()));
insert
+=
sysUserMapper
.
insert
(
sysUser
);
insert
+=
sysUserMapper
.
insertUserSchool
(
sysUser
.
getId
(),
school
);
HhrUser
hhrUser
=
new
HhrUser
();
hhrUser
.
setId
(
sysUser
.
getId
());
hhrUser
.
setIdCard
(
idCard
);
hhrUser
.
setIdcardImgUrl
(
PicturesUtil
.
uploadPictures
(
idcardZ
,
sysUser
.
getId
(),
PATHTYPE
));
hhrUser
.
setStudentImgUrl
(
PicturesUtil
.
uploadPictures
(
stuCard
,
sysUser
.
getId
(),
PATHTYPE
));
hhrUser
.
setGrade
(
classZ
);
hhrUser
.
setUploadState
(
1
);
insert
+=
hhrUserMapper
.
insert
(
hhrUser
);
if
(
insert
==
3
){
return
ResponseData
.
success
(
"账号创建成功!"
);
}
if
(
insert
==
0
){
return
ResponseData
.
error
(
"账号创建失败!"
);
}
return
ResponseData
.
error
(
"账号创建异常,请联系管理员!"
);
}
}
core-service/src/main/resources/application.yml
View file @
9842a787
...
...
@@ -17,6 +17,8 @@ server:
uri-encoding
:
UTF-8
max-threads
:
200
max-connections
:
2000
jetty
:
max-http-post-size
:
1000000
winsun
:
app
:
version
:
@
project.version@
...
...
gateway/src/main/resources/application.yml
View file @
9842a787
...
...
@@ -15,6 +15,8 @@ server:
uri-encoding
:
UTF-8
max-threads
:
1000
max-connections
:
20000
jetty
:
max-http-post-size
:
1000000
spring
:
application
:
name
:
gateway
...
...
service-manager/src/main/java/com/winsun/controller/MobileTerminalUserController.java
deleted
100644 → 0
View file @
5a346d54
package
com
.
winsun
.
controller
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.bean.HhrUser
;
import
com.winsun.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.mapper.HhrUserMapper
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.utils.IDCardUtil
;
import
com.winsun.utils.PicturesUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.RestController
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author: hsl
* @Date: 2020/4/21 11:19
*/
@RequestMapping
(
"mobileTerminalUser"
)
@RestController
@Slf4j
public
class
MobileTerminalUserController
{
private
static
String
PATHTYPE
=
"idCard"
;
private
static
HhrUserMapper
hhrUserMapper
;
private
static
SysUserMapper
sysUserMapper
;
private
static
SchoolMapper
schoolMapper
;
@Autowired
public
MobileTerminalUserController
(
HhrUserMapper
hhrUserMapper
,
SysUserMapper
sysUserMapper
,
SchoolMapper
schoolMapper
){
MobileTerminalUserController
.
hhrUserMapper
=
hhrUserMapper
;
MobileTerminalUserController
.
sysUserMapper
=
sysUserMapper
;
MobileTerminalUserController
.
schoolMapper
=
schoolMapper
;
}
@RequestMapping
(
"selectAddress"
)
public
ResponseData
<
List
<
String
>>
selectAddress
(){
return
ResponseData
.
success
(
schoolMapper
.
selectAdress
());
}
@RequestMapping
(
"selectSchool"
)
public
ResponseData
<
List
<
Map
<
String
,
Object
>>>
selectSchool
(
String
subName
){
Wrapper
<
School
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"sub_name"
,
subName
);
wrapper
.
setSqlSelect
(
"id"
,
"school_name"
);
List
<
Map
<
String
,
Object
>>
list
=
schoolMapper
.
selectMaps
(
wrapper
);
return
ResponseData
.
success
(
list
);
}
/*
@RequestMapping("registeredAccount")
public ResponseData<String> registeredAccount(@RequestParam("gender") String gender,@RequestParam("username") String username, @RequestParam("phone") String phone,
@RequestParam("idCard") String idCard, @RequestParam("stuCard") String stuCard, @RequestParam("idcardZ") String idcardZ,
@RequestParam("password") String password, @RequestParam("cpassword") String cpassword, @RequestParam("school") String school,
@RequestParam("classZ") String classZ, @RequestParam("substName") String substName, @RequestParam("account") String account) throws NoSuchAlgorithmException {
if(StringUtils.isBlank(gender)){
return ResponseData.error("性别不能为空!");
}
if(StringUtils.isBlank(username)){
return ResponseData.error("姓名不能为空!");
}
if(StringUtils.isBlank(phone)){
return ResponseData.error("电话不能为空!");
}
if(phone.length() != 11){
return ResponseData.error("手机号码有误!");
}
if(StringUtils.isBlank(idCard)){
return ResponseData.error("身份证号码不能为空!");
}
if(!IDCardUtil.IDCardValidate(idCard)){
return ResponseData.error("身份证号码有误!");
}
if(StringUtils.isBlank(stuCard)){
return ResponseData.error("请上传学生证!");
}
if(StringUtils.isBlank(idcardZ)){
return ResponseData.error("请上传身份证!");
}
if(StringUtils.isBlank(password)){
return ResponseData.error("密码不能为空!");
}
if(StringUtils.isBlank(cpassword)){
return ResponseData.error("原密码不能为空!");
}
if(!password.equals(cpassword)){
return ResponseData.error("密码和原密码不同!");
}
if(StringUtils.isBlank(school)){
return ResponseData.error("学校不能为空!");
}
if(StringUtils.isBlank(substName)){
return ResponseData.error("县分不能为空!");
}
if(StringUtils.isBlank(classZ)){
return ResponseData.error("年级不能为空!");
}
if(StringUtils.isBlank(account)){
return ResponseData.error("账号不能为空!");
}
String pattern = "^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)\\S{8,}$";
if (!password.matches(pattern)) {
return ResponseData.error( "密码强制等级低,必须要数字、小写英文字母、大写英文字母或特殊字符混合组成,长度至少8位!");
}
if (password.contains(account)) {
return ResponseData.error("密码与账号信息吻合,禁止使用!");
}
Wrapper<SysUser> wrapper = new EntityWrapper<>();
wrapper.eq("account",account);
List<SysUser> users = sysUserMapper.selectList(wrapper);
if(users.size() != 0){
return ResponseData.error("账号已被使用,请换一个账号!");
}
Wrapper<HhrUser> wrapper1 = new EntityWrapper<>();
wrapper1.eq("id_card",account);
List<HhrUser> hhrUsers = hhrUserMapper.selectList(wrapper1);
if(hhrUsers.size() != 0){
return ResponseData.error("一个身份证只能创建一个账号,请换一个身份证!");
}
int insert = 0;
SysUser sysUser = new SysUser();
sysUser.setSex(gender);
sysUser.setAccount(account);
sysUser.setName(username);
sysUser.setPhone(phone);
sysUser.setSalt(ShiroKit.getRandomSalt(5));
sysUser.setSubstName(substName);
sysUser.setPassword(ShiroKit.md5(password, sysUser.getSalt()));
insert =+ sysUserMapper.insert(sysUser);
insert =+ sysUserMapper.insertUserSchool(sysUser.getId(), school);
HhrUser hhrUser = new HhrUser();
hhrUser.setId(sysUser.getId());
hhrUser.setIdCard(idCard);
hhrUser.setIdcardImgUrl(PicturesUtil.uploadPictures(idcardZ, sysUser.getId(),PATHTYPE));
hhrUser.setStudentImgUrl(PicturesUtil.uploadPictures(stuCard, sysUser.getId(),PATHTYPE));
hhrUser.setGrade(classZ);
insert =+ hhrUserMapper.insert(hhrUser);
if (insert == 3){
return ResponseData.success("账号创建成功!");
}
if (insert == 0){
return ResponseData.error("账号创建失败!");
}
return ResponseData.error("账号创建异常,请联系管理员!");
}*/
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment