ZQN
2024-06-22 b48de0e35c54bd4715f8de2b86bac5a539c27275
更换手机,发送短信放开
9个文件已修改
212 ■■■■ 已修改文件
project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/domain/bo/editBo/CheckBo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/mapper/SysUserMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/service/ISysUserService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysUserMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
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)
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;
    }
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;
    }
}
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;
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);
}
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);
}
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);
    }
}
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>