2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-03-21 34cc9fb821d30b64947c8a62d952f1621a515149
普通用户修改密码
已修改2个文件
已添加1个文件
53 ■■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ClientController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/ResetClientPasswordPrarm.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ClientController.java
@@ -16,6 +16,7 @@
import com.sandu.ximon.admin.dto.ClientDto;
import com.sandu.ximon.admin.param.AddClientPrarm;
import com.sandu.ximon.admin.param.AdminLoginParam;
import com.sandu.ximon.admin.param.ResetClientPasswordPrarm;
import com.sandu.ximon.admin.param.UpdateClientPrarm;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.ClientRoleRelationService;
@@ -70,6 +71,16 @@
        }
    }
    @PostMapping("/resetClientPassword")
    public ResponseVO<Object> resetClientPassword(@RequestBody @Validated ResetClientPasswordPrarm resetClientPasswordPrarm) {
        boolean b = clientService.resetPassword(resetClientPasswordPrarm);
        if (b) {
            return ResponseUtil.success("修改成功");
        } else {
            return ResponseUtil.fail("修改失败");
        }
    }
    @PostMapping("/delete/{id}")
    public ResponseVO<Object> deleteClient(@PathVariable Long id) {
        boolean b = clientService.deleteClient(id);
ximon-admin/src/main/java/com/sandu/ximon/admin/param/ResetClientPasswordPrarm.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.sandu.ximon.admin.param;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
public class ResetClientPasswordPrarm {
    @NotNull
    private Long id;
    @NotEmpty
    private String oldPassword;
    @NotEmpty
    private String newPassword;
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -7,6 +7,7 @@
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.AddClientPrarm;
import com.sandu.ximon.admin.param.ResetClientPasswordPrarm;
import com.sandu.ximon.admin.param.UpdateClientPrarm;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.dao.domain.Client;
@@ -14,6 +15,7 @@
import com.sandu.ximon.dao.domain.Role;
import com.sandu.ximon.dao.mapper.ClientMapper;
import lombok.AllArgsConstructor;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@@ -39,9 +41,9 @@
        if (addClientPrarm.getClientSuperior() != null && !"".equals(addClientPrarm.getClientSuperior())) {
            Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, addClientPrarm.getClientSuperior()));
            if (one != null) {
                if(one.getSuperiorId() == null){
                if (one.getSuperiorId() == null) {
                    client.setSuperiorId(one.getId());
                }else{
                } else {
                    throw new BusinessException("上级客户不能为二级用户");
                }
            } else {
@@ -112,6 +114,25 @@
        return updateById(client);
    }
    public boolean resetPassword(ResetClientPasswordPrarm resetClientPasswordPrarm) {
        Client client = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getId, resetClientPasswordPrarm.getId()));
        if (client == null) {
            throw new BusinessException("该用户不存在!");
        }
        PasswordEncoder pw = new BCryptPasswordEncoder();
        //判断旧密码与数据库是否一致
        if (pw.matches(resetClientPasswordPrarm.getOldPassword(), client.getPassword())) {
            //加密新密码
            String encode = pw.encode(resetClientPasswordPrarm.getNewPassword());
            client.setPassword(encode);
            return updateById(client);
        } else {
            throw new BusinessException("旧密码不正确,请重新确认密码!");
        }
    }
    public boolean deleteClient(Long id) {
        //判断删除用户是否存在
        Client one = getById(id);