Commit 65c751cd authored by m1991's avatar m1991

Merge remote-tracking branch 'origin/master'

parents 59c5aca4 22703e21
......@@ -180,7 +180,16 @@ public interface UsersMapper extends BaseMapper<User> {
/**
* 获取所有的空投用户
* 且注册时间为一月之前
* @return
*/
List<User> getAerialDeliveryUser();
List<User> getAerialDeliveryUserBeforOneMonth(@Param("before") String before,
@Param("now") String now );
/**
* 随机获取一条小于当前id的用户 即: 比当前用户早注册的用户
* @param id
* @return
*/
User randOneGetUserByUserId(Integer id);
}
......@@ -368,13 +368,23 @@
invite_code = #{outerUserId}
</select>
<select id="getAerialDeliveryUser" resultType="cn.wisenergy.model.app.User">
<select id="getAerialDeliveryUserBeforOneMonth" resultType="cn.wisenergy.model.app.User">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
be_invited_code = '1';
be_invited_code = '1'
and DATE_FORMAT(create_time,'%Y-%m-%d')
BETWEEN #{before} AND #{now}
</select>
<select id="randOneGetUserByUserId" resultType="cn.wisenergy.model.app.User" >
SELECT
<include refid="cols_all"/>
FROM <include refid="table"/>
WHERE id &lt; #{id}
ORDER BY RAND() LIMIT 1
</select>
</mapper>
......@@ -16,8 +16,12 @@ public class UserLoginVo {
/**
* 用户手机号码
*/
@ApiModelProperty(value = "",name = "")
@ApiModelProperty(value = "用户手机号码", name = "userId")
private String userId;
/**
* 短信验证码
*/
@ApiModelProperty(value = "短信验证码", name = "sms")
private String sms;
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.vo.UserLoginVo;
import cn.wisenergy.model.vo.UserRegisterVo;
/**
......@@ -14,6 +15,4 @@ public interface LoginService {
* @return true or false
*/
R<Boolean> userRegister(UserRegisterVo userRegisterVo);
R<String> login();
}
package cn.wisenergy.service.app;
public interface UserLevelService {
/**
* 用户升级
* 根据用户的userid进行判断看当前用户是否需要进行升级
* @param userId 用户id
*/
void userLevelUpgrade(String userId);
/**
* 用户升级定时任务
*/
void userLevelUp();
}
......@@ -96,11 +96,4 @@ public interface UserService {
*/
R<Boolean> fillInInviteCode(String userId, String inviteCode);
/**
* 空投池中用户随机分配任意邀请人
* 定时任务(日任务)
* 随机邀请人要求 1:注册时间早于当前用户
* 2;推荐人邀请码不能为1
*/
public void AerialDeliveryUserRand();
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.RedisConsts;
import cn.wisenergy.common.utils.*;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.vo.UserLoginVo;
import cn.wisenergy.model.vo.UserRegisterVo;
import cn.wisenergy.service.Manager.LoginManager;
import cn.wisenergy.service.app.LoginService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
......@@ -48,7 +51,7 @@ public class LoginServiceImpl implements LoginService {
}
//1、检验验证码是否正确
String key = "";
String key = StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX, Constants.RedisKey.SMS_PRIFIX, userVo.getUserId(), 0 + "");
String redisCode = redisUtils.getValue(key);
if (StringUtils.isBlank(redisCode) || !userVo.getSms().equals(redisCode)) {
return R.error("验证码错误!");
......@@ -56,7 +59,7 @@ public class LoginServiceImpl implements LoginService {
//2、检验手机号是否已经被注册
boolean bool = checkPhone(userVo.getUserId());
if (!bool) {
if (bool) {
return R.error("该用户已存在,请直接登录!");
}
......@@ -94,14 +97,10 @@ public class LoginServiceImpl implements LoginService {
return R.ok(1, false);
}
}
redisUtils.delete(key);
return R.ok(0, true);
}
@Override
public R<String> login() {
return null;
}
/**
* 检查用户手机号是否已注册
*
......@@ -111,7 +110,7 @@ public class LoginServiceImpl implements LoginService {
private Boolean checkPhone(String userId) {
//根据userId,获取用户信息
User user = usersMapper.getByUserId(userId);
return null == user;
return null != user;
}
/**
......
......@@ -49,8 +49,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
@Autowired
private OrderMapper orderMapper;
// public void
//获取订单
@XxlJob(value = "userLevelUpjobhandler")
@Override
......@@ -564,13 +562,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
/**
* 培育奖给到上级用户
*
* @param userid 当前用户id
* @param userId 当前用户id
* @param inviteUserId 上级用户id
* @param level 当前用户升级后的等级
*/
public void cultivatingPrizeToInvitedUser(String userid, String inviteUserId, int level) {
public void cultivatingPrizeToInvitedUser(String userId, String inviteUserId, int level) {
//当前用户的培育奖记录
CultivatingPrizeInfo cultivatingPrizeInfo = cultivatingPrizeInfoMapper.getOneByUserId(userid);
CultivatingPrizeInfo cultivatingPrizeInfo = cultivatingPrizeInfoMapper.getOneByUserId(userId);
if (1 == level) {
int seedling = cultivatingPrizeInfo.getSeedling();
//用户等级对应的培育奖金额
......
......@@ -7,10 +7,12 @@ import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.model.vo.AerialDeliveryVo;
import cn.wisenergy.model.vo.UserPoolVo;
import cn.wisenergy.service.Manager.RegistUserMoudleInitManager;
import cn.wisenergy.service.app.UserLevelService;
import cn.wisenergy.service.app.UserService;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.weaver.ast.Var;
......@@ -92,11 +94,8 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Override
public User queryUsersByPhone(String userId) {
Map<String, Object> map = new HashMap<String, Object>();
//查询数据库,看看是否存在该用户
User ByuserId = usersMapper.getByUserId(userId);
return ByuserId;
return usersMapper.getByUserId(userId);
}
@Override
......@@ -323,6 +322,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
/**
* 用户登出
*
* @param token
* @return
*/
......@@ -331,28 +331,9 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
int succ = 0;
String key = RedisKeyUtils.formatKeyWithPrefix(Constants.Redis.PREFIX_TOKEN, token);
redisUtils.delete(key);
if(redisUtils.getValue(key) == null){
if (redisUtils.getValue(key) == null) {
succ = 1;
}
return succ;
}
/**
* 空投池中用户随机分配任意邀请人
* 定时任务(日任务)
* 随机分配条件( 1:当前用户的推荐人邀请码是 “1”
* 2: 且当前用户的注册时间是一个月前)
* 随机邀请人要求 1:注册时间早于当前用户
* 2;推荐人邀请码不能为1
*/
// @XxlJob()
@Override
public void AerialDeliveryUserRand(){
//查询空头池中的所有用户(即推荐人邀请码为 “1” 的用户)
List<User> aerialDeliveryUserList = usersMapper.getAerialDeliveryUser();
for (User user : aerialDeliveryUserList) {
}
}
}
......@@ -2,13 +2,18 @@ package cn.wisenergy.web.admin.controller.app;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import cn.wisenergy.common.constant.RedisConsts;
import cn.wisenergy.common.enums.ResultEnum;
import cn.wisenergy.common.utils.*;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.model.vo.UserLoginVo;
import cn.wisenergy.model.vo.UserRegisterVo;
import cn.wisenergy.service.app.LoginService;
import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.config.JwtConfig;
import cn.wisenergy.web.shiro.JwtUtil;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -19,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
......@@ -56,6 +62,15 @@ public class LoginController {
@Autowired
private LoginService loginService;
@Autowired
private UsersMapper usersMapper;
@Autowired
private JwtUtil jwtUtil;
@Autowired
private RedisTemplate<String, Object> redisTemplate;
/**
* 手机登录接口
*
......@@ -235,4 +250,42 @@ public class LoginController {
return loginService.userRegister(userVo);
}
@ApiOperation(value = "用户登录-返回token", notes = "用户登录-返回token", httpMethod = "POST")
@ApiImplicitParam(name = "userVo", value = "用户登录信息", dataType = "UserLoginVo")
@PostMapping("/userLogin")
public R<String> userLogin(@RequestBody UserLoginVo userVo) {
log.info("shop-mall[]LoginController[]userLogin[]input.param.userVo:" + userVo);
if (null == userVo || StringUtils.isBlank(userVo.getUserId()) || StringUtils.isBlank(userVo.getSms())) {
return R.error("入参不能为空!");
}
//判断phone是否符合输入类型
if (!userVo.getUserId().matches(Constants.RegConstant.PHONE_REGSTR)) {
return R.error("手机号码格式不正确!");
}
//1、检验验证码是否正确
String key = StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX, Constants.RedisKey.SMS_PRIFIX,
userVo.getUserId(), Constants.Sms.CodeType.LOGIN_OR_REGISTER + "");
String redisCode = redisUtils.getValue(key);
if (StringUtils.isBlank(redisCode) || !userVo.getSms().equals(redisCode)) {
return R.error("验证码错误!");
}
//2、检验用户手机号是否存在
User user = usersMapper.getByUserId(userVo.getUserId());
if (null == user || StringUtils.isBlank(user.getUserId())) {
return R.error("账户不存在,请注册!");
}
//3、获取token
// 创建token
String token = jwtUtil.generateToken(user);
// 保存Redis
redisTemplate.opsForValue().set(RedisConsts.JWT_ACCESS_TOKEN + token, token);
return R.ok(token);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment