大家好,我是程序员小孟。
现在有很多的产品或者工具都开始信息话了,寺庙或者佛教也需要小程序吗?
当然了!
前面我们还开发了很多寺庙相关的小程序,都有相关的介绍:
1,优质的寺庙小程序-H5寺庙网页
今天要介绍的是另一款寺庙系统,该系统可以作为小程序、H5网页、安卓端。
这个寺庙小程序的功能非常多。
一,系统的用途
系统的用途该系统用于线上的祭奠、纪念亲人、名人、朋友,同时可以在线放生,同时管理员可以对小程序端所有的信息进行管理。
该小程序适用各大寺庙。
二,系统的功能需求
用户:登录、注册、纪念台查看、在线祭拜、在线放生、名人馆查看、在线祭拜名人、新建纪念馆,查看亲友馆、查看家族纪念馆、祈福台查看、在线寄语、对寄语进行在线点赞、评论、AI和亲人对话、在线商城、在线赠与商衣服,可以赠与师傅衣服,纪念台可以查看简介、生平事迹、相册、回音、寄语、我的信息查看。
管理员:用户管理、纪念台管理、祭拜管理、放生管理、放生的动物管理、在线名人信息管理、纪念馆管理、家族纪念信息管理、祈福台信息管理、寄语管理、寄语的评论管理、AI管理、商城商品管理、赠与订单管理、生平事迹管理、相册管理、寄语管理、数据统计。
三,系统的技术栈
因为客户没有技术方面的要求,那就按照我习惯用的技术开发的,无所谓什么最新不最新技术了。
小程序:uniapp
后台框架:SpringBoot,
数据库采用的Mysql,
后端的页面采用的Vue进行开发,
缓存用的Redis,
搜索引擎采用的是elasticsearch,
ORM层框架:MyBatis,
连接池:Druid,
分库分表:MyCat,
权限:SpringSecurity,
代码质量检查:sonar。
看下系统的功能框架图应该更加清楚:
四,系统演示
五,系统核心代码
package com.example.controller;import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.example.common.Result;
import com.example.entity.ChaobaInfo;
import com.example.service.ChaobaInfoService;
import com.example.vo.ChaobaInfoVo;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;@RestController
@RequestMapping(value = "/chaobaInfo")
public class ChaobaInfoController {@Resourceprivate ChaobaInfoService chaobaInfoService;@PostMappingpublic Result<ChaobaInfo> add(@RequestBody ChaobaInfo chaobaInfo) {chaobaInfoService.add(chaobaInfo);return Result.success(chaobaInfo);}@DeleteMapping("/{id}")public Result delete(@PathVariable Long id) {chaobaInfoService.delete(id);return Result.success();}@PutMappingpublic Result update(@RequestBody ChaobaInfo chaobaInfo) {chaobaInfoService.update(chaobaInfo);return Result.success();}@PutMapping("/zhifu")public Result zhifu(@RequestBody ChaobaInfo chaobaInfo) {chaobaInfoService.zhifu(chaobaInfo);return Result.success();}@GetMapping("/{id}")public Result<ChaobaInfo> detail(@PathVariable Long id) {ChaobaInfo chaobaInfo = chaobaInfoService.findById(id);return Result.success(chaobaInfo);}@GetMapping("/getByUserId/{id}")public Result<List<ChaobaInfo>> getByUserId(@PathVariable Long id) {return Result.success( chaobaInfoService.getByUserId(id));}@GetMappingpublic Result<List<ChaobaInfo>> all() {return Result.success(chaobaInfoService.findAll());}@PostMapping("/page")public Result<PageInfo<ChaobaInfo>> page(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "10") Integer pageSize,@RequestBody ChaobaInfoVo chaobaInfo,HttpServletRequest request) {return Result.success(chaobaInfoService.findPage(pageNum, pageSize,chaobaInfo));}@PostMapping("/getExcel")public void getExcel(HttpServletResponse response,@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "10") Integer pageSize,@RequestBody ChaobaInfoVo chaobaInfo) throws IOException {// 1. 生成excelMap<String, Object> row = new LinkedHashMap<>();row.put("address","地址");row.put("yangshangren","阳上人");row.put("xingshi","姓氏");row.put("wangren","亡人");row.put("telephone","电话");row.put("wangxijinsheng","往昔今生");row.put("jine","金额");row.put("username","操作用户");List<Map<String, Object>> list = CollUtil.newArrayList(row);PageHelper.startPage(pageNum,pageSize);List<Map<String, Object>> daochuexcellist = chaobaInfoService.daochuexcel(chaobaInfo);List<Map<String, Object>> resultList = PageInfo.of(daochuexcellist).getList();for (Map<String, Object> map : resultList) {list.add(map);}// 2. 写excelExcelWriter writer = ExcelUtil.getWriter(true);writer.write(list, true);response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");response.setHeader("Content-Disposition","attachment;filename=chaoba.xlsx");ServletOutputStream out = response.getOutputStream();writer.flush(out, true);writer.close();IoUtil.close(System.out);}
}
package com.example.controller;import com.example.common.Result;
import com.example.entity.AdvertiserInfo;
import com.example.service.AdvertiserInfoService;
import com.example.vo.ChaobaInfoVo;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;@RestController
@RequestMapping(value = "/advertiserInfo")
public class AdvertiserInfoController {@Resourceprivate AdvertiserInfoService advertiserInfoService;@PostMappingpublic Result<AdvertiserInfo> add(@RequestBody AdvertiserInfo advertiserInfo) {advertiserInfoService.add(advertiserInfo);return Result.success(advertiserInfo);}@DeleteMapping("/{id}")public Result delete(@PathVariable Long id) {advertiserInfoService.delete(id);return Result.success();}@PutMappingpublic Result update(@RequestBody AdvertiserInfo advertiserInfo) {advertiserInfoService.update(advertiserInfo);return Result.success();}@GetMapping("/{id}")public Result<AdvertiserInfo> detail(@PathVariable Long id) {AdvertiserInfo advertiserInfo = advertiserInfoService.findById(id);return Result.success(advertiserInfo);}@GetMappingpublic Result<List<AdvertiserInfo>> all() {return Result.success(advertiserInfoService.findAll());}@GetMapping("/getNew")public Result<List<AdvertiserInfo>> getNew() {return Result.success(advertiserInfoService.getNew());}@PostMapping("/page")public Result<PageInfo<AdvertiserInfo>> page( @RequestBody AdvertiserInfo advertiserInfo,@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "10") Integer pageSize,HttpServletRequest request) {return Result.success(advertiserInfoService.findPage(advertiserInfo.getName(), pageNum, pageSize, request));}@PostMapping("/front/page")public Result<PageInfo<AdvertiserInfo>> page(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "4") Integer pageSize,HttpServletRequest request) {return Result.success(advertiserInfoService.findFrontPage(pageNum, pageSize, request));}
}
我是程序员小孟,专注软件开发,系统分享,有问题的小伙伴,欢迎交流。
感谢三联,点赞、关注!