Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
cms
Commits
a975c628
提交
a975c628
authored
9月 14, 2023
作者:
张小凤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UserMessageQO(add)
上级
c4fa36fd
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
217 行增加
和
1 行删除
+217
-1
UserMessageQO.java
...c/main/java/com/mmc/iuav/user/model/qo/UserMessageQO.java
+47
-0
UserAccountController.java
...a/com/mmc/iuav/user/controller/UserAccountController.java
+29
-1
UserServiceDao.java
...r/src/main/java/com/mmc/iuav/user/dao/UserServiceDao.java
+11
-0
UserAccountService.java
...in/java/com/mmc/iuav/user/service/UserAccountService.java
+7
-0
UserAccountServiceImpl.java
...om/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
+61
-0
SmsUtil.java
...ce-user/src/main/java/com/mmc/iuav/user/util/SmsUtil.java
+12
-0
UserServiceDao.xml
...service-user/src/main/resources/mapper/UserServiceDao.xml
+50
-0
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/qo/UserMessageQO.java
0 → 100644
浏览文件 @
a975c628
package
com
.
mmc
.
iuav
.
user
.
model
.
qo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/9/14 20:03
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
UserMessageQO
{
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"微信头像"
,
example
=
"http://"
)
private
String
userImg
;
@ApiModelProperty
(
value
=
"封面图片"
,
example
=
"http://"
)
private
String
coverPicture
;
@ApiModelProperty
(
value
=
"微信昵称"
,
example
=
"小红花"
)
private
String
nickName
;
@ApiModelProperty
(
value
=
"地区"
,
example
=
"广东省深圳市"
)
private
String
region
;
@ApiModelProperty
(
value
=
"个人简介"
,
example
=
"航拍多年"
)
private
String
briefIntroduction
;
@ApiModelProperty
(
value
=
"经度"
,
example
=
"78.321313"
)
private
Double
longitude
;
@ApiModelProperty
(
value
=
"纬度"
,
example
=
"67.213131"
)
private
Double
latitude
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/UserAccountController.java
浏览文件 @
a975c628
...
...
@@ -5,6 +5,7 @@ import com.mmc.iuav.group.Update;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.UserAccountSimpleDTO
;
import
com.mmc.iuav.user.model.qo.UserAccountQO
;
import
com.mmc.iuav.user.model.qo.UserMessageQO
;
import
com.mmc.iuav.user.model.qo.UserRcdQO
;
import
com.mmc.iuav.user.model.vo.UserAccountVO
;
import
com.mmc.iuav.user.service.UserAccountService
;
...
...
@@ -49,7 +50,7 @@ public class UserAccountController extends BaseController {
return
userAccountService
.
update
(
userAccountVO
);
}
@ApiOperation
(
value
=
"获取用户基本信息"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UserAccountSimpleDTO
.
class
)})
@GetMapping
(
"feignGetUserSimpleInfo"
)
...
...
@@ -143,4 +144,31 @@ public class UserAccountController extends BaseController {
return
userAccountService
.
getUserAccountByPhoneNum
(
phoneNum
);
}
@ApiOperation
(
value
=
"获取修改手机获取验证码"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"getVerifyCode"
)
public
ResultBody
getVerifyCode
(
@RequestParam
(
value
=
"userAccountId"
)
Integer
userAccountId
,
@RequestParam
(
value
=
"phoneNum"
)
String
phoneNum
)
{
return
userAccountService
.
getVerifyCode
(
userAccountId
,
phoneNum
);
}
@ApiOperation
(
value
=
"修改用户手机号"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"updatePhoneNum"
)
public
ResultBody
updatePhoneNum
(
@RequestParam
(
value
=
"userAccountId"
)
Integer
userAccountId
,
@RequestParam
(
value
=
"verifyCode"
)
String
verifyCode
)
{
return
userAccountService
.
updatePhoneNum
(
userAccountId
,
verifyCode
);
}
@ApiOperation
(
value
=
"修改用户信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/appUpdateUser"
)
public
ResultBody
appUpdateUser
(
@RequestBody
UserMessageQO
userMessageQO
){
return
userAccountService
.
appUpdateUser
(
userMessageQO
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/UserServiceDao.java
浏览文件 @
a975c628
...
...
@@ -4,6 +4,7 @@ import com.mmc.iuav.user.entity.UserAccountDO;
import
com.mmc.iuav.user.entity.UserRcdDO
;
import
com.mmc.iuav.user.entity.fdd.UserFddDO
;
import
com.mmc.iuav.user.model.qo.UserAccountQO
;
import
com.mmc.iuav.user.model.qo.UserMessageQO
;
import
com.mmc.iuav.user.model.qo.UserRcdQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -170,4 +171,14 @@ public interface UserServiceDao {
UserAccountDO
getUserAccountInfoByOpenId
(
String
openid
);
List
<
UserFddDO
>
listUserFddInfo
(
@Param
(
value
=
"unionId"
)
String
unionId
,
@Param
(
value
=
"openid"
)
String
openid
);
Integer
countPhoneNum
(
String
phoneNum
);
int
countPhoneNums
(
String
phoneNum
,
Integer
userAccountId
);
void
updateAccountPhone
(
Integer
userAccountId
,
String
phoneNum
);
void
appUpdateUser
(
UserMessageQO
userMessageQO
);
int
selectUserAccount
(
UserMessageQO
userMessageQO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/UserAccountService.java
浏览文件 @
a975c628
...
...
@@ -5,6 +5,7 @@ import com.mmc.iuav.user.entity.UserAccountDO;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.UserAccountSimpleDTO
;
import
com.mmc.iuav.user.model.qo.UserAccountQO
;
import
com.mmc.iuav.user.model.qo.UserMessageQO
;
import
com.mmc.iuav.user.model.qo.UserRcdQO
;
import
com.mmc.iuav.user.model.vo.UserAccountVO
;
...
...
@@ -161,4 +162,10 @@ public interface UserAccountService {
* @return
*/
ResultBody
getUserAccountByPhoneNum
(
String
phoneNum
);
ResultBody
getVerifyCode
(
Integer
userAccountId
,
String
phoneNum
);
ResultBody
updatePhoneNum
(
Integer
userAccountId
,
String
verifyCode
);
ResultBody
appUpdateUser
(
UserMessageQO
userMessageQO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
浏览文件 @
a975c628
...
...
@@ -17,6 +17,7 @@ import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import
com.mmc.iuav.user.model.dto.RealNameAuthDTO
;
import
com.mmc.iuav.user.model.dto.UserAccountSimpleDTO
;
import
com.mmc.iuav.user.model.qo.UserAccountQO
;
import
com.mmc.iuav.user.model.qo.UserMessageQO
;
import
com.mmc.iuav.user.model.qo.UserRcdQO
;
import
com.mmc.iuav.user.model.vo.CompanyAuthVO
;
import
com.mmc.iuav.user.model.vo.CooperationTagVO
;
...
...
@@ -28,16 +29,21 @@ import com.mmc.iuav.user.service.CompanyAuthService;
import
com.mmc.iuav.user.service.RealNameAuthService
;
import
com.mmc.iuav.user.service.UserAccountService
;
import
com.mmc.iuav.user.service.WxService
;
import
com.mmc.iuav.user.util.SmsUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.messaging.simp.annotation.SendToUser
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.util.CollectionUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -81,6 +87,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Autowired
private
UserSubInfoDao
userSubInfoDao
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Override
public
UserAccountVO
getUserAccountInfoByUnionId
(
String
unionId
)
{
...
...
@@ -442,4 +451,56 @@ public class UserAccountServiceImpl implements UserAccountService {
return
ResultBody
.
success
();
}
@Override
public
ResultBody
getVerifyCode
(
Integer
userAccountId
,
String
phoneNum
)
{
Integer
count
=
userServiceDao
.
countPhoneNum
(
phoneNum
);
if
(
count
>
0
){
return
ResultBody
.
error
(
"手机号已存在"
);
}
// 根据手机号生成验证码
String
verifyCode
=
CodeUtil
.
getRandomNum
(
6
);
// 保存到redis中
Map
<
String
,
String
>
redisData
=
new
HashMap
<>();
redisData
.
put
(
"userAccountId"
,
userAccountId
+
""
);
redisData
.
put
(
"phoneNum"
,
phoneNum
);
redisData
.
put
(
"verifyCode"
,
verifyCode
);
stringRedisTemplate
.
opsForHash
().
putAll
(
verifyCode
+
userAccountId
,
redisData
);
stringRedisTemplate
.
expire
(
verifyCode
+
userAccountId
,
60
,
TimeUnit
.
SECONDS
);
// 发送给用户
SmsUtil
.
verifyCode
(
verifyCode
,
phoneNum
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
updatePhoneNum
(
Integer
userAccountId
,
String
verifyCode
)
{
Map
<
Object
,
Object
>
redisData
=
stringRedisTemplate
.
opsForHash
().
entries
(
verifyCode
+
userAccountId
);
if
(
redisData
.
isEmpty
())
{
return
ResultBody
.
error
(
"验证码错误,请重新输入"
);
}
String
code
=
redisData
.
get
(
"verifyCode"
).
toString
();
String
phoneNum
=
redisData
.
get
(
"phoneNum"
).
toString
();
// 验证码错误则修改失败,并提醒
if
(!
code
.
equals
(
verifyCode
))
{
return
ResultBody
.
error
(
"验证码错误,请重新输入"
);
}
int
count
=
userServiceDao
.
countPhoneNums
(
phoneNum
,
userAccountId
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
"手机号已存在"
);
}
userServiceDao
.
updateAccountPhone
(
userAccountId
,
phoneNum
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
appUpdateUser
(
UserMessageQO
userMessageQO
)
{
int
i
=
userServiceDao
.
selectUserAccount
(
userMessageQO
);
if
(
i
!=
0
){
return
ResultBody
.
error
(
"昵称被占用,请重新修改"
);
}
else
{
userServiceDao
.
appUpdateUser
(
userMessageQO
);
}
return
ResultBody
.
success
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/SmsUtil.java
浏览文件 @
a975c628
...
...
@@ -25,6 +25,8 @@ public class SmsUtil {
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_3
=
"SMS_462620535"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_4
=
"SMS_462605558"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_5
=
"SMS_462575668"
;
//短信验证码模板
private
static
String
VERIFYCODE
=
"SMS_211825548"
;
/**
* 加盟审核未通过
...
...
@@ -63,4 +65,14 @@ public class SmsUtil {
}
return
new
Gson
().
toJson
(
response
.
body
);
}
/**
* 短信验证码
* @param verifyCode
* @param phone
* @return
*/
public
static
String
verifyCode
(
String
verifyCode
,
String
phone
){
return
send
(
VERIFYCODE
,
"{\"code\":\""
+
verifyCode
+
"\"}"
,
phone
);
}
}
csm-service/cms-service-user/src/main/resources/mapper/UserServiceDao.xml
浏览文件 @
a975c628
...
...
@@ -480,4 +480,54 @@
</where>
</select>
<select
id=
"countPhoneNum"
resultType=
"java.lang.Integer"
>
select count(*) from user_account where phone_num = #{phoneNum} and `disable`=0 and account_status=1
</select>
<select
id=
"countPhoneNums"
resultType=
"java.lang.Integer"
>
select count(*) from user_account where phone_num = #{phoneNum}
and `disable`=0 and account_status=1 and id=#{userAccountId}
</select>
<select
id=
"updateAccountPhone"
>
update user_account
<set>
phone_num = #{phoneNum}
</set>
where id = #{userAccountId}
</select>
<update
id=
"appUpdateUser"
parameterType=
"com.mmc.iuav.user.model.qo.UserMessageQO"
>
update user_account
<set>
<if
test=
"userImg!='' and userImg!=null "
>
user_img=#{userImg},
</if>
<if
test=
"coverPicture!='' and coverPicture!=null"
>
cover_picture=#{coverPicture},
</if>
<if
test=
"nickName!='' and nickName!=null "
>
nick_name=#{nickName},
</if>
<if
test=
"region!='' and region!=null"
>
region=#{region},
</if>
<if
test=
"briefIntroduction!='' and briefIntroduction!=null"
>
brief_introduction=#{briefIntroduction},
</if>
<if
test=
"longitude!=null"
>
longitude=#{longitude},
</if>
<if
test=
"latitude!=null"
>
latitude=#{latitude}
</if>
</set>
where id=#{id}
</update>
<select
id=
"selectUserAccount"
resultType=
"java.lang.Integer"
parameterType=
"com.mmc.iuav.user.model.qo.UserMessageQO"
>
select count(*) from user_account where disable=0 and nick_name=#{nickName} and id!=#{id}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论