1
zj
2024-06-03 09206aedcfdf30050123e99f2af0a192ebad1de4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.nq.controller;
 
 
import com.nq.common.ServerResponse;
 
import com.nq.pojo.SiteSpread;
import com.nq.service.ISiteSpreadService;
import com.nq.service.IUserService;
 
import com.nq.utils.PropertiesUtil;
 
import com.nq.utils.redis.CookieUtils;
 
import com.nq.utils.redis.JsonUtil;
 
import com.nq.utils.redis.RedisConst;
 
import com.nq.utils.redis.RedisShardedPoolUtils;
 
import com.nq.vo.user.UserLoginResultVO;
 
import javax.servlet.http.HttpServletRequest;
 
import javax.servlet.http.HttpServletResponse;
 
import javax.servlet.http.HttpSession;
 
import org.slf4j.Logger;
 
import org.slf4j.LoggerFactory;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import org.springframework.stereotype.Controller;
 
import org.springframework.web.bind.annotation.RequestMapping;
 
import org.springframework.web.bind.annotation.RequestMethod;
 
import org.springframework.web.bind.annotation.RequestParam;
 
import org.springframework.web.bind.annotation.ResponseBody;
 
import java.math.BigDecimal;
 
 
@Controller
@RequestMapping({"/api/user/"})
public class UserApiController {
    private static final Logger log = LoggerFactory.getLogger(UserApiController.class);
 
    @Autowired
    IUserService iUserService;
 
    @Autowired
    ISiteSpreadService iSiteSpreadService;
    //注册
    @RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST})
    @ResponseBody
    public ServerResponse reg(@RequestParam("agentCode") String agentCode,
                              @RequestParam("phone") String phone,
                              @RequestParam("userPwd") String userPwd,
                              @RequestParam("phoneCode")String phoneCode,
                              HttpServletRequest httpServletRequest) {
        return this.iUserService.reg(agentCode, phone,phoneCode, userPwd,httpServletRequest);
    }
 
    @RequestMapping(value = {"sendMailCode.do"}, method = {RequestMethod.POST})
    @ResponseBody
    public ServerResponse sendMailCode(@RequestParam("email") String email) {
        try {
            if (email == null || email.isEmpty()) { // 判断email参数是否为空
                return ServerResponse.createByErrorMsg("邮箱不能为空");
            }
            log.info("-------->发送邮件");
            return this.iUserService.sendMailCode(email);
        } catch (Exception e) {
            e.printStackTrace();
            return ServerResponse.createByErrorMsg("发送失败,发生异常");
        }
    }
 
    @RequestMapping(value = {"sendSms.do"}, method = {RequestMethod.POST})
    @ResponseBody
    public ServerResponse sendSms(@RequestParam("phone") String phone,HttpServletRequest request) {
        try {
            if (phone == null || phone.isEmpty()) {
                return ServerResponse.createByErrorMsg("手机号不能为空",request);
            }
            log.info("-------->发送短信");
            return this.iUserService.sendSms(phone,request);
        } catch (Exception e) {
            e.printStackTrace();
            return ServerResponse.createByErrorMsg("发送失败,发生异常");
        }
    }
 
 
    //登录
    @RequestMapping(value = {"login.do"}, method = {RequestMethod.POST})
    @ResponseBody
    public ServerResponse login(@RequestParam("phone") String phone, @RequestParam("userPwd") String userPwd, HttpSession httpSession, HttpServletRequest request, HttpServletResponse response) {
        String pc_cookie_name = PropertiesUtil.getProperty("user.cookie.name");
        String token = RedisConst.getUserRedisKey(httpSession.getId());
        ServerResponse serverResponse = this.iUserService.login(phone, userPwd, request);
        if (serverResponse.isSuccess()) {
            CookieUtils.writeLoginToken(response, token, pc_cookie_name);
            String redisSetExResult = RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(serverResponse.getData()), 9999);
            log.info("redis setex user result : {}", redisSetExResult);
            UserLoginResultVO resultVO = new UserLoginResultVO();
            resultVO.setKey(pc_cookie_name);
            resultVO.setToken(token);
            return ServerResponse.createBySuccess("登录成功", resultVO);
        }
        return serverResponse;
    }
 
    //注销
    @RequestMapping({"logout.do"})
    @ResponseBody
    public ServerResponse logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
        String cookie_name = PropertiesUtil.getProperty("user.cookie.name");
        String logintoken = CookieUtils.readLoginToken(httpServletRequest, cookie_name);
        RedisShardedPoolUtils.del(logintoken);
        CookieUtils.delLoginToken(httpServletRequest, httpServletResponse, cookie_name);
        return ServerResponse.createBySuccess();
    }
 
    //查询手机号是否存在
    @RequestMapping({"checkPhone.do"})
    @ResponseBody
    public ServerResponse checkPhone(String phoneNum) {
        return this.iUserService.checkPhone(phoneNum);
    }
 
    //找回密码
    @RequestMapping({"updatePwd.do"})
    @ResponseBody
    public ServerResponse updatePwd(String phoneNum, String code, String newPwd) {
        return this.iUserService.updatePwd(phoneNum, code, newPwd);
    }
 
    /**
     * 查询点差费率
     * @author lr
     * @date 2020/07/01
     * applies:涨跌幅
     * turnover:成交额
     * code:股票代码
     * unitprice:股票单价
     **/
    @RequestMapping({"findSpreadRateOne.do"})
    @ResponseBody
    public ServerResponse findSpreadRateOne(BigDecimal applies, BigDecimal turnover, String code, BigDecimal unitprice) {
        SiteSpread siteSpread = this.iSiteSpreadService.findSpreadRateOne(applies,turnover,code,unitprice);
        return ServerResponse.createBySuccess("Success", siteSpread);
    }
 
 
}