package com.example.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.example.system.entity.Address;
import com.example.system.entity.Contract;
import com.example.system.entity.Good;
import com.example.system.entity.User;
import com.example.system.service.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpSession;
import java.util.List;
@Controller
@RequestMapping("celebrity")
public class CelebrityViewController {
@Autowired
private ContractService contractService;
@Autowired
private OrderService orderService;
@Autowired
private GoodTypeService goodTypeService;
@Autowired
private AddressService addressService;
@Autowired
private UserService userService;
@Autowired
private GoodService goodService;
@GetMapping("register")
public String getRegister() {
return "/celebrity/register/register";
}
@PostMapping("goods/fuzzy")
@ResponseBody
public List<Good> fuzzySearch(@Param("name") String name){
return goodService.fuzzySearch(name);
}
@GetMapping("getAllGoods")
@ResponseBody
public List<Good> getAllGoods() {
return goodService.getAllGood();
}
// TODO
@GetMapping("index")
public String getIndex(HttpSession session) {
if (session.getAttribute("user") == null) {
return "/celebrity/index";
}
String account = ((User) session.getAttribute("user")).getAccount();
LambdaQueryWrapper<Contract> qw = new LambdaQueryWrapper<>();
qw.eq(Contract::getCelebrity, account);
session.setAttribute("contractNum", contractService.count(qw));
session.setAttribute("contracts", contractService.getContractsByCelebrity(account));
return "/celebrity/index";
}
// TODO 加载页面的model数据
@GetMapping("contract")
public ModelAndView getContractPage(@RequestParam("page") Integer page
, @RequestParam("status") Integer status
, HttpSession session) {
String account = ((User) session.getAttribute("user")).getAccount();
Integer role = ((User) session.getAttribute("user")).getRole();
return contractService.getContractPage(page, status, account, role);
}
// TODO
@GetMapping("quit")
public String quit(HttpSession session) {
session.removeAttribute("user");
return "/celebrity/index";
}
@GetMapping("order")
public String order(){
return "celebrity/order/order";
}
@GetMapping("prompt")
public String prompt() {
return "/prompt";
}
// TODO
// @GetMapping("order")
// public ModelAndView getOrderPage(@RequestParam("page") Integer page
// , @RequestParam("status") Integer status
// , HttpSession session) {
// String account = ((User) session.getAttribute("user")).getAccount();
// return orderService.getOrderPage(account, page, status);
// }
// TODO
@GetMapping("selfInfo")
public ModelAndView getSelfInfo(HttpSession session) {
ModelAndView mv = new ModelAndView("/celebrity/selfInfo/selfInfo");
mv.addObject("allGoodTypes", goodTypeService.list());
return mv;
}
// TODO
@GetMapping("selfInfo/address")
public String getAddress(@RequestParam("page") Integer page, HttpSession session, Model model) {
if (page == 0) page = 1;
int start = (page - 1) * 5;
String account = ((User) session.getAttribute("user")).getAccount();
LambdaQueryWrapper<Address> qw = new LambdaQueryWrapper<>();
qw.eq(Address::getAccount, account);
long m = addressService.count(qw);
model.addAttribute("address", addressService.getUserAddress(account, start));
model.addAttribute("currentPage", page);
model.addAttribute("maxPage", m % 5 == 0 ? m / 5 : m / 5 + 1);
return "/celebrity/selfInfo/address";
}
// TODO
@GetMapping("order/buy/{id}")
public String getCreateOrder(@PathVariable("id") Integer goodId, Model model) {
Good good = goodService.getById(goodId);
model.addAttribute("good", good);
return "/celebrity/order/buy";
}
// TODO
@GetMapping("findEShops")
public ModelAndView getGoodsRecommend(@RequestParam("page") Integer page, HttpSession session) {
// 计算分页起始数据位置
if (page == 0) page = 1;
int start1 = (page - 1) * 6;
int start2 = (page - 1) * 8;
String type = ((User) session.getAttribute("user")).getGoodType();
LambdaQueryWrapper<User> qw = new LambdaQueryWrapper<>();
qw.eq(User::getGoodType, type)
.eq(User::getRole, 0);
List<User> eshops = userService.getByCelebrityType(type, start1);
int i = 0;
for (User eshop : eshops) {
List<Good> goods = goodService.get4(eshop.getAccount());
eshops.get(i).setGoods(goods);
i++;
}
long m = userService.count(qw);
ModelAndView mv = new ModelAndView("/celebrity/findEShops/findEShops");
mv.addObject("eshops", eshops);
mv.addObject("recommendation", goodService.get6Goods(type, start2));
mv.addObject("currentPage", page);
mv.addObject("maxPage", m % 6 == 0 ? m / 6 : m / 6 + 1);
return mv;
}
// TODO
@GetMapping("goodsRecommend")
public ModelAndView getGoodsRecommend2(@RequestParam("page") Integer page, HttpSession session) {
if (page == 0) page = 1;
int start = (page - 1) * 20;
String type = ((User) session.getAttribute("user")).getGoodType();
LambdaQueryWrapper<Good> goodQW = new LambdaQueryWrapper<>();
goodQW.eq(Good::getType, type);
long m = goodService.count(goodQW);
List<Good> goods = goodService.getByCelebrityType(type, start);
int i = 0;
for (Good good : goods) {
LambdaQueryWrapper<User> userQW = new LambdaQueryWrapper<>();
userQW.eq(User::getAccount, good.getEshopAccount());
String eshopName = userService.getOne(userQW).getUsername();
goods.get(i).setEshopName(eshopName);
i++;
}
ModelAndView mv = new ModelAndView("/celebrity/goodsRecommend/goodsRecommend");
mv.addObject("goods", goods);
mv.addObject("currentPage", page);
mv.addObject("maxPage", m % 20 == 0 ? m / 20 : m / 20 + 1);
return mv;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java基于ai推荐的商家网红业务平台源码.zip
共308个文件
java:77个
html:46个
class:45个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 94 浏览量
2022-12-01
11:41:57
上传
评论
收藏 100.47MB ZIP 举报
温馨提示
java基于ai推荐的商家网红业务平台源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
java基于ai推荐的商家网红业务平台源码.zip (308个子文件)
User.class 10KB
Order.class 9KB
UserServiceImpl.class 9KB
Good.class 7KB
ContractServiceImpl.class 7KB
OrderServiceImpl.class 7KB
EAccountController.class 6KB
Address.class 6KB
OrderController.class 6KB
CAccountController.class 6KB
Contract.class 5KB
GoodParams.class 4KB
GoodController.class 4KB
Result.class 4KB
OssProperties.class 3KB
AddressServiceImpl.class 3KB
EContractController.class 3KB
GoodServiceImpl.class 3KB
SelfInfoController.class 3KB
InfoController.class 3KB
Pay_info.class 3KB
EIndexController.class 3KB
CContractController.class 2KB
CIndexController.class 2KB
OssUtil.class 2KB
GlobalExceptionHandler.class 2KB
GoodDao.class 2KB
LoginInterceptor.class 2KB
ContractDao.class 2KB
LoginController.class 2KB
UserDao.class 2KB
WebConfig.class 2KB
GoodType.class 1KB
UserService.class 1KB
GoodService.class 1KB
OrderDao.class 1KB
ContractService.class 1KB
OrderService.class 1KB
MPConfig.class 1003B
AddressService.class 920B
AddressDao.class 870B
SystemApplication.class 803B
GoodTypeServiceImpl.class 738B
GoodTypeDao.class 390B
GoodTypeService.class 329B
bootstrap.min.css 152KB
bootstrap.min.css 152KB
bootstrap.css 138KB
bootstrap.css 138KB
createOrder.css 4KB
createOrder.css 4KB
common.css 3KB
common.css 3KB
order.css 3KB
order.css 3KB
info.css 3KB
info.css 3KB
common.css 2KB
common.css 2KB
findEShops.css 2KB
findEShops.css 2KB
selfInfo.css 2KB
selfInfo.css 2KB
goods.css 1KB
goods.css 1KB
contract.css 967B
contract.css 967B
goodsRecommend.css 694B
goodsRecommend.css 694B
signin.css 598B
signin.css 598B
findCelebrities.css 574B
cart.css 203B
cart.css 203B
questionnaire.css 150B
index.css 0B
index.css 0B
address.css 0B
index.css 0B
index.css 0B
address.css 0B
.gitignore 185B
contract.html 40KB
contract.html 40KB
address.html 32KB
address.html 32KB
address.html 32KB
address.html 32KB
selfInfo.html 30KB
selfInfo.html 30KB
goods.html 27KB
goods.html 27KB
info.html 26KB
info.html 26KB
cart.html 23KB
cart.html 23KB
goodsRecommend.html 21KB
goodsRecommend.html 21KB
order.html 21KB
order.html 21KB
共 308 条
- 1
- 2
- 3
- 4
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6651
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功