Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论