Blame view

src/main/java/com/huaheng/framework/token/TokenController.java 2.79 KB
mahuandong authored
1
2
3
4
5
package com.huaheng.framework.token;

import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.shiro.service.PasswordService;
import com.huaheng.framework.web.controller.BaseController;
游杰 authored
6
import com.huaheng.framework.web.domain.AjaxResult;
mahuandong authored
7
8
9
import com.huaheng.framework.web.domain.Result;
import com.huaheng.pc.system.user.domain.User;
import com.huaheng.pc.system.user.service.IUserService;
游杰 authored
10
11
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
mahuandong authored
12
13
14

import javax.annotation.Resource;
import java.util.Calendar;
游杰 authored
15
import java.util.Map;
mahuandong authored
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

/**
 * Created by Enzo Cotter on 2020/6/11.
 */
@RestController
@RequestMapping("/api")
public class TokenController extends BaseController {

    @Resource
    private TokenService tokenService;
    @Resource
    private IUserService userService;
    @Resource
    private PasswordService passwordService;

    @PostMapping("/getToken")
    @ResponseBody
    public Result getToken(String username, String password, String warehouseCode) {
        if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
            return Result.error("用户名和密码不能为空");
        }
        if (StringUtils.isEmpty(warehouseCode)) {
            return Result.error("请选择仓库");
        }
        User user = userService.selectUserByLoginName(username);

        if (!userService.checkWarehouseCodeAndUserName(warehouseCode, username)) {
            return Result.error("用户没有该仓库操作权限");
        }
        if (user.getPassword().equals(passwordService.encryptPassword(user.getLoginName(), password, user.getSalt()))) {
            String token = tokenService.createToken(user);
            Result ajaxResult = Result.success("成功");
            ajaxResult.put("token", token);
            ajaxResult.put("expireTime", Calendar.getInstance().getTime());
            return ajaxResult;
        } else {
            return Result.error("密码错误");
        }

    }
游杰 authored
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

    @PostMapping("/getTokenForMobile")
    @ResponseBody
    public AjaxResult getTokenForMobile(@RequestBody @ApiParam(value="code和password的Map集合") Map<String, String> param) {
        String userName = param.get("userName");
        String password = param.get("password");
        if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)) {
            return AjaxResult.error("用户名和密码不能为空");
        }
        User user = userService.selectUserByLoginName(userName);

        if (user.getPassword().equals(passwordService.encryptPassword(user.getLoginName(), password, user.getSalt()))) {
            String token = tokenService.createTokenForMobile(user);
            return AjaxResult.success("获取token成功").setData(token);
        } else {
            return AjaxResult.error("密码错误");
        }

    }
mahuandong authored
75
}