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