From b48de0e35c54bd4715f8de2b86bac5a539c27275 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期六, 22 六月 2024 16:23:44 +0800
Subject: [PATCH] 更换手机,发送短信放开
---
project-system/src/main/java/com/project/system/mapper/SysUserMapper.java | 9 ++
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java | 104 ++++++++++++++-----------
project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java | 36 +++++---
project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java | 8 ++
project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java | 30 +++++++
project-system/src/main/resources/mapper/system/SysUserMapper.xml | 4 +
project-system/src/main/java/com/project/system/service/ISysUserService.java | 10 ++
project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 5 +
project-system/src/main/java/com/project/system/domain/bo/editBo/CheckBo.java | 6 +
9 files changed, 150 insertions(+), 62 deletions(-)
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
index 768b235..283da0f 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
@@ -56,6 +56,14 @@
return AjaxResult.success(loginService.getVerifyCode(phone));
}
+ @ApiOperation("鏂版敞鍐岃幏鍙栭獙璇佺爜")
+ @GetMapping("/verify/getNew")
+ @RepeatSubmit
+ public AjaxResult getVerifyCodeNew(@RequestParam("phone") String phone)
+ {
+ return AjaxResult.success(loginService.getVerifyCodeNew(phone));
+ }
+
@ApiOperation("鏍¢獙楠岃瘉鐮�")
@PostMapping("/verify/check")
@RepeatSubmit
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
index f36229a..0916f22 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
@@ -101,6 +101,7 @@
return error("淇敼涓汉淇℃伅寮傚父锛岃鑱旂郴绠$悊鍛�");
}
+
/**
* 閲嶇疆瀵嗙爜
*/
@@ -130,6 +131,35 @@
}
/**
+ * 鏇存崲鎵嬫満鍙�
+ */
+ @Log(title = "鏇存崲鎵嬫満鍙�", businessType = BusinessType.UPDATE)
+ @PostMapping("/updatePhone/{phone}")
+ public AjaxResult updatePhone(@PathVariable String phone)
+ {
+ if (StringUtils.isEmpty(phone)){
+ return error("璇峰~鍐欐墜鏈哄彿");
+ }
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ SysUser user = loginUser.getUser();
+ user.setPhonenumber(phone);
+ if (StringUtils.isNotEmpty(user.getPhonenumber())
+ && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
+ {
+ return error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪");
+ }
+ if (userService.resetPhone(user.getUserId(), phone) > 0)
+ {
+ // 鏇存柊缂撳瓨
+ loginUser.getUser().setUserName(phone);
+ loginUser.getUser().setPhonenumber(phone);
+ tokenService.setLoginUser(loginUser);
+ return success();
+ }
+ return error("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+
+ /**
* 澶村儚涓婁紶
*/
@Log(title = "鐢ㄦ埛澶村儚", businessType = BusinessType.UPDATE)
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
index c16ded5..317241c 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -43,58 +43,68 @@
@Transactional
public Boolean checkOrder(CheckBo bo)
{
+ if (StringUtils.isNotEmpty(bo.getIds())){
+ throw new BaseException("璇烽�夋嫨瑕佸鎵圭殑鍗曟嵁锛�");
+ }
switch (bo.getCheckType())
{
case 1:
- SysCompany company = companyService.getById(bo.getId());
- if (company==null) {
- throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒");
- }
- SysCompanyBo companyBo = new SysCompanyBo();
- companyBo.setCompanyId(company.getCompanyId());
- if (bo.getCheckStatus()== -1){
- company.setCheckStatus(-1);
- companyBo.setCompanyStatus(1);
- } else {
- company.setCheckStatus(2);
- companyBo.setCompanyStatus(0);
- }
- addCheckLog(company, bo);
- company.setCheckReason(bo.getCheckReason());
- companyService.updStatus(companyBo);
- return companyService.updateById(company);
- case 2:
- EnforceOrder order = orderService.getById(bo.getId());
- if (order==null) {
- throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒");
- }
- addCheckLog(order, bo);
- if (bo.getCheckStatus()==-1){
- order.setCheckStatus(-1);
- //瀹℃壒鎷掔粷锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
- smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
- } else {
- List<String> phones = orderService.getCheckPhones(order.getCheckLevel()+1, order.getApplyDeptId());
- if (StringUtils.isNotEmpty(phones)){
- order.setCheckStatus(1);
- //缁欎笅涓�绾у鎵逛汉鍙戦�佺煭淇�
- smsService.sendApplyMsg(phones, order.getApplyUser());
- String checkPhones = StringUtils.join(phones, ",");
- orderService.update(orderService.lu().set(EnforceOrder::getCheckIds, checkPhones).eq(EnforceOrder::getOrderId, order.getOrderId()));
- } else {
- order.setCheckStatus(2);
- order.setOrderStatus(2);
- //瀹℃壒閫氳繃锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
- smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
- if (order.getIsNoticeCompany()==1){
- smsService.sendCompanyMsg(order.getCompanyPhone(), order.getApplyDeptName(), order.getPlanTime());
- }
+ for (Long id : bo.getIds()) {
+ SysCompany company = companyService.getById(id);
+ if (company==null) {
+ throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒");
}
- //瀹℃壒绛夌骇鍔�1
- order.setCheckLevel(order.getCheckLevel()+1);
+ SysCompanyBo companyBo = new SysCompanyBo();
+ companyBo.setCompanyId(company.getCompanyId());
+ if (bo.getCheckStatus()== -1){
+ company.setCheckStatus(-1);
+ companyBo.setCompanyStatus(1);
+ } else {
+ company.setCheckStatus(2);
+ companyBo.setCompanyStatus(0);
+ }
+ addCheckLog(company, bo);
+ company.setCheckReason(bo.getCheckReason());
+ companyService.updStatus(companyBo);
+ companyService.updateById(company);
}
- order.setCheckReason(bo.getCheckReason());
- return orderService.updateById(order);
+ return true;
+ case 2:
+ for (Long id : bo.getIds()) {
+ EnforceOrder order = orderService.getById(id);
+ if (order==null) {
+ throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒");
+ }
+ addCheckLog(order, bo);
+ if (bo.getCheckStatus()==-1){
+ order.setCheckStatus(-1);
+ //瀹℃壒鎷掔粷锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
+ smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
+ } else {
+ List<String> phones = orderService.getCheckPhones(order.getCheckLevel()+1, order.getApplyDeptId());
+ if (StringUtils.isNotEmpty(phones)){
+ order.setCheckStatus(1);
+ //缁欎笅涓�绾у鎵逛汉鍙戦�佺煭淇�
+ smsService.sendApplyMsg(phones, order.getApplyUser());
+ String checkPhones = StringUtils.join(phones, ",");
+ orderService.update(orderService.lu().set(EnforceOrder::getCheckIds, checkPhones).eq(EnforceOrder::getOrderId, order.getOrderId()));
+ } else {
+ order.setCheckStatus(2);
+ order.setOrderStatus(2);
+ //瀹℃壒閫氳繃锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
+ smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
+ if (order.getIsNoticeCompany()==1){
+ smsService.sendCompanyMsg(order.getCompanyPhone(), order.getApplyDeptName(), order.getPlanTime());
+ }
+ }
+ //瀹℃壒绛夌骇鍔�1
+ order.setCheckLevel(order.getCheckLevel()+1);
+ order.setCheckReason(bo.getCheckReason());
+ orderService.updateById(order);
+ }
+
+ }
+ return true;
}
return false;
}
diff --git a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
index 8cb0c51..49e14fb 100644
--- a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
+++ b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
@@ -114,6 +114,26 @@
return tokenService.createToken(loginUser);
}
+ /**
+ * 鏂版敞鍐岃幏鍙栭獙璇佺爜
+ * @param phone 鎵嬫満
+ * @return 楠岃瘉鐮�
+ */
+ public Boolean getVerifyCodeNew(String phone) {
+ // 鐢熸垚4浣嶉殢鏈烘暟
+ String code = "";
+ Random ran = new Random();
+ int randomNum = ran.nextInt(10000);
+ code = String.format("%04d", randomNum);
+ log.info("鎵嬫満鍙凤細"+phone+"->楠岃瘉鐮侊細"+code);
+ boolean send = sendYp(phone, code);
+ if (send){
+ redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
+ return true;
+ }
+ redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
+ return false;
+ }
/**
* 鑾峰彇楠岃瘉鐮�
@@ -126,19 +146,7 @@
if (user==null){
throw new BaseException("鎮ㄦ墜鏈哄彿灏氭湭娉ㄥ唽锛�");
}
- // 鐢熸垚4浣嶉殢鏈烘暟
- String code = "";
- Random ran = new Random();
- int randomNum = ran.nextInt(10000);
- code = String.format("%04d", randomNum);
- log.info("鎵嬫満鍙凤細"+phone+"->楠岃瘉鐮侊細"+code);
-// boolean send = sendAl(phone, code);
-// if (send){
-// redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
-// return true;
-// }
- redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
- return false;
+ return getVerifyCodeNew(phone);
}
private boolean sendYp(String phone, String code ){
@@ -277,4 +285,6 @@
return verify;
}
+
+
}
diff --git a/project-system/src/main/java/com/project/system/domain/bo/editBo/CheckBo.java b/project-system/src/main/java/com/project/system/domain/bo/editBo/CheckBo.java
index da7246c..23dc7ef 100644
--- a/project-system/src/main/java/com/project/system/domain/bo/editBo/CheckBo.java
+++ b/project-system/src/main/java/com/project/system/domain/bo/editBo/CheckBo.java
@@ -3,6 +3,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
/**
* @author Mr.Zhao
*/
@@ -13,8 +15,8 @@
@ApiModelProperty(value = "涓氬姟绫诲瀷锛�1浼佷笟瀹℃壒锛�2鎵ф硶鍗曞鎵�",required = true)
private Integer checkType;
- @ApiModelProperty(value = "id",required = true)
- private Long id;
+ @ApiModelProperty(value = "ids",required = true)
+ private List<Long> ids;
@ApiModelProperty(value = "绫诲瀷锛�1閫氳繃锛�-1鎷掔粷",required = true)
private Integer checkStatus;
diff --git a/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java b/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java
index eae3dbc..30a094c 100644
--- a/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java
+++ b/project-system/src/main/java/com/project/system/mapper/SysUserMapper.java
@@ -142,4 +142,13 @@
* @return phoneList
*/
List<String> getPhonesByRoleKey(@Param("roleKey") String roleKey,@Param("deptId") Long deptId);
+
+ /**
+ * 鏇存崲鎵嬫満鍙�
+ *
+ * @param userId 鐢ㄦ埛id
+ * @param phone 鎵嬫満
+ * @return 缁撴灉
+ */
+ int resetPhone(@Param("userId")Long userId, @Param("phone")String phone);
}
diff --git a/project-system/src/main/java/com/project/system/service/ISysUserService.java b/project-system/src/main/java/com/project/system/service/ISysUserService.java
index 7908b0a..d786b84 100644
--- a/project-system/src/main/java/com/project/system/service/ISysUserService.java
+++ b/project-system/src/main/java/com/project/system/service/ISysUserService.java
@@ -220,4 +220,14 @@
* @return idList
*/
List<String> getPhonesByRoleKey(String roleKey, Long deptId);
+
+
+ /**
+ * 閲嶇疆鐢ㄦ埛鎵嬫満鍙�
+ *
+ * @param userId 鐢ㄦ埛id
+ * @param phone 鎵嬫満鍙�
+ * @return 缁撴灉
+ */
+ public int resetPhone(Long userId, String phone);
}
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
index 9e244fe..b002089 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
@@ -551,4 +551,9 @@
{
return userMapper.getPhonesByRoleKey(roleKey, deptId);
}
+
+ @Override
+ public int resetPhone(Long userId, String phone) {
+ return userMapper.resetPhone(userId, phone);
+ }
}
diff --git a/project-system/src/main/resources/mapper/system/SysUserMapper.xml b/project-system/src/main/resources/mapper/system/SysUserMapper.xml
index 9cd4df7..3c80ddd 100644
--- a/project-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -229,6 +229,10 @@
update sys_user set password = #{password}, recommend_user = #{recommendUser} where user_name = #{userName}
</update>
+ <update id="resetPhone" parameterType="SysUser">
+ update sys_user set phonenumber = #{phone}, user_name = #{phone} where user_id = #{userId}
+ </update>
+
<delete id="deleteUserById" parameterType="Long">
update sys_user set del_flag = '1' where user_id = #{userId}
</delete>
--
Gitblit v1.9.1