diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java index df029b0..2961e4b 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java @@ -96,19 +96,15 @@ public class LoginContoller { * @return */ @RequestMapping("/wx/custom/login") - public Result wxCustomLogin(HttpServletRequest request, @RequestBody Map map -// , -// @RequestParam(value = "rawData", required = false) String rawData, -// @RequestParam(value = "signature", required = false) String signature - ) { + public Result wxCustomLogin(HttpServletRequest request, @RequestBody Map 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 map) { +// public Result getPhoneNumber(@RequestBody Map 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 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); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/UserContoller.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/UserContoller.java index 795e00f..a3f0cd3 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/UserContoller.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/UserContoller.java @@ -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); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java index f25fae7..f4e4ab3 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java @@ -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 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 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 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 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 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 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 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)) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java index 89edf00..70a3ee6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java @@ -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); diff --git a/src/main/resources/mapper/TbShopUserMapper.xml b/src/main/resources/mapper/TbShopUserMapper.xml index 0feb3d9..81b88c4 100644 --- a/src/main/resources/mapper/TbShopUserMapper.xml +++ b/src/main/resources/mapper/TbShopUserMapper.xml @@ -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 - and shop_id = #{shopId} + and shop_id = #{shopId} \ No newline at end of file