广西响应式网站平台,公司网站建设详细方案,软件系统设计方案,微信免费开发平台网站首页#xff1a;
用户登录/注册#xff1a;用户注册时进行用户名及笔名存在的限制热门小说推荐#xff1a;显示小说名及作者名#xff0c;点击进入对应小说小说类别#xff1a;玄幻#xff0c;武侠#xff0c;言情#xff0c;历史等#xff0c;点击对用分类到分类…网站首页
用户登录/注册用户注册时进行用户名及笔名存在的限制热门小说推荐显示小说名及作者名点击进入对应小说小说类别玄幻武侠言情历史等点击对用分类到分类下所有小说最新小说显示新更新的小说名称点击进入对应小说查询根据小说名/笔名进行查询
登录注册
注册用户注册时进行用户名及笔名存在的限制存在则不能注册成功显示已存在登录登录有用户名密码及图片验证的校验
用户
网站首页个人信息管理邮箱用户名笔名对小说进行评价在线阅读小说收费作品需要充值才能浏览章节目录添加到书架下一章的点击按钮购买VIP每本付费小说下都能跳转到充值界面未充值的用户浏览收费小说自动跳转到充值界面充值后显示VIP剩余日期我的全部作品添加小说小说名小说封面收费/免费小说分类小说简介删除小说章节管理更新章节删除章节更改小说完结状态我的书架可以进行查看及删除阅读记录可以进行查看及删除
后台管理
用户管理有删除用户的权限订单管理所有购买VIP的订单的删除及查询书评管理书评敏感词审查及删除分类管理添加删除分类所管理的分类在用户添加小说时给一个下拉框进行选择 package com.novel.controller;import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.novel.entity.Order;
import com.novel.entity.User;
import com.novel.service.OrderService;
import com.novel.util.AlipayConfig;
import com.novel.util.DateUtil;
import com.novel.util.Msg;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
/*** Author: * Date: 2024/3/11 14:29* Description: 订单管理*/
Controller
RequestMapping(/order)
public class OrderController {Autowiredprivate OrderService orderService;/*** 跳转到后台订单管理* return*/RequestMapping(show)public String show(){return orderManage;}/*** 订单列表* param pn* return*/RequestMapping(/showjson)ResponseBodypublic Msg getAllGoods(RequestParam(value page,defaultValue 1) Integer pn, HttpServletResponse response, Model model) {//一页显示几个数据PageHelper.startPage(pn, 10);ListOrder orderList orderService.selectOrderList();orderList.forEach(order - {order.setCreatetime1(DateUtil.getStringDate(order.getCreatetime()));order.setStarttime1(DateUtil.getStringDate(order.getStarttime()));order.setEndtime1(DateUtil.getStringDate(order.getEndtime()));});//显示几个页号PageInfo page new PageInfo(orderList,5);return Msg.success(查询成功!).add(pageInfo, page);}/*** 删除* param id* return*/RequestMapping(value /delete/{id}, method RequestMethod.DELETE)ResponseBodypublic Msg deleteUser(PathVariable(id)Integer id) {orderService.deleteByPrimaryKey(id);return Msg.success(删除成功!);}/*** 跳转到充值页面*/RequestMapping(toPayPage)public String toPayPage(HttpSession session, Model model){User user (User) session.getAttribute(user);if(usernull){return login;}Order order orderService.selectOneOrder(user.getUserid());if(order!null){int i new Date().compareTo(order.getEndtime());if(i0 || DateUtil.getStringDate(new Date()).equals(DateUtil.getStringDate(order.getEndtime()))){model.addAttribute(endtime,DateUtil.getStringDate(order.getEndtime()));}else{model.addAttribute(endtime,已过期上次到期日DateUtil.getStringDate(order.getEndtime()));}}else{model.addAttribute(endtime,无充值记录);}return pay;}/*** 用户充值支付*/RequestMapping(userPay)public void pay(Integer month,HttpServletResponse rep, Model model,HttpSession session){User user (User) session.getAttribute(user);session.setAttribute(month,month);//接入支付宝沙箱支付
//获得初始化的AlipayClientAlipayClient alipayClient new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, json, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);//设置请求参数AlipayTradePagePayRequest alipayRequest new AlipayTradePagePayRequest();alipayRequest.setReturnUrl(AlipayConfig.return_url);//alipayRequest.setNotifyUrl(AlipayConfig.notify_url);try{//商户订单号商户网站订单系统中唯一订单号必填String out_trade_no UUID.randomUUID().toString();//付款金额必填int total month*10;String total_amount String.valueOf(total);//订单名称必填String subject 用户user.getUsername()订单;//商品描述可空String body ;alipayRequest.setBizContent({\out_trade_no\:\ out_trade_no \, \total_amount\:\ total_amount \, \subject\:\ subject \, \body\:\ body \, \product_code\:\FAST_INSTANT_TRADE_PAY\});//请求String result alipayClient.pageExecute(alipayRequest).getBody();rep.setContentType(text/html;charset AlipayConfig.charset);//直接将完整的表单html输出到页面rep.getWriter().write(result);rep.getWriter().flush();rep.getWriter().close();}catch (Exception e){e.printStackTrace();}}/*** 支付成功以后回调* return*/RequestMapping(payreturn)public String payreturn(HttpSession session,Model model){User user (User) session.getAttribute(user);int month (int) session.getAttribute(month);Order order orderService.selectOneOrder(user.getUserid());int num0;if(order!null){int i new Date().compareTo(order.getEndtime());if(i0 || DateUtil.getStringDate(new Date()).equals(DateUtil.getStringDate(order.getEndtime()))){//更新order.setEndtime(DateUtil.subMonth(order.getEndtime(),month));order.setMonth(order.getMonth()month);order.setTotalmoney(order.getTotalmoney()(month*10));orderService.updateByPrimaryKey(order);}else{num;}}else{num;}if(num0){order new Order();order.setUserid(user.getUserid());order.setUsername(user.getUsername());order.setCreatetime(new Date());order.setStarttime(new Date());order.setEndtime(DateUtil.subMonth(new Date(),month));order.setMonth(month);order.setTotalmoney(month*10);orderService.insert(order);}session.setAttribute(uservip,1);return redirect:/order/toPayPage;}}package com.novel.controller;import com.novel.entity.Category;
import com.novel.entity.Novel;
import com.novel.entity.NovelDetails;
import com.novel.entity.User;
import com.novel.service.CategoryService;
import com.novel.service.NovelDetailsService;
import com.novel.service.NovelService;
import com.novel.util.DateUtil;
import com.novel.util.Msg;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.UUID;Controller
RequestMapping(usernovel)
public class NovelController {Autowiredprivate NovelService novelService;Autowiredprivate NovelDetailsService novelDetailsService;Autowiredprivate CategoryService categoryService;RequestMapping(queryNovel)public String queryNovel(Model model,Novel record){if(recordnull){model.addAttribute(novelList,null);}else{ListNovel novelList novelService.selectAllNovel(record);model.addAttribute(novelList,novelList);}return serch;}RequestMapping(addNovel)public String insert( Novel novel, RequestParam MultipartFile fileToUpload, HttpServletRequest request, HttpServletResponse response, HttpSession session){User user (User) session.getAttribute(user);novel.setUserid(user.getUserid());novel.setPenname(user.getPenname());novel.setCreatetime(DateUtil.getStringDate(new Date()));novel.setUpdatetime(DateUtil.getStringDate());novel.setEndfinsh(0);//上传图片String name UUID.randomUUID().toString();String newFileName name .jpg;File newFile new File(request.getServletContext().getRealPath(/image), newFileName);newFile.getParentFile().mkdirs();try {fileToUpload.transferTo(newFile);} catch (IOException e) {e.printStackTrace();}novel.setImgpath(image/newFileName);Category category categoryService.selectByPrimaryKey(novel.getCategoryId());novel.setCategoryName(category.getCategoryname());novelService.insert(novel);return redirect:/usernovel/novelList;}/*** 我的所有小说* param session* param model* return*/RequestMapping(novelList)public String novelList( HttpSession session,Model model){User user (User) session.getAttribute(user);Novel novel123 new Novel();novel123.setUserid(user.getUserid());ListNovel novelList novelService.selectAllNovel(novel123);model.addAttribute(novelList,novelList);ListCategory categoryList categoryService.selectByCategory();model.addAttribute(categoryList,categoryList);return user_novel;}/*** 删除小说* param novel* return*/RequestMapping(/deleteNovel)ResponseBodypublic Msg deleteAddr(Novel novel) {novelService.deleteByPrimaryKey(novel.getNovelid());return Msg.success(删除成功);}/*** 修改小说* return*/RequestMapping(editNovel)public String editNovel(Novel novel,HttpSession session,Model model){novelService.updateByPrimaryKeySelective(novel);return redirect:/usernovel/novelList;}/*** 完结小说* return*/RequestMapping(endNovel)public String endNovel(Novel novel){novel.setEndfinsh(1);novelService.updateByPrimaryKeySelective(novel);return redirect:/usernovel/novelList;}/*** 查询某个小说下所有章节*/RequestMapping(queryNovelByNovelId)public String queryNovelByNovelId(Integer novelId,Model model){Novel novel novelService.selectByPrimaryKey(novelId);ListNovelDetails novelDetailsList novelDetailsService.selectAllNovelIdASC(novelId);model.addAttribute(novelDetailsList,novelDetailsList);model.addAttribute(novel,novel);return user_novel_detail;}/*** 跳转到添加章节页面* return*/RequestMapping(toAddUserNovelDetail)public String toAddUserNovelDetail(Model model,Integer novelId){Novel novel novelService.selectByPrimaryKey(novelId);model.addAttribute(novel,novel);return user_addnoveldetail;}/*** 添加小说章节* param novelDetails* return*/RequestMapping(addNovelDetail)public String addNovelDetail(NovelDetails novelDetails){String dateTime DateUtil.getStringDate();novelDetails.setCreatetime(dateTime);novelDetailsService.insert(novelDetails);Novel novel novelService.selectByPrimaryKey(novelDetails.getNovelid());novel.setUpdatetime(dateTime);novelService.updateByPrimaryKey(novel);return redirect:/usernovel/queryNovelByNovelId?novelIdnovelDetails.getNovelid();}/*** 删除小说章节* return*/RequestMapping(deleteNovekDetail)public String deleteNovekDetail(Integer detailsid,Integer novelId){NovelDetails novelDetails novelDetailsService.selectByPrimaryKey(detailsid);novelDetailsService.deleteByPrimaryKey(detailsid);return redirect:/usernovel/queryNovelByNovelId?novelIdnovelDetails.getNovelid();}}