千纸情缘交友平台程序设计 毕业设计设

源码地址:相亲平台: 相亲网站开发。。。。。。。https://gitee.com/beimu_yc/dating-ping-t.git

注册页面:完成会员账号的注册,可以尝试手机验证码校验。

推荐页面:筛选排序会员信息。

会员详情页面:会员详细信息以及留言。

活动页面:查询、参加平台发起的活动。

红娘页面:查看、搜索红娘信息。

视频页面:查看会员发布的视频。

学堂页面:展示婚恋的一些文章或者视频学习资料。

我的页面:管理会员个人基本信息。

消息页面:会员、平台之间的留言、回复信息。

项目实现与关键代码

 @RestController
@RequestMapping("/api/service")
public class InterfaceApiController {
    
    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    @Autowired
    private UserService sysUserService;

    @Autowired
    private JavaMailSender javaMailSender;

    /**
     * 邮箱号
     */
    @Value("${spring.mail.username}")
    private String email;
    
    @ApiOperation(value = "注册时发送邮件验证码")
    @GetMapping("/sendMailCode/{mail}")
    public Result sendMail(@PathVariable String mail) {
        if (!isEmail(mail)) {
//            return Result.fail().message("请输入正确格式的邮箱");
            return Result.error("2001", "请输入正确格式的邮箱");
        }
        //redis邮箱存在则不在发送
        if (redisTemplate.hasKey(mail)) {
            return Result.success("发送成功");
        }
        User sysUserVo = new User();
        sysUserVo.setEmail(mail);
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("email", mail);
        List<User> list = sysUserService.list(wrapper);
        //如果邮箱存在
        if (list.size() != 0) {
            return Result.error("2001", "邮箱已被注册");
        }
        Random random = new Random();
        DecimalFormat sixdf = new DecimalFormat("000000");
        String code = sixdf.format(random.nextInt(1000000));
        try {
            // 存入到redis 邮箱、验证码、时间、单位
            redisTemplate.opsForValue().set(Constants.CAPTCHA_CODE_KEY + mail, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
            // 发送邮件
            //mailServiceApi.sendQQMail(CollUtil.newArrayList(mail), "注册验证码", "您的验证码是:" + code + "," + Constants.CAPTCHA_EXPIRATION + "分钟有效", false);
            SimpleMailMessage message = new SimpleMailMessage();
            message.setSubject("注册验证码");
            message.setText("你的验证码是" + code + "有效期是" + Constants.CAPTCHA_EXPIRATION + "分钟" + "," + "请不要告诉他人哦!");
            message.setFrom(email);
            message.setTo(mail);
            javaMailSender.send(message);

        } catch (Exception e) {
//            return Result.fail("失败").message("发送邮件失败");
            return Result.error("20001", "发送邮件失败");
        }

        return Result.success("正在发送邮件,请注意查收");
    }

    @GetMapping("/sendRetrieveMail/{mail}")
    public Result sendRetrieveMail(@PathVariable String mail) {
//        mail = mail.trim();
        if (!isEmail(mail)) {
            return Result.error("2001", "请输入正确格式的邮箱");
        }
//        //redis邮箱存在则不在发送
//        if (redisTemplate.hasKey("Retrieve-" + mail)) {
//            return Result.ok("发送成功");
//        }
        User sysUserVo = new User();
        sysUserVo.setEmail(mail);
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("email", mail);
        List<User> list = sysUserService.list(wrapper);
        //如果邮箱不存在
        if (list.size() == 0) {
            return Result.error("2001", "账号不存在");
        }
        Random random = new Random();
        DecimalFormat sixdf = new DecimalFormat("000000");
        String code = sixdf.format(random.nextInt(1000000));
        //ALiMail aLiMail = new ALiMail(mail, "找回密码验证码", "您的验证码是:" + code + ",30分钟有效");
        // 存入到redis 邮箱、验证码、时间、单位
        try {
            //redisTemplate.opsForValue().set("Retrieve-" + mail, code, 10, TimeUnit.MINUTES);
            redisTemplate.opsForValue().set(Constants.CAPTCHA_CODE_KEY + mail, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
            //mailServiceApi.sendQQMail(CollUtil.newArrayList(mail), "找回密码验证码", "您的验证码是:" + code + ",30分钟有效", false);
            SimpleMailMessage message = new SimpleMailMessage();
            message.setSubject("找回密码验证码");
            message.setText("您的验证码是" + code + "有效期是" + Constants.CAPTCHA_EXPIRATION + "分钟" + "," + "请不要告诉他人哦!");
            message.setFrom(email);
            message.setTo(mail);
            javaMailSender.send(message);

        } catch (Exception e) {
            return Result.error("2001", "发送邮件失败");
        }
        return Result.success("正在发送邮件,请注意查收");
    }

    public static boolean isEmail(String string) {
        if (string == null) {
            return false;
        }
        String regEx1 = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
        Pattern p;
        Matcher m;
        p = Pattern.compile(regEx1);
        m = p.matcher(string);
        if (m.matches())
            return true;
        else {
            return false;
        }
    }
}

筛选用户

  @ApiOperation("首页展示接口(根据择偶信息展示的) 传id就行")
    @PostMapping("/select/{id}")
    public List<User> select(@PathVariable Integer id) {
        List<User> list = new ArrayList<>();
        User user = userMapper.selectById(id);
        Request request = requestService.queryRequest(user.getId());
//        System.out.println(user.getSex().equals("女"));
        if ("女".equals(user.getSex())){
            list.addAll(requestService.querySex("男"));
        }else {
            list.addAll(requestService.querySex("女"));
        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
        for (User user1 : list) {
            System.out.println(user1.getId());
        }
        if (request.getMaritalStatus() != null) {
            List<User> users = requestService.queryWedding(request.getMaritalStatus());
            if (list.size()>users.size()){
                list.retainAll(users);
            }else {
                users.retainAll(list);
            }
        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
        for (User user1 : list) {
            System.out.println(user1.getId());
        }
        if (request.getMinAge() != null && request.getMaxAge() != null) {
            List<User> users0 = requestService.queryAge(request.getMinAge(), request.getMaxAge());
            System.out.println(users0.size());
            if (list.size()>users0.size()){
                list.retainAll(users0);
            }else {
                users0.retainAll(list);
            }
            System.out.println(users0);
        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
        System.out.println(list);
        if (request.getMinHeight() != null && request.getMaxHeight() != null) {
            List<User> users1 = requestService.queryHeight(request.getMinHeight(), request.getMaxHeight());
            if (list.size()>users1.size()){
                list.retainAll(users1);
                System.out.println(users1);
            }else {
                users1.retainAll(list);
            }
        }
        System.out.println(list);
        if (request.getHouse() != null) {
            List<User> users2 = requestService.queryHouse(request.getHouse());
            if (list.size()>users2.size()){
                list.retainAll(users2);
            }else {
                users2.retainAll(list);
            }
        }
        for (User user1 : list) {
            System.out.println(user1.getId());
        }
        if (request.getCart() != null) {
            List<User> users3 = requestService.queryCar(request.getCart());
            if (list.size()>users3.size()){
                list.retainAll(users3);
            }else {
                users3.retainAll(list);
            }
        }
        if (request.getHuji() != null) {
            List<User> users4 = requestService.queryHuji(request.getHuji());
            if (list.size()>users4.size()){
                list.retainAll(users4);
            }else {
                users4.retainAll(list);
            }
        }
        if (request.getMinXueli() != null) {
            List<User> users5 = requestService.queryXueli(request.getMinXueli());
            if (list.size()>users5.size()){
                list.retainAll(users5);
            }else {
                users5.retainAll(list);
            }
        }
        if (request.getMinIncome() != null) {
            List<User> users6 = requestService.queryIncome(request.getMinIncome());
            if (list.size()>users6.size()){
                list.retainAll(users6);
            }else {
                users6.retainAll(list);
            }
        }
        list.removeIf(user1 -> user1.getSex() == user.getSex());
        System.out.println(list);
        return list;
    }

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y·C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值