Java畢業(yè)設(shè)計實戰(zhàn)之仿小米電子產(chǎn)品售賣商城系統(tǒng)的實現(xiàn)
項目描述:這是一個基于SpringBoot+Vue框架開發(fā)的仿小米電子產(chǎn)品售賣商城系統(tǒng)。首先,這是一個前后端分離的項目,代碼簡潔規(guī)范,注釋說明詳細。其次,這項目功能豐富,具有一個電子產(chǎn)品售賣商城系統(tǒng)該有的所有功能。
項目功能:此項目分為兩個角色:普通用戶和管理員。普通用戶有登錄注冊、瀏覽商品信息、添加購物車、結(jié)算訂單、查看個人信息、查看個人訂單詳情等等功能。管理員有管理所有商品信息、管理所有訂單信息、管理所有用戶信息、查看收益數(shù)據(jù)圖表等等功能。
應(yīng)用技術(shù):SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI
運行環(huán)境:IntelliJ IDEA2019.3.5+ MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6.3+ Node14.16.1






后臺管理員訂單管理:
@CrossOrigin
@RestController
@RequestMapping("orders")
public class OrderController {
@Autowired
private OrderServiceImp orderServiceImp;
@Autowired
private RegLogServiceImp regLogServiceImp;
@PostMapping("/createorder")
public OrderResult createOrder(@RequestBody OrdCreaParm ordCreaParm) throws IOException {
OrderResult orderResult = new OrderResult();
orderResult.setStatus(0);
OrderList orderList = orderServiceImp.creatOrder(ordCreaParm);
orderResult.setData(orderList);
return orderResult;
}
@RequestMapping("/getorderlist")
public UserOrdListResult getUserOrdList(String username) throws IOException {
UserOrdListResult userOrdListResult = new UserOrdListResult();
User user = regLogServiceImp.getUserByUserName(username);
String userid = user.getUserid();
List<UserOrdList> orderList = orderServiceImp.getOrderList(userid);
for(UserOrdList userOrdList:orderList){
int orderNo = userOrdList.getOrderNo();
List<UserOrdItemList> orderListItems = orderServiceImp.getOrderListItems(orderNo);
userOrdList.setItems(orderListItems);
}
userOrdListResult.setStatus(0);
userOrdListResult.setTotal(orderList.size());
userOrdListResult.setList(orderList);
return userOrdListResult;
}
//下單成功后調(diào)用下面兩個方法
@RequestMapping("/getorder")
public OrdFinaResult getOrder(@RequestParam("id") int id) throws IOException{
OrdFinaResult orderResult = new OrdFinaResult();
orderResult.setStatus(0);
OrdFina orderList = orderServiceImp.getOrderById(id);
orderResult.setOrdFina(orderList);
return orderResult;
}
@RequestMapping("/getorderdetail")
public OrdFinaResult getOrderDetail(@RequestParam("username") String username) throws IOException{
User user = regLogServiceImp.getUserByUserName(username);
String userid = user.getUserid();
List<orderItemVoList> orderItems = orderServiceImp.getOrderItems(userid);
OrdFinaResult orderResult = new OrdFinaResult();
orderResult.setStatus(0);
orderResult.setLists(orderItems);
return orderResult;
}
}后臺商品信息管理:
@CrossOrigin
@RestController
@RequestMapping("goods")
public class GoodController {
@Autowired
private GoodServiceImp goodServiceImp;
@RequestMapping("getGoodsAll")
private GoodsAll getGoodByCategory() {
GoodsAll goodsAll = new GoodsAll();
ArrayList<GoodAll> goodAlls = new ArrayList<>();
for (int i = 1; i <= 9; i++) {
List<Good> good = goodServiceImp.getGood(i);
GoodCategory goodCategory = goodServiceImp.getGoodCategory(i);
GoodAll goodAll = new GoodAll();
goodAll.setName(goodCategory.getName());
goodAll.setFoods(good);
goodAlls.add(goodAll);
}
goodsAll.setData(goodAlls);
return goodsAll;
}
}用戶信息控制層:
import java.io.IOException;
@CrossOrigin
@RestController
@RequestMapping("User")
public class UserController {
@Autowired
private UserServiceImp userServiceImp;
@RequestMapping("/getUsers")
public UserResult getUsers() throws IOException {
UserResult userResult = userServiceImp.getUsers();
return userResult;
}
}登錄控制層:
@CrossOrigin
@RestController
@RequestMapping("Login")
public class LoginController {
@Autowired
private LoginServiceImp loginServiceImp;
Map<String, String> keyMap = RSAUtils.createKeys(512);
// String publicKey = keyMap.get("publicKey");
// String privateKey = keyMap.get("privateKey");
// private String publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIS-9P6aiWK-mNIJxz0R_XXIbHM21pS_ZncpQcE8T5Mu6P6sJfoi5Cw6S4jcSqxNbRs5FSUc59GAkU1Ek9onrz8CAwEAAQ";
private String privateKey = "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAhL70_pqJYr6Y0gnHPRH9dchsczbWlL9mdylBwTxPky7o_qwl-iLkLDpLiNxKrE1tGzkVJRzn0YCRTUST2ievPwIDAQABAkAviOHaOiRwQ6gdrnq2F7cXcknDiCOW6GMc0J1HQP2Nyn52HKtc9E9Ailm-eQesTw6P-qTsvHMyfuVYz8fLhfkhAiEAvhvoG2Dz6qSN6IHeuPboJP7YHK9zTt6M_NGCJKAenasCIQCywU7eStITcHFTRDjjShH0CfO-vR6q-zgWQPjtNI_YvQIgY8UNiODW4bu-ZdlSY8vghRnhnRxO7YNKhpwFKueFacUCIQCZ-P65ZVNs4ScMZTBnP48VWVk2S-rVto0KRi7lC6h4NQIgEa_GhBO6U2p6G5cGAR25ZiQVH9dFnrMVyPxY7P7-WsA";
@PostMapping("/login")
public LoginResult Login(@RequestBody User adminUser) throws IOException, InvalidKeySpecException, NoSuchAlgorithmException {
User user = loginServiceImp.getUserByUserName(adminUser.getUsername());
LoginResult result = new LoginResult();
LoginData loginData = new LoginData();
if (user == null) {
result.setMsg("無此用戶,請重新輸入正確用戶名");
result.setStatus(2008);
} else {
if (RSAUtils.privateDecrypt(user.getPwd(), RSAUtils.getPrivateKey(privateKey)).equals(adminUser.getPwd())){
result.setStatus(0);
String token = TokenUtil.token(user.getId().trim());
loginData.setToken(token);
result.setMsg("登錄成功");
result.setStatus(1010);
result.setData(loginData);
}else{
result.setStatus(2007);
result.setMsg("密碼錯誤");
}
}
return result;
}
}到此這篇關(guān)于Java畢業(yè)設(shè)計實戰(zhàn)之仿小米電子產(chǎn)品售賣商城系統(tǒng)的實現(xiàn)的文章就介紹到這了,更多相關(guān)Java 仿小米商城系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java畢業(yè)設(shè)計實戰(zhàn)之財務(wù)預(yù)算管理系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之在線高中考試系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之平行志愿管理系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之教室預(yù)訂管理系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之共享租車信息管理系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之寵物醫(yī)院與商城一體的系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之生活旅行分享平臺的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之圖片展覽館管理系統(tǒng)的實現(xiàn)
- Java畢業(yè)設(shè)計實戰(zhàn)之工作管理系統(tǒng)的實現(xiàn)
相關(guān)文章
springboot-mybatis/JPA流式查詢的多種實現(xiàn)方式
這篇文章主要介紹了springboot-mybatis/JPA流式查詢,本文給大家分享三種方式,每種方式結(jié)合示例代碼給大家講解的非常詳細,需要的朋友可以參考下2022-12-12
Kotlin基礎(chǔ)教程之dataclass,objectclass,use函數(shù),類擴展,socket
這篇文章主要介紹了Kotlin基礎(chǔ)教程之dataclass,objectclass,use函數(shù),類擴展,socket的相關(guān)資料,需要的朋友可以參考下2017-05-05
Java使用TCP協(xié)議發(fā)送和接收數(shù)據(jù)方式
這篇文章詳細介紹了Java中使用TCP進行數(shù)據(jù)傳輸?shù)牟襟E,包括創(chuàng)建Socket對象、獲取輸入輸出流、讀寫數(shù)據(jù)以及釋放資源,通過兩個示例代碼TCPTest01.java和TCPTest02.java,展示了如何在客戶端和服務(wù)器端進行數(shù)據(jù)交換2024-12-12

