继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第14天 封装MIS系统登录接口

胖胖的尼克森
关注TA
已关注
手记 21
粉丝 12
获赞 3

课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节:第三章 使用Vue3.0+SpringBoot实现医护人员管理

课程讲师: 神思者

课程内容:


一、编写业务层代码

com.example.hospital.api.serviceMisUserService接口中,声明抽象方法。

public interface MisUserService {

    public Integer login(Map param);

}


com.example.hospital.api.service.implMisUserServiceImpl类中,实现抽象方法。@Service

public class MisUserServiceImpl implements MisUserService {


    @Resource

    private MisUserDao misUserDao;


    @Override

    public Integer login(Map param) {

        String username = MapUtil.getStr(param, "username");

        String password = MapUtil.getStr(param, "password");

        MD5 md5 = MD5.create();

        String temp = md5.digestHex(username);

        //前六位字符

        String tempStart = StrUtil.subWithLength(temp, 0, 6);

        //后三位字符

        String tempEnd = StrUtil.subSuf(temp, temp.length() - 3);

        //混淆原始密码并哈希加密

        password = md5.digestHex(tempStart + password + tempEnd);

        param.replace("password", password);

        Integer userId = misUserDao.login(param);

        return userId;

    }

}

二、编写Web层代码

com.example.hospital.api.controller.form包创建LoginForm类。

@Data

public class LoginForm {

    @NotBlank(message = "username不能为空")

    @Pattern(regexp = "^[a-zA-Z0-9]{5,50}$", message = "username内容不正确")

    private String username;


    @NotBlank(message = "password不能为空")

    @Pattern(regexp = "^[a-zA-Z0-9]{6,20}$", message = "password内容不正确")

    private String password;

}


com.example.hospital.api.controllerMisUserController中,声明登陆和登出方法。

@RestController

@RequestMapping("/mis_user")

public class MisUserController {

    @Resource

    private MisUserService misUserService;


    @PostMapping("/login")

    public R login(@RequestBody @Valid LoginForm form) {

        Map param = BeanUtil.beanToMap(form);

        Integer userId = misUserService.login(param);

        if (userId != null) {

            StpUtil.login(userId);

            String token = StpUtil.getTokenValue();

            List<String> permissions = StpUtil.getPermissionList();

            return R.ok().put("result", true).put("token", token)

                .put("permissions", permissions);


        }

        return R.ok().put("result", false);


    }


    @GetMapping("/logout")

    @SaCheckLogin

    public R logout() {

        StpUtil.logout();

        return R.ok();

    }

}

三、测试Web方法

在RestKit插件上配置后端Java项目的URL地址,测试Web方法的时候,填写上用户名和密码。

http://img4.mukewang.com/63f40ce80001f33d17260876.jpg



课程收获:通过视频加文档结合的方式,学习了封装MIS系统登录接口,期待后续学习!

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP