From c257996813629f5d4ddd2103e5306da3531ada16 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 31 八月 2022 16:09:52 +0800 Subject: [PATCH] 更新部分接口 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 171 insertions(+), 1 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java index c2ce65d..4bed438 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java @@ -119,7 +119,6 @@ sb.append((int) (random.nextDouble() * 10)); } String authCode = sb.toString(); - authCode="1234"; String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!"; //发送验证码短信 @@ -468,6 +467,7 @@ loginWarpper.setToken(token); loginWarpper.setAppid(UUIDUtil.getRandomCode()); loginWarpper.setPhone(ToolUtil.isNotEmpty(userInfo.getPhone()) ? 2 : 1); + loginWarpper.setEmail(ToolUtil.isNotEmpty(userInfo.getEmail()) ? 2 : 1); loginWarpper.setEmergencyContact(userInfo.getEmergencyContact()); loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber()); if(uid!=null){ @@ -537,8 +537,114 @@ loginWarpper.setToken(token); loginWarpper.setAppid(UUIDUtil.getRandomCode()); loginWarpper.setPhone(ToolUtil.isNotEmpty(userInfo.getPhone()) ? 2 : 1); + loginWarpper.setEmail(ToolUtil.isNotEmpty(userInfo.getEmail()) ? 2 : 1); loginWarpper.setEmergencyContact(userInfo.getEmergencyContact()); loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber()); + return ResultUtil.success(loginWarpper); + } + + + @Override + public ResultUtil facebookLogin(String id, String name, String email, String registAreaCode, Integer uid) throws Exception { + UserInfo userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("faceBookId", id).ne("flag", 3)); + if(null == userInfo){ + userInfo = new UserInfo(); + userInfo.setEmail(email); + userInfo.setNickName(name); + userInfo.setIsAuth(1); + userInfo.setConsumption(0D); + userInfo.setBalance(0D); + userInfo.setIntegral(0); + userInfo.setPassWord(ShiroKit.md5("", salt)); + userInfo.setFaceBookId(id); + userInfo.setState(1); + userInfo.setFlag(1); + userInfo.setInsertTime(new Date()); + userInfo.setFreeMoney(new BigDecimal(0)); + + Double money = this.userInfoMapper.queryFreeMOney(); + if(money!=null){ + userInfo.setFreeMoney(BigDecimal.valueOf(money)); + } + if(null!=uid){ + userInfo.setUid(uid); + //微信登录只能是乘客用户分享 + userInfo.setuType(1); + } + //用户所属企业 + if(null != registAreaCode){ + Company query = companyCityService.query(registAreaCode); + userInfo.setCompanyId(null != query ? query.getId() : null); + userInfo.setRegistAreaCode(registAreaCode); + } + this.insert(userInfo); + + this.addCoupon(userInfo);//添加优惠券 + + UserInfo finalUserInfo = userInfo; + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){ + //上传数据 + pushMinistryOfTransportUtil.baseInfoPassenger(finalUserInfo.getId()); + } + } + }).start(); + } + + if(userInfo.getState() == 2){ + return ResultUtil.error("账号被冻结"); + } + + //调用单点登录的逻辑 + this.singlePointLogin(userInfo.getId()); + + String token = this.getToken(userInfo, ""); + LoginWarpper loginWarpper = new LoginWarpper(); + loginWarpper.setId(userInfo.getId()); + loginWarpper.setToken(token); + loginWarpper.setAppid(UUIDUtil.getRandomCode()); + loginWarpper.setPhone(ToolUtil.isNotEmpty(userInfo.getPhone()) ? 2 : 1); + loginWarpper.setEmail(ToolUtil.isNotEmpty(userInfo.getEmail()) ? 2 : 1); + loginWarpper.setEmergencyContact(userInfo.getEmergencyContact()); + loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber()); + if(uid!=null){ + userInfo = userInfoMapper.selectById(uid); + List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo.getCompanyId()); + Date date = new Date(); + for(Map<String, Object> map : query){ + Double lavePrice = Double.valueOf(map.get("lavePrice").toString()); + for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){ + //判断当前优惠券金额是否大于可发放剩余总金额 + if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){ + break; + } + UserCouponRecord userCouponRecord = new UserCouponRecord(); + userCouponRecord.setActivityType(3); + userCouponRecord.setCouponActivityId(Integer.valueOf(String.valueOf(map.get("id")))); + userCouponRecord.setCouponId(Integer.valueOf(String.valueOf(map.get("couponId")))); + userCouponRecord.setState(1); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + Integer.valueOf(String.valueOf(map.get("effective")))); + userCouponRecord.setExpirationTime(calendar.getTime()); + userCouponRecord.setCouponType(Integer.valueOf(String.valueOf(map.get("couponType")))); + userCouponRecord.setCouponUseType(Integer.valueOf(String.valueOf(map.get("couponUseType")))); + userCouponRecord.setInsertTime(date); + userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(map.get("fullMoney")))); + userCouponRecord.setMoney(Double.valueOf(String.valueOf(map.get("money")))); + userCouponRecord.setCompanyId(userInfo.getCompanyId()); + userCouponRecord.setUserId(uid); + userCouponRecordService.insert(userCouponRecord); + //修改剩余可发放总金额 + lavePrice -= Double.valueOf(String.valueOf(map.get("money"))); + } + UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString())); + uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + userActivityInviteMapper.updateById(uai); + } + } return ResultUtil.success(loginWarpper); } @@ -628,6 +734,7 @@ loginWarpper.setToken(token); loginWarpper.setAppid(UUIDUtil.getRandomCode()); loginWarpper.setPhone(2); + loginWarpper.setEmail(2); return ResultUtil.success(loginWarpper); } @@ -640,6 +747,67 @@ return ResultUtil.success(new LoginWarpper()); } + + @Override + public ResultUtil bindingEmail(Integer uid, Integer type, String email, String code) throws Exception { + boolean b = this.checkCaptcha(email, code); + if(!b){ + return ResultUtil.error("验证码无效"); + } + UserInfo userInfo = this.selectById(uid); + UserInfo userInfo1 = userInfoMapper.queryByEmail(email); + if(null != userInfo1){ + userInfo1.setOpenId(userInfo.getOpenId()); + userInfo1.setUnionid(userInfo.getUnionid()); + userInfo1.setAppletsOpenId(userInfo.getAppletsOpenId()); + userInfo1.setAvatar(userInfo.getAvatar()); + userInfo1.setSex(userInfo.getSex()); + userInfo1.setNickName(userInfo.getNickName()); + this.updateById(userInfo1); + + this.deleteById(userInfo.getId());//删除原有数据 + //还原之前账号领取的注册优惠券 + List<UserCouponRecord> list = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("userId", userInfo.getId())); + for(UserCouponRecord ucr : list){ + if(ucr.getActivityType() == 1){//赠送 + + } + if(ucr.getActivityType() == 2){//注册 + UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectById(ucr.getCouponActivityId()); + userActivityRegistered.setLaveNum(userActivityRegistered.getLaveNum() + 1); + userActivityRegistered.setLavePrice(userActivityRegistered.getLavePrice() + ucr.getMoney()); + userActivityRegisteredService.updateById(userActivityRegistered); + } + if(ucr.getActivityType() == 3){//邀请 + + } + if(ucr.getActivityType() == 4){//充值 + + } + userCouponRecordService.deleteById(ucr.getId()); + } + + + //获取新的token等数据 + String token = this.getToken(userInfo1, ""); + LoginWarpper loginWarpper = new LoginWarpper(); + loginWarpper.setId(userInfo1.getId()); + loginWarpper.setToken(token); + loginWarpper.setAppid(UUIDUtil.getRandomCode()); + loginWarpper.setPhone(2); + loginWarpper.setEmail(2); + return ResultUtil.success(loginWarpper); + } + + userInfo.setEmail(email); + userInfo.setUpdateTime(new Date()); + userInfo.setUpdateUser(userInfo.getId()); + this.updateById(userInfo); + if(type == 1){//注册成功后发送邮件 + EmailUtil.getMimeMessage(email, "注册账户", ""); + } + return ResultUtil.success(new LoginWarpper()); + } /** * 从redis中获取数据 @@ -784,6 +952,8 @@ UserInfo userInfo = this.selectById(uid); userInfo.setPassWord(ShiroKit.md5(password, salt)); this.updateById(userInfo); + //发送邮件 + EmailUtil.getMimeMessage(userInfo.getEmail(), "修改密码", ""); return ResultUtil.success(); } -- Gitblit v1.7.1