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