首绑支付宝发放现金红包奖励

This commit is contained in:
谭凯凯
2024-12-20 14:02:50 +08:00
committed by Tankaikai
parent 8123d0223e
commit 0584ef6566
5 changed files with 270 additions and 189 deletions

View File

@@ -1,9 +1,9 @@
package com.sqx.modules.app.controller.app; package com.sqx.modules.app.controller.app;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sqx.common.annotation.Debounce;
import com.sqx.common.utils.ApiAccessLimitUtil; import com.sqx.common.utils.ApiAccessLimitUtil;
import com.sqx.common.utils.Result; import com.sqx.common.utils.Result;
import com.sqx.modules.app.annotation.Login; import com.sqx.modules.app.annotation.Login;
@@ -11,7 +11,6 @@ import com.sqx.modules.app.annotation.LoginUser;
import com.sqx.modules.app.entity.UserEntity; import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.service.AppService; import com.sqx.modules.app.service.AppService;
import com.sqx.modules.app.service.UserService; import com.sqx.modules.app.service.UserService;
import com.sqx.modules.message.entity.MessageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
@@ -76,7 +75,7 @@ public class AppController {
@ResponseBody @ResponseBody
public Result updateUserImageUrl(@RequestAttribute("userId") Long userId, String zhiFuBao, String zhiFuBaoName) { public Result updateUserImageUrl(@RequestAttribute("userId") Long userId, String zhiFuBao, String zhiFuBaoName) {
int count = userService.count(new QueryWrapper<UserEntity>() int count = userService.count(new QueryWrapper<UserEntity>()
.ne( "user_id", userId) .ne("user_id", userId)
.eq("zhi_fu_bao_name", zhiFuBaoName) .eq("zhi_fu_bao_name", zhiFuBaoName)
.eq("zhi_fu_bao", zhiFuBao)); .eq("zhi_fu_bao", zhiFuBao));
@@ -86,11 +85,23 @@ public class AppController {
if (!ApiAccessLimitUtil.isAccessAllowed(userId.toString(), "updateZFB", 3, "month")) { if (!ApiAccessLimitUtil.isAccessAllowed(userId.toString(), "updateZFB", 3, "month")) {
return Result.error("每月仅支持修改三次,请联系管理员"); return Result.error("每月仅支持修改三次,请联系管理员");
} }
UserEntity old = userService.getById(userId);
String accountNo = old.getZhiFuBao();
String accountName = old.getZhiFuBaoName();
boolean isFirstBind = false;
if (StrUtil.isEmpty(accountNo) && StrUtil.isEmpty(accountName)) {
isFirstBind = true;
}
UserEntity userEntity = new UserEntity(); UserEntity userEntity = new UserEntity();
userEntity.setZhiFuBao(zhiFuBao); userEntity.setZhiFuBao(zhiFuBao);
userEntity.setZhiFuBaoName(zhiFuBaoName); userEntity.setZhiFuBaoName(zhiFuBaoName);
userEntity.setUserId(userId); userEntity.setUserId(userId);
userService.updateById(userEntity); old.setZhiFuBao(userEntity.getZhiFuBao());
old.setZhiFuBaoName(userEntity.getZhiFuBaoName());
boolean bool = userService.updateById(userEntity);
if (bool && isFirstBind) {
userService.firstBindAwardsMoney(old);
}
return Result.success(); return Result.success();
} }

View File

@@ -227,4 +227,6 @@ public interface UserService extends IService<UserEntity> {
int updateUserClientIdIsNull(String clientid); int updateUserClientIdIsNull(String clientid);
void firstBindAwardsMoney(UserEntity entity);
} }

View File

@@ -1,6 +1,9 @@
package com.sqx.modules.app.service.impl; package com.sqx.modules.app.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -42,6 +45,7 @@ import com.sqx.modules.app.utils.JwtUtils;
import com.sqx.modules.app.utils.UserConstantInterface; import com.sqx.modules.app.utils.UserConstantInterface;
import com.sqx.modules.common.entity.CommonInfo; import com.sqx.modules.common.entity.CommonInfo;
import com.sqx.modules.common.service.CommonInfoService; import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.discSpinning.service.DiscSpinningService;
import com.sqx.modules.file.utils.Md5Utils; import com.sqx.modules.file.utils.Md5Utils;
import com.sqx.modules.invite.service.InviteService; import com.sqx.modules.invite.service.InviteService;
import com.sqx.modules.message.entity.MessageInfo; import com.sqx.modules.message.entity.MessageInfo;
@@ -61,13 +65,17 @@ import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import weixin.popular.api.SnsAPI; import weixin.popular.api.SnsAPI;
import weixin.popular.util.JsonUtil; import weixin.popular.util.JsonUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
/** /**
@@ -98,58 +106,62 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
private UserVipService userVipService; private UserVipService userVipService;
@Autowired @Autowired
private MessageService messageService; private MessageService messageService;
private ReentrantReadWriteLock reentrantReadWriteLock=new ReentrantReadWriteLock(true); @Autowired
private CommonInfoService commonRepository;
@Autowired
private DiscSpinningService discSpinningService;
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
@Override @Override
public Result authenticationRegister(JSONObject jsonObject, HttpServletRequest request){ public Result authenticationRegister(JSONObject jsonObject, HttpServletRequest request) {
reentrantReadWriteLock.writeLock().lock(); reentrantReadWriteLock.writeLock().lock();
try { try {
String apiKey = request.getHeader("apiKey"); String apiKey = request.getHeader("apiKey");
if(StringUtils.isEmpty(apiKey)){ if (StringUtils.isEmpty(apiKey)) {
return Result.error("请求错误,请检查参数后重试!"); return Result.error("请求错误,请检查参数后重试!");
}else if(StringUtils.isNotEmpty(apiKey)){ } else if (StringUtils.isNotEmpty(apiKey)) {
String value = commonInfoService.findOne(861).getValue(); String value = commonInfoService.findOne(861).getValue();
if(!apiKey.equals(value)){ if (!apiKey.equals(value)) {
return Result.error("请求错误,请检查参数后重试!"); return Result.error("请求错误,请检查参数后重试!");
} }
} }
String phone = jsonObject.getString("phone"); String phone = jsonObject.getString("phone");
if(StringUtils.isEmpty(phone)){ if (StringUtils.isEmpty(phone)) {
return Result.error("phone参数不能为空"); return Result.error("phone参数不能为空");
} }
String money = jsonObject.getString("money"); String money = jsonObject.getString("money");
if(StringUtils.isEmpty(money)){ if (StringUtils.isEmpty(money)) {
return Result.error("money参数不能为空"); return Result.error("money参数不能为空");
} }
String idempotentId = jsonObject.getString("idempotentId"); String idempotentId = jsonObject.getString("idempotentId");
if(StringUtils.isEmpty(idempotentId)){ if (StringUtils.isEmpty(idempotentId)) {
return Result.error("idempotentId参数不能为空"); return Result.error("idempotentId参数不能为空");
} }
String sign = jsonObject.getString("sign"); String sign = jsonObject.getString("sign");
if(StringUtils.isEmpty(sign)){ if (StringUtils.isEmpty(sign)) {
return Result.error("sign参数不能为空"); return Result.error("sign参数不能为空");
} }
String apiSecret = commonInfoService.findOne(862).getValue(); String apiSecret = commonInfoService.findOne(862).getValue();
String signs = MD5Util.md5Encrypt32Upper(phone+money+apiSecret); String signs = MD5Util.md5Encrypt32Upper(phone + money + apiSecret);
if(!signs.equals(sign)){ if (!signs.equals(sign)) {
return Result.error("sign参数错误"); return Result.error("sign参数错误");
} }
MessageInfo messageInfo = messageService.getOne(new QueryWrapper<MessageInfo>().eq("state", 10).eq("platform", idempotentId)); MessageInfo messageInfo = messageService.getOne(new QueryWrapper<MessageInfo>().eq("state", 10).eq("platform", idempotentId));
if(messageInfo!=null){ if (messageInfo != null) {
//请求已经处理过了 //请求已经处理过了
Map<String,String> result=new HashMap<>(); Map<String, String> result = new HashMap<>();
result.put("phone",messageInfo.getTitle()); result.put("phone", messageInfo.getTitle());
result.put("userType",messageInfo.getContent()); result.put("userType", messageInfo.getContent());
return Result.success().put("data",result); return Result.success().put("data", result);
} }
messageInfo=new MessageInfo(); messageInfo = new MessageInfo();
messageInfo.setState("10"); messageInfo.setState("10");
messageInfo.setPlatform(idempotentId); messageInfo.setPlatform(idempotentId);
messageInfo.setTitle(phone); messageInfo.setTitle(phone);
UserEntity userEntity = queryByPhone(phone); UserEntity userEntity = queryByPhone(phone);
if(userEntity!=null){ if (userEntity != null) {
//老用户 //老用户
userMoneyService.updateMoney(1, userEntity.getUserId(),Double.parseDouble(money)); userMoneyService.updateMoney(1, userEntity.getUserId(), Double.parseDouble(money));
//inviteMoneyDao.updateInviteMoneySum(money,userId); //inviteMoneyDao.updateInviteMoneySum(money,userId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
@@ -165,9 +177,9 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
messageInfo.setContent("2"); messageInfo.setContent("2");
}else{ } else {
//新用户 //新用户
userEntity=new UserEntity(); userEntity = new UserEntity();
userEntity.setPhone(phone); userEntity.setPhone(phone);
userEntity.setUserName(userEntity.getPhone().replaceAll("(\\d{3})\\d*([0-9a-zA-Z]{4})", "$1****$2")); userEntity.setUserName(userEntity.getPhone().replaceAll("(\\d{3})\\d*([0-9a-zA-Z]{4})", "$1****$2"));
userEntity.setPassword(DigestUtils.sha256Hex(userEntity.getPhone())); userEntity.setPassword(DigestUtils.sha256Hex(userEntity.getPhone()));
@@ -179,7 +191,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
baseMapper.updateById(userEntity); baseMapper.updateById(userEntity);
//赠送金币 //赠送金币
userMoneyService.updateMoney(1, userEntity.getUserId(),Double.parseDouble(money)); userMoneyService.updateMoney(1, userEntity.getUserId(), Double.parseDouble(money));
//inviteMoneyDao.updateInviteMoneySum(money,userId); //inviteMoneyDao.updateInviteMoneySum(money,userId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
@@ -195,40 +207,39 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
//发送短信 //发送短信
sendMsg(phone,"newUser",phone); sendMsg(phone, "newUser", phone);
messageInfo.setContent("1"); messageInfo.setContent("1");
} }
messageService.save(messageInfo); messageService.save(messageInfo);
Map<String,String> result=new HashMap<>(); Map<String, String> result = new HashMap<>();
result.put("phone",messageInfo.getTitle()); result.put("phone", messageInfo.getTitle());
result.put("userType",messageInfo.getContent()); result.put("userType", messageInfo.getContent());
return Result.success().put("data",result); return Result.success().put("data", result);
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.error("认证注册用户出错:"+e.getMessage(),e); log.error("认证注册用户出错:" + e.getMessage(), e);
}finally { } finally {
reentrantReadWriteLock.writeLock().unlock(); reentrantReadWriteLock.writeLock().unlock();
} }
return Result.error("系统繁忙,请稍后再试!"); return Result.error("系统繁忙,请稍后再试!");
} }
@Override @Override
public Result getNewUserRed(Long userId){ public Result getNewUserRed(Long userId) {
reentrantReadWriteLock.writeLock().lock(); reentrantReadWriteLock.writeLock().lock();
try { try {
UserEntity userEntity = baseMapper.selectById(userId); UserEntity userEntity = baseMapper.selectById(userId);
if(userEntity.getIsNewUser()!=null && userEntity.getIsNewUser()==1){ if (userEntity.getIsNewUser() != null && userEntity.getIsNewUser() == 1) {
return Result.error("您已经领取过了!"); return Result.error("您已经领取过了!");
} }
userEntity.setIsNewUser(1); userEntity.setIsNewUser(1);
baseMapper.updateById(userEntity); baseMapper.updateById(userEntity);
String value = commonInfoService.findOne(837).getValue(); String value = commonInfoService.findOne(837).getValue();
if(StringUtils.isNotEmpty(value)){ if (StringUtils.isNotEmpty(value)) {
BigDecimal money = new BigDecimal(value); BigDecimal money = new BigDecimal(value);
userMoneyService.updateMoney(1,userId,money.doubleValue()); userMoneyService.updateMoney(1, userId, money.doubleValue());
UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(userId); userMoneyDetails.setUserId(userId);
userMoneyDetails.setTitle("[新用户红包]"); userMoneyDetails.setTitle("[新用户红包]");
userMoneyDetails.setContent("增加金币:" + money); userMoneyDetails.setContent("增加金币:" + money);
@@ -241,10 +252,10 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
} }
return Result.success(); return Result.success();
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.error("新用户领取红包出错:"+e.getMessage(),e); log.error("新用户领取红包出错:" + e.getMessage(), e);
}finally { } finally {
reentrantReadWriteLock.writeLock().unlock(); reentrantReadWriteLock.writeLock().unlock();
} }
return Result.error("系统繁忙,请稍后再试!"); return Result.error("系统繁忙,请稍后再试!");
@@ -293,7 +304,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public UserEntity queryByInvitationCode(String invitationCode){ public UserEntity queryByInvitationCode(String invitationCode) {
return baseMapper.selectOne(new QueryWrapper<UserEntity>().eq("invitation_code", invitationCode)); return baseMapper.selectOne(new QueryWrapper<UserEntity>().eq("invitation_code", invitationCode));
} }
@@ -370,13 +381,13 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
map.put("unionid", "-1"); map.put("unionid", "-1");
} }
String value = commonInfoService.findOne(237).getValue(); String value = commonInfoService.findOne(237).getValue();
if("".equals(value)){ if ("".equals(value)) {
if (userEntity == null || StringUtils.isEmpty(userEntity.getPhone())) { if (userEntity == null || StringUtils.isEmpty(userEntity.getPhone())) {
map.put("flag", "1"); map.put("flag", "1");
} else { } else {
map.put("flag", "2"); map.put("flag", "2");
} }
}else{ } else {
map.put("flag", "2"); map.put("flag", "2");
} }
return Result.success("登陆成功").put("data", map); return Result.success("登陆成功").put("data", map);
@@ -417,7 +428,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} else { } else {
//判断是否在app登陆过 手机号是否有账号 //判断是否在app登陆过 手机号是否有账号
UserEntity userByMobile = null; UserEntity userByMobile = null;
if(StringUtils.isNotEmpty(userInfo1.getPhone())){ if (StringUtils.isNotEmpty(userInfo1.getPhone())) {
userByMobile = queryByPhone(userInfo1.getPhone()); userByMobile = queryByPhone(userInfo1.getPhone());
} }
if (userByMobile != null) { if (userByMobile != null) {
@@ -428,11 +439,11 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
return Result.error("账号已被封禁,请联系客服处理!"); return Result.error("账号已被封禁,请联系客服处理!");
} }
} else { } else {
if(StringUtils.isEmpty(userInfo1.getInviterCode())){ if (StringUtils.isEmpty(userInfo1.getInviterCode())) {
userInfo1.setInviterCode(commonInfoService.findOne(88).getValue()); userInfo1.setInviterCode(commonInfoService.findOne(88).getValue());
} }
UserEntity userEntity = queryByInvitationCode(userInfo1.getInviterCode()); UserEntity userEntity = queryByInvitationCode(userInfo1.getInviterCode());
if(userEntity!=null && StringUtils.isEmpty(userInfo1.getQdCode())){ if (userEntity != null && StringUtils.isEmpty(userInfo1.getQdCode())) {
userInfo1.setQdCode(userEntity.getQdCode()); userInfo1.setQdCode(userEntity.getQdCode());
} }
//没有则生成新账号 //没有则生成新账号
@@ -445,8 +456,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
baseMapper.insert(userInfo1); baseMapper.insert(userInfo1);
userInfo1.setInvitationCode(InvitationCodeUtil.toSerialCode(userInfo1.getUserId())); userInfo1.setInvitationCode(InvitationCodeUtil.toSerialCode(userInfo1.getUserId()));
baseMapper.updateById(userInfo1); baseMapper.updateById(userInfo1);
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo1.getUserId(),userEntity); inviteService.saveBody(userInfo1.getUserId(), userEntity);
} }
// userMoneyService.selectUserMoneyByUserId(userInfo1.getUserId()); // userMoneyService.selectUserMoneyByUserId(userInfo1.getUserId());
} }
@@ -458,7 +469,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override @Override
public Result wxBindMobile(String phone, String code, String wxOpenId, String token, String platform, Integer sysPhone,String inviterCode,String qdCode) { public Result wxBindMobile(String phone, String code, String wxOpenId, String token, String platform, Integer sysPhone, String inviterCode, String qdCode) {
Msg byPhoneAndCode = msgDao.findByPhoneAndCode(phone, code); Msg byPhoneAndCode = msgDao.findByPhoneAndCode(phone, code);
if (byPhoneAndCode == null) { if (byPhoneAndCode == null) {
return Result.error("验证码错误"); return Result.error("验证码错误");
@@ -489,11 +500,11 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
//小程序没有登陆过 //小程序没有登陆过
userInfo = new UserEntity(); userInfo = new UserEntity();
userInfo.setQdCode(qdCode); userInfo.setQdCode(qdCode);
if(StringUtils.isEmpty(inviterCode)){ if (StringUtils.isEmpty(inviterCode)) {
inviterCode=commonInfoService.findOne(88).getValue(); inviterCode = commonInfoService.findOne(88).getValue();
} }
UserEntity userEntity = queryByInvitationCode(inviterCode); UserEntity userEntity = queryByInvitationCode(inviterCode);
if(userEntity!=null && StringUtils.isEmpty(userInfo.getQdCode())){ if (userEntity != null && StringUtils.isEmpty(userInfo.getQdCode())) {
userInfo.setQdCode(userEntity.getQdCode()); userInfo.setQdCode(userEntity.getQdCode());
} }
userInfo.setInviterCode(inviterCode); userInfo.setInviterCode(inviterCode);
@@ -518,8 +529,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userInfo.setRate(new BigDecimal(commonInfoService.findOne(420).getValue())); userInfo.setRate(new BigDecimal(commonInfoService.findOne(420).getValue()));
userInfo.setTwoRate(new BigDecimal(commonInfoService.findOne(421).getValue())); userInfo.setTwoRate(new BigDecimal(commonInfoService.findOne(421).getValue()));
baseMapper.insert(userInfo); baseMapper.insert(userInfo);
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo.getUserId(),userEntity); inviteService.saveBody(userInfo.getUserId(), userEntity);
} }
} }
UserEntity userEntity = queryByWxOpenId(userInfo.getWxOpenId()); UserEntity userEntity = queryByWxOpenId(userInfo.getWxOpenId());
@@ -527,7 +538,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public Result iosBindMobile(String phone, String code, String appleId, String platform, Integer sysPhone,String inviterCode,String qdCode) { public Result iosBindMobile(String phone, String code, String appleId, String platform, Integer sysPhone, String inviterCode, String qdCode) {
Msg byPhoneAndCode = msgDao.findByPhoneAndCode(phone, code); Msg byPhoneAndCode = msgDao.findByPhoneAndCode(phone, code);
if (byPhoneAndCode == null) { if (byPhoneAndCode == null) {
return Result.error("验证码错误"); return Result.error("验证码错误");
@@ -546,11 +557,11 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} else { } else {
userInfo = new UserEntity(); userInfo = new UserEntity();
userInfo.setQdCode(qdCode); userInfo.setQdCode(qdCode);
if(StringUtils.isEmpty(inviterCode)){ if (StringUtils.isEmpty(inviterCode)) {
inviterCode=commonInfoService.findOne(88).getValue(); inviterCode = commonInfoService.findOne(88).getValue();
} }
UserEntity userEntity = queryByInvitationCode(inviterCode); UserEntity userEntity = queryByInvitationCode(inviterCode);
if(userEntity!=null && StringUtils.isEmpty(userInfo.getQdCode())){ if (userEntity != null && StringUtils.isEmpty(userInfo.getQdCode())) {
userInfo.setQdCode(userEntity.getQdCode()); userInfo.setQdCode(userEntity.getQdCode());
} }
userInfo.setAppleId(appleId); userInfo.setAppleId(appleId);
@@ -566,8 +577,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userInfo.setRate(new BigDecimal(commonInfoService.findOne(420).getValue())); userInfo.setRate(new BigDecimal(commonInfoService.findOne(420).getValue()));
userInfo.setTwoRate(new BigDecimal(commonInfoService.findOne(421).getValue())); userInfo.setTwoRate(new BigDecimal(commonInfoService.findOne(421).getValue()));
baseMapper.insert(userInfo); baseMapper.insert(userInfo);
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo.getUserId(),userEntity); inviteService.saveBody(userInfo.getUserId(), userEntity);
} }
} }
UserEntity userEntity = queryByAppleId(userInfo.getAppleId()); UserEntity userEntity = queryByAppleId(userInfo.getAppleId());
@@ -576,31 +587,31 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override @Override
public Result phoneLogin(String phone){ public Result phoneLogin(String phone) {
UserEntity userInfo = queryByPhone(phone); UserEntity userInfo = queryByPhone(phone);
if(userInfo!=null){ if (userInfo != null) {
if(userInfo.getStatus().equals(2)){ if (userInfo.getStatus().equals(2)) {
return Result.error(500,"账号已被禁用,请联系客服处理!"); return Result.error(500, "账号已被禁用,请联系客服处理!");
} }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
userInfo.setUpdateTime(sdf.format(new Date())); userInfo.setUpdateTime(sdf.format(new Date()));
baseMapper.updateById(userInfo); baseMapper.updateById(userInfo);
return getResult(userInfo); return getResult(userInfo);
}else{ } else {
return Result.error(201,"请绑定密码!"); return Result.error(201, "请绑定密码!");
} }
} }
@Override @Override
public Result bindMobile(String phone,String platform, Integer sysPhone,String inviterCode,String qdCode) { public Result bindMobile(String phone, String platform, Integer sysPhone, String inviterCode, String qdCode) {
UserEntity userInfo = new UserEntity(); UserEntity userInfo = new UserEntity();
userInfo.setQdCode(qdCode); userInfo.setQdCode(qdCode);
if(StringUtils.isEmpty(inviterCode)){ if (StringUtils.isEmpty(inviterCode)) {
inviterCode=commonInfoService.findOne(88).getValue(); inviterCode = commonInfoService.findOne(88).getValue();
} }
UserEntity userEntity = queryByInvitationCode(inviterCode); UserEntity userEntity = queryByInvitationCode(inviterCode);
if(userEntity!=null && StringUtils.isEmpty(userInfo.getQdCode())){ if (userEntity != null && StringUtils.isEmpty(userInfo.getQdCode())) {
userInfo.setQdCode(userEntity.getQdCode()); userInfo.setQdCode(userEntity.getQdCode());
} }
userInfo.setInviterCode(inviterCode); userInfo.setInviterCode(inviterCode);
@@ -615,15 +626,13 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userInfo.setRate(new BigDecimal(commonInfoService.findOne(420).getValue())); userInfo.setRate(new BigDecimal(commonInfoService.findOne(420).getValue()));
userInfo.setTwoRate(new BigDecimal(commonInfoService.findOne(421).getValue())); userInfo.setTwoRate(new BigDecimal(commonInfoService.findOne(421).getValue()));
baseMapper.insert(userInfo); baseMapper.insert(userInfo);
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo.getUserId(),userEntity); inviteService.saveBody(userInfo.getUserId(), userEntity);
} }
return getResult(userInfo); return getResult(userInfo);
} }
@Override @Override
public Result wxAppLogin(String wxOpenId, String token) { public Result wxAppLogin(String wxOpenId, String token) {
UserEntity userEntity = queryByWxOpenId(wxOpenId); UserEntity userEntity = queryByWxOpenId(wxOpenId);
@@ -652,7 +661,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public Result dyLogin(String code,String anonymous_code) { public Result dyLogin(String code, String anonymous_code) {
String appid = commonInfoService.findOne(805).getValue(); String appid = commonInfoService.findOne(805).getValue();
String secret = commonInfoService.findOne(806).getValue(); String secret = commonInfoService.findOne(806).getValue();
// 配置请求参数 // 配置请求参数
@@ -666,26 +675,26 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
log.info(wxResult); log.info(wxResult);
JSONObject jsonObject = JSONObject.parseObject(wxResult); JSONObject jsonObject = JSONObject.parseObject(wxResult);
String err_no = jsonObject.getString("err_no"); String err_no = jsonObject.getString("err_no");
if(!"0".equals(err_no)){ if (!"0".equals(err_no)) {
return Result.error(jsonObject.getString("err_tips")); return Result.error(jsonObject.getString("err_tips"));
} }
JSONObject data = jsonObject.getJSONObject("data"); JSONObject data = jsonObject.getJSONObject("data");
String openid = data.getString("openid"); String openid = data.getString("openid");
if(StringUtils.isEmpty(openid)) { if (StringUtils.isEmpty(openid)) {
openid = data.getString("anonymous_openid"); openid = data.getString("anonymous_openid");
} }
UserEntity userEntity = queryByDyOpenId(openid); UserEntity userEntity = queryByDyOpenId(openid);
Map<String,String> resultMap=new HashMap<>(); Map<String, String> resultMap = new HashMap<>();
resultMap.put("dyOpenId",openid); resultMap.put("dyOpenId", openid);
String value = commonInfoService.findOne(814).getValue(); String value = commonInfoService.findOne(814).getValue();
if("".equals(value)){ if ("".equals(value)) {
if (userEntity == null || StringUtils.isEmpty(userEntity.getPhone())) { if (userEntity == null || StringUtils.isEmpty(userEntity.getPhone())) {
resultMap.put("flag", "1"); resultMap.put("flag", "1");
} else { } else {
resultMap.put("flag", "2"); resultMap.put("flag", "2");
} }
}else{ } else {
resultMap.put("flag", "2"); resultMap.put("flag", "2");
} }
return Result.success("登陆成功").put("data", resultMap); return Result.success("登陆成功").put("data", resultMap);
@@ -709,7 +718,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} else { } else {
//判断是否在app登陆过 手机号是否有账号 //判断是否在app登陆过 手机号是否有账号
UserEntity userByMobile = null; UserEntity userByMobile = null;
if(StringUtils.isNotEmpty(userInfo1.getPhone())){ if (StringUtils.isNotEmpty(userInfo1.getPhone())) {
userByMobile = queryByPhone(userInfo1.getPhone()); userByMobile = queryByPhone(userInfo1.getPhone());
} }
if (userByMobile != null) { if (userByMobile != null) {
@@ -720,7 +729,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
return Result.error("账号已被封禁,请联系客服处理!"); return Result.error("账号已被封禁,请联系客服处理!");
} }
} else { } else {
if(StringUtils.isEmpty(userInfo1.getInviterCode())){ if (StringUtils.isEmpty(userInfo1.getInviterCode())) {
userInfo1.setInviterCode(commonInfoService.findOne(88).getValue()); userInfo1.setInviterCode(commonInfoService.findOne(88).getValue());
} }
UserEntity userEntity = queryByInvitationCode(userInfo1.getInviterCode()); UserEntity userEntity = queryByInvitationCode(userInfo1.getInviterCode());
@@ -728,7 +737,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userInfo1.setCreateTime(date); userInfo1.setCreateTime(date);
userInfo1.setPlatform("抖音"); userInfo1.setPlatform("抖音");
userInfo1.setStatus(1); userInfo1.setStatus(1);
if(StringUtils.isNotEmpty(userInfo1.getPhone())){ if (StringUtils.isNotEmpty(userInfo1.getPhone())) {
userInfo1.setPassword(DigestUtils.sha256Hex(userInfo1.getPhone())); userInfo1.setPassword(DigestUtils.sha256Hex(userInfo1.getPhone()));
} }
userInfo1.setRate(new BigDecimal(commonInfoService.findOne(420).getValue())); userInfo1.setRate(new BigDecimal(commonInfoService.findOne(420).getValue()));
@@ -736,8 +745,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
baseMapper.insert(userInfo1); baseMapper.insert(userInfo1);
userInfo1.setInvitationCode(InvitationCodeUtil.toSerialCode(userInfo1.getUserId())); userInfo1.setInvitationCode(InvitationCodeUtil.toSerialCode(userInfo1.getUserId()));
baseMapper.updateById(userInfo1); baseMapper.updateById(userInfo1);
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo1.getUserId(),userEntity); inviteService.saveBody(userInfo1.getUserId(), userEntity);
} }
// userMoneyService.selectUserMoneyByUserId(userInfo1.getUserId()); // userMoneyService.selectUserMoneyByUserId(userInfo1.getUserId());
} }
@@ -753,7 +762,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
String appid = commonInfoService.findOne(828).getValue(); String appid = commonInfoService.findOne(828).getValue();
String secret = commonInfoService.findOne(829).getValue(); String secret = commonInfoService.findOne(829).getValue();
// 配置请求参数 // 配置请求参数
HashMap<String,String> param = new HashMap<>(); HashMap<String, String> param = new HashMap<>();
param.put("app_id", appid); param.put("app_id", appid);
param.put("app_secret", secret); param.put("app_secret", secret);
param.put("js_code", code); param.put("js_code", code);
@@ -762,7 +771,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
log.info(ksResult); log.info(ksResult);
JSONObject jsonObject = JSONObject.parseObject(ksResult); JSONObject jsonObject = JSONObject.parseObject(ksResult);
String result = jsonObject.getString("result"); String result = jsonObject.getString("result");
if(!"1".equals(result)){ if (!"1".equals(result)) {
return Result.error("登录失败!"); return Result.error("登录失败!");
} }
@@ -770,17 +779,17 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
String openid = jsonObject.getString("open_id"); String openid = jsonObject.getString("open_id");
UserEntity userEntity = queryByDyOpenId(openid); UserEntity userEntity = queryByDyOpenId(openid);
Map<String,String> resultMap=new HashMap<>(); Map<String, String> resultMap = new HashMap<>();
resultMap.put("ksOpenId",openid); resultMap.put("ksOpenId", openid);
resultMap.put("session_key",session_key); resultMap.put("session_key", session_key);
String value = commonInfoService.findOne(830).getValue(); String value = commonInfoService.findOne(830).getValue();
if("".equals(value)){ if ("".equals(value)) {
if (userEntity == null || StringUtils.isEmpty(userEntity.getPhone())) { if (userEntity == null || StringUtils.isEmpty(userEntity.getPhone())) {
resultMap.put("flag", "1"); resultMap.put("flag", "1");
} else { } else {
resultMap.put("flag", "2"); resultMap.put("flag", "2");
} }
}else{ } else {
resultMap.put("flag", "2"); resultMap.put("flag", "2");
} }
return Result.success("登陆成功").put("data", resultMap); return Result.success("登陆成功").put("data", resultMap);
@@ -804,7 +813,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} else { } else {
//判断是否在app登陆过 手机号是否有账号 //判断是否在app登陆过 手机号是否有账号
UserEntity userByMobile = null; UserEntity userByMobile = null;
if(StringUtils.isNotEmpty(userInfo1.getPhone())){ if (StringUtils.isNotEmpty(userInfo1.getPhone())) {
userByMobile = queryByPhone(userInfo1.getPhone()); userByMobile = queryByPhone(userInfo1.getPhone());
} }
if (userByMobile != null) { if (userByMobile != null) {
@@ -815,7 +824,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
return Result.error("账号已被封禁,请联系客服处理!"); return Result.error("账号已被封禁,请联系客服处理!");
} }
} else { } else {
if(StringUtils.isEmpty(userInfo1.getInviterCode())){ if (StringUtils.isEmpty(userInfo1.getInviterCode())) {
userInfo1.setInviterCode(commonInfoService.findOne(88).getValue()); userInfo1.setInviterCode(commonInfoService.findOne(88).getValue());
} }
UserEntity userEntity = queryByInvitationCode(userInfo1.getInviterCode()); UserEntity userEntity = queryByInvitationCode(userInfo1.getInviterCode());
@@ -823,7 +832,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userInfo1.setCreateTime(date); userInfo1.setCreateTime(date);
userInfo1.setPlatform("快手"); userInfo1.setPlatform("快手");
userInfo1.setStatus(1); userInfo1.setStatus(1);
if(StringUtils.isNotEmpty(userInfo1.getPhone())){ if (StringUtils.isNotEmpty(userInfo1.getPhone())) {
userInfo1.setPassword(DigestUtils.sha256Hex(userInfo1.getPhone())); userInfo1.setPassword(DigestUtils.sha256Hex(userInfo1.getPhone()));
} }
userInfo1.setRate(new BigDecimal(commonInfoService.findOne(420).getValue())); userInfo1.setRate(new BigDecimal(commonInfoService.findOne(420).getValue()));
@@ -831,8 +840,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
baseMapper.insert(userInfo1); baseMapper.insert(userInfo1);
userInfo1.setInvitationCode(InvitationCodeUtil.toSerialCode(userInfo1.getUserId())); userInfo1.setInvitationCode(InvitationCodeUtil.toSerialCode(userInfo1.getUserId()));
baseMapper.updateById(userInfo1); baseMapper.updateById(userInfo1);
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo1.getUserId(),userEntity); inviteService.saveBody(userInfo1.getUserId(), userEntity);
} }
// userMoneyService.selectUserMoneyByUserId(userInfo1.getUserId()); // userMoneyService.selectUserMoneyByUserId(userInfo1.getUserId());
} }
@@ -843,37 +852,37 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public Result registerCode(String phone, String msg, String platform, Integer sysPhone,String password, public Result registerCode(String phone, String msg, String platform, Integer sysPhone, String password,
String inviterCode,String wxId,String qdCode) { String inviterCode, String wxId, String qdCode) {
//校验手机号是否存在 //校验手机号是否存在
UserEntity userInfo = queryByPhone(phone); UserEntity userInfo = queryByPhone(phone);
if (userInfo != null) { if (userInfo != null) {
if(StringUtils.isNotEmpty(password)){ if (StringUtils.isNotEmpty(password)) {
//密码登录 //密码登录
if(StringUtils.isEmpty(userInfo.getPassword())){ if (StringUtils.isEmpty(userInfo.getPassword())) {
return Result.error("当前账号未绑定密码,请前往忘记密码中进行重置!"); return Result.error("当前账号未绑定密码,请前往忘记密码中进行重置!");
} }
if(!userInfo.getPassword().equals(DigestUtils.sha256Hex(password))){ if (!userInfo.getPassword().equals(DigestUtils.sha256Hex(password))) {
return Result.error("账号或密码不正确!"); return Result.error("账号或密码不正确!");
} }
}else if(StringUtils.isNotEmpty(msg)){ } else if (StringUtils.isNotEmpty(msg)) {
//验证码登录 //验证码登录
Msg msg1 = msgDao.findByPhoneAndCode(phone, msg); Msg msg1 = msgDao.findByPhoneAndCode(phone, msg);
if(msg1==null){ if (msg1 == null) {
return Result.error("验证码不正确!"); return Result.error("验证码不正确!");
} }
msgDao.deleteById(msg1.getId()); msgDao.deleteById(msg1.getId());
}else{ } else {
return Result.error("登录失败,请刷新页面重试!"); return Result.error("登录失败,请刷新页面重试!");
} }
if (userInfo.getStatus().equals(2)) { if (userInfo.getStatus().equals(2)) {
return Result.error("账号已被禁用,请联系客服处理!"); return Result.error("账号已被禁用,请联系客服处理!");
} }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(StringUtils.isNotEmpty(wxId) && StringUtils.isNotEmpty(userInfo.getWxId()) && !wxId.equals(userInfo.getWxId())){ if (StringUtils.isNotEmpty(wxId) && StringUtils.isNotEmpty(userInfo.getWxId()) && !wxId.equals(userInfo.getWxId())) {
return Result.error("当前手机号已经绑定过了,请更换其他手机号!"); return Result.error("当前手机号已经绑定过了,请更换其他手机号!");
} }
if(StringUtils.isNotEmpty(wxId)){ if (StringUtils.isNotEmpty(wxId)) {
userInfo.setWxId(wxId); userInfo.setWxId(wxId);
} }
userInfo.setUpdateTime(sdf.format(new Date())); userInfo.setUpdateTime(sdf.format(new Date()));
@@ -884,7 +893,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
if (StringUtils.isEmpty(platform)) { if (StringUtils.isEmpty(platform)) {
return Result.error("手机号未注册!"); return Result.error("手机号未注册!");
} }
if(StringUtils.isEmpty(msg)){ if (StringUtils.isEmpty(msg)) {
return Result.error("验证码不能为空!"); return Result.error("验证码不能为空!");
} }
Msg msg1 = null; Msg msg1 = null;
@@ -895,22 +904,22 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
} }
userInfo = new UserEntity(); userInfo = new UserEntity();
UserEntity userEntity=null; UserEntity userEntity = null;
if(StringUtils.isNotEmpty(inviterCode)){ if (StringUtils.isNotEmpty(inviterCode)) {
userEntity = queryByInvitationCode(inviterCode); userEntity = queryByInvitationCode(inviterCode);
if(userEntity==null){ if (userEntity == null) {
return Result.error("邀请码不正确!"); return Result.error("邀请码不正确!");
} }
}else{ } else {
userInfo.setInviterCode(commonInfoService.findOne(88).getValue()); userInfo.setInviterCode(commonInfoService.findOne(88).getValue());
userEntity = queryByInvitationCode(userInfo.getInviterCode()); userEntity = queryByInvitationCode(userInfo.getInviterCode());
} }
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = simpleDateFormat.format(new Date()); String time = simpleDateFormat.format(new Date());
if(StringUtils.isNotEmpty(wxId)){ if (StringUtils.isNotEmpty(wxId)) {
userInfo.setWxId(wxId); userInfo.setWxId(wxId);
} }
if(StringUtils.isEmpty(qdCode)){ if (StringUtils.isEmpty(qdCode)) {
qdCode = userEntity.getQdCode(); qdCode = userEntity.getQdCode();
} }
userInfo.setQdCode(qdCode); userInfo.setQdCode(qdCode);
@@ -919,9 +928,9 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
userInfo.setPlatform(platform); userInfo.setPlatform(platform);
userInfo.setCreateTime(time); userInfo.setCreateTime(time);
userInfo.setSysPhone(sysPhone); userInfo.setSysPhone(sysPhone);
if(StringUtils.isNotBlank(password)){ if (StringUtils.isNotBlank(password)) {
userInfo.setPassword(DigestUtils.sha256Hex(password)); userInfo.setPassword(DigestUtils.sha256Hex(password));
}else{ } else {
userInfo.setPassword(DigestUtils.sha256Hex(phone)); userInfo.setPassword(DigestUtils.sha256Hex(phone));
} }
userInfo.setStatus(1); userInfo.setStatus(1);
@@ -935,8 +944,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
if (msg1 != null) { if (msg1 != null) {
msgDao.deleteById(msg1.getId()); msgDao.deleteById(msg1.getId());
} }
if(userEntity!=null){ if (userEntity != null) {
inviteService.saveBody(userInfo.getUserId(),userEntity); inviteService.saveBody(userInfo.getUserId(), userEntity);
} }
return getResult(userInfo); return getResult(userInfo);
} }
@@ -980,8 +989,6 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public Result login(String phone, String pwd) { public Result login(String phone, String pwd) {
UserEntity userEntity = queryByPhone(phone); UserEntity userEntity = queryByPhone(phone);
@@ -1014,7 +1021,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override @Override
public Result sendMsg(String phone, String state,String pwd) { public Result sendMsg(String phone, String state, String pwd) {
int code = (int) ((Math.random() * 9 + 1) * 100000); int code = (int) ((Math.random() * 9 + 1) * 100000);
System.out.println("sendMsg code is " + code); System.out.println("sendMsg code is " + code);
SmsSingleSenderResult result = null; SmsSingleSenderResult result = null;
@@ -1028,14 +1035,14 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
if (userByPhone != null && StringUtils.isNotEmpty(userByPhone.getAppleId())) { if (userByPhone != null && StringUtils.isNotEmpty(userByPhone.getAppleId())) {
return Result.error("当前手机号已被其他苹果账号绑定"); return Result.error("当前手机号已被其他苹果账号绑定");
} }
}else if("login".equals(state)){ } else if ("login".equals(state)) {
UserEntity userByPhone = queryByPhone(phone); UserEntity userByPhone = queryByPhone(phone);
if(userByPhone!=null){ if (userByPhone != null) {
return Result.error("当前手机号已注册!"); return Result.error("当前手机号已注册!");
} }
}else if("forget".equals(state)){ } else if ("forget".equals(state)) {
UserEntity userByPhone = queryByPhone(phone); UserEntity userByPhone = queryByPhone(phone);
if(userByPhone==null){ if (userByPhone == null) {
return Result.error("手机号未注册!"); return Result.error("手机号未注册!");
} }
} }
@@ -1044,16 +1051,16 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
if (three == null || "1".equals(three.getValue())) { if (three == null || "1".equals(three.getValue())) {
//腾讯云短信发送 //腾讯云短信发送
return sendMsgTencent(phone, state, code); return sendMsgTencent(phone, state, code);
} else if("2".equals(three.getValue())){ } else if ("2".equals(three.getValue())) {
//阿里云短信发送 //阿里云短信发送
return sendMsgAlibaba(phone, state,code); return sendMsgAlibaba(phone, state, code);
}else{ } else {
return sendMsgDXB(phone,state,code,pwd); return sendMsgDXB(phone, state, code, pwd);
} }
} }
private Result sendMsgAlibaba(String phone,String state, int code) { private Result sendMsgAlibaba(String phone, String state, int code) {
CommonInfo three = commonInfoService.findOne(85); CommonInfo three = commonInfoService.findOne(85);
String accessKeyId = three.getValue(); String accessKeyId = three.getValue();
@@ -1073,19 +1080,19 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
String value; String value;
switch (state) { switch (state) {
case "login": case "login":
value=commonInfoService.findOne(82).getValue(); value = commonInfoService.findOne(82).getValue();
break; break;
case "forget": case "forget":
value=commonInfoService.findOne(83).getValue(); value = commonInfoService.findOne(83).getValue();
break; break;
case "bindWx": case "bindWx":
value=commonInfoService.findOne(84).getValue(); value = commonInfoService.findOne(84).getValue();
break; break;
case "bindIos": case "bindIos":
value=commonInfoService.findOne(84).getValue(); value = commonInfoService.findOne(84).getValue();
break; break;
default: default:
value=commonInfoService.findOne(82).getValue(); value = commonInfoService.findOne(82).getValue();
break; break;
} }
request.putQueryParameter("TemplateCode", value); request.putQueryParameter("TemplateCode", value);
@@ -1210,13 +1217,13 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
private Result sendMsgDXB(String phone, String state, int code,String pwd) { private Result sendMsgDXB(String phone, String state, int code, String pwd) {
CommonInfo three = commonInfoService.findOne(238); CommonInfo three = commonInfoService.findOne(238);
CommonInfo four = commonInfoService.findOne(239); CommonInfo four = commonInfoService.findOne(239);
CommonInfo name = commonInfoService.findOne(81); CommonInfo name = commonInfoService.findOne(81);
String testUsername = three.getValue(); //在短信宝注册的用户名 String testUsername = three.getValue(); //在短信宝注册的用户名
String testPassword = four.getValue(); //在短信宝注册的密码 String testPassword = four.getValue(); //在短信宝注册的密码
String value=""; String value = "";
switch (state) { switch (state) {
case "register": case "register":
value = "" + name.getValue() + "】验证码: " + code + "此验证码可用于登录或注册10分钟内有效如非您本人操作可忽略本条消息"; value = "" + name.getValue() + "】验证码: " + code + "此验证码可用于登录或注册10分钟内有效如非您本人操作可忽略本条消息";
@@ -1228,7 +1235,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
value = "" + name.getValue() + "】验证码: " + code + "您正在执行绑定手机号操作10分钟内有效如非您本人操作可忽略本条消息"; value = "" + name.getValue() + "】验证码: " + code + "您正在执行绑定手机号操作10分钟内有效如非您本人操作可忽略本条消息";
break; break;
case "newUser": case "newUser":
value = "" + name.getValue() + "】新用户账号注册成功,账号:"+phone+",密码:"+pwd+",请及时登录并修改密码!"; value = "" + name.getValue() + "】新用户账号注册成功,账号:" + phone + ",密码:" + pwd + ",请及时登录并修改密码!";
break; break;
default: default:
value = "" + name.getValue() + "】验证码: " + code + "此验证码可用于登录或注册10分钟内有效如非您本人操作可忽略本条消息"; value = "" + name.getValue() + "】验证码: " + code + "此验证码可用于登录或注册10分钟内有效如非您本人操作可忽略本条消息";
@@ -1240,7 +1247,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
httpArg.append("m=").append(phone).append("&"); httpArg.append("m=").append(phone).append("&");
httpArg.append("c=").append(Md5Utils.encodeUrlString(value, "UTF-8")); httpArg.append("c=").append(Md5Utils.encodeUrlString(value, "UTF-8"));
String result = Md5Utils.request("https://api.smsbao.com/sms", httpArg.toString()); String result = Md5Utils.request("https://api.smsbao.com/sms", httpArg.toString());
log.error("短信包返回值:"+result); log.error("短信包返回值:" + result);
if ("0".equals(result)) { if ("0".equals(result)) {
Msg byPhone = msgDao.findByPhone(phone); Msg byPhone = msgDao.findByPhone(phone);
if (byPhone != null) { if (byPhone != null) {
@@ -1261,18 +1268,18 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
} else { } else {
// return ResultUtil.error(6, result.errMsg); // return ResultUtil.error(6, result.errMsg);
if("30".equals(result)){ if ("30".equals(result)) {
return Result.error( "错误密码"); return Result.error("错误密码");
}else if("40".equals(result)){ } else if ("40".equals(result)) {
return Result.error( "账号不存在"); return Result.error("账号不存在");
}else if("41".equals(result)){ } else if ("41".equals(result)) {
return Result.error( "余额不足"); return Result.error("余额不足");
}else if("43".equals(result)){ } else if ("43".equals(result)) {
return Result.error( "IP地址限制"); return Result.error("IP地址限制");
}else if("50".equals(result)){ } else if ("50".equals(result)) {
return Result.error( "内容含有敏感词"); return Result.error("内容含有敏感词");
}else if("51".equals(result)){ } else if ("51".equals(result)) {
return Result.error( "手机号码不正确"); return Result.error("手机号码不正确");
} }
} }
@@ -1305,9 +1312,9 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override @Override
public UserEntity selectUserById(Long userId) { public UserEntity selectUserById(Long userId) {
UserEntity userEntity = baseMapper.selectById(userId); UserEntity userEntity = baseMapper.selectById(userId);
if(userEntity!=null){ if (userEntity != null) {
UserVip userVip = userVipService.selectUserVipByUserId(userId); UserVip userVip = userVipService.selectUserVipByUserId(userId);
if(userVip!=null){ if (userVip != null) {
userEntity.setMember(userVip.getIsVip()); userEntity.setMember(userVip.getIsVip());
userEntity.setEndTime(userVip.getEndTime()); userEntity.setEndTime(userVip.getEndTime());
} }
@@ -1319,10 +1326,10 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
@Override @Override
public PageUtils selectUserPage(Integer page, Integer limit, String search, Integer sex, String platform, public PageUtils selectUserPage(Integer page, Integer limit, String search, Integer sex, String platform,
String sysPhone, Integer status, Integer member, String inviterCode, String userName, String sysPhone, Integer status, Integer member, String inviterCode, String userName,
String invitationCode, String startTime, String endTime,String qdCode,String sysUserName,Integer vipType) { String invitationCode, String startTime, String endTime, String qdCode, String sysUserName, Integer vipType) {
Page<UserEntity> pages = new Page<>(page, limit); Page<UserEntity> pages = new Page<>(page, limit);
return new PageUtils(baseMapper.selectUserPage(pages, search, sex, platform, sysPhone, status, member, return new PageUtils(baseMapper.selectUserPage(pages, search, sex, platform, sysPhone, status, member,
inviterCode, userName, invitationCode, startTime, endTime,qdCode,sysUserName,vipType)); inviterCode, userName, invitationCode, startTime, endTime, qdCode, sysUserName, vipType));
} }
@Override @Override
@@ -1337,29 +1344,29 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public int queryUserCount(int type,String date,String platform,String qdCode) { public int queryUserCount(int type, String date, String platform, String qdCode) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
if(date==null||date==""){ if (date == null || date == "") {
date = simpleDateFormat.format(new Date()); date = simpleDateFormat.format(new Date());
} }
return baseMapper.queryUserCount(type, date,platform,qdCode); return baseMapper.queryUserCount(type, date, platform, qdCode);
} }
@Override @Override
public Double queryPayMoney(int type,String qdCode) { public Double queryPayMoney(int type, String qdCode) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
String date = simpleDateFormat.format(new Date()); String date = simpleDateFormat.format(new Date());
return baseMapper.queryPayMoney(type, date,qdCode); return baseMapper.queryPayMoney(type, date, qdCode);
} }
@Override @Override
public IPage<Map<String, Object>> queryCourseOrder(Page<Map<String, Object>> iPage,int type, String date,Long sysUserId) { public IPage<Map<String, Object>> queryCourseOrder(Page<Map<String, Object>> iPage, int type, String date, Long sysUserId) {
return baseMapper.queryCourseOrder(iPage,type, date,sysUserId); return baseMapper.queryCourseOrder(iPage, type, date, sysUserId);
} }
@Override @Override
public int userMessage( String date, int type,String qdCode,Integer vipType) { public int userMessage(String date, int type, String qdCode, Integer vipType) {
return baseMapper.userMessage(date, type,qdCode,vipType); return baseMapper.userMessage(date, type, qdCode, vipType);
} }
@@ -1434,8 +1441,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public Result selectInviteUserList(Integer page,Integer limit,String userName,String phone){ public Result selectInviteUserList(Integer page, Integer limit, String userName, String phone) {
return Result.success().put("data",baseMapper.selectInviteUserList(new Page<>(page,limit),userName,phone)); return Result.success().put("data", baseMapper.selectInviteUserList(new Page<>(page, limit), userName, phone));
} }
@Override @Override
@@ -1453,13 +1460,47 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
} }
@Override @Override
public Result selectUserOnLineCount(String qdCode){ public Result selectUserOnLineCount(String qdCode) {
return Result.success().put("data",baseMapper.selectUserOnLineCount(qdCode)); return Result.success().put("data", baseMapper.selectUserOnLineCount(qdCode));
} }
@Override @Override
public int updateUserClientIdIsNull(String clientid){ public int updateUserClientIdIsNull(String clientid) {
return baseMapper.updateUserClientIdIsNull(clientid); return baseMapper.updateUserClientIdIsNull(clientid);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void firstBindAwardsMoney(UserEntity entity) {
reentrantReadWriteLock.writeLock().lock();
try {
CommonInfo one = commonRepository.findOne(920);
BigDecimal money = new BigDecimal(one.getValue());
userMoneyService.updateMoney(1, entity.getUserId(), money.doubleValue());
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(entity.getUserId());
userMoneyDetails.setTitle("[首绑支付宝]");
userMoneyDetails.setContent("现金红包奖励:" + money + "");
// 充值
userMoneyDetails.setType(1);
// 任务领取
userMoneyDetails.setClassify(7);
userMoneyDetails.setMoney(money);
userMoneyDetails.setCreateTime(DateUtil.format(new Date(System.currentTimeMillis() - 1000), "yyyy-MM-dd HH:mm:ss"));
userMoneyDetails.setMoneyType(1);
boolean ret = userMoneyDetailsService.save(userMoneyDetails);
if (ret) {
ThreadUtil.execAsync(()->{
discSpinningService.withdrawAsync(entity, money.doubleValue(), "[首绑支付宝]");
},true);
}
} catch (Exception e) {
log.error("首绑支付宝发放奖励异常,用户信息:{}", JSONUtil.toJsonStr(entity));
log.error("首绑支付宝发放奖励异常:", e);
throw new RuntimeException("首绑奖励失败");
} finally {
reentrantReadWriteLock.writeLock().unlock();
}
}
} }

View File

@@ -16,6 +16,11 @@ public interface DiscSpinningService extends IService<DiscSpinning> {
//提现 //提现
void withdraw(UserEntity userInfo, Double money); void withdraw(UserEntity userInfo, Double money);
//提现
void withdraw(UserEntity userInfo, Double money, String title);
//提现
void withdrawAsync(UserEntity userInfo, Double money, String title);
} }

View File

@@ -17,10 +17,8 @@ import com.sqx.modules.discSpinning.dao.DiscSpinningDao;
import com.sqx.modules.discSpinning.entity.DiscSpinning; import com.sqx.modules.discSpinning.entity.DiscSpinning;
import com.sqx.modules.discSpinning.entity.DiscSpinningAmount; import com.sqx.modules.discSpinning.entity.DiscSpinningAmount;
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord; import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
import com.sqx.modules.discSpinning.service.DiscSpinningAmountService;
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService; import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
import com.sqx.modules.discSpinning.service.DiscSpinningService; import com.sqx.modules.discSpinning.service.DiscSpinningService;
import com.sqx.modules.orders.service.OrdersService;
import com.sqx.modules.pay.entity.CashOut; import com.sqx.modules.pay.entity.CashOut;
import com.sqx.modules.pay.service.CashOutService; import com.sqx.modules.pay.service.CashOutService;
import com.sqx.modules.pay.wuyou.BaseResp; import com.sqx.modules.pay.wuyou.BaseResp;
@@ -30,7 +28,10 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
@@ -48,6 +49,9 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
private final CashOutService cashOutService; private final CashOutService cashOutService;
private final RedisUtils redisUtils; private final RedisUtils redisUtils;
@Autowired
private PlatformTransactionManager transactionManager;
@Autowired @Autowired
public DiscSpinningServiceImpl(CommonInfoService commonRepository, public DiscSpinningServiceImpl(CommonInfoService commonRepository,
@@ -94,6 +98,12 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
@Override @Override
@Transactional @Transactional
public void withdraw(UserEntity userInfo, Double money) { public void withdraw(UserEntity userInfo, Double money) {
withdraw(userInfo, money, "[现金大转盘]");
}
@Override
@Transactional
public void withdraw(UserEntity userInfo, Double money, String title) {
CashOut cashOut = new CashOut(); CashOut cashOut = new CashOut();
cashOut.setIsOut(false); cashOut.setIsOut(false);
cashOut.setMoney(money.toString()); cashOut.setMoney(money.toString());
@@ -113,7 +123,7 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) { if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
UserMoneyDetails userMoneyDetails = new UserMoneyDetails( UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
userInfo.getUserId(), null, null, "[现金大转盘]", 4, 2, 1, userInfo.getUserId(), null, null, title, 4, 2, 1,
new BigDecimal(money), "现金红包自动提现" + money + "", 1); new BigDecimal(money), "现金红包自动提现" + money + "", 1);
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
//减去余额 钱 //减去余额 钱
@@ -127,13 +137,13 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
} else { } else {
cashOut.setRefund(baseResp.getErrorMsg()); cashOut.setRefund(baseResp.getErrorMsg());
} }
}else if (StringUtils.isNotBlank(baseResp.getMsg())) { } else if (StringUtils.isNotBlank(baseResp.getMsg())) {
cashOut.setState(2); cashOut.setState(2);
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。"); cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
} }
} else { } else {
UserMoneyDetails userMoneyDetails = new UserMoneyDetails( UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
userInfo.getUserId(), null, null, "[现金大转盘]", 4, 2, 1, userInfo.getUserId(), null, null, title, 4, 2, 1,
new BigDecimal(money), "现金红包自动提现" + money + "", 1); new BigDecimal(money), "现金红包自动提现" + money + "", 1);
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
//减去余额 钱 //减去余额 钱
@@ -143,6 +153,18 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
log.info("领取奖励执行完毕"); log.info("领取奖励执行完毕");
} }
@Override
public void withdrawAsync(UserEntity userInfo, Double money, String title) {
TransactionStatus transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition());
try {
withdraw(userInfo, money, title);
transactionManager.commit(transactionStatus);
}catch (Exception e){
transactionManager.rollback(transactionStatus);
throw e;
}
}
@Override @Override
@Transactional @Transactional
public DiscSpinningRecord draws(int drawCount, double orderAmount, Long orderId, Long userId, String source) { public DiscSpinningRecord draws(int drawCount, double orderAmount, Long orderId, Long userId, String source) {