> 文档中心 > 微信小程序 宠物社区源码

微信小程序 宠物社区源码


1、项目介绍

本项目是一个宠物们的社交平台,可以在这里发布领养、寻宠信息。同时也提供了宠物社区,分享宠友们与爱宠的沙雕日常!!

分为小程序前端、小程序后端后台前端、后台后端四个项目。

  • 小程序前端使用 uniapp 框架,适配性多,在页面的打开和渲染效率上更快,可大大增加用户体验。
  • 后端使用 Java 主流框架 Springboot、Spring security、Redis、Mybatis-plus。
  • 后台前端使用 vue、ElementUI。
  • 后台后端使用若依框架,Springboot、Spring security、Redis、Mybatis、Jwt。

2、功能列表

  • 宠物领养
  • 宠物走失
  • 每日签到
  • 宠物科普
  • 每日答题
  • 宠物社区
  • 文章发布
  • 咨询对话
  • 个人中心
  • 消息列表
  • 我的收藏

3、相关截图

小程序截图

微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码

后台截图

微信小程序 宠物社区源码 微信小程序 宠物社区源码 微信小程序 宠物社区源码

4、项目目录

微信小程序 宠物社区源码 微信小程序 宠物社区源码

部分代码

@Slf4j@AllArgsConstructor@Servicepublic class PetAdoptServiceImpl implements PetAdoptService {    private final PetAdoptMapper petAdoptMapper;    private final AliYunOssProperties ossProperties;    private final WxUserMapper wxUserMapper;    private final PetFindService petFindService;    @Override    public void addPetAdopt(AddPetAdoptDTO req) { PetAdopt petAdopt = ResponseBeanFactory.getPetAdopt(req, ossProperties.getUrlPrefix()); petAdoptMapper.insert(petAdopt); log.info("执行成功[发布宠物领养]");    }    @Override    public List<PetAdoptVO> queryAdoptList(QueryAdoptDTO req) { IPage<PetAdopt> page = new Page<>(req.getPageNum(), req.getPageSize()); IPage<PetAdopt> iPage = petAdoptMapper.selectPage(page, Wrappers.<PetAdopt>lambdaQuery()  .eq(StringUtils.isNotBlank(req.getOpenId()), PetAdopt::getOpenId, req.getOpenId())  .eq(StringUtils.isNotBlank(req.getCity()), PetAdopt::getCity, req.getCity())  .orderByDesc(PetAdopt::getCreateTime)); List<PetAdoptVO> petAdoptVOS = iPage.getRecords().stream()  .map(PetAdoptVO::fromPetAdopt).collect(Collectors.toList()); log.info("执行成功[查询领养列表]"); return petAdoptVOS;    }    @Override    public AdoptAndUserVO getPetAdoptById(Integer adoptId) { PetAdopt petAdopt = petAdoptMapper.selectById(adoptId); PetAdopt adopt = new PetAdopt(); adopt.setId(adoptId); adopt.setView(petAdopt.getView() + 1); petAdoptMapper.updateById(adopt); // 送养人信息 WxUser wxUser = wxUserMapper.selectOne(Wrappers.<WxUser>lambdaQuery().eq(WxUser::getOpenId, petAdopt.getOpenId())); // 正在送养数量 Integer finishingCount = petAdoptMapper.selectCount(Wrappers.<PetAdopt>lambdaQuery()  .eq(PetAdopt::getOpenId, wxUser.getOpenId())  .eq(PetAdopt::getIsFinish, FinishStatusEnum.FINISHING.code())); // 已送养数量 Integer finishedCount = petAdoptMapper.selectCount(Wrappers.<PetAdopt>lambdaQuery()  .eq(PetAdopt::getOpenId, wxUser.getOpenId())  .eq(PetAdopt::getIsFinish, FinishStatusEnum.FINISHED.code())); AdoptAndUserVO resultVO = AdoptAndUserVO.builder()  .petAdoptVO(PetAdoptVO.fromPetAdopt(petAdopt))  .wxUserVO(WxUserVO.fromWxUser(wxUser))  .build(); resultVO.getWxUserVO().setDoingNum(finishingCount); resultVO.getWxUserVO().setDoneNum(finishedCount); log.info("执行成功[查询领养详情]adoptId={}", adoptId); return resultVO;    }    @Override    public PetCountVO queryCount(String openId) { Integer petAdoptCount = petAdoptMapper.selectCount(Wrappers.<PetAdopt>lambdaQuery().eq(PetAdopt::getOpenId, openId)); Integer petFindCount = petFindService.queryCount(openId); log.info("执行成功[查询领养/寻宠总数],openId={}", openId); return PetCountVO.builder()  .petAdoptCount(petAdoptCount)  .petFindCount(petFindCount)  .build();    }    @Override    public List<PetAdoptVO> queryAdoptsInIds(QueryAdoptsInDTO req) { if (req.getIds().isEmpty()) {     return Collections.emptyList(); } Page<PetAdopt> page = new Page<>(req.getPageNum(), req.getPageSize()); Page<PetAdopt> iPage = petAdoptMapper.selectPage(page, Wrappers.<PetAdopt>lambdaQuery()  .in(PetAdopt::getId, req.getIds())); List<PetAdopt> petAdopts = iPage.getRecords(); if (petAdopts.isEmpty()) {     return Collections.emptyList(); } List<PetAdoptVO> petAdoptVOS = petAdopts.stream()  .map(PetAdoptVO::fromPetAdopt).collect(Collectors.toList()); log.info("执行成功[查询领养列表]"); return petAdoptVOS;    }}

可用作毕业设计

有需要前后端源码的,可私聊看演示。