【《基于SSM框架的酒水銷售系統(tǒng)的設計》19000字】_第1頁
【《基于SSM框架的酒水銷售系統(tǒng)的設計》19000字】_第2頁
【《基于SSM框架的酒水銷售系統(tǒng)的設計》19000字】_第3頁
【《基于SSM框架的酒水銷售系統(tǒng)的設計》19000字】_第4頁
【《基于SSM框架的酒水銷售系統(tǒng)的設計》19000字】_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

目錄附錄附錄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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論