package com.nq.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.nq.common.ResponseCode;
|
import com.nq.common.ServerResponse;
|
|
import com.nq.dao.MoneyLogMapper;
|
import com.nq.dao.StockConfigMapper;
|
import com.nq.enums.EConfigKey;
|
import com.nq.pojo.MoneyLog;
|
import com.nq.pojo.SiteSpread;
|
import com.nq.pojo.StockConfig;
|
import com.nq.pojo.User;
|
import com.nq.service.IMoneyLogServces;
|
import com.nq.service.ISiteSpreadService;
|
import com.nq.service.IStockConfigServices;
|
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.utils.translate.GoogleTranslateUtil;
|
import com.nq.vo.user.UserLoginResultVO;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpSession;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.http.util.TextUtils;
|
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;
|
import java.util.List;
|
|
|
@Controller
|
@RequestMapping({"/api/user/"})
|
public class UserApiController {
|
private static final Logger log = LoggerFactory.getLogger(UserApiController.class);
|
|
@Autowired
|
IUserService iUserService;
|
|
@Autowired
|
ISiteSpreadService iSiteSpreadService;
|
|
@Autowired
|
StockConfigMapper stockConfigMapper;
|
|
@Autowired
|
MoneyLogMapper moneyLogMapper;
|
|
@Autowired
|
IStockConfigServices stockConfigServices;
|
|
//注册
|
@RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST})
|
@ResponseBody
|
public ServerResponse reg(@RequestParam("agentCode") String agentCode, @RequestParam("phone") String phone, @RequestParam(value = "yzmCode", defaultValue = "") String yzmCode, @RequestParam("userPwd") String userPwd, HttpServletRequest httpServletRequest) {
|
return this.iUserService.reg(yzmCode, agentCode, phone, userPwd, httpServletRequest);
|
}
|
|
//登录
|
@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);
|
}
|
|
@RequestMapping({"queryStockConfig.do"})
|
@ResponseBody
|
public ServerResponse updateConfig(){
|
StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, EConfigKey.BUY_HANDLING_CHARGE.getCode()));
|
return ServerResponse.createBySuccess(stockConfig);
|
}
|
|
@RequestMapping({"queryStockConfigTwo.do"})
|
@ResponseBody
|
public ServerResponse queryStockConfigTwo(){
|
StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, EConfigKey.EXCHANGE_HANDLING_CHARGE.getCode()));
|
return ServerResponse.createBySuccess(stockConfig);
|
}
|
|
@RequestMapping({"queryAllStockConfig.do"})
|
@ResponseBody
|
public ServerResponse queryAllStockConfig(){
|
return stockConfigServices.queryAll(null);
|
}
|
|
|
@RequestMapping({"moneylogAll.do"})
|
@ResponseBody
|
public ServerResponse taskList(@RequestParam(value = "userId", required = false) String userId,
|
@RequestParam(value = "type", required = false) String type,
|
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
|
@RequestParam(value = "pageSize", defaultValue = "50") int pageSize,
|
HttpServletRequest request) {
|
Page<MoneyLog> page1 = new Page<>(pageNum, pageSize);
|
QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
|
|
if(!TextUtils.isEmpty(userId)){
|
queryWrapper.eq("user_id", userId);
|
} else {
|
User user = iUserService.getCurrentUser(request);
|
if (user == null ){
|
return ServerResponse.createByErrorCodeMsg(ResponseCode.NEED_LOGIN.getCode(),"请先登录", request);
|
}
|
queryWrapper.eq("user_id", user.getId());
|
}
|
if(StringUtils.isNotEmpty(type)){
|
queryWrapper.eq("type",type);
|
}
|
queryWrapper.orderByDesc("create_time");
|
Page<MoneyLog> moneyLogPage = moneyLogMapper.selectPage(page1, queryWrapper);
|
List<MoneyLog> records = moneyLogPage.getRecords();
|
records.forEach(f->{
|
f.setDescs( new GoogleTranslateUtil().translate(f.getDescs(), request.getHeader("lang")));
|
});
|
moneyLogPage.setRecords(records);
|
return ServerResponse.createBySuccess(moneyLogPage);
|
}
|
}
|