版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄附錄附錄A登錄注冊模塊關鍵代碼@RequestMapping("foreregister")
publicStringregister(Modelmodel,Useruser){
Stringname=user.getName();
name=HtmlUtils.htmlEscape(name);
user.setName(name);
booleanexist=userService.isExist(name);
if(exist){
Stringm="用戶名已經被使用,不能使用";
model.addAttribute("msg",m);
return"fore/register";
}
userService.add(user);
return"redirect:registerSuccessPage";
}
@RequestMapping("forelogin")
publicStringlogin(@RequestParam("name")Stringname,@RequestParam("password")Stringpassword,Modelmodel,HttpSessionsession){
name=HtmlUtils.htmlEscape(name);
Useruser=userService.get(name,password);
if(null==user){
model.addAttribute("msg","賬號密碼錯誤");
return"fore/login";
}
session.setAttribute("user",user);
return"redirect:forehome";
}
@RequestMapping("forelogout")
publicStringlogout(HttpSessionsession){
session.removeAttribute("user");
return"redirect:forehome";
}附錄B購物商城模塊關鍵代碼@RequestMapping("forehome")
publicStringhome(Modelmodel){
List<Category>cs=categoryService.list();
productService.fill(cs);
productService.fillByRow(cs);
model.addAttribute("cs",cs);
return"fore/home";
}@RequestMapping("foreproduct")
publicStringproduct(intpid,Modelmodel){
Productp=productService.get(pid);
List<ProductImage>productSingleImages=productImageService.list(p.getId(),ProductImageService.type_single);
List<ProductImage>productDetailImages=productImageService.list(p.getId(),ProductImageService.type_detail);
p.setProductSingleImages(productSingleImages);
p.setProductDetailImages(productDetailImages);
List<PropertyValue>pvs=propertyValueService.list(p.getId());
List<Review>reviews=reviewService.list(p.getId());
productService.setSaleAndReviewNumber(p);
model.addAttribute("reviews",reviews);
model.addAttribute("p",p);
model.addAttribute("pvs",pvs);
//Categoryc=categoryService.get(p.getCid());
//model.addAttribute("sid",c.getSid());
return"fore/product";
}@RequestMapping("forecategory")
publicStringcategory(intcid,Stringsort,Modelmodel){
Categoryc=categoryService.get(cid);
productService.fill(c);
productService.setSaleAndReviewNumber(c.getProducts());
if(null!=sort){
switch(sort){
case"review":
Collections.sort(c.getProducts(),newProductReviewComparator());
break;
case"date":
Collections.sort(c.getProducts(),newProductDateComparator());
break;
case"saleCount":
Collections.sort(c.getProducts(),newProductSaleCountComparator());
break;
case"price":
Collections.sort(c.getProducts(),newProductPriceComparator());
break;
case"all":
Collections.sort(c.getProducts(),newProductAllComparator());
break;
}
}
model.addAttribute("c",c);
return"fore/category";
}附錄C購物車模塊關鍵代碼@RequestMapping("forebuyone")
publicStringbuyone(intpid,intnum,HttpSessionsession){
Productp=productService.get(pid);
intoiid=0;
Useruser=(User)session.getAttribute("user");
booleanfound=false;
List<OrderItem>ois=orderItemService.listByUser(user.getId());
for(OrderItemoi:ois){
if(oi.getProduct().getId().intValue()==p.getId().intValue()){
oi.setNumber(oi.getNumber()+num);
//oi.setSid(p.getSid());
orderItemService.update(oi);
found=true;
oiid=oi.getId();
break;
}
}
if(!found){
OrderItemoi=newOrderItem();
oi.setUid(user.getId());
oi.setNumber(num);
oi.setPid(pid);
//oi.setSid(p.getSid());
orderItemService.add(oi);
oiid=oi.getId();
}
return"redirect:forebuy?oiid="+oiid;
}
@RequestMapping("forebuy")
publicStringbuy(Modelmodel,String[]oiid,HttpSessionsession){
List<OrderItem>ois=newArrayList<>();
floattotal=0;
for(Stringstrid:oiid){
intid=Integer.parseInt(strid);
OrderItemoi=orderItemService.get(id);
total+=oi.getProduct().getPromotePrice()*oi.getNumber();
ois.add(oi);
}
session.setAttribute("ois",ois);
model.addAttribute("total",total);
return"fore/buy";
}
@RequestMapping("foreaddCart")
@ResponseBody
publicStringaddCart(intpid,intnum,Modelmodel,HttpSessionsession){
Productp=productService.get(pid);
Useruser=(User)session.getAttribute("user");
booleanfound=false;
List<OrderItem>ois=orderItemService.listByUser(user.getId());
for(OrderItemoi:ois){
if(oi.getProduct().getId().intValue()==p.getId().intValue()){
oi.setNumber(oi.getNumber()+num);
orderItemService.update(oi);
found=true;
break;
}
}
if(!found){
OrderItemoi=newOrderItem();
oi.setUid(user.getId());
oi.setNumber(num);
oi.setPid(pid);
//oi.setSid(p.getSid());
orderItemService.add(oi);
}
return"success";
}
@RequestMapping("forecart")
publicStringcart(Modelmodel,HttpSessionsession){
Useruser=(User)session.getAttribute("user");
List<OrderItem>ois=orderItemService.listByUser(user.getId());
model.addAttribute("ois",ois);
return"fore/cart";
}
@RequestMapping("forechangeOrderItem")
@ResponseBody
publicStringchangeOrderItem(Modelmodel,HttpSessionsession,intpid,intnumber){
Useruser=(User)session.getAttribute("user");
if(null==user){
return"fail";
}
List<OrderItem>ois=orderItemService.listByUser(user.getId());
for(OrderItemoi:ois){
if(oi.getProduct().getId().intValue()==pid){
oi.setNumber(number);
orderItemService.update(oi);
break;
}
}
return"success";
}
@RequestMapping("foredeleteOrderItem")
@ResponseBody
publicStringdeleteOrderItem(Modelmodel,HttpSessionsession,intoiid){
Useruser=(User)session.getAttribute("user");
if(null==user){
return"fail";
}
orderItemService.delete(oiid);
return"success";
}
@RequestMapping("forecreateOrder")
publicStringcreateOrder(Modelmodel,Orderorder,HttpSessionsession){
Useruser=(User)session.getAttribute("user");
order.setCreateDate(newDate());
order.setUid(user.getId());
order.setStatus(OrderService.waitPay);
List<OrderItem>ois=(List<OrderItem>)session.getAttribute("ois");
Map<Integer,List<OrderItem>>map=newHashMap<>();
for(OrderItemoi:ois){
Productproduct=oi.getProduct();
Integersid=product.getSid();
if(map.containsKey(sid)){
map.get(sid).add(oi);
}else{
List<OrderItem>oiList=newArrayList<>();
oiList.add(oi);
map.put(sid,oiList);
}
}
floattotal=0;
List<Integer>oids=newArrayList<>();
for(Map.Entry<Integer,List<OrderItem>>entry:map.entrySet()){
StringorderCode=newSimpleDateFormat("yyyyMMddHHmmssSSS").format(newDate())+RandomUtils.nextInt(10000);
order.setOrderCode(orderCode);
order.setSid(entry.getKey());
total+=orderService.add(order,entry.getValue());
oids.add(order.getId());
}
session.setAttribute("oids",oids);
//oid="+order.getId()+"&
return"redirect:forealipay?total="+total;
}附錄D搜索推薦模塊關鍵代碼@RequestMapping("foresearch")
publicStringsearch(Stringkeyword,Modelmodel,HttpSessionsession){
PageHelper.offsetPage(0,20);
Useruser=(User)session.getAttribute("user");
List<Product>ps=newArrayList<>();
ProductExampleproductExample=newProductExample();
productExample.or().andNameLike("%"+keyword+"%");
if(Objects.isNull(user)){
ps=productService.search(keyword);
}else{
ps=productService.recommendGoodsBasedUser(productExample,user,20);
}
productService.setSaleAndReviewNumber(ps);
model.addAttribute("ps",ps);
return"fore/searchResult";
}publicclassGoodsRecommender{
/**
*fileDataModel為文件加載
*mySQLDataModel為mysql數據庫加載
*/
@Resource(name="mySQLDataModel")
privateDataModeldataModel;
/**
*基于用戶鄰域算法
*@paramuserID
*@paramsize
*@return
*@throwsTasteException
*/
publicList<Long>userBasedRecommend(longuserID,intsize)throwsTasteException{
UserSimilaritysimilarity=newEuclideanDistanceSimilarity(dataModel);
intNEIGHBORHOOD_NUM=10;
NearestNUserNeighborhoodneighbor=newNearestNUserNeighborhood(NEIGHBORHOOD_NUM,similarity,dataModel);
Recommenderrecommender=newGenericUserBasedRecommender(dataModel,neighbor,similarity);
List<RecommendedItem>recommendations=recommender.recommend(userID,size);
returnrecommendations.stream().map(m->m.getItemID()).collect(Collectors.toList());
}
/**
*曼哈頓距離
*@paramuserID
*@paramsize
*@return
*@throwsTasteException
*/
publicList<Long>itemBasedRecommend(longuserID,intsize)throwsTasteException{
ItemSimilarityitemSimilarity=newCityBlockSimilarity(dataModel);
Recommenderrecommender=newGenericItemBasedRecommender(dataModel,itemSimilarity);
List<RecommendedItem>recommendations=recommender.recommend(userID,size);
System.out.println(recommendations);
returnrecommendations.stream().map(m->m.getItemID()).collect(Collectors.toList());
}
}附錄E訂單支付模塊關鍵代碼@RequestMapping("forecreateOrder")
publicStringcreateOrder(Modelmodel,Orderorder,HttpSessionsession){
Useruser=(User)session.getAttribute("user");
order.setCreateDate(newDate());
order.setUid(user.getId());
order.setStatus(OrderService.waitPay);
List<OrderItem>ois=(List<OrderItem>)session.getAttribute("ois");
Map<Integer,List<OrderItem>>map=newHashMap<>();
for(OrderItemoi:ois){
Productproduct=oi.getProduct();
Integersid=product.getSid();
if(map.containsKey(sid)){
map.get(sid).add(oi);
}else{
List<OrderItem>oiList=newArrayList<>();
oiList.add(oi);
map.put(sid,oiList);
}
}
floattotal=0;
List<Integer>oids=newArrayList<>();
for(Map.Entry<Integer,List<OrderItem>>entry:map.entrySet()){
StringorderCode=newSimpleDateFormat("yyyyMMddHHmmssSSS").format(newDate())+RandomUtils.nextInt(10000);
order.setOrderCode(orderCode);
order.setSid(entry.getKey());
total+=orderService.add(order,entry.getValue());
oids.add(order.getId());
}
session.setAttribute("oids",oids);
//oid="+order.getId()+"&
return"redirect:forealipay?total="+total;
}
@RequestMapping("forepayed")
publicStringpayed(Integeroid,floattotal,Modelmodel,HttpSessionsession){
if(oid!=null){
Orderorder=orderService.get(oid);
order.setStatus(OrderService.waitDelivery);
order.setPayDate(newDate());
orderService.update(order);
model.addAttribute("o",order);
}else{
List<Integer>oids=(List<Integer>)session.getAttribute("oids");
if(oids!=null&&!oids.isEmpty()){
for(Integerid:oids){
Orderorder=orderService.get(id);
order.setStatus(OrderService.waitDelivery);
order.setPayDate(newDate());
orderService.update(order);
model.addAttribute("o",order);
}
}else{
model.addAttribute("msg","找不到訂單了。。。");
return"fore/alipay";
}
}
return"fore/payed";
}
@RequestMapping("forebought")
publicStringbought(Modelmodel,HttpSessionsession){
Useruser=(User)session.getAttribute("user");
List<Order>os=orderService.list(user.getId(),OrderService.delete);
orderItemService.fill(os);
model.addAttribute("os",os);
return"fore/bought";
}
@RequestMapping("foreconfirmPay")
publicStringconfirmPay(Modelmodel,intoid){
Ordero=orderService.get(oid);
orderItemService.insert(oid);
orderItemService.fill(o);
model.addAttribute("o",o);
return"fore/confirmPay";
}
@RequestMapping("foreorderConfirmed")
publicStringorderConfirmed(Modelmodel,intoid){
Ordero=orderService.get(oid);
o.setStatus(OrderService.waitReview);
o.setConfirmDate(newDate());
orderService.update(o);
return"fore/orderConfirmed";
}
@RequestMapping("foredeleteOrder")
@ResponseBody
publicStringdeleteOrder(Modelmodel,intoid){
Ordero=orderService.get(oid);
o.setStatus(OrderService.delete);
orderService.update(o);
return"success";
}附錄F后臺管理模塊關鍵代碼publicclassProductController{
@Autowired
CategoryServicecategoryService;
@Autowired
ProductServiceproductService;
@RequestMapping("admin_product_add")
publicStringadd(Modelmodel,Productp,HttpSessionsession){
Sellerseller=(Seller)session.getAttribute("seller");
p.setSid(seller.getId());
productService.add(p);
return"redirect:admin_product_list?cid="+p.getCid();
}
@RequestMapping(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鯉城區(qū)新步實驗小學秋季招聘合同制頂崗教師備考題庫完整答案詳解
- 2025年永康市農機產業(yè)園開發(fā)有限公司公開招聘國有企業(yè)合同制員工7人備考題庫完整答案詳解
- 2025年寧夏黃河農村商業(yè)銀行科技人員社會招聘備考題庫及一套完整答案詳解
- 重大安全隱患排查治理和建檔監(jiān)控等制度
- 中國電建集團昆明勘測設計研究院有限公司招聘20人備考題庫及參考答案詳解1套
- 2025年關于為淄博市檢察機關公開招聘聘用制書記員的備考題庫及一套答案詳解
- 2025年青島市李滄區(qū)人民法院公開招聘司法輔助人員備考題庫參考答案詳解
- 2025年首都醫(yī)科大學附屬北京朝陽醫(yī)院石景山醫(yī)院派遣合同制職工招聘備考題庫及答案詳解1套
- 銀聯企業(yè)服務(上海)有限公司2026年度招聘備考題庫及參考答案詳解1套
- plc課程設計彩燈循環(huán)
- 血液透析個案范本護理課件
- 藥品生產企業(yè)銷售模式、組織架構及崗位設置-藥品生產企業(yè)銷售部門組
- 鄉(xiāng)村振興背景下農村集體經濟發(fā)展問題
- 3.1-函數的概念及表示方法課件-2023屆廣東省高職高考數學第一輪復習第三章函數
- 頜下腺腫物的護理
- 小型水工建筑物設計基本知識-水工建筑物的安全加高
- 新視野大學英語(第四版)讀寫教程1(思政智慧版) 課件 Unit 4 Social media matters Section A
- 保安員基本條件及行為規(guī)范
- 艾堅蒙(安慶)科技發(fā)展有限公司年產4000噸光固化引發(fā)劑系列產品項目環(huán)境影響報告書
- 焊接工序首件檢驗記錄表
- GB/T 4457.2-2003技術制圖圖樣畫法指引線和基準線的基本規(guī)定
評論
0/150
提交評論