登录 及 会员部分修改
This commit is contained in:
@@ -96,19 +96,15 @@ public class LoginContoller {
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/wx/custom/login")
|
||||
public Result wxCustomLogin(HttpServletRequest request, @RequestBody Map<String, String> map
|
||||
// ,
|
||||
// @RequestParam(value = "rawData", required = false) String rawData,
|
||||
// @RequestParam(value = "signature", required = false) String signature
|
||||
) {
|
||||
public Result wxCustomLogin(HttpServletRequest request, @RequestBody Map<String, String> map) {
|
||||
if (ObjectUtil.isNull(map) || ObjectUtil.isEmpty(map) || !map.containsKey("code") || ObjectUtil.isEmpty(map.get("code"))) {
|
||||
Result.fail("code不能为空");
|
||||
}
|
||||
String code = map.get("code").toString();
|
||||
String rawData = map.get("rawData");
|
||||
String signature = map.get("signature");
|
||||
String encryptedData = map.get("encryptedData");
|
||||
String ivStr = map.get("iv");
|
||||
// String signature = map.get("signature");
|
||||
// String encryptedData = map.get("encryptedData");
|
||||
// String ivStr = map.get("iv");
|
||||
// String phone = map.get("phone");
|
||||
// 用户非敏感信息:rawData
|
||||
// 签名:signature
|
||||
@@ -118,26 +114,26 @@ public class LoginContoller {
|
||||
JSONObject SessionKeyOpenId = WechatUtil.getSessionKeyOrOpenId(code, customAppId, customSecrete);
|
||||
// 3.接收微信接口服务 获取返回的参数
|
||||
String openid = SessionKeyOpenId.getString("openid");
|
||||
String sessionKey = SessionKeyOpenId.getString("session_key");
|
||||
// String sessionKey = SessionKeyOpenId.getString("session_key");
|
||||
|
||||
// 4.校验签名 小程序发送的签名signature与服务器端生成的签名signature2 = sha1(rawData + sessionKey)
|
||||
String signature2 = DigestUtils.sha1Hex(rawData + sessionKey);
|
||||
if (!signature.equals(signature2)) {
|
||||
return Result.fail("签名校验失败");
|
||||
}
|
||||
String phone = "";
|
||||
try{
|
||||
String data = WxMaCryptUtils.decrypt(sessionKey, encryptedData, ivStr);
|
||||
if (ObjectUtil.isNotEmpty(data) && JSONObject.parseObject(data).containsKey("phoneNumber")) {
|
||||
phone =JSONObject.parseObject(data).get("phoneNumber").toString();
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.info("登录传参:获取手机号失败{}",e.getMessage());
|
||||
}
|
||||
// String signature2 = DigestUtils.sha1Hex(rawData + sessionKey);
|
||||
// if (!signature.equals(signature2)) {
|
||||
// return Result.fail("签名校验失败");
|
||||
// }
|
||||
// String phone = "";
|
||||
// try{
|
||||
// String data = WxMaCryptUtils.decrypt(sessionKey, encryptedData, ivStr);
|
||||
// if (ObjectUtil.isNotEmpty(data) && JSONObject.parseObject(data).containsKey("phoneNumber")) {
|
||||
// phone =JSONObject.parseObject(data).get("phoneNumber").toString();
|
||||
// }
|
||||
// }catch (Exception e){
|
||||
// log.info("登录传参:获取手机号失败{}",e.getMessage());
|
||||
// }
|
||||
String nickName = rawDataJson.getString("nickName");
|
||||
String avatarUrl = rawDataJson.getString("avatarUrl");
|
||||
try {
|
||||
return loginService.wxCustomLogin(openid, avatarUrl, nickName, phone, IpUtil.getIpAddr(request));
|
||||
return loginService.wxCustomLogin(openid, avatarUrl, nickName, "", IpUtil.getIpAddr(request));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -154,7 +150,37 @@ public class LoginContoller {
|
||||
* @return
|
||||
*/
|
||||
// @RequestMapping("getPhoneNumber")
|
||||
public Result getPhoneNumber(@RequestBody Map<String, String> map) {
|
||||
// public Result getPhoneNumber(@RequestBody Map<String, String> map) {
|
||||
//
|
||||
// if (ObjectUtil.isNull(map) || ObjectUtil.isEmpty(map) || !map.containsKey("code") || ObjectUtil.isEmpty(map.get("code"))) {
|
||||
// Result.fail("code不能为空");
|
||||
// }
|
||||
// String code = map.get("code").toString();
|
||||
//
|
||||
// String encryptedData = map.get("encryptedData");
|
||||
//
|
||||
// String ivStr = map.get("iv");
|
||||
// if (StringUtils.isBlank(encryptedData) || StringUtils.isBlank(ivStr)) {
|
||||
// return Result.fail("请授权后使用");
|
||||
// }
|
||||
//
|
||||
// JSONObject SessionKeyOpenId = WechatUtil.getSessionKeyOrOpenId(code, customAppId, customSecrete);
|
||||
// // 3.接收微信接口服务 获取返回的参数
|
||||
// String openid = SessionKeyOpenId.getString("openid");
|
||||
// String sessionKey = SessionKeyOpenId.getString("session_key");
|
||||
// String data = WxMaCryptUtils.decrypt(sessionKey, encryptedData, ivStr);
|
||||
// try {
|
||||
// if (ObjectUtil.isNotEmpty(data) && JSONObject.parseObject(data).containsKey("phoneNumber")) {
|
||||
// log.info("登录传参 获取手机号成功 sessionKey:{}\n encryptedData:{} \nivStr:{} \n data:{},",sessionKey,encryptedData,ivStr,JSONObject.parseObject(data).get("phoneNumber"));
|
||||
// return Result.success(CodeEnum.SUCCESS, JSONObject.parseObject(data).get("phoneNumber"));
|
||||
// }
|
||||
// } catch (Exception e){
|
||||
// log.info("登录传参 获取手机号失败 sessionKey:{}\n encryptedData:{} \nivStr:{} \n data:{},",sessionKey,encryptedData,ivStr,data);
|
||||
// }
|
||||
// return Result.fail("获取手机号失败,请重试!");
|
||||
// }
|
||||
@RequestMapping("getPhoneNumber")
|
||||
public Result getPhoneNumber(@RequestHeader String openId,@RequestBody Map<String, String> map) {
|
||||
|
||||
if (ObjectUtil.isNull(map) || ObjectUtil.isEmpty(map) || !map.containsKey("code") || ObjectUtil.isEmpty(map.get("code"))) {
|
||||
Result.fail("code不能为空");
|
||||
@@ -175,8 +201,11 @@ public class LoginContoller {
|
||||
String data = WxMaCryptUtils.decrypt(sessionKey, encryptedData, ivStr);
|
||||
try {
|
||||
if (ObjectUtil.isNotEmpty(data) && JSONObject.parseObject(data).containsKey("phoneNumber")) {
|
||||
if (!map.containsKey("shopId") || ObjectUtil.isEmpty(map.get("shopId"))) {
|
||||
return Result.success(CodeEnum.SUCCESS, JSONObject.parseObject(data).get("phoneNumber"));
|
||||
}
|
||||
log.info("登录传参 获取手机号成功 sessionKey:{}\n encryptedData:{} \nivStr:{} \n data:{},",sessionKey,encryptedData,ivStr,JSONObject.parseObject(data).get("phoneNumber"));
|
||||
return Result.success(CodeEnum.SUCCESS, JSONObject.parseObject(data).get("phoneNumber"));
|
||||
return loginService.upPhone(openId,JSONObject.parseObject(data).get("phoneNumber").toString(),map.get("shopId").toString());
|
||||
}
|
||||
} catch (Exception e){
|
||||
log.info("登录传参 获取手机号失败 sessionKey:{}\n encryptedData:{} \nivStr:{} \n data:{},",sessionKey,encryptedData,ivStr,data);
|
||||
|
||||
@@ -89,8 +89,8 @@ public class UserContoller {
|
||||
shopUser = shopUserMapper.selectByUserIdAndShopId(userId, shopId);
|
||||
if (ObjectUtil.isEmpty(shopUser)) {
|
||||
TbUserInfo tbUserInfo = userInfoMapper.selectByPrimaryKey(Integer.valueOf(userId));
|
||||
shopUser = shopUserMapper.selectByPhoneAndShopId(tbUserInfo.getTelephone(), shopId);
|
||||
if(ObjectUtil.isEmpty(shopUser)){
|
||||
// shopUser = shopUserMapper.selectByPhoneAndShopId(tbUserInfo.getTelephone(), shopId);
|
||||
// if(ObjectUtil.isEmpty(shopUser)){
|
||||
shopUser=new TbShopUser();
|
||||
shopUser.setName(tbUserInfo.getNickName());
|
||||
shopUser.setSex(tbUserInfo.getSex());
|
||||
@@ -112,11 +112,11 @@ public class UserContoller {
|
||||
shopUser.setCreatedAt(System.currentTimeMillis());
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
shopUserMapper.insert(shopUser);
|
||||
}else {
|
||||
shopUser.setUserId(userId);
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
shopUserMapper.updateByPrimaryKey(shopUser);
|
||||
}
|
||||
// }else {
|
||||
// shopUser.setUserId(userId);
|
||||
// shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
// shopUserMapper.updateByPrimaryKey(shopUser);
|
||||
// }
|
||||
}
|
||||
}else {
|
||||
shopUser.setAmount(BigDecimal.ZERO);
|
||||
|
||||
@@ -88,124 +88,171 @@ public class LoginService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Result wxCustomLogin(String openId, String headImage, String nickName, String telephone, String ip) throws Exception {
|
||||
TbUserInfo userInfo = new TbUserInfo();
|
||||
if(StringUtils.isNotBlank(telephone)){
|
||||
userInfo = tbUserInfoMapper.selectByPhone(telephone);
|
||||
if (ObjectUtil.isNull(userInfo)) {
|
||||
userInfo = tbUserInfoMapper.selectByOpenId(openId);
|
||||
if (ObjectUtil.isNull(userInfo)) {
|
||||
userInfo = new TbUserInfo();
|
||||
userInfo.setAmount(BigDecimal.ZERO);
|
||||
userInfo.setChargeAmount(BigDecimal.ZERO);
|
||||
userInfo.setLineOfCredit(BigDecimal.ZERO);
|
||||
userInfo.setConsumeNumber(0);
|
||||
userInfo.setConsumeAmount(BigDecimal.ZERO);
|
||||
userInfo.setTotalScore(0);
|
||||
userInfo.setLockScore(0);
|
||||
userInfo.setHeadImg("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240411/a2be5869bfa24d72a4782f695cc53ed1.png");
|
||||
userInfo.setNickName(ObjectUtil.isNotNull(nickName) ? nickName : "微信用户");
|
||||
userInfo.setTelephone(telephone);
|
||||
userInfo.setMiniAppOpenId(openId);
|
||||
userInfo.setStatus(Byte.parseByte("1"));
|
||||
userInfo.setParentType("PERSON");
|
||||
userInfo.setIsResource(Byte.parseByte("0"));
|
||||
userInfo.setIsOnline(Byte.parseByte("0"));
|
||||
userInfo.setIsVip(Byte.parseByte("0"));
|
||||
userInfo.setSourcePath("WECHAT-APP");
|
||||
userInfo.setIsAttentionMp(Byte.parseByte("0"));
|
||||
userInfo.setSearchWord("||微信用户");
|
||||
userInfo.setIsPwd("0");
|
||||
userInfo.setPwd(MD5Utils.md5("123456"));
|
||||
userInfo.setLastLogInAt(System.currentTimeMillis());
|
||||
userInfo.setCreatedAt(System.currentTimeMillis());
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.insert(userInfo);
|
||||
List<TbShopUser> tbShopUsers = tbShopUserMapper.selectByPhone(telephone);
|
||||
if (!CollectionUtils.isEmpty(tbShopUsers)) {
|
||||
for (TbShopUser tbShopUser : tbShopUsers) {
|
||||
tbShopUser.setUserId(userInfo.getId() + "");
|
||||
tbShopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKey(tbShopUser);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
userInfo.setTelephone(telephone);
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.updateByPrimaryKeySelective(userInfo);
|
||||
List<TbShopUser> tbShopUsers = tbShopUserMapper.selectByPhone(telephone);
|
||||
if (!CollectionUtils.isEmpty(tbShopUsers)) {
|
||||
for (TbShopUser tbShopUser : tbShopUsers) {
|
||||
tbShopUser.setUserId(null);
|
||||
tbShopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKey(tbShopUser);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(!userInfo.getMiniAppOpenId().equals(openId)){
|
||||
userInfo.setMiniAppOpenId(openId);
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.updateByPrimaryKeySelective(userInfo);
|
||||
}
|
||||
}
|
||||
public Result wxCustomLogin(String openId,String headImage,String nickName,String telephone,String ip) {
|
||||
TbUserInfo userInfo= tbUserInfoMapper.selectByOpenId(openId);
|
||||
if(ObjectUtil.isNull(userInfo)){
|
||||
userInfo=new TbUserInfo();
|
||||
userInfo.setAmount(BigDecimal.ZERO);
|
||||
userInfo.setChargeAmount(BigDecimal.ZERO);
|
||||
userInfo.setLineOfCredit(BigDecimal.ZERO);
|
||||
userInfo.setConsumeNumber(0);
|
||||
userInfo.setConsumeAmount(BigDecimal.ZERO);
|
||||
userInfo.setTotalScore(0);
|
||||
userInfo.setLockScore(0);
|
||||
userInfo.setHeadImg(ObjectUtil.isNotNull(headImage)?headImage:"");
|
||||
userInfo.setNickName(ObjectUtil.isNotNull(nickName)?nickName:"微信用户");
|
||||
userInfo.setTelephone(ObjectUtil.isNotNull(telephone)?telephone:"");
|
||||
userInfo.setMiniAppOpenId(openId);
|
||||
userInfo.setStatus(Byte.parseByte("1"));
|
||||
userInfo.setParentType("PERSON");
|
||||
userInfo.setIsResource(Byte.parseByte("0"));
|
||||
userInfo.setIsOnline(Byte.parseByte("0"));
|
||||
userInfo.setIsVip(Byte.parseByte("0"));
|
||||
userInfo.setSourcePath("WECHAT-APP");
|
||||
userInfo.setIsAttentionMp(Byte.parseByte("0"));
|
||||
userInfo.setSearchWord("||微信用户");
|
||||
userInfo.setIsPwd("0");
|
||||
userInfo.setPwd(MD5Utils.md5("123456"));
|
||||
userInfo.setCreatedAt(System.currentTimeMillis());
|
||||
userInfo.setLastLogInAt(System.currentTimeMillis());
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.insert(userInfo);
|
||||
}else {
|
||||
userInfo = tbUserInfoMapper.selectByOpenId(openId);
|
||||
if(ObjectUtil.isNull(userInfo)){
|
||||
userInfo = new TbUserInfo();
|
||||
userInfo.setAmount(BigDecimal.ZERO);
|
||||
userInfo.setChargeAmount(BigDecimal.ZERO);
|
||||
userInfo.setLineOfCredit(BigDecimal.ZERO);
|
||||
userInfo.setConsumeNumber(0);
|
||||
userInfo.setConsumeAmount(BigDecimal.ZERO);
|
||||
userInfo.setTotalScore(0);
|
||||
userInfo.setLockScore(0);
|
||||
userInfo.setHeadImg("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240411/a2be5869bfa24d72a4782f695cc53ed1.png");
|
||||
userInfo.setNickName(ObjectUtil.isNotNull(nickName) ? nickName : "微信用户");
|
||||
userInfo.setTelephone(telephone);
|
||||
userInfo.setMiniAppOpenId(openId);
|
||||
userInfo.setStatus(Byte.parseByte("1"));
|
||||
userInfo.setParentType("PERSON");
|
||||
userInfo.setIsResource(Byte.parseByte("0"));
|
||||
userInfo.setIsOnline(Byte.parseByte("0"));
|
||||
userInfo.setIsVip(Byte.parseByte("0"));
|
||||
userInfo.setSourcePath("WECHAT-APP");
|
||||
userInfo.setIsAttentionMp(Byte.parseByte("0"));
|
||||
userInfo.setSearchWord("||微信用户");
|
||||
userInfo.setIsPwd("0");
|
||||
userInfo.setPwd(MD5Utils.md5("123456"));
|
||||
userInfo.setLastLogInAt(System.currentTimeMillis());
|
||||
userInfo.setCreatedAt(System.currentTimeMillis());
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.insert(userInfo);
|
||||
}
|
||||
userInfo.setHeadImg(ObjectUtil.isNotNull(headImage)?headImage:"");
|
||||
userInfo.setNickName(ObjectUtil.isNotNull(nickName)?nickName:"微信用户");
|
||||
userInfo.setTelephone(ObjectUtil.isNotNull(telephone)?telephone:"");
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
userInfo.setLastLogInAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.updateByPrimaryKeySelective(userInfo);
|
||||
}
|
||||
//生成token 信息
|
||||
String token = TokenUtil.generateToken(userInfo.getId(), userInfo.getMiniAppOpenId(), userInfo.getTelephone(), userInfo.getNickName());
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
try {
|
||||
map.put("token", token);
|
||||
map.put("userInfo", userInfo);
|
||||
redisUtil.saveMessage(RedisCst.ONLINE_USER.concat(openId), JSON.toJSONString(map),60*60*24*30L);
|
||||
//redis里 获取要关注的公众号信息
|
||||
//userInfo 某字段存储关注公众号的标识
|
||||
// userInfo.get
|
||||
//公众号 appid
|
||||
//展示描述
|
||||
//图标
|
||||
// map.put("", );
|
||||
log.info("登录传参 结果:" + JSONUtil.toJSONString(map));
|
||||
return Result.success(CodeEnum.SUCCESS, map);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
return Result.fail("登录失败");
|
||||
map.put("token", token);
|
||||
map.put("userInfo", userInfo);
|
||||
redisUtil.saveMessage(RedisCst.ONLINE_USER.concat(openId), JSON.toJSONString(map), 60 * 60 * 24 * 30L);
|
||||
log.info("登录传参 结果:" + JSONUtil.toJSONString(map));
|
||||
return Result.success(CodeEnum.SUCCESS, map);
|
||||
}
|
||||
|
||||
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public Result wxCustomLogin(String openId, String headImage, String nickName, String telephone, String ip) throws Exception {
|
||||
// TbUserInfo userInfo = new TbUserInfo();
|
||||
// if(StringUtils.isNotBlank(telephone)){
|
||||
// userInfo = tbUserInfoMapper.selectByPhone(telephone);
|
||||
// if (ObjectUtil.isNull(userInfo)) {
|
||||
// userInfo = tbUserInfoMapper.selectByOpenId(openId);
|
||||
// if (ObjectUtil.isNull(userInfo)) {
|
||||
// userInfo = new TbUserInfo();
|
||||
// userInfo.setAmount(BigDecimal.ZERO);
|
||||
// userInfo.setChargeAmount(BigDecimal.ZERO);
|
||||
// userInfo.setLineOfCredit(BigDecimal.ZERO);
|
||||
// userInfo.setConsumeNumber(0);
|
||||
// userInfo.setConsumeAmount(BigDecimal.ZERO);
|
||||
// userInfo.setTotalScore(0);
|
||||
// userInfo.setLockScore(0);
|
||||
// userInfo.setHeadImg("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240411/a2be5869bfa24d72a4782f695cc53ed1.png");
|
||||
// userInfo.setNickName(ObjectUtil.isNotNull(nickName) ? nickName : "微信用户");
|
||||
// userInfo.setTelephone(telephone);
|
||||
// userInfo.setMiniAppOpenId(openId);
|
||||
// userInfo.setStatus(Byte.parseByte("1"));
|
||||
// userInfo.setParentType("PERSON");
|
||||
// userInfo.setIsResource(Byte.parseByte("0"));
|
||||
// userInfo.setIsOnline(Byte.parseByte("0"));
|
||||
// userInfo.setIsVip(Byte.parseByte("0"));
|
||||
// userInfo.setSourcePath("WECHAT-APP");
|
||||
// userInfo.setIsAttentionMp(Byte.parseByte("0"));
|
||||
// userInfo.setSearchWord("||微信用户");
|
||||
// userInfo.setIsPwd("0");
|
||||
// userInfo.setPwd(MD5Utils.md5("123456"));
|
||||
// userInfo.setLastLogInAt(System.currentTimeMillis());
|
||||
// userInfo.setCreatedAt(System.currentTimeMillis());
|
||||
// userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbUserInfoMapper.insert(userInfo);
|
||||
// List<TbShopUser> tbShopUsers = tbShopUserMapper.selectByPhone(telephone);
|
||||
// if (!CollectionUtils.isEmpty(tbShopUsers)) {
|
||||
// for (TbShopUser tbShopUser : tbShopUsers) {
|
||||
// tbShopUser.setUserId(userInfo.getId() + "");
|
||||
// tbShopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbShopUserMapper.updateByPrimaryKey(tbShopUser);
|
||||
// }
|
||||
// }
|
||||
// }else {
|
||||
// userInfo.setTelephone(telephone);
|
||||
// userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbUserInfoMapper.updateByPrimaryKeySelective(userInfo);
|
||||
// List<TbShopUser> tbShopUsers = tbShopUserMapper.selectByPhone(telephone);
|
||||
// if (!CollectionUtils.isEmpty(tbShopUsers)) {
|
||||
// for (TbShopUser tbShopUser : tbShopUsers) {
|
||||
// tbShopUser.setUserId(null);
|
||||
// tbShopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbShopUserMapper.updateByPrimaryKey(tbShopUser);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }else {
|
||||
// if(!userInfo.getMiniAppOpenId().equals(openId)){
|
||||
// userInfo.setMiniAppOpenId(openId);
|
||||
// userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbUserInfoMapper.updateByPrimaryKeySelective(userInfo);
|
||||
// }
|
||||
// }
|
||||
// }else {
|
||||
// userInfo = tbUserInfoMapper.selectByOpenId(openId);
|
||||
// if(ObjectUtil.isNull(userInfo)){
|
||||
// userInfo = new TbUserInfo();
|
||||
// userInfo.setAmount(BigDecimal.ZERO);
|
||||
// userInfo.setChargeAmount(BigDecimal.ZERO);
|
||||
// userInfo.setLineOfCredit(BigDecimal.ZERO);
|
||||
// userInfo.setConsumeNumber(0);
|
||||
// userInfo.setConsumeAmount(BigDecimal.ZERO);
|
||||
// userInfo.setTotalScore(0);
|
||||
// userInfo.setLockScore(0);
|
||||
// userInfo.setHeadImg("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240411/a2be5869bfa24d72a4782f695cc53ed1.png");
|
||||
// userInfo.setNickName(ObjectUtil.isNotNull(nickName) ? nickName : "微信用户");
|
||||
// userInfo.setTelephone(telephone);
|
||||
// userInfo.setMiniAppOpenId(openId);
|
||||
// userInfo.setStatus(Byte.parseByte("1"));
|
||||
// userInfo.setParentType("PERSON");
|
||||
// userInfo.setIsResource(Byte.parseByte("0"));
|
||||
// userInfo.setIsOnline(Byte.parseByte("0"));
|
||||
// userInfo.setIsVip(Byte.parseByte("0"));
|
||||
// userInfo.setSourcePath("WECHAT-APP");
|
||||
// userInfo.setIsAttentionMp(Byte.parseByte("0"));
|
||||
// userInfo.setSearchWord("||微信用户");
|
||||
// userInfo.setIsPwd("0");
|
||||
// userInfo.setPwd(MD5Utils.md5("123456"));
|
||||
// userInfo.setLastLogInAt(System.currentTimeMillis());
|
||||
// userInfo.setCreatedAt(System.currentTimeMillis());
|
||||
// userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbUserInfoMapper.insert(userInfo);
|
||||
// }
|
||||
// }
|
||||
// //生成token 信息
|
||||
// String token = TokenUtil.generateToken(userInfo.getId(), userInfo.getMiniAppOpenId(), userInfo.getTelephone(), userInfo.getNickName());
|
||||
//
|
||||
// Map<String, Object> map = new HashMap<>();
|
||||
// try {
|
||||
// map.put("token", token);
|
||||
// map.put("userInfo", userInfo);
|
||||
// redisUtil.saveMessage(RedisCst.ONLINE_USER.concat(openId), JSON.toJSONString(map),60*60*24*30L);
|
||||
// //redis里 获取要关注的公众号信息
|
||||
// //userInfo 某字段存储关注公众号的标识
|
||||
//// userInfo.get
|
||||
// //公众号 appid
|
||||
// //展示描述
|
||||
// //图标
|
||||
//// map.put("", );
|
||||
// log.info("登录传参 结果:" + JSONUtil.toJSONString(map));
|
||||
// return Result.success(CodeEnum.SUCCESS, map);
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
//
|
||||
// }
|
||||
// return Result.fail("登录失败");
|
||||
// }
|
||||
|
||||
/**
|
||||
* APP注册
|
||||
*
|
||||
@@ -366,6 +413,53 @@ public class LoginService {
|
||||
return Result.success(CodeEnum.ENCRYPT, tbUserInfo);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Result upPhone(String openId, String phone, String shopId) {
|
||||
TbUserInfo userInfo = tbUserInfoMapper.selectByOpenId(openId);
|
||||
userInfo.setTelephone(phone);
|
||||
userInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
tbUserInfoMapper.updateByPrimaryKeySelective(userInfo);
|
||||
TbShopUser shopUser = tbShopUserMapper.selectByUserIdAndShopId(userInfo.getId().toString(), shopId);
|
||||
if (shopUser != null) if (!shopUser.getIsVip().equals(1) && shopUser.getAmount().equals(BigDecimal.ZERO)) {
|
||||
tbShopUserMapper.deleteByPrimaryKey(shopUser.getId());
|
||||
List<TbShopUser> tbShopUsers = tbShopUserMapper.selectByPhone(phone);
|
||||
if (!CollectionUtils.isEmpty(tbShopUsers)) {
|
||||
for (TbShopUser tbShopUser : tbShopUsers) {
|
||||
tbShopUser.setUserId(userInfo.getId() + "");
|
||||
tbShopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKey(tbShopUser);
|
||||
}
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
}
|
||||
registerShopUser(userInfo,shopId);
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
public void registerShopUser(TbUserInfo userInfo,String shopId) {
|
||||
TbShopUser shopUser = new TbShopUser();
|
||||
shopUser.setName(userInfo.getNickName());
|
||||
shopUser.setSex(userInfo.getSex());
|
||||
shopUser.setBirthDay(userInfo.getBirthDay());
|
||||
shopUser.setLevel(Byte.parseByte("1"));
|
||||
String dynamicCode = RandomUtil.randomNumbers(8);
|
||||
shopUser.setCode(dynamicCode);
|
||||
shopUser.setTelephone(userInfo.getTelephone());
|
||||
shopUser.setAmount(BigDecimal.ZERO);
|
||||
shopUser.setIsVip(Byte.parseByte("0"));
|
||||
shopUser.setCreditAmount(BigDecimal.ZERO);
|
||||
shopUser.setConsumeAmount(BigDecimal.ZERO);
|
||||
shopUser.setConsumeNumber(0);
|
||||
shopUser.setLevelConsume(BigDecimal.ZERO);
|
||||
shopUser.setStatus(Byte.parseByte("1"));
|
||||
shopUser.setShopId(shopId);
|
||||
shopUser.setUserId(userInfo.getId().toString());
|
||||
shopUser.setMiniOpenId(userInfo.getMiniAppOpenId());
|
||||
shopUser.setCreatedAt(System.currentTimeMillis());
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.insert(shopUser);
|
||||
}
|
||||
|
||||
public Result upPass(String userId, String oldPass, String newPass) {
|
||||
TbUserInfo tbUserInfo = tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(userId));
|
||||
if (!tbUserInfo.getPassword().equals(oldPass)) {
|
||||
|
||||
@@ -76,8 +76,8 @@ public class ProductService {
|
||||
try{
|
||||
if (ObjectUtil.isEmpty(shopUser)) {
|
||||
TbUserInfo tbUserInfo = tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(userId));
|
||||
shopUser = tbShopUserMapper.selectByPhoneAndShopId(tbUserInfo.getTelephone(), shopId);
|
||||
if(ObjectUtil.isEmpty(shopUser)){
|
||||
// shopUser = tbShopUserMapper.selectByPhoneAndShopId(tbUserInfo.getTelephone(), shopId);
|
||||
// if(ObjectUtil.isEmpty(shopUser)){
|
||||
shopUser=new TbShopUser();
|
||||
shopUser.setName(tbUserInfo.getNickName());
|
||||
shopUser.setSex(tbUserInfo.getSex());
|
||||
@@ -99,11 +99,11 @@ public class ProductService {
|
||||
shopUser.setCreatedAt(System.currentTimeMillis());
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.insert(shopUser);
|
||||
}else {
|
||||
shopUser.setUserId(userId);
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKey(shopUser);
|
||||
}
|
||||
// }else {
|
||||
// shopUser.setUserId(userId);
|
||||
// shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbShopUserMapper.updateByPrimaryKey(shopUser);
|
||||
// }
|
||||
}else {
|
||||
shopUser.setUpdatedAt(System.currentTimeMillis());
|
||||
tbShopUserMapper.updateByPrimaryKey(shopUser);
|
||||
|
||||
@@ -424,9 +424,10 @@
|
||||
tb_shop_user u
|
||||
left join tb_shop_info i on u.shop_id=i.id
|
||||
WHERE
|
||||
u.user_id = #{userId}
|
||||
u.user_id = #{userId}
|
||||
and is_vip = 1
|
||||
<if test="shopId != null and shopId !=''">
|
||||
and shop_id = #{shopId}
|
||||
and shop_id = #{shopId}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user